<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Salukisoft</title>
	<atom:link href="http://salukisoft.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://salukisoft.wordpress.com</link>
	<description>Kris Allen's blog (with a temporary layout)</description>
	<lastBuildDate>Sun, 06 Dec 2009 19:54:11 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='salukisoft.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/9a272ab363fb9c2d775b7cf10fcd5766?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Salukisoft</title>
		<link>http://salukisoft.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://salukisoft.wordpress.com/osd.xml" title="Salukisoft" />
		<item>
		<title>Fantastic particle simulator</title>
		<link>http://salukisoft.wordpress.com/2008/04/03/fantastic-particle-simulator/</link>
		<comments>http://salukisoft.wordpress.com/2008/04/03/fantastic-particle-simulator/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 23:16:24 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/?p=71</guid>
		<description><![CDATA[The other day, I was given a link to an online Java applet called Powder Game by Dan-Ball. I had played a really similar game before, but I don&#8217;t think it was made by the same person (though I could be wrong). It&#8217;s a great little Java applet &#8211; it simulates a variety of particles, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=71&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The other day, I was given a link to an online Java applet called <a href="http://dan-ball.jp/en/javagame/dust/" target="_blank">Powder Game</a> by <a href="http://dan-ball.jp/en" target="_blank">Dan-Ball</a>. I had played a really similar game before, but I don&#8217;t think it was made by the same person (though I could be wrong). It&#8217;s a great little Java applet &#8211; it simulates a variety of particles, each with their own unique behaviour and properties. The way different &#8216;elements&#8217; interact is what makes it interesting &#8211; Fire and magma will slowly burn through oil but cause sticks of c-4 and fireworks to explode violently. If you drop some oil into a pool of water it&#8217;ll happily sit on top of it, but denser materials such as stone will sink straight to the bottom.</p>
<p><img src="http://salukisoft.files.wordpress.com/2008/04/powder1.png" alt="Powder Game" /><br />
<em>Stargate eat your heart out.</em></p>
<p>As well as an abundance of different particles at your disposal, you can also conjure little stickmen, boxes, bubbles, fans and spinning wheels, all of which interact with the environment you make for them.</p>
<p>Particle sims are pretty common (I even <a href="http://www.rawrsome.com/kris/blog/Sand.zip">made one myself</a> a while ago), but what really makes powder game stand out is its simulation of air pressure. As you pump air into a region (or have a fan do it for you), the pressure will increase. Particles will always try their best to move into a region with lower pressure, and as a result will swish around quite elegantly until they find a comfortable spot to settle. Filling an enclosed space with air and then watching it explosively decompress as you erase a chunk of the wall, hurling asunder person and particle alike, is particularly fun.</p>
<p><img src="http://salukisoft.files.wordpress.com/2008/04/powder2.png" alt="Powder Game" /><br />
<em>The rapture! The rapture!</em></p>
<p>Being a computer geek, the first thing I thought when I ran this applet was, &#8216;<em>I wonder if I can make a computer out of this?</em>&#8216;. I tried, and ultimately failed, to replicate a water integrator using water particles and a spinning wheel. I&#8217;ve yet to find an reliable alternative way to flip back and forth between two states, but I&#8217;m sure one must exist so I&#8217;ll keep looking.</p>
<p><strong>Links: </strong></p>
<p><a href="http://dan-ball.jp/en/javagame/dust" target="_blank">Powder game</a> (http://dan-ball.jp/en/javagame/dust)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/71/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/71/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=71&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2008/04/03/fantastic-particle-simulator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/04/powder1.png" medium="image">
			<media:title type="html">Powder Game</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/04/powder2.png" medium="image">
			<media:title type="html">Powder Game</media:title>
		</media:content>
	</item>
		<item>
		<title>Uni projects: Brainvaders</title>
		<link>http://salukisoft.wordpress.com/2008/03/20/uni-projects-brainvaders/</link>
		<comments>http://salukisoft.wordpress.com/2008/03/20/uni-projects-brainvaders/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 00:59:45 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[University]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/?p=64</guid>
		<description><![CDATA[This project was, by far, the most enjoyable one I&#8217;ve ever undertaken at university. The assignment was simple, as they often were &#8211; we had to remake Space Invaders using Blitz Basic. As it was the third and final assignment on my Computer Games Development module, I decided to pull out all of the stops [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=64&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This project was, by far, the most enjoyable one I&#8217;ve ever undertaken at university. The assignment was simple, as they often were &#8211; we had to remake <em>Space Invaders</em> using <a href="http://www.blitzbasic.com" target="_blank">Blitz Basic</a>. As it was the third and final assignment on my Computer Games Development module, I decided to pull out all of the stops and spend a solid month or so (I&#8217;m sad like that) creating what you see here.</p>
<p>Brainvaders juggles the Space Invaders formula around a bit. Instead of being stuck with the same old boring &#8216;<em>pchoo rifle</em>&#8216;, you&#8217;re  given the ability to upgrade your alien-blaster to a choice of four other weapons (rapid fire, double shot, triple shot and homing). You can also upgrade your shields to withstand more damage, and buy a few nifty extras like a tractor beam and &#8216;orbiters&#8217;, which help with the alien blasting. Upgrades can be purchased in exchange for alien brains (which are favoured for their mild creamy taste. Great on toast!), which must first be seperated from their original owners.</p>
<p>Brainvaders follow the typical Invaderesque style of movement (<em>Drop down! Increase speed! <strong>Reverse direction</strong>!</em>) with the added freedom of being able to swoop down to get a bit close and personal whenever they feel like it.  This will happen more often as you kill more of them, so don&#8217;t stay still for too long&#8230;</p>
<p>As you dispose of waves of enemies, new ones will arrive that are slightly stronger and more aggressive. If you die, the game won&#8217;t actually end, you&#8217;ll just lose around half of your points. Thus, you&#8217;ll be able to keep playing until you get bored.</p>
<p>All of the content was made by me except the sound effects which were all made by my good friend, Matt Griffith, whose voice acting abilities are almost godlike.</p>
<p><a title="Brainvaders" href="http://salukisoft.files.wordpress.com/2008/03/brainvaders1.png"><img style="border:1px solid black;" src="http://salukisoft.files.wordpress.com/2008/03/brainvaders1.thumbnail.png" border="0" alt="Brainvaders" /></a> <a title="Brainvaders" href="http://salukisoft.files.wordpress.com/2008/03/brainvaders2.png"><img style="border:1px solid black;" src="http://salukisoft.files.wordpress.com/2008/03/brainvaders2.thumbnail.png" border="0" alt="Brainvaders" /></a><br />
<a title="Brainvaders" href="http://salukisoft.files.wordpress.com/2008/03/brainvaders3.png"><img style="border:1px solid black;" src="http://salukisoft.files.wordpress.com/2008/03/brainvaders3.thumbnail.png" border="0" alt="Brainvaders" /></a> <a title="Brainvaders" href="http://salukisoft.files.wordpress.com/2008/03/brainvaders4.png"><img style="border:1px solid black;" src="http://salukisoft.files.wordpress.com/2008/03/brainvaders4.thumbnail.png" border="0" alt="Brainvaders" /></a></p>
<p><strong>Links:</strong></p>
<ul>
<li><a href="http://www.rawrsome.com/kris/blog/Brainvaders/Brainvaders.zip">Source code &amp; exe</a></li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/64/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/64/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=64&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2008/03/20/uni-projects-brainvaders/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/03/brainvaders1.thumbnail.png" medium="image">
			<media:title type="html">Brainvaders</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/03/brainvaders2.thumbnail.png" medium="image">
			<media:title type="html">Brainvaders</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/03/brainvaders3.thumbnail.png" medium="image">
			<media:title type="html">Brainvaders</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/03/brainvaders4.thumbnail.png" medium="image">
			<media:title type="html">Brainvaders</media:title>
		</media:content>
	</item>
		<item>
		<title>Uni projects: Stick Tennis</title>
		<link>http://salukisoft.wordpress.com/2008/03/19/uni-projects-stick-tennis/</link>
		<comments>http://salukisoft.wordpress.com/2008/03/19/uni-projects-stick-tennis/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 00:54:33 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[University]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/?p=54</guid>
		<description><![CDATA[Recently, I&#8217;ve been busier than ever. I&#8217;ve had no less than four projects to juggle, two of which are now &#8211; thankfully &#8211; complete. I&#8217;ve been working on the other two almost incessantly, but during my brief breaks I&#8217;ve been writing a computing article that should hopefully interest. For now, I&#8217;m just going to post [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=54&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Recently, I&#8217;ve been busier than ever. I&#8217;ve had no less than <b>four</b> projects to juggle, two of which are now &#8211; thankfully &#8211; complete. I&#8217;ve been working on the other two almost incessantly, but during my brief breaks I&#8217;ve been writing a computing article that should hopefully interest. For now, I&#8217;m just going to post the remainder of my university projects from last year. These ones are a bit more exciting!</p>
<p>The first is Stick Tennis. This is the first graphical game I got to make in university, and made a nice change from <a href="http://salukisoft.wordpress.com/2008/02/04/uni-projects-schools-out" target="_blank">Interactive Fiction</a>!. The assignment specification was incredibly simple: make a <i>Pong</i> game. Beyond that we had free rein, as long as it didn&#8217;t stray too far from the original concept.</p>
<p>The rules of Stick Tennis differ slightly to those of the original Pong. The scoring system is a dumbed-down version of tennis (each successive point is worth 15, 30, 40, etc) and the playing field is a lot longer than it is wide. I was actually quite lucky to pass this assignment with the score that I got (85%+) because I neglected one of the fundamental rules of Pong &#8211; that the ball should be able to bounce off the top and bottom of the field. Luckily, my lecturer overlooked this.</p>
<p>If you find it difficult to hit the ball, don&#8217;t worry &#8211; for a pong game it&#8217;s insanely difficult to control! You&#8217;ll probably get bored and stop playing before winning against the computer anyway. It&#8217;s not the exactly the most exciting game in the world, but it might keep you entertained for a few minutes while you watch the ridiculous budget stickman animations in action (which I&#8217;m actually really proud of).</p>
<p>I&#8217;ve included the source code for anyone interested in taking a peek. It&#8217;s in <a href="http://www.blitzbasic.com" target="_blank">Blitz Basic</a> format (.bb)</p>
<p><a href="http://salukisoft.files.wordpress.com/2008/03/sticktennis1.png" title="Stick Tennis"><img src="http://salukisoft.files.wordpress.com/2008/03/sticktennis1.thumbnail.png" alt="Stick Tennis" style="border:1px solid black;" border="0" /></a> <a href="http://salukisoft.files.wordpress.com/2008/03/sticktennis2.png" title="Stick Tennis"><img src="http://salukisoft.files.wordpress.com/2008/03/sticktennis2.thumbnail.png" alt="Stick Tennis" style="border:1px solid black;" border="0" /></a> <a href="http://salukisoft.files.wordpress.com/2008/03/sticktennis3.png" title="Stick Tennis"><img src="http://salukisoft.files.wordpress.com/2008/03/sticktennis3.thumbnail.png" alt="Stick Tennis" style="border:1px solid black;" border="0" /></a></p>
<p><b>Links:</b></p>
<p><a href="http://www.rawrsome.com/kris/blog/StickTennis/StickTennis.zip">Source code &amp; exe</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/54/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/54/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=54&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2008/03/19/uni-projects-stick-tennis/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/03/sticktennis1.thumbnail.png" medium="image">
			<media:title type="html">Stick Tennis</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/03/sticktennis2.thumbnail.png" medium="image">
			<media:title type="html">Stick Tennis</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/03/sticktennis3.thumbnail.png" medium="image">
			<media:title type="html">Stick Tennis</media:title>
		</media:content>
	</item>
		<item>
		<title>A new set of logic gates</title>
		<link>http://salukisoft.wordpress.com/2008/02/18/a-new-set-of-logic-gates/</link>
		<comments>http://salukisoft.wordpress.com/2008/02/18/a-new-set-of-logic-gates/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 15:40:42 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Geek Humour]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/?p=50</guid>
		<description><![CDATA[Logic gates are useful things. While I’m typing away at my PC writing this article, millions (if not billions) of gates are flipping ones and zeroes at my very whim (it almost makes you feel powerful, in a sad, nerdy kind of way).
Jobs involving logic gates are dwindling in number. The problem is, logic gates [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=50&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Logic gates are useful things. While I’m typing away at my PC writing this article, millions (if not billions) of gates are flipping ones and zeroes at my very whim (it almost makes you feel powerful, in a sad, nerdy kind of way).</p>
<p>Jobs involving logic gates are dwindling in number. The problem is, logic gates aren’t <i>vogue </i>any more, so nobody wants to learn how they work. Why’s that? Well, they haven’t changed much at all since they were invented many years ago, and the icons still leave much to the imagination. That&#8217;s why I&#8217;ve invented a host of <b>brand new</b> gates, in order to put them back in the limelight!</p>
<p><span id="more-50"></span>So without further adieu, I present the list &#8230;</p>
<p><b>Schrödinger’s Gate</b></p>
<p><b></b><img src="http://salukisoft.files.wordpress.com/2008/02/schrodinger.gif" alt="Schrodinger’s gate" /></p>
<p>Named in tribute of the late physicist, whos profusely overhyped thought experiment had loving cat owners across the globe waking up in a cold sweat (and, today, has Erwin himself <a href="http://en.wikipedia.org/wiki/Quantum_spin#Spin_in_Quantum_Mechanics" target="_blank">spinning </a>in his grave).</p>
<p>Schrödinger’s gate takes two inputs. The first must be connected to a source of random fluctuation, such as the decaying nucleus of a radioactive atom (good luck finding one on its own). Alternatively, a good brownian motion producer &#8211; say a nice hot cup of tea &#8211; will do the trick.<br />
Naturally, without an observer, your digital cat will be permanently stuck in a state of both existence and non-existence, which would just be <i>ridiculous</i>! That’s where the second input comes in. Input B’s job is to simply <b>observe</b> the gate (by always being ‘on’), thus collapsing the wave function and making sure you’re given a <i>sensible</i> output of either 0 or 1. Which one, you ask? Well, that depends on your <a href="http://en.wikipedia.org/wiki/Interpretation_of_quantum_mechanics" target="_blank">interpretation</a>.</p>
<p><b>Watergate</b></p>
<p><img src="http://salukisoft.files.wordpress.com/2008/02/watergate2.gif" alt="Watergate" /></p>
<p>This gate follows the principle of ‘garbage in, garbage out’, which is to say that any value entered in will pass in one end and come out of the other with nothing added and very little taken away. Unless, of course, it’s in the gate’s “best interests” to be a little more <i>economical</i> with the truth (table), in which case it’s anyone’s guess what it’s going to regurgitate.</p>
<p><b>Fuzzy gate</b></p>
<p><img src="http://salukisoft.files.wordpress.com/2008/02/fuzzy.gif" alt="Fuzzy gate" /></p>
<p>This gate is made entirely of fluff. It works kind of like a logical ‘and’ gate, only more… vague. Generally, it’ll only output a 1 if all inputs are also 1, in typical <i>and </i>gate fashion. But if it’s in a good mood, it might just say ‘<i>ahh, go on then</i>‘ and output a 1 even if not all of the inputs are 1. Or if it’s feel particularly cynical, it may just output a zero <b>even if </b>all of the inputs are one. It brings back the element of fallibility that has been somewhat lost with the advent of the computer.</p>
<p><b>Green gate</b></p>
<p><img src="http://salukisoft.files.wordpress.com/2008/02/green.gif" alt="Green gate" /></p>
<p>This gate was designed as a “carbon neutral” alternative to the relative energy guzzler that is the silicon transistor. It’s made entirely out of organic free-range components, and thus is unable to actually perform any transitions at all, meaning it’ll always output zero. If you want to go green, you have to make some sacrifices!</p>
<p><b>Left handed gate</b></p>
<p><img src="http://salukisoft.files.wordpress.com/2008/02/lefthanded3.gif" alt="Left handed gate" /></p>
<p>This gate was invented for the sake of the small portion of the population who use their left hand to perform their computing tasks rather than their right, and are sick of the predjudices painfully endured by their fellow lefties daily.<br />
It works just like a &#8216;regular&#8217; (you <i>fascist</i>.) gate, only the inputs are on the right and the output is on the left. Ingenious! I took a risk in documenting this revolutionary gate, as I&#8217;m not sure if the world is ready for it yet&#8230;</p>
<p>So, that concludes my list! With any luck, the lovely folks at <a href="http://www.intel.com" target="_blank">Intel</a> will stumble upon this page and decide to make me a very, very rich man&#8230;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/50/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/50/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=50&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2008/02/18/a-new-set-of-logic-gates/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/schrodinger.gif" medium="image">
			<media:title type="html">Schrodinger’s gate</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/watergate2.gif" medium="image">
			<media:title type="html">Watergate</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/fuzzy.gif" medium="image">
			<media:title type="html">Fuzzy gate</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/green.gif" medium="image">
			<media:title type="html">Green gate</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/lefthanded3.gif" medium="image">
			<media:title type="html">Left handed gate</media:title>
		</media:content>
	</item>
		<item>
		<title>Uni projects: School&#8217;s Out</title>
		<link>http://salukisoft.wordpress.com/2008/02/04/uni-projects-schools-out/</link>
		<comments>http://salukisoft.wordpress.com/2008/02/04/uni-projects-schools-out/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 23:09:40 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[University]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/?p=37</guid>
		<description><![CDATA[In my first year of university, I made the mistake of taking Computer Games Technology as a result of my pipe dream to become a profesional games developer. I&#8217;ve had a little sense smacked into me since then, but in the time that I did spend on the course, I made three games which I&#8217;m [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=37&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my first year of university, I made the mistake of taking <a href="http://www.mmu.ac.uk/courses/course_detail.php?courses_id=7637" target="_blank">Computer Games Technology</a> as a result of my pipe dream to become a profesional games developer. I&#8217;ve had a little sense smacked into me since then, but in the time that I did spend on the course, I made three games which I&#8217;m releasing for all to play.</p>
<p>The first game is an interactive fiction (text adventure) game called <i>School&#8217;s Out</i> in which you play a school kid who manages to get himself locked in school at the beginning of the mid-term break. Using the objects lying around the school, and your own wits, you need to find your own way out before you die of boredom (or your own stupidity).</p>
<p>It was made using <a href="http://www.inform-fiction.org/I7/Welcome.html" target="_blank">Inform 6</a>, which is a functional but limited language (I&#8217;ve heard 7 is much better, but we couldn&#8217;t use that). To run the .z5 file you&#8217;ll need a z-machine interpreter; I recommend <a href="http://frotz.homeunix.org/frotz/" target="_blank">Frotz</a>.</p>
<p>School&#8217;s Out was a collaborative effort by myself and two others in my group, Stuart Hayes and Ben Holland. We wrote out a walkthrough as part of the specification, but none of us seem to have it any more! I still remember how to complete it, though, so if you&#8217;re stuck, just post a comment or something and I can help.</p>
<p><b>Links:</b></p>
<p><a href="http://www.rawrsome.com/kris/blog/SchoolsOut/SchoolsOut.zip">Source code &amp; .z5 file</a></p>
<p><b></b></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=37&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2008/02/04/uni-projects-schools-out/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>
	</item>
		<item>
		<title>Uni projects: 3D map</title>
		<link>http://salukisoft.wordpress.com/2008/02/03/uni-projects-3d-map/</link>
		<comments>http://salukisoft.wordpress.com/2008/02/03/uni-projects-3d-map/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 21:34:39 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[University]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/?p=31</guid>
		<description><![CDATA[The the second assignment I had to undertake for my Programming (PR1201) module was to make an interactive map of an area (real or fictitious) using the Java applet API. The basic features it had to exhibit were:

Interesting landmarks such as lakes, buildings, forests, etc. These were to be drawn with basic shapes &#8211; circles, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=31&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The the second assignment I had to undertake for my Programming (PR1201) module was to make an interactive map of an area (real or fictitious) using the Java applet API. The basic features it had to exhibit were:</p>
<ol>
<li>Interesting landmarks such as lakes, buildings, forests, etc. These were to be drawn with basic shapes &#8211; circles, rectangles, irregular polygons, etc.</li>
<li>The ability to click on the map and be given info about the nearest landmark, as well as the distance from the cursor.</li>
<li>Buttons corresponding to each landmark. Clicking on the should give information about that landmark.</li>
<li>A bar representing the map&#8217;s scale (i.e. 100 pixels = 1 metre).</li>
<li>A search box programmed with some basic search queries.</li>
</ol>
<p>With a new-found penchant for making everything 3D, I started working on a new engine for rotating and tilting a world map and calculating the positions of sprites sitting on it. This was much easier to do than my <a href="http://salukisoft.wordpress.com/2008/02/03/uni-projects-3d-spinning-donut-torus-in-java/">previous project</a> because the Java applet API can render filled polygons, but Java elements can&#8217;t.</p>
<p>I chose an imaginary nature park for my location, so there are plenty of trees and lots of water. If you look at allenk_groupG_Initialiser.java, you&#8217;ll see there are a hell of a lot of sprites dotted around. Luckily, I didn&#8217;t have to code them by hand &#8211; I modified my applet to output Java code to a file, and voila &#8211; a makeshift park editor.</p>
<p>I got a score of 90% for this applet, which is the highest score I&#8217;ve achieved for a piece of coursework so far.</p>
<p><a href="http://salukisoft.files.wordpress.com/2008/02/javamap1.png" title="Java map 1"><img src="http://salukisoft.files.wordpress.com/2008/02/javamap1.thumbnail.png" alt="Java map 1" border="0" /></a> <a href="http://salukisoft.files.wordpress.com/2008/02/javamap2.png" title="Java map 2"><img src="http://salukisoft.files.wordpress.com/2008/02/javamap2.thumbnail.png" alt="Java map 2" border="0" /></a> <a href="http://salukisoft.files.wordpress.com/2008/02/javamap3.png" title="Java map 3"><img src="http://salukisoft.files.wordpress.com/2008/02/javamap3.thumbnail.png" alt="Java map 3" border="0" /></a></p>
<p><b>Links:</b></p>
<p><a href="http://www.rawrsome.com/kris/blog/JavaMap/JavaMap.zip">Source code and class files</a><br />
<a href="http://www.rawrsome.com/kris/blog/JavaMap/applet/run.htm" target="_blank">View the applet in your web browser</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=31&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2008/02/03/uni-projects-3d-map/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/javamap1.thumbnail.png" medium="image">
			<media:title type="html">Java map 1</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/javamap2.thumbnail.png" medium="image">
			<media:title type="html">Java map 2</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/javamap3.thumbnail.png" medium="image">
			<media:title type="html">Java map 3</media:title>
		</media:content>
	</item>
		<item>
		<title>Uni projects: 3D spinning donut (torus) in Java</title>
		<link>http://salukisoft.wordpress.com/2008/02/03/uni-projects-3d-spinning-donut-torus-in-java/</link>
		<comments>http://salukisoft.wordpress.com/2008/02/03/uni-projects-3d-spinning-donut-torus-in-java/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 19:40:09 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[University]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/?p=36</guid>
		<description><![CDATA[I’ve decided to release my university projects from last year onto the Internet for people to examine, scrutinise, use to help them with their own studies and hopefully enjoy.
The first project on display is my first Programming assignment, for which we were asked to create a short animation in Java using an educational package by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=36&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I’ve decided to release my university projects from last year onto the Internet for people to examine, scrutinise, use to help them with their own studies and hopefully enjoy.</p>
<p>The first project on display is my first Programming assignment, for which we were asked to create a short animation in Java using an educational package by Bailey &amp; Bailey, <a href="http://www.cs.williams.edu/%7Ebailey/JavaElements/" target="_blank">Java Elements</a>.<br />
Skirting the assignment brief somewhat, I made a small 3D rendering engine which used Elements’ line drawing functionality to draw triangles, which in turn make up complex 3D shapes. I think I got away with this not strictly being ‘an animation’ because it spins about its axis.</p>
<p>I made this before I had any real concept of good OO practices such as encapsulation and decoupling, so there’s plenty of room for improvement. I’m still proud of it because this is the first time I’d tried making something of this nature and I have to say it went really well.</p>
<p>I scored around 85% for this, which I was happy with, but could have pushed towards 90% or possibly higher, had I followed the brief a bit more meticulously (one of the requirements was that I had to use <em>all</em> of the shapes provided by Elements, which I definitely didn’t do).</p>
<p><a title="Java donut 1" href="http://salukisoft.files.wordpress.com/2008/02/javadonut1.png"><img src="http://salukisoft.files.wordpress.com/2008/02/javadonut1.thumbnail.png" border="0" alt="Java donut 1" /></a> <a title="Java donut 2" href="http://salukisoft.files.wordpress.com/2008/02/javadonut2.png"><img src="http://salukisoft.files.wordpress.com/2008/02/javadonut2.thumbnail.png" border="0" alt="Java donut 2" /></a></p>
<p><strong>Links:</strong></p>
<p><a href="http://www.rawrsome.com/kris/blog/JavaDonut/JavaDonut.zip">Source code and class files</a><br />
<a href="http://www.cs.williams.edu/%7Ebailey/JavaElements/je.zip" target="_blank">Java Elements package</a> (required to compile and run; include this in your Java classpath.)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=36&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2008/02/03/uni-projects-3d-spinning-donut-torus-in-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/javadonut1.thumbnail.png" medium="image">
			<media:title type="html">Java donut 1</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2008/02/javadonut2.thumbnail.png" medium="image">
			<media:title type="html">Java donut 2</media:title>
		</media:content>
	</item>
		<item>
		<title>C++, C# and speed</title>
		<link>http://salukisoft.wordpress.com/2008/01/08/c-c-and-speed/</link>
		<comments>http://salukisoft.wordpress.com/2008/01/08/c-c-and-speed/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 21:44:06 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/2008/01/08/c-c-and-speed/</guid>
		<description><![CDATA[By the time I had gained some confidence in my programming abilities, I had pretty much become a hardcore C++ fan. I&#8217;m a bit of a speed freak when it comes to programming. If something isn&#8217;t working as efficiently as it could be, I get a compulsion to look inside it, see what&#8217;s slowing it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=25&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>By the time I had gained some confidence in my programming abilities, I had pretty much become a hardcore C++ fan. I&#8217;m a bit of a speed freak when it comes to programming. If something isn&#8217;t working as efficiently as it could be, I get a compulsion to look inside it, see what&#8217;s slowing it down and try to find a better way to do things (I know, it&#8217;s a curse). C++ lets you do this more easily than some languages because of its relative closeless to the hardware (code is compiled to native instructions, so there&#8217;s very little &#8216;unavoidable overhead&#8217;) as well as its high degree of expressibility (for example, I can think of about five ways to implement arrays off the top of my head, each one best suited to a particular situation).</p>
<p>Since starting level 2 of my course, I&#8217;ve been inclined by myself and lecturers to take a look at the bigger picture of the software development industry (a picture I&#8217;ve not had much of a chance to see, since I haven&#8217;t quite &#8220;broken in&#8221; yet). The thing I&#8217;ve gradually come to realise is that the end users don&#8217;t care whether software is blazingly fast, as long as it&#8217;s fast enough to do the job at hand. Things like  ease of debugging and the ability to quickly add new features should always be paramount. If you always aim dogmatically for the most efficient solution (which C++ often tempts me to do) you might just be shooting yourself in the foot.</p>
<p>One of my modules in Computing is &#8220;Software Development: Tools and Principles&#8221; in which we all use Microsoft C#. We just recently started a huge project which must be programmed exclusively in this, so we have plenty of time to get comfortable with it. Now, I&#8217;d never even <b>touched</b> C# (or any languages of that nature, like Java) before I started the course, but luckily it&#8217;s similar enough to C++ in syntax to make the transition a pleasant one.</p>
<p>So in the few monthsI&#8217;ve been using C#, here are some of the things I&#8217;ve noticed that are different from C++ (and it&#8217;s mostly good stuff):</p>
<ul>
<li><b>No pointers</b> &#8211; So that means no more messing around with the * character. You don&#8217;t seem to get as much control over memory, but going back to my point earlier: unless you&#8217;re concerned about super speed (in which case you probably wouldn&#8217;t be using a .NET language), it just means less hassle.<br />
You can still choose to pass objects by reference or value, and store objects as both classes (which exist on the heap) and structs (on the stack).</li>
<li><b>More straightforward syntax</b> &#8211; In C++ you need to use . to access members of objects on the stack,  :: to access static members and things in namespaces, and -&gt; to access instance fields.<br />
In C#, all of these are accessed using the dot character. And why not? The compiler should know what kind of object you&#8217;re referencing from the context its in, so the less rules you need to remember, the better.</li>
<li><b>Garbage collection</b> &#8211; Most programmers probably know this, but the .NET <acronym title="Common Language Runtime">CLR</acronym> uses a garbage collector by default. This means you don&#8217;t have to worry about freeing an object once it&#8217;s been created, because when you&#8217;re finished with it the memory will get recycled. If you&#8217;re not a big GC fan, you can override it by marking a block as &#8216;unsafe&#8217;, which will let you write unmanaged code, and allow you to use those lovely pointers.</li>
<li><b>Exceptions for error handling</b> &#8211; Because they&#8217;re made by different groups of people, common libraries used in C++ use quite a variety of methods to report when something&#8217;s gone wrong. Some will return boolean false, others will return an integer. Some won&#8217;t return anything but will put an error value somewhere for you to find yourself. In the  Framework Class Library (the collection of &#8216;built-in&#8217; classes within the .NET framework), everything uses exceptions to report problems. I haven&#8217;t seen many, but most 3rd party libraries seem to all use them extensively, too.  So you&#8217;ll have much more consistency in your code, even if it uses code made by others.</li>
<li><b>It&#8217;s <acronym title="Just-in-time">JIT</acronym>-compiled</b> &#8211; This means your program can theoretically be ran on any system, because your code will stay in an abstract platform-independent form (known as Intermediate Language) until it&#8217;s ran, at which point it&#8217;s converted to the native code of the system it&#8217;s running on. This allows for <a href="http://blogs.msdn.com/davidnotario/archive/2005/08/15/451845.aspx" target="_blank">processor-specific optimisations</a>, which would be much more complicated to do in natively compiled apps. Some people aren&#8217;t fans of JIT-compiling because of the neccessary evils of extra memory and processor overhead, but processing power and memory are relatively cheap nowadays, especially for the kinds of companies who use JIT-compiled software in their industry.<b><br />
</b></li>
</ul>
<p>So, in conclusion: if you want your software to be fast and in-touch with the hardware it&#8217;s on, use C/C++. If you want to be fast <i>enough</i>, and also instantly portable* onto other systems (see <a href="http://www.mono-project.com" target="_blank">Mono</a>), use .NET or Java.</p>
<p><i>* ok, this is arguable, but I still think it&#8217;s a step forward from natively compiled code.</i></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=25&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2008/01/08/c-c-and-speed/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>
	</item>
		<item>
		<title>Windows Live Messenger and its annoying bugs</title>
		<link>http://salukisoft.wordpress.com/2007/11/04/windows-live-messenger-and-its-annoying-bugs/</link>
		<comments>http://salukisoft.wordpress.com/2007/11/04/windows-live-messenger-and-its-annoying-bugs/#comments</comments>
		<pubDate>Sun, 04 Nov 2007 17:31:01 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/2007/11/04/windows-live-messenger-and-its-annoying-bugs/</guid>
		<description><![CDATA[Warning: Big rants below.
I&#8217;ve been using Microsoft&#8217;s (in)famous instant messenger app since version 4.6 which came out in 2001 (back when it was called MSN Messenger). Between then and now, I&#8217;ve seen it undergo a lot of changes. Some of them were great (like the ability to send files, which was introduced in version 5). [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=21&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><font color="#ff0000"><strong>Warning: Big rants below.</strong></font></p>
<p><img src="http://salukisoft.files.wordpress.com/2007/11/msn-grr.jpg" alt="MSN rant" align="right" hspace="5" />I&#8217;ve been using Microsoft&#8217;s (in)famous instant messenger app since version 4.6 which came out in 2001 (back when it was called MSN Messenger). Between then and now, I&#8217;ve seen it undergo a lot of changes. Some of them were great (like the ability to send files, which was introduced in version 5). Others were more questionable (<em>winks</em>, added in version 7). But if there&#8217;s one thing that never seems to change between versions of <acronym title="Windows Live Messenger">WLM</acronym>, it&#8217;s the <strong>bugs</strong>.</p>
<p><span id="more-21"></span>Any programmer knows that software can never be perfect, and even the most expertly coded application can still have bugs. I accept that. What irritates me is that these bugs have been around version after version, and none of them have been fixed yet. I could understand if they were hard to find or repeat, but they&#8217;re all glaringly obvious, and in an average day of chatting, I can guarantee you&#8217;ll come across at least one.</p>
<p>Here are the four main bugs I come across <em>every single time</em> I use WLM:</p>
<p><strong>Messages fail to send for no reason.<br />
</strong></p>
<p>I put this bug at the top of the list because it&#8217;s the most tenacious and also the most annoying. After using WLM for a long enough period (perhaps a few hours), it will suddenly decide to fail every time you try to send a message. I did a few tests and concluded that the &#8216;error&#8217; occurs on the client side, not on the server, so it must be a bug in the client. The only possible way to fix this is to close the WLM exe and start it again &#8211; simply logging out will only fix it for a couple of minutes.</p>
<p><font color="#0000ff">Temporary solution:<font color="#000000"> Close WLM down completely and hope it&#8217;s more merciful next time.</font><br />
</font></p>
<p><strong>When a conversation gets too long, it breaks.</strong></p>
<p>This is a slight improvement from the first official WLM release (version 8), in which holding a conversation that was past a specific length would cause every succeeding message to appear on the same line, turning the whole thing into a complete mess. Now, because the WLM team over at Microsoft are so good at debugging their software, having a long conversation will only break the window when you send/receive an ink (handwriting) message or a file. For files it&#8217;s just a minor annoyance, but when you just spent ten minutes drawing a detailed ink message, the last thing you want is for it to fail, especially if it happens on both sides at once (this does happen, and it means you&#8217;ll have to draw the entire thing again).</p>
<p><font color="#0000ff">Temporary solution:<font color="#000000"> Close the window periodically, to keep the conversation log short. Close and re-open the window before sending an ink message.</font></font></p>
<p><strong>The entire file transfer system.</strong></p>
<p>The WLM file transfer system is a sloppy mess of barely-working components, stuck together with a child&#8217;s glue stick in order to make something that just about passes itself off as a feature.</p>
<ul>
<li>About 1/3 of the time, the person you send the file to won&#8217;t even receive the file invitation.</li>
<li>Other times, the invitation will be sent, but the file will never actually start sending.</li>
<li>If you&#8217;re lucky enough to witness a file actually sending, don&#8217;t dare cough or even look at it the wrong way. It <strong>will</strong> fail. Since there&#8217;s no resume feature, you&#8217;ll have to send the whole thing again!</li>
<li>Chance of failure is tenfold for every other file you try to send concurrently.</li>
</ul>
<p>Usually when a file send goes wrong it&#8217;s port-related, but I&#8217;ve tested this with both my computer and the remote computer set to <acronym title="Demilitarised Zone">DMZ</acronym> (which effectively exposes it to the rest of the Internet, as if there were no firewall), so how can this is due to anything other than their bad programming?</p>
<p><font color="#0000ff">Temporary solution:<font color="#000000"> Use email (<a href="http://www.gmail.com" target="_blank">GMail</a> allows 20mb attachments) or upload the file somewhere, if you want it to be recieved before next Christmas.</font></font></p>
<p><strong>Offline mode messagi</strong><strong>ng</strong></p>
<p>Although the offline mode system is handy, it&#8217;s still littered with bugs. Messages you send are even less likely to arrive than regular messages, and some will be saved in the MSN backlog for up to a day before you receive them. You can&#8217;t send a file if you&#8217;re in offline mode, even though you can receive them (well&#8230; I say <em>receive</em>&#8230; see the previous bug). If you try to talk to someone who&#8217;s in offline mode, there&#8217;s a chance you&#8217;ll lose the ability to talk to them until they talk to you first.</p>
<p><font color="#0000ff">Temporary solution:<font color="#000000"> Don&#8217;t send important messages in offline mode.</font></font></p>
<p><strong>Minor bugs (honourable mentions) </strong></p>
<ul>
<li>Sending too many custom emoticons at once sometimes makes them turn back into text.</li>
<li>Certain system settings cause the status to stick to a specific value (such as &#8216;busy&#8217;) when you log in, ignoring the status you&#8217;ve actually selected.</li>
<li>A single-person conversation sometimes goes quantum and turns into a multiple-person conversation containing two copies of the same person. When they send you a file, a new single-conversation window will pop up.</li>
<li>Ink messages sometimes &#8216;wibble&#8217; (the lines move back and forth of their own accord).</li>
</ul>
<p><strong>Why&#8217;s it so buggy?</strong></p>
<p>I can think of three likely reasons:</p>
<ol>
<li>Microsoft care more about making the interface looking pretty than about the application <em>working properly</em>. In every version of WLM since 8.0, the interface has changed but the bugs remain exactly the same. Get your priorities right, MS!</li>
<li>Microsoft only updates a product when it&#8217;s in their best interests, not when it benefits the users. IE 7 is a prime example of this. IE 6 was riddled with <a href="http://www.positioniseverything.net/explorer.html" target="_blank">HTML and CSS rendering bugs</a>, but MS only decided to bring out a new version when they realised Firefox was gaining popularity (5 years later). Fail.</li>
<li>It&#8217;s a bloated mess. The Microsoft WLM client is 30mb, three times larger than its closest alternative, <a href="http://www.pidgin.im/" target="_blank">Pidgin</a> (which supports <strong>15</strong> other IM protocols alongside MSN). If you&#8217;ve ever tried to learn about the protocol it uses to communicate with the MSN server, you&#8217;ll realise how horrific it is to work with. A complete re-code is the only thing that can save the poor thing.</li>
</ol>
<p>Despite all these bugs, I still continue to use WLM because I think it&#8217;s one of the best IM apps available. I just wish MS would pay more attention to their users for once, but I suppose that&#8217;s a pipe dream for now (isn&#8217;t it always?).</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=21&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2007/11/04/windows-live-messenger-and-its-annoying-bugs/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2007/11/msn-grr.jpg" medium="image">
			<media:title type="html">MSN rant</media:title>
		</media:content>
	</item>
		<item>
		<title>Retro Game Awards</title>
		<link>http://salukisoft.wordpress.com/2007/11/03/retro-game-awards/</link>
		<comments>http://salukisoft.wordpress.com/2007/11/03/retro-game-awards/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 17:49:13 +0000</pubDate>
		<dc:creator>Salukisoft</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Retro Game Awards]]></category>

		<guid isPermaLink="false">http://salukisoft.wordpress.com/2007/11/03/retro-game-awards/</guid>
		<description><![CDATA[Modern games owe a hell of a lot to their predecessors &#8211; almost every game stands on the shoulders of those created before it. Modern first-person shooter games have a lot to thank Wolfenstein for, and without Populous, the entire genre of &#8216;god games&#8217; may not even exist today.
As well as being forerunners for the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=6&subd=salukisoft&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://salukisoft.files.wordpress.com/2007/11/rga.png" alt="Retro Game Awards" align="left" />Modern games owe a hell of a lot to their predecessors &#8211; almost every game stands on the shoulders of those created before it. Modern first-person shooter games have a lot to thank <a href="http://en.wikipedia.org/wiki/Wolfenstein_3D" target="_blank">Wolfenstein</a> for, and without <a href="http://en.wikipedia.org/wiki/Populous" target="_blank">Populous</a>, the entire genre of &#8216;god games&#8217; may not even exist today.</p>
<p>As well as being forerunners for the incredibly popular games industry, retro games are some of the most innovative and fun ever produced. That&#8217;s why I want to pay homeage to some of those games. I&#8217;m a big fan of the Megadrive (aka Genesis) and SNES &#8211; I grew up with them &#8211; so a lot of the games in this article will be titles from those consoles (although quite a few old PC titles will probably find their way in).</p>
<p>So, without further adieu, the first lucky game in the Retro Game Awards is&#8230;</p>
<p><span id="more-6"></span></p>
<h1>Dynamite Headdy</h1>
<p><a title="Dynamite Headdy Screenshot" href="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy01.png" target="_blank"><img src="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy01.thumbnail.png" alt="Dynamite Headdy Screenshot" align="right" /></a></p>
<p><strong>Platform:</strong> Megadrive<br />
<strong>Released:</strong> 1994<br />
<strong>Producer:</strong> Treasure</p>
<p><strong>Overview</strong><br />
In <em>Dynamite Headdy</em> you play the role of Headdy, a puppet with a detachable head which he uses to attack enemies. Upon visiting his friends in North Town he finds out that the evil Dark Demon has gotten his grubby mitts on Headdy&#8217;s puppet buddies, and is bent on converting them into his own evil minions. Headdy almost suffers the same fate until the &#8216;puppet picker&#8217; machine sees him as a reject and sends him down into the dust collector, from which he makes his escape.</p>
<p><strong>Why&#8217;s it so good?</strong><br />
From the moment you start playing <em>Headdy</em>, you feel completely immersed. The graphics (which are incredibly bright and colourful) all resemble props, backdrops and other stage instruments, with the occasional tear or a piece missing to reveal a wooden support or a stage light.  The developers even took this a step further in certain places and have the whole level set in a back-stage area, or have the backdrop dragged in by little puppets while you&#8217;re still fighting in the foreground.</p>
<p>The gameplay looks basic at first &#8211; pressing B will make Headdy attack by shooting his head forwards, headbutting anything that gets in the way. Shooting little boxes known as &#8216;headcases&#8217; will change your head temporarily, depending on which head it shows on the case (each case usually has two or three, and cycles through them). There are 18 kinds of heads to choose from, each has its own function (hammer head does more damage and lets you move heavy objects, outline head makes you invincible, protection head makes a ring of fire around you, etc&#8230;).<br />
The interesting part is what happens when you shoot things that<em> aren&#8217;t</em> enemies. As well as using your cranium to do damage, you can use it to manipulate yourself and other objects. Grabbing the little orange balls known as &#8216;hangmen&#8217; lets you pull yourself up to higher platforms, pull lids off containers, activate switches and all kinds of other things.</p>
<p>Combine this kind of innovative gameplay with great level design, pretty graphics and decent music and you have a game that&#8217;ll stand the test of time for a long while.</p>
<p><a title="dynamiteheaddy04.png" href="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy04.png" target="_blank"><img src="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy04.thumbnail.png" alt="dynamiteheaddy04.png" /></a> <a title="Dynamite Headdy Screenshot" href="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy03.png" target="_blank"><img src="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy03.thumbnail.png" alt="Dynamite Headdy Screenshot" /> </a><a title="Dynamite Headdy Screenshot" href="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy02.png" target="_blank"><img src="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy02.thumbnail.png" alt="Dynamite Headdy Screenshot" /></a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/salukisoft.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/salukisoft.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/salukisoft.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/salukisoft.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/salukisoft.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/salukisoft.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/salukisoft.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/salukisoft.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/salukisoft.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/salukisoft.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/salukisoft.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/salukisoft.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=salukisoft.wordpress.com&blog=2047464&post=6&subd=salukisoft&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://salukisoft.wordpress.com/2007/11/03/retro-game-awards/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa0a5b6b39e397a0c0c05ec2ef3a4004?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Salukisoft</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2007/11/rga.png" medium="image">
			<media:title type="html">Retro Game Awards</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy01.thumbnail.png" medium="image">
			<media:title type="html">Dynamite Headdy Screenshot</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy04.thumbnail.png" medium="image">
			<media:title type="html">dynamiteheaddy04.png</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy03.thumbnail.png" medium="image">
			<media:title type="html">Dynamite Headdy Screenshot</media:title>
		</media:content>

		<media:content url="http://salukisoft.files.wordpress.com/2007/11/dynamiteheaddy02.thumbnail.png" medium="image">
			<media:title type="html">Dynamite Headdy Screenshot</media:title>
		</media:content>
	</item>
	</channel>
</rss>