Congratulations to Dino, Harry, and the rest of the IronPython team! They just released IronPython 2.0 which has parity with CPython 2.5. This release of IronPython includes release 0.9 of the Dynamic Language Runtime (DLR).
Last week Expansys shipped me a shiny new Nokia E71. This is a follow on to the popular E61/E62, and a significant step up from my E60 which also lacked 3G support on AT&T's network.
I was thinking about getting an iPhone, but the poor battery life and lack of real keys were a problem for me. It turns out Joel Spolsky got an E71 too - maybe great minds think alike?
The Good
Great battery life with a mixture of voice, WiFi, HSDPA (3G), and GPS usage. It only needs to be charged every third day.
Some very solid applications are available including Mail by Google, Google Maps with GPS integration, and a decent Web Browser (based on Safari/KHTML). It plays Flash in the the browser, so YouTube doesn't need it's own application. The device supports Java (J2ME), Python, and Symbian C++ applications so there is a big market.
Camera. Whilst users of the consumer Nseries phones may have a better camera in their phones, the 3 megapixels works pretty well for me. I was able to post to Flickr without downloading another application.
Bling factor! It's lighter and slightly thinner than an iPhone. It's stainless steel outer shell is also a nice touch.
The Bad
Application market is likely to grow faster in the iPhone and Windows Mobile world. Nokia need to improve their development tools and documentation. Python support is a nice touch but they can do better.
Locking the device can be a pain since the default option when you tap the power button is to switch off. Perhaps there is an application that can hook this button?
Headphone socket is 2.5mm instead of the regular 3.5mm size. It means you need to carry a convertor or a second set of headphones.
Flash Lite 3 seems to be integrated with the File Manager. This can be annoying if the Flash doesn't fully support a device without a touch screen.
No touch screen. Sometimes it's nice to be able to do things with a stylus or your finger. You won't miss this if you are coming from a Nokia phone.
So that's it for my E71 review. I'll update this post as I get more experience with the device.
Almost everyone I know complains about the performance of their computer when an anti-virus (A/V) product has installed, and thinks they need more memory or a faster processor. Wrong! You need to get a faster hard disk, or disable scanning of certain files.
You'll see from Task Manager that memory and other resources are plentiful on a modern computer, but page faults and other disk I/O (hidden by default) are occurring at very high levels. Disk I/O is still slow on modern computers and you'll get better performance gains from improving this aspect.
Most A/V software has settings that let you control:
Scanning inside archives like .zip files. Only files downloaded from the Internet or via other media are major threats. Consider tweaking these settings to avoid scanning too deeply into archives, or only scan in risky locations (external drives or downloads folder).
Directories that excluded from automatic scanning. Real-time protection is valuable for certain users, but there may be files that a user must access very frequently. These include databases or virtual machines. Consider disabling real-time scanning of these files/folders.
Making changes to these settings will benefit performance, and security can still be maintained to a very high level. You are running Windows under a normal user account, aren't you?
IronPython was one of the factors that impacted my decision to attend PyCon. Microsoft are approaching the release of version 2.0 which will have parity with CPython 2.5. The production versions already are close to full Python 2.4 support making it a viable platform for use in a lot of places where I would typically use C#.
Going into the conference I was looking forward to the Sunday session with Jim Hugunin but there turned out to be some more treats for the IronPython developer. Feihong Hsu ran a session on Python.NET and how you can bridge from CPython to the .NET platform, taking advantage of rich Windows APIs. Michael Foord spoke on Silverlight as well as his company's spreadsheet which embeds IronPython.
Feihong organised an open space session for Saturday evening after the PyWin32 gathering to talk about Python.NET and we were joined by the IronPython developers and management (Dino Viehland, Harry Pierson, Jim Hugunin and others). We discussed a number of aspects of IronPython and progress towards the 2.0 release. It looks like this may be complete in October given that they released the first beta last week. Again Michael Foord had something interesting to say on what Resolver Systems are doing.
Michael presented an open source project called IronClad. This is quite an insane assortment of code from C# to Python to assembler all in the name of accessing Python modules written in C. To date they have the bzip2 module running but are working on support for modules like NumPy which are important to their customers.
After the open space session we headed into Chicago for dinner at India House. This gave us a chance to find out some more stuff about the IronPython implementation, and other factoids. Dino hinted that he was working on getting Django up and running. Little did we know he was going to be demoing this to the crowd on Sunday.
Sunday saw Jim's big talk and I managed to get a few photos. It wasn't easy, but I think these turned out a bit better than earlier shots at the conference. Dino showed off the fairly minimal changes needed to get Django running on IronPython and Jim demoed the IronPython interpreter running under Dynamic Silverlight.
After the keynote, Dino gave a me a quick run through of the IronPython and DLR source code. This was very interesting and it gave me a real step up in understanding what goes on under the covers. Thanks Dino!