Tuesday, May 19, 2009

Resolver One, Digipede, Timetric & Ironclad

Resolver One is the programmable .NET spreadsheet system created by Resolver Systems. It is of particular interest to this blog because it is written in IronPython and has the largest IronPython codebase in production. You may have heard me mention it here once or twice before.

One of the advantages of Resolver One is how easy it is to integrate with other systems, whether they're .NET libraries or online services. We've recently worked with two companies and produced some demos of this in action.
Digipede is a distributed network computing platform for .NET. The coming version of Resolver One has changes allowing you to distribute spreadsheet tasks across a Digipede grid. If you have version 1.5 (join the beta program here) then you can use this sample to try it out.
The Digipede Network is a brilliant way to get distributed, parallel computation on Windows. It only took a few minor changes to convert Resolver One to run on the Digipede Network and to get the IronPython sample to execute Resolver One workbooks.

Try doing that with a spreadsheet or grid that isn’t based on .NET . . .
Timetric is an exciting new website and web service for storing, searching, graphing and publishing the world’s statistical data. It stores data as time series and lets you view graphs of the data plus manipulate and combine them in lots of interesting ways. As well as making a huge amount of public data available you can also push your own data sets to Timetric and use their services to analyse them.

We’ve created an example of using Resolver One as a client program for working with Timetric data and for searching their public data. You can fetch and view a chart of individual datasets and search their large bank of statistics.

As well as accessing Timetric this example shows:
  • Using the Python Oauth library from IronPython
  • Working with the Timetric API
  • Fetching and parsing CSV files
  • Accessing an opensearch API
  • Parsing XML (the Atom format responses to search queries)
  • Drawing charts with ZedGraph
  • Creating and selecting worksheets from button handlers
  • Using MessageBox dialogs from user code
Resolver One 1.5 will be released very soon. In the meantime here are some other pieces of news on Resolver One and Ironclad:
The Python console is the biggest new feature in Resolver One. It is a great tool, and in this 4minute screencast Kamil Dworakowski demonstrates its features and how to interact with the spreadsheet from the console.
Ironclad is an open source project by Resolver Systems. It is a compatibility layer for IronPython that allows you to use Python C extensions. Thousands of the Numpy and SciPy tests pass on IronPython with Ironclad and it provides the Numpy integration in Resolver One. We ran a competition to find a logo for Ironclad and the one linked to above was the winner.
Greg Bray was the winner of the April round of our spreadsheet competition with his Texas Holdem Monte Carlo Simulator. He has written a review of working with Resolver One:
Resolver One is a new program that aims to make things easier by building the spreadsheet using the IronPython 2.0 scripting language. IronPython is an implementation of the Python scripting language built on top of the Microsoft .NET CLR and DLR runtimes, which means that it is able to easily interact with code from C# and other .NET languages and can make use of any existing .NET library or assembly. It also can perform complex operations such as web service calls, interact with external files or databases, and make use of the Ironclad NumPy library for complex data manipulation. Since it is based on the .NET framework you can embed custom IronPython or .NET objects into the cells instead of just storing numbers, dates and text. This can be very helpful as it allows you to apply Object Orientated Programming techniques to create powerful and easy to maintain spreadsheet.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.