Python Programming, news on the Voidspace Python Projects and all things techie.
ironpythoninaction.com: New Chapters and Sourcecode Available
Three new chapters have been added to the Manning Early Access Program for IronPython in Action. There are now eleven out of fifteen chapters available. The new chapters are:
Chapter 9: WPF and IronPython
Chapter 10: System Administration with IronPython
Covering shell scripting, WMI and Powershell (both embedding Powershell in IronPython and IronPython in Powershell).
Chapter 11: IronPython and ASP.NET
This is the first of two chapters written by Christian Muirhead.
I'm now working on the Silverlight chapter, whilst Christian is busy writing the databases and web services chapter.
I've put up a website for the book:
The website has the sourcecode to accompany the first eleven chapters available for download, and a table of contents for everything done so far:
Resolver One 1.1 Features Announced
We've now announced the new features in the forthcoming Resolver One 1.1 release:
We're now moving toward a feature freeze for Resolver One 1.1. Here's a foretaste of some of the changes you can expect to see:
- Major performance and memory usage improvements.
- Improved cut - when you cut and paste a block, formulae that refer to cells in the block are updated appropriately.
- Comments for cells.
- Simple auto-indentation in the code editor.
- For the financial edition, we've added Thomson Dataworks Enterprise connectivity and a number of great enhancements to Bloomberg access.
- ContentRows and ContentCols iterators on worksheets and cell ranges so that you don't have to keep checking for the header.
- The CopyRange function can now sort the data as it copies.
- HLOOKUP, TODAY, ISNUMBER, ISBLANK, NOW, and ABS functions
- And lots of minor tweaks and bugfixes.
Several of the bugfixes include fixing some of the obscure ways it was possible to crash Resolver One previously. Although most people would rarely have encountered them it is still nice to see them gone. One I'm particularly glad to see the back of, is that setting clipboard contents when Resolver One was running virtualised could fail - causing a harmless but annoying crash dialog (and failing to set the clipboard contents). Resolver One is now resilient against crashing in these circumstances and will retry setting the clipboard.
I've just returned from a fun trip to Galway for a community .NET event, DDD Ireland. I'll put together a blog entry on this later, but whilst there I had the chance to demo and talk about Resolver One to several of the delegates and speakers. Every time I do this I try to hone a concise description of exactly what Resolver One is.
The best I've come up with so far goes something like this...
Resolver One is a spreadsheet development platform for the rapid creation of business applications. It is an Object Oriented, programmable spreadsheet. Its key features are:
- The trivially easily mixing of code with spreadsheets
- You can put arbitrary objects in the grid
- Easy access to .NET and Python libraries
- You can export a spreadsheet as code
Some people immediately 'get' this (mainly those who have wrestled with complex spreadsheets already), but I think that for many developers Resolver One is the sort of program that is best understood by actually trying it.
Some of the other advantages that Resolver One has over a more 'traditional' spreadsheet are:
- A rich formula language based on Python expressions (list comprehensions and generator expressions in formulae for example)
- A single, unified, spreadsheet object model - with powerful features like indexing worksheets and cellranges by names used in headers (makes for more readable formulae)
- With a stored procedure databases can notify Resolver One of changes (typically on update/delete/insert), giving you a live auto-updating view into databases
- Because it uses Python you can define new numerical types and use them in your spreadsheet
- With database worksheets, or from user defined code, working with databases becomes both easy and powerful
- Import and export spreadsheets to and from Microsoft Excel format 
There is also a web server for serving Resolver One spreadsheets over an intranet or the web, which includes the use of editable cells, buttons and drop-down lists (which are also available in normal Resolver One spreadsheets of course). Our intention is to build Resolver One as a platform for creating business applications, so we're gradually making more user interface elements available to spreadsheets.
|||OK - so just about every spreadsheet has this, but it is still an important feature.|
Open Source Code Review Tool: Rietveld
In November 2006, Guido van Rossum gave a public talk at Google about Mondrian, a web tool for code review on the web that he was developing at Google. He was hoping to release it as an Open Source tool, but due to its popularity within Google it became to closely tied to Google's internal infrastructure to disentangle.
He recently announced a new tool, for Subversion and based on the Mondrian code base but for the Google App Engine. As well as a powerful code review tool, it also serves as an example Google App Engine project. The online tool, which Guido recently invited Python developers to try, is called codereview:
This has now been released as an Open Source project with the name Rietveld:
The name is in honor of Gerrit Rietveld, Dutch architect and furniture designer.
People are already making lots of feature requests, and now that reitveld is Open Source, they have the opportunity to contribute those changes...
This work is licensed under a Creative Commons Attribution-Share Alike 2.0 License.