<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>Monologue</title>
    <description>The voices of Mono</description>
    <link>http://www.go-mono.com/monologue/</link>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Monologue worker: b-diddy powered</generator>
    <item>
      <title>Andrew Jorgensen: Mono Appliance for VirtualPC</title>
      <description>With the release of Mono 2.4.2 we are introducing an appliance image for Virtual PC.  This makes a lot of sense for Mono as one of our favorite target user groups is .NET developers looking to get an application running on Linux. Many of these developers use Virtual PC.
All three of our appliance images [...]</description>
      <link>http://andrew.jorgensenfamily.us/2009/07/mono-appliance-for-virtualpc/</link>
      <category>Mono</category>
      <category>Technology</category>
      <category>openSUSE</category>
      <author>Andrew_x0020_Jorgensen@monologue.go-mono.com</author>
      <comments>http://andrew.jorgensenfamily.us/2009/07/mono-appliance-for-virtualpc/#comments</comments>
      <guid isPermaLink="false">http://andrew.jorgensenfamily.us/?p=503</guid>
      <pubDate>Fri, 03 Jul 2009 00:48:26 GMT</pubDate>
    </item>
    <item>
      <title>Sandy Armstrong: See you in Gran Canaria!</title>
      <description>&lt;div&gt;Pounding a bowl of &lt;a href="http://mail.gnome.org/archives/snowy-list/2009-May/msg00000.html"&gt;cereal&lt;/a&gt;.  Almost time to leave for my flight!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;On Sunday I'll be giving &lt;a href="http://www.grancanariadesktopsummit.org/node/179"&gt;a talk about the UI Automation spec, and the work of the Mono Accessibility team&lt;/a&gt;.  If you're an a11y nerd, or your day job is Winforms or Silverlight app development and you want to automate that shit on Windows and Linux, or you just don't believe that I am currently bearded and want to confirm for yourself, please check it out.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'd also love to talk to people about &lt;a href="http://live.gnome.org/Snowy"&gt;Snowy&lt;/a&gt;, Free web services, GNOME's online desktop strategy, Batman, and the future of Tomboy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.amazon.com/Batman-Dark-Victory-Jeph-Loeb/dp/1563898683"&gt;Dark Victory&lt;/a&gt; is really good so far.  Doesn't stand on its own...you need to read The Long Halloween first (and therefore should read Year One before that).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A few weeks ago I drafted a blog with updates on Snowy, and just ran out of time to finish it up and post it.  But there is some basic info I want to share, so here's an updated excerpt:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;We are really excited about all of the positive feedback we're hearing about Snowy, and the upcoming Tomboy Online service.  We were reluctant to announce the project before we could confidently host it, but based on the excellent feedback and participation we've received so far, it's clear that we did the right thing by announcing early.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The day I blogged about Snowy, I left for San Diego to participate in my friends' wedding.  When I returned on Monday, I had a lot of catching up to do!  Here are some of the recent happenings:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Brad set up a &lt;a href="http://mail.gnome.org/mailman/listinfo/snowy-list"&gt;Snowy mailing list&lt;/a&gt;, and a &lt;a href="http://bugzilla.gnome.org/browse.cgi?product=snowy"&gt;Snowy product in GNOME bugzilla&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Og Maciel has &lt;a href="http://mail.gnome.org/archives/snowy-list/2009-May/msg00000.html"&gt;begun work on a virtual appliance&lt;/a&gt; for Snowy, and in the process of doing so has helped to unearth some bugs (our first mailing list activity).  Thanks Og!&lt;/li&gt;&lt;li&gt;Ryan Paul of Ars Technica fame as written &lt;a href="http://arstechnica.com/open-source/news/2009/06/tomboy-note-app-gains-web-sync-showcases-power-of-open-web.ars"&gt;a great article about the current state of Snowy&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Rodrigo Moya and Stuart Langridge have continued to help us refine our REST API, as they work on implementing it for Ubuntu One.  Stuart contributed patches to upgrade our authentication from HTTP basic to OAuth, and I finally pushed it upstream, along with corresponding support in Tomboy (based on some handy dandy code from &lt;a href="http://www.dieinahole.com/"&gt;Bojan Rajkovic&lt;/a&gt;).  I am really grateful for their help!&lt;/li&gt;&lt;li&gt;We have our &lt;a href="http://git.gnome.org/cgit/snowy/commit/?id=8d1c737d277f980208e7dd4672c879f0d17b59f3"&gt;first localization&lt;/a&gt;!  Thanks to Viatcheslav Ivanov for diving in.&lt;/li&gt;&lt;li&gt;The &lt;a href="http://bergie.iki.fi/blog/tomboy_web_synchronization-conboy_and_midgard/"&gt;Midgard project&lt;/a&gt; has implemented our REST API as well, and intends to add support to Conboy (Tomboy ported to C on Maemo) as well.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;This is all after less than a week of Snowy "going public"!  This is an encouraging sign that we are on the right track with API design and modularity of implementation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So that is my updated paste from the draft.  The rest was all technical details on the design of the API, and how much Rodrigo, Stuart, and Brad all rock, etc etc.  I'll post about that soon...for now I'm going to focus on getting a demo server up for you all to play with!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For those to whom I owe a drink, your day of reckoning approaches!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2867321763955747460-4205497038595795973?l=automorphic.blogspot.com'/&gt;&lt;/div&gt;</description>
      <link>http://automorphic.blogspot.com/2009/07/see-you-in-gran-canaria.html</link>
      <category domain="http://www.blogger.com/atom/ns#">guadec</category>
      <category domain="http://www.blogger.com/atom/ns#">snowy</category>
      <category domain="http://www.blogger.com/atom/ns#">tomboy</category>
      <category domain="http://www.blogger.com/atom/ns#">gcds</category>
      <category domain="http://www.blogger.com/atom/ns#">batman</category>
      <author>Sandy_x0020_Armstrong@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2867321763955747460.post-4205497038595795973</guid>
      <pubDate>Thu, 02 Jul 2009 11:48:00 GMT</pubDate>
    </item>
    <item>
      <title>Paco Martinez: Moihang: Part 2</title>
      <description>&lt;p&gt;Yesterday, I introduced you to Moihang, our family's version of Hangman a popular word guessing game.  Maria and Monica had suggested early on that we use sounds every time you pressed a keystroke. I then suggested to use different sounds for correct and missed guesses.  Finally, it only made sense to play some sort of fanfare when winning and some sort of dramatic sound clip if you fail to guess the word.&lt;/p&gt;

&lt;p&gt;Since we wanted to support Windows versions that we knew only had .NET Framework 1.1 I decided to make it the minimum Framework version.  That left me P/Invoking winmm.dll for wave file sound playback.  That was easy enough in Windows and I must admit that I ignorantly assumed that P/Invoking in Linux would be almost identical and just as easy...&lt;/p&gt;

&lt;p&gt;About two solid days of Linux audio architectures and libraries research, I ended opting for programming my own shared library using ALSA.  I also learned a bit about Pulseaudio, sox and esound.&lt;/p&gt;

&lt;p&gt;You can look at how I use afileplay in Moihang &lt;a href="http://www.mfconsulting.com/product/moihang/sound-sample.cs.html"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The other somewhat interesting thing that I tried to accomplish with the development and release of this application was to create a build system for a WinForms app that can integrate with the menus on the GNOME desktop as well as having an Inno Setup script for building the Windows Installer.  Just last week I received an email from a fellow that wanted to support build systems for Linux as well as Windows programmers at his shop. He wanted to better understand the way that MonoDevelop generated Makefiles could help with that goal.&lt;/p&gt;

&lt;p&gt;Well, I used the incredibly awesome MonoDevelop myself to create the initial build system (did a bit of manual tweaking but truly minimal) and ended up with something that autotools built quite nicely and maintainable.&lt;/p&gt;

&lt;p&gt;I will stop talking about this now and give you the URLs already for download and further information on Moihang and the Afileplay library.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.mfconsulting.com/product/moihang"&gt;Moihang's product page.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope to continue improving Moihang  -- time and professional obligations permitting.  I want to create a Gtk# version of the UI, maybe a Maemo version as well.  I want to change the actual hanging depiction from my initial &amp;#8220;easy way out&amp;#8221; bitmap file sequencing to a 2D drawing system (GDI+, GDK, etc.).&lt;/p&gt;

&lt;p&gt;For now, use it if you like and give me feedback or hack it some.  Enjoy!&lt;/p&gt;</description>
      <link>http://www.mfconsulting.com/blog/archives/000175.html</link>
      <author>Paco_x0020_Martinez@monologue.go-mono.com</author>
      <pubDate>Thu, 02 Jul 2009 05:28:52 GMT</pubDate>
    </item>
    <item>
      <title>Ivan Zlatev: Visual Studio 2008 jQuery IntelliSense Fix</title>
      <description>&lt;p&gt;I am tinkering with ASP.NET MVC and jQuery and making my first baby steps in a whole new horrible world of web development. I found out that the JavaScript IntelliSense in Visual Studio 2008 is broken out of the box. The error is:&lt;/p&gt;
&lt;pre&gt;Warning    2    Error updating JScript IntelliSense: jquery-1.3.2.js:
   Object doesn't support this property or method @ 2173:1&lt;/pre&gt;
&lt;p&gt;The fix for Visual Studio 2008 SP1 by Microsoft can be found here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/KB958502"&gt;KB958502 &amp;#8211; JScript Editor support for ?-vsdoc.js? IntelliSense doc. files&lt;/a&gt;&lt;/p&gt;
</description>
      <link>http://i-nz.net/2009/07/01/visual-studio-2008-jquery-intellisense-fix/</link>
      <category>Coding</category>
      <category>.NET</category>
      <category>ASP.NET</category>
      <category>Bug</category>
      <category>jQuery</category>
      <category>Visual Studio</category>
      <author>Ivan_x0020_Zlatev@monologue.go-mono.com</author>
      <comments>http://i-nz.net/2009/07/01/visual-studio-2008-jquery-intellisense-fix/#comments</comments>
      <guid isPermaLink="false">http://i-nz.net/?p=592</guid>
      <pubDate>Wed, 01 Jul 2009 21:25:16 GMT</pubDate>
    </item>
    <item>
      <title>Mario Carrion: Multiple Parallel Mono Environments</title>
      <description>If you are a Mono developer, either you develop Mono or you use Mono for development, I&amp;#8217;m sure you already have your Parallel Mono Environment set up and you are happy using it. Keeping a parallel environment is necessary because that way you don&amp;#8217;t break your default Mono installation or an specific mono application, so [...]</description>
      <link>http://blog.carrion.ws/2009/07/01/multiple-parallel-mono-environments/</link>
      <category>english</category>
      <category>mono</category>
      <category>opensuse</category>
      <author>Mario_x0020_Carrion@monologue.go-mono.com</author>
      <comments>http://blog.carrion.ws/2009/07/01/multiple-parallel-mono-environments/#comments</comments>
      <guid isPermaLink="false">http://blog.carrion.ws/?p=571</guid>
      <pubDate>Wed, 01 Jul 2009 18:20:49 GMT</pubDate>
    </item>
    <item>
      <title>Rafael Ferreira: Favorite ?gitness?</title>
      <description>
