Python Programming, news on the Voidspace Python Projects and all things techie.
London Geek Knight on IronPython
According to the upcoming page, I will be will be giving a talk about how to bring IronPython and Silverlight together in a marriage of awesomeness.
See you there at 6pm on the 24th.
Python Magazine: Reading Configuration Files with ConfigObj
The May edition of the Python Magazine is out; and technically it's still May so that counts I guess. The major articles are:
- Handling Configuration Files with ConfigObj
- LDAP backed initScripts in Python
- Learning Python with PyGame: The Simplest Thing that Can Possibly Work
- Writing a Simple Interpreter/Compiler with Pyparsing
Both the PyGame and and Pyparsing articles look interesting (I'd love to write a compiler sometime - it's on my list but I might settle for working on PyPy once my book is finished), but of course the most interesting one is the article on ConfigObj - mainly because I wrote it.
As the article explains, ConfigObj is a wonderful module. It makes easy things simple but has some very advanced features. One of its more advanced features is the validation system that allows you to provide default values for your config files and convert all the members into the type you expect them to be.
Whilst the documentation for this feature is complete (unlike many programmers I quite like writing documentation), it is split across two modules: ConfigObj and validate. The Python Magazine article is probably now the most comprehensive introduction to this ConfigObj feature!
PyCon UK: The Preparations Advance
PyCon UK is on 12th-14th September in Birmingham. This year I'm part of the planning committee, and the preparations are making good progress.
This will be the second PyCon UK conference. The first was a great success, with around 250 people attending (about 100 more than expected). This year we're expecting even more!
This year we will be doing several new things. The conference will start with a day of tutorials. We have several good tutorial proposals submitted already:
Each tutorial is a half day session, except for 'Beginning Python' which will be a whole day (although possibly packaged in two sessions).
There are possibly more I don't know about, and we're still looking for more proposals.
We will also have sprints after the conference. We're trying to arrange the sprints now, and they'll be a great opportunity to learn about and contribute to some popular Python frameworks and applications (and possibly to Python itself). We also hope to have at least one sprinting tutorial on the tutorial day to provide a gentle introduction.
The call for talks has already gone out, and it's a nice friendly audience so submit your talk proposals soon!
Unfortunately I won't be at EuroPython this year. I was really hoping to go (I've never been yet), but I'm not committing to anything else until the book is finished! Next year I won't have any conflict as PyCon UK will be hosting EuroPython (which is kind of a shame as I'd love to go to Vilnius).
IronPython in Action: Silverlight Chapter Finished
I've finally finished the Silverlight chapter of IronPython in Action. When I started writing this chapter I thought it would be done quickly as I new the material I wanted to cover. Rather than just go over material that I have already written though, I decided to write a small application to illustrate Silverlight. I ended up writing a Silverlight Twitter client, and writing it up took a bit longer than I anticipated!
The (unedited) table of contents for the chapter is:
- Silverlight: IronPython in the Browser
13.1. Introduction to Silverlight13.1.1. Silverlight the Browser Plugin13.1.2. Dynamic Silverlight13.1.3. Your Python Application13.1.4. Silverlight Controls13.1.5. Packaging a Silverlight Application
13.2. A Silverlight Twitter Client13.2.1. Cross Domain Policies13.2.2. Debugging Silverlight Applications13.2.3. The User Interface and a Password TextBox13.2.4. Accessing Network Resources13.2.5. Threading and Dispatching onto the UI Thread13.2.6. IsolatedStorage in the Browser
13.3. The Silverlight APIs13.3.1. The MediaElement Video Player13.3.2. Interacting with the Browser DOM
I really enjoyed writing this chapter, and played with some new things including the VideoBrush. Although it is only thirty pages I think this chapter achieves its goal of being a good introduction to programming with Silverlight.
Silverlight is still in beta, and still has a few quirks to be ironed out. The latest one I've found is that the MediaElement doesn't raise the MediaEnded event (on Safari on the Mac anyway) when it reaches the end of a video. As the MediaElement doesn't have a 'loop' setting, you need this in order to make videos auto-repeat. You can work around this by monitoring the CurrentStateChanged event instead. Overall though programming Silverlight is a great experience, being able to script the browser with Python is really fun.
The next chapter is on extending IronPython with C# and VB.NET. This is basically writing class libraries of objects in C# that behave dynamically (like true Python objects) when used from IronPython. After that it is on to embedding the IronPython engine (and other DLR languages like IronRuby) in .NET applications. I'm particularly looking forward to writing these chapters, all the more so because these are the final two chapters.
This work is licensed under a Creative Commons Attribution-Share Alike 2.0 License.