<?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>TylerBurton.ca &#187; Linux</title>
	<atom:link href="http://www.tylerburton.ca/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tylerburton.ca</link>
	<description></description>
	<lastBuildDate>Wed, 25 Aug 2010 21:19:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Trying out the Chakra Project</title>
		<link>http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/</link>
		<comments>http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 01:44:17 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Chakra]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[rekonq]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=361</guid>
		<description><![CDATA[After a little bit of pressure from the people responding to my previous post (My search for the best KDE Linux distribution), I have finally given in and tried out Chakra. The Chakra Project starts with Arch Linux as a base but, instead of forcing you to build your own distro piece of piece, Chakra [...]]]></description>
			<content:encoded><![CDATA[<p>After a little bit of pressure from the people responding to my previous post (<a href="http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/" target="_blank">My search for the best KDE Linux distribution</a>), I have finally given in and tried out Chakra. <a href="http://chakra-project.org/" target="_blank">The Chakra Project</a> starts with <a href="http://www.archlinux.org/" target="_blank">Arch Linux</a> as a base but, instead of forcing you to <em>build</em> your own distro piece of piece, Chakra comes more or less pre-packaged.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/08/livecd.jpg"><img class="aligncenter size-medium wp-image-364" src="http://www.tylerburton.ca/files/wordpress/2010/08/livecd-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><strong>Installation</strong></p>
<p>The installation was one of the best I&#8217;ve ever seen. For alpha software this distribution&#8217;s first point of interaction is already very polished &#8211; even warning me that it is not stable software and might therefore <em>eat my hamster</em>.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/08/install1.jpg"><img class="aligncenter size-medium wp-image-363" src="http://www.tylerburton.ca/files/wordpress/2010/08/install1-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>The install process even let me decide to install some very useful packages, like Microsoft Core TTF Fonts and Adobe Flash, right away. Even the Language &amp; Time step was incredible, offering a rotating globe that I could drag around and manipulate.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/08/install2.jpg"><img class="aligncenter size-medium wp-image-365" src="http://www.tylerburton.ca/files/wordpress/2010/08/install2-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>The only issue I had was trying to create a disk partition to install the OS to. This was because I was trying this out inside of <a href="http://www.virtualbox.org/" target="_blank">VirtualBox</a>, and the virtual hard disk did not have any partitions on it whatsoever. There is a bug and (thankfully) work-around for this <a href="http://chakra-project.org/wiki/index.php/Frequently_Encountered_Problems#Tribe_can.27t_create_partition_tables" target="_blank">known issue</a> with their Tribe installer, and after reading a quick walk-through I was once again ready to install.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/08/install3.jpg"><img class="size-medium wp-image-365" src="http://www.tylerburton.ca/files/wordpress/2010/08/install3-300x223.jpg" alt="" width="300" height="225" align="center" /></a><a href="http://www.tylerburton.ca/files/wordpress/2010/08/install4.jpg"><img class="size-medium wp-image-365" src="http://www.tylerburton.ca/files/wordpress/2010/08/install4-300x224.jpg" alt="" width="300" height="225" align="center" /></a></p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/08/install5.jpg"><img class="size-medium wp-image-365" src="http://www.tylerburton.ca/files/wordpress/2010/08/install5-300x221.jpg" alt="" width="300" height="225" align="center" /></a><a href="http://www.tylerburton.ca/files/wordpress/2010/08/install6.jpg"><img class="size-medium wp-image-365" src="http://www.tylerburton.ca/files/wordpress/2010/08/install6-300x223.jpg" alt="" width="300" height="225" align="center" /></a></p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/08/install7.jpg"><img class="size-medium wp-image-365" src="http://www.tylerburton.ca/files/wordpress/2010/08/install7-300x225.jpg" alt="" width="300" height="225" align="center" /></a><a href="http://www.tylerburton.ca/files/wordpress/2010/08/install8.jpg"><img class="size-medium wp-image-365" src="http://www.tylerburton.ca/files/wordpress/2010/08/install8-300x222.jpg" alt="" width="300" height="225" align="center" /></a></p>
<p><strong>The Desktop</strong></p>
<p>The desktop is standard KDE version 4.4.2 after install. Opening up Pacman (or is it Shaman?) showed me a list of brand new software that I could install, including the newest KDE 4.5. One of Project Chakra&#8217;s great strengths will be in this rolling release of new software updates. The concept of installing once and <em>always</em> having the most up-to-date applications is very intriguing.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/08/shaman.jpg"><img class="aligncenter size-medium wp-image-377" src="http://www.tylerburton.ca/files/wordpress/2010/08/shaman-300x205.jpg" alt="" width="300" height="205" /></a></p>
<p>Unfortunately, as with most alpha software, Shaman is still pretty buggy and often crashed whenever I tried to apply the updates. Also unfortunate is that Shaman started a trend of applications simply crashing for no reason. I don&#8217;t want to give this distribution a bad reputation, because it is still pre-release software, but I think it goes without saying that the developers have some bug squashing to do before a stable release will be ready. Something I found rather strange is that the current default software selection that Chakra ships with includes two different browsers, Konqueror and rekonq, but no office software whatsoever.</p>
<div id="attachment_379" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tylerburton.ca/files/wordpress/2010/08/rekonq.jpg"><img class="size-medium wp-image-379" src="http://www.tylerburton.ca/files/wordpress/2010/08/rekonq-300x213.jpg" alt="" width="300" height="213" /></a><p class="wp-caption-text">Google Chrome much?</p></div>
<p><strong>Final Thoughts (for now!)<br />
</strong></p>
<p>The Chakra Project looks very promising, albeit very unpolished at the moment. If they can manage to fix up the rest of the distribution, getting it just as polished feeling as the installer, this will definitely be one to look out for. I look forward to trying it out again once it hits a stable release.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/&amp;title=Trying+out+the+Chakra+Project" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/&amp;title=Trying+out+the+Chakra+Project" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/&amp;t=Trying+out+the+Chakra+Project" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/&amp;title=Trying+out+the+Chakra+Project" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/&amp;title=Trying+out+the+Chakra+Project" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/&amp;title=Trying+out+the+Chakra+Project" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Trying+out+the+Chakra+Project+-+http://b2l.me/aks9qf&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2010/08/trying-out-the-charka-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My search for the best KDE Linux distribution</title>
		<link>http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/</link>
		<comments>http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 22:19:24 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Linux Mint]]></category>
		<category><![CDATA[openSUSE]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=265</guid>
		<description><![CDATA[As some of you already know, I am a big fan of the KDE desktop environment (or KDE Workspaces or whatever they&#8217;re calling it these days). In my search to reach Linux KDE perfection I have tested out a number of different distributions. First there was Fedora, which I happily ran throughout the length of [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you already know, I am a big fan of the KDE desktop environment (or <a href="http://en.wikipedia.org/wiki/KDE#Brand_repositioning" target="_blank"><em>KDE Workspaces</em></a> or whatever they&#8217;re calling it these days). In my search to reach Linux KDE perfection I have tested out a number of different distributions. First there was <a href="http://fedoraproject.org/" target="_blank">Fedora</a>, which I happily ran throughout the length of the experiment. Once that was finished I attempted to install and try both <a href="http://www.kubuntu.org/" target="_blank">Kubuntu</a> and <a href="http://www.opensuse.org" target="_blank">openSUSE</a>. Unfortunately I was <a href="http://thelinuxexperiment.com/guinea-pigs/tyler-b/kubuntu-9-10-part-i/" target="_blank">unable to do so</a> after openSUSE decided not to play nice. However my search did not stop there, and once the community edition was ready I jumped over to <a href="http://www.linuxmint.com/" target="_blank">Linux Mint KDE CE</a>. Finally I decided to once again try openSUSE, this time installing from a USB drive. This somehow resolved all of my installation issues.</p>
<p>Now that I have tried out quite a few of the most popular distributions I figured I would write a little bit to tell you fine people my thoughts on each, and why I will be sticking with openSUSE for the near future.</p>
<p><strong>Fedora 11</strong></p>
<ul>
<li><strong><em>KDE Version:</em></strong> 4.2 &#8211; 4.3</li>
<li><strong><em>Pros:</em></strong> very secure, not too many modifications of the KDE source, cutting edge</li>
<li><strong><em>Cons:</em></strong> could have really used some more modifications of the base KDE packages in order to better integrate GTK+, Bluetooth problems, not always stable</li>
<li><strong><em>Thoughts:</em></strong>
<p>I have written at length about my experiences with Fedora during this experiment. Without re-writing everything again here let me simply say this: Fedora is primarily a GNOME distribution and I could never shake the feeling that KDE got the left-over treatment.</p>
</li>
</ul>
<p><strong>Kubuntu</strong></p>
<ul>
<li><strong><em>KDE Version:</em></strong> 4.3</li>
<li><strong><em>Pros:</em></strong> very easy to use, nice integration of GTK+ and GNOME notifications, access to Ubuntu support</li>
<li><strong><em>Cons:</em></strong> the hardware drivers application (jockey) simply did not work, very bad sound issues, Firefox could not handle opening file types</li>
<li><strong><em>Thoughts:</em></strong>
<p>When I first installed Kubuntu I was thrilled. Ah, this must be what it&#8217;s like to use a <em>real</em> KDE distribution, I thought. Everything seemed smoother and far more integrated then it did in Fedora. For example: OpenOffice.org had a KDE theme and it&#8217;s file browser actually used the native KDE one. Furthermore the notification system was awesome. Now instead of a GNOME application, like Pidgin, generating GNOME notifications, it instead integrated right into the standard KDE equivalent.
</p>
<p>
Then the problems started to show up. Oh I&#8217;ll just download this torrent file and&#8230; hmm Firefox doesn&#8217;t seem to know what to do with it. Why can&#8217;t I set the file type options inside of Firefox for torrents? Why doesn&#8217;t it use the system defaults? Then the sound issues came. YouTube stopped putting out audio all together and all of my attempts to fix it were futile. Maybe it&#8217;s just my hardware but Kubuntu just could not handle multimedia at all.
</p>
<p>
While Kubuntu is definitely one of the better KDE experiences it is by no means problem free.</p>
</li>
</ul>
<p><strong>Linux Mint KDE CE</strong></p>
<ul>
<li><strong><em>KDE Version:</em></strong> 4.3</li>
<li><strong><em>Pros:</em></strong> excellent package manager, easy to use</li>
<li><strong><em>Cons:</em></strong> sound issues, WiFi issues, is this actually a KDE desktop? there are so many GTK+ applications in it&#8230;</li>
<li><strong><em>Thoughts:</em></strong>
<p>After hearing much praise for Linux Mint I decided to give the newly released KDE community edition a go. I must say at first I was very impressed. The package manager was far superior to KPackageKit and even included things like user ratings and comments. It also came bundled with many tools and applications designed specifically for Linux Mint. Sadly very few of these were re-written in Qt and so I was forced to deal with GTK+ skinning almost everywhere.
</p>
<p>Sound issues similar to those in Kubuntu (maybe it&#8217;s something in the shared source?) started to crop up almost immediately. Again YouTube just did not work no matter how much I tried to fix it. Finally the WiFi connection was very poor, often disconnected on what seemed like a  specific interval.
</p>
<p>
While I think this distribution has a lot going for it I can only suggest the GNOME desktop for those who want to give it a try. The KDE version just does not seem polished enough to be recommended for someone looking for the ultimate KDE distribution.</p>
</li>
</ul>
<p><strong>openSUSE</strong></p>
<ul>
<li><strong><em>KDE Version:</em></strong> 4.3</li>
<li><strong><em>Pros:</em></strong> very responsive, a lot of streamlined tweaks, rock solid WiFi, excellent audio</li>
<li><strong><em>Cons:</em></strong> slower to boot, uses quite a bit of RAM, too much green <img src='http://www.tylerburton.ca/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </li>
<li><strong><em>Thoughts:</em></strong>
<p>Installing openSUSE seemed like an awful idea. After reading all of the complaints that both <a href="http://thelinuxexperiment.com/category/guinea-pigs/phil-d/" target="_blank">Phil</a> and <a href="http://thelinuxexperiment.com/category/guinea-pigs/dave-l/" target="_blank">Dave</a> had written over the course of the experiment I have to admit I was a little hesitant. However, I am very happy I decided to try it anyway; openSUSE is an excellent KDE distribution.
</p>
<p>
Everything about it, from the desktop to the little helpful wizards, all seem to be designed with one purpose in mind: make openSUSE the easiest, or at the very least most straightforward, distribution possible. <a href="http://en.wikipedia.org/wiki/Yet_another_Setup_Tool" target="_blank">YaST</a>, often a major source of hate from my fellow Guinea Pigs, does indeed have some quirks. However I honestly think that it is a very good tool, and something that streamlines many administrative tasks. Want <a href="http://en.wikipedia.org/wiki/Samba_%28software%29" target="_blank">SAMBA</a> network sharing? Just open up YaST and click on the wizard. Want restricted codecs? Just hop on over to <a href="http://opensuse-community.org/Restricted_Formats/11.2" target="_blank">openSUSE-Community</a> and download the ymp file (think of it like a Windows exe).
</p>
<p>
My time with openSUSE so far has been wonderful. My network card seems to actually get better range then ever before, if that&#8217;s even possible. My battery life is good and my sound just plain works without any additional effort. If I had one complaint it would be with the amount of RAM the distribution uses. After a quick reboot it takes up a very small amount, around ~350MB or so. However after a couple of hours of general use the RAM often grows to about 1-1.5GB, which is far more than I have seen with the other distributions. Thankfully I have 4GB of RAM so I&#8217;m not too worried. I wonder if it has something to do with the fact that I am running the x64 version and not the x86 version. Perhaps it assumes I have at least 4GB of RAM for choosing the newer architecture.
</p>
<p>
Whatever the case may be I think I have finally found what I consider to be the very best KDE Linux distribution. Obviously your results may vary but I look forward to hearing what you think.</p>
</li>
</ul>
<p>This piece was cross-posted over at <a href="http://thelinuxexperiment.com/guinea-pigs/tyler-b/my-search-for-the-best-kde-linux-distribution/">The Linux Experiment.</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/&amp;title=My+search+for+the+best+KDE+Linux+distribution" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/&amp;title=My+search+for+the+best+KDE+Linux+distribution" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/&amp;t=My+search+for+the+best+KDE+Linux+distribution" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/&amp;title=My+search+for+the+best+KDE+Linux+distribution" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/&amp;title=My+search+for+the+best+KDE+Linux+distribution" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/&amp;title=My+search+for+the+best+KDE+Linux+distribution" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=My+search+for+the+best+KDE+Linux+distribution+-+http://b2l.me/hymxy&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2010/03/my-search-for-the-best-kde-linux-distribution/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Resource Tests: Java vs Mono/.NET</title>
		<link>http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/</link>
		<comments>http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 04:56:20 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[Created by Tyler Burton]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Comparison]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=140</guid>
		<description><![CDATA[As someone who has recently begun to experiment with the Linux operating system I have also been introduced to .NET&#8217;s Linux&#8217;s cousin Mono. This has made me question what the best cross-platform program language to use is. I am familiar with both Java and various .NET languages (Visual Basic &#38; C#) so I decided to [...]]]></description>
			<content:encoded><![CDATA[<p>As someone who has recently begun to experiment with the Linux operating system I have also been introduced to <a href="http://en.wikipedia.org/wiki/.NET_Framework">.NET&#8217;s</a> Linux&#8217;s cousin <a href="http://en.wikipedia.org/wiki/Mono_%28software%29">Mono</a>. This has made me question what the best cross-platform program language to use is. I am familiar with both <a href="http://en.wikipedia.org/wiki/Java_%28software_platform%29">Java</a> and various .NET languages (Visual Basic &amp; C#) so I decided to run a few tests to see what the resource usage on my Linux laptop is like between these two competing platforms.</p>
<p><span style="text-decoration: underline;"><strong>Hardware</strong></span></p>
<p><em>CPU Information</em></p>
<ul>
<li><strong>Processor (CPU):</strong> Intel Core2Duo CPU P8600 @ 2.40GHz</li>
</ul>
<p><em>Memory Information</em></p>
<ul>
<li><strong>Total Memory (RAM):</strong> 4GiB</li>
<li><strong>Swap Partition Size:</strong> ~6GiB</li>
</ul>
<p><em>OS Information</em></p>
<ul>
<li><strong>OS:</strong> Linux 2.6.30.9-102.fc11.x86_64</li>
<li><strong>System:</strong> Fedora  11</li>
<li><strong>Desktop Environment:</strong> KDE 4.3.3</li>
</ul>
<p><em>Display Info</em></p>
<ul>
<li><strong>Model:</strong> ATI Mobility Radeon HD 4670</li>
<li><strong>Driver:</strong> 2.1.9026 FireGL</li>
</ul>
<p><em>Hard Drive Info</em></p>
<ul>
<li><strong>Memory:</strong> 320GiB 7,200 RPM SATA</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Software</strong></span></p>
<p>I am using Java version 1.6.0 and Mono version 2.4.2.3 for these tests.</p>
<p><span style="text-decoration: underline;"><strong>Test Setup</strong></span></p>
<p>For the following tests I have provided source code for both the Java and the C# implementations. I then ran the programs and checked their CPU and memory usage.</p>
<p><span style="text-decoration: underline;"><strong>Test I</strong></span></p>
<p>Simple write/read test to the console. CPU usage was recorded before the read.</p>
<p><em>Java code:</em></p>
<p>import java.io.IOException;</p>
<p>public class TestI {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void main(String[] args) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&#8220;Hello World&#8221;);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.in.read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>}</p>
<p><em>C# code:</em></p>
<p>using System;</p>
<p>namespace TestI<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class MainClass<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void Main(string[] args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#8220;Hello World!&#8221;);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(e.StackTrace);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p>
<p><em>Results:</em></p>
<table border="1">
<tr>
<td></td>
<td>Java</td>
<td>C#</td>
</tr>
<tr>
<td>Memory Usage:</td>
<td>5.6MiB</td>
<td>2.2MiB</td>
</tr>
<tr>
<td>CPU Usage:</td>
<td>0%</td>
<td>0%</td>
</tr>
</table>
<p><span style="text-decoration: underline;"><strong>Test II</strong></span></p>
<p>Simple primitive variable usage. CPU usage was recorded before the read.</p>
<p><em>Java code:</em></p>
<p>import java.io.IOException;</p>
<p>public class TestII {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void main(String[] args) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;byte b = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short s = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long l = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float f = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double d = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean bo = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char c = &#8216;a&#8217;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//set them all to something<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bo = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c = &#8216;b&#8217;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.in.read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>}</p>
<p><em>C# code:</em></p>
<p>using System;</p>
<p>namespace TestII<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class MainClass<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void Main(string[] args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;byte b = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short s = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long l = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float f = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double d = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bool bo = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char c = &#8216;a&#8217;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//set them all to something<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bo = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c = &#8216;b&#8217;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(e.StackTrace);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p>
<p><em>Results:</em></p>
<table border="1">
<tr>
<td></td>
<td>Java</td>
<td>C#</td>
</tr>
<tr>
<td>Memory Usage:</td>
<td>5.6MiB</td>
<td>2.1MiB</td>
</tr>
<tr>
<td>CPU Usage:</td>
<td>0%</td>
<td>0%</td>
</tr>
</table>
<p><span style="text-decoration: underline;"><strong>Test III</strong></span></p>
<p>Simple primitive variable usage, this time with arrays. Same as above but with arrays of 10,000 for each primitive. The arrays were set using loops similar in structure to the following:</p>
<p>for(int x=0; x<10000; x++)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b[x] = 1;<br />
}</p>
<p><em>Results:</em></p>
<table border="1">
<tr>
<td></td>
<td>Java</td>
<td>C#</td>
</tr>
<tr>
<td>Memory Usage:</td>
<td>5.9MiB</td>
<td>2.4MiB</td>
</tr>
<tr>
<td>CPU Usage:</td>
<td>0%</td>
<td>0%</td>
</tr>
</table>
<p><span style="text-decoration: underline;"><strong>Test IV</strong></span></p>
<p>Simple object usage. CPU usage was recorded before the read.</p>
<p><em>Java code:</em></p>
<p>import java.io.IOException;</p>
<p>public class TestIV {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void main(String[] args) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleClass sc = new SimpleClass();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc.setID(5);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc.setName(&#8220;Hello World&#8221;);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(sc.getString());</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.in.read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>}</p>
<p>public class SimpleClass {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private int _ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private String _name;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public SimpleClass()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//default constructor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public SimpleClass(int ID, String name)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ID = ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_name = name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public int getID()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return _ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void setID(int ID)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ID = ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public String getString()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return _name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void setName(String name)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_name = name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p>
<p><em>C# code:</em></p>
<p>using System;</p>
<p>namespace TestIV<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class MainClass<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void Main(string[] args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleClass sc = new SimpleClass();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc.setID(5);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc.setName(&#8220;Hello World&#8221;);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(sc.getString());</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(e.StackTrace);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p>
<p>using System;</p>
<p>namespace TestIV<br />
{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public class SimpleClass<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private int _ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private String _name;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public SimpleClass()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//default constructor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public SimpleClass(int ID, String name)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ID = ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_name = name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public int getID()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return _ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void setID(int ID)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ID = ID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public String getString()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return _name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void setName(String name)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_name = name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p>
<p><em>Results:</em></p>
<table border="1">
<tr>
<td></td>
<td>Java</td>
<td>C#</td>
</tr>
<tr>
<td>Memory Usage:</td>
<td>5.6MiB</td>
<td>2.2MiB</td>
</tr>
<tr>
<td>CPU Usage:</td>
<td>0%</td>
<td>0%</td>
</tr>
</table>
<p><span style="text-decoration: underline;"><strong>Test V</strong></span></p>
<p>Simple object usage, this time with arrays. Same as above but with arrays of 10,000 for each object. The arrays were set using loops similar in structure to test III:</p>
<p><em>Java code:</em></p>
<p>import java.io.IOException;</p>
<p>public class TestV {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void main(String[] args) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleClass[] sc = new SimpleClass[10000];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int x=0; x<10000; x++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc[x] = new SimpleClass();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc[x].setID(5);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc[x].setName("Hello World");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(sc[x].getString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.in.read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>}</p>
<p><em>C# code:</em></p>
<p>using System;</p>
<p>namespace TestV<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class MainClass<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void Main(string[] args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleClass[] sc = new SimpleClass[10000];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int x=0; x<10000; x++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc[x] = new SimpleClass();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc[x].setID(5);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc[x].setName("Hello World");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(sc[x].getString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(e.StackTrace);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p>
<p><em>Results:</em></p>
<table border="1">
<tr>
<td></td>
<td>Java</td>
<td>C#</td>
</tr>
<tr>
<td>Memory Usage:</td>
<td>10.1MiB</td>
<td>2.6MiB</td>
</tr>
<tr>
<td>CPU Usage:</td>
<td>8%</td>
<td>2%</td>
</tr>
</table>
<p><span style="text-decoration: underline;"><strong>Test VI</strong></span></p>
<p>Everyone&#8217;s favourite bubble sort with 10,000 integers.</p>
<p><em>Java code:</em></p>
<p>import java.io.IOException;</p>
<p>public class TestVI {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void main(String[] args) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int[] array = new int[10000];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//fill array<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i<array.length;i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array[i] = 10000-i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean swapped;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swapped = false;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i<array.length - 1;i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(array[i] > array[i+1])<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int temp = array[i+1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array[i+1] = array[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array[i] = temp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swapped = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}while(swapped);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&#8220;Sorted&#8221;);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.in.read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (IOException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>}</p>
<p><em>C# code:</em></p>
<p>using System;</p>
<p>namespace TestVI<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class MainClass<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static void Main(string[] args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int[] arr = new int[10000];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//fill array<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i<arr.Length;i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i] = 10000-i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bool swapped;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swapped = false;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i<arr.Length - 1;i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(arr[i] > arr[i+1])<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int temp = arr[i+1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i+1] = arr[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i] = temp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swapped = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}while(swapped);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#8220;Sorted&#8221;);	</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Read();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(e.StackTrace);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p>
<p><em>Results:</em></p>
<table border="1">
<tr>
<td></td>
<td>Java</td>
<td>C#</td>
</tr>
<tr>
<td>Memory Usage:</td>
<td>6.3MiB</td>
<td>2.2MiB</td>
</tr>
<tr>
<td>CPU Usage:</td>
<td>6%</td>
<td>12%</td>
</tr>
</table>
<p><span style="text-decoration: underline;"><strong>All Results</strong></span></p>
<table border="1">
<tr>
<td></td>
<td>Java</td>
<td>C#</td>
</tr>
<tr>
<td>Test I Memory Usage:</td>
<td>5.6MiB</td>
<td>2.2MiB</td>
</tr>
<tr>
<td>Test I CPU Usage:</td>
<td>0%</td>
<td>0%</td>
</tr>
<tr>
<td>Test II Memory Usage:</td>
<td>5.6MiB</td>
<td>2.1MiB</td>
</tr>
<tr>
<td>Test II CPU Usage:</td>
<td>0%</td>
<td>0%</td>
</tr>
<tr>
<td>Test III Memory Usage:</td>
<td>5.9MiB</td>
<td>2.4MiB</td>
</tr>
<tr>
<td>Test III CPU Usage:</td>
<td>0%</td>
<td>0%</td>
</tr>
<tr>
<td>Test IV Memory Usage:</td>
<td>5.6MiB</td>
<td>2.2MiB</td>
</tr>
<tr>
<td>Test IV CPU Usage:</td>
<td>0%</td>
<td>0%</td>
</tr>
<tr>
<td>Test V Memory Usage:</td>
<td>10.1MiB</td>
<td>2.6MiB</td>
</tr>
<tr>
<td>Test V CPU Usage:</td>
<td>8%</td>
<td>2%</td>
</tr>
<tr>
<td>Test VI Memory Usage:</td>
<td>6.3MiB</td>
<td>2.2MiB</td>
</tr>
<tr>
<td>Test VI CPU Usage:</td>
<td>6%</td>
<td>12%</td>
</tr>
</table>
<p><span style="text-decoration: underline;"><strong>Conclusions</strong></span></p>
<p>Well there you have it. It seems that at this point in time Mono is not only mature enough to compete against a seasoned veteran programming language like Java, but in some cases good enough to even supersede it. This is wonderful news for people looking for alternative cross-platform high level languages.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/&amp;title=Resource+Tests%3A+Java+vs+Mono%2F.NET" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/&amp;title=Resource+Tests%3A+Java+vs+Mono%2F.NET" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/&amp;t=Resource+Tests%3A+Java+vs+Mono%2F.NET" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/&amp;title=Resource+Tests%3A+Java+vs+Mono%2F.NET" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/&amp;title=Resource+Tests%3A+Java+vs+Mono%2F.NET" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/&amp;title=Resource+Tests%3A+Java+vs+Mono%2F.NET" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Resource+Tests%3A+Java+vs+Mono%2F.NET+-+http://b2l.me/byb9s&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2009/12/resource-tests-java-vs-mono-net/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The return of the Hash Verifier</title>
		<link>http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/</link>
		<comments>http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 01:26:24 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[Created by Tyler Burton]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[hash verifier]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[MonoDevelop]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows.Forms]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=105</guid>
		<description><![CDATA[Some of you may remember an old Windows program of mine called Hash Verifier. It was a graphical utility that allowed people to generate hashes of their files, and then compare those to known hashes, ensuring that their files had not been corrupted. Well in recent months my foray into the world of Linux has [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you may remember an old Windows program of mine called <a href="http://www.tylerburton.ca/2009/09/hash-verifier/" target="_blank">Hash Verifier</a>. It was a graphical utility that allowed people to generate <a href="http://en.wikipedia.org/wiki/Cryptographic_hash_function" target="_blank">hashes</a> of their files, and then compare those to known hashes, ensuring that their files had not been corrupted. Well in recent months my foray into <a href="http://www.thelinuxexperiment.com" target="_blank">the world of Linux</a> has finally taken me into the realm of programming on that platform. Being primarily a <a href="http://en.wikipedia.org/wiki/.NET_Framework" target="_blank">.NET</a> developer on Windows I have found the <a href="http://mono-project.com/Main_Page" target="_blank">Mono project</a> on Linux to be an absolute breath of fresh air.</p>
<h2>&#8220;Monkey&#8221; project</h2>
<p>The Mono project is an open source implementation of Microsoft&#8217;s .NET common language runtime and a C# compiler. On Linux the easiest way to program in a Mono language is within the project&#8217;s own integrated development environment called <a href="http://en.wikipedia.org/wiki/MonoDevelop" target="_blank">MonoDevelop</a>.</p>
<h2>C is a sharp language</h2>
<p><a href="http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29" target="_blank">C#</a> is a very powerful programming language that falls somewhere between <a href="http://en.wikipedia.org/wiki/C_%28programming_language%29" target="_blank">C</a> and <a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29" target="_blank">Java</a> in terms of syntax. While my experience with C# has been limited in the past, I was easily able to pick it up quickly thanks to my background in both C and Java, as well as fellow .NET language <a href="http://en.wikipedia.org/wiki/Visual_Basic_.NET" target="_blank">Visual Basic</a>.</p>
<h2>The challenge</h2>
<p>Digging up an old .NET project of mine, Hash Verifier, I decided to challenge myself to port the application to Mono. In order to do this I needed to accomplish the following:</p>
<ul>
<li>The original application ran on Microsoft&#8217;s .NET on the Windows platform. The new application must run on both .NET on Windows and Mono on supported platforms.</li>
<li>The original application was written in Visual Basic. The new application must be written in C#.</li>
<li>The original application has a GUI powered by the native Windows.Forms. The new application needs to have a GUI that works in a similar way on all platforms.</li>
<li>The new application must be able to fully re-create all of the old application&#8217;s features and functions.</li>
</ul>
<h2>Porting = easy<span style="text-decoration: underline;"><strong><br />
</strong></span></h2>
<p>I must say that porting this old application to C#/Mono was a relatively straightforward task. Although I had plenty of <a href="http://www.mono-project.com/Gui_Toolkits" target="_blank">GUI toolkits to choose from</a> I ended up sticking with the existing Windows.Forms. Once I had decided on using Windows.Forms as the basis for my GUI (<a href="http://www.mono-project.com/WinForms" target="_blank">WinForms</a> is a free and open source implementation for non-Windows users!) I set out to create my new application. I was literally able to open the old Visual Basic GUI designer file, copy the code into my Mono workspace, change the syntax to C# and voila it worked!</p>
<p>In fact the only tricky part was trying to figure out a compatibility issue that .NET/Mono 2.0 seem to have with the new <a href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation" target="_blank">Windows Presentation Foundation (WPF)</a>. I&#8217;ll save you the gory details but basically drag and drop functionality would not work. I eventually rectified this issue by including a compiler flag telling .NET/Mono to execute the form in <a href="http://www.csharphelp.com/archives3/archive558.html" target="_blank">single thread apartments</a> mode. You can see where I did this in my code by looking right above my static main function:</p>
<blockquote><p>[STAThreadAttribute]<br />
public static void Main()<br />
{<br />
&#8230;<br />
}</p></blockquote>
<h2>Final result</h2>
<p>With the application complete I must say I am impressed. Crafting and running applications for Mono is extraordinarily simple to do, seems very powerful, and the application itself only takes up a couple of MiB to run. In the future I definitely plan on doing more of this type of development now that I am using different operating systems every day.</p>
<h2>Hash Verifier<span style="text-decoration: underline;"><strong><br />
</strong></span></h2>
<p>If you are <a href="http://www.jonathanfritz.ca/software/automating-command-line-applications-in-visualbasic-dot-net" target="_blank">still</a> <a href="http://www.jonathanfritz.ca/software/opengl-in-visualstudionet-with-the-tao-framework" target="_blank">using</a> the <a href="http://www.jonathanfritz.ca/software/areca-the-open-sourced-backup-solution" target="_blank">old</a> version of Hash Verifier, or if you would just like to try it out you can download the new Hash Verifier in two different ways. The package marked <em>binary only</em> contains just the program itself and the relevant documentation. The package marked <em>all</em> contains both the program, documentation as well as the source code.</p>
<p><em>Requirements:</em></p>
<ul>
<li><strong>All platforms:</strong> .NET 2.0+ / Mono, a graphical display</li>
<li><strong>*nix platforms:</strong> WinForms (identified as System.Windows.Forms)</li>
</ul>
<table border="1">
<tbody>
<tr>
<td></td>
<td><strong>Binary Only Package</strong></td>
<td><strong>All Package</strong></td>
</tr>
<tr>
<td><strong>File name:</strong></td>
<td>hash_verifier_0_1_0_0_binary.zip</td>
<td>hash_verifier_0_1_0_0_all.zip</td>
</tr>
<tr>
<td><strong>File hashes:</strong></td>
<td style="text-align: center;" colspan="2"><a href="http://www.tylerburton.ca/files/hashes/hash_verifier_0_1_0_0.hashes.txt">Download Here</a></td>
</tr>
<tr>
<td><strong>GPG signature:</strong></td>
<td><a href="http://www.tylerburton.ca/files/sigs/hash_verifier_0_1_0_0_binary.zip.sig" target="_blank">Download Here</a></td>
<td><a href="http://www.tylerburton.ca/files/sigs/hash_verifier_0_1_0_0_all.zip.sig" target="_blank">Download Here</a></td>
</tr>
<tr>
<td><strong>License:</strong></td>
<td style="text-align: center;" colspan="2">(LGPL) <a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">View Here</a></td>
</tr>
<tr>
<td><strong>Version:</strong></td>
<td style="text-align: center;" colspan="2">0.1.0.0</td>
</tr>
<tr>
<td><strong>File download:</strong></td>
<td><a href="http://www.tylerburton.ca/files/apps/hash_verifier_0_1_0_0_binary.zip" target="_blank">Download Here</a></td>
<td><a href="http://www.tylerburton.ca/files/apps/hash_verifier_0_1_0_0_all.zip" target="_blank">Download Here</a></td>
</tr>
</tbody>
</table>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/&amp;title=The+return+of+the+Hash+Verifier" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/&amp;title=The+return+of+the+Hash+Verifier" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/&amp;t=The+return+of+the+Hash+Verifier" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/&amp;title=The+return+of+the+Hash+Verifier" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/&amp;title=The+return+of+the+Hash+Verifier" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/&amp;title=The+return+of+the+Hash+Verifier" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=The+return+of+the+Hash+Verifier+-+http://b2l.me/byb9v&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2009/11/the-return-of-the-hash-verifier/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Of eye candy and desktop environments</title>
		<link>http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/</link>
		<comments>http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 23:46:52 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[Mac OSX]]></category>
		<category><![CDATA[The Linux Experiment]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=94</guid>
		<description><![CDATA[As a long time Windows user I have had my fair share of dull, gray toolbars, buttons and controls. Prior to Windows Vista, Microsoft&#8217;s first real attempt to pretty up the system &#8211; sorry XP, making the taskbar blue just doesn&#8217;t cut it &#8211; I even looked to Mac OSX with some jealousy. Flash forward [...]]]></description>
			<content:encoded><![CDATA[<p>As a long time Windows user I have had my fair share of dull, gray toolbars, buttons and controls. Prior to Windows Vista, Microsoft&#8217;s first real attempt to pretty up the system &#8211; sorry XP, making the taskbar blue just doesn&#8217;t cut it &#8211; I even looked to Mac OSX with some jealousy.</p>
<p>Flash forward to <a href="http://www.thelinuxexperiment.com" target="_blank">The Linux Experiment</a> and I have been introduced to a whole new set of environment graphics. Some of them are quite beautiful and some are just&#8230; plain ugly. On the plus side, the nice thing about Linux is it&#8217;s ability to customize just about every detail, including how my desktop looks. But is there really any excuse for some of the horrible themes, colour choices (*cough* <a href="http://en.wikipedia.org/wiki/Ubuntu_%28operating_system%29" target="_blank">Ubuntu</a> *cough*), and graphics that are <em>still</em> present in Linux today? Surely there are some artists out there in the open source community that could be let loose on these problems? Come on people, I know you can do better!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/&amp;title=Of+eye+candy+and+desktop+environments" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/&amp;title=Of+eye+candy+and+desktop+environments" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/&amp;t=Of+eye+candy+and+desktop+environments" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/&amp;title=Of+eye+candy+and+desktop+environments" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/&amp;title=Of+eye+candy+and+desktop+environments" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/&amp;title=Of+eye+candy+and+desktop+environments" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Of+eye+candy+and+desktop+environments+-+http://b2l.me/byb9w&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2009/10/of-eye-candy-and-desktop-environments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy two month birthday&#8230;</title>
		<link>http://www.tylerburton.ca/2009/09/happy-two-month-birthday/</link>
		<comments>http://www.tylerburton.ca/2009/09/happy-two-month-birthday/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 00:43:04 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[The Linux Experiment]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=58</guid>
		<description><![CDATA[&#8230;to The Linux Experiment. That&#8217;s right, it seems like such a short time ago that our little experiment began and now it&#8217;s already celebrating it&#8217;s second month on the web! Please stop by and check us out and let us know just how crazy (or not) we are for committing to using Linux for four [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;to <a href="http://www.thelinuxexperiment.com" target="_blank">The Linux Experiment</a>. That&#8217;s right, it seems like such a short time ago that our little experiment began and now it&#8217;s already celebrating it&#8217;s <a href="http://thelinuxexperiment.com/uncategorized/happy-birthday-to-us/" target="_blank">second month</a> on the web! Please stop by and check us out and let us know just how crazy (or not) we are for committing to using <a href="http://en.wikipedia.org/wiki/Linux" target="_blank">Linux</a> for four whole months!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.tylerburton.ca/2009/09/happy-two-month-birthday/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.tylerburton.ca/2009/09/happy-two-month-birthday/&amp;title=Happy+two+month+birthday..." rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.tylerburton.ca/2009/09/happy-two-month-birthday/&amp;title=Happy+two+month+birthday..." rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.tylerburton.ca/2009/09/happy-two-month-birthday/&amp;t=Happy+two+month+birthday..." rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.tylerburton.ca/2009/09/happy-two-month-birthday/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.tylerburton.ca/2009/09/happy-two-month-birthday/&amp;title=Happy+two+month+birthday..." rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://www.tylerburton.ca/2009/09/happy-two-month-birthday/&amp;title=Happy+two+month+birthday..." rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.tylerburton.ca/2009/09/happy-two-month-birthday/&amp;title=Happy+two+month+birthday..." rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Happy+two+month+birthday...+-+http://b2l.me/by2vx&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2009/09/happy-two-month-birthday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Linux Experiment</title>
		<link>http://www.tylerburton.ca/2009/09/the-linux-experiment/</link>
		<comments>http://www.tylerburton.ca/2009/09/the-linux-experiment/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 00:28:42 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Proprietary software]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[The Linux Experiment]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=37</guid>
		<description><![CDATA[Some friends and I have decided to give Linux a run for its money. Most of us are experienced Window&#8217;s users so we figured making the transition to Linux would be 1) a good thing for the resumé and 2) a pretty easy switch. Boy were we ever wrong about #2&#8230; #1 is still debatable [...]]]></description>
			<content:encoded><![CDATA[<p>Some friends and I have decided to give <a href="http://en.wikipedia.org/wiki/Linux" target="_blank">Linux</a> a run for its money. Most of us are experienced <a href="http://en.wikipedia.org/wiki/Microsoft_Windows" target="_blank">Window&#8217;s</a> users so we figured making the transition to Linux would be 1) a good thing for the resumé and 2) a pretty easy switch. Boy were we ever wrong about #2&#8230; #1 is still debatable <img src='http://www.tylerburton.ca/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The basic premise is this:</p>
<ol>
<li>Is Linux really a practical desktop computer for the masses?</li>
<li>Can someone really make the switch from the far more popular proprietary operating systems and applications to the <a href="http://en.wikipedia.org/wiki/Free_and_open_source_software" target="_blank">free and open source</a> alternatives?</li>
</ol>
<p>The experiment is govern more or less by the following two rules:</p>
<ol>
<li>You must use Linux as your primary computing platform for 4 months</li>
<li>You cannot use a distribution of Linux that you are familiar with or have used in the past</li>
</ol>
<p>Follow us through the highs and lows of getting everything working just right, as we learn new things, and share our user experiences!</p>
<p><a href="http://www.thelinuxexperiment.com" target="_blank">www.thelinuxexperiment.com</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.tylerburton.ca/2009/09/the-linux-experiment/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.tylerburton.ca/2009/09/the-linux-experiment/&amp;title=The+Linux+Experiment" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.tylerburton.ca/2009/09/the-linux-experiment/&amp;title=The+Linux+Experiment" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.tylerburton.ca/2009/09/the-linux-experiment/&amp;t=The+Linux+Experiment" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.tylerburton.ca/2009/09/the-linux-experiment/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.tylerburton.ca/2009/09/the-linux-experiment/&amp;title=The+Linux+Experiment" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://www.tylerburton.ca/2009/09/the-linux-experiment/&amp;title=The+Linux+Experiment" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.tylerburton.ca/2009/09/the-linux-experiment/&amp;title=The+Linux+Experiment" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=The+Linux+Experiment+-+http://b2l.me/by4ga&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2009/09/the-linux-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
