<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Pædantic Programmer &#187; mono</title>
	<atom:link href="http://wp.colliertech.org/cj/?feed=rss2&#038;cat=7" rel="self" type="application/rss+xml" />
	<link>http://wp.colliertech.org/cj</link>
	<description>If you can&#039;t find the time to do it right the first time, where are you going to find the time to do it over?</description>
	<lastBuildDate>Sun, 10 Mar 2013 23:59:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>Linus on Instantiation and Armadaification</title>
		<link>http://wp.colliertech.org/cj/?p=1385</link>
		<comments>http://wp.colliertech.org/cj/?p=1385#comments</comments>
		<pubDate>Thu, 09 Aug 2012 18:46:14 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[19.34 RCW]]></category>
		<category><![CDATA[1986]]></category>
		<category><![CDATA[1998]]></category>
		<category><![CDATA[1999]]></category>
		<category><![CDATA[2000]]></category>
		<category><![CDATA[2004]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Academia]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[auditing]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[bo]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[C.J. Insider]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[DBD::MaxDB]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[DLR]]></category>
		<category><![CDATA[F5]]></category>
		<category><![CDATA[F5 Networks]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[feds]]></category>
		<category><![CDATA[FIPS-201]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[freenode]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[investment]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[IronPython]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[lilo]]></category>
		<category><![CDATA[linpeople]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[NIST]]></category>
		<category><![CDATA[O'Reilly]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[Personal Identity Verification]]></category>
		<category><![CDATA[plogs]]></category>
		<category><![CDATA[PRCCDC]]></category>
		<category><![CDATA[pre-release]]></category>
		<category><![CDATA[quake3]]></category>
		<category><![CDATA[rms]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SELinux]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[syndication]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[traffic shaping]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[UTC]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[washington]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[wheezy]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[x509]]></category>
		<category><![CDATA[xbuild]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">https://wp.colliertech.org/cj/?p=1385</guid>
		<!--description><![CDATA[I feel a sense of pride when I think that I was involved in the development and maintenance of what was probably the first piece of software accepted into Debian which then had and still has direct up-stream support from &#8230; <a href="http://wp.colliertech.org/cj/?p=1385">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p>I feel a sense of pride when I think that I was involved in the development and maintenance of what was probably the first piece of software accepted into Debian which then had and still has direct up-stream support from Microsoft.  The world is a better place for having Microsoft in it.  The first operating system I ever ran on an <a href="http://en.wikipedia.org/wiki/Intel_8088">08086-based</a> CPU was <a href="http://en.wikipedia.org/wiki/MS-DOS">MS-DOS</a> 2.x.  I remember how thrilled I was when we got to see how my friend&#8217;s 80286 system ran BBS software that would cause a modem to dial a local system and display the application as if it were running on a local machine.  Totally sweet.</p>
<p>When we were living at 6162 NE Middle in the nine-eight 292, we got an 80386 which ran Doom.  Yeah, the original one, not the fancy new one with the double barrel shotgun, but it would probably run that one, too.  It was also totally sweet and all thanks to our <a href="http://www.armadilloaerospace.com/n.x/Armadillo/Home">armadillo</a> friends down south and partially thanks to their publishers, <a href="http://en.wikipedia.org/wiki/3D_Realms">Apogee</a>.  I suckered my brothers into giving me their allowance from Dad one time so that we could all go in on a <a href="http://en.wikipedia.org/wiki/Sound_Blaster#Sound_Blaster_16">Sound Blaster Pro 16</a> sound card for the family&#8217;s 386.  I played a lot of <a href="http://en.wikipedia.org/wiki/Team_Fortress">Team Fortress</a> and <a href="http://en.wikipedia.org/wiki/Q2CTF">Q2CTF</a> on that rig.  I even attended the Quake 3 Arena launch party that happened at <a href="http://en.wikipedia.org/wiki/David_Kirsch">Zoid</a>&#8216;s place.  I recall that he ported the original quake to Linux.  I also recall there being naughty remarks included in the README.txt.</p>
<p>When my older brother, Aaron turned 16, he was gifted a fancy car.  When asked what type of car I would like when I turned 16, I said that I&#8217;d prefer a computer instead.  So I got a high-end 80486 with math co-processor.  It could compile the kernel in 15 minutes flat.  With all the bits turned on on in /usr/src/linux/.config.  But this was later.  I hadn&#8217;t even heard of linux when I got my system.  I wanted to be entertained by the thing.  I made sure to get a CD-Rom and a sound card.  I got on the beta for <a href="http://en.wikipedia.org/wiki/Ultima_Online">Ultima Online</a> and spent a summer as a virtual collier.  Digging stuff out of mines north of Britannia and hauling them to town to make weapons and armor out of them.  And then setting out in said armor only to be PK&#8217;d because I forgot healing potions and I was no good at fighting.</p>
<p>While I was in the middle of all this gaming, my friend <a href="http://ciac.ischool.washington.edu/">Lucas</a> told me that I should try out this lynx thing that they run at the University of Washington.  He heard that it was reported to run doom faster than it ran on MS-DOS.  It turns out that it did, but that it was not, in fact, called <a href="http://www.washington.edu/computing/software/clusters/lynx.html">lynx</a>.  Or <a href="http://www.washington.edu/computing/software/clusters/pine.html">pine</a>.  The Doom engine ran so fast that the <a href="http://en.wikipedia.org/wiki/Screen_tearing">video couldn&#8217;t keep up</a>.  This was probably because they didn&#8217;t use <a href="http://en.wikipedia.org/wiki/Multiple_buffering#Double_buffering_in_computer_graphics">double buffering</a> for frame display, since they didn&#8217;t want to waste the time maintaining and switching context.  I think I downloaded the boot/root 3.5&#8243; disk pair and was able to get the system to a shell with an on-phone assist from the Rev.  I then promptly got lost in bash and the virtual terminals (OMG!  I GET SIX CONSOLES!?) and bought a book on the subject.  It shipped with slackware.  Which I ran.  Until <a href="http://www.debian.org/doc/manuals/project-history/ch-releases.en.html">Debian</a> came along.  Lucas also recommended that I try out this IRC thing, so I did.  And I&#8217;m still doing it on #linpeople just like I did back then.</p>
<p>I learned to write Pascal on dos.  Then I learned c while they were trying to teach me c++.  I learned emacs and vi when I was attending North Kitsap High School.  I learned sed and only a little awk when I took Running Start classes in Lynnwood at Edmonds Community College and perl &#038; x.509 while attending Olympic Community College and simultaneously jr-administering Sinclair Communications.   I studied <a href="http://en.wikipedia.org/wiki/TCP/IP_Illustrated">TCP/IP</a>, <a href="http://www.unpbook.com/">UNP</a>, <a href="http://www.kohala.com/start/apue.html">APUE</a>, <a href="http://en.wikipedia.org/wiki/The_C_Programming_Language">C</a> and <a href="http://shop.oreilly.com/product/9781565924536.do">algorithms</a> &#038; data structures while preparing for an interview with a company whose CEO claimed to have invented SCSI.  I learned PGP and PHP while writing web-based adware for this company.  I didn&#8217;t want to write ads and instead wanted to work in security, so took a job with <a href="http://web.archive.org/web/20000229193334/http://www.securityportal.com/">Security Portal</a>.  While there, I wrote what one might call a blogging platform.  It worked and made it possible for authors to write prose and poetry.  Editors didn&#8217;t have to manage a database in order to review and publish the posts that were &#8220;ready.&#8221;  Everyone but me was able to avoid html and cgi.</p>
<p>Then I sold pizza.  Then I helped bring <a href="http://web.archive.org/web/20041117011523/http://www.bombaycompany.com/gp/browse/3609681">the bombay company</a> onto the interwebs using the <a href="http://aws.amazon.com/">Amazon ECS (now AWS) platform</a>.  Then I helped support <a href="http://en.wikipedia.org/wiki/MaxDB">MaxDB</a>.  Then I helped develop and maintain the Amazon <a href="http://www.readwriteweb.com/archives/amazon_tags_ajax_plogs_wikis.php">blogging platform</a>.  And then attempted to reduce the load on the Amazon pager system by doing and enforcing code reviews.  It turns out that they prefer to run their support team at <a href="http://www.merriam-webster.com/dictionary/full%20bore">full bore</a> and a load average of 16.</p>
<div style="text-align: center; ">
<iframe allowfullscreen="" frameborder="0" height="288" scrolling="no" src="http://www.youtube.com/embed/MShbP3OpASA" width="448"></iframe></div>
<p>I am now, still, fully employed in an effort to make hard things possible.  The hard thing we&#8217;re working on now is the implementation and ongoing operations of distributed x.500 infrastructure.  This includes request handling, processing and delivery of response (à la HTTP, SMTP, IMAP, SIP, RTP, RTSP, OCSP) including authentication, authorization and auditing (<a href="http://en.wikipedia.org/wiki/AAA_protocol">AAA</a>) of all transactions.  It&#8217;s a hard thing to get right, but our product development team gets it right.  Consistently and reliably.  We make mistakes sometimes (sorry Bago), but we correct them and make the product better.</p>
<p>I&#8217;m the newest member of an R and d team (note: big R, little d) called NTR, which sits behind the firewall that is Product Development, out of production space.  In a manner that reminds me of <a href="http://www.debian.org/devel/testing">Debian Testing</a>.  We try new things.  Our current project is to allow users to compare their current (cloud-based or iron-based) IT system with what their system would be like with a BIG-IP in front of it.  I can probably come up with a demo if anyone&#8217;s interested in checking it out.  I&#8217;ll go work on that now.</p>
]]></description>
			<content:encoded><![CDATA[<p>I feel a sense of pride when I think that I was involved in the development and maintenance of what was probably the first piece of software accepted into Debian which then had and still has direct up-stream support from Microsoft.  The world is a better place for having Microsoft in it.  The first operating system I ever ran on an <a href="http://en.wikipedia.org/wiki/Intel_8088">08086-based</a> CPU was <a href="http://en.wikipedia.org/wiki/MS-DOS">MS-DOS</a> 2.x.  I remember how thrilled I was when we got to see how my friend&#8217;s 80286 system ran BBS software that would cause a modem to dial a local system and display the application as if it were running on a local machine.  Totally sweet.</p>
<p>When we were living at 6162 NE Middle in the nine-eight 292, we got an 80386 which ran Doom.  Yeah, the original one, not the fancy new one with the double barrel shotgun, but it would probably run that one, too.  It was also totally sweet and all thanks to our <a href="http://www.armadilloaerospace.com/n.x/Armadillo/Home">armadillo</a> friends down south and partially thanks to their publishers, <a href="http://en.wikipedia.org/wiki/3D_Realms">Apogee</a>.  I suckered my brothers into giving me their allowance from Dad one time so that we could all go in on a <a href="http://en.wikipedia.org/wiki/Sound_Blaster#Sound_Blaster_16">Sound Blaster Pro 16</a> sound card for the family&#8217;s 386.  I played a lot of <a href="http://en.wikipedia.org/wiki/Team_Fortress">Team Fortress</a> and <a href="http://en.wikipedia.org/wiki/Q2CTF">Q2CTF</a> on that rig.  I even attended the Quake 3 Arena launch party that happened at <a href="http://en.wikipedia.org/wiki/David_Kirsch">Zoid</a>&#8216;s place.  I recall that he ported the original quake to Linux.  I also recall there being naughty remarks included in the README.txt.</p>
<p>When my older brother, Aaron turned 16, he was gifted a fancy car.  When asked what type of car I would like when I turned 16, I said that I&#8217;d prefer a computer instead.  So I got a high-end 80486 with math co-processor.  It could compile the kernel in 15 minutes flat.  With all the bits turned on on in /usr/src/linux/.config.  But this was later.  I hadn&#8217;t even heard of linux when I got my system.  I wanted to be entertained by the thing.  I made sure to get a CD-Rom and a sound card.  I got on the beta for <a href="http://en.wikipedia.org/wiki/Ultima_Online">Ultima Online</a> and spent a summer as a virtual collier.  Digging stuff out of mines north of Britannia and hauling them to town to make weapons and armor out of them.  And then setting out in said armor only to be PK&#8217;d because I forgot healing potions and I was no good at fighting.</p>
<p>While I was in the middle of all this gaming, my friend <a href="http://ciac.ischool.washington.edu/">Lucas</a> told me that I should try out this lynx thing that they run at the University of Washington.  He heard that it was reported to run doom faster than it ran on MS-DOS.  It turns out that it did, but that it was not, in fact, called <a href="http://www.washington.edu/computing/software/clusters/lynx.html">lynx</a>.  Or <a href="http://www.washington.edu/computing/software/clusters/pine.html">pine</a>.  The Doom engine ran so fast that the <a href="http://en.wikipedia.org/wiki/Screen_tearing">video couldn&#8217;t keep up</a>.  This was probably because they didn&#8217;t use <a href="http://en.wikipedia.org/wiki/Multiple_buffering#Double_buffering_in_computer_graphics">double buffering</a> for frame display, since they didn&#8217;t want to waste the time maintaining and switching context.  I think I downloaded the boot/root 3.5&#8243; disk pair and was able to get the system to a shell with an on-phone assist from the Rev.  I then promptly got lost in bash and the virtual terminals (OMG!  I GET SIX CONSOLES!?) and bought a book on the subject.  It shipped with slackware.  Which I ran.  Until <a href="http://www.debian.org/doc/manuals/project-history/ch-releases.en.html">Debian</a> came along.  Lucas also recommended that I try out this IRC thing, so I did.  And I&#8217;m still doing it on #linpeople just like I did back then.</p>
<p>I learned to write Pascal on dos.  Then I learned c while they were trying to teach me c++.  I learned emacs and vi when I was attending North Kitsap High School.  I learned sed and only a little awk when I took Running Start classes in Lynnwood at Edmonds Community College and perl &#038; x.509 while attending Olympic Community College and simultaneously jr-administering Sinclair Communications.   I studied <a href="http://en.wikipedia.org/wiki/TCP/IP_Illustrated">TCP/IP</a>, <a href="http://www.unpbook.com/">UNP</a>, <a href="http://www.kohala.com/start/apue.html">APUE</a>, <a href="http://en.wikipedia.org/wiki/The_C_Programming_Language">C</a> and <a href="http://shop.oreilly.com/product/9781565924536.do">algorithms</a> &#038; data structures while preparing for an interview with a company whose CEO claimed to have invented SCSI.  I learned PGP and PHP while writing web-based adware for this company.  I didn&#8217;t want to write ads and instead wanted to work in security, so took a job with <a href="http://web.archive.org/web/20000229193334/http://www.securityportal.com/">Security Portal</a>.  While there, I wrote what one might call a blogging platform.  It worked and made it possible for authors to write prose and poetry.  Editors didn&#8217;t have to manage a database in order to review and publish the posts that were &#8220;ready.&#8221;  Everyone but me was able to avoid html and cgi.</p>
<p>Then I sold pizza.  Then I helped bring <a href="http://web.archive.org/web/20041117011523/http://www.bombaycompany.com/gp/browse/3609681">the bombay company</a> onto the interwebs using the <a href="http://aws.amazon.com/">Amazon ECS (now AWS) platform</a>.  Then I helped support <a href="http://en.wikipedia.org/wiki/MaxDB">MaxDB</a>.  Then I helped develop and maintain the Amazon <a href="http://www.readwriteweb.com/archives/amazon_tags_ajax_plogs_wikis.php">blogging platform</a>.  And then attempted to reduce the load on the Amazon pager system by doing and enforcing code reviews.  It turns out that they prefer to run their support team at <a href="http://www.merriam-webster.com/dictionary/full%20bore">full bore</a> and a load average of 16.</p>
<div style="text-align: center; ">
<iframe allowfullscreen="" frameborder="0" height="288" scrolling="no" src="http://www.youtube.com/embed/MShbP3OpASA" width="448"></iframe></div>
<p>I am now, still, fully employed in an effort to make hard things possible.  The hard thing we&#8217;re working on now is the implementation and ongoing operations of distributed x.500 infrastructure.  This includes request handling, processing and delivery of response (à la HTTP, SMTP, IMAP, SIP, RTP, RTSP, OCSP) including authentication, authorization and auditing (<a href="http://en.wikipedia.org/wiki/AAA_protocol">AAA</a>) of all transactions.  It&#8217;s a hard thing to get right, but our product development team gets it right.  Consistently and reliably.  We make mistakes sometimes (sorry Bago), but we correct them and make the product better.</p>
<p>I&#8217;m the newest member of an R and d team (note: big R, little d) called NTR, which sits behind the firewall that is Product Development, out of production space.  In a manner that reminds me of <a href="http://www.debian.org/devel/testing">Debian Testing</a>.  We try new things.  Our current project is to allow users to compare their current (cloud-based or iron-based) IT system with what their system would be like with a BIG-IP in front of it.  I can probably come up with a demo if anyone&#8217;s interested in checking it out.  I&#8217;ll go work on that now.</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=1385</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hey, look.  I got mcs to github before Miguel</title>
		<link>http://wp.colliertech.org/cj/?p=956</link>
		<comments>http://wp.colliertech.org/cj/?p=956#comments</comments>
		<pubDate>Mon, 28 Jun 2010 03:44:55 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[novell]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=956</guid>
		<!--description><![CDATA[http://github.com/cjac/mcs I&#8217;m also hosting it on my own not-as-l33t git repo: http://git.colliertech.org/?p=mcs.git;a=summary Does this mean that I get a &#8220;cooler than Miguel&#8221; tee shirt?]]></description-->
		<description><![CDATA[<p><a href="http://github.com/cjac/mcs">http://github.com/cjac/mcs</a></p>
<p>I&#8217;m also hosting it on my own not-as-l33t git repo:</p>
<p><a href="http://git.colliertech.org/?p=mcs.git;a=summary">http://git.colliertech.org/?p=mcs.git;a=summary</a></p>
<p>Does this mean that I get a &#8220;cooler than Miguel&#8221; tee shirt?</p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/cjac/mcs">http://github.com/cjac/mcs</a></p>
<p>I&#8217;m also hosting it on my own not-as-l33t git repo:</p>
<p><a href="http://git.colliertech.org/?p=mcs.git;a=summary">http://git.colliertech.org/?p=mcs.git;a=summary</a></p>
<p>Does this mean that I get a &#8220;cooler than Miguel&#8221; tee shirt?</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=956</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GSoC 2010</title>
		<link>http://wp.colliertech.org/cj/?p=881</link>
		<comments>http://wp.colliertech.org/cj/?p=881#comments</comments>
		<pubDate>Tue, 27 Apr 2010 00:17:55 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[DLR]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Washington State Ubuntu LoCo]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=881</guid>
		<!--description><![CDATA[Earlier this month, I applied to the Mono Project (and the University of Washington, and Ubuntu, and Debian, and The Perl Foundation) requesting a mentor to get Perl6 hosted on the DLR. Last Tuesday, Miguel contacted me and asked that &#8230; <a href="http://wp.colliertech.org/cj/?p=881">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p>Earlier this month, I applied to the Mono Project (and the University of Washington, and Ubuntu, and Debian, and The Perl Foundation) requesting a mentor to get Perl6 hosted on the DLR.</p>
<p>Last Tuesday, <a href="http://tirania.org/blog/">Miguel</a> contacted me and asked that I chat with <a href="http://mjhutchinson.com/journal/">Michael Hutchinson</a> about possibly taking up a different project.  It seems that the group did not have any mentors who felt comfortable mentoring the Perl6 project.  After a bit of consideration, I agreed to modify my application and take up a project to revive the <a href="http://www.mono-project.com/Release_Notes_Mono_2.2#Regular_Expressions">regular expression compiler</a> from 2.2.</p>
<p>Today, the project was officially accepted, and I met with my mentor for the first time (hi <a href="http://www.kumpera.net/blog/">Rodrigo</a>!).</p>
<p>I will also be working with Matthew Wilson (aka <a href="http://twitter.com/diakopter">@diakopter</a>), since he has purportedly implemented a number of regex-to-IL compilers ;)  He also offered to mentor me if <a href="http://www.perlfoundation.org/">The Perl Foundation</a> had accepted my application, and since he has already implemented <a href="http://perlgeek.de/blog-en/perl-6/announcing-sprixel.html">a perl6 compiler</a> in javascript, I have been looking forward to poking some code with him.</p>
<p>Although the GSoC doesn&#8217;t officially get started until 5/24, I&#8217;m making a git-svn checkout now.  I&#8217;ve always committed the code directly to svn, but I&#8217;ve enjoyed working with git, and it seems about time to start contributing via git-svn.  It will be easier to have local branches this way, too.</p>
<p>Anyway, I&#8217;m looking forward to it ;)</p>
]]></description>
			<content:encoded><![CDATA[<p>Earlier this month, I applied to the Mono Project (and the University of Washington, and Ubuntu, and Debian, and The Perl Foundation) requesting a mentor to get Perl6 hosted on the DLR.</p>
<p>Last Tuesday, <a href="http://tirania.org/blog/">Miguel</a> contacted me and asked that I chat with <a href="http://mjhutchinson.com/journal/">Michael Hutchinson</a> about possibly taking up a different project.  It seems that the group did not have any mentors who felt comfortable mentoring the Perl6 project.  After a bit of consideration, I agreed to modify my application and take up a project to revive the <a href="http://www.mono-project.com/Release_Notes_Mono_2.2#Regular_Expressions">regular expression compiler</a> from 2.2.</p>
<p>Today, the project was officially accepted, and I met with my mentor for the first time (hi <a href="http://www.kumpera.net/blog/">Rodrigo</a>!).</p>
<p>I will also be working with Matthew Wilson (aka <a href="http://twitter.com/diakopter">@diakopter</a>), since he has purportedly implemented a number of regex-to-IL compilers ;)  He also offered to mentor me if <a href="http://www.perlfoundation.org/">The Perl Foundation</a> had accepted my application, and since he has already implemented <a href="http://perlgeek.de/blog-en/perl-6/announcing-sprixel.html">a perl6 compiler</a> in javascript, I have been looking forward to poking some code with him.</p>
<p>Although the GSoC doesn&#8217;t officially get started until 5/24, I&#8217;m making a git-svn checkout now.  I&#8217;ve always committed the code directly to svn, but I&#8217;ve enjoyed working with git, and it seems about time to start contributing via git-svn.  It will be easier to have local branches this way, too.</p>
<p>Anyway, I&#8217;m looking forward to it ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=881</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting started with gtk♯</title>
		<link>http://wp.colliertech.org/cj/?p=818</link>
		<comments>http://wp.colliertech.org/cj/?p=818#comments</comments>
		<pubDate>Fri, 09 Apr 2010 00:15:43 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Washington State Ubuntu LoCo]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=818</guid>
		<!--description><![CDATA[This is a quick tutorial for getting a first gtk-sharp app up and going. Install MonoDevelop $ sudo apt-get install monodevelop libgtk2.0-cil-dev Start MonoDevelop It&#8217;ll be in your GNOME application menu under Applications->Programming->MonoDevelop Create a new Gtk# Project Run project &#8230; <a href="http://wp.colliertech.org/cj/?p=818">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p>This is a quick tutorial for getting a first gtk-sharp app up and going.</p>
<h3>Install MonoDevelop</h3>
<pre><b>$</b> sudo apt-get install monodevelop libgtk2.0-cil-dev</pre>
<h3>Start MonoDevelop</h3>
<p>It&#8217;ll be in your GNOME application menu under Applications->Programming->MonoDevelop</p>
<h3>Create a new Gtk# Project</h3>
<div id="attachment_819" class="wp-caption alignnone" style="width: 693px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/00_gtk-sharp_new_project.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/00_gtk-sharp_new_project.png" alt="Create New Project" title="00_gtk-sharp_new_project" width="683" height="557" class="size-full wp-image-819" /></a><p class="wp-caption-text">Create New Project</p></div>
<div id="attachment_820" class="wp-caption alignnone" style="width: 640px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/01_gtk-sharp_Screenshot-New-Solution.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/01_gtk-sharp_Screenshot-New-Solution.png" alt="Select Gtk# 2.0 Project" title="01_gtk-sharp_Screenshot-New Solution" width="630" height="599" class="size-full wp-image-820" /></a><p class="wp-caption-text">Select Gtk# 2.0 Project</p></div>
<div id="attachment_821" class="wp-caption alignnone" style="width: 714px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/02_gtk-sharp_Screenshot-New-Solution.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/02_gtk-sharp_Screenshot-New-Solution.png" alt="Select Project Features" title="02_gtk-sharp_Screenshot-New Solution" width="704" height="599" class="size-full wp-image-821" /></a><p class="wp-caption-text">Select Project Features</p></div>
<div id="attachment_822" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/03_gtk-sharp_Screenshot-MyGtkProject-Main.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/03_gtk-sharp_Screenshot-MyGtkProject-Main.cs-MonoDevelop-1024x768.png" alt="Hello World" title="03_gtk-sharp_Screenshot-MyGtkProject - Main.cs - MonoDevelop" width="1024" height="768" class="size-large wp-image-822" /></a><p class="wp-caption-text">Hello World</p></div>
<h3>Run project</h3>
<p>You can run this boilerplate by pressing Ctrl-F5</p>
<h3>Using the Designer</h3>
<p>Double-click on the file named <b>MainWindow.cs</b> in the <b>Solution</b> section.  When the file opens, click the <b>Designer</b> button below the code view.</p>
<div id="attachment_830" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/04_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/04_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x768.png" alt="The Designer" title="04_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs - MonoDevelop" width="1024" height="768" class="size-large wp-image-830" /></a><p class="wp-caption-text">The Designer</p></div>
<h4>The Toolbox</h4>
<p>To add the Toolbox, press Alt-Shift-B or click View->Toolbox.</p>
<p>Drag a <b>VBox</b> widget from the Toolbox to the main window.</p>
<div id="attachment_831" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/05_gtk-sharp_add_vbox.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/05_gtk-sharp_add_vbox-1024x801.png" alt="Add VBox" title="05_gtk-sharp_add_vbox" width="1024" height="801" class="size-large wp-image-831" /></a><p class="wp-caption-text">Add VBox</p></div>
<p>Drop a <b>Menu Bar</b> widget into the top cell of the VBox, and a <b>Statusbar</b> into the bottom.</p>
<div id="attachment_834" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/06_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/06_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x768.png" alt="Insert Menu and Status Bar" title="06_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="768" class="size-large wp-image-834" /></a><p class="wp-caption-text">Insert Menu and Status Bar</p></div>
<h4>Properties grid</h4>
<p>Drop a <b>Button</b> widget into the middle cell of the VBox.<br />
Add the <b>Properties</b> grid from the View menu (Alt+Shift+P or View->Properties).<br />
Select the new button by clicking on it.<br />
In the Properties grid, expand the <b>Button Properties</b> section and click the value of the <b>Label</b> field.  Delete the default content and replace it with a different string.</p>
<div id="attachment_837" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/07_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/07_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x676.png" alt="Button with new Label" title="07_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="676" class="size-large wp-image-837" /></a><p class="wp-caption-text">Button with new Label</p></div>
<h4>Adding a Click handler</h4>
<p>Select the button in the Designer view<br />
In the <b>Property</b> grid, select the <b>Signals</b> tab<br />
Click twice on the text in the column to the right of the <b>Clicked</b> and replace <i>Click here to add a new handler</i> with <i>MyButtonClickHandler</i></p>
<div id="attachment_844" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/08_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/08_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x676.png" alt="Add a click handler" title="08_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="676" class="size-large wp-image-844" /></a><p class="wp-caption-text">Add a click handler</p></div>
<p>Click on the <b>Source Code</b> button below the viewer window to switch to the C♯ code.  You can use the find tool to search for the new handler you created, called <i>MyButtonClickHandler</i>.  Ctrl-F will bring up the find dialogue.<br />
<div id="attachment_847" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/09_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/09_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x676.png" alt="Browse to click handler" title="09_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="676" class="size-large wp-image-847" /></a><p class="wp-caption-text">Browse to click handler</p></div></p>
<p>Add some code to update the status bar.</p>
<pre class="brush:c-sharp">
	protected virtual void MyButtonClickHandler (object sender, System.EventArgs e)
	{
		var contextId = this.statusbar1.GetContextId("clicked");
		this.statusbar1.Push(contextId, "Clicky-Clicky" );
	}
</pre>
<div id="attachment_849" class="wp-caption alignnone" style="width: 1033px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/10_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/10_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1023x556.png" alt="Click handler code" title="10_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs - MonoDevelop" width="1023" height="556" class="size-large wp-image-849" /></a><p class="wp-caption-text">Click handler code</p></div>
<h4>Modify button layout</h4>
<p>The size of the running window is a little weird.  I fixed mine by un-setting the <b>Auto Size</b> boolean and setting the <b>Expand</b> and <b>Fill</b> in the <b>Box Child Layout</b> section of the Properties grid.</p>
<div id="attachment_853" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/11_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/11_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x684.png" alt="Button layout changes" title="11_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="684" class="size-large wp-image-853" /></a><p class="wp-caption-text">Button layout changes</p></div>
<h4>Exercise button click handler</h4>
<p>Run your application with Ctrl-F5 and click on the button.  You should see the new string show up in the status bar at the bottom left of the window.</p>
<div id="attachment_855" class="wp-caption alignnone" style="width: 319px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/12_gtk-sharp_unclicked.png" target="_blank"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/12_gtk-sharp_unclicked.png" alt="Not yet clicked" title="12_gtk-sharp_unclicked" width="309" height="105" class="size-full wp-image-855" /></a><p class="wp-caption-text">Not yet clicked</p></div>
<div id="attachment_856" class="wp-caption alignnone" style="width: 319px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/13_gtk-sharp_clicked.png" target="_blank"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/13_gtk-sharp_clicked.png" alt="Clicked + Status update" title="13_gtk-sharp_clicked" width="309" height="105" class="size-full wp-image-856" /></a><p class="wp-caption-text">Clicked + Status update</p></div>
<h4>Add Menu items</h4>
<div id="attachment_862" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/14_gtk-sharp_Create_File_Menu_Entry.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/14_gtk-sharp_Create_File_Menu_Entry-1024x684.png" alt="Create File Menu Entry" title="14_gtk-sharp_Create_File_Menu_Entry" width="1024" height="684" class="size-large wp-image-862" /></a><p class="wp-caption-text">Create File Menu Entry</p></div>
<div id="attachment_863" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/15_gtk-sharp_Create_File-Quit_Menu_Item.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/15_gtk-sharp_Create_File-Quit_Menu_Item-1024x684.png" alt="Create File-&gt;Quit Menu Item" title="15_gtk-sharp_Create_File-Quit_Menu_Item" width="1024" height="684" class="size-large wp-image-863" /></a><p class="wp-caption-text">Create File->Quit Menu Item</p></div>
<div id="attachment_864" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/16_gtk-sharp_Add_quit_event_handler.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/16_gtk-sharp_Add_quit_event_handler-1024x684.png" alt="Add Quit event handler" title="16_gtk-sharp_Add_quit_event_handler" width="1024" height="684" class="size-large wp-image-864" /></a><p class="wp-caption-text">Add Quit event handler</p></div>
<div id="attachment_865" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/17_gtk-sharp_Add_Clear_Statusbar_Activate_Handler.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/17_gtk-sharp_Add_Clear_Statusbar_Activate_Handler-1024x684.png" alt="Add Clear Statusbar Activate Handler" title="17_gtk-sharp_Add_Clear_Statusbar_Activate_Handler" width="1024" height="684" class="size-large wp-image-865" /></a><p class="wp-caption-text">Add Clear Statusbar Activate Handler</p></div>
]]></description>
			<content:encoded><![CDATA[<p>This is a quick tutorial for getting a first gtk-sharp app up and going.</p>
<h3>Install MonoDevelop</h3>
<pre><b>$</b> sudo apt-get install monodevelop libgtk2.0-cil-dev</pre>
<h3>Start MonoDevelop</h3>
<p>It&#8217;ll be in your GNOME application menu under Applications->Programming->MonoDevelop</p>
<h3>Create a new Gtk# Project</h3>
<div id="attachment_819" class="wp-caption alignnone" style="width: 693px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/00_gtk-sharp_new_project.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/00_gtk-sharp_new_project.png" alt="Create New Project" title="00_gtk-sharp_new_project" width="683" height="557" class="size-full wp-image-819" /></a><p class="wp-caption-text">Create New Project</p></div>
<div id="attachment_820" class="wp-caption alignnone" style="width: 640px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/01_gtk-sharp_Screenshot-New-Solution.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/01_gtk-sharp_Screenshot-New-Solution.png" alt="Select Gtk# 2.0 Project" title="01_gtk-sharp_Screenshot-New Solution" width="630" height="599" class="size-full wp-image-820" /></a><p class="wp-caption-text">Select Gtk# 2.0 Project</p></div>
<div id="attachment_821" class="wp-caption alignnone" style="width: 714px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/02_gtk-sharp_Screenshot-New-Solution.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/02_gtk-sharp_Screenshot-New-Solution.png" alt="Select Project Features" title="02_gtk-sharp_Screenshot-New Solution" width="704" height="599" class="size-full wp-image-821" /></a><p class="wp-caption-text">Select Project Features</p></div>
<div id="attachment_822" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/03_gtk-sharp_Screenshot-MyGtkProject-Main.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/03_gtk-sharp_Screenshot-MyGtkProject-Main.cs-MonoDevelop-1024x768.png" alt="Hello World" title="03_gtk-sharp_Screenshot-MyGtkProject - Main.cs - MonoDevelop" width="1024" height="768" class="size-large wp-image-822" /></a><p class="wp-caption-text">Hello World</p></div>
<h3>Run project</h3>
<p>You can run this boilerplate by pressing Ctrl-F5</p>
<h3>Using the Designer</h3>
<p>Double-click on the file named <b>MainWindow.cs</b> in the <b>Solution</b> section.  When the file opens, click the <b>Designer</b> button below the code view.</p>
<div id="attachment_830" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/04_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/04_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x768.png" alt="The Designer" title="04_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs - MonoDevelop" width="1024" height="768" class="size-large wp-image-830" /></a><p class="wp-caption-text">The Designer</p></div>
<h4>The Toolbox</h4>
<p>To add the Toolbox, press Alt-Shift-B or click View->Toolbox.</p>
<p>Drag a <b>VBox</b> widget from the Toolbox to the main window.</p>
<div id="attachment_831" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/05_gtk-sharp_add_vbox.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/05_gtk-sharp_add_vbox-1024x801.png" alt="Add VBox" title="05_gtk-sharp_add_vbox" width="1024" height="801" class="size-large wp-image-831" /></a><p class="wp-caption-text">Add VBox</p></div>
<p>Drop a <b>Menu Bar</b> widget into the top cell of the VBox, and a <b>Statusbar</b> into the bottom.</p>
<div id="attachment_834" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/06_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/06_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x768.png" alt="Insert Menu and Status Bar" title="06_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="768" class="size-large wp-image-834" /></a><p class="wp-caption-text">Insert Menu and Status Bar</p></div>
<h4>Properties grid</h4>
<p>Drop a <b>Button</b> widget into the middle cell of the VBox.<br />
Add the <b>Properties</b> grid from the View menu (Alt+Shift+P or View->Properties).<br />
Select the new button by clicking on it.<br />
In the Properties grid, expand the <b>Button Properties</b> section and click the value of the <b>Label</b> field.  Delete the default content and replace it with a different string.</p>
<div id="attachment_837" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/07_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/07_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x676.png" alt="Button with new Label" title="07_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="676" class="size-large wp-image-837" /></a><p class="wp-caption-text">Button with new Label</p></div>
<h4>Adding a Click handler</h4>
<p>Select the button in the Designer view<br />
In the <b>Property</b> grid, select the <b>Signals</b> tab<br />
Click twice on the text in the column to the right of the <b>Clicked</b> and replace <i>Click here to add a new handler</i> with <i>MyButtonClickHandler</i></p>
<div id="attachment_844" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/08_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/08_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x676.png" alt="Add a click handler" title="08_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="676" class="size-large wp-image-844" /></a><p class="wp-caption-text">Add a click handler</p></div>
<p>Click on the <b>Source Code</b> button below the viewer window to switch to the C♯ code.  You can use the find tool to search for the new handler you created, called <i>MyButtonClickHandler</i>.  Ctrl-F will bring up the find dialogue.<br />
<div id="attachment_847" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/09_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/09_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x676.png" alt="Browse to click handler" title="09_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="676" class="size-large wp-image-847" /></a><p class="wp-caption-text">Browse to click handler</p></div></p>
<p>Add some code to update the status bar.</p>
<pre class="brush:c-sharp">
	protected virtual void MyButtonClickHandler (object sender, System.EventArgs e)
	{
		var contextId = this.statusbar1.GetContextId("clicked");
		this.statusbar1.Push(contextId, "Clicky-Clicky" );
	}
</pre>
<div id="attachment_849" class="wp-caption alignnone" style="width: 1033px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/10_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/10_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1023x556.png" alt="Click handler code" title="10_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs - MonoDevelop" width="1023" height="556" class="size-large wp-image-849" /></a><p class="wp-caption-text">Click handler code</p></div>
<h4>Modify button layout</h4>
<p>The size of the running window is a little weird.  I fixed mine by un-setting the <b>Auto Size</b> boolean and setting the <b>Expand</b> and <b>Fill</b> in the <b>Box Child Layout</b> section of the Properties grid.</p>
<div id="attachment_853" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/11_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/11_gtk-sharp_Screenshot-MyGtkProject-MainWindow.cs-MonoDevelop-1024x684.png" alt="Button layout changes" title="11_gtk-sharp_Screenshot-MyGtkProject - MainWindow.cs* - MonoDevelop" width="1024" height="684" class="size-large wp-image-853" /></a><p class="wp-caption-text">Button layout changes</p></div>
<h4>Exercise button click handler</h4>
<p>Run your application with Ctrl-F5 and click on the button.  You should see the new string show up in the status bar at the bottom left of the window.</p>
<div id="attachment_855" class="wp-caption alignnone" style="width: 319px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/12_gtk-sharp_unclicked.png" target="_blank"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/12_gtk-sharp_unclicked.png" alt="Not yet clicked" title="12_gtk-sharp_unclicked" width="309" height="105" class="size-full wp-image-855" /></a><p class="wp-caption-text">Not yet clicked</p></div>
<div id="attachment_856" class="wp-caption alignnone" style="width: 319px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/13_gtk-sharp_clicked.png" target="_blank"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/13_gtk-sharp_clicked.png" alt="Clicked + Status update" title="13_gtk-sharp_clicked" width="309" height="105" class="size-full wp-image-856" /></a><p class="wp-caption-text">Clicked + Status update</p></div>
<h4>Add Menu items</h4>
<div id="attachment_862" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/14_gtk-sharp_Create_File_Menu_Entry.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/14_gtk-sharp_Create_File_Menu_Entry-1024x684.png" alt="Create File Menu Entry" title="14_gtk-sharp_Create_File_Menu_Entry" width="1024" height="684" class="size-large wp-image-862" /></a><p class="wp-caption-text">Create File Menu Entry</p></div>
<div id="attachment_863" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/15_gtk-sharp_Create_File-Quit_Menu_Item.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/15_gtk-sharp_Create_File-Quit_Menu_Item-1024x684.png" alt="Create File-&gt;Quit Menu Item" title="15_gtk-sharp_Create_File-Quit_Menu_Item" width="1024" height="684" class="size-large wp-image-863" /></a><p class="wp-caption-text">Create File->Quit Menu Item</p></div>
<div id="attachment_864" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/16_gtk-sharp_Add_quit_event_handler.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/16_gtk-sharp_Add_quit_event_handler-1024x684.png" alt="Add Quit event handler" title="16_gtk-sharp_Add_quit_event_handler" width="1024" height="684" class="size-large wp-image-864" /></a><p class="wp-caption-text">Add Quit event handler</p></div>
<div id="attachment_865" class="wp-caption alignnone" style="width: 1034px"><a href="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/17_gtk-sharp_Add_Clear_Statusbar_Activate_Handler.png"><img src="http://wp.colliertech.org/cj/wp-content/uploads/2010/04/17_gtk-sharp_Add_Clear_Statusbar_Activate_Handler-1024x684.png" alt="Add Clear Statusbar Activate Handler" title="17_gtk-sharp_Add_Clear_Statusbar_Activate_Handler" width="1024" height="684" class="size-large wp-image-865" /></a><p class="wp-caption-text">Add Clear Statusbar Activate Handler</p></div>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=818</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>dlr-languages 20090805+git.e6b28d27+dfsg-1 in squeeze, -2 uploaded, nearly in lucid</title>
		<link>http://wp.colliertech.org/cj/?p=801</link>
		<comments>http://wp.colliertech.org/cj/?p=801#comments</comments>
		<pubDate>Wed, 24 Mar 2010 14:40:53 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[DLR]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[IronPython]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Washington State Ubuntu LoCo]]></category>
		<category><![CDATA[xbuild]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=801</guid>
		<!--description><![CDATA[Yay! The dlr-languages package has been migrated to testing, which means that it will be included in squeeze, the next release of Debian. Jo has uploaded the -2 version and it is now in sid. This version addresses the issues &#8230; <a href="http://wp.colliertech.org/cj/?p=801">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p>Yay!  The dlr-languages package has been migrated to testing, which means that it will be included <a href="http://packages.debian.org/source/squeeze/dlr-languages">in squeeze</a>, the next release of Debian.  <a href="http://www2.apebox.org/wordpress/">Jo</a> has uploaded the -2 version and it is now <a href="http://packages.debian.org/source/sid/dlr-languages">in sid</a>.  This version addresses the issues brought up in the Ubuntu Feature Freeze exception (FFe) <a href="https://bugs.launchpad.net/ubuntu/+source/ironpython/+bug/525547">bug</a>, so I expect that it will be accepted shortly.  Still lots of &#8220;ifs&#8221;, but this is pretty exciting for me, since this is my first debian package, and I&#8217;ve been intending to get it in for over two years.</p>
<p>I&#8217;m not just sitting on my hands while this happens.  I&#8217;ve been working with <a href="http://www.google.com/search?aq=f&#038;sourceid=chrome&#038;ie=UTF-8&#038;q=Ivan+Porto+Carrero">Ivan</a>, <a href="http://ankitjain.org/blog/">Ankit</a>, <a href="http://blogs.msdn.com/dinoviehland/">Dino</a> and <a href="http://blog.prokrams.com/">Michael</a> to get the next version of the package put together.  I&#8217;m currently merging Ivan&#8217;s latest branch into the changes I&#8217;ve made for DFSG compliance.  Dino <a href="http://lists.ironpython.com/pipermail/users-ironpython.com/2010-March/012347.html">recommended</a> that the next release include IronRuby 1.0 and IronPython 2.6.1, which should be released by upstream around the middle of April.</p>
]]></description>
			<content:encoded><![CDATA[<p>Yay!  The dlr-languages package has been migrated to testing, which means that it will be included <a href="http://packages.debian.org/source/squeeze/dlr-languages">in squeeze</a>, the next release of Debian.  <a href="http://www2.apebox.org/wordpress/">Jo</a> has uploaded the -2 version and it is now <a href="http://packages.debian.org/source/sid/dlr-languages">in sid</a>.  This version addresses the issues brought up in the Ubuntu Feature Freeze exception (FFe) <a href="https://bugs.launchpad.net/ubuntu/+source/ironpython/+bug/525547">bug</a>, so I expect that it will be accepted shortly.  Still lots of &#8220;ifs&#8221;, but this is pretty exciting for me, since this is my first debian package, and I&#8217;ve been intending to get it in for over two years.</p>
<p>I&#8217;m not just sitting on my hands while this happens.  I&#8217;ve been working with <a href="http://www.google.com/search?aq=f&#038;sourceid=chrome&#038;ie=UTF-8&#038;q=Ivan+Porto+Carrero">Ivan</a>, <a href="http://ankitjain.org/blog/">Ankit</a>, <a href="http://blogs.msdn.com/dinoviehland/">Dino</a> and <a href="http://blog.prokrams.com/">Michael</a> to get the next version of the package put together.  I&#8217;m currently merging Ivan&#8217;s latest branch into the changes I&#8217;ve made for DFSG compliance.  Dino <a href="http://lists.ironpython.com/pipermail/users-ironpython.com/2010-March/012347.html">recommended</a> that the next release include IronRuby 1.0 and IronPython 2.6.1, which should be released by upstream around the middle of April.</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=801</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I&#8217;ve disabled my user approve plugin</title>
		<link>http://wp.colliertech.org/cj/?p=797</link>
		<comments>http://wp.colliertech.org/cj/?p=797#comments</comments>
		<pubDate>Sun, 21 Mar 2010 22:48:14 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[IronPython]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Washington State Ubuntu LoCo]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=797</guid>
		<!--description><![CDATA[Sorry for the inconvenience folks. I was annoyed by having to mark so many comments as spam, but the plugin interface was so klugy that I had no idea how to find the users who would contribute useful posts. So. &#8230; <a href="http://wp.colliertech.org/cj/?p=797">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p>Sorry for the inconvenience folks.  I was annoyed by having to mark so many comments as spam, but the plugin interface was so klugy that I had no idea how to find the users who would contribute useful posts.  So.  Feel free to comment&#8230; Nao!</p>
]]></description>
			<content:encoded><![CDATA[<p>Sorry for the inconvenience folks.  I was annoyed by having to mark so many comments as spam, but the plugin interface was so klugy that I had no idea how to find the users who would contribute useful posts.  So.  Feel free to comment&#8230; Nao!</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=797</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>IronRuby continuous integration back online</title>
		<link>http://wp.colliertech.org/cj/?p=795</link>
		<comments>http://wp.colliertech.org/cj/?p=795#comments</comments>
		<pubDate>Sun, 21 Mar 2010 17:23:45 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[colliertech]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[DLR]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[IronPython]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[Washington State Ubuntu LoCo]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=795</guid>
		<!--description><![CDATA[We haven&#8217;t done much work on keeping the continuous integration (CI) machines online, and there haven&#8217;t been any new builds since November of &#8217;09. I should set Nagios to remind us when things get off track or something. The recent &#8230; <a href="http://wp.colliertech.org/cj/?p=795">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p>We haven&#8217;t done much work on keeping the continuous integration (CI) machines online, and there haven&#8217;t been any new builds since November of &#8217;09.  I should set Nagios to remind us when things get off track or something.  The recent acceptance of the DLR into Debian and our intention to get the next release produced has inspired me (and maybe others) to get things back up.</p>
<p><a href="http://flanders.co.nz/">Ivan</a> and I put a couple of Hudson instances up recently that you can reach via <a href="http://hudson-windows.colliertech.org/">hudson-windows.colliertech.org</a> and <a href="http://hudson-linux.colliertech.org/">hudson-linux.colliertech.org</a>.  The linux instance is dropping new builds of IronRuby to <a href="http://dlrci.colliertech.org/ironruby/">http://dlrci.colliertech.org/ironruby/</a>.  I expect we can tweak the build script a bit and have it also produce IronPython builds.  This would hypothetically drop the builds to <a href="http://dlrci.colliertech.org/ironpython/">http://dlrci.colliertech.org/ironpython/</a>.</p>
<p>Ivan mentioned that we may get CNAME records which would activate the <a href="http://windows-builds.ironruby.net">windows-builds.ironruby.net</a> and <a href="http://linux-builds.ironruby.net">linux-builds.ironruby.net</a> hosts as well.</p>
<p>Note that these builds are being produced from the linux branch of <a href="http://github.com/casualjim/ironruby/tree/linux">git://github.com/casualjim/ironruby.git</a></p>
<p>Thanks for your work on this, Ivan!</p>
]]></description>
			<content:encoded><![CDATA[<p>We haven&#8217;t done much work on keeping the continuous integration (CI) machines online, and there haven&#8217;t been any new builds since November of &#8217;09.  I should set Nagios to remind us when things get off track or something.  The recent acceptance of the DLR into Debian and our intention to get the next release produced has inspired me (and maybe others) to get things back up.</p>
<p><a href="http://flanders.co.nz/">Ivan</a> and I put a couple of Hudson instances up recently that you can reach via <a href="http://hudson-windows.colliertech.org/">hudson-windows.colliertech.org</a> and <a href="http://hudson-linux.colliertech.org/">hudson-linux.colliertech.org</a>.  The linux instance is dropping new builds of IronRuby to <a href="http://dlrci.colliertech.org/ironruby/">http://dlrci.colliertech.org/ironruby/</a>.  I expect we can tweak the build script a bit and have it also produce IronPython builds.  This would hypothetically drop the builds to <a href="http://dlrci.colliertech.org/ironpython/">http://dlrci.colliertech.org/ironpython/</a>.</p>
<p>Ivan mentioned that we may get CNAME records which would activate the <a href="http://windows-builds.ironruby.net">windows-builds.ironruby.net</a> and <a href="http://linux-builds.ironruby.net">linux-builds.ironruby.net</a> hosts as well.</p>
<p>Note that these builds are being produced from the linux branch of <a href="http://github.com/casualjim/ironruby/tree/linux">git://github.com/casualjim/ironruby.git</a></p>
<p>Thanks for your work on this, Ivan!</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=795</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>More DLR work</title>
		<link>http://wp.colliertech.org/cj/?p=791</link>
		<comments>http://wp.colliertech.org/cj/?p=791#comments</comments>
		<pubDate>Sun, 21 Mar 2010 05:43:37 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[colliertech]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[DLR]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[IronPython]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[Washington State Ubuntu LoCo]]></category>
		<category><![CDATA[xbuild]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=791</guid>
		<!--description><![CDATA[Ivan put up a hudson server on our winders box. Ankit helped me figure out the IronRuby xbuild build problems. I should probably try it on IronPython, too. I sent the ironruby-core list a patch to fix some case sensitivity &#8230; <a href="http://wp.colliertech.org/cj/?p=791">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p><a href="http://flanders.co.nz/">Ivan</a> put up a <a href="https://hudson.dev.java.net/">hudson</a> server on <a href="http://hudson.colliertech.org/computer/">our winders box</a>.  <a href="http://ankitjain.org/blog/">Ankit</a> helped me figure out <a href="http://rubyforge.org/pipermail/ironruby-core/2010-March/006629.html">the IronRuby xbuild build problems</a>.  I should probably try it on <a href="http://github.com/ironruby/ironruby/tree/c2a69ce30a8be06bb276e1f366533e8d5800c854/Merlin/Main/Languages/IronPython">IronPython</a>, too.  I sent the ironruby-core list <a href="http://rubyforge.org/pipermail/ironruby-core/2010-March/006631.html">a patch</a> to fix some case sensitivity issues.  Some time in the near future, I&#8217;m going to get together a bug report for the compiler and send it off to <a href="http://mareksafar.blogspot.com/">Marek</a>.  But I&#8217;m tired and Scarlet&#8217;s got a friend doing the sleep-over thing tonight.</p>
<p>So.  Later ;)</p>
<p>P.S., can you believe that nobody registered <a href="http://a11y.com/">a11y.com</a> before now?  Crazy talk.</p>
<p>P.P.S., does anyone out there in gnome land have a ruby app they want to test for compatibility with IronRuby?</p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://flanders.co.nz/">Ivan</a> put up a <a href="https://hudson.dev.java.net/">hudson</a> server on <a href="http://hudson.colliertech.org/computer/">our winders box</a>.  <a href="http://ankitjain.org/blog/">Ankit</a> helped me figure out <a href="http://rubyforge.org/pipermail/ironruby-core/2010-March/006629.html">the IronRuby xbuild build problems</a>.  I should probably try it on <a href="http://github.com/ironruby/ironruby/tree/c2a69ce30a8be06bb276e1f366533e8d5800c854/Merlin/Main/Languages/IronPython">IronPython</a>, too.  I sent the ironruby-core list <a href="http://rubyforge.org/pipermail/ironruby-core/2010-March/006631.html">a patch</a> to fix some case sensitivity issues.  Some time in the near future, I&#8217;m going to get together a bug report for the compiler and send it off to <a href="http://mareksafar.blogspot.com/">Marek</a>.  But I&#8217;m tired and Scarlet&#8217;s got a friend doing the sleep-over thing tonight.</p>
<p>So.  Later ;)</p>
<p>P.S., can you believe that nobody registered <a href="http://a11y.com/">a11y.com</a> before now?  Crazy talk.</p>
<p>P.P.S., does anyone out there in gnome land have a ruby app they want to test for compatibility with IronRuby?</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=791</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>IronRuby on OS X</title>
		<link>http://wp.colliertech.org/cj/?p=773</link>
		<comments>http://wp.colliertech.org/cj/?p=773#comments</comments>
		<pubDate>Thu, 18 Mar 2010 19:28:51 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[DLR]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[IronPython]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[novell]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Washington State Ubuntu LoCo]]></category>
		<category><![CDATA[xbuild]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=773</guid>
		<!--description><![CDATA[We had a visitor on #ironruby today asking for help getting IR running on his mac. I gave him the following directions, and they seemed to work aside from one glitch. I tested them on my wife&#8217;s mac, and it &#8230; <a href="http://wp.colliertech.org/cj/?p=773">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p>We had a visitor on #ironruby today asking for help getting IR running on his mac.  I gave him the following directions, and they seemed to work aside from one glitch.  I tested them on my wife&#8217;s mac, and it worked for me, too.</p>
<h3>Install Mono</h3>
<p>You can grab the Mono .dmg from <a href="http://www.go-mono.com/mono-downloads/download.html">go-mono.com</a>.  This will install the framework and put the required programs (mono, xbuild) in your PATH.</p>
<h3>Fetch the IronRuby source</h3>
<p>Since <a href="http://blog.jredville.com/">Jim Deville</a> likes macs, I&#8217;m sure more recent versions will work, but this is the one we&#8217;ve recently packaged up for <a href="http://packages.debian.org/source/sid/dlr-languages">Debian</a> and tested on <a href="https://bugs.launchpad.net/ubuntu/+source/ironpython/+bug/525547">Ubuntu</a>.  If you want to be certain that the IronRuby code you write on Debian works on OS X, then you should probably build from the same version of the source.  You should probably also install <a href="http://ftp.novell.com/pub/mono/archive/2.4.3/macos-10-universal/1/MonoFramework-2.4.3_1.macos10.novell.universal.dmg">version 2.4.3</a> of Mono, but that may be more effort than it&#8217;s worth ;)</p>
<p><a href="http://github.com/mletterle/ironruby/tarball/20090805+git.e6b28d27">http://github.com/mletterle/ironruby/tarball/20090805+git.e6b28d27</a></p>
<h3>Unpack the tarball</h3>
<p>Open up a terminal and unpack the thing you just downloaded:<br />
<br/></p>
<pre>
<b>$</b> mkdir ~/src/
<b>$</b> cd ~/src/
<b>$</b> tar xfz ~/Desktop/mletterle-ironruby-e6b28d2.tar.gz
<b>$</b> cd mletterle-ironruby-e6b28d2/
</pre>
<h3>Build IronRuby</h3>
<p>At this point, you should be able to build the IronRuby assemblies using xbuild.  I don&#8217;t recommend using rake, as it has some dependencies, and I&#8217;m not a fan of dependencies.<br />
<br/></p>
<pre>
<b>$</b> xbuild /p:TreatWarningsAsErrors=false Merlin/Main/Languages/Ruby/Ruby.sln
&lt;snip/&gt;
Build succeeded.
	 2817 Warning(s)
	 0 Error(s)

Time Elapsed 00:00:28.8378230
</pre>
<h3>Run the IronRuby interactive interpreter</h3>
<p>Our guest mentioned that he was using a terminal with a white background.  Do note that the font color of the interactive interpreter (aka Read-Eval-Print Loop or REPL) is white, so if you&#8217;re using a white background, you might want to change it.  IIRC, there is a way to change the font color using a configuration setting.  Figuring it out is left as an exercise for the reader.<br />
<br/></p>
<pre>
<b>$</b> mono Merlin/Main/Bin/Debug/ir.exe
IronRuby 0.9.0.0 on 2.6.3 (tarball Wed Mar 10 18:18:12 MST 2010)
Copyright (c) Microsoft Corporation. All rights reserved.

<b>&gt;&gt;&gt;</b> 1+2
=&gt; 3
<b>&gt;&gt;&gt;</b> exit()
</pre>
<h3>Extra credit: IronPython</h3>
<p>The tarball you downloaded also included the source to IronPython.  The procedure to build/run IronPython is pretty similar to IronRuby.</p>
<h3>Build IronPython</h3>
<p>Unlike IronRuby&#8217;s .sln, this version of IronPython&#8217;s .sln does not have a default configuration parameter, so we need to specify it with the /p:Configuration=Debug argument.<br />
<br/></p>
<pre>
<b>$</b> xbuild /p:TreatWarningsAsErrors=false /p:Configuration=Debug Merlin/Main/Languages/IronPython/IronPython.sln
&lt;snip/&gt;
	 69 Warning(s)
	 0 Error(s)

Time Elapsed 00:00:38.8057450
</pre>
<h3>Run the IronPython interactive interpreter</h3>
<p>IronPython has a REPL interface like IronRuby&#8217;s.  Or is it the other way around?  Anyway, here&#8217;s an example.<br />
<br/></p>
<pre>
<b>$</b> mono .//Merlin/Main/Bin/Debug/ipy.exe    
IronPython 2.6 Beta 2 DEBUG (2.6.0.20) on .NET 2.0.50727.1433
Type "help", "copyright", "credits" or "license" for more information.
<b>&gt;&gt;&gt;</b> 1+2
3
<b>&gt;&gt;&gt;</b> ^D
</pre>
]]></description>
			<content:encoded><![CDATA[<p>We had a visitor on #ironruby today asking for help getting IR running on his mac.  I gave him the following directions, and they seemed to work aside from one glitch.  I tested them on my wife&#8217;s mac, and it worked for me, too.</p>
<h3>Install Mono</h3>
<p>You can grab the Mono .dmg from <a href="http://www.go-mono.com/mono-downloads/download.html">go-mono.com</a>.  This will install the framework and put the required programs (mono, xbuild) in your PATH.</p>
<h3>Fetch the IronRuby source</h3>
<p>Since <a href="http://blog.jredville.com/">Jim Deville</a> likes macs, I&#8217;m sure more recent versions will work, but this is the one we&#8217;ve recently packaged up for <a href="http://packages.debian.org/source/sid/dlr-languages">Debian</a> and tested on <a href="https://bugs.launchpad.net/ubuntu/+source/ironpython/+bug/525547">Ubuntu</a>.  If you want to be certain that the IronRuby code you write on Debian works on OS X, then you should probably build from the same version of the source.  You should probably also install <a href="http://ftp.novell.com/pub/mono/archive/2.4.3/macos-10-universal/1/MonoFramework-2.4.3_1.macos10.novell.universal.dmg">version 2.4.3</a> of Mono, but that may be more effort than it&#8217;s worth ;)</p>
<p><a href="http://github.com/mletterle/ironruby/tarball/20090805+git.e6b28d27">http://github.com/mletterle/ironruby/tarball/20090805+git.e6b28d27</a></p>
<h3>Unpack the tarball</h3>
<p>Open up a terminal and unpack the thing you just downloaded:<br />
<br/></p>
<pre>
<b>$</b> mkdir ~/src/
<b>$</b> cd ~/src/
<b>$</b> tar xfz ~/Desktop/mletterle-ironruby-e6b28d2.tar.gz
<b>$</b> cd mletterle-ironruby-e6b28d2/
</pre>
<h3>Build IronRuby</h3>
<p>At this point, you should be able to build the IronRuby assemblies using xbuild.  I don&#8217;t recommend using rake, as it has some dependencies, and I&#8217;m not a fan of dependencies.<br />
<br/></p>
<pre>
<b>$</b> xbuild /p:TreatWarningsAsErrors=false Merlin/Main/Languages/Ruby/Ruby.sln
&lt;snip/&gt;
Build succeeded.
	 2817 Warning(s)
	 0 Error(s)

Time Elapsed 00:00:28.8378230
</pre>
<h3>Run the IronRuby interactive interpreter</h3>
<p>Our guest mentioned that he was using a terminal with a white background.  Do note that the font color of the interactive interpreter (aka Read-Eval-Print Loop or REPL) is white, so if you&#8217;re using a white background, you might want to change it.  IIRC, there is a way to change the font color using a configuration setting.  Figuring it out is left as an exercise for the reader.<br />
<br/></p>
<pre>
<b>$</b> mono Merlin/Main/Bin/Debug/ir.exe
IronRuby 0.9.0.0 on 2.6.3 (tarball Wed Mar 10 18:18:12 MST 2010)
Copyright (c) Microsoft Corporation. All rights reserved.

<b>&gt;&gt;&gt;</b> 1+2
=&gt; 3
<b>&gt;&gt;&gt;</b> exit()
</pre>
<h3>Extra credit: IronPython</h3>
<p>The tarball you downloaded also included the source to IronPython.  The procedure to build/run IronPython is pretty similar to IronRuby.</p>
<h3>Build IronPython</h3>
<p>Unlike IronRuby&#8217;s .sln, this version of IronPython&#8217;s .sln does not have a default configuration parameter, so we need to specify it with the /p:Configuration=Debug argument.<br />
<br/></p>
<pre>
<b>$</b> xbuild /p:TreatWarningsAsErrors=false /p:Configuration=Debug Merlin/Main/Languages/IronPython/IronPython.sln
&lt;snip/&gt;
	 69 Warning(s)
	 0 Error(s)

Time Elapsed 00:00:38.8057450
</pre>
<h3>Run the IronPython interactive interpreter</h3>
<p>IronPython has a REPL interface like IronRuby&#8217;s.  Or is it the other way around?  Anyway, here&#8217;s an example.<br />
<br/></p>
<pre>
<b>$</b> mono .//Merlin/Main/Bin/Debug/ipy.exe    
IronPython 2.6 Beta 2 DEBUG (2.6.0.20) on .NET 2.0.50727.1433
Type "help", "copyright", "credits" or "license" for more information.
<b>&gt;&gt;&gt;</b> 1+2
3
<b>&gt;&gt;&gt;</b> ^D
</pre>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=773</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dlr-languages_20090805+git.e6b28d27+dfsg-1_amd64.changes ACCEPTED</title>
		<link>http://wp.colliertech.org/cj/?p=767</link>
		<comments>http://wp.colliertech.org/cj/?p=767#comments</comments>
		<pubDate>Thu, 11 Mar 2010 14:55:43 +0000</pubDate>
		<dc:creator>C.J. Adams-Collier</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[DLR]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[IronPython]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Washington State Ubuntu LoCo]]></category>
		<category><![CDATA[xbuild]]></category>

		<guid isPermaLink="false">http://wp.colliertech.org/cj/?p=767</guid>
		<!--description><![CDATA[I&#8217;m happy to announce that after the filing of an Intent to Package and nearly 2 years of work, IronRuby 0.9, IronPython 2.6b2, and the DLR are now in Debian. To my knowledge, this is the first package in Debian &#8230; <a href="http://wp.colliertech.org/cj/?p=767">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description-->
		<description><![CDATA[<p>I&#8217;m happy to announce that after the filing of an <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481431#5">Intent to Package</a> and nearly 2 years of work, IronRuby 0.9, IronPython 2.6b2, and the DLR are now in Debian. To my knowledge, this is the first package in Debian with direct and active upstream support from Microsoft.</p>
<p>Kudos for this release go to <a href="http://www2.apebox.org/wordpress/rants/">Jo Sheilds</a> (package sponsorship &#038; mentoring),  <a href="http://www.meebey.net/jaws/">Mirco Bauer</a> (package sponsorship &#038; mentoring), <a href="http://qa.debian.org/developer.php?login=doko@debian.org">Matthias Klose</a> (IronPython package review), <a href="http://flanders.co.nz/">Ivan Porto Carrero</a> (IronRuby build/test support), <a href="http://blog.prokrams.com/">Michael Letterle</a> (IronRuby build/test support), <a href="http://blog.jredville.com/">Jim Deville</a> (IronRuby build/test support), <a href="http://blog.jredville.com/">Jimmy Schementi</a> (upstream point of contact @ Microsoft), <a href="http://blogs.msdn.com/dinoviehland/">Dino Viehland</a> (IronPython build/test support), <a href="http://www.voidspace.org.uk/">Michael Foord</a> (IronPython build/test support), <a href="http://mareksafar.blogspot.com/">Marek Safar</a> (mono c# compiler support), <a href="http://ankitjain.org/blog/">Ankit Jain</a> (xbuild support), the folks on OFTC&#8217;s #debian-cli, Freenode&#8217;s #ironruby and GimpNet&#8217;s #mono, and the folks on the IronRuby and IronPython mailing lists.</p>
<p>This is my first package in Debian, too.  I&#8217;m pretty ecstatic ;)</p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce that after the filing of an <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481431#5">Intent to Package</a> and nearly 2 years of work, IronRuby 0.9, IronPython 2.6b2, and the DLR are now in Debian. To my knowledge, this is the first package in Debian with direct and active upstream support from Microsoft.</p>
<p>Kudos for this release go to <a href="http://www2.apebox.org/wordpress/rants/">Jo Sheilds</a> (package sponsorship &#038; mentoring),  <a href="http://www.meebey.net/jaws/">Mirco Bauer</a> (package sponsorship &#038; mentoring), <a href="http://qa.debian.org/developer.php?login=doko@debian.org">Matthias Klose</a> (IronPython package review), <a href="http://flanders.co.nz/">Ivan Porto Carrero</a> (IronRuby build/test support), <a href="http://blog.prokrams.com/">Michael Letterle</a> (IronRuby build/test support), <a href="http://blog.jredville.com/">Jim Deville</a> (IronRuby build/test support), <a href="http://blog.jredville.com/">Jimmy Schementi</a> (upstream point of contact @ Microsoft), <a href="http://blogs.msdn.com/dinoviehland/">Dino Viehland</a> (IronPython build/test support), <a href="http://www.voidspace.org.uk/">Michael Foord</a> (IronPython build/test support), <a href="http://mareksafar.blogspot.com/">Marek Safar</a> (mono c# compiler support), <a href="http://ankitjain.org/blog/">Ankit Jain</a> (xbuild support), the folks on OFTC&#8217;s #debian-cli, Freenode&#8217;s #ironruby and GimpNet&#8217;s #mono, and the folks on the IronRuby and IronPython mailing lists.</p>
<p>This is my first package in Debian, too.  I&#8217;m pretty ecstatic ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.colliertech.org/cj/?feed=rss2&#038;p=767</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
