<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Daily Python-URL! (from the Secret Labs)</title><link>http://www.pythonware.com/daily/</link><description>Daily news from the Python universe, presented by your friends at Secret Labs.</description><item><title>A matter of trust</title><link>http://www.pythonware.com/daily/#entry1442502414298080239</link><description>&lt;div class="description"&gt;App Engine Fan:
&lt;a href="http://blog.appenginefan.com/2008/07/matter-of-trust.html"&gt;A matter of trust&lt;/a&gt;
[&lt;i&gt;"... assume that you have built a small tool that you would like to share only with family and friends. How could you prevent other, unauthorized people, to just gain access to your app?  One solution to the problem is store a list of permitted users in a list (either hardcoded or in a database). This will work if you know exactly who the selected few are. but is also means that you have to administer the list and keep it up to date. A more generic system would be an invitation based access like gmail originally had, but that would mean one would also need to manage those invitations somehow in the database. The following example shows a middle ground -- a simple technology called HMAC to make sure a particular google account is actually supposed to have access."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Sun, 20 Jul 2008 12:15:00 -0000</pubDate><guid>http://www.pythonware.com/daily/1442502414298080239</guid></item><item><title>Making division in Python faster</title><link>http://www.pythonware.com/daily/#entry3261012196655016024</link><description>&lt;div class="description"&gt;Fredrik Johansson:
&lt;a href="http://fredrik-j.blogspot.com/2008/07/making-division-in-python-faster.html"&gt;Making division in Python faster&lt;/a&gt;
[&lt;i&gt;"Python is clever enough to use the Karatsuba algorithm for multiplication of large integers, which gives an O(n1.6) asymptotic time complexity for n-digit multiplication. This is a huge improvement over the O(n2) schoolbook algorithm when multiplying anything larger than a few hundred digits. Unfortunately, division in Python is not so well equipped: Python uses a brute force O(n2) algorithm for quotients of any size. Several algorithms in mpmath perform several multiplications followed by a single large division; at high precision, the final division can take as much time as all the preceding multiplications together. Division is needed much less often than multiplication, but it is needed nonetheless.  Newton's method to the rescue."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Wed, 16 Jul 2008 07:14:00 -0000</pubDate><guid>http://www.pythonware.com/daily/3261012196655016024</guid></item><item><title>Jython 2.5 Alpha Released!</title><link>http://www.pythonware.com/daily/#entry2580083968081303621</link><description>&lt;div class="description"&gt;Frank Wierzbicki:
&lt;a href="http://fwierzbicki.blogspot.com/2008/07/jython-25-alpha-released.html"&gt;Jython 2.5 Alpha Released!&lt;/a&gt;
[&lt;i&gt;"On behalf of the Jython development team, I'm pleased to announce that Jython 2.5a0+ is available for download. See the installation instructions.
This is the first alpha release of Jython 2.5 and contains many new features.  In fact, because we have skipped 2.3 and 2.4, there are too many to even summarize."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Tue, 15 Jul 2008 19:12:00 -0000</pubDate><guid>http://www.pythonware.com/daily/2580083968081303621</guid></item><item><title>Simple Top-Down Parsing in Python</title><link>http://www.pythonware.com/daily/#entry6898216911033448074</link><description>&lt;div class="description"&gt;Fredrik Lundh:
&lt;a href="http://effbot.org/zone/simple-top-down-parsing.htm"&gt;Simple Top-Down Parsing in Python&lt;/a&gt;
[&lt;i&gt;"In the early seventies, Vaughan Pratt published an elegant improvement to recursive-descent in his paper Top-down Operator Precedence. Pratt's algorithm associates semantics with tokens instead of grammar rules, and uses a simple 'binding power' mechanism to handle precedence levels. /.../ In this article, I'll briefly explain how the algorithm works, discuss different ways to implement interpreters and translators with it in Python, and finally use it to implement a parser for Python's expression syntax."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Tue, 15 Jul 2008 06:40:00 -0000</pubDate><guid>http://www.pythonware.com/daily/6898216911033448074</guid></item><item><title>Using Python Via The New Java 6 Scripting Engine</title><link>http://www.pythonware.com/daily/#entry2104059810740260912</link><description>&lt;div class="description"&gt;Daniel Ostermeier/Jason Sankey:
&lt;a href="http://www.alittlemadness.com/2008/07/15/java-6-using-python-via-the-new-scripting-engine/"&gt;Using Python Via The New Java 6 Scripting Engine&lt;/a&gt;
[&lt;i&gt;"Do you ever find yourself writing Java code that interacts with external processes and systems, but wish you could use a scripting language more suited to the task? If you have Java 6 available to you, then you are in luck."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Mon, 14 Jul 2008 20:33:00 -0000</pubDate><guid>http://www.pythonware.com/daily/2104059810740260912</guid></item><item><title>Sprinting to the finish</title><link>http://www.pythonware.com/daily/#entry2514773258108789469</link><description>&lt;div class="description"&gt;Jacob Kaplan-Moss:
&lt;a href="http://www.djangoproject.com/weblog/2008/jul/11/sprints/"&gt;Sprinting to the finish&lt;/a&gt;
[&lt;i&gt;"Django 1.0 is about two months away &amp;#8212; time to get cracking!
To help get everything done by the deadline, we'll be holding a series of sprints. Over the next six weeks we'll hold sprints in Sausalito, Lawrence, Austin, and Portland, and virtually all over the world."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Sun, 13 Jul 2008 20:31:00 -0000</pubDate><guid>http://www.pythonware.com/daily/2514773258108789469</guid></item><item><title>StaticGenerator for Django Updated (1.3.1)</title><link>http://www.pythonware.com/daily/#entry3903849979545461486</link><description>&lt;div class="description"&gt;Jared Kuolt:
&lt;a href="http://superjared.com/entry/staticgenerator-django-updated-131/"&gt;StaticGenerator for Django Updated (1.3.1)&lt;/a&gt;
[&lt;i&gt;"Now StaticGenerator leverages Django&amp;#8217;s awesome Middleware system to more efficiently create the static files. Just add the Middleware class to settings.py and add a STATIC_GENERATOR_URLS setting /.../"&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Sun, 06 Jul 2008 16:41:00 -0000</pubDate><guid>http://www.pythonware.com/daily/3903849979545461486</guid></item><item><title>Running C and Python Code on The Web</title><link>http://www.pythonware.com/daily/#entry5145759091377968351</link><description>&lt;div class="description"&gt;Atul Varma:
&lt;a href="http://www.toolness.com/wp/?p=52"&gt;Running C and Python Code on The Web&lt;/a&gt;
[&lt;i&gt;"Last week, Scott Petersen from Adobe gave a talk at Mozilla on a toolchain he&amp;#8217;s been creating&amp;#8212;soon to be open-sourced&amp;#8212;that allows C code to be targeted to the Tamarin virtual machine. /.../ Petersen demonstrated a version of Quake running in a Flash app, as well as a C-based Nintendo emulator running Zelda; both were eminently playable, and included sound effects and music. /.../ Even more impressive, though, is the sheer volume of existing code that can be made to run inside the browser: Petersen showed us the C-compiled versions of Lua, Ruby, Perl, and Python all running on the web in secure Flash sandboxes."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Fri, 04 Jul 2008 17:00:00 -0000</pubDate><guid>http://www.pythonware.com/daily/5145759091377968351</guid></item><item><title>Guido van Rossum: Google App Engine, Python and Security</title><link>http://www.pythonware.com/daily/#entry3399596925944860784</link><description>&lt;div class="description"&gt;Craig Balding:
&lt;a href="http://cloudsecurity.org/2008/07/01/cloudsecurityorg-interviews-guido-van-rossum-google-app-engine-python-and-security/"&gt;Guido van Rossum: Google App Engine, Python and Security&lt;/a&gt;
[&lt;i&gt;"In this interview, cloudsecurity.org talks to Guido van Rossum about Python, Google App Engine and security.  Guido is the creator of the Python programming language and more recently, Google App Engine team member.  His involvement with the App Engine project was pretty late - the code 'was almost ready for release' when he get involved.  The security architect of App Engine was primarily project lead, Kevin Gibbs, supported by the rest of the App Engine crew and the Google Security Team."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Tue, 01 Jul 2008 19:30:00 -0000</pubDate><guid>http://www.pythonware.com/daily/3399596925944860784</guid></item><item><title>Graphite - Enterprise Scalable Realtime Graphing</title><link>http://www.pythonware.com/daily/#entry7223359119402947240</link><description>&lt;div class="description"&gt;Chris Davis:
&lt;a href="http://graphite.wikidot.com/"&gt;Graphite - Enterprise Scalable Realtime Graphing&lt;/a&gt;
[&lt;i&gt;"Graphite is a highly scalable real-time graphing system. As a user, you write an application that collects numeric time-series data that you are interested in graphing, and send it to Graphite's processing backend, carbon, which stores the data in Graphite's specialized database. The data can then be visualized through graphite's web interfaces. /.../ ... if you need to graph a lot of different things (like dozens of performance metrics from thousands of servers) and you don't necessarily know the names of those things in advance (who wants to maintain such huge configuration?) then Graphite is for you."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Sat, 28 Jun 2008 09:37:00 -0000</pubDate><guid>http://www.pythonware.com/daily/7223359119402947240</guid></item><item><title>Wikidbase 1.0.b1 released.</title><link>http://www.pythonware.com/daily/#entry8071228984622854893</link><description>&lt;div class="description"&gt;Nick Blundell:
&lt;a href="http://projects.nickblundell.org.uk/wikidbase"&gt;Wikidbase 1.0.b1 released.&lt;/a&gt;
[&lt;i&gt;"After nearly 3 years of development, wikidbase has now reached its first beta release. /.../ The wikidbase concept is based on the view that non-technical users of a database system (i.e. those who are the experts of the nature of the data they handle) should be able to create and evolve their database model over time (i.e. without paying a database expert over and over again to do it). This is particularly relevant to non-profit and charity organisations."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Fri, 27 Jun 2008 21:56:00 -0000</pubDate><guid>http://www.pythonware.com/daily/8071228984622854893</guid></item><item><title>The Python Papers: Call for papers, Volume 3 Issue 2</title><link>http://www.pythonware.com/daily/#entry7992684847556319250</link><description>&lt;div class="description"&gt;Maurice Ling:
&lt;a href="http://pythonpapers.blogspot.com/2008/06/call-for-papers-volume-3-issue-2.html"&gt;The Python Papers: Call for papers, Volume 3 Issue 2&lt;/a&gt;
[&lt;i&gt;"We would like to call for papers, articles, opinion pieces and feedback to include in Volume 3, Issue 2 of The Python Papers. We would love to receive articles on Python for beginners and discussions about Python performance. Any article will be gratefully received, of course, so do not let the above list of suggestions deter you from considering an article on another topic."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Tue, 24 Jun 2008 23:35:00 -0000</pubDate><guid>http://www.pythonware.com/daily/7992684847556319250</guid></item><item><title>Annotate observed types in a Python program</title><link>http://www.pythonware.com/daily/#entry234903035783475027</link><description>&lt;div class="description"&gt;Alex Holkner:
&lt;a href="http://www.partiallydisassembled.net/blog/?item=166"&gt;Annotate observed types in a Python program&lt;/a&gt;
[&lt;i&gt;"Neat script I wrote for a friend to annotate a Python script with the types observed during a run of the program."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Sun, 22 Jun 2008 13:37:00 -0000</pubDate><guid>http://www.pythonware.com/daily/234903035783475027</guid></item><item><title>Realizing Jython 2.5</title><link>http://www.pythonware.com/daily/#entry1969783126340423653</link><description>&lt;div class="description"&gt;Jim Baker:
&lt;a href="http://zyasoft.com/pythoneering/2008/06/realizing-jython-25.html"&gt;Realizing Jython 2.5&lt;/a&gt;
[&lt;i&gt;"Jython 2.5 is really, finally, unbelievably coming together. This is the next release of Jython, after last summer's 2.2. In a nutshell, we have completed all new language features using an Antlr parser, except for absolute imports. All bytecode generation work, now using an ASM backend, is done. Of course, there are many outstanding bugs. And Python is not just a core language; we need to support fully the fact that "batteries are included". But let's look at where we are."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Sun, 22 Jun 2008 07:28:00 -0000</pubDate><guid>http://www.pythonware.com/daily/1969783126340423653</guid></item><item><title>Save the date</title><link>http://www.pythonware.com/daily/#entry1169833756425779548</link><description>&lt;div class="description"&gt;Jacob Kaplan-Moss:
&lt;a href="http://www.djangoproject.com/weblog/2008/jun/16/save-the-date/"&gt;Save the date&lt;/a&gt;
[&lt;i&gt;"Mark your calendars: Django 1.0 is coming in early September!  We're nearing the home stretch on releasing Django 1.0. We've just published a roadmap and schedule that brings us to a 1.0 release on September 2nd, 2008."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Mon, 16 Jun 2008 20:10:00 -0000</pubDate><guid>http://www.pythonware.com/daily/1169833756425779548</guid></item><item><title>Code Swarm</title><link>http://www.pythonware.com/daily/#entry1698556930198885667</link><description>&lt;div class="description"&gt;Michael Ogawa:
&lt;a href="http://www.vimeo.com/1093745"&gt;Code Swarm&lt;/a&gt;
[&lt;i&gt;"Visualizing the commit history of the Python scripting language project."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Mon, 16 Jun 2008 14:52:00 -0000</pubDate><guid>http://www.pythonware.com/daily/1698556930198885667</guid></item><item><title>PyCon: Plans for PyCon 2009: Dates &amp; Venue</title><link>http://www.pythonware.com/daily/#entry1635398410526756221</link><description>&lt;div class="description"&gt;David Goodger:
&lt;a href="http://pycon.blogspot.com/2008/06/plans-for-pycon-2009-dates-venue.html"&gt;PyCon: Plans for PyCon 2009: Dates &amp;amp; Venue&lt;/a&gt;
[&lt;i&gt;"PyCon 2009 will take place at the Hyatt Regency O'Hare hotel, which has much more meeting space than the Crowne Plaza: a larger main ballroom, and additional ballrooms (for a larger expo hall and a dining hall). There's room in the main ballroom for over 1500 people, all in classroom layout."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Mon, 16 Jun 2008 14:25:00 -0000</pubDate><guid>http://www.pythonware.com/daily/1635398410526756221</guid></item><item><title>Introducing Pinax</title><link>http://www.pythonware.com/daily/#entry2061218795339340747</link><description>&lt;div class="description"&gt;James Tauber:
&lt;a href="http://jtauber.com/blog/2008/05/10/introducing_pinax/"&gt;Introducing Pinax&lt;/a&gt;
[&lt;i&gt;"Pinax is a Django project intended to provide a starting point for websites. By integrating numerous reusable Django apps to take care of the things that many sites have in common, it lets you focus on what makes your site different. /.../ At this stage, there is openid support, email verification, password management, site announcements, user-to-user messaging, friend invitation (both internal and external to the site), a basic twitter clone, interest groups (called tribes), per-tribe threaded discussions, per-tribe wikis, blog aggregation, bookmarks, contact import from vCard, Google or Yahoo and a notification framework."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Thu, 12 Jun 2008 16:32:00 -0000</pubDate><guid>http://www.pythonware.com/daily/2061218795339340747</guid></item><item><title>Explaining things: math vs programming</title><link>http://www.pythonware.com/daily/#entry860223353976300955</link><description>&lt;div class="description"&gt;Andrew Kuchling:
&lt;a href="http://www.amk.ca/diary/2008/06/programming_and_math.html"&gt;Explaining things: math vs programming&lt;/a&gt;
[&lt;i&gt;"Years ago I tried to translate TeX's line-breaking algorithm into Python code. In Knuth's &lt;/i&gt;Computers and Typesetting&lt;i&gt;, the algorithm is given in a Pascalish language. Some functions did lots of pointer shuffling that would be have been straightforward to translate into C, but to write Python code I had to actually disentangle the linked-list surgery to figure out whether it was list.append(x) or list.insert(0, x) or whatever."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Tue, 10 Jun 2008 07:57:00 -0000</pubDate><guid>http://www.pythonware.com/daily/860223353976300955</guid></item><item><title>About Django and the importance of releases</title><link>http://www.pythonware.com/daily/#entry4886649550015698378</link><description>&lt;div class="description"&gt;Christian Joergensen:
&lt;a href="http://www.technobabble.dk/2008/jun/07/django-importance-releases/"&gt;About Django and the importance of releases&lt;/a&gt;
[&lt;i&gt;"My favorite Python web framework, Django, has not been updated for a long time. The most current release, 0.96, was released in March 2007. This is a very long time, when you're in the market of web frameworks.  This doesn't seem to bother a lot of people, as the common answer in the django community seems to be just to run the &lt;/i&gt;trunk&lt;i&gt; version (development version).  I for one doesn't like that solution. And here are some of the reasons why."&lt;/i&gt;]&lt;/div&gt;</description><pubDate>Sat, 07 Jun 2008 14:36:00 -0000</pubDate><guid>http://www.pythonware.com/daily/4886649550015698378</guid></item></channel></rss>