Wednesday, May 30, 2007

Google Developer Day tomorrow but not in Malaysia

Tomorrow is Google Developer Day and if I was in my normal country of residence I would be attending. But since I have been working in Malaysia for the last week, I will just have to wait for the Google videos. Very interested in the GData stuff as I have been working on some things with the Google Spreadsheet Data API. Expect some blog posts about it soon.

Saturday, May 12, 2007

OSDC 2007 Call For Papers

This year's Open Source Developers Conference will be in Brisbane at the Royal on the Park Hotel (opposite the City Botanical Gardens). On their website I see that the "Call For Papers" is now open.

The key dates are:

Submission deadline 30th June 2007
Proposal acceptance 31st July 2007
Submission deadline 31st August 2007
OSDC 2007 Tutorials 26th November 2007
OSDC 2007 Conference 27th - 29th November 2007

Decision time again, do I want to submit a paper this year and if I do, what will it be about.

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.