Skip to content

IronPython 2.0 released

Posted in Python

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).

Download it from CodePlex.

Permalink Comments Off

Nokia E71 Smartphone

Posted in Uncategorized

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.

Permalink Comments Off

Computer running slow after installing Antivirus software?

Posted in Ramblings

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?

Permalink Comments Off

SharePoint Annoyances

Posted in SharePoint

Whilst SharePoint is one of Microsoft’s fastest growing products, it’s also one of the most frustrating to develop for. Recently I’ve been been doing some WSS and MOSS site customisations with SharePoint Designer and custom Web Controls. To me this is the type of development that most people will be doing. Most ISVs are doing back end work, further from the realm of the consultant or business developer. Microsoft seems to cater more to the latter group.

Some of my gripes include:

  • The theme system being tied to the HTML split between Master Pages and WebParts. It would nice to be able to easily customise the HTML that is generated.
  • SharePoint Designer marks files as dirty when they are opened. What is being modified? Occurs most frequently when I’m working with Master Pages.
  • Superfluous XSLT generation when a ListViewWebPart is turned into an XSL Data View. Why include templates that are not used? Why not offer to store the XSLT in separate files for easier management. There are cases where the XSLT code generated in invalid too (bad code in conditional tests).
  • Moving XSL code to separate files introduces another problem with dirty files. Saving Master Pages that reference external XSLT files can result in a dialog that asks whether to overwrite. I’ve found that I should always accept the offer to overwrite ;)

I’m pretty sure these issues are easy to fix, but Microsoft and other SharePoint developers recommend that development is done with the ISV-oriented tools. This is very inconvenient since the product is sold as a rapid development platform and packaging/deployment requires quite a bit of extra effort to get right. Hopefully the SharePoint experience will improve for front end developers in the next release.

Permalink Comments Off

PyCon 2008 – IronPython Highlights

Posted in C# and the CLR, Python

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#.

Open space sessionGoing 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 Foord presents IronCladMichael 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.

Jim Hugunin and Dino ViehlandSunday 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!

Permalink Comments Off

PyCon 2008 – Day One Keynotes

Posted in Python

Friday was the opening day of the Python conference – it was also Pi Day (3/14). I headed off to the keynotes hoping to find out a bit more about what is happening with Py3k (or Python 3.0 as it will probably be called after release). David Goodger opened with some interesting stats. 2008 is the biggest PyCon and there are over 1000 attendees, a whopping 70% increase over 2007! They have a 45mb internet connection, so it’s a pity that it’s near impossible to connect to the Wifi.

The first keynote from White Oak Technologies was the story around their use of Python. As a consulting organisation they are presented with challenge when deploying Python solutions for clients. They outlined various ways that clients would push back on the use of Python and how they turned these into opportunities. Nothing really special here but it’s interesting to hear that people are having success when challenging other developers and management on the use of Python.

Up next was Guido van Rossum, the creator of Python. His primary goal was to give us an update on the progress of Py3k and Python 2.6. Apparently both are scheduled for release in August. I would assume this is only tentative as they are only at the alpha stage at present. I knew the Python language had been in existence for some time, but I didn’t realise it actually started as an academic project in 1989.

It’s age appears to be part of the problem for Python in 2008. Design decisions around character encoding (no unicode by default) and locking in the interpreter are a contentious issue for a lot of people. The latter issue is not going to be fixed according to Guido but unicode is going to be the standard since there is less of a performance hit today.

Guido is still recommending the 2.x branch of Python for the next few years. Obviously there are performance and reliability concerns for early migration to 3.0. This is good to know since I know that IronPython will be able to key up with the pace of the CPython schedule.

Permalink Comments Off

Penryn MacBook Pro: One week update

Posted in Reviews

With the dollar to sterling exchange rate reaching the 2:1 point I decided it was time to take the plunge on a new laptop. My last Mac was a PowerBook G4 and it still serves Sarah and I well – but it’s really awful for running Windows virtual machines. The regular MacBook is a nice machine, but I prefer a higher screen resolution and Sarah has had some bad things to say about the build quality. So the only option is the MBP. Apple were rumoured to be releasing an update based on their 45nm Penryn CPU in January, but it was pushed back to a few weeks ago. When they did update the line they also added a multi-touch trackpad like that found on the MacBook Air.

I bought the base MBP with a view to upgrading the RAM myself. I was going to go with the regular matte screen but I got the glossy one instead. In some conditions there are definitely reflections, but I was used to this on my Dell XPS M1710. Photographs and video are gorgeous. I haven’t tried any games yet so I’m not sure how the 256MB graphics card will run them.

