Friday, May 04, 2007

A new computer for work

I am writing this post with my new MacBook Pro (2.3GHz Core 2/2Gb DDR/120Gb SATA). Alan, Andy and Graham, I know I said I didn't want one but thanks to BootCamp and rEFIt, it certainly runs my favorite OS well. And I admit Mac OS X is proving to be a pleasant experience. You can quiz me why I changed my mind at the next SyPy meeting.

MacBook Pro running Ubuntu Edgy

Wednesday, May 02, 2007

When I programmed in 6809 assembler

I have been asked how could I have programmed in 6809 assembler since a ZX-81 computer used the Zilog/NEC Z80 CPU. So to clarify things, I only ever programmed in BASIC on the ZX-81, but in the mid eighties I had a job designing and programming realtime controllers for fruit grading and handling machinery. These controllers used the 6809 processor. It was a very interesting and challenging job. The code was created on a system running Flex 9 OS, burned to EPROM and then tested in the real hardware. Debugging was done using a logic analyser.

Tuesday, May 01, 2007

Mono and the Dynamic Language Runtime

In my post about the IronPython 2.0 Alpha release, I wondered how the mono team would implement or support DLR. The answer appeared in this post by Miguel de Icaza

"The release for the DLR is done under the terms of the Microsoft Permissive License (MsPL) which is by all means an open source license. This means that we can use and distribute the DLR as part of Mono without having to build it from scratch. A brilliant move by Microsoft."

Hopefully there will not be many changes required to the mono compiler and runtime so it will compile and run the DLR. Looking forward to running IronPython 2.0 on Mono soon.

Dynamic Language Runtime Source Code

In my previous post I said I was unsure what license Microsoft's DLR was released under. But in this blog post from Jim Hugunin, I discovered it is released under the same license as IronPython 2.0 - the BSD-style Microsoft Permissive License. This means there is access to the source code for DLR. Currently the DLR source is shipped with source code distribution of IronPython 2.0 Alpha 1.

IronPython 2.0 Alpha 1 Released

Microsoft has just released the first alpha of IronPython 2.0.

This version of IronPython is built on top of the new Dynamic Language Runtime (DLR) which is a shared runtime for dynamic languages on CLI. One of the goals of DLR is to allow different dynamic languages to share library code, so in theory and the future my IronPython code would be able to access code in a IronRuby gem. The DLR is distributed as part of the IronPython release and is implemented with two assemblies - Microsoft.Scripting.dll and Microsoft.Scripting.Vestigial.dll

The final release of IronPython 2.0 will support the language features added to Python 2.5.

Microsoft has changed the license for IronPython to the Microsoft Permissive License. Comparing this with the IronPython 1.1 license, the new license doesn't appear to add any restrictions.

If you have read my other blog posts about IronPython, you would have noticed that I am a fan of of Mono, the open source implementation of the CLI. Sadly IronPython 2.0 will not run with Mono 1.2.3.1, as calls to the DLR assemblies cause a seg fault. I am not sure what path the Mono developers will take in relation to supporting DLR with Mono. They could modify the mono runtime to work with the DLR assemblies but it is likely the DLR license may not allow this. If they implement the DLR API inside Mono with a Mono namespace like Mono.Scripting, then any dynamic language using DLR would need to be conditionally compiled dependant on CLI implementation. So I await with interest for an "offical" comment from Miguel de Icaza.

Friday, April 06, 2007

Last nights Sydney Python Group Meetup

Last night was the monthly SyPy meetup. Thanks to generosity of Google the venue was the Fraser meeting room at the Sydney Googleplex. It was a great turnout of Sydney Pythoneers with 30+ attending.

First Alec Thomas gave a talk about PyCon 2007 and what he felt were the 10 best talks he attended. Alec's presentation can be found here. Then Andrew Bennetts gave a talk about the Bazaar GPL Distributed Version Control Software. Andrew did a good introduction of what Bazaar can do, then used the rest of the talk time to answer questions. Based on the number of questions, there is certainly alot of interest in this software tool.
Andrew Bennetts talk on Bazaar at SyPy Meetup


After the meetup had finished, a number of us with a thirst for more discussion and beer headed to the cafe/bar next to the Google building where access to happy hour prices had been extended for us. Had some interesting discussions including one with cafe owner about the ultimate ui design for a bar point of sale.

