Posts

Showing posts with the label resolver

A Good Mix 35: Visual Studio, WPF, a cross-platform Resolver One and IronJS (A DLR based Javascript)

Image
Another collection of IronPython and DLR related articles from recent weeks. Visual Studio 2010 Extension: IronPython IronRuby Console This extension adds IronPython and IronRuby to PowerConsole  so that you can interact with Visual Studio in IronPython/IronRuby. Please be aware that this extension only provides a simple tool to explore and interact with VS itself. It does not aim to be a development experience for the included languages. Tinesware: EasyWPF 0.3.93 An IronPython GUI library compatible with the Python GUI library EasyGUI . As the name implies, it is built on the WPF GUI library (making it Windows only). Like EasyGUI it has a demo app when you run the file showing the different controls/widgets the library supports. For more examples of how to use it visit the EasyGUI tutorial . Preview of the New Grid in Resolver One Resolver One  is a programmable spreadsheet written in IronPython. As well as being extremely powerful Resolver One is the largest ...

A Good Mix 31: Texas Holdem, IronScheme, Indigo Cheminformatics, IronRuby and bridge xml

More IronPython and DLR related projects, articles and news from around the web. Texas Holdem Hand Equity Calculation in IronPython  Greg Bray has been experimenting with using Resolver One to write Texas Holdem calculating spreadsheets with IronPython. In this blog entry he shows the IronPython code for calculating hand equity: This year I have been working in my free time to create easy to use Texas Holdem poker spreadsheets based on IronPython using Resolver One. These spreadsheets can be used to calculate Win/Tie/Loss odds, but some people like to use hand equity instead since it represents a player’s overall stake in the pot. Equity of 1.0 or 100% means that they will win the entire pot, where as equity of 0.5 (50%) or 0.25 (25%) means that they will split the pot with other players. You can again use Monte Carlo analysis to run a number of trials before all of the board cards are dealt to estimate a player’s current equity in the hand. This means that if during 4 trials ...

QCon Presentation: Real World IronPython

In March I spoke at the  QCon London 2009 conference on "Real World IronPython". InfoQ has just put up a video of the presentation, including the slides and a demo of "Resolver One", the highly programmable spreadsheet system created by Resolver Systems with IronPython. Real World IronPython Summary Michael Foord discusses IronPython, the DLR, dynamic languages on .Net, static vs. dynamic typing, Visual Studio integration, Resolver One, Intellipad, Crack.net, embedding IronPython, the ScriptEngine, error handling, dynamic operations, functions as delegates, and the C# 4.0 dynamic keyword. Bio Michael Foord works full time with IronPython for Resolver Systems ; creating a highly programmable spreadsheet called Resolver One. He has been using IronPython since about version 0.7, and has been developing with Python since 2002. He blogs and writes about Python and IronPython far more than is healthy for one individual and in 2008 was made the first Microsoft MVP f...

A Spinning Solar System: 3D Graphics in IronPython and Resolver One

Back in early 2008 I posted a short entry on using IronPython with OpenGL and the Tao Framework for 3D graphics. Tao is a set of bindings to OpenGL and SDL for cross-platform "media application development" with .NET and Mono. My boss at Resolver Systems , Giles Thomas, has been having fun using Tao inside Resolver One. Resolver One is a " Windows-based spreadsheet that integrates IronPython deeply into its recalculation loop, making the models you build more reliable and more maintainable ". Because it is so easy to program with IronPython, my Giles decided it would be a good platform for experimenting with 3D graphics - including a full animated version of the solar system with the paths controlled from the spreadsheet. Both entries have a video of the results and IronPython code to download. 3D graphics in Resolver One using OpenGL and Tao, part I   I’ve been playing around with 3D graphics recently, and decided to find out what could be done using .NET ...

A Good Mix 10: WPF, .NET Introspection, the Solver Foundation, Resolver One and Cobra

