YOUR FEEDBACK
johnpetersen wrote: Great post. You hit some good points, and hopefully me sending this post. It wil...

SYS-CON.TV
TOP MICROSOFT .NET LINKS


Mono 1.2.1 and 1.2.2 Released
When a project like Mono approaches a major release like version 1.2, the code is forked

When a project like Mono approaches a major release like version 1.2, the code is forked: copied into a separate branch in version control. In one copy, the "main" branch, work continues normally, while the code in the other "release" branch goes through a series of freezes leading up to its release.

The first freeze is on changes to critical features like the garbage collector. Later there is a freeze on new features, and last there is a freeze on everything except "showstopper" bugs while the release is tested. Freezing the critical core first allows code that can cause crashes or data loss to be thoroughly tested, while allowing normal development to continue in the rest of the program. Once the key features needed for the release are close to completion, "feature freeze" is implemented, after which no new features are added to the software but work continues on existing features. This keeps new bugs from being introduced along with new features, and it also focuses the developers' energy on completing and debugging the features already included. As the release date looms large, a freeze is put on all work except showstopper bugs that prevent the software from being released. Finally there is a "code" freeze; no more changes to the software are allowed. Beyond this point, unless a new showstopper bug is found, the only changes made are fixes to bugs in the installation packages, such as components left out, or wrong configurations on different platforms.

Note that "stable" releases, such as version 1.2, that have gone through the full testing process are the only releases recommended for critical applications.

While all this is going on in the release branch, development is continuing apace in the development branch. Changes made in the release branch are also copied into the development branch. This means that when Mono shipped the 1.2 release, there were a number of changes already backed up in the development branch, and these were released shortly afterward as version 1.2.1, detailed below.

There were many small bugs fixed in the core runtime, and Thread.Interrupt has been implemented. Web services have received .NET 2.0 updates including the List<T> generic types. Version1.2.1 has partial support for the MIPs processor; complete support has since been checked in and is available in the 1.2.1 release. ASP.NET 2.0 has received many updates from the folks at Mainsoft, as well as from Marek Habersack. ADO.NET received a lot of .NET 2.0 updates, plus XmlSchema reading and writing capabilities. In the security arena, X.509 certificates has had a number of updates to become more .NET 2.0 compatible.

System.Windows.Forms, having been newly completed, received the most updates, including a lot of cleanup work on TextBox and RichTextBox. Transparent and translucent windows now work correctly with Xgl + Compiz, there are faster startups under X11, and lots of focus fixes, including preventing popup windows and menus from stealing focus from the main form. TreeView now has improved scrolling, expanding and collapsing, DataGrid does a better job of handling binding and navigation, the Printing UI is nicer, and tool bars and menus work much better. System.Windows.Forms now passes all 598 unit tests under Linux.

Moma
Mono has a great new tool called the Mono Migration Analyzer. It is used to analyze .NET programs for Mono compatibility. It will create a report that lists .NET functions used by programs that have "Todo attributes," throw "NotImplemented" exceptions, or that are missing in Mono. It also lists all P/Invokes (direct calls to OS functions). You can look at the report yourself, or use a one-button click to send the report to the Mono team. Note that it does this using reflection, so you can run it on any program that you would like to see run under Mono, even if it is a third party program. You can read more and get a copy of the program at www.mono-project.com/Moma. This was used to make many improvements in Mono version 1.2.2, which I will discuss next month.

Odds and Ends
Want to write a game for the Xbox 360? Microsoft now has a special version of VisualStudio, Game Studio Express, for writing games that will run on both Windows and the Xbox 360. It is based on the Microsoft XNA game framework, and can be used free of charge to create games for Windows, or for $99 a year for non-commercial Xbox titles. Commercial titles will require the professional version of Game Studio.

There is also an open source toolkit called Mono.XNA for creating games on the Xbox 360, Windows, and Linux. It is based on Mono and the Tao framework (open source bindings for.NET to OpenGl, SDL and other libraries). It is in the early stages of development and could use a lot of help. There is a basic release working with a few very minor demos. Volunteer or find out more at www.taoframework.com/Mono.Xna.

I will be giving a presentation on Mono at the Atlanta Code Camp on January 20, 2007. The Atlanta Code Camp is hosted by the Atlanta .NET users Group and will be held at the DeVry University in Decatur Georgia. You can visit their home page at www.atlantacodecamp.com, and follow links to see the list of speakers or to get directions.

About Dennis Hayes
Dennis Hayes is a programmer at Georgia Tech in Atlanta Georgia where he writes software for the Adult Cognition Lab in the Psychology Department. He has been involved with the Mono project for over six years, and has been writing the Monkey Business column for over five years.

MICROSOFT .NET LATEST STORIES
In a move that looks tailor-made for an antitrust suit, Microsoft says it’s going to give away a consumer security kit that it’s building code named Morro. It should be available in the second half of next year – probably more like mid-year. The freebie widgetry is supposed to de...
OpenSpan and TIBCO have announced a technology and business partnership designed to extend TIBCO solutions to desktop environments. The partnership will enable TIBCO Service-Oriented Architecture, Business Process Management and Business Optimization solutions to more rapidly integrate...
Tidal Software has announced Intersperse 8.0, a product that monitors J2EE and .NET applications and their transaction component performance to produce meaningful metrics for managing applications and high-level business processes. The product leverages a combination of lightweight Ja...
DataGuise has announced their first masking in place solution for multi-database environments such as Oracle, Microsoft SQL Server, and others. The dgSolution Suite provides secure masking of database content and is designed for the highest level of flexibility and functionality across...
The BlackBerryR Technical Webcast Series is designed to help BlackBerry administrators better manage and leverage the capabilities of their BlackBerry solution. Each webcast is packed with detailed technical information, covering topics that are relevant to you. Our on-demand webcasts ...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING NEWS FROM THE WIRES
Collexis Holdings, Inc. (OTC Bulletin Board: CLXS), a leading developer of semantic search and knowl...