Thanks to Alan Green for his organising skills and Google for providing an excellent venue.

Monday, February 26, 2007

PyCon Envy

I am jealous! I want to be at PyCon 2007 and reading the few blog posts (I think everyone there is having too good a time to blog) makes me want to be there even more. Hopefully the video and audio will be uploaded soon. Guess I will just have to save, convince the "better half" it's for the good of the family and make it to PyCon 2008. Alec Thomas will be giving a debrief on his time at PyCon 2007 for the April SyPy meeting so more envy likely.

Thursday, February 22, 2007

IronPython 1.1 Beta 1 Released

Just in time for PyCon 2007, Dino Viehland of the IronPython Dev Team announced the release of the first IronPython 1.1 Beta.

<snip>
This release primarily focuses on adding the remaining new functionality for the 1.1 release (array module, importing pre-compiled modules) along with many new bug fixes. Also included but previously available with 1.1 Alpha 1 are the new XML Doc comment integration with the help system, the SHA, MD5, and select modules. The remaining of the 1.1 cycle will focus on bug fixes.
</snip>

Wednesday, February 21, 2007

OSDC 2007 will be in Brisbane

Arjen Lentz announced today that Brisbane will be the host city for this years OSDC. Time to start thinking about possible paper topics again.

Update

Thanks for reminding me Keith. Once the actual conference venue is announced, we will also need to find a venue for the nightly Beer BOF's.

Saturday, February 10, 2007

FePy now shipped with Mono 1.2.3

From the Mono 1.2.3 release notes:

"In this release, we are now shipping the IronPython Community Edition (IPCE) from Seo Sanghyeon. IPCE includes a number of preconfigured libraries with IronPython to improve your IronPython developing experience."

This is release 5 of IPCE but Sanghyeon continues to improve it and the latest can be checked out from IPCE repository.

Blog of Note?

Today this blog is Bloggers "Blog of Note". Well that explains the abnormal traffic statistics.

Friday, February 02, 2007

mod_wsgi - simple and fast apache wsgi serving

There are a many ways to serve a WSGI application via Apache with FastCGI appearing to be the favorite. If you have to support many diverse operating systems running different versions of Apache, serving a WSGI application via CGI is a guaranteed but not fast deployment method. You may be wondering why I haven't suggested the WSGI mod_python adaptor as a solution. I am sure it is a workable alternative but it requires mod_python and I have had lots of issues getting it to compile for some platforms and to work with a specific Python interpreter. Now there is a new solution.

Graham Dumpleton has been working on an Apache module called mod_wsgi. Quoting from his website:

"The mod_wsgi adapter is an Apache module that provides a WSGI compliant interface for hosting Python based web applications within Apache. The adapter is written completely in C code against the Apache C runtime and for hosting WSGI applications within Apache provides significantly better performance than using existing Python based WSGI adapters for mod_python. The module can be compiled for and used with either Apache 1.3, 2.0 or 2.2."

I have been lucky enough to get early access to the code and try it with my WSGI applications. I able to compile, configure and have mod_wsgi running a simple WSGI application under Apache 2.0.55 and Python 2.4.3 in under 5 minutes, Certainly a much better experience than I have had with mod_python. Since I have been testing it on my "gutless" laptop rather listing the results of my benchmarking, I will leave Graham to publish his more comprehensive benchmarking results. But I will make some observations. It appears to run simple WSGI applications at least twice as fast as mod_python and 15-20 times faster than using CGI. I was also able to run a number of my WSGI applications that use either Pylons or combinations of WSGI middleware with no problems. At yesterdays SyPy meeting, Graham showed it running Django. The official release will hopefully be in March.

SyPy Social Meetup

Last night was the second meeting of the Sydney Python Users Group for 2007 and we had a good turnout.

There was a wide range of topics discussed including:
  • Unit Testing
  • Software Deployment
  • Distributed Version Control
  • Apache and WSGI - more about this in another post
So if you are in the Sydney and are interested these types of topics, why not join us the first Thursday of each month. Details of the next meeting can be found at:

http://groups.google.com/group/sydneypython/web/sypy-home

Hope to see you in March.