Another selection on a wide range of topics from the last few weeks. Resolver One 1.5 Release Resolver One is an IronPython spreadsheet system and is the largest IronPython codebase in production. Normally a new release would be big news but we've already covered the Python console which is the biggest new feature in version 1.5. Other big new features include CSV import / export and a goto line dialog for the code editor. You can read a full list of all the improvements in the changelog . Now that 1.5 is out we're working hard on features for version 1.6. Our latest blog entry has a sneak preview of one of the coming attractions . Introspecting .NET Types and Methods from IronPython For Python methods you can use the inspect module to get information about methods / functions; like what arguments they take and so on. Methods on .NET types don't have the attributes used by inspect (although methods of Python objects defined in IronPython work fine). We can get around thi...

IronPython at Resolver Systems

These videos are from presentations my colleagues Jonathan Tartley and Giles Thomas did for Skills Matter in London. Inexplicably they are filed under Erlang on the Skills Matter website. Skills Matter: Resolver Systems Technology Jonathan Hartley, a developer at Resolver Systems talks about IronPython, and how it is used at Resolver Systems. Resolver Systems's first product, Resolver One, is a desktop and web-accessible spreadsheet aimed primarily at the financial services market. It is written entirely in IronPython, and directly exposes end-users to Python, both as expressions in cell formulae, and as an embedded scripting language which provides programmatic access to spreadsheet content. Resolver One launched in Spring of 2008, by which time the team had grown to fourteen people, and the codebase to 40k lines of product and 140k lines of tests. Here is an article by Jonathan about use of IronPython at Resolver Systems. At the same event my boss, Giles Thomas, spoke about ...

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. Resolver One and Digipede Resolver One and Digipede Sample Resolver One Goes Distributed on the Digipede Network 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...

Resolver One, Digipede and Resolver One on Digipede

Resolver One is a programmable spreadsheet created by Resolver Systems . It is mainly written in IronPython, programmable with IronPython and is the project I've spent the last three years working on. Digipede is a grid computing platform for Windows and .NET, allowing you to easily distribute jobs between servers, clusters and desktop computers. This IronPython-URLs entry has news about Resolver One and Digipede separately, and some of the possibilities when you bring them together. Resolver One 1.4.5 Released A new release of Resolver One. The major new features in this release are that we now only have one installer (instead of six different ones) with features activated by license. There are also 54 new financial functions , the ability to set alignment of text in cells, and you can now create new worksheets (and change the selected worksheet) inside button handlers. There are also a host of minor bugfixes as usual, including the ability to embed the Resolver One spreadsheet...

IronPython in Action the Preface

Image
IronPython in Action is finally out! IronPython in Action is a book published by Manning Publications and written by Michael Foord (me!) and Christian Muirhead. It is the first book on IronPython, and covers using IronPython 2: For structured application development For scripting and system administration For web development with ASP.NET and Silverlight With WPF, Powershell, WMI and so on Using databases, web services, testing and metaprogramming Extending IronPython with C# / VB.NET Embedding IronPython in .NET applications The book is aimed at both Python and .NET developers. You can read more about who the book is aimed at and the topics covered, including a full table of contents, in About IronPython in Action . IronPython in Action Website Where you can download the source code that accompanies the book and also download two chapters for free. These are chapter 1 (introduction to IronPython) and chapter 7 (on testing with unittest ). There is also a discount code for purchasin...

Resolver One 1.4: One Day Special Offer (66% off) and Unit Testing Spreadsheets

