<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Ed Ropple's Homepage</title>
	<atom:link href="http://edropple.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://edropple.com</link>
	<description>Code. Baseball. Whatever.</description>
	<pubDate>Wed, 29 Oct 2008 21:08:41 +0000</pubDate>
	
	<language>en</language>
			<item>
		<title>If Miguel de Icaza Did Not Exist, We Would Have To Invent Him</title>
		<link>http://edropple.com/2008/09/10/if-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him/</link>
		<comments>http://edropple.com/2008/09/10/if-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 03:56:37 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Mono Project]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[csharp evaluator]]></category>

		<category><![CDATA[mono]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=93</guid>
		<description><![CDATA[I said so to Miguel tonight, and I&#8217;ll say so to you, too. The man never ceases to amaze me.
A couple days ago, Miguel blogged about the Interactive C# Shell, a piece of minor awesome&#8211;a read-eval-print shell for C#, using chunks of Mono&#8217;s gmcs compiler. Not a lot of use to me, but very cool [...]]]></description>
			<content:encoded><![CDATA[<p>I said so to Miguel tonight, and I&#8217;ll say so to you, too. The man never ceases to amaze me.</p>
<p>A couple days ago, Miguel blogged about the <a href="http://tirania.org/blog/archive/2008/Sep-08.html">Interactive C# Shell</a>, a piece of minor awesome&#8211;a read-eval-print shell for C#, using chunks of Mono&#8217;s gmcs compiler. Not a lot of use to me, but very cool nevertheless. Tonight, though, we get the woah-cool part (which follows quite logically from the interactive C# shell): <a href="http://tirania.org/blog/archive/2008/Sep-10.html">C# Eval: An Embeddable Compiler</a>. This is way cool, and for me it replaces what I&#8217;ve been stuck using IronPython for. And since it&#8217;s licensed under the X11 license, all those cheap-and/or-poor people like me can use it for our dastardly deeds.</p>
<p>I ask&#8211;nay, demand&#8211;that you all tell Miguel that it needs to be named Miguel&#8217;s CSharp Evaluator. The reason is, of course, obvious and painfully punful.</p>
<p>Tonight after I get home from work, I&#8217;m going to see if I can get gmcs to compile from SVN (it&#8217;s happily downloading away on my home server) and I&#8217;m going to see about adding to it a feature that is of serious use to me, and probably others. When you use IronPython, you can tell the PythonEngine to compile a string or code file into an object, rather than immediate execution. I plan to attempt to bring this CompiledCode functionality to the C# tool Miguel put together here.</p>
<p>Many thanks, Miguel!</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F&amp;title=If+Miguel+de+Icaza+Did+Not+Exist%2C+We+Would+Have+To+Invent+Him" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F&amp;title=If+Miguel+de+Icaza+Did+Not+Exist%2C+We+Would+Have+To+Invent+Him" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F&amp;title=If+Miguel+de+Icaza+Did+Not+Exist%2C+We+Would+Have+To+Invent+Him" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F&amp;title=If+Miguel+de+Icaza+Did+Not+Exist%2C+We+Would+Have+To+Invent+Him" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F&amp;title=If+Miguel+de+Icaza+Did+Not+Exist%2C+We+Would+Have+To+Invent+Him', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F&amp;title=If+Miguel+de+Icaza+Did+Not+Exist%2C+We+Would+Have+To+Invent+Him" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F10%2Fif-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him%2F&amp;title=If+Miguel+de+Icaza+Did+Not+Exist%2C+We+Would+Have+To+Invent+Him" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/09/10/if-miguel-de-icaza-did-not-exist-we-would-have-to-invent-him/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cloverleaf GSoC 2008 Final Report</title>
		<link>http://edropple.com/2008/09/04/cloverleaf-gsoc-2008-final-report/</link>
		<comments>http://edropple.com/2008/09/04/cloverleaf-gsoc-2008-final-report/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 00:38:22 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Mono Project]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[cloverleaf]]></category>

		<category><![CDATA[google summer of code]]></category>

		<category><![CDATA[mono]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=91</guid>
		<description><![CDATA[Well, this is somewhat (and by &#8220;somewhat&#8221; I mean &#8220;really, really&#8221;) late, but I figured I had to get it out the door, since Miguel has a blog post chatting about it and I want to mooch some hits off him. (Hey, at least I&#8217;m honest.)
As mentioned in my original post on the topic, my [...]]]></description>
			<content:encoded><![CDATA[<p>Well, this is somewhat (and by &#8220;somewhat&#8221; I mean &#8220;really, really&#8221;) late, but I figured I had to get it out the door, since Miguel has a blog post chatting about it and I want to mooch some hits off him. (Hey, at least I&#8217;m honest.)</p>
<p>As mentioned in <a href="http://edropple.com/2008/06/15/so-ive-got-a-summer-project/">my original post on the topic</a>, my Google Summer of Code project was Cloverleaf&#8211;a package of semi-related tools to facilitate developing for Mono while using Visual Studio. The idea was to lower the barriers to targeting Mono. So&#8230;well, I did.</p>
<p>All of the individual functionality mentioned in that post works, for at least nontrivial values of &#8220;works.&#8221; Test In Mono, Test With Gendarme, Test Remotely, all of it&#8217;s working in the &#8220;external tools&#8221; form of the program, able to be used in either VS2008 or VC# Express. Jonathan Pobst has done some work with it as part of Novell&#8217;s Hack Week; you can find some details on what he&#8217;s done with the external tools app <a href="http://jpobst.blogspot.com/2008/09/hack-week-3.html">at his blog</a>.</p>
<p>What did <em>not</em> get done was the add-in that bolts into Visual Studio directly, as opposed to the external tools. However, it&#8217;s not like I&#8217;m done with the project&#8211;those are still on my agenda to get done and release. It&#8217;s still my project, so to speak, though I&#8217;m flattered that Jonathan saw fit to do some work on it.</p>
<p>If you&#8217;d like to download it from Subversion, you can get it at <a href="http://code.google.com/p/mono-soc-2008/source/browse">the GSoC repository</a>. Instructions to make it work can be found <a href="http://groups.google.com/group/mono-soc-2008/web/installing-cloverleaf?hl=en">here</a>, though I recommend using jpobst&#8217;s stuff.</p>
<p>Many thanks to <a href="http://tirania.org/blog/">Miguel de Icaza</a>, <a href="http://mjhutchinson.com/">Michael Hutchinson</a>, <a href="http://jpobst.blogspot.com/">Jonathan Pobst</a>, and <a href="http://worldofcoding.blogspot.com/">Andreia Gaita</a> for all their help!</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F&amp;title=Cloverleaf+GSoC+2008+Final+Report" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F&amp;title=Cloverleaf+GSoC+2008+Final+Report" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F&amp;title=Cloverleaf+GSoC+2008+Final+Report" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F&amp;title=Cloverleaf+GSoC+2008+Final+Report" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F&amp;title=Cloverleaf+GSoC+2008+Final+Report', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F&amp;title=Cloverleaf+GSoC+2008+Final+Report" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fcloverleaf-gsoc-2008-final-report%2F&amp;title=Cloverleaf+GSoC+2008+Final+Report" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/09/04/cloverleaf-gsoc-2008-final-report/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Boycott Novell - A Bunch of Loons&#8230;</title>
		<link>http://edropple.com/2008/09/04/boycott-novell-a-bunch-of-loons/</link>
		<comments>http://edropple.com/2008/09/04/boycott-novell-a-bunch-of-loons/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 06:38:17 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[boycottnovell]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[stupidity]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=89</guid>
		<description><![CDATA[&#8230;but we knew that anyway.
Not a lot to say here, aside from offering a link to C.J. Adams-Collier&#8217;s blog. These guys, they are nuts.
I don&#8217;t much like Linux Hater&#8217;s term &#8220;freetard,&#8221; but boy, is it a tempting one&#8230;










]]></description>
			<content:encoded><![CDATA[<p>&#8230;but we knew that anyway.</p>
<p>Not a lot to say here, aside from offering a link to <a href="http://wp.colliertech.org/cj/?p=237">C.J. Adams-Collier&#8217;s blog</a>. These guys, they are nuts.</p>
<p>I don&#8217;t much like Linux Hater&#8217;s term &#8220;freetard,&#8221; but boy, is it a tempting one&#8230;</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F&amp;title=Boycott+Novell+-+A+Bunch+of+Loons%26%238230%3B" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F&amp;title=Boycott+Novell+-+A+Bunch+of+Loons%26%238230%3B" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F&amp;title=Boycott+Novell+-+A+Bunch+of+Loons%26%238230%3B" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F&amp;title=Boycott+Novell+-+A+Bunch+of+Loons%26%238230%3B" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F&amp;title=Boycott+Novell+-+A+Bunch+of+Loons%26%238230%3B', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F&amp;title=Boycott+Novell+-+A+Bunch+of+Loons%26%238230%3B" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F09%2F04%2Fboycott-novell-a-bunch-of-loons%2F&amp;title=Boycott+Novell+-+A+Bunch+of+Loons%26%238230%3B" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/09/04/boycott-novell-a-bunch-of-loons/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cooperstown</title>
		<link>http://edropple.com/2008/08/19/cooperstown/</link>
		<comments>http://edropple.com/2008/08/19/cooperstown/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 13:30:16 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=87</guid>
		<description><![CDATA[I&#8217;m on vacation with my parents and little brother this week. got into Cooperstown, N.Y. yesterday afternoon, having left home around 9AM. Long drive&#8211;glad my dad was the one doing the driving. (Why wasn&#8217;t I? Because I am a horrible driver; I&#8217;ve got the metal rod in my leg to prove it.) Last night we [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on vacation with my parents and little brother this week. got into Cooperstown, N.Y. yesterday afternoon, having left home around 9AM. Long drive&#8211;glad my dad was the one doing the driving. (Why wasn&#8217;t I? Because I am a horrible driver; I&#8217;ve got the metal rod in my leg to prove it.) Last night we went to a little hole-in-the-wall pizzeria, and it was surprisingly good&#8211;if you ever go to Cooperstown, hit up Sal&#8217;s Pizzeria on the main drag and get a slice of stuffed veg. Best pizza I&#8217;ve ever eaten. Wings weren&#8217;t bad, either.</p>
<p>We got up at the unconscionably early hour of 8AM or so and went to breakfast, then headed to the Baseball Hall of Fame and Museum (possibly the only reason ever to go to Cooperstown, I think). I went with my dad when I was younger, in 1998 or 1999, and boy, has it changed. It used to be bright and wide-open, but now it&#8217;s become a lot more like most of the other &#8220;new&#8221; museums I&#8217;ve seen. Much darker, more of the bad-countertop-plastic walls all over the place, lots of short-attention-span blurbs of text all over the place and entirely too many video screens. I was disappointed: my brother would rather <em>rush</em> over to a video screen than actually read the text and understand a little more about the game. I guess I was probably that way at his age, too, but it&#8217;s just disheartening to see. My dad thinks that my little brother&#8217;s all into baseball, but I&#8217;m not seeing it&#8211;seems he&#8217;d rather play video games.</p>
<p>Another thing that bugged me is the prominence of relatively basic information throughout the hall. I understand that part of the Hall of Fame and Museum is to educate people in the game. At the same time, though, it&#8217;s wasting a lot of space and a lot of potential value for the people who already <em>get</em> the game. Seeing a life-size picture of Jason Varitek (he of the Incredible Noodle Bat) doesn&#8217;t do much for me. I already know more about Varitek than most of the people walking through there and, more importantly, I&#8217;m well-versed in the game to the point where I could find out anything I wanted to know, be it hitting up somebody from Sons of Sam Horn or just some judicious Googling. The Red Sox/Yankees swag and photos seemed pretty disproportionate, too (and that&#8217;s coming from a diehard Sox fan). There&#8217;re other teams out there, fellas.</p>
<p>What I&#8217;d love to see is a sample of the archives. Have a floor&#8211;even the basement, if you&#8217;ve got to&#8211;for <em>fans</em>, as opposed to consumers. Excise the bullshit. You don&#8217;t need to tell us that the Red Sox went eighty-six years without a World Series title. We already know that. You don&#8217;t need to tell us what a brilliant player Josh Gibson was in the Negro Leagues. We already know that. And you don&#8217;t need to remind us that Bob Gibson and his ridiculous ERA were in part the result of a higher mound. Why? <em>Because we already know this stuff.</em> Just give us stuff to look at; I for one would prefer to look at it without the tour-guide-on-a-wall crap. Have sections for major league teams, for the Negro Leagues, for great players in particular (maybe pick a decade of Hall of Famers?), and just put stuff out to see. And you don&#8217;t need to spoon-feed to us all the information. Fans don&#8217;t need to see &#8220;This is the cap Clay Buchholz wore on Insert Date Here, when he pitched a no-hitter against the Baltimore Orioles, retiring twenty-seven batters without allowing a hit during his rookie season.&#8221; If you don&#8217;t know what a no-hitter is, you don&#8217;t belong on this floor. Just give us a little card with the name, the date, and the event, and let us drink in the history.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F&amp;title=Cooperstown" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F&amp;title=Cooperstown" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F&amp;title=Cooperstown" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F&amp;title=Cooperstown" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F&amp;title=Cooperstown', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F&amp;title=Cooperstown" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F19%2Fcooperstown%2F&amp;title=Cooperstown" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/08/19/cooperstown/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Setting Up A Sample Project With libtcod-net From SVN</title>
		<link>http://edropple.com/2008/08/14/setting-up-a-sample-project-with-libtcod-net-from-svn/</link>
		<comments>http://edropple.com/2008/08/14/setting-up-a-sample-project-with-libtcod-net-from-svn/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 00:14:12 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[libtcod-net]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[libtcod]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=73</guid>
		<description><![CDATA[After posting my little drooling plug for libtcod-net, the maintainer, Chris, welcomed me to contribute some code. So I did, dumping a 182KB patch in his lap the next day to start refactoring stuff and streamlining the API. So now I guess I should recommend it even more strongly, eh?
Smok on the libtcod-net forum asked [...]]]></description>
			<content:encoded><![CDATA[<p>After posting my little drooling plug for libtcod-net, the maintainer, Chris, welcomed me to contribute some code. So I did, dumping a 182KB patch in his lap the next day to start refactoring stuff and streamlining the API. So now I guess I should recommend it even more strongly, eh?</p>
<p>Smok on the <a href="http://roguecentral.free.fr/smf/index.php?board=18.0">libtcod-net forum</a> asked for a step-by-step on how to set up the library for use in a C# project. Since I&#8217;m expecting there to be more breaking API changes in the future, I&#8217;m going to describe the process using the <a href="http://code.google.com/p/libtcod-net/source/browse/">libtcod-net Subversion repository on Google Code</a> in order to stay up to date with any changes. (This does mean that your code will occasionally break in new and exciting ways until the API stabilizes. If that&#8217;s not your bag, go <a href="http://code.google.com/p/libtcod-net/downloads/list">download the source packages available here</a> and start following these instructions at step 6.) I&#8217;ll be assuming that you&#8217;re using Windows and Visual Studio as well, mostly because I figure that if you&#8217;re using Linux you probably already know how to deal with this stuff. The instructions are after the jump.</p>
<p><span id="more-73"></span><strong>Before we begin, you&#8217;re going to need a few tools. </strong>You&#8217;re going to need a C# environment. I recommend Visual Studio; college students can get VS2008 Professional for free via <a href="https://downloads.channel8.msdn.com/">Microsoft&#8217;s Dreamspark program</a> and anybody can get <a href="http://www.microsoft.com/express/vcsharp/">Visual C# Express</a>. You will also need a Subversion client; I recommend <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a> because it&#8217;s a nifty shell extension and remarkably easy to use.</p>
<p>Alright, ready to move on? Rock.</p>
<ul>
<li>Create a directory somewhere, wherever you keep your projects or libraries, and name it <strong>libtcod-net</strong>.</li>
<li>Go into that directory. Then right-click and select <strong>SVN Checkout</strong>.</li>
<li>TortoiseSVN will present you with a dialog box.
<p><div id="attachment_74" class="wp-caption aligncenter" style="width: 310px"><a href="http://edropple.com/wp-content/uploads/2008/08/libtcod-net_svn.png"><img class="size-medium wp-image-74" title="libtcod-net SVN example" src="http://edropple.com/wp-content/uploads/2008/08/libtcod-net_svn-300x230.png" alt="You'll see something more or less like this." width="300" height="230" /></a><p class="wp-caption-text">You&#39;ll see something more or less like this.</p></div></li>
<li>In the dialog box, verify that the checkout directory is the one you&#8217;ve just created and enter <strong>http://libtcod-net.googlecode.com/svn/trunk</strong> as the repository URL. The checkout depth and revision should be already set for you. Click OK.</li>
<li>TortoiseSVN will do its magic for you and download the source for the library for you. This might take a minute or two.</li>
<li>In the root of the libtcod-net directory, you&#8217;ll see a Visual Studio solution file, <strong>libtcodWrapper.sln</strong>. Open it in VS2008/VC# Express.</li>
<li>If you&#8217;re using Visual C# Express, you&#8217;re going to need to enable advanced build configurations. Go to <strong>Tools-&gt;Options</strong>, check <strong>Show All Settings</strong>, and check <strong>Projects-&gt;General-&gt;Show Advanced Build Configurations</strong>.</li>
<li>In the <strong>Solution Explorer</strong>, right-click <strong>TCODTestLib</strong> and click <strong>Unload Project</strong>; you probably don&#8217;t have NUnit installed, so that project will throw approximately eight bajillion errors if you try to build it. (If you want to help develop libtcod-net, I&#8217;ll assume you already know how to deal with NUnit.)</li>
<li>Make sure that <strong>Release</strong> is selected in the <strong>Solution Configurations</strong> dropdown (it may be on <strong>Debug</strong> by default) and then press <strong>F6</strong> (or, via the menu, Build-&gt;Build Solution). VS will build the library and the sample project. If you&#8217;d like, you can dig around the demo project&#8217;s <strong>sample.cs</strong> and see how things work, but we&#8217;ll cover most of that here.</li>
<li>Now, create a new solution in Visual C# Express, of type Empty Project. Make sure that you create a directory for the solution as well.</li>
<li>Copy all the files in <strong>libtcod-net/bin/Release</strong> (there should be three files, an .xml file, a .pdb, and a .dll) to the root directory of your solution. Also copy <strong>Demo\libSDL.so</strong>, <strong>Demo\SDL.dll</strong>, <strong>Demo\libtcod.dll</strong>, <strong>Demo\libtcod.so</strong>, and <strong>Demo\terminal.bmp</strong> to the root directory of your solution. (While you don&#8217;t <em>have</em> to copy the files to your own solution right away, it&#8217;s easier to do so, so you have them all in one place when you need to access them.)</li>
<li>Go back to Visual Studio and your project. Right-click on the &#8220;References&#8221; item in the Solution Explorer, then click <strong>Add Reference</strong>. Select &#8220;System&#8221; and &#8220;System.Drawing&#8221; from the NET tab and click OK. Go to <strong>Add Reference</strong> again, click &#8220;Browse&#8221;, and navigate to the root of your solution, then select <strong>libtcodWrapper.dll</strong>.</li>
<li>You&#8217;re ready to write some code. Create a new code file, <strong>Program.cs</strong>, and input the following (my indentations have been mashed by WordPress, but Visual Studio will correctly handle them):<br />
<blockquote><p><code>using System;<br />
using libtcodWrapper;<br />
using Console = libtcodWrapper.Console;</code></p>
<p><code>public class Program<br />
{<br />
public static void Main(String[] args)<br />
{<br />
CustomFontRequest fontReq = new<br />
CustomFontRequest(&#8221;terminal.bmp&#8221;,<br />
8, 8, 16, 16, false, ColorPresets.Black);</code></p>
<p><code>RootConsole.Width = 80;<br />
RootConsole.Height = 50;<br />
RootConsole.WindowTitle = "Hello World!";<br />
RootConsole.Fullscreen = false;<br />
RootConsole.Font = fontReq;</code></p>
<p><code>RootConsole rootConsole = RootConsole.GetInstance();</code></p>
<p><code>rootConsole.PrintLine("Hello world!", 30, 30,<br />
LineAlignment.Left);<br />
rootConsole.Flush();</code></p>
<p><code>Keyboard.WaitForKeyPress(true);<br />
}<br />
}</code></p></blockquote>
</li>
<li>Select <strong>Debug</strong> in the Solution Configurations dropdown, if it&#8217;s not already selected, and press <strong>F6</strong> to build it. It should build correctly without error.</li>
<li>Remember those files I had you copy into the root of your solution? Copy <strong>libSDL.so</strong>, <strong>libtcod.so</strong>, <strong>SDL.dll</strong>, <strong>libtcod.dll</strong>, and <strong>terminal.bmp</strong> into <strong>$PROJECT\bin\Debug</strong> (substituting your project&#8217;s directory for <strong>$PROJECT</strong>).</li>
<li>Go back into Visual Studio and run your program with <strong>F5</strong>.</li>
<li>Now get hacking! If you have any issues, feel free to post in the <a href="http://roguecentral.free.fr/smf/index.php?board=18.0">libtcod-net forum</a> and people will try to help.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/08/14/setting-up-a-sample-project-with-libtcod-net-from-svn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Bit of Buried Treasure: libtcod-net</title>
		<link>http://edropple.com/2008/08/12/a-bit-of-buried-treasure-libtcod-net/</link>
		<comments>http://edropple.com/2008/08/12/a-bit-of-buried-treasure-libtcod-net/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 05:04:37 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[libtcod-net]]></category>

		<category><![CDATA[buried treasure]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[roguelike]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=58</guid>
		<description><![CDATA[So I was wandering around the Intertubes, having a hankering to play around with writing a Roguelike. (Why? Because I can.) Since I&#8217;m officially a C# snob, I needed a curses library (because my own old fake-SDL-console project, RogueSDL, quite frankly sucked&#8211;someday I&#8217;ll put it up on this site for everyone to laugh at). MonoCurses [...]]]></description>
			<content:encoded><![CDATA[<p>So I was wandering around the Intertubes, having a hankering to play around with writing a Roguelike. (Why? <em>Because I can.</em>) Since I&#8217;m officially a C# snob, I needed a curses library (because my own old fake-SDL-console project, RogueSDL, quite frankly sucked&#8211;someday I&#8217;ll put it up on this site for everyone to laugh at). MonoCurses looks pretty nice, but it binds to ncurses; I couldn&#8217;t find ncurses for Win32 and while I could probably compile it via Cygwin, that would involve installing Cygwin and that&#8217;s just not fun for anyone involved. Curses# looks to be dead, as well as being a very thin wrapper over pdcurses and ncurses.</p>
<p>After a few magic words to <a href="http://alltooflat.com/geeky/elgoog/">Elgoog</a>, this popped up in my search results: <a href="http://code.google.com/p/libtcod-net/">libtcod-net</a>. I went &#8220;ooh!&#8221; and started poking around, and yea, verily, it is awesome sauce. It&#8217;s a wrapper around the BSD licensed <a href="http://jice.nospam.googlepages.com/thedoryenlibrary">libtcod</a>, and to rip off a McDonalds&#8217; trademark, I&#8217;m lovin&#8217; it. My only issue is that it doesn&#8217;t feel very C#-ish: while the functionality is great (check out the sample demos to see what kinds of stuff this library can handle, it&#8217;s like the emacs of Roguelikes), it seems to have inherited some C-isms. Makes sense, though, as it seems to be a project mostly for his own use in his own Roguelike, <a href="http://iferrorthrownewbrick.blogspot.com/">Magecrawl</a>. I shot him an email asking if he&#8217;d be interested in collaborating, because if I end up using libtcod-net for anything I&#8217;m going to <em>have</em> to make changes to make the bits and pieces more C#-ish. (I&#8217;m nitpicky enough to find something like &#8220;TCOD_key&#8221; as a class name absolutely painful. Yes, it&#8217;s a horrible habit. No, I can&#8217;t suppress it.) What&#8217;s especially cool is that he&#8217;s been filing bugs against Mono as he goes along. Anything to help Mono&#8217;s gravy by me.</p>
<p>Anyway, many kudos to Chris Hamons, the dev, and I encourage everyone to take a look at this library. It&#8217;s good stuff.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F&amp;title=A+Bit+of+Buried+Treasure%3A+libtcod-net" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F&amp;title=A+Bit+of+Buried+Treasure%3A+libtcod-net" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F&amp;title=A+Bit+of+Buried+Treasure%3A+libtcod-net" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F&amp;title=A+Bit+of+Buried+Treasure%3A+libtcod-net" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F&amp;title=A+Bit+of+Buried+Treasure%3A+libtcod-net', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F&amp;title=A+Bit+of+Buried+Treasure%3A+libtcod-net" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fedropple.com%2F2008%2F08%2F12%2Fa-bit-of-buried-treasure-libtcod-net%2F&amp;title=A+Bit+of+Buried+Treasure%3A+libtcod-net" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/08/12/a-bit-of-buried-treasure-libtcod-net/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fixing Linux, Part Two: Bridging the Gap</title>
		<link>http://edropple.com/2008/08/05/fixing-linux-part-two-bridging-the-gap/</link>
		<comments>http://edropple.com/2008/08/05/fixing-linux-part-two-bridging-the-gap/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 01:34:05 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Mono Project]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[bsd]]></category>

		<category><![CDATA[cli]]></category>

		<category><![CDATA[crazed ramblings]]></category>

		<category><![CDATA[gui]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[mono]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=47</guid>
		<description><![CDATA[In my last blog post, I discussed a few issues I see with Linux as an operating system (as opposed to the higher-level stuff; eventually I&#8217;ll put a few words into that, but right now I&#8217;m still running with an interesting idea drawn out of a question from a friend of mine: &#8220;how do you [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a title="Fixing Linux, Part One: The Space Between" href="http://edropple.com/2008/08/05/fixing-linux-part-one-the-space-between/" target="_blank">last blog post</a>, I discussed a few issues I see with Linux as an operating system (as opposed to the higher-level stuff; eventually I&#8217;ll put a few words into that, but right now I&#8217;m still running with an interesting idea drawn out of a question from a friend of mine: &#8220;how do you fix Linux?&#8221; In my last post I listed three major &#8220;spaces between&#8221; in Linux software.</p>
<ul>
<li><strong>The space between user paradigms.</strong> There&#8217;s a divide between the developers who use the command line and those who use the GUI, and invariably the users who use the paradigm the developers don&#8217;t favor get the short end of the stick.</li>
<li><strong>The space between languages. </strong>Interoperability with various languages is pretty weak, and it results in a lot of work being lost because of it.</li>
<li><strong>The space between programs.</strong> The tool-and-filter philosophy of the &#8220;Unix way&#8221; is nice for smaller, easily grasped problems (example: <code>grep</code>ping through a file for instances of a phrase, then piping that into <code>tail</code> for the last 20 instances of it). It rapidly grows hairy and ugly when you start getting into more complex problems.</li>
</ul>
<p>In this post, I&#8217;d like to put forth an idea that, while a fairly huge prospect, I think would be a great leap forward for Linux.</p>
<p><span id="more-47"></span>As a couple of commenters mentioned in the previous post, it sounds like what I&#8217;m describing is a managed code solution. It will then surprise absolutely no one that that is in fact what I&#8217;m talking about.</p>
<p>I&#8217;m not talking about something absolutely foolish, like a managed code kernel or something equally cretinous. Nor am I talking about piling up C coders like cordwood and setting them alight (I mean, come on&#8230;all that burning hair? Enough to make you start retching&#8230;). What I&#8217;m talking about is an expansion of the capabilities of the standard Unix programs (and other Linux-specific ones) to support newer methods of interaction with the standard Unix tools, methods that empower users and developers alike. I&#8217;m talking about replacing the current Unix tools packaged with most (all?) Linux distributions with managed code* equivalents.</p>
<p><span style="color: #ffffff;">.</span></p>
<p>Let&#8217;s start, first, with the three points I made above, and discuss how a managed code framework would benefit developers and end users in all of those areas.</p>
<ul>
<li><strong>The space between user paradigms.</strong> When using Mono, at least, there&#8217;s a bit of a push toward writing more modular applications; it &#8220;falls out&#8221; of the framework and quickly starts to feel natural. Somebody writing a tool in Mono isn&#8217;t (usually, hopefully) going to just parse the command arguments and work their magic in Main(). Instead, they&#8217;ll break the functionality out into an object (or a bunch of them). The natural mapping that comes to mind is that of the command line options to properties on their &#8220;control&#8221; object, and it becomes a lot easier for a developer&#8211;whether it&#8217;s the same person who made the CLI application and library or not&#8211;to put together a GUI application to provide the same functionality.</li>
<li><strong>The space between programs.</strong> (Yeah, I swapped up this one and the languages issue, because in this case user paradigms and programs are pretty close.) Like I said before, pipes are a great method for people who want to use them&#8211;more power to you if that&#8217;s your thing. It&#8217;s not mine and it&#8217;s not a lot of other people&#8217;s. And with managed tools, we <em>both</em> win. You still get your command line applications. You can <code>cat</code> and <code>tee</code> to your heart&#8217;s content. Meanwhile, I get the code objects that you on the command line are using wrapped with a command line interface and I can deal with them directly, as I prefer to do. Everybody wins.And I realize that this sounds a little pathetic at first blush, but when you aren&#8217;t stuck piping text around and can work with actual objects, debugging becomes easier. You don&#8217;t have to wonder why your output file is blank just because you didn&#8217;t order the command line arguments correctly or the tool didn&#8217;t like the way you phrased one of the settings&#8211;instead an exception can be raised with actual valuable <em>information</em> that can help you solve the problem. Just try and tell me that doesn&#8217;t sound awesome.</li>
<li><strong>The space between programming languages.</strong> This one&#8217;s a meatball, whether you&#8217;re talking about the Java Virtual Machine (JVM) or the Common Language Runtime (CLR). Offhand, I can&#8217;t think of many even remotely popular languages that <em>don&#8217;t</em> have CLR implementations either in the works or complete. I&#8217;m still convinced that C# is the greatest thing since sliced bread, but just off the top of my head I can think of C++, <a href="http://www.ironpython.com">Python</a>, <a href="http://www.ironruby.net/" target="_blank">Ruby</a>, <a href="http://www.codeplex.com/IronScheme">Scheme</a>, and <a href="http://www.codeplex.com/Phalanger">PHP</a>. Heck, there&#8217;s Prolog, Ada, Delphi, Object Pascal, and  at least two or three COBOL implementations that Wikipedia knows about (in fact, click here for their <a href="http://en.wikipedia.org/wiki/CLI_Languages">list of languages running on the Common Language Infrastructure</a>, though I don&#8217;t know which ones are supported by ). The killer feature is that objects written in any** of those languages can be used in any of the others. If the maintainer of the managed version of <code>ifconfig</code> wants to write it in Python, more power to him! I don&#8217;t have to care what language he&#8217;s using; so long as the objects necessary to manipulate network interfaces are made public, I just have to reference his libraries and I can issue the in-application equivalent of <code>ifconfig eth0 up</code> all day long. Even Java developers can get in on the fun. I don&#8217;t know of a Java-on-Mono compiler (though one may exist that I don&#8217;t know of; it&#8217;s definitely possible, as Microsoft does it with J#), but there&#8217;s <a href="http://www.ikvm.net/">IKVM</a> to run JVM code on Mono. Though I don&#8217;t know whether there&#8217;s bridging to .NET objects; Java&#8217;s not my thing.</li>
</ul>
<p>This shouldn&#8217;t be construed as an attack upon the current stuff that&#8217;s there, because those tools are time-tested and good for what they are. Nor should the people who <em>like</em> the way it currently works be immediately hostile to the idea, because I can&#8217;t think of a reason they&#8217;d see any real difference. There&#8217;s no reason the command line flavor of the tools couldn&#8217;t mimic the GNU tools or the BSD tools or whatever else; people who choose to use them just like they always have*** can do so.</p>
<p>Now, I know that most of the functionality afforded by the various low-level Unix programs is available in Mono itself. That&#8217;s not the point. The applications themselves are important because they encapsulate known, well-used functionality in a package that everybody&#8217;s already familiar with. The ability to get all the data you&#8217;d normally get out of, say, <code>ifconfig</code>, in a format that you can actually work with programmatically without a bunch of ugly hackish text processing, is, to me, a big win.</p>
<p><span style="color: #ffffff;">.</span></p>
<p>Believe me, I recognize the huge amount of work this sort of thing would entail, though I think it&#8217;d be less than I&#8217;m estimating due to having something to look at. It&#8217;s not a glamorous project, either; ripping the plumbing out of a house never is. And it&#8217;s definitely only a start; even if this were accomplished, there&#8217;s a lot more out there. But I think it&#8217;s definitely a project that would benefit Linux as a whole. I don&#8217;t mean to be flip, but managed code is the future wherever performance can be &#8220;good enough&#8221; instead of &#8220;absolutely critical.&#8221; Linux needs to move it along.</p>
<p>I&#8217;m not trying to say I&#8217;m going to <em>start</em> this project. I don&#8217;t know if I have the chops to do it. But if you&#8217;ve got ideas or suggestions on the topic, or might be interested in working on it, drop me a line. At the least, it&#8217;s an interesting discussion topic.</p>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.</span></p>
<p>* - When I say &#8220;managed code,&#8221; you can take that as &#8220;Mono&#8221; if you really want to. Writing these replacement programs in languages targeted to the JVM would be totally doable, and I&#8217;m not knocking the JVM, its developers, or those who use languages on it&#8211;I just can&#8217;t stand Java after using C#. I also develop on Windows, so C# and the CLR are a natural fit for me.</p>
<p>** - There are occasional exceptions where the object model doesn&#8217;t yet translate perfectly between CLR languages, but work&#8217;s regularly underway to round off those sharp corners.</p>
<p>*** - About the only difference might be in startup time. If the libraries need to load, starting up a Mono application can be a bit slower than a native code application. I can think of a number of ways to solve this issue off the top of my head.</p>
]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/08/05/fixing-linux-part-two-bridging-the-gap/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fixing Linux, Part One: &#8220;The Space Between&#8221;</title>
		<link>http://edropple.com/2008/08/05/fixing-linux-part-one-the-space-between/</link>
		<comments>http://edropple.com/2008/08/05/fixing-linux-part-one-the-space-between/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 04:27:45 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[ bsd]]></category>

		<category><![CDATA[ cli]]></category>

		<category><![CDATA[ command line]]></category>

		<category><![CDATA[ fixing linux]]></category>

		<category><![CDATA[ gui]]></category>

		<category><![CDATA[ irrational hatred of sed]]></category>

		<category><![CDATA[ the space between]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=24</guid>
		<description><![CDATA[I&#8217;ve been thinking about how to best improve the Linux* userland over the last few days. I was venting pretty loudly about my Linux gripe of the day&#8211;I don&#8217;t even remember what I was complaining about at the time, but it was a mess of shell scripting, pipes, and about half a dozen command line [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking about how to best improve the Linux* userland over the last few days. I was venting pretty loudly about my Linux gripe of the day&#8211;I don&#8217;t even remember what I was complaining about at the time, but it was a mess of shell scripting, pipes, and about half a dozen command line programs that were conspiring to drive me up the wall. Before I could get into a really quality rant, the kind that would peel paint off the walls, the friend who I was giving an earful to asked me a question, probably to shut me up.</p>
<p>&#8220;So what would you do to fix it?&#8221;</p>
<p><span id="more-24"></span>That&#8217;s not exactly a new question, but I hadn&#8217;t been asked it before. So I put a little thought into it. My first instinct was to look toward the kernel, but that was pretty stupid of me&#8211;the kernel no doubt has problems, but I&#8217;m not a kernel hacker and I&#8217;m not qualified to talk about them. The area where I routinely run into problems and annoyances is userspace, so why not look at that?</p>
<p>I ended up on what I&#8217;m starting to think might be the biggest problem with Linux today: what I&#8217;m calling &#8220;the space between.&#8221; This has three different meanings related to different issues I&#8217;ve seen and had with Linux. (I could come up with more tortured uses of &#8220;the space between,&#8221; but then I&#8217;d run the risk of sounding like <a href="http://en.wikipedia.org/wiki/Dave_Matthews">a certain balding South African musician</a>.) Also&#8211;I&#8217;m not claiming to be coming up with anything new, so don&#8217;t ascribe some kind of weird arrogance to me for it. I&#8217;m just putting things how I see it. It&#8217;s my blog, dammit, I can do that.</p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p>The first issue is nothing really new to anyone: <strong>the space between usage paradigms</strong>&#8211;the space between the GUI and CLI. The prevalent mindset among open-source developers seems to be &#8220;I&#8217;m only going to cater to my own style of usage.&#8221; Some developers only use the command line, and so their tools are all command-line; if there&#8217;s a GUI at all, it&#8217;s a thin wrapper over the command line application. Other developers (me, sad to say, though I try not to do this) prefer GUI tools, and so there&#8217;s not a lot in the way of command line access for those programs. Most programers will agree, if you ask them, that applications should be divided into a library with different interfaces as necessary&#8211;GUI, CLI, web, toaster, whatever. Whether these programmers actually <em>do</em> it&#8230;well, that&#8217;s a little more sketchy. Mind you, I&#8217;m <em>not</em> saying that programmers have an obligation to write a full-featured GUI for people who don&#8217;t like using the command line. They just need to make it reasonably possible by extracting the code into libraries that can be easily consumed.</p>
<p style="text-align: center;"><span style="color: #ffffff;">. </span></p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p>The next issue is something that might be a little touchy: <strong>the space between languages</strong>. And sometimes, there&#8217;s a <em>lot</em> of space between languages. Say you&#8217;re writing an application in&#8230;let&#8217;s pick any ol&#8217; pet language. Ruby. You&#8217;re writing your app in Ruby, and you need to accomplish X. No doubt there&#8217;s a libDoesX somewhere&#8211;no? No libDoesX? Crap. Welp, surely somebody else is going to use this code&#8211;you&#8217;d better make a library out of it. And a name&#8211;how&#8217;s libRubyDoesX sound? Cool, so now you&#8217;re peddling your library to accomplish X. In Ruby.</p>
<p>So you&#8217;ve written the application, and the handy library, in Ruby. Now I come along, waving my pet language, Python (anybody who knows me will now indulge in some uncontrollable laughter), and I need function X. Surely somebody&#8217;s written a libDoesX, so I&#8217;m gonna go find it! And there it is.</p>
<p>Your libRubyDoesX.</p>
<p>In Ruby.</p>
<p>Uggggggh.</p>
<p>I guess I&#8217;d better get to making libPyDoesX. Or figuring out some way to host Ruby within my Python application just to use your libRubyDoesX.</p>
<p>See the issue? Countless man-hours are wasted, doing the same thing over and over again. Some duplication is good&#8211;new features might crawl out of the woodwork. Lots of duplication? Not so good. That time could be spent <em>doing what you originally wanted to do</em>, rather than screwing around with writing yet another libDoesX. You didn&#8217;t want to write libRubyDoesX! You just wanted to accomplish X, but there was nothing out there for it. I didn&#8217;t want to write libPyDoesX, either, I just wanted to accomplish X, too. But since libRubyDoesX is the only game in town, I had to duplicate your work in order to do so.</p>
<p>There&#8217;s also the other common path for libraries to go, equally wastefully. Somebody writes the library in a relatively consumable language, like C. Then, as people need to use it, bindings pop up for it&#8211;Ruby bindings, Python bindings, Perl bindings, whatever. As &#8220;language purity&#8221; starts to take hold (and most of the time, at some point or another, it does), for some reason it becomes important not to depend on that C library anymore, and it&#8217;s time to reimplement that C library in Ruby, in Python, in Perl. C&#8217;mon, let me hear you now: &#8220;uggggggggh.&#8221;</p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p>The third &#8220;space between&#8221; is <strong>the space between programs</strong>.<strong> </strong>This relates somewhat to the first point, the space between usage paradigms, but is a bit different.</p>
<p>What has always been &#8220;the UNIX way&#8221; is to have a lot of little programs that can be piped together in all sorts of interesting and different ways in order to accomplish a task. That&#8217;s fine. That&#8217;s great. I&#8217;m <em>not</em> saying that that should go away for people who want to operate in that fashion. It&#8217;s not my bag to go whipping around <code>sed</code> and <code>awk</code> while hoping I don&#8217;t put my eye out or change Planck&#8217;s constant, but if that&#8217;s your M.O., more power to you. The problem I see with the UNIX way is that the <em>lingua franca</em> is absolutely horrible. Text, especially text that should be readable to humans as well, is, in my opinion, a <em>bad</em> way for two programs to talk to each other***. It&#8217;s hackish and while you can do some cool things with it, you can also shoot off your foot. We could have an easier way, something that doesn&#8217;t require you to jabber at <code>sed</code> and hope you didn&#8217;t miss a slash or something equally inane.</p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p>The question then becomes &#8220;what do you do about these issues?&#8221;, and it&#8217;s a loaded question. I mean, it&#8217;s not like you&#8217;re going to get people to all start hacking away in your One True Language of Choice, and I&#8217;m not sure you&#8217;d want people to anyway. You&#8217;re also not going to really get a developer hacking away at command-line apps to break their important functionality out into a library if it doesn&#8217;t benefit them (and somebody could go crazy doing it for them!). And you <em>certainly</em> don&#8217;t want to offend the people who like playing the aforementioned shell scripting games; I&#8217;m convinced they know magic and I don&#8217;t want to be turned into a toad. Not me, no way.</p>
<p>In my next Fixing Linux post, I plan to explore what I think is a good way**** to address these issues moving forward. Hope to see you back here for it.</p>
<p>I&#8217;d love to know what you think about this article; please feel free to comment.</p>
<p style="text-align: center;"><span style="color: #ffffff;">.ff</span></p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p style="text-align: center;"><span style="color: #ffffff;">.</span></p>
<p style="text-align: left;">Check out the second part of my jabbering about this topic over <a href="http://edropple.com/2008/08/05/fixing-linux-part-two-bridging-the-gap/">here</a>.</p>
<p>* - I don&#8217;t intend to exclude BSD with these comments herein. I just get annoyed by saying &#8220;Linux and BSD&#8221; every time and I don&#8217;t like typing *nix all the time.</p>
<p>** - You there in the back, shut up&#8211;I know about Masaki Fukushima&#8217;s <a href="http://www.goto.info.waseda.ac.jp/~fukusima/ruby/python-e.html">old Ruby/Python extension library</a>. To the best of my knowledge, it&#8217;s old and unmaintained. His website, which is the first hit for the topic, says it was updated in September of 2000.</p>
<p>*** - I&#8217;ve made similar comments about SOAP in the past, but I can&#8217;t think of a better method for communicating between services on different hosts.</p>
<p>**** - False modesty alert. Yeah, I said &#8220;a good way&#8221;. I&#8217;d be a grandstanding asshole if I said &#8220;the best way,&#8221; wouldn&#8217;t I?</p>
]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/08/05/fixing-linux-part-one-the-space-between/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The FSF: Pull Trigger, Blow Off Foot (Again)</title>
		<link>http://edropple.com/2008/07/27/the-fsf-pull-trigger-blow-off-foot-again/</link>
		<comments>http://edropple.com/2008/07/27/the-fsf-pull-trigger-blow-off-foot-again/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 22:32:21 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[defective by design]]></category>

		<category><![CDATA[fsf]]></category>

		<category><![CDATA[stupidity]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=12</guid>
		<description><![CDATA[This is an old post from my previous Joomla!-powered site; sorry for the retread.
A few days ago, the people over at DefectiveByDesign decided to barf onto the Internet another brilliantly stupid idea. Brilliantly stupid ideas are of course not the Free Software Foundation&#8217;s only export; I hear that some days they actually write code instead [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is an old post from my previous Joomla!-powered site; sorry for the retread.</em></p>
<hr />A few days ago, the people over at <a href="http://www.defectivebydesign.org" target="_blank">DefectiveByDesign</a> decided to barf onto the Internet another brilliantly stupid idea. Brilliantly stupid ideas are of course not the Free Software Foundation&#8217;s only export; I hear that some days they actually write code instead of just telling other people what they should be able to do with theirs, and since I hear that from some fairly reliable sources I&#8217;ll believe it for the moment. But <em>this</em> moronic concept really, truly takes the cake, and while I&#8217;m not exactly much of a blogger I feel a need to get this one off my chest.<a href="http://www.defectivebydesign.org/apple-challenge" target="_blank"><strong></strong></a></p>
<p><a href="http://www.defectivebydesign.org/apple-challenge" target="_blank"><strong>FSF: Go, minions, and hit the Apple Stores with a meatspace DDoS!</strong></a></p>
<p>Go give that a read. When you once again have the presence of mind to pick your jaw up off the floor, c&#8217;mon back and click that &#8220;read more&#8221; link. Go on, I&#8217;ll wait patiently.</p>
<p><span id="more-12"></span>Back already? Wonderful. Look, the FSF has done the occasional good deed in the past. (I say that with tongue in cheek; they&#8217;ve done more than most.) But it is becoming more and more apparent that <em>they are absolutely out of their heads</em>! They just don&#8217;t understand that their tactics are more likely to alienate their &#8220;base,&#8221; the people who think open source software is a good idea, and seriously torque those who don&#8217;t have an opinion one way or the other on the topic. I don&#8217;t know who this blogger, Matt Lee, is, aside from a quick Google search&#8211;he&#8217;s the Chief Webmaster for the GNU Project and Campaigns Manager for the FSF. Which means he&#8217;s already bought into the RMS kool-aid, presumably enough to fill a swimming pool. But anybody in an advertising type of position for a major organization has to understand that the first rule is to <em>not piss off people who aren&#8217;t causing you harm</em>, right? Right? <strong>Right?</strong></p>
<p>Apparently not. In the blog post, he writes:</p>
<blockquote><p>Print out our <a href="http://static.fsf.org/dbd/iphone-action-handout.pdf">handy questionnaire</a> and information about how iPhone 3G restricts <strong>your</strong> freedom.</p></blockquote>
<p>Excuse me, sir? <strong>My</strong> freedoms are being restricted by a gadget I don&#8217;t own? That&#8217;s very interesting, really. I didn&#8217;t know my freedoms could be restricted by something I don&#8217;t own, have no interest in owning, and will in all likelihood never buy. That goes for pretty much any of the FSF hangers-on who are stupid enough to think that this is a good idea&#8211;they almost certainly don&#8217;t own iPhones, so why the hell does it restrict <strong>their</strong> freedoms? They&#8217;re perfectly free to exercise their rights in a (somewhat) free market and <em>not give money to the company that makes the stupid gizmo</em>, aren&#8217;t they?</p>
<p>Or am I wrong? Are <strong>my</strong> freedoms being restricted because I simply allow a device like the iPhone to exist? Are <strong>my</strong> freedoms being restricted because Richard Stallman doesn&#8217;t like something and I don&#8217;t rally to his bearded, Emacs-loving cause?</p>
<p>Of course not. This insistence that everyone&#8217;s rights  (if they&#8217;re rights at all, which is pretty damned debatable, but I&#8217;ll let it slide and continue use their terminology against my better judgement) are being restricted because somebody sells a device that incorporates restrictions is one of the FSF&#8217;s favorite tactics, and it&#8217;s a really tiresome talking point from a group formed mostly to whine about being excluded because nobody wants to deal with their crap. If somebody buys an iPhone, they are <em>agreeing</em> to let their rights be curtailed. It&#8217;s like me going into a movie theater. I <em>agree</em> that I can&#8217;t run around screaming during the film, even though it&#8217;s my legal right to run around screaming under other circumstances. If I don&#8217;t like that the theater doesn&#8217;t want me running around screaming during the film? Tough! I can go elsewhere.</p>
<p>The people working at these Genius Bars are <em>customer service representatives</em> of the company. They don&#8217;t set policy. They&#8217;re told exactly what they can and can&#8217;t discuss with customers. They can say &#8220;we don&#8217;t support that, sorry&#8221; and very little else. Asking them to start commenting on politics is unreasonable and entirely rude. It&#8217;s <em>not their job</em> to talk politics when on the clock. It&#8217;s their job to help customers&#8211;which these FSF zealots are not; they are just pains in the ass. I&#8217;d love to see these exchanges between the douchebags the FSF is fielding and the people working the Genius Bars to go something like this:</p>
<blockquote><p>Genius Bar Dude(ette): &#8220;Hi, can I help you?&#8221;<br />
Troublemaking FSF Monkey: &#8220;I&#8217;m from the DRM elimination crew at DefectiveByDesign.org &#8212; I&#8217;d like to ask you a few questions about the defects Apple has designed into the iPhone 3G.&#8221;<br />
Genius Bar Dude(ette): &#8220;Security will escort you out; please don&#8217;t return. Next!&#8221;</p></blockquote>
<p>It shouldn&#8217;t surprise me that the FSF thinks this sort of thing is a good idea. It really shouldn&#8217;t. But it does. I guess I just expect that people actually take into account the effects of their actions upon other people. I guess I just expect that the FSF would go &#8220;hey, this isn&#8217;t a good idea, because while we might get attention, <em>it will be entirely negative</em>,&#8221; but I think it&#8217;s obvious I&#8217;m naive.</p>
<p>The organization that wants to &#8220;lead&#8221; free software forward should not be endorsing immature garbage like this campaign. This isn&#8217;t about &#8220;working their way up the ladder to the decision-makers.&#8221; The decision-makers can be reached directly. This isn&#8217;t about &#8220;opening a dialogue&#8221;; they wouldn&#8217;t be advocating clogging the operation of a commercial establishment if that was the case. This is about grandstanding. This is about some moronic idea somebody put together with their socially-incompetent friends, the circle of hurf-durfing propelling them to think that this was actually a good idea.</p>
<p>On my <em>worst day</em> I could come up with better ways to raise awareness about DRM. Hell, passing out pamphlets to people standing outside would have more concrete value (and they suggest doing that, once you&#8217;ve done your best to make a grunt-level employee&#8217;s life just a little worse). This campaign is designed above all else to simply harrass people who are just trying to make a living. It&#8217;s sickening. I would think that people interested in &#8220;freedom&#8221; would understand that people have the freedom to disagree and purchase what they want to, but the FSF (rather like the ACLU, in a different field) only believes in the freedoms they like.</p>
<p>Remember how I said that people are welcome to choose whether they want to buy an iPhone or not? Well, given the FSF&#8217;s actions, I&#8217;m free to not support them. So I won&#8217;t. I&#8217;ve already taken down all of my previously GPL-licensed code; I won&#8217;t write another line of it. No contributions, ever, to any projects that use the GPL. No donations, ever, to any projects that use the GPL. (I&#8217;d include the LGPL, but the FSF hates that, so I&#8217;ll give it a pass.) I&#8217;ll use GPL-licensed code when it&#8217;s the best tool for the job, but I&#8217;ll donate to projects I don&#8217;t even use if I think they have a good chance of supplanting the GPL garbage.</p>
<p>I realize that it&#8217;s more than a little silly, but just the same&#8211;I&#8217;ll confess to being honestly tempted to write a license for my own code, now, that affords all the freedoms of the BSD license <em>except</em> the freedom to relicense the code under the GPL or link with code released under the GPL. Extreme? Sure, probably more extreme than would be warranted if this was a single isolated incident. But it&#8217;s not a single isolated incident, it&#8217;s a continuing, regular sort of thing out of the FSF. They want to say &#8220;share<strong> </strong><em>all your code</em> with us or we won&#8217;t share any with you,&#8221; huh? What if I want to say &#8220;you want everyone else to share all their code with you, so I&#8217;ll share mine with everybody <em>but</em> you&#8221;? I have to think that&#8217;d be a hoot.</p>
<p>Sit down and shut up, Mr. Lee. You do more damage than you could ever do good.</p>
<p>Aren&#8217;t zealots just so <em>awesome</em>?</p>
<p><strong>Update, 8/4/08: </strong>They turned off comments for that article not long after I posted this. Funny, huh?</p>
]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/07/27/the-fsf-pull-trigger-blow-off-foot-again/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Paging Dr. Frankenstein&#8230;</title>
		<link>http://edropple.com/2008/07/14/paging-dr-frankenstein/</link>
		<comments>http://edropple.com/2008/07/14/paging-dr-frankenstein/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 22:25:32 +0000</pubDate>
		<dc:creator>Ed</dc:creator>
		
		<category><![CDATA[Mono Project]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[.net]]></category>

		<category><![CDATA[cloverleaf]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[mono]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[visual studio]]></category>

		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://edropple.com/?p=7</guid>
		<description><![CDATA[This is an old post from my previous Joomla!-powered site; sorry for the retread.
The title&#8217;s pretty apt, I think&#8211;Cloverleaf is far less my code than anyone else&#8217;s at this point, made of bolting together all sorts of stuff. Open Source in action, yo.  
A few quick updates regarding Cloverleaf, as some folks have expressed [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is an old post from my previous Joomla!-powered site; sorry for the retread.</em></p>
<hr />The title&#8217;s pretty apt, I think&#8211;Cloverleaf is far less my code than anyone else&#8217;s at this point, made of bolting together all sorts of stuff. Open Source in action, yo. <img src='http://edropple.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>A few quick updates regarding Cloverleaf, as some folks have expressed some interest in the project. I&#8217;d like to throw a shout-out to Franz, whose questions got me off my ass and drove me to write a little documentation for installing the pre-pre-pre-pre-alpha CloverleafET code. If anyone else is interested, you can access that  documentation on the Mono GSoC 2008 Google Groups page.</p>
<p><span id="more-7"></span>Last (first) blog post, I mentioned that my next goal was going to be getting ASP.NET to work remotely. It&#8217;s done&#8230;mostly. XSP2 support works, for a moderate value of &#8220;works&#8221;&#8211;there&#8217;s a possibility of leaving zombie processes and it currently is hardcoded to port 8080&#8211;and will be touched up in the next week or so. Apache2 support might take a little longer; that&#8217;s going to be much messier than I&#8217;d hoped for. Zeroconf also works, although I haven&#8217;t written any configuration for that yet so all you&#8217;ll see in the service browser is &#8220;Cloverleaf [$machinename, Unix]&#8220;.</p>
<p>I haven&#8217;t tested it on Linux using Avahi yet, because Ubuntu&#8217;s habit of making eight hundred million packages for any application you want to install is making it seriously painful to get working; I&#8217;m about ready to say to hell with Ubuntu and install OpenSuSE. If they hadn&#8217;t defaulted to KDE 4 (utter, utter crap, and no I don&#8217;t care that they say it&#8217;ll &#8220;get better later,&#8221; I&#8217;ll jut stop using Linux on the desktop when they drop support for KDE 3), I&#8217;m sure I already would have. But CloverleafService should run just fine if you can puzzle out how to put together the various bits and pieces.</p>
<p>Making progress, though. The next week will mostly be fixing the bits and pieces mentioned above, making remote instantiations of XSP2 listen on random ports so multiple users can use it and doing a little configuration work for CloverleafService. Then, it&#8217;s off to actually writing the add-in portion of the code so it actually plugs into Visual Studio and doesn&#8217;t just lout around in External Tools.</p>
<p>If you&#8217;re interested in Cloverleaf or any of the Mono Project&#8217;s other GSoC projects, the development trunk can be checked out from our Mono Project GSoC 2008 page on Google Code. You can also see our development discussions and weekly reports on our Google Groups page. Eventually, Cloverleaf will probably find a place to live here on my website, but that&#8217;s a ways off at least.</p>
]]></content:encoded>
			<wfw:commentRss>http://edropple.com/2008/07/14/paging-dr-frankenstein/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
