Monday, December 31, 2007
Command Line Client for Google Reader in IronPython
Minor Mentions
- CALEBLOG: Garbage Collecting 2007 - a blogger includes being surprisingly interested by IronPython and the DLR in his mental garbage collecting of 2007.
- Python.NET - Alcides Fonseca is a fan of both .NET and Python. He likes IronPython, but prefers Python.NET.
- Playing with the DLR - Rainer experiments with the DLR. He shows code for executing IronPython, IronRuby and Managed JScript scripts by embedding the DLR (from IronPython 2) in C#.
- Mood News - Now IronPython Powered - Davy Mitchell's 'Mood News' is now powered by IronPython
- Launching the Browser - launching the system default browser with a specific url (includes cross platform notes)
- Access Unmanaged Code with Dynamic P/Invoke - an example of using the FePy implementation of ctypes for IronPython
- Parsing RSS - IronPython code for parsing RSS feeds
Friday, December 28, 2007
Using the Wiimote from IronPython
Wednesday, December 26, 2007
WMI with IronPython
There are now four examples of WMI usage on the IronPython Cookbook WMI Page.
Monday, December 24, 2007
Put a Python in Your Game
UPDATE: link updated to new location - now with video and source code available!
Sunday, December 23, 2007
IronPython Studio, Resolver, Python Papers & IronPython Talks
- Resolver One Beta Now Live! - and available for free download
- Resolver Sponsoring PyCon - gold sponsors no less, and a good chance I will be able to attend!
- Resolver Hacks Update - articles and examples (IronPython code) of using Resolver
- PyCon 2008: IronPython and Resolver Talks! - it will be a good PyCon for IronPython
- IronPython in Action: New Chapters and WPF - new IronPython in Action chapters available and WPF from IronPython
- ACCU 2008 Conference: Dynamic Languages on .NET - I'll be doing a talk on IronPython at the UK ACCU conference in April 2008
- Big Resolver News: New Beta, Release Date and Resolver Free for Personal Use
- Resolver, IronPython and the Python Papers and the One Minute Screencast - A new Resolver screencast and interviews with me and Giles Thomas (our dear leader at Resolver) in the Python Papers
- IronPython Studio: Problems, Victory and Compiled Binaries - Using the WPF and Winforms designers in IronPython Studio to produce compiled executables (plus a couple of minor problems along the way)
IronPython Cookbook Updates
- Creating XML Trees - Using XML to LINQ features, that are new to .NET 3.5, with IronPython
- File as TextReader - a wrapper class, so that you can use Python files where .NET expects a StreamReader object
- Extremely Late Binding - Late bound COM with IronPython
- MonthCalendar Control and datetime - Using the Windows Forms MonthCalendar control with Python datetime
- Listing Time Zones - Listing time zones known to the system
- Using Spreadsheet Functions with Excel 2007 - more COM
- Listing all Exceptions in the System
Saturday, December 22, 2007
IronPython on Mac OSX and Mono
Friday, December 21, 2007
IronScheme, Dynamic Languages and Comparisons
The announcement is on the xacc.ide blog.
R Tyler Ballance runs Pybench for CPython and IronPython (on Mono). This was discussed back in April, which included a useful comparison of .NET and Mono performance.
A look forward to the future of dynamic languages in 2008, including the trend of implementing dynamic languages on top of high level languages.
IronPython 2.0 Alpha 7 Released
Major points of interest with this release:
- IronPython 2 should now be PEP 342 compliant (yield should now be fully compatible with Python 2.5)
- This is the last release to be built and fully tested with Visual Studio 2005
Sunday, December 16, 2007
Return vs. Finally - C# and IronPython
Did you know that returns in finally blocks swallow exceptions in Python? (I didn't):
>>> def f():
... try:
... raise Exception('ouch')
... finally:
... return 3
...
>>> f()
3
>>>
Friday, December 14, 2007
IronPython and Jython Hello Windows
He notes "Both implementations allow setX functions in object constructor's argument list", which is unsurprising as both implementations are the creation of Jim Hugunin.
Thursday, December 13, 2007
Natural Sort in IronPython vs. C# 2.0
Unsurprisingly, IronPython is slightly more concise...
Tuesday, December 11, 2007
IronPython Studio Now Available
IronPython Studio is based on the Visual Studio 2008 Shell runtime (royalty free) and can be installed without requiring any version of Visual Studio. It is hosted on codeplex.
Installer, source and screencast are available from the download page. The sources require Visual Studio 2008 (Team Edition apparently) and the SDK.
NOTE: Some users (myself included) had trouble getting this working. The magic steps are:
- Download and install the Visual Studio X redistributable from: Visual Studio Extensibility
- After you run the Install for the MS VS 2008 Shell Isolated Mode Redistributable, you must then go to the folder ("C:\VS 2008 Shell Redist\Isolated Mode") and click on: "vsshellisolated_enu.exe" to actually install the redistributable runtime.
- Install IronPython Studio
IronPython Present & Future: PyCon 2007 Podcast
IronPython is an implementation of the Python language targeting the Common Language Runtime. IronPython has excellent performance, seamless integration with the .NET platform and very high compatibility with the standard Python implementation. The first public talk on IronPython was at PyCon 2004, three years ago. Since then, IronPython has progressed from a rough prototype to a 1.0 release with a vibrant user community. This talk will present the current state and future directions of this Python implementation.
Saturday, December 08, 2007
Resolver One Beta Released
Resolver is a "rapid application development tool with a familiar interface", and should be useful to power users of spreadsheets and anyone who crunches numbers with Python. The Resolver Hacks website with articles and examples is in the process of being updated to use the new API that this beta introduces.
Today three of us from Resolver were interviewed by Robert Scoble today. He is on his way to Le Web conference in Paris, so I don't know when the actual video will appear - but I'll be sure to let you know.
Friday, December 07, 2007
Microsoft Volta: IronPython to Javascript Compiler
As far as I can tell, this allows you to compile IronPython (and other .NET languages) to Javascript:
Microsoft Live Labs Volta helps developers who build distributed applications on the .NET platform, using the Microsoft development stack (programming languages, libraries, and Visual Studio). This version of Volta supports applications that run on the Microsoft CLR, a JavaScript-enabled browser, or a combination of the two.
...
In essence Volta is a recompiler. Volta works on MSIL rather than on a textual source language. Volta rewrites MSIL into any number of target languages, including, today JavaScript and MSIL itself.
...
In summary, Volta confers flexibility in the architecture dimension through:
- Language-independence. Write Volta code in any language that compiles into MSIL. For example, C#, VB, IronPython, etc.
Mono, Boo, Python, Gnome & IronPython
It has some interesting comments on the role of Python in the Gnome project and IronPython and Boo on Mono:
Python is indeed making great strides as a desktop development platform and am not sure that we are in the business of competing with it. If people like writing Python code, they should just keep writing python code.
Myself, I like the IronPython variation of Python more. IronPython just happens to be JITed Python and in most tests it is faster than CPython. For the past year or so, we have also been in love with Boo, another .NET language. Boo has support for strong typing, so for certain scenarios you will get even better performing code (basically, when you can determine the type of a variable ahead of time, instead of having the variable be entierly late bound).
Sunday, December 02, 2007
Mono and Windows Forms on OS X
Miguel de Icaza outlines the future for Mono on OS X (one of the outcomes of the Mono summit), including easy access to the MonoDevelop IDE and screenshots of a winforms application on OS X using the native drivers!
IronPython Bug that Cost me a Can of Coke
The bug relates to IComparable and value types in the underlying framework and how IronPython implements equality in an attempt to remain faithful to Python.
Friday, November 30, 2007
Hosting IronPython 2.0 Alpha 6 via the DLR
Thursday, November 29, 2007
DLRPad on Codelplex
Wednesday, November 28, 2007
Hosting IronPython 1.1
UPDATE: Ryan is new member of the DLR team. He has also done a Hello World Blog Post, explaining his intention to blog more about IronPython and the DLR.
Monday, November 26, 2007
A Meme Tracker in IronPython
Wednesday, November 21, 2007
IronPython and Python Stack Frames
This means that tricks with 'sys._getframe()' and friends will never work with IronPython.
JRuby, for Ruby compatibility, does use frames. Charles Nutter (one of the JRuby devs) has been experimenting with a frameless approach that yields faster execution:
(A paragraph near the bottom of that blog entry.) Python stack frames are seen as an implementation detail, and if you want your code to run across implementations then you shouldn't interact with them directly (does PyPy use Python stack frames?). Even though it is almost always a hack, we have missed them occasionally at Resolver. The notes from Charles sheds light on the IronPython design decision.
Tuesday, November 20, 2007
DLR Hosting Spec
They have published an early spec, available via John Lam's website:
Sunday, November 18, 2007
SharpDevelop: IronPython AddIn Internals
"This is a tutorial about how to create a language binding for SharpDevelop using the IronPython addin as an example. As well as covering how to create a language binding it will also look at how the addin used IronPython. The source code for the IronPython addin is available at the end of this tutorial."
DLR Pad - interactive programming with XAML and DLR
"This post is about a tool that I have build. It is called DLR Pad. In one sentence it allows you to rapidly create simple XAML based applications and script against them with dynamic language of your choice."
The blog entry shows (another) Silverlight IDE like tool that can be used for experimenting with IronPython and XAML in Silverlight. You can also download the DLR Pad:
Mike Stall Learns Python
As he is now working on IronPython, Mike thinks it might be a good idea to learn Python. He is finding 'Learning Python, by Mark Lutz, a useful resource:
Thursday, November 15, 2007
First IronPython Book
It won't make it as the first IronPython book though, there is already a Japanese one.
Boo, Java, .NET and IronPython
The very next thing he tried was taking the Java class library for SWT (the user interface library) and compiled them into a .NET dll with IKVM. He then used them from Boo and IronPython, which worked!
This is an interesting coincidence, as a few days ago Rodrigo announced on the Boo blog about boojay - a compiler that emits Java bytecode from Boo:
Wednesday, November 14, 2007
NWSGI - WSGI ASP.NET HttpHandler
Currently it runs simple WSGI applications but has problems with the larger Python web frameworks due to bugs in IronPython 2.0 and NWSGI. Hopefully as IronPython 2.0 matures and Jeff continues to work on NWSGI, the will become less of an issue.
An implementation of a WSGI server for IronPython 1.0 is available with FePy
Monday, November 12, 2007
Multiple Python Engines in IronPython
LOLCode on the DLR
Hosting IronRuby with the DLR
Despite this, Tomas has written a great article on the DLR hosting API and IronRuby. Much of it is applicable to IronPython of course:
Thursday, November 08, 2007
Unicode Strings & Localization plus IronPython and the Standard Library
More IronPython News from TechEd
IronPython 2.0a6
This version fixes several bugs and is the first under the new public license. See the release notes for full details.
The release also includes a toy language implementation, ToyScript, that is an example dynamic language targetting the Dynamic Language Runtime. Martin Maly (one of the IP & DLR developers) has done a talk, at TechEd Barcelona, on the DLR that walked through part of toyscript and introduced a new DLR language - lolcode:
Thursday, November 01, 2007
Calling IronPython from C# with Delegates
Embedding IronPython in WPF C#
Monday, October 29, 2007
Accessing the .NET Field
Sunday, October 28, 2007
IronPython 2, 'with' and COM
This bug is fixed in the IronPython source code control, but in the meantime a Japanese blogger has a workaround that uses 'with' and calls Marshal.ReleaseComObject - his fantastically nested example is for Excel Interop.
His blog has some other interesting IronPython stuff, including this example of Excel 2007 interop that creates a spreadsheet from a bitmap!
Friday, October 26, 2007
CPython Extensions for IronPython
It has limitations, but the example code shows using matplotlib (with numpy and Tkinter) from IronPython 2.
EWeek Article: Microsoft's Growing Support for Dynamic Languages
Sunday, October 21, 2007
Dynamic Languages on .NET Video from Mix UK
IronPython Support in SharpDevelop
It looks pretty nifty, including intellisense and a Windows Forms designer. This is still in alpha and so is not included with SharpDevelop, but is a separate download from the blog entry.
Wednesday, October 17, 2007
Visual Studio as my IronPython Editor
C Extensions for IronPython Mailing List
IronPython is now Open Source
Tuesday, October 16, 2007
Memory Savings with Magic Trampolines in Mono
Monday, October 15, 2007
FePy 7 (IronPython Community Edition) Released
This is the first release of the IronPython Community Edition that includes IronPython 2 (specifically the recently released IronPython 2.0a5).
Seo is now working for Mozilla on the IronMonkey project, and this release was in part sponsored by Mozilla.
There are two projects that are part of FePy that are not included in this release.
Files under trunk/pyprof/, which tries to implement sys.setprofile with Mono profiler API. (Thanks to Miguel de Icaza and Paolo Molaro for help.)
Files under bench/, which benchmarks simple IronPython programs to measure progress of Mono runtime.
This release is built with Mono 1.2.5.1. The minimum Mono version needed to compile and run for IronPython 1.x is 1.2.3. For IronPython 2.x it's 1.2.5. Mono 1.2.5 and 1.2.5.1 are same except for ASP.NET bugfixes. DLR-based languages won't work with Mono versions before 1.2.5.
Changes in this release:
IronPython
IronPython 2.0 Alpha 5.
Libraries
dbapi module handles DBNull correctly. (Carsten Haese)
pyexpat module handles DTD. (Shozo Arai)
Bundles
Following modules are now included: decimal, modulefinder, pkgutil, smtplib.
pystone benchmark. (It's under Lib/test.)
irclib, which works great. Try this example as a sanity test.
https://fepy.svn.sourceforge.net/svnroot/fepy/trunk/example/irc_test.py
Patches
Patches are documented here.
http://fepy.sourceforge.net/patches.html
New in this release:
For 1.x
patch-ironpython-option-s
For 2.x
patch-{325478,328022,333647} # Numbers refer to Mono bugs
patch-console
patch-cs0177
patch-debug-define
patch-initialize-builtins
Build system
Use NAnt to build IronPython 2.x.
Use quilt to manage patches.
Patches to build all IronPython 2 Alpha releases.
- AssemblyVersion.cs was missing in Alpha 3. (Miguel de Icaza)
Include both IronPython 1.x and 2.x, but share the library using site.py.
IronPython Cookbook Updates
- A new Silverlight Section
- Uploading a File by FTP - using the edFTPnet library. Entry by Davy Mitchell.
- Creating a Pie Chart with Zedgraph - also by Davy Mitchell.
Sunday, October 14, 2007
Dynamic Languages Support in Silverlight
Saturday, October 13, 2007
IronPython 2.0 Alpha 5
The main reason that IronPython 2 is still in alpha is that the Dynamic Language Runtime APIs change as it is extended / improved to better support the fledgeling IronRuby. It will need to be out of alpha by the time that Silverlight 1.1 final is released though!
This new version of IronPython fixes around 40 bugs / issues reported on Codeplex, plus 20 internally reported bugs. No major new features were added, but the 'array' module was ported from IronPython 1.1 to 2.0 in this release. (The bugs blocking my 'Python interactive interpreter in the browser' were fixed - so this should work with the next release of Silverlight.)
The source distribution should work with Visual Studio 2005 and 2008 (currently in free beta).
Python 2.5.2 is due for release soon as well...
Giles Thomas has also made an announcement on the Resolver blog: Open Source Project to get Some CPython Extensions Working with IronPython. This is a call for involvement (including advice) from the IronPython & Python community.
Friday, October 12, 2007
IronPython: Overloaded Methods
Thursday, October 11, 2007
Using C Extensions with IronPython: Resolver Announces Open Source Project
IronPython & Resolver at TechEd Barcelona
VSX: Iron Cool Stuff
Tuesday, October 09, 2007
More IronPython at Microsoft
Details of Visual Basic 10 are starting to emerge. This is a new version of Visual Basic that is slated to (at least optionally) replace VBA. Developers having been asking for more dynamic language features, so VB 10 will be built on the DLR.
Scott Guthrie and Scott Hanselman presented at the recent ALT.NET conference. They showed the new MVC version os ASP.NET - including the ability to create Controllers in IronPython and an IronPython view using a WebFormViewEngine. Demos of new technology from Microsoft always seem to involve illustrating the IronPython integration!
Want a job working on IronPython?
The Dynamic Language Runtime (DLR) team is expanding and is looking for a highly motivated and passionate engineer to join its test team. The DLR team is focused on delivering the most complete solutions around dynamic languages on .NET with respect to tools, libraries and community. Our main focal point is the DLR, which is a framework we’re building on top of the CLR to enable easy implementation of dynamic languages on .NET.
We’re looking for someone with a passion for dynamic languages to help us deliver the best experience in this space. As an SDET on the test team you’ll test our compiler implementations, contribute to our open source projects and help build our test automation and infrastructure.
dditionally, our test suites for IronRuby and IronPython must be flexible enough to ship to our open source community, without any ties to VSTS. The team is ripe with opportunities for growth and learning.
Saturday, October 06, 2007
IronPython 2 on Mono
IronPython 2 is now an official part of the IronPython Community Edition.
Friday, October 05, 2007
Provide (or Not) Argument for By-ref Parameter
Max Recursion Limit in CPython and IronPython
Wednesday, October 03, 2007
Microsoft Opens up the .NET Class Libraries Source Code
Miguel de Icaza comments on what this does (and doesn't) mean for Mono. Mono is already distributing some Microsoft code (including IronPython...) that is available under their permissive license (which will soon be renamed the 'open' license - presumably in response to the OSIs request):
Python Keyword Arguments & .NET Arguments / Properties
Using keyword arguments in .NET constructors to set properties (a nice feature of IronPython).
How different Python parameter passing styles map to .NET concepts.
Sunday, September 30, 2007
Python Implementations Matrix
This is a great idea, but is far from being complete.
IronPython on Microsoft.com
- IronPython Samples - Examples of how to integrate a new language with various aspects of Visual Stdio (from compiler tasks to syntax highlighting to deployment)
- Microsoft Robotics Centre - Three tutorials on using Microsoft Robotics with IronPython
- Sho: I've found various references to Sho as a "an interactive language for scientific computing based on IronPython". I can't find a website for it, but one of the pages it is mentioned on is the page of Sumit Basu
- Comparing & Managing Multiple Versions of Slide Presentations (pdf) - Research project on managing slide presentations, that used IronPython
- Common Language Runtime: IronPython and .NET Scripting Languages - A video presentation by Mahesh Prakriya (lead manager of the CLR team)
- 2006 Lang.NET Symposium: IronPython and Beyond - A presentation by Jim Hugunin
- Developing Agile but Rich Client Applications with Python - a webcast by Mahesh
IronPython in Action: Chapter 5 & 6 Available
Men of Iron Podcast
The interviews were both done at Mix UK.
Friday, September 28, 2007
The IronPython 2 Hosting API
Inside IronRuby
Thursday, September 27, 2007
Resolver: The IronPython Spreadsheet
Entering formulae into a spreadsheetis a form of functional programming, and is overwhelmingly the most common form of 'end user programming' there is. Jon feels that Resolver has something new to offer in this area.
The clr Module
Wednesday, September 26, 2007
IronPython: Grab the .NET Type
IronPython/Mono Benchmarks
Monday, September 24, 2007
IronPython: My .NET Exploration Tool
Sunday, September 23, 2007
A Collection of Links
Finding the 'greatest common divisor' and fibonaci using IronPython.
Making .NET applications scriptable with IronPython.
Working with the 'Team Foundation Server' through the IronPython interactive interpreter.
A script for interactively working with Oracle. The text is in German, but the code looks straightforward.
And some news that is related to IronPython:
Oh, and I don't think I posted a link here to my set of articles / downloads / online examples for IronPython and Silverlight:
Wednesday, September 19, 2007
CLR Inside & Out: Article on the DLR
Sunday, September 16, 2007
Microsoft Knowledge Tools
To make research progress, we build prototype tools and get them into the hands of these types of users. We build many of our prototype tools on top of IronPython, a version of Python for .NET.
Python is like a virus, once it infects one part of a company it spreads everywhere...
Sunday, September 09, 2007
Managed DirectX via IronPython
Introduction to IronPython and Silverlight
This goes through creating a minimal IronPython application for Silverlight and explores the Silverlight APIs. The Web IDE has also been updated and now has several examples built-in. More details to follow, but for the moment:
IronPython in Action
This means that you get access to the book as it is being written (and get the chance to point out our mistakes!).
The first five chapters (the fifth should be added in the next few days) are an introduction to .NET, a Python tutorial, and then a walk through an example structured Python application illustrating both the Python language and aspects of the .NET framework.
The rest of the book is going to be much more 'recipe style' and cover a wide range of aspects of .NET (ASP, databases, web services, working with Windows and so on), deeper into Python (testing, protocols, metaclasses and so on) and also embedding and extending IronPython.
Make Twitter Talk with IronPython
IronPython 2.0 Alpha 4 Released
The most significant changes in this release include:
• Completion of the –X:Interpret mode and its incorporation into the eval and exec functions
• The addition of the -X:PreferComDispatch mode
• Improved performance for the itertools module and the importing of CLR-based modules
• A number of bug fixes
Like previous Alpha releases, quite a bit of refactoring work has been completed and this process is still ongoing. In particular, effort has been put into making .NET interoperability easier for language implementers on the DLR.
-X:PreferComDispatch enables direct support for IDispatch COM objects, and includes support for indexers and output parameters in IDispatch-based calls. This will improve IronPython’s integration with IDispatch-based COM APIs such as in Microsoft Office.
Some of the notable bug fixes included in this release are:
• _iter_ is now available for all iterable .NET objects with the exception of System.String (CPython’s string type does not support this)
• isinstance now works on interfaces
• fixed null reference exception when attempting to read a write-only (.NET) property
• fixed invalid IL generated for Python code similar to ‘System.IComparable.CompareTo(1,1)’,
Thursday, September 06, 2007
Semantic Password Generator
Sources and documentation are available.
Wednesday, September 05, 2007
SharePoint, IronPython, and another lesson in the virtue of laziness
I’m doing an internal project that involves reading several different data sources from a SharePoint 2007 server, merging them, and posting the merged data back to the server. Being lazy, I wanted to use IronPython, write as little code as possible, and do everything dynamically.
Embedding IronPython in a Silverlight (C#) Application
It means a bit of extra boilerplate code, but hopefully before Silverlight 1.1 final this code will have moved into the DLR and all will be rosy again...
Oh, and by the way... IronRuby is now Live on RubyForge. John Lam has build instructions and news on the latest updates on his blog.
Minimise a Winforms Application to the System Tray
Silverlight 1.0 Released, Plans for 1.1, and Microsoft / Novell Officially Collaborate on Silverlight for Linux
Silverlight 1.0 has just been released and Scott Guthrie has outlined the plans for Silverlight 1.1:
Now that Silverlight 1.0 is out the door, my team is cranking hard on our Silverlight 1.1 release.
Silverlight 1.1 will include a cross-platform version of the .NET Framework, and will enable a rich .NET development experience in the browser. It will support a WPF programming model for UI - including support for an extensible control model, layout management, data-binding, control skinning, and a rich set of built-in controls. It will also include a subset of the full .NET Framework base class library you use today, including support for collections, generics, IO, threading, globalization, networking (including sockets, web-services and REST support), HTML DOM, XML, local storage, and LINQ.
You'll be able to use any .NET language to develop a Silverlight application (VB, C#, JavaScript, Python, Ruby, Pascal, and more). It is going to really open up a lot of new development opportunities.
Silverlight currently supports Windows and Mac OS. The Mono team have been working hard on a 1.1 compatible release that supports Linux, called Moonlight.
Microsoft have now decided that this will be the 'official' way that Linux is supported and are collaborating with the Mono team on Moonlight:
The highlights of the collaboration are:
- Microsoft will give Novell access to the test suites for Silverlight to ensure that we have a compatible specification. The same test suite that Microsoft uses for Silverlight.
- Microsoft will give us access to the Silverlight specifications: details that might be necessary to implement 1.0, beyond what is currently published on the web; and specifications on the 1.1 version of Silverlight as it is updated.
- Microsoft will make the codecs for video and audio available to users of Moonlight from their web site. The codecs will be binary codecs, and they will only be licensed for use with Moonlight on a web browser (sorry, those are the rules for the Media codecs).
- Novell will implement Silverlight 1.0 and 1.1 and will distribute it for the major Linux distributions at the time of the shipment. We will offer some kind of one-click install for Linux users (no "Open a terminal and type su followed by your password..." as well as RPM and DEB packages for the major distros and operating systems.
An important part of developing websites that use Silverlight is the desgn tool Expression Blend. There are free betas of this available, but it is a commercial product and is not cross-platform.
The Mono team are also developing a desgn product, called the Moonlight Designer.
Saturday, September 01, 2007
Bug in IronPython Visual Studio Integration
Why can't I show the "Add New Items" dialog in a WPF flavored project?
IronPython and Silverlight Resources
IronPython and Silverlight Resources
Friday, August 31, 2007
Mono 1.2.5 Released
"This release fixes various issues that were exposed by IronPython 2.0 preview release and the Dynamic Language Runtime from Microsoft. They are both functional on this release."
Presumably this means that IronPython 2 (which is still in alpha) will now run on an unpactched Mono!
I also assume that the included version of IronPython is now 1.1 final rather than 1.1 alpha.
Other relevant changes:
Invocation speed of non-multicast delegate methods has been increased by calling directly into the delegate, this improves IronPython 2.0 (pystone) performance by 25% [Zoltan Varga].
Math.Min and Math.Max are now inlined for signed integers and String.OrdinalCompare has been tuned to use these, which results in a 2-3% performance increase in running PyStone with IronPython.
Lots of other good stuff in there, including some support for the Mono implementation of Silverlight 1.1, Moonlight.
Wednesday, August 29, 2007
More Silverlight
- Embedding IronPython in Silverlight Assembly - IronPython can just as easily be embedded in a C# Silverlight application as a traditional .NET application.
- Accessing Embedded Resources from IronPython
- Playing Video with Silverlight - Using the MediaElement Video Player from IronPython
Manifold 8 - with IronPython Scripting
Manifold is a Geographic Information System package. Python has steadily been gaining ground as the standard scripting language for GIS applications.
Via Spatially Adjusted.
Tuesday, August 28, 2007
My First Look at DLR
My First Look at the DLR
In his previous entry he links to Nua, a fledgling project to implement Lua for .NET using the DLR.
Friday, August 24, 2007
Silverlight and IronPython
- WebIDE 0.2.0 - This is the addition of a 'load' and 'save' (from the local filesystem) to my IronPython Web IDE. This allows you to edit and execute blocks of IronPython code in the browser. It is a great way to explore the Silverlight CoreCLR API. You can also download the source code, which makes a useful example of a minimal IronPython / Silverlight project.
- System.Windows.Downloader - accessing server resources from Silverlight using System.Windows.Downloader.
- System.Windows.Browser.Net.BrowserHttpWebRequest - But this is better.
- IsolatedStorageFile - 1MB of 'in the browser' storage per application...
- OpenFileDialog - How to present an open file dialog to the user, and load the file they select (or not).
- Saving Files from the Browser - A hack (using Javascript and a Python CGI) to present a save file dialog to the user.
IronLisp Benchmark Updated
This time IronLisp comes out twice as fast as IronPython, but IronPython is twice as fast as CPython:
Benchmarks Updated
Thursday, August 23, 2007
Handling POST with HttpListener and ProgressBar
- How to Handle POST with HttpListener - this comes from Konrad and is how to handle POST requests when writing servers that use HttpListener.
- Windows Forms Progress Bar - A simple example of a progress bar using Windows Forms. The progress bar is updated from a calculation performed on a separate thread.
Tuesday, August 21, 2007
A New DLR Based .NET Language: IronLisp
The announcment is here:
It is built on top the Dynamic Language Runtime, which is at the heart of IronPython.
You can see a syntax example, including some benchmarks comparing against Python / IronPython / C# at: Benchmarks.
If you're interested in .NET languages, you may be interested in the Duck Typing Project. This is a library that implements duck typing for .NET, and is written in C#. The interesting thing is that it implements compile time duck typing rather than runtime.
From the website:
Duck typing is a principle of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class.
The library handles a lot of casting between types that you would other wise have to do yourself, for example:
Casting a given object to a given interface that it does not implement by definition, but provides a compatible implementation of all its members. (This is done by dynamically generating a proxy type.)
Interesting...
Monday, August 20, 2007
Python.NET is Alive & Well
There was recently an announcement (dated July 29th) about progress:
Good evening Python for .NET users!
I've a list of great news for you. In the past weeks I've spent some time in fixing and enhancing PythonNet.
Summary:
- PythonNet now works with Python 2.4 and 2.5. Python 2.6 compatibility is already prepared.
- A bunch of small bugs were fixed and some new features implemented. Generics, overloading and variable parameter function should work better.
- PythonNet also works under Un*x and Mono with UCS 2 and UCS 4 builds of Python. Two unit tests are currently failing.
- The source repository contains project files for MS Visual Studio and MonoDevelop.
- The clr module provides new features: AddReference, ListAssemblies(verbosity), preload
Saturday, August 18, 2007
JVM Language Runtime (inspired by the DLR)
Inspired by this, Charles Nutter (core developer of JRuby - Ruby for the Java VM) has started a similar project for the JVM:
JVM Language Runtime Project
This includes code and cooperation from the teams behind JRuby, Jython and Groovy - all prominent dynamic languages for 'Java-as-platform'.
Both JRuby and Jython are working heavily on their current implementations, but in the future both languages intend to use the 'JLR' to simplify and share their work.
Visio and IronPython
C# 3.0 as Python with Braces
C# 3.0 as Python with Braces
Of course Python with braces isn't Python, but it could be worse...
Thursday, August 16, 2007
New and Updated Recipes in the Cookbook
- The IronPython 2 Parser - An example of using the IronPython 2 Parser API to extract the variable names used in a Python expression.
- Screen Capture - Taking a screenshot from IronPython with Windows Forms.
- Using Python Functions from C# - An example of embedding IronPython 2 in C# that creates IronPython functions and calls them from C#.
The IronPython Cookbook Downloading a Web Page recipe has been appropriately updated.
Silverlight Experimental 'Mini-Web-IDE'
About the Silverlight IronPython Web IDE
You can actually try it out here:
Silverlight IronPython Web IDE
This is useful as an example of an IronPython Silverlight project, but is also a useful tool for exploring the Silverlight assemblies.
How Badly will IronMonkey Hurt Performance?
How Badly Will IronMonkey Hurt Performance?
Unsurprisingly, I'm not convinced:
My Response
In a further non-surprise, the original poster is not convinced by my response:
Perspective on Python Performance
Windows Forms Transparent Label
IronPython - Transparent Label 2
ASP.NET with IronPython, Silverlight DLR Console Prototype
ASP.NET with IronPython, Silverlight DLR Console Prototype
Friday, August 10, 2007
IronPython in Visual Studio 2008 SDK
2.1. Windows Presentation Framework (WPF) Designer Extensibility
The IronPython sample is enriched with Windows Presentation Framework (WPF) designer extensibility. This sample provides guidance for customers who want to extend Visual Studio to integrate their .NET based languages with XAML and WPF Designer, which are introduced in Visual Studio 2008. This sample is intended to showcase these extensibility points. The sample shows how to write a basic WPF application for a managed proprietary language by using IronPython as an example. The sample also illustrates how to handle events by using EventBindingProvider.
2.3. Expression Evaluator
Language integrators require an expression evaluator (EE) to work in the context of their programming language. We have created a new sample that shows how to write a basic EE for a managed proprietary language by using IronPython as an example.
Microsoft Visual Studio 2008 SDK August 2007
Wednesday, August 08, 2007
FbConsole 0.7.2 Release
FbConsole 0.7.2
IronPython and CPython Sets
CPython comes out a long way ahead, so more tuning needed for the IronPython set implementation:
Set Implementation Performance
Using Python Classes from .NET
There are ways to use IronPython classes from C# (and other .NET languages) though. This cookbook recipe shows one approach, which involves inheriting from a C# class:
Using Python Classes from .NET
Havana CMS
Havana: Hybrid Programming
Saturday, August 04, 2007
A Web Based IDE for Distributed Programming (Part 2)
A Web Based IDE for Distributed Programming (Part 2)
DebuggerTypeProxy for IronPython Old Style Classes
DebuggerTypeProxy for IronPython Old Style Class and Instance
Thursday, August 02, 2007
IronPython, Visual Studio & WPF Designer
IronPython Integration Sample and the WPF Designer
Monday, July 30, 2007
Simpler Method to Get Logical Drives
Simpler method to get logical drives
IronPython Telnet Controller for LiquidSoap
Hacking with IronPython
Sunday, July 29, 2007
Logical Drive Enumeration in IronPython
http://stevegilham.blogspot.com/2007/07/logical-drive-enumeration-in-ironpython.html
Saturday, July 28, 2007
Building FePy on Mac OS X
Building FePy on Mac OS X
WPF Examples
Hello WPF in IronPython
Steve also has another blog: Tinesware. This has example code for a program that calculates hashes of files by dragging and dropping onto a window (code for Python, Jython and IronPython) and also a screenshot of an FTP program he is writing with IronPython.
Friday, July 27, 2007
Silverlight 1.1 Refresh
This upgrades Silverlight 1.1 to use the new Silverlight 1.0 RC1 core. This does change the Sivlerlight activation model, so may break some code.
Microsoft Visual Studio Orcas has also had a new release - beta 2. This is the version of Visual Studio that can compile assemblies and build projects for Silverlight. The beta versions are free, but of course are windows only.
Tim Sneath has details and download links for all of this:
Silverlight 1.0RC1 is Here
IronPython License Submitted to the OSI
Intelligent Design, the OSI and Microsoft
There is now part of the Microsoft website devoted to open source, plus a blog from thier open source labs called Port 25.
New Release: IronPython 2.0 Alpha 3
Announcement by Dino Viehland
The improved support for dynamic sites from IronPython has resulted in a performance improvement for a number of scenarios including method lookup, indexing operations, and member access.
This release brings IronPython up to date with the version of the DLR in the recent IronRuby release. It also includes initial support for an 'evaluation mode', where IronPython runs as an interpreter rather than a compiler.
As usual, the new release can be downloaded from IronPython on Codeplex.
IronMonkey: IronPython on Tamarin
Brendan's Roadmap: New Projects
These are 'Action Monkey', 'Screaming Monkey' and 'Iron Monkey'. They are all to do with integrating 'Tamarin' (the bytecode JIT VM that Mozilla was 'given' by Adobe) into Firefox.
All three projects are led by experienced Pythonistas. 'Iron Monkey' is led by Seo Sanghyeon, and involves bringing IronPython to run on Tamarin!
Tamarin:IronMonkey
Tuesday, July 24, 2007
Dynamically Compiling C# from IronPython
This can be used to access attributes, not normally available to IronPython - as well as many other tasks.
Dynamically Compile C# from IronPython
.NET Dynamic Languages Group on Facebook
.NET Dynamic Languages Group on Facebook
IronRuby Released and IronPython to Accept User Contributions
A First Look at IronRuby by John Lam
Scott Guthrie has posted a good introduction to using it (interacting with WPF):
First Look at IronRuby by Scott Guthrie
John Lam's announcement about IronRuby included a couple of surprises. It is to be hosted on Rubyforge rather than Codeplex and will accept contributions from the community.
This is something that hasn't so far been possible with IronPython, so members of the community were keen to hear if the same thing would also reply.
Jim Hugunin responded on the IronPython mailing list that this will happen in the long term, but we would have to wait...
Tuesday, July 17, 2007
Silverlight Links and Reference
Silverlight for Python Developers
Sunday, July 15, 2007
Qyoto / Kimono
The Qyoto project
Currently this is for Mono / Linux, but cross-platform capabilities are in the works.
Resolver is Launched
http://www.voidspace.org.uk/python/weblog/arch_d7_2007_07_07.shtml#e763
John Lam on the DLR
http://www.dotnetrocks.com/default.aspx?showNum=254
Monday, July 02, 2007
Embedding IronPython 2
DLR Hosting Services
Unfortunately due to a bug in the released binaries it only works with IronPython 2.0 Alpha 1 and not Alpha 2...
Windows Media Encoder
This is an example of using Windows Media Encoder Interop :
Windows Media Encoder の COM
Once again the text is in Japanese but the code speaks for itself...
IronPython in Japan
Python Workshop the Edge
Of course most of that page is in Japanese, but there are a couple of particularly interesting links:
IronPython and Dynamic Languages (pdf) (in English)
Looks like Mahesh has been having fun in Japan - nice presentation.
IronPython Hands On (pdf)
This one is in Japanese, but the code examples are easy to follow! A good winforms example with the TableLayoutPanel.
Sunday, July 01, 2007
InCisif.net 1.4 Released
InCisif Software Released InCisif.net 1.4
Friday, June 29, 2007
IronPython 2.0 Alpha 2
IronPython 2.0 Alpha 2 on Codeplex
This release has various changes, but is not (yet) compatible with Silverlight as both products are changing rapidly at the moment.
Hopefully IronPython 1.1.1 will be following shortly...
Hot on the heels of FBConsole 0.6 is... FBConsole 0.7
FBConsole 0.7.0 Released
Interestingly that announcement on Firebird news uses exactly the same wording from the post I made a few days ago. Maybe they think I understand Japanese?
Anyway "FBConsole is an IronPython and Windows Forms console for working with the Firebird database".
Silverlight and IronPython Demo
Mix Sessions Site
Direct Link to the Silverlight and the DLR Video
Thursday, June 28, 2007
Moonlight Desklets
Hack week: Moonlight Desklets
It seems like the Mono folks are using Moonlight to implement some really cool tools...
A Web Based Distributed IronPython IDE
Web Based Distributed Programming IDE for IronPython
CarbonPython - Even More Python on .NET
CarbonPython - aka C# Considered Harmful
CarbonPython is an RPython compiler for .NET, which can statically compile a subset of Python (Restricted Python) . The resulting assemblies can be used from IronPython and C#.
You can also read my summary of the project.
FBConsole 0.6
FBConsole 0.6
Monday, June 25, 2007
IronPython from Boo
Using IronPython from Boo
Saturday, June 23, 2007
A Web Based Interactive Console for IronPython
A Web Based Interactive Console for IronPython
Thursday, June 21, 2007
Implementing Silverlight in 21 Days
Implementing Silverlight in 21 Days
Wednesday, June 20, 2007
SilverKey Demo Day in July, Egypt
SilverKey Demo Day
The developer day will focus on both static and dynamic languages on .NET.
MSSecurity Library
MSSecurityLibrary and IronPython
Tuesday, June 19, 2007
Reading CSV Files, Folder Backup, Interop and the SaveFileDialog on the IronPython Cookbook
- Reading CSV Files with a Fast Csv Reader
- Deploying ironPython Scripts by Dodiggitydag (!)
- Introduction to Interop by Seo Sanghyeon
- Folder Backup Script also by Dodiggitydag; it uses the open source SharpZipLib
- The Windows Forms SaveFileDialog
IronPython Standard Library Patch Accepted into Python
Inspect Patch for IronPython (and Jython?) Compatibility
The patch originates from the FePy project and could be in Python 2.6, and even the next bugfix release of 2.5. Note that Guido has only agreed that it can be applied, it hasn't actually happened yet...
It is however, a good (if small) example of IronPython feeding back into CPython. This patch benefits other alternative implementations of Python as well as IronPython
Python vs IronPython Round 2 (TileCache)
Python vs IronPython Round 2
TechEd Videos
Dev315 - IronPython and Dynamic Languages on .NET
Web324 - Dynamic Languages on the Web
Monday, June 18, 2007
IronPython and TileCache Woes
Python vs IronPython: TileCache
Perhaps the lazy web can help him out...
Pointers for TechEd Demos
IronPython TechEd Demos
These include Robotics, ASP, Web services and Powershell demos.
Sunday, June 17, 2007
Benchmarked: F#, C# and IronPython
F# versus IronPython
Unsurpisingly F# is faster than IronPython.
Something that will also be no surprise, C# is more verbose than both IronPython and F#. What might come as a surprise is that F# is almost as terse as Python.
NAnt Build file for IronPython
NAnt build file for IronPython
This was inspired by the changes in IronPython 2, but Seo is happy with the switch and NAnt works well with Mono.
Charting, MS SQL and MSO, & the CPython Server
The CPython Server
Iain has created a comprehensive page on the IronPython Cookbook for:
Managing SQL Server with SMO (Server Management Objects)
Want to generate charts and graphs with IronPython? ZedGraph is a good fit:
Generating Charts with IronPython and ZedGraph
Friday, June 15, 2007
Silverlight with HTML & Windows Flying Dudes on IronPython
The Agent Server Objects
and a hint about programming html with Silverlight:
Silverlight and the London .NET Group
Web Based Source Code Editor for IronPython
Web Based Source Code Editor
More IronPython & Unicode
Python, IronPython, Apples, and Oranges
There are some interesting comments!
The debate is picked up and summarised in:
InfoQ: The IronPython, Unicode and Fragmentation Debate
Monday, June 11, 2007
IronPython and Unicode
IronPython and Unicode