rafael-mb:~ rafael$ git-shell
fatal: What do you think I am? A shell?

What other kinda of &amp;#8220;gitness&amp;#8221; have you encountered? 
</description>
      <link>http://ophion.org/index.php/2009/07/favorite-git-feature/</link>
      <category>General</category>
      <author>Rafael_x0020_Ferreira@monologue.go-mono.com</author>
      <comments>http://ophion.org/index.php/2009/07/favorite-git-feature/#comments</comments>
      <guid isPermaLink="false">http://ophion.org/?p=98</guid>
      <pubDate>Wed, 01 Jul 2009 14:13:34 GMT</pubDate>
    </item>
    <item>
      <title>Lluis Sanchez : .NET/Mono Code Camp in Tarragona, Spain</title>
      <description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cHnO0qtZD7s/SktXcKy3pfI/AAAAAAAABF8/JuigJEosS9E/s1600-h/logo100.png"&gt;&lt;img style="cursor: pointer; width: 100px; height: 87px;" src="http://1.bp.blogspot.com/_cHnO0qtZD7s/SktXcKy3pfI/AAAAAAAABF8/JuigJEosS9E/s400/logo100.png" alt="" id="BLOGGER_PHOTO_ID_5353468723505636850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's official: there will be a .NET/Mono Code Camp in Spain in October. The proposal was made some months ago by CatDotNet, a local .NET user group. Several other .NET user groups quickly joined. The initial idea was to do a traditional Microsoft.NET Code Camp, but I though it would be a good chance of putting together .NET and Mono developers, since after all we have a lot to share. Everybody thought this was an awesome idea.&lt;br /&gt;&lt;br /&gt;This will be a good chance for learning and sharing knowledge about .NET and Mono, but I'd also like it to be a meeting point for the Spanish Mono community. I'll be there giving some talks, and I hope other Mono hackers can come too. If you want to propose a talk, or you want to contribute please join the &lt;a href="http://groups.google.com/group/codecamp-tarragona-2009"&gt;official forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;More info about the Code Camp in the official web site: &lt;a href="http://www.codecamp.es/"&gt;www.codecamp.es&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cHnO0qtZD7s/SktXiNyMWkI/AAAAAAAABGE/YDx0h65HtPg/s1600-h/sticker2.png"&gt;&lt;img style="cursor: pointer; width: 112px; height: 66px;" src="http://2.bp.blogspot.com/_cHnO0qtZD7s/SktXiNyMWkI/AAAAAAAABGE/YDx0h65HtPg/s400/sticker2.png" alt="" id="BLOGGER_PHOTO_ID_5353468827387320898" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6440604575561980711-6253271879256637503?l=foodformonkeys.blogspot.com'/&gt;&lt;/div&gt;</description>
      <link>http://foodformonkeys.blogspot.com/2009/07/netmono-code-camp-in-tarragona-spain.html</link>
      <author>Lluis_x0020_Sanchez_x0020_@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-6440604575561980711.post-6253271879256637503</guid>
      <pubDate>Wed, 01 Jul 2009 12:15:00 GMT</pubDate>
    </item>
    <item>
      <title>Scott Peterson: Variance, Thy Name is Ambiguity</title>
      <description>&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:130%;" &gt;Previously&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;On This Blog...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;"I love you, Generic Variance, and I want your babies &lt;a href="http://themonkeysgrinder.blogspot.com/2009/02/c-4-is-now.html"&gt;RIGHT NOW!&lt;/a&gt;"&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;"I think there's &lt;a href="http://themonkeysgrinder.blogspot.com/2009/04/whos-afraid-of-generic-variance.html"&gt;&lt;span style="font-style: italic;"&gt;something you should know&lt;/span&gt;&lt;/a&gt; about Generic Variance..."&lt;br /&gt;&lt;br /&gt;"&lt;a href="http://themonkeysgrinder.blogspot.com/2009/05/further-generic-variance-thoughts.html"&gt;I can change him!&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:130%;" &gt;And now, the thrilling continuation...&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;I've just sent my recommendation to the ECMA 335 committee regarding the generic variance problem. I present it here for your reading pleasure:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Quick Recap&lt;/h3&gt;&lt;br /&gt;The following is an example of an ambiguous circumstance involving generic variance, the very sort over which we have all lost so much sleep:&lt;br /&gt;&lt;br /&gt;.class interface abstract I&amp;lt;+T&amp;gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method public abstract virtual instance !T Foo ()&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.class A {}&lt;br /&gt;.class B extends A {}&lt;br /&gt;.class C extends A {}&lt;br /&gt;&lt;br /&gt;.class X implements I&amp;lt;class B&amp;gt;, I&amp;lt;class C&amp;gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method virtual instance class B I[B].Foo () { .override I&amp;lt;class B&amp;gt;::Foo }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method virtual instance class C I[C].Foo () { .override I&amp;lt;class C&amp;gt;::Foo }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Meanwhile, in some unsuspecting method...&lt;br /&gt;I&amp;lt;A&amp;gt; i = new X ();&lt;br /&gt;A a = i.Foo (); // AMBIGUITY!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Give a Runtime A Bone&lt;/h3&gt;&lt;br /&gt;To disambiguate such situations, we introduce a new custom attribute in the BCL. For the sake of example, let's call it System.PreferredImplementationAttribute. The PreferredImplementationAttribute is applied to a type and indicates which implementation should be selected by the runtime to resolve variance ambiguities. Our above definition of the type X would now look like this:&lt;br /&gt;&lt;br /&gt;.class X implements I&amp;lt;class B&amp;gt;, I&amp;lt;class C&amp;gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .custom instance void System.PreferredImplementationAttribute::.ctor (class System.Type) = { type(I&amp;lt;class C&amp;gt;) }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method virtual instance class B I[B].Foo () { .override I&amp;lt;class B&amp;gt;::Foo }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method virtual instance class C I[C].Foo () { .override I&amp;lt;class C&amp;gt;::Foo }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;New Rules&lt;/h3&gt;&lt;br /&gt;With the addition of this attribute, the runtime requires that any type defined in an assembly targeting the 335 5th edition runtime which implements multiple interfaces that are variants of a common generic interface MUST specify ONE AND ONLY ONE PerferredImplementationAttribute for EACH of the potentially ambiguous common interfaces, and that each such specification of a PerferredImplementationAttribute must reference an interface implemented by the type that is a legal variant of the ambiguous common interface. In other words, all possible ambiguities MUST be disambiguated by the use of PreferredImplementationAttribute custom attributes. If a type does not satisfy these rules, the runtime MUST throw a System.TypeLoadException.&lt;br /&gt;&lt;br /&gt;As this rule only applies to assemblies targeting the new version of the runtime, old images will continue to execute without issue. If the committee prefers, the resolution of ambiguities in old types may remain unspecified, or alphabetical priority could be codified in the spec to standardize such behavior. I would be fine leaving it unspecified.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Custom Attributes vs. Metadata&lt;/h3&gt;&lt;br /&gt;Ideally, I feel disambiguation information belongs in the type metadata structure rather than a custom attribute. If the committee feels that amending the metadata specification is tenable, I would recommend doing so (though I don't have any thoughts at this time on the exact logical or physical nature of such an amendment). If, on the other hand, changing the metadata spec at this point in the game is not feasible, then a custom attribute will just have to do. I see the addition of one custom attribute type to the Base Class Library as entirely justified.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;An Aside to Our Friends on the 334 Committee&lt;/h3&gt;&lt;br /&gt;As a note to language designers targeting the runtime, I personally would consider it obnoxious if developers where burdened with the manual application of such a custom attribute. C# and other languages would do well to prohibit the direct use of the custom attribute, favoring instead a special syntax to denote the preferred implementation (the "default" keyword comes to mind in the case of C#). If this committee changes the type metadata spec to include preferred implementation information (and does not introduce a custom attribute type for that purpose), then special language syntaxes will be necessary.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;An Alternative&lt;/h3&gt;&lt;br /&gt;In the interest of completeness, I will describe an alternate (if similar) approach to the ambiguity resolution problem. Rather than annotate types to indicate which of their interface implementations will satisfy ambiguous calls, the preferred implementation could be denoted on a per-member basis. Referring again to our original type X, this solution would modify that type thusly:&lt;br /&gt;&lt;br /&gt;.class X implements I&amp;lt;class B&amp;gt;, I&amp;lt;class C&amp;gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method virtual instance class B I[B].Foo () { .override I&amp;lt;class B&amp;gt;::Foo }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method virtual instance class C I[C].Foo () {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;.override I&amp;lt;class C&amp;gt;::Foo&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;.custom instance void System.PreferredImplementationAttribute::.ctor ()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The member I[C].Foo is annotated with the System.PreferredImplementationAttribute, indicating that it will be selected by the runtime to fulfill otherwise ambiguous calls to I&amp;lt;T&amp;gt;.Foo. Note that in this solution the constructor to the PerferredImplementationAttribute type is parameterless. The runtime ensures that for EACH of the members of an interface which is the common variant of two or more of the interfaces implemented by a type, ONE AND ONLY ONE of the implementations for that member is flagged as "preferred."&lt;br /&gt;&lt;br /&gt;Per-member preference definition affords developers more control but costs runtime implementers time, effort, and simplicity. I also don't envision many scenarios when developers would desire per-member control over implementation preference. I personally find this approach less tasteful than the per-interface solution but I mention it here, as I said, for completeness.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;One More Thing...&lt;/h3&gt;&lt;br /&gt;There remains a situation on which there are varied opinions:&lt;br /&gt;&lt;br /&gt;.class interface abstract I&amp;lt;+T&amp;gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method public abstract virtual instance !T Foo ()&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.class A {}&lt;br /&gt;.class B extends A {}&lt;br /&gt;&lt;br /&gt;.class X implements I&amp;lt;class A&amp;gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method virtual instance class A I[A].Foo () { .override I&amp;lt;class A&amp;gt;::Foo }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.class Y extends X implements I&amp;lt;class B&amp;gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .method virtual instance class B I[B].Foo () { .override I&amp;lt;class B&amp;gt;::Foo }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Meanwhile, in some unsuspecting method...&lt;br /&gt;I&amp;lt;A&amp;gt; i = new Y ();&lt;br /&gt;A a = i.Foo ();&lt;br /&gt;&lt;br /&gt;In this situation I&amp;lt;A&amp;gt;::Foo is called on an object of type Y. There is an implementation of I&amp;lt;A&amp;gt;::Foo in Y's type hierarchy (X::I[A].Foo), but there is also an available implementation which is a legal variant of I&amp;lt;A&amp;gt; in Y itself (Y:I[B].Foo). Does the runtime favor the exact implementation, or the more derived variant implementation? I don't have strong feelings on the matter, but my slight preference is for favoring the exact implementation.&lt;br /&gt;&lt;br /&gt;The runtime is deciding on behalf of the developer which implementation is most appropriate. It could be argued that an exact implementation, wherever it is to be found the type hierarchy, is more appropriate than a variant implementation.&lt;br /&gt;&lt;br /&gt;Also - and this is an implementation detail which should not outweigh other considerations but may be useful to keep in mind if all other things are equal - Mono stores a type's implemented interfaces in a binary tree, meaning that finding an exact implementation is an O(log n) worst-case operation, whereas finding a legal variant interface among a type's implemented interfaces is an O(n) worst-case operation (all interfaces must be examined to see if a legal variant exists among them). I haven't heard of any way to do O(log n) (or better) lookup of variants. With such popular types as IEnumerable`1 becoming variant, the superior time complexity could make a difference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3573606178901893990-8862156145792846035?l=themonkeysgrinder.blogspot.com'/&gt;&lt;/div&gt;</description>
      <link>http://themonkeysgrinder.blogspot.com/2009/06/variance-thy-name-is-ambiguity.html</link>
      <author>Scott_x0020_Peterson@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-3573606178901893990.post-8862156145792846035</guid>
      <pubDate>Wed, 01 Jul 2009 06:23:00 GMT</pubDate>
    </item>
    <item>
      <title>Paco Martinez: Moihang: a word guessing game</title>
      <description>&lt;p&gt;I programmed almost exclusively on Microsoft Windows and DOS from 1988 until 1999.  I started doing batch files, Quick BASIC, Visual Basic, and soon thereafter C/C++ Windows SDK/MFC/ATL. Along the way I programmed for a few flavors of UNIX and most Mac OS versions (Power Plant/Carbon). There for a while a did quite a bit of Palm OS and other embedded systems.     &lt;/p&gt;