Battery life is much better than my Dell machine. This is good because unlike the Dell, I can actually use this machine on the move. Apparently the Penryn chip uses a lot less power than the one used in previous versions. The Leopard operating system has some nice additions such as Spaces and Time Machine. These definitely run better on an Intel Mac.

Perhaps the biggest test has been running Windows 2008 in a VMware Fusion virtual machine. The configuration is virtually the same as that on Windows or Linux, but they have added some 3D rendering capabilities which are not present in the workstation product. Obviously the user interface is very Mac-friendly and fits in well. Performance has been more than acceptable on the 5400 RPM internal drive. My next test will be running Visual Studio 2008 under Unity. Whilst it sounds neat to be able to use Windows applications interchangeably with Mac ones, I’m wondering if there will be major startup delays and the like.

Permalink Comments Off

PyCon 2008 – Day Zero

Posted in Python

Today was the Python tutorial day. Given that I haven’t spent a lot of time reading or writing Python code I thought it would be a good idea to attend some of these tutorials. Since they kicked off at 9am it was a bit of a challenge making it on time. My Southwest flight from Philly last night arrived late, and then I had a big trip around to the other side of Chicago. If you need to attend a conference near O’Hare, try to fly into that airport. All I wanted to do was to lie in bed for a few more hours :)

When I made my tutorial selections I was hoping to attend a Python for Java Developers session. This would have been useful given my experience with C# but it seems that I was in the minority and it was cancelled. I switched to the Django session but I think I may have been better attending the session on performance optimisation.

Registration wasn’t too busy today since the main conference crew won’t arrive till Friday. I got a PyCon bag and some flyers but the T-Shirts weren’t ready. Apparently they’ll be available tomorrow, I’d hate to miss out on one!

Python 101 Tutorial (Steve Holden)

It turns out that Steve was another British ex-pat living here in the US. It gets weirder in that he lectured at Manchester University for a number of years. Given Steve’s position in the community I expected a sharp introduction to Python. It didn’t disappoint and I picked up a fair bit. The ‘slice’ mechanism looks really useful, I wonder if it can be implemented with any of the new C# features?

Getting Started with Django (Jacob Kaplan-Moss)

I was expecting this session to be a little more exciting. Jacob has some fine ideas about how Python frameworks should be built but his presentation style is not as striking as DHH. Since this was an introductory session I can’t complain too much but I really want to hear some more about Django deployment and debugging over the next few days.

Internet Programming with Python (Wesley Chun)

At this point I was pretty exhausted. This tutorial seemed to be geared toward newbies to network programming, rather than a best practice session on leveraging Python for internet programming.

Permalink Comments Off

Commit registration

Posted in Ramblings

commit-registrationMicrosoft and many other technology companies manage their certification programmes through Prometric. I was registering for an exam today and noticed that they ask you to ‘commit registration’ as opposed to just registering.

Little things like this really annoy me, I’m sure that some developer thought this was cool.

No RailsConf this year

Posted in Ramblings, Ruby on Rails

Last year I had the opportunity to attend the first RailsConf and had a great time. This year it’s back with a much bigger venue and support from O’Reilly. Alas the timing is not so good as I’ll be helping the folks at Savoy prepare for HMS Pinafore, but I’ll be able to tune into many podcasts and whatnot. If you are thinking of attending and can’t make up your mind I would thoroughly recommend attending RailsConf 2007. It’ll give you a great opportunity to network with a great bunch of people who are highly skilled, yet open to newbies.

The second half of the year is open for conferences and the like so maybe OSCON would be fun. Microsoft are running their PDC, but I’m not sure I’d get as much from that as I have done previously. I’ll have to have a think about it…

Permalink Comments Off

Behind the Weblog

Brian Lyttle - portrait photo by Sarah Gray ;)Brian Lyttle runs Source Foundry, a consultancy that specialises in Web development and content management. When he's not writing code and experimenting with the latest tools, you can find him honing his photography skills or helping Bill to improve his Mazda Miata.

I update my link blog regularly. It's powered by del.icio.us so you can subscribe to the RSS feed.

This Weblog is an experiment, and will focus on a broad range topics ranging from marketing to software, and anything else that comes to mind. These are my views and do not represent the views of any employer or client.

I'll be attending RailsConf 2006. Where will you be?

Archives

Useful links