Resolver One 1.4 was released a while back, and we have some great new examples. These include integration with the R statistical language, embedding the Resolver One calculation engine into IronPython programs, unit testing spreadsheets and using Numpy inside the spreadsheet. I was going to leave posting on all of this for a few days (still working my way through the backlog - I figure by now that the backlog is permanent though), but we have a one day special offer for Resolver One. 66% off ($75) on March 17th 2009 only. If you've been considering splashing out on Resolver One, now is the time to grab it: Resolver One: One Day Special Offer For those who have absolutely no idea what I'm talking about, but somehow still carried on reading this far, first of all thanks. Secondly, Resolver One is the .NET and Python powered programmable spreadsheet created by Resolver Systems . Resolver One has the largest known codebase of IronPython anywhere (around 40 000 lines of code in pr...

Python is the easiest language in which to do interesting things

Larry O'Brien is a .NET blogger who is a fan of IronPython and Resolver One . Larry is also a writer for the SD Times technology website. One of his recent articles is on Python, IronPython and Resolver One (amongst other things). It starts well: " Python is the easiest language in which to do interesting things ". Python: Arbitrarily Interesting As a .NET developer he naturally goes onto talk about IronPython and then discusses IronPython in Action . For fellow dilettante Python programmers, I recommend the book “IronPython in Action” by Michael Foord and Christian Muirhead. Soon to be published by Manning (I reviewed a preprint), the book is particularly strong in providing simple-but-not-simplistic illustrations and tables that clarify behind-the-scenes structural elements. Visual Studio screenshots may be a little more common than I’d like, but for those new to the VS environment, these may be welcome. The cheek , there's maybe four or five screenshots of Visu...

Ironclad 0.8.1 Released

Following hot on the heels of the 0.8 release, William has managed another update to Ironclad . Ironclad is an open source project by Resolver Systems which reimplements the Python C API to allow you to use Python C extensions from IronPython. He posted the following announcement: I'm fairly pleased to announce the release of Ironclad v0.8.1; it's not an enormous technical leap above v0.8, but it does now enables you to import and use SciPy and Matplotlib with IronPython on Win32 (with some restrictions; see project page). Downloads of the source and binaries, plus more details, are available at the Ironclad Google Code Project Page -- please do play with it, and let me know if you have any problems. It's a fairly momentous release; the reason that William is only fairly pleased maybe because the release has been eclipsed by him becoming a father! Congratulations William. The list of C extensions that have now been tried with Ironclad has now been extended to: numpy 1.2 ...

Ironclad Screencast and NumPy in Resolver One

Following on from the release of Ironclad 0.8 it is now possible to run through the NumPy tutorial at the IronPython interactive interpreter. Resolver Systems also has exciting news about using NumPy inside the spreadsheet. We have a four minute screencast showing off both of these things: NumPy integration in Resolver One using Ironclad The screencast demonstrates using NumPy arrays of up to a million numbers inside the spreadsheet grid, with impressive performance despite being early days in the integration. For two dimensional arrays the grid is a natural representation; and multi-dimensional arrays can be sliced through the user interface. The spreadsheet part of the screencast uses the new beta version of Resolver One, which is built on IronPython 2: Do you want to try Resolver One 1.4 Beta? New features in version 1.4 include: We’ve moved over to IronPython 2.0. This brings you some immediate advantages, including bugfixes to the core scripting language, new supported core lib...

Resolver One 1.3.1 and the $25000 Spreadsheet Challenge

Resolver Systems has just announced the release of version 1.3.1 of Resolver One , the IronPython spreadsheet. This is purely a bugfix release, with a few usability fixes and documentation improvements. Resolver One 1.3 was a major release that I didn't cover on this blog. It had several major new features : Row and column level formulae Improved startup time An option to trigger a recalculation, reloading all imports Various API and usability improvements, plus bugfixes We're currently working on the next major release of Resolver One, version 1.4 . The major features in this include moving to IronPython 2 and preliminary support for using Numpy in your spreadsheets through Ironclad . The spreadsheet challenge is a competition run by Resolver Systems. We're offering $25000 in prize money for the best spreadsheets created with Resolver One. The Resolver One Spreadsheet Challenge We're so confident about the revolutionary potential of Resolver One that we've set up...

Two IronPythonic Spreadsheets

Jon Udell is at it again; this time looking at different ways to wrangle data with IronPython. I should get a life, I know, but I can’t help myself, one of my favorite pastimes is figuring out new ways to wrangle information. One of the reasons that IronPython had me at hello is that, my fondness for the Python programming language notwithstanding, IronPython sits in an interesting place: on Windows, side by side with Office, where a lot of information gets wrangled — particularly in spreadsheets. Two IronPythonic Spreadsheets He has been looking at two very different ways of working with spreadsheets, and both of them have IronPython integration. The first of these is a tool called Inference.NET , which is part of the Inference suite that integrates statistical and analytical tools into Microsoft Excel. Inference.NET allows you to use the " general-purpose scripting capabilities of the dynamic .NET languages, including IronPython and IronRuby ". The second is Resolver One ...

Why Use IronPython

My boss has a blog ! Even better, he's actually writing entries occasionally. He recently answered a question on the Joel on Software discussion board about whether or not a new company should consider using IronPython: Why Use IronPython? He cites the advantages of IronPython as: All of the .NET libraries are available. UIs look nice. I’ve never seen a pure traditional Python application that looked good, no matter how advanced its functionality. We use a bunch of third-party components - for example, Syncfusion’s Essential Grid - without any problems. Reasonably decent multithreading using the .NET libraries - CPython, the normal Python implementation, has the problem of the Global Interpreter Lock, an implementation choice that makes multithreading dodgy at best. We can build our GUI in Visual Studio, and then generate C# classes for each dialog, and then subclass them from IronPython to add behaviour. (We never need to look at the generated code.) When things go wrong, the CL...

Ironclad 0.6 Released and numpy in Resolver One

Since I last updated this blog (yes I've fallen behind in the last couple of weeks - I'll catch up soon) a lot has happened with Resolver One . Resolver One is a spreadsheet development environment created by Resolver Systems and built on IronPython. Version 1.2 was released not long ago. This includes several major new features, including one called ' RunWorkbook ' that greatly helps with our goal of making spreadsheet system design modular, maintainable and resusable. Part of our plan for Resolver One includes being able to use numpy (a C extension). At PyCon UK William Reade demonstrated working with numpy arrays containing one million items from inside Resolver One. This was using an experimental version of Resolver One ported to run on IronPython 2, along with Ironclad - our open source project that allows you to use Python C extensions from IronPython. The Resolver Systems blog includes links to the slides for Giles Thomas's PyCon UK talk and William's ...

New IronPython Wiki Pages: IronPython People, Knol, SSIS and MP3 tags

There are five new wiki pages, across three different wikis (well - perhaps two wikis and a pseudo wiki) about IronPython. There are three new pages on the IronPython Cookbook . People in IronPython A page on the different people in IronPython. It includes notes on the different teams and Microsoft and their roles, plus the Resolver Systems guys and a few other folk who've made contributions to the IronPython community. If there is someone missing who you think ought to be there, please add them. Programmatic Control of SSIS This is " a collection of utilities for programmatically controlling SQL 2005 SQL Server Integration Services (SSIS) packages with IronPython ". Read ID3 tags from an MP3 " This simple routine uses the Windows Shell to get MP3 file information from the tags. Due to the differences between Vista and XP different magic numbers are required to get the tags. " IronPython on Google Knol Knol is google's project for 'user created knowledg...

Resolver Systems: A Python Success Story

One of my colleagues, the newly nuptialed Mr. Jonathan Hartley, decided that working through summer was definitely not what cool cats should do - and promptly disappeared to the states for a sabbatical. Still, he hasn't entirely frittered the time away on fun and sunning himself and he can prove it because he's written up a 'Python Success Story' which is now part of the collection on the Pythonology Website run by Wingware . This tells the story of Python at Resolver Systems , including how and why we chose IronPython - and how that choice worked out so well for us. IronPython at Resolver Systems (Jonathan's Blog entry) IronPython at Resolver Systems: Python Learns New Tricks Resolver Systems is a two year-old start-up based on the outskirts of London's financial district. Our first product, Resolver One, is a desktop and web-accessible spreadsheet aimed primarily at the financial services market. It is written entirely in IronPython, and directly expose...

New Releases: Resolver One & Ironclad

Both Resolver One and the Ironclad project have had new releases in the last week. Resolver One 1.1 Released - performance & memory use improvements, new features and bugfixes for the IronPython spreadsheet development environment Ironclad 0.4 Released - Ironclad allows you to use C extensions for CPython within IronPython. This release includes an import hook that allows you to seamlessly import C extensions. The next step is to get Numpy to import!