Monday, August 25, 2008

PHP = Python - 12 years

Today, I happened to see that PHP 5.3 Alpha 1 was released a few weeks ago. Some of the things on the feature list made me shake my head and wonder how anyone could deal without them in Python; others made me cringe.

Apparently, PHP will finally be getting C++ style namespaces. While this is a minuscule step in the right direction, it pales compared to Python's beautiful module system.

PHP is also finally getting an optional cyclic garbage collector. I probably wouldn't use PHP long enough to get to making cyclic arrays, but still...

There's also going to be lambdas and basic closures. Too bad PHP function and class declarations aren't as flexible as Python's.

New syntax is being added. This is includes the NOWDOC syntax for writing unparsed strings. (ugly!) The worst, however, is the introduction of goto! Yes, PHP has taken another giant step towards becoming interpreted C.


Thursday, August 21, 2008

The third betas are out!

Last night, Barry released the third and final betas for Python 2.6 and 3.0. This release really saw a monumental effort from everyone. Tuesday was filled with coding, code reviews, and bug fixes, and we were able to close all 10 release blockers. It was looking very bright for a release yesterday morning. (Including the fantastic omen of a green Windows buildbot.) That didn't stop another release blocker from popping up hours before the release. However, we were able to get that one fixed due to some excellent debugging on the parts of Amaury Forgeot d'Arc, Antoine Pitrou, and Victor Stinner. Highlights:

  • A more completed memoryview implementation. (Once again thanks to Antoine.

  • I fixed up the symtable module and wrote unittests and docs for it. It should actually be functional now...

  • The threading API was renamed once again. Now daemon, and name are properties of the Thread object. (That's the last time I'm doing threading renaming I assure you!)

  • multiprocessing has gotten more stable.

  • Guido donated the SRE bytecode validator he wrote for the App Engine.

  • Many, many, many little bug fixes.

Of course, there's still lots of work to do before we can get to release candidates. Hours after the release we already have 11 release blockers. In the mean time, I strongly encourage you to download 2.6 and 3.0 and test them with your project. The bug tracker is still there:

Monday, August 18, 2008

Another successful vacation

The family just back from our annual 2 week vacation. This year's destination was Colorado, my birthplace.

One of my favorite places was Great Sand Dunes National Park. It's really amazing to drive down a flat-as-a-pancake mountain valley and come to a great pile of sand at one end. It's exhausting but rewarding to scale them; all you see is sand, but it's beautiful.

Our next adventure was climbing a fourteener (> 14000 ft or 4267 meters). I think climbing Mt. Yale is one of my favorite hikes. It was a challenge, but it sure felt good to get to the top and eat a sandwich.

Going down was a bit of a challenge. My toes felt like they were going to fall off!

The next exciting stop was Devil's causeway. A short, high, stretch of rock that is 1.3 meters across at some points.

Getting back to Minnesota was one long day of driving. The next morning, though, I saw I had gotten an package from Google. It's contents? A USB Mini Travel Cable with "thanks" and the Python logo on it! Apparently these were donated by the PSF, and Google sent these to all the Python participants in GSOC. Thanks very much!