&lt;p&gt;Around the turn of the century -- I love to sound that old (Logan's Run kind of old!) --  I discovered Linux and Free BSD and above all...  C#&lt;/p&gt;

&lt;p&gt;As &lt;a href="http://www.imdb.com/character/ch0031531/"&gt;Dewey Cox&lt;/a&gt; would say: &amp;#8220;It's been a beautiful ride&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Yet playing a wave sound file on Linux from a desktop application is, in my opinion, somewhat harder than in Windows.  Of course, there are obvious reasons for this.  Microsoft as well as Apple and other commercial OS providers could always dictate a simple, standard and unified way to give you an API call with just a couple of input parameters (file name and/or path usually).  The Bazaar nature of Linux programming with its multiple desktops and various low level audio interfaces give you many choices lost of granularity but with all that, comes a lot of homework for those who just want to have a sound clip play when an event in their application takes place.&lt;/p&gt;

&lt;p&gt;My beloved daughter Monica is always asking my wife Maria and I to play 20 questions and other word guessing games from the back seat of the car whenever we go from point A to point B &amp;#8211; In Texas that may take a long time since point A usually is at least 30 to 40 miles from any point B.  One day, we started playing hangman in the car using a piece of paper and a pencil.  Both Maria and Monica liked it, and I decided to make it a cross platform desktop app for all our computers.&lt;/p&gt;

&lt;p&gt;Although, my first impulse was to make a Gtk# app -- 90% of our computing at home  is done on Linux on top of a GNOME desktop -- I instead decided to use WinForms because I wanted try to create RPMs for openSUSE in hopes that I could virally propagate the good news of .NET and WinForms to billions of  .NET/Mono embracers that I always read about in slashdot and OSnews &lt;-- sarcasm alert.&lt;/p&gt;

&lt;p&gt;Tomorrow, I will make another blog entry where I will share more about my humble solution to the simple programmatic playback of wave and au files while on Linux.  Also, the Martinez-Figueroa family Hangman clone: Moihang&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.mfconsulting.com/product/moihang/index.html"&gt;&lt;img alt="moihang-shot.png" src="http://www.mfconsulting.com/blog/archives/images/moihang-shot.png" width="620" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.mfconsulting.com/blog/archives/000174.html</link>
      <author>Paco_x0020_Martinez@monologue.go-mono.com</author>
      <pubDate>Wed, 01 Jul 2009 04:14:37 GMT</pubDate>
    </item>
    <item>
      <title>Miguel de Icaza: MonoSpace Conference Announced</title>
      <description>
&lt;center&gt;
&lt;img src="http://primates.ximian.com/~miguel/pictures/monospace_logo.jpg"&gt;
&lt;/center&gt;

	&lt;p&gt;Scott Bellware has announced
	the &lt;a href="http://monospace.us/"&gt;MonoSpace Conference&lt;/a&gt; in
	Austin Texas on October 27-30th.

	&lt;p&gt;Scott has made
	a &lt;a href="http://monospaceconf.blogspot.com/2009/06/call-for-speakers.html"&gt;Call
	for Speakers&lt;/a&gt;:

	&lt;blockquote&gt;
	The Monospace Conference is looking for teachers to give
	tutorials on the Mono framework, tools, languages, and
	platforms supported by Mono.

	&lt;p&gt;Some tutorials are aimed at .NET developers with little
	experience with operating systems other than Windows, and
	others are geared to experienced Mono developers with exposure
	to the various Mono platforms.

	&lt;p&gt;The tutorials are two hour to three hour interactive sessions
	that can be any combination of follow-along examples, labs,
	and lecture.

	&lt;p&gt;We're looking for tutorials on subjects such as Linux, Mac,
	Windows, web, desktop, servers, message queues, databases,
	iPhone, Android, Amazon's EC2, among others.
	&lt;/blockquote&gt;
	
	&lt;p&gt;You can track the progress of the conference at
	the &lt;a href="http://monospaceconf.blogspot.com/"&gt;MonoSpace
	Conf Blog&lt;/a&gt;.

	&lt;p&gt;You can also follow the progress
	on &lt;a href="http://twitter.com/monospace_conf"&gt;twitter&lt;/a&gt;.

	&lt;p&gt;Scott was one of the founders of the Alt.Net series of
	conferences.    
</description>
      <link>http://tirania.org/blog/archive/2009/Jun-30-1.html</link>
      <author>Miguel_x0020_de_x0020_Icaza@monologue.go-mono.com</author>
      <guid isPermaLink="true">http://tirania.org/blog/archive/2009/Jun-30-1.html</guid>
      <pubDate>Tue, 30 Jun 2009 20:50:00 GMT</pubDate>
    </item>
    <item>
      <title>Maurits Rijk: Developing on Android</title>
      <description>I intend to buy an Android phone. It&amp;#8217;s probably going to be the HTC Hero mainly because it&amp;#8217;s almost available where I live and it also comes without a simlock, unlike for example the HTC Magic which is exclusive for Vodafone. Next I plan to develop some übercool applications but in the meantime I&amp;#8217;ll start [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maurits.wordpress.com&amp;blog=73044&amp;post=135&amp;subd=maurits&amp;ref=&amp;feed=1" /&gt;</description>
      <link>http://maurits.wordpress.com/2009/06/30/developing-on-android/</link>
      <category>Programming</category>
      <author>Maurits_x0020_Rijk@monologue.go-mono.com</author>
      <comments>http://maurits.wordpress.com/2009/06/30/developing-on-android/#comments</comments>
      <guid isPermaLink="false">http://maurits.wordpress.com/?p=135</guid>
      <pubDate>Tue, 30 Jun 2009 20:43:19 GMT</pubDate>
    </item>
    <item>
      <title>Miguel de Icaza: Some Cool Mono Announcements</title>
      <description>
	&lt;p&gt;Yesterday we shipped Mono 2.4.2, our long-term supported
	version of Mono.   It ships Microsoft's opensourced ASP.NET
	MVC stack for the first time (you could get it before on your
	own, but now it is integrated) and fixes over 150 reported bugs.

	&lt;p&gt;Chris Toshok
	announced &lt;a href="http://squeedlyspooch.com/blog/2009/06/29/minvoke-forcing-portability/"&gt;M/Invoke&lt;/a&gt;
	a tool to port applications that use P/Invokes on Win32 to
	Linux and MacOS.

	&lt;p&gt;What Chris &lt;b&gt;does not talk about&lt;/b&gt;  on his post is that
	he was trying to use some .NET software that interfaces via
	USB to his glucose meter and was trying to get this to run on
	Linux.   The tool is mostly .NET with the usual handful of
	P/Invokes to Win32.   And this is how M/Invoke was born: a
	tool to retarget P/Invoke happy applications into becoming
	pure managed applications.

	&lt;p&gt;This opens new doors to forcefully port more apps to Linux.
	
	&lt;p&gt;Alan
	McGovern &lt;a href="http://monotorrent.blogspot.com/2009/06/mononat-102.html"&gt;released
	a new version&lt;/a&gt;
	of &lt;a href="http://projects.qnetp.net/projects/list_files/mono-nat"&gt;Mono.Nat&lt;/a&gt;
	one of the libraries used by MonoTorrent.

	&lt;p&gt;Jordi Mas &lt;a href="http://gent.softcatala.org/jmas/bloc/pivot/entry.php?id=418&amp;w=jordis_english_bloc"&gt;released
	a new version&lt;/a&gt;
	of &lt;a href="http://www.mistelix.org/"&gt;Mistelix&lt;/a&gt; a DVD
	authoring tool for Linux:

	&lt;center&gt;
	&lt;img src="http://primates.ximian.com/~miguel/pictures/Mistelix_slideshow.png"&gt;
	&lt;/center&gt;

	&lt;p&gt;Jordi's &lt;a href="http://live.gnome.org/gbrainy/"&gt;GBrainy&lt;/a&gt;
	brain teaser
	game &lt;a href="http://gent.softcatala.org/jmas/bloc/pivot/entry.php?id=420&amp;w=jordis_english_bloc"&gt;was
	picked up&lt;/a&gt;
	by &lt;a href="http://www.molinux.info/"&gt;MoLinux&lt;/a&gt;, a regional
	Linux distribution, and shipped it translated to Spanish:

	&lt;center&gt;
	&lt;img src="http://primates.ximian.com/~miguel/pictures/sabio_petit.png"&gt;
	&lt;/center&gt;

	&lt;p&gt;Joe
	Audette's &lt;a href="http://www.mojoportal.com/"&gt;mojoPortal&lt;/a&gt;
	was
	being &lt;a href="http://www.mojoportal.com/mojo-rising.aspx"&gt;installed
	four times&lt;/a&gt; as much when it got included in in Microsoft's
	Web Platform Installer site (more stats &lt;a href="http://mojoportal.codeplex.com/stats"&gt;here&lt;/a&gt;).
						   
	&lt;p&gt;For years I have loved the Joel on Software rules for
	software engineering.    And one of those rules is "Build in
	one step".    We have not always succeeded, but we have always
	tried.  &lt;a href="http://foodformonkeys.blogspot.com/2009/06/how-to-build-monodevelop-with-visual.html"&gt;Lluis
	delivers&lt;/a&gt; the one step to build and run for MonoDevelop on
	Windows: Load solution, Hit F5, up and running.

	&lt;p&gt;Google Chrome really lead the way here, and I want very
	badly to have all of Mono building in Visual Studio with one
	keystroke, but we are not there yet.

	&lt;p&gt;Stephane reports on
	some &lt;a href="http://blog.reblochon.org/2009/06/report-on-f-spot-loading-times.html"&gt;nice
	startup performance improvements&lt;/a&gt; for F-Spot.  Loading time
	for 10 images from Stephane's own image collection went from
	1.2 seconds to .5 seconds.

	&lt;p&gt;MonoDevelop got
	some &lt;a href="http://garuma.wordpress.com/2009/06/24/md-quick-feature-switch-support-in-autotools-deployment-project/"&gt;enhanced
	support&lt;/a&gt; for autoconf integration.

	&lt;p&gt;Jeremy
	Laval &lt;a href="http://garuma.wordpress.com/2009/06/24/zencomic-0-1-3/"&gt;released
	another version&lt;/a&gt; of ZenComic a desktop Comic reader:

	&lt;center&gt;
	&lt;img src="http://primates.ximian.com/~miguel/pictures/zencomig.png"&gt;
	&lt;/center&gt;

	&lt;p&gt;David
	Siegel &lt;a href="http://pengdeng.com/blog/2009/06/30/do-0-8-2-released/"&gt;announced
	a new release&lt;/a&gt; of &lt;a href="http://do.davebsd.com/"&gt;Gnome
	Do&lt;/a&gt; on behalf of the Gnome Do team.   In particular, it is
	now easier to write "Docklets" for the Gnome Do panel and for
	those of us that like the Emacs keybindings, it is now
	possible to use C-N and C-P for navigation

	&lt;center&gt;
	&lt;img src="http://primates.ximian.com/~miguel/pictures/shot.png"&gt;
	&lt;/center&gt;

	&lt;p&gt;And of course the Google Summer of Code is in full swing:

	&lt;center&gt;
	&lt;img src="http://primates.ximian.com/~miguel/pictures/soc2009.png"&gt;
	&lt;/center&gt;

	&lt;p&gt;And we have
	various &lt;a href="http://socghop.appspot.com/org/home/google/gsoc2009/mono"&gt;very
	exciting projects&lt;/a&gt; brewing.

	&lt;p&gt;Jonathan Pobst has
	been &lt;a href="http://jpobst.blogspot.com/2009/06/mono-in-visual-studio-2010.html"&gt;exploring
	integration points&lt;/a&gt; for Mono and Visual Studio 2010:
	
	&lt;center&gt;
	&lt;img src="http://primates.ximian.com/~miguel/pictures/stepscale.png"&gt;
	&lt;/center&gt;
	
	&lt;p&gt;Guadec: I will sadly not be attending the Guadec/Akademy
	conference in Canaria next week.  This is going to be a busy
	summer for us as we are shipping a lot of code in the next few
	months: Moonlight 2.0, Mono for Visual Studio, MonoTouch 1.0
	and Mono 2.6.    
</description>
      <link>http://tirania.org/blog/archive/2009/Jun-30.html</link>
      <author>Miguel_x0020_de_x0020_Icaza@monologue.go-mono.com</author>
      <guid isPermaLink="true">http://tirania.org/blog/archive/2009/Jun-30.html</guid>
      <pubDate>Tue, 30 Jun 2009 20:41:00 GMT</pubDate>
    </item>
    <item>
      <title>David Siegel: GNOME Do 0.8.2 Released</title>
      <description>GNOME Do 0.8.2 was just released! Peng has a great post describing what&amp;#8217;s new. Get the application source here and the plugins source here.
</description>
      <link>http://blog.davebsd.com/2009/06/30/gnome-do-0-8-2-released/</link>
      <category>Design and User Experience</category>
      <category>GNOME Do</category>
      <category>GNU/Linux</category>
      <category>Ubuntu</category>
      <category>Uncategorized</category>
      <author>David_x0020_Siegel@monologue.go-mono.com</author>
      <comments>http://blog.davebsd.com/2009/06/30/gnome-do-0-8-2-released/#comments</comments>
      <guid isPermaLink="false">http://blog.davebsd.com/?p=379</guid>
      <pubDate>Tue, 30 Jun 2009 13:41:40 GMT</pubDate>
    </item>
    <item>
      <title>Jordi Mas: El Sabio Frestón</title>
      <description> &lt;p&gt;
A few days back &lt;a target="_blank" href="http://www.molinux.info/"&gt;MoLinux,&lt;/a&gt; the GNU/Linux distribution sponsored by the &lt;a target="_blank" href="http://www.jccm.es/"&gt;Castilla la Mancha&lt;/a&gt; government in Spain, released Molinux &lt;a target="_blank" href="http://www.molinux.info/index.php?option=com_content&amp;amp;task=view&amp;amp;id=258&amp;amp;Itemid=1"&gt;version 5.0&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
As part of the different customizations and enhancements that they do to Ubuntu, they introduced a new program called &lt;a target="_blank" href="http://www.youtube.com/watch?v=MTcw4BYu_m0"&gt;El Sabio Frest&amp;oacute;n&lt;/a&gt;. The program is named after a character in El Quixote that was a smart guy. If you read the Quixote and cannot recall the character, do not worry, a friend of mine that spent five years doing her degree in Spanish Literature could not neither. 
&lt;/p&gt;
&lt;p&gt;
El Sabio Frest&amp;oacute;n is a &lt;a target="_blank" href="http://live.gnome.org/gbrainy/"&gt;gbrainy&lt;/a&gt; fork. I'm pretty happy about this because I think that one of the cool things about free software is that people can extend, modify and distribute the software beyond the original author capabilities and interests. These guys have just done this. Revamping the user interface to make it less nerdy and more child friendly, adding additional puzzles categories for literature, geography and verbal analogies. Probably this game will make it into another regional Linux distributions in Spain (gbrainy is available in all of them), since they usually share packets. 
&lt;/p&gt;
&lt;p style="text-align:center;"&gt;&lt;img src="http://gent.softcatala.org/jmas/bloc/images/sabio_petit.png" style="border:0px solid" title="" alt="" class="pivot-image" /&gt;&lt;/p&gt;

&lt;p&gt;
Unfortunately it will be difficult to leverage on their work for gbrainy, since most of the work that they have done can be hardly internationalized. On top of this, they used a year old version of gbrainy. However, I hope that better collaboration in the future could drive gbrainy to reuse their work.
&lt;/p&gt;
&lt;p&gt;
I was also told recently that the city hall of Zaragoza is using gbrainy in &lt;a target="_blank" href="http://www.zaragoza.es/ciudad/sectores/mayores/programa_memorizar.htm"&gt;memory workshops&lt;/a&gt; for senior citizens. As most researchers do, I believe that most of these games, if not all, do not provide any tangible benefits to a player's memory or mental ability. However, I'm sure that they will have fun playing and they will socialize more, things that are good too.&lt;/p&gt; </description>
      <link>http://gent.softcatala.org/jmas/bloc/pivot/entry.php?id=420&amp;w=jordis_english_bloc</link>
      <category>default, Development</category>
      <author>Jordi_x0020_Mas@monologue.go-mono.com</author>
      <comments>http://gent.softcatala.org/jmas/bloc/pivot/entry.php?id=420&amp;w=jordis_english_bloc#comm</comments>
      <guid isPermaLink="false">420@http://gent.softcatala.org/jmas/bloc/pivot/</guid>
      <pubDate>Tue, 30 Jun 2009 09:34:00 GMT</pubDate>
    </item>
    <item>
      <title>Chris Toshok: minvoke - forcing portability</title>
      <description>Portability to Mono is pretty easy when writing applications entirely in C#.  Winforms works well enough, just about anything console-based will work, and as long as you avoid some obviously broken areas of the API (System.Management, I&amp;#8217;m looking at you), you&amp;#8217;re usually ok.
We&amp;#8217;ve done much in the area of migration tools, such as providing the [...]</description>
      <link>http://squeedlyspooch.com/blog/2009/06/29/minvoke-forcing-portability/</link>
      <category>mono</category>
      <category>geek</category>
      <author>Chris_x0020_Toshok@monologue.go-mono.com</author>
      <comments>http://squeedlyspooch.com/blog/2009/06/29/minvoke-forcing-portability/#comments</comments>
      <guid isPermaLink="false">http://squeedlyspooch.com/blog/2009/06/29/minvoke-forcing-portability/</guid>
      <pubDate>Tue, 30 Jun 2009 05:06:58 GMT</pubDate>
    </item>
    <item>
      <title>Mono: Mono 2.4.2 has been released</title>
      <description>
	&lt;p&gt;Mono 2.4.2 has been released, this is a maintenance release
	for Mono 2.4 and contains over 150 bug fixes.  It can be
	downloaded
	from &lt;a href="http://www.go-mono.com/mono-downloads/download.html"&gt;our
	downloads page&lt;/a&gt;.

	&lt;p&gt;This version is the first version to integrate Microsoft's
	open source &lt;a href="http://www.asp.net/mvc"&gt;ASP.NET MVC&lt;/a&gt; stack.
	
	&lt;p&gt;Check
	the &lt;a href="http://www.mono-project.com/Release_Notes_Mono_2.4.2"&gt;release
	notes&lt;/a&gt; for more details.

</description>
      <link>http://www.mono-project.com/news/archive/2009/Jun-29.html</link>
      <author>Mono@monologue.go-mono.com</author>
      <guid isPermaLink="true">http://www.mono-project.com/news/archive/2009/Jun-29.html</guid>
      <pubDate>Tue, 30 Jun 2009 04:04:00 GMT</pubDate>
    </item>
    <item>
      <title>Chris Howie: Office fail</title>
      <description>One of the better fails I&amp;#8217;ve seen from MS Office:

</description>
      <link>http://www.chrishowie.com/2009/06/29/office-fail/</link>
      <category>Computer</category>
      <author>Chris_x0020_Howie@monologue.go-mono.com</author>
      <comments>http://www.chrishowie.com/2009/06/29/office-fail/#comments</comments>
      <guid isPermaLink="false">http://www.chrishowie.com/?p=279</guid>
      <pubDate>Mon, 29 Jun 2009 18:02:35 GMT</pubDate>
    </item>
    <item>
      <title>Joe Audette: mojoPortal 2.3.1.0 Released</title>
      <description>&lt;p&gt;I'm happy to announce the release of &lt;a href="http://www.mojoportal.com"&gt;mojoPortal&lt;/a&gt; 2.3.1.0 available now on our &lt;a href="http://www.mojoportal.com/download.aspx"&gt;download page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is primarily a bug fix release.&lt;/p&gt;
&lt;h3&gt;Fixed Issues&lt;/h3&gt;
&lt;p&gt;Fixed an issue in the WebStore where using EURO currency with PayPal the amounts returned from PayPal were not being correctly parsed.&lt;/p&gt;
&lt;p&gt;Fixed a bug in CryptoHelper that was causing an error in some environments when encrypting or decrypting data.&lt;/p&gt;
&lt;p&gt;Fixed missing titles on some edit pages that were a side effect of our refactoring of page titles to give more control over them in the last release.&lt;/p&gt;
&lt;p&gt;Downgraded YUI from 2.7.0 to 2.6.0 when using the Google CDN, because of a bug in YUI 2.7.0 where an FCKeditor inside a YUI tab sometimes was not visible in IE.&lt;/p&gt;
&lt;p&gt;Added required field validators in the Content Style Template editor because leaving the element blank could cause the FCKeditor to throw an error.&lt;/p&gt;
&lt;p&gt;Implemented a Content Delete Handler provider system to make a more consistent way of deleting related content when a module instance is deleted. Previously some features were not cleaning out their data when a content instance was deleted.&lt;/p&gt;
&lt;p&gt;Last release we introduced support for search results highlighting. This brought with it a possibility for an information disclosure if the user had view permissions on the page but not the module. In the past only the page title was shown so there was no disclosure of the content but with fragments of the actual content now being shown in search results we needed to store the module view permissions in the search index in order to be able to filter search results based on those roles in addition to page view roles. In order to get the view roles into your search index requires &lt;a href="http://www.mojoportal.com/rebuilding-the-search-index.aspx"&gt;rebuilding the search index&lt;/a&gt;. In order to not break existing search indexes I had to keep the default to not filter by the module view roles otherwise since the roles are not in the exisiting index all search results would be filtered out. In a new installation the preferred settings are in user.config.sample so that new installations should always filter by module view roles. Those who upgrade and rebuild their search index should add this to their user.config file:&amp;#160;&amp;lt;add key="SearchIncludeModuleRoleFilters" value="true" /&amp;gt;&lt;br /&gt;
This issue only affects those who have content on a page filtered by module view roles in addition to page view roles and only if you are using search results highlighting.&lt;/p&gt;
&lt;p&gt;There is a corresponding minor update release for &lt;a href="http://www.mojoportal.com/event-calendar-pro-product.aspx"&gt;Event Calendar Pro&lt;/a&gt; to make it write module permissions also to the search index for events. Customers can download the new 0.0.1.5 version from their purchase history.&lt;/p&gt;
&lt;p&gt;Fixed an issue where our App Keep Alive feature did not work in IIS 7 using Integrated Pipeline mode.&lt;/p&gt;
&lt;p&gt;Fixed an issue in our SmartCombo dropdown when using Chinese characters.&lt;/p&gt;
&lt;p&gt;Fixed an issue in the Image Gallery where the Greybox did not work if the caption had an apostrophy.&lt;/p&gt;
&lt;p&gt;Fixed a similar issue in the blog where a script error would occur in IE in the blog if Odiogo was enabled and the blog title had an apostrophy.&lt;/p&gt;
&lt;p&gt;Previously some skins had corner rounders surrounding the PageMenu control but if there were no child pages for the current page in the SiteMenu then the PageMenu would not be visible but the corner rounders would still be there. We solved this by moving the CornerRounders into the PageMenu control and out of the layout.master. This way if the menu is not visible neither are the corner rounders.&lt;/p&gt;
&lt;h3&gt;What Else?&lt;/h3&gt;
&lt;p&gt;We now force the use of a plain text editor in iPhone because none of the wysiwyg editors can work in iPhone due to the way they create png images of the page for zooming. So even though the editor rendered correctly because javascript is supported, there was no way to click in the editors. So now you can edit site content, make blog posts or anything you like using the iPhone though it does require knowledge of html.&lt;/p&gt;
&lt;p&gt;Based on &lt;a href="http://www.mojoportal.com/Forums/Thread.aspx?pageid=5&amp;amp;mid=34&amp;amp;ItemID=1&amp;amp;thread=2590&amp;amp;postid=11014"&gt;user feedback&lt;/a&gt;, I implemented additional CSS classes and and example skin showing how to layout forms with the labels above the form fields. Whereas most of the skins have the label on the left side of the input, andreasvicklund-02 now has forms with the labels above the inputs. Also I think now all the Cancel buttons have been changed to links which was also suggested as a usability improvement.&lt;/p&gt;
&lt;p&gt;There was also a request to add a per instance unique CSS class on Html content instances so that it is easier when you want to style a particular content instance different that the others. I implemented this so that there is a wrapper div with class=modulex where x is the module id. This allows you to easily overrid ethe styles for particular instance. I did the same thing for blogs and links and a few other places.&lt;/p&gt;
&lt;p&gt;Updated Italian resource files thanks to Diego Mora.&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='http://www.mojoportal.com'&gt;Joe Audette&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href='http://www.mojoportal.com/mojoportal-2310-released.aspx'&gt;...&lt;/a&gt;&lt;br&gt;&lt;a type="audio/mpeg" href="http://podcasts.odiogo.com/get_mp3.mp3?f=/mojoportal-change-blog/mojoPortal_Change_Blog-mojoPortal_2310_Released.mp3"&gt;Click here to play&lt;/a&gt;&lt;br&gt;</description>
      <link>http://feedproxy.google.com/~r/mojoportal/~3/hOgsbgOgBIw/mojoportal-2310-released.aspx</link>
      <author>Joe_x0020_Audette@monologue.go-mono.com</author>
      <pubDate>Mon, 29 Jun 2009 17:03:48 GMT</pubDate>
    </item>
    <item>
      <title>Alan McGovern: Mono.Nat 1.0.2</title>
      <description>I just tagged and released &lt;a href="http://projects.qnetp.net/news/show/4"&gt;Mono.Nat 1.0.2&lt;/a&gt; . It's a fairly minor bugfix release which addresses a number of minor issues:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Added workaround for certain versions of miniupnpd which incorrectly advertise their available services (bug has been reported upstream)&lt;/li&gt;&lt;li&gt;Fixed some other minor issues with routers reporting incorrect services.&lt;/li&gt;&lt;li&gt;Added extra API to make it easy to log the full handshake/request process to help diagnose issues&lt;/li&gt;&lt;li&gt;Stopping and Starting discovery will rediscover all available devices correctly&lt;/li&gt;&lt;li&gt;Full support for computers with multiple network cards on multiple subnets&lt;/li&gt;&lt;li&gt;Rewrote the internals to ensure that the asynchronous API is 100% asychronous - prevents calls to BeginXXX blocking on some slower routers.&lt;/li&gt;&lt;/ul&gt; Precompiled binaries and sourcecode can be downloaded &lt;a href="http://projects.qnetp.net/projects/list_files/mono-nat"&gt;here&lt;/a&gt; and packages will soon be winding their way to a repository near you.&lt;br /&gt;&lt;br /&gt;If you want to forward ports automagically on a upnp empowered router near you, this is the library for you!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29153919-1155520668978050146?l=monotorrent.blogspot.com'/&gt;&lt;/div&gt;</description>
      <link>http://monotorrent.blogspot.com/2009/06/mononat-102.html</link>
      <author>Alan_x0020_McGovern@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-29153919.post-1155520668978050146</guid>
      <pubDate>Mon, 29 Jun 2009 15:20:02 GMT</pubDate>
    </item>
    <item>
      <title>Miguel de Icaza: Mono</title>
      <description>
	&lt;center&gt;
	&lt;img src="http://tirania.org/tmp/monotouch1.png"&gt;
	&lt;/center&gt;

	&lt;p&gt;
	
	&lt;center&gt;
	&lt;img src="http://tirania.org/tmp/monotouch2.png"&gt;
	&lt;/center&gt;
</description>
      <link>http://tirania.org/blog/archive/2009/Jun-29.html</link>
      <author>Miguel_x0020_de_x0020_Icaza@monologue.go-mono.com</author>
      <guid isPermaLink="true">http://tirania.org/blog/archive/2009/Jun-29.html</guid>
      <pubDate>Mon, 29 Jun 2009 09:52:00 GMT</pubDate>
    </item>
    <item>
      <title>David Siegel: Five straightforward steps to vanquish Mono</title>
      <description>Recently, the noisy debate over whether Mono poses a real threat to Linux has gotten even noisier. I&amp;#8217;m not a lawyer so I&amp;#8217;m not going to comment on matters I don&amp;#8217;t fully understand, but I want to offer a constructive suggestion. No number of blog posts or vitriolic Reddit comments can by themselves generate a [...]</description>
      <link>http://blog.davebsd.com/2009/06/28/five-steps-to-vanquish-mono/</link>
      <category>GNOME Do</category>
      <category>GNU/Linux</category>
      <category>Ubuntu</category>
      <author>David_x0020_Siegel@monologue.go-mono.com</author>
      <comments>http://blog.davebsd.com/2009/06/28/five-steps-to-vanquish-mono/#comments</comments>
      <guid isPermaLink="false">http://blog.davebsd.com/?p=368</guid>
      <pubDate>Mon, 29 Jun 2009 00:00:17 GMT</pubDate>
    </item>
    <item>
      <title>Jordi Mas: Mistelix 0.21</title>
      <description> &lt;p&gt;
Here we have &lt;a target="_blank" href="http://www.mistelix.org"&gt;Mistelix&lt;/a&gt; 0.21. Mistelix is an open source DVD authoring application with also Theora slideshow creation capabilities for GNU/Linux systems.&lt;br /&gt;
&lt;br /&gt;
Lots of stabilization work goes in this version that introduces 11 bug fixes and some updated translations. It can be download it from: 
&lt;/p&gt;
&lt;p&gt;
&lt;a target="_blank" href="http://mistelix.org/files/mistelix-0.21.tar.gz"&gt;http://mistelix.org/files/mistelix-0.21.tar.gz&lt;/a&gt;
&lt;br /&gt;
MD5SUM: 6b75a5a1a96169f7366223859278eae3
&lt;/p&gt;
&lt;p&gt;
And it is already packaged from &lt;a target="_blank" href="http://www.mistelix.org/Download"&gt;some distributions&lt;/a&gt;. If you test it and have questions, you can use the &lt;a target="_blank" href="http://groups.google.com/group/mistelix"&gt;public forum&lt;/a&gt;. If you find bug, do &lt;a target="_blank" href="http://bugzilla.gnome.org/enter_bug.cgi?product=mistelix"&gt;report them&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
This is the version that I will be showing during my lightening talk at &lt;a target="_blank" href="http://www.grancanariadesktopsummit.org/"&gt;GUADEC&lt;/a&gt; next Saturday 4th of July and later at &lt;a target="_blank" href="http://www.grancanariadesktopsummit.org/node/174"&gt;GUADEC-ES&lt;/a&gt;, still to confirm if it will be the 7th or the 8th of July.&lt;/p&gt; </description>
      <link>http://gent.softcatala.org/jmas/bloc/pivot/entry.php?id=418&amp;w=jordis_english_bloc</link>
      <category>default, Development</category>
      <author>Jordi_x0020_Mas@monologue.go-mono.com</author>
      <comments>http://gent.softcatala.org/jmas/bloc/pivot/entry.php?id=418&amp;w=jordis_english_bloc#comm</comments>
      <guid isPermaLink="false">418@http://gent.softcatala.org/jmas/bloc/pivot/</guid>
      <pubDate>Sun, 28 Jun 2009 20:54:00 GMT</pubDate>
    </item>
    <item>
      <title>Jo Shields: The Pledge</title>
      <description>&lt;p&gt;I believe Free Software developers should be free to work without their work being compared to terminal illness [&lt;a href="http://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/"&gt;0&lt;/a&gt;][&lt;a href="http://www.theopensourcerer.com/2009/05/04/re-spinning-famous-quotes-linux-and-cancer/"&gt;1&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;I believe Free Software developers should be free to pick and choose their development tools [&lt;a href="http://www.cs.bgu.ac.il/~omri/Humor/write_in_c.html"&gt;2&lt;/a&gt;][&lt;a href="http://boycottnovell.com/2009/01/06/mono-android-intrusion/"&gt;3&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;I believe Free Software developers should be free to contribute without being threatened with eviction from a community [&lt;a href="http://np237.livejournal.com/24065.html?thread=157697#t157697"&gt;4&lt;/a&gt;][&lt;a href="https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2009-June/008548.html"&gt;5&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;I believe Free Software thrives on diversity, and that there should always be a choice [&lt;a href="http://www.kde.org/"&gt;6&lt;/a&gt;][&lt;a href="http://www.gnome.org/"&gt;7&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;I believe we should welcome ALL developers, from any community, in helping to contribute towards Free Software [&lt;a href="http://sourceforge.net/"&gt;8&lt;/a&gt;][&lt;a href="http://www.codeplex.com/"&gt;9&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;I believe Free Software is about freedom &amp;#8211; for both users and developers [&lt;a href="http://gandolf.homelinux.org/~smhanov/blog/?id=64"&gt;10&lt;/a&gt;][&lt;a href="http://www.theopensourcerer.com/2009/04/23/how-to-remove-mono-from-ubuntu-904-jaunty-jackalope/"&gt;11&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;I believe that our priorities are our users and Free Software &amp;#8211; meaning we should always strive to present our users with the very best Free Software has to offer [&lt;a href="http://pinstack.blogspot.com/2009/06/empathy-will-replace-pidgin-and-ekiga.html"&gt;12&lt;/a&gt;][&lt;a href="http://gquigs.blogspot.com/2009/06/banshee-by-default-cmon-not-all-of-us.html?showComment=1245377989668#c4284123842953529323"&gt;13&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;Do you?&lt;/p&gt;
</description>
      <link>http://www2.apebox.org/wordpress/rants/134/</link>
      <category>Rants</category>
      <category>debian</category>
      <category>mono</category>
      <category>ubuntu</category>
      <author>Jo_x0020_Shields@monologue.go-mono.com</author>
      <comments>http://www2.apebox.org/wordpress/rants/134/#comments</comments>
      <guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=134</guid>
      <pubDate>Sun, 28 Jun 2009 02:29:01 GMT</pubDate>
    </item>
    <item>
      <title>C.J. Adams-Collier: Mono on the G1</title>
      <description>&lt;p&gt;I got a g1 for Fathers&amp;#8217; Day (Thanks Hannah!) and I&amp;#8217;ve been futzing with it a bit.  I rooted it and set up a chroot debian system.  It&amp;#8217;s running an ssh server, openvpn and snmpd.&lt;/p&gt;
&lt;p&gt;There&amp;#8217;s been a lot of talk about getting flash working on the device.  They just announced yesterday &lt;a href="http://www.htc.com/www/product/hero/specification.html"&gt;the next phone&lt;/a&gt; by HTC (the folks who make the hardware) which runs the Android OS.  It sounds like there will be a &amp;#8216;lite&amp;#8217; version of Adobe Flash available for that model.  With all the natter about the new phone and flash, I thought it might be fun to get Mono running on the current model and see if I can get a Moonlight plugin shoe-horned in to the browser.&lt;/p&gt;
&lt;p&gt;I got quite a bit of help from #android on freenode and #mono on gimpnet when I brought the topic up.  At this point, I don&amp;#8217;t think I can make it look native, but perhaps just getting the project off the ground is enough to start interest.&lt;/p&gt;
&lt;p&gt;At a low level, it looks like the phone can manipulate the graphic display by &lt;a href="http://wp.colliertech.org/cj/wp-content/uploads/2009/06/android-native-drawing.cpp"&gt;blitting RGB565 pixmaps&lt;/a&gt; to the fbdev.  This might be enough to put together a quick cairo back-end.  Since moonlight draws to cairo, something like this would be required in order to get things moving.&lt;/p&gt;
&lt;p&gt;Now to see if I can compile mono + moonlight in such a way that it&amp;#8217;s tiny enough to not take up the whole flash&amp;#8230;.&lt;/p&gt;
</description>
      <link>http://wp.colliertech.org/cj/?p=442</link>
      <category>Fee Software</category>
      <category>Graphics</category>
      <category>Hardware</category>
      <category>Software</category>
      <category>c#</category>
      <category>debian</category>
      <category>irc</category>
      <category>linux</category>
      <category>mono</category>
      <category>video</category>
      <author>C.J._x0020_Adams-Collier@monologue.go-mono.com</author>
      <comments>http://wp.colliertech.org/cj/?p=442#comments</comments>
      <guid isPermaLink="false">http://wp.colliertech.org/cj/?p=442</guid>
      <pubDate>Fri, 26 Jun 2009 15:25:07 GMT</pubDate>
    </item>
    <item>
      <title>Jeroen Frijters: IKVM.Reflection.Emit Update</title>
      <description>&lt;p&gt;
   I&amp;nbsp;have done a massive amount of fixes to IKVM.Reflection.Emit to make it full
   featured (even though it still doesn't implement all Reflection.Emit APIs, the functionality
   should (almost) all be there, for example via different overloads).
&lt;/p&gt;
&lt;p&gt;
   I completed support for generics (I think) and fixed many bugs in that area, ikvmc
   only uses a very small amount of generics so these fixes are unlikely to affect it.
&lt;/p&gt;
&lt;p&gt;
   It's worth explicitly stating the design goals of IKVM.Reflection.Emit:
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      It's a write-only API. Some GetXXX methods or properties may be implemented, but that's
      mostly for its internal convenience. 
   &lt;li&gt;
      There is intentionally no error checking. During ikvm development the error checking
      in System.Reflection.Emit has cost me a huge amount of time, it is generally much
      easier to diagnose the problem when you have a broken assembly file. PEverify and
      ILDASM are your friends. 
   &lt;li&gt;
      Code that uses System.Reflection.Emit in a write-only way is supposed to "just work"
      (modulo missing APIs, but those changes should be trivial).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   I've done some pretty heavy duty testing on it. It should be ready for external (i.e.
   non-ikvmc) usage now. If you decide to use it (or consider using it), please let me
   know. As always, feedback is appreciated.
&lt;/p&gt;
&lt;p&gt;
   Changes:
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      Added support for ByRef and Pointer types. 
   &lt;li&gt;
      Completed support for all literal field constant types and fixed null literal fields. 
   &lt;li&gt;
      Added ModuleBuilder.DefineInitializedData(). 
   &lt;li&gt;
      Fixed many generics related bugs. 
   &lt;li&gt;
      Added a (non-standard) API to ModuleBuilder to set the PE image base address. 
   &lt;li&gt;
      Added TypeBuilder.SetParent(). 
   &lt;li&gt;
      Added TypeBuilder.GetMethod() and TypeBuilder.GetConstructor() to instantiate methods
      on generic types. 
   &lt;li&gt;
      Added a (non-standard) API to ILGenerator to disable the "helpful" automatic leave/endfinally
      instructions in exception blocks. 
   &lt;li&gt;
      Added support for pinned local variables. 
   &lt;li&gt;
      Added UIntPtr and TypedReference signature encodings. 
   &lt;li&gt;
      Fixed handling of TypeBuilder enums in custom attributes. 
   &lt;li&gt;
      Added MethodBuilder.SetSignature(). 
   &lt;li&gt;
      Added GenericTypeParameterBuilder.SetInterfaceConstraints() and .SetGenericParameterAttributes(). 
   &lt;li&gt;
      Fixed (Method|Type)Builder.SetCustomAttribute() to set HasSecurity flag when SuppressUnmanagedCodeSecurityAttribute
      is set. 
   &lt;li&gt;
      Added support for defining events.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   Binary available here: &lt;a href="http://www.frijters.net/ikvm-refemit-0.41.3464.zip"&gt;ikvm-refemit-0.41.3464.zip&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ikvm.net/aggbug.ashx?id=73837321-ce29-48da-9f12-e60b2b477c41"&gt;</description>
      <link>http://weblog.ikvm.net/PermaLink.aspx?guid=73837321-ce29-48da-9f12-e60b2b477c41</link>
      <author>Jeroen_x0020_Frijters@monologue.go-mono.com</author>
      <comments>http://weblog.ikvm.net/CommentView.aspx?guid=73837321-ce29-48da-9f12-e60b2b477c41</comments>
      <guid isPermaLink="false">http://weblog.ikvm.net/PermaLink.aspx?guid=73837321-ce29-48da-9f12-e60b2b477c41</guid>
      <pubDate>Fri, 26 Jun 2009 04:42:52 GMT</pubDate>
    </item>
    <item>
      <title>Lluis Sanchez : How to build MonoDevelop with Visual Studio</title>
      <description>How to build MonoDevelop with Visual Studio in five easy steps:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install GTK# (get installer &lt;a href="http://monodevelop.com/Download/Windows_Preview"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Install the Mono Libraries (get installer &lt;a href="http://monodevelop.com/Download/Windows_Preview"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Get MonoDevelop from SVN (&lt;span style="font-weight: bold;"&gt;update&lt;/span&gt;: instructions &lt;a href="http://monodevelop.com/Download#Getting_MonoDevelop_from_the_Subversion_repository"&gt;here&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Open main/Main.sln in Visual Studio&lt;/li&gt;&lt;li&gt;Press F5 (&lt;span style="font-weight: bold;"&gt;update&lt;/span&gt;: make sure you have the configuration &lt;span style="font-weight: bold;"&gt;DebugWin32&lt;/span&gt; and platform &lt;span style="font-weight: bold;"&gt;x86&lt;/span&gt; selected).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6440604575561980711-91721933015900187?l=foodformonkeys.blogspot.com'/&gt;&lt;/div&gt;</description>
      <link>http://foodformonkeys.blogspot.com/2009/06/how-to-build-monodevelop-with-visual.html</link>
      <author>Lluis_x0020_Sanchez_x0020_@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-6440604575561980711.post-91721933015900187</guid>
      <pubDate>Thu, 25 Jun 2009 19:02:00 GMT</pubDate>
    </item>
    <item>
      <title>Stephane Delcroix: Report on F-Spot loading times</title>
      <description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rihgl8Kfuew/SkHz6NceBBI/AAAAAAAADJI/bDmY3dgNIew/s1600-h/late.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 293px; height: 320px;" src="http://2.bp.blogspot.com/_rihgl8Kfuew/SkHz6NceBBI/AAAAAAAADJI/bDmY3dgNIew/s320/late.jpg" alt="" id="BLOGGER_PHOTO_ID_5350826013659890706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;before: (on 0.5.0.3, averaged loading times on the first 10 items of my collection)&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Loading image took 1.292241s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;after: (current master, averaged on the same 10 items)&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Loading image took 0.518812s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[UPDATE] Yes, that's on a dual core machine (Intel(R) Core(TM)2 Duo CPU L7500 @ 1.60GHz).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1907372157232963850-698059830608897272?l=blog.reblochon.org'/&gt;&lt;/div&gt;</description>
      <link>http://blog.reblochon.org/2009/06/report-on-f-spot-loading-times.html</link>
      <category domain="http://www.blogger.com/atom/ns#">f-spot</category>
      <author>Stephane_x0020_Delcroix@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-1907372157232963850.post-698059830608897272</guid>
      <pubDate>Wed, 24 Jun 2009 11:16:00 GMT</pubDate>
    </item>
    <item>
      <title>Jérémie Laval: MD quick feature : switch support in Autotools deployment project</title>
      <description>&lt;p&gt;Just to let you know that MonoDevelop?s Autotools deployment projects now allow you to add specific switch for the configure script.&lt;/p&gt;
&lt;p&gt;Let?s say for instance that you want to enable at compile time a specific feature in your project. Now what you can do is add a switch to your deployment project which will be turned in something like &lt;code&gt;--enable-super-feature&lt;/code&gt; on configure side (i.e. you will be able to run configure like &lt;code&gt;./configure --enable-super-feature&lt;/code&gt;). &lt;/p&gt;
&lt;p&gt;This will actually define (as in #define) a symbol that you can use with #if ? #endif constructs in your code to activate your specific feature.&lt;/p&gt;
&lt;p&gt;Since we are at it, here is a little screenie :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://garuma.files.wordpress.com/2009/06/md-switch-defines.png"&gt;&lt;img src="http://garuma.files.wordpress.com/2009/06/md-switch-defines.png?w=300&amp;#38;h=156" alt="md-switch-defines" title="md-switch-defines" class="aligncenter size-medium wp-image-609" height="156" width="300"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I will add support asap for simple makefile projects. The UI is also probably a bit rough, if there are any usability expert out of there I will gladly accept any sensible criticism &lt;img src="http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley"&gt;  .&lt;/p&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garuma.wordpress.com&amp;blog=678301&amp;post=608&amp;subd=garuma&amp;ref=&amp;feed=1" /&gt;</description>
      <link>http://garuma.wordpress.com/2009/06/24/md-quick-feature-switch-support-in-autotools-deployment-project/</link>
      <category>C#</category>
      <category>English</category>
      <category>Mono</category>
      <category>Monodevelop</category>
      <category>Programming</category>
      <author>Jérémie_x0020_Laval@monologue.go-mono.com</author>
      <guid isPermaLink="false">http://garuma.wordpress.com/?p=608</guid>
      <pubDate>Wed, 24 Jun 2009 09:23:03 GMT</pubDate>
    </item>
    <item>
      <title>Jérémie Laval: Zencomic 0.1.3</title>
      <description>&lt;p&gt;This is a release that was lying around on my desk. It contains a little set of new features.&lt;/p&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;Zencomic is the comic strip-driven productivity enhancer that periodically makes your day funnier by showing comic like Dilbert or XKCD in a bubble.&lt;/p&gt;
&lt;h3&gt;ChangeLog&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added a ?Show now? button for immediate pleasure consumption&lt;/li&gt;
&lt;li&gt;Image processing is now deferred to a separate thread&lt;/li&gt;
&lt;li&gt;Tentatively try to see if the screensaver is active&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Download&lt;/h3&gt;
&lt;p&gt;Tarball : &lt;a href="http://netherilshade.free.fr/mono/zencomic-0.1.3.tar.gz"&gt;http://netherilshade.free.fr/mono/zencomic-0.1.3.tar.gz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garuma.wordpress.com&amp;blog=678301&amp;post=600&amp;subd=garuma&amp;ref=&amp;feed=1" /&gt;</description>
      <link>http://garuma.wordpress.com/2009/06/24/zencomic-0-1-3/</link>
      <category>C#</category>
      <category>English</category>
      <category>Mono</category>
      <category>Programming</category>
      <author>Jérémie_x0020_Laval@monologue.go-mono.com</author>
      <guid isPermaLink="false">http://garuma.wordpress.com/?p=600</guid>
      <pubDate>Wed, 24 Jun 2009 09:16:01 GMT</pubDate>
    </item>
    <item>
      <title>Codice Software: It's Not All Technical: The Million Dollar Raspberry Cheesecake with Chocolate Chip Crust</title>
      <description>I went on a BBQ this weekend and baked a cheesecake for the event. I took a look at a couple recipe's online then went crazy and just sort of whipped up something on my own I thought would be good and it turned out to be tremendous so I thought I would share it with our engineering community here in case anyone also has a sweet tooth for a cheesecake. So good it tastes like a million bucks!&lt;br /&gt;&lt;br /&gt;Ingredients:&lt;br /&gt;&lt;br /&gt;1.5 cups of sugar&lt;br /&gt;1 teaspoon vanilla&lt;br /&gt;3 8oz packages of cream cheese&lt;br /&gt;3 eggs&lt;br /&gt;4 oz heavy whipping cream&lt;br /&gt;1 cup of dark chocolate chips&lt;br /&gt;1 lb chocolate chip cookie dough&lt;br /&gt;3 6oz packages of fresh raspberries&lt;br /&gt;1 package of gelatin (optional)&lt;br /&gt;&lt;br /&gt;Directions: Preheat oven to 350.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Crust&lt;/span&gt;&lt;br /&gt;In a greased 9" springform pan ($10 at local wal-mart) take your 1lb of cookie dough and using your hand smash it flat into the bottom of the pan, spread evenly. Place it in the oven at 350 for 15 minutes. The cookie dough will be still gooey when it comes out and this is OK. Let it cool for 30 minutes, or put it in the fridge to cool for 15.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Filling&lt;/span&gt;&lt;br /&gt;In a mixing bowl add 1 cup of sugar and the 3 packages of cream cheese. Stir together while adding 1 egg at a time making sure each egg is stirred well into the cream cheese before adding the next one. Add the vanilla and heavy cream and continue to stir until it starts looking lusciously smooth.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Topping&lt;/span&gt;&lt;br /&gt;Add 12oz of raspberries (2 of the 3 packages) to a blender with the remaining 1/2 cup of sugar and liquefy into a puree.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Optional&lt;/span&gt;&lt;br /&gt;You can mix up a packet of plain gelatin in 1 cup boiling water and put 1/2 in the cheescake batter and 1/2 in the raspberry puree. It helps makes the cheesecake more firm.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Assembly&lt;/span&gt;&lt;br /&gt;Pour 1/2 of the creamcheese batter into the springform pan. Then add the 1 cup of dark chocolate chocolate chips spread around pretty good. Then add the remaining creamcheese over the chips.&lt;br /&gt;&lt;br /&gt;Pour some of the raspberry topping on top of the cheesecake. Not too much, perhaps 1/4 cup,  dripping around the top of the cheesecake and use a knife or something to swirl it into the top of the cheesecake (a chopstick or skewer works well too).&lt;br /&gt;&lt;br /&gt;Put the rest of the raspberry puree sauce into a bowl or plastic container and throw it in the fridge to chill.&lt;br /&gt;&lt;br /&gt;Pop the cheesecake in the oven at 350 for 60 minutes. After you take it out run a knife around the edges and then let it cool for at least an hour. Place the cheesecake in the fridge and let it cool for at least 4 hours.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Serving&lt;/span&gt;&lt;br /&gt;To serve the cheesecake take it out of the springform pan and remove it from bottom plate using a plastic spatula (so as not to damage the pan) it should pop right off but be careful and work around the edges. Put the cheesecake on a serving dish and ring the remaning packet of raspberries around the cheesecake.&lt;br /&gt;&lt;br /&gt;Take out the remaining raspberry puree sauce and when you plate a slice of cheesecake put 1-2 spoonfools of puree on top and 1-2 more around the cheesecake.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusions&lt;/span&gt;&lt;br /&gt;Deliciousness...fattening too, but totally worth it :) the special thing is the cookie dough crust which really makes it one of the best deserts ever.&lt;br /&gt;&lt;br /&gt;Sorry no pictures, the cheesecake was eaten before I thought to blog about it. But it would look something like &lt;a href="http://allrecipes.com/Recipe/Orange-Chocolate-Swirl-Cheesecake/Detail.aspx"&gt;this &lt;/a&gt;except with raspberries.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27232680-4836302253908875925?l=codicesoftware.blogspot.com'/&gt;&lt;/div&gt;</description>
      <link>http://codicesoftware.blogspot.com/2009/06/its-not-all-technical-million-dollar.html</link>
      <author>Codice_x0020_Software@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-27232680.post-4836302253908875925</guid>
      <pubDate>Tue, 23 Jun 2009 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Vladimir Vukicevic: To Sprite Or Not To Sprite</title>
      <description>CSS Sprites have been around for a while, and keep coming up as a way to get blazing fast speed to your site.  Steve Souders just showed off SpriteMe! at Velocity '09 (speaking of ? why use the CSS Sprite Generator or other server-based tools when you can use &amp;#60;canvas&amp;#62; and toDataURL and generate sprites [...]</description>
      <link>http://blog.vlad1.com/2009/06/22/to-sprite-or-not-to-sprite/</link>
      <category>Mozilla</category>
      <category>browsers</category>
      <category>css</category>
      <category>firefox</category>
      <category>performance</category>
      <category>sprites</category>
      <author>Vladimir_x0020_Vukicevic@monologue.go-mono.com</author>
      <comments>http://blog.vlad1.com/2009/06/22/to-sprite-or-not-to-sprite/#comments</comments>
      <guid isPermaLink="false">http://blog.vlad1.com/2009/06/22/to-sprite-or-not-to-sprite/</guid>
      <pubDate>Mon, 22 Jun 2009 20:14:46 GMT</pubDate>
    </item>
    <item>
      <title>Christian Hergert: Catalina</title>
      <description>&lt;p&gt;I've written another library, &lt;a href="http://git.dronelabs.com/catalina/about"&gt;Catalina&lt;/a&gt;.  It started as an example for using the threading library &lt;a href="http://git.dronelabs.com/iris/about"&gt;Iris&lt;/a&gt; and turned into what I think is a useful library.  Catalina is an object data-store for glib and gobject.  It provides access through a natural key/value pair interface.&lt;/p&gt;
&lt;p&gt;Transparent serialization is supported to and from storage for types that can be stored in GValue's.  A tight binary format is provided with the library.  It supports basic types such as integers, doubles, floats and strings as well as GObjects in an endian-safe manner.  However someone should go double check to call my bluff (and verify its correctness).  A JSON serializer would be a quick hack if someone was interested.&lt;/p&gt;
&lt;p&gt;In addition to serialization, Catalina supports buffer transformations to and from storage.  Included is &lt;a href="http://git.dronelabs.com/catalina/tree/catalina/catalina-zlib-transform.c"&gt;CatalinaZlibTransform&lt;/a&gt; which can apply compression using zlib.  It will avoid compression on buffers smaller than the watermark property.  This will help on data-sets that are occasionally small and compression would in fact enlarge them.&lt;/p&gt;
&lt;p&gt;Catalina is an asynchronous data-store by design.  The optimal way of accessing it is the same.&lt;/p&gt;
&lt;p&gt;Everything is built upon &lt;a href="http://sourceforge.net/projects/tdb/"&gt;Trivial DB&lt;/a&gt; (TDB) from the samba project.  It was chosen over Berkeley DB because of its license.  Like Catalina, it is LGPL and does not impose extra restrictions on linking applications such as BDB.&lt;/p&gt;
&lt;p&gt;However, the one downside to using TDB is its lack of concurrent transactions.  This means that if you have multiple threads doing work and updating storage the transactions would interleave.  Since we are using &lt;a href="http://git.dronelabs.com/iris/about"&gt;iris&lt;/a&gt;, we can use message passing as a way to manage concurrent transactions.  (This is done by queuing messages until the commit phase.)&lt;/p&gt;
&lt;p&gt;Here is a &lt;a href="http://git.dronelabs.com/catalina/tree/examples/beatdown/beatdown.vala"&gt;short example&lt;/a&gt; using Vala to asynchronously open, serialize and store a bunch of "Person" GObjects.  All the while compressing each buffer with zlib.  Don't be scared by the mutex/cond, it's there to negate the need of a main loop.&lt;/p&gt;
&lt;p&gt;I intend to add indexes soon, however that is going to take a bit of planning.&lt;/p&gt;
&lt;p&gt;So there you have it, my newest hack.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;git clone git://git.dronelabs.com/catalina&lt;/p&gt;&lt;/blockquote&gt;
</description>
      <link>http://audidude.com/blog/?p=250</link>
      <category>C</category>
      <category>Database</category>
      <category>Gnome</category>
      <category>catalina gobject glib C vala</category>
      <author>Christian_x0020_Hergert@monologue.go-mono.com</author>
      <comments>http://audidude.com/blog/?p=250#comments</comments>
      <guid isPermaLink="false">http://audidude.com/blog/?p=250</guid>
      <pubDate>Sun, 21 Jun 2009 22:05:33 GMT</pubDate>
    </item>
    <item>
      <title>Christian Hergert: Learning from others mistakes and successes</title>
      <description>&lt;p&gt;I seriously hate writing overly long blog posts, but this turned into one.  You are forewarned.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;What can Linux and the Free Desktop learn from recent marketing campaigns by Apple and Microsoft?  Let's quickly take a look at a few of the campaigns over recent years from Apple.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;"There's an app for that"&lt;/li&gt;
&lt;li&gt;Seamless hardware support with built in drivers&lt;/li&gt;
&lt;li&gt;Built in applications for digital media (iLife)&lt;/li&gt;
&lt;li&gt;Does not crash (quite debatable it seems)&lt;/li&gt;
&lt;li&gt;No malware or viruses&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I was surprised how well they were able to comfort users about switching to OS X.  The same qualms exist for Linux and in very similar ways.&lt;/p&gt;
&lt;p&gt;Rather than worry about migrating existing applications to OS X, (iPhone really, but it still applies,) Apple comforted the user in knowing that anything they want to do can be achieved.  With Debian, for example, there are tens of thousands of applications.  Do we have an app for that? Probably.&lt;/p&gt;
&lt;p&gt;The first commercials that came out for OS X talked about how hardware just worked when you plugged it in.  No extra installation of drivers or finding installation cd-roms was needed.  Of course, now that more hardware vendors are supporting the platform, it is no longer the case.  Linux has an advantage here due to frequent release cycles.  The consistent releasing of new software and drivers gives a leg up for supporting current hardware sooner.  Granted, someone still needs to be writing those new drivers.  But if GkH is right, then Linux also has more drivers than any operating system ever written.&lt;/p&gt;
&lt;p&gt;Apple talks about their iLife applications a lot.  They are good and all but we have acceptable alternatives for them.  Providing a full Office compatible product is quite important and you don't see either bringing that up.  Granted, I would love to see an application as sleek as Apple's Keynote or Pages.&lt;/p&gt;
&lt;p&gt;They also made hardware that developers wanted to play with such as the airtunes device.  Has anyone made an airtunes-like device (airport express) with just F/OSS software.  I'd think that pulseaudio could do most of what is needed.&lt;/p&gt;
&lt;p&gt;Each of the framework libraries perform a single task well.  Yet, they all still integrate together.  For example, an application can control external windowing animations.  Say that I'm writing a book reader and when the user turns the page I want the page to actually tear off the application window and fly across the screen.  This is just not possible in a practical way today.  Now that X has compositor support, shouldn't it be available to the application to provide custom control?  I would love to make Marina have a native newspaper interface and do exactly that.  This is just an example, many facets of the system layer need fresh innovation.&lt;/p&gt;
&lt;p&gt;There are tools to write to make our daily lives easier.  Streamlining development will only make our time-to-market sooner.&lt;/p&gt;
&lt;p&gt;How is Microsoft reacting to the marketing campaigns from Apple?  They have a few failed attempts at using celebrities such as Seinfeld.  But more recently, are the "Laptop Hunters" ads.  These are quite funny as you will notice they get laptops that don't match what they claimed to have wanted at all.  Most importantly, though, they are attacking Apple on price and trendiness.  I guess they tout gaming on PC's too.  Gaming, however, is a strange problem since the total market share of PC gamers relative to PC users is quite small.  It's also shrinking as the Xbox, Wii, and PS3 continue to expand their coverage.  Regardless, they are both beat on price.&lt;/p&gt;
&lt;p&gt;Additionally, I thought the slogan "Life without walls" was funny since without walls you can't have windows.&lt;/p&gt;
&lt;p&gt;Many pundits, myself included, have talked about how netbooks can totally change the game.  The iPhone was similar in the phone market.  Do you think it would have been as successful without the developer platform and thousands of applications?&lt;/p&gt;
&lt;p&gt;So finally, how can we replicate the positive results Apple had?  What is missing from our platform today (can linuxhator kick our asses into shape)?  What are our weaknesses (and how can we fix them to become strengths).  What story do we have to tell developers?  What do we really enjoy about our platform?&lt;/p&gt;
</description>
      <link>http://audidude.com/blog/?p=244</link>
      <category>Uncategorized</category>
      <category>gnome linux apple microsoft</category>
      <author>Christian_x0020_Hergert@monologue.go-mono.com</author>
      <comments>http://audidude.com/blog/?p=244#comments</comments>
      <guid isPermaLink="false">http://audidude.com/blog/?p=244</guid>
      <pubDate>Sun, 21 Jun 2009 12:41:44 GMT</pubDate>
    </item>
    <item>
      <title>Stephane Delcroix: Announcing Gio# and Gtk#Beans</title>
      <description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rihgl8Kfuew/SiJ4RvICNMI/AAAAAAAADHs/Dp8ER0ioCz4/s1600-h/dsc_3047+%28Modified%29.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 320px;" src="http://1.bp.blogspot.com/_rihgl8Kfuew/SiJ4RvICNMI/AAAAAAAADHs/Dp8ER0ioCz4/s320/dsc_3047+%28Modified%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5341964354118104258" border="0" /&gt;&lt;/a&gt;For a handful of good reasons (see Mike's mail), gtk-sharp, the gtk bindings for Mono and .NET, lately chose not to follow the hectic 6 months release plan of both gtk and glib teams but leverage on the almost perfect 2.12.x releases we have now (binding gtk 2.12 and glib 2.16) for a few extra months.&lt;br /&gt;&lt;br /&gt;F-Spot, that small photo app everyone like, was, in its SVN/git latests versions, using a lot of the new API additions of gtk-sharp. You probably figured that already if you're following its developments.&lt;br /&gt;&lt;br /&gt;So I branched out some of the code I needed from Gtk# svn to 2 new standalone projects, Gtk#Beans and Gio#. Both projects aims to fill the gap between the API mapped by Gtk#2.12 and the capabilities provided by gtk 2.14/glib 2.16.&lt;br /&gt;&lt;br /&gt;The code is maintained on gitorious &lt;a href="http://gitorious.org/gtk-sharp-beans"&gt;http://gitorious.org/gtk-sharp-beans&lt;/a&gt;, &lt;a href="http://gitorious.org/gio-sharp"&gt;http://gitorious.org/gio-sharp&lt;/a&gt; and is already usable (and used in f-spot). Feel safe to use them as the API introduced over there will be merged with the fewest possible changes to the next Gtk# release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1907372157232963850-6551903667104587932?l=blog.reblochon.org'/&gt;&lt;/div&gt;</description>
      <link>http://blog.reblochon.org/2009/05/announcing-gio-and-gtkbeans.html</link>
      <category domain="http://www.blogger.com/atom/ns#">gio#</category>
      <category domain="http://www.blogger.com/atom/ns#">gtk</category>
      <category domain="http://www.blogger.com/atom/ns#">gtk#</category>
      <author>Stephane_x0020_Delcroix@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-1907372157232963850.post-6551903667104587932</guid>
      <pubDate>Sat, 20 Jun 2009 16:32:00 GMT</pubDate>
    </item>
    <item>
      <title>Patrick van Staveren: How to recover an ext3 volume with an unreadable journal</title>
      <description>Last Wednesday I came to work to find my workstation had died overnight &amp;#8212; and upon reboot, it failed to mount or fsck the root partition.  Unfortunately it seems my disk has seen enough service and was having failed reads:
Jun 19 08:51:39 atlas kernel: [ 1324.948428] sd 3:0:1:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
Jun 19 08:51:39 atlas [...]</description>
      <link>http://trick.vanstaveren.us/wp/2009/06/19/how-to-recover-an-ext3-volume-with-an-unreadable-journal/</link>
      <category>GNU/Linux</category>
      <category>Uncategorized</category>
      <author>Patrick_x0020_van_x0020_Staveren@monologue.go-mono.com</author>
      <comments>http://trick.vanstaveren.us/wp/2009/06/19/how-to-recover-an-ext3-volume-with-an-unreadable-journal/#comments</comments>
      <guid isPermaLink="false">http://trick.vanstaveren.us/wp/2009/06/19/how-to-recover-an-ext3-volume-with-an-unreadable-journal/</guid>
      <pubDate>Fri, 19 Jun 2009 16:19:47 GMT</pubDate>
    </item>
    <item>
      <title>Lluis Sanchez : New MonoDevelop installer for Windows</title>
      <description>A new MonoDevelop installer for Windows is available. This release has many fixes and improvements:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Performance of the text editor greatly improved, thanks to a new text rendering logic cooked by Mike Krüeger.&lt;/li&gt;&lt;li&gt;The debugger is now more reliable, it properly handles enum values, and it now has an 'immediate' console.&lt;/li&gt;&lt;li&gt;The NUnit add-in now works.&lt;/li&gt;&lt;li&gt;Version Control now has a new Create Patch command, thanks to Levi Bard.&lt;/li&gt;&lt;li&gt;A new C# formatter, with support for per-project/solution formatting options.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;MD now logs debug and error output to a file located in your AppData/MonoDevelop/log.txt, so if you get a crash or something you may find some info there.&lt;/li&gt;&lt;li&gt;Many other bug fixes.&lt;/li&gt;&lt;/ul&gt;The new installer is available &lt;a href="http://monodevelop.com/Download/Windows_Preview"&gt;here&lt;/a&gt;. Worth trying!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6440604575561980711-7809869723157862507?l=foodformonkeys.blogspot.com'/&gt;&lt;/div&gt;</description>
      <link>http://foodformonkeys.blogspot.com/2009/06/new-monodevelop-installer-for-windows.html</link>
      <author>Lluis_x0020_Sanchez_x0020_@monologue.go-mono.com</author>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-6440604575561980711.post-7809869723157862507</guid>
      <pubDate>Fri, 19 Jun 2009 10:07:00 GMT</pubDate>
    </item>
  </channel>
</rss>