<?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>Zane's Journal oF ...!?</title>
	<atom:link href="http://zanev.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://zanev.wordpress.com</link>
	<description>...Electronics...Graphics...Programming...</description>
	<lastBuildDate>Thu, 07 Jul 2011 08:09:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='zanev.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Zane's Journal oF ...!?</title>
		<link>http://zanev.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://zanev.wordpress.com/osd.xml" title="Zane&#039;s Journal oF ...!?" />
	<atom:link rel='hub' href='http://zanev.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Part I &#8211; A long blown out guide to interpretting ones and zeros through an account of my own experiences involving out-dated software.</title>
		<link>http://zanev.wordpress.com/2011/07/03/part-i-a-long-blown-out-guide-to-interpretting-ones-and-zeros-through-an-account-of-my-own-experiences-involving-out-dated-software/</link>
		<comments>http://zanev.wordpress.com/2011/07/03/part-i-a-long-blown-out-guide-to-interpretting-ones-and-zeros-through-an-account-of-my-own-experiences-involving-out-dated-software/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 13:50:13 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Schematic capture]]></category>
		<category><![CDATA[Protel V3.31]]></category>
		<category><![CDATA[Reverse engineering]]></category>
		<category><![CDATA[ms dos]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=207</guid>
		<description><![CDATA[ It&#8217;s been a while. If fact it&#8217;s been so long I had to dig through my emails just to find the wordpress password. My last published post was sometime in April, 2009 and I haven&#8217;t logged back in much since then but, as I roamed about the admin section I found an unfinished post on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=207&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong> I</strong>t&#8217;s been a while. If fact it&#8217;s been so long I had to dig through my emails just to find the wordpress password. My last published post was sometime in April, 2009 and I haven&#8217;t logged back in much since then but, as I roamed about the admin section I found an unfinished post on a central locking circuit I made for a friends car. I finished that project late last year so I will have to dust it off in the near future and publish it.</em></p>
<p>Anyway, apart from a few projects on the go the last couple of my weeks have been dedicated to reverse engineering an old MS DOS schematic capture file format. I am not one to look for obscure file formats to break apart and so there is a motive behind this relatively tedious project.</p>
<h3>On the motivation behind this relatively tedious project</h3>
<p>Like most other beings I spend my days doing work, though unlike the larger portion of other beings part of my work requires electrical system schematics to be drawn. Well, perhaps there is a fair sized portion of employed people using schematic capture software but what makes my experience unique is that its done in an MS DOS program called Protel Schematic V3.31. For those who are thinking, so what?! Its 2011, that&#8217;s what! And, my knowledge of MS DOS history is pretty pour but by the time I could use a computer Microsoft had moved onto Windows 98. Though, with that said I understand that there are many companies out there using antiquated technology and, perhaps it&#8217;s for the simple reason that they are tools that work and are easy to use.</p>
<p>If the system ain&#8217;t broke don&#8217;t try to fix it and its true, why churn out thousands of dollars to replace a tool that all your staff are trained on and can use efficiently? The answer in this case is that Windows 7 won&#8217;t run Protel Schematic V3.31 with out running it through an emulator of some kind.</p>
<p>Since its debut in the 80s Protel, an Australian company, has been bought out by Altium who promptly put a stupendous price tag on their line of EDA software currently called &#8220;Altium Designer 10&#8243;. Even though it does open old Protel files it would be of no use to you because you have just sold your liver and three of your kidneys to get a license that lasts only a year.</p>
<p>There are plenty of cheap options out there, though trying to find one without all the bells and whistles is hard, since we do system design and generally don&#8217;t get down to circuit level and PCB design and testing. After some searching I found KiCad, its not too ugly to look at and, its free which means as I pryed apart the layers of Protel schematic files I had a format to convert it too. The beauty of KiCads&#8217; schematic file format is that its ridiculously simple to interpret and since it&#8217;s in plain text, if you got your geek on and neglected life for a bit, you could write your own schematic by hand.</p>
<p>This has been my first real experience with the process of reverse engineering and so this article is going to serve the purpose of passing on the things I have learned, as well as break down and document an otherwise undocumented Protel Schematic V3.31 file format.</p>
<h3>On reverse engineering and using your head<strong><br />
</strong></h3>
<p><strong> T</strong>wo factors in this process of reverse engineering have made my life easy, for one I have the software that generates the file format, secondly the format that I am converting to is well documented. Having the software to generate the file format means that you can control the data stored in the file, take one of our large system schematics for example; it contains a couple of hundred lines, junctions, text labels, a document box and components, that&#8217;s a lot of bytes to process.</p>
<p>One tool that will be invaluable is a decent hex editor, on windows I use 010 Editor and on the mac I use hex fiend (pretty basic but it works).</p>
<p>I began by opening up the schematic file in the hex editor which shows gibberish nonsense when looking at it in ASCII and plain text. Having a split screen of the file, one side translated in ASCII and the other in hex helps pick out patterns.</p>
<p>ASCII will encode what it can into characters and in some parts of the file  words are formed which gives clues at to what is contained in that section. It allowed me to pick up where labels and components were located in the file.</p>
<p>HEX is a base16 numbering system using 0-9 and A-F, so instead of trying to find patterns in large amounts of binary it it stores groups of 4 bits as a single value.</p>
<p>With that initial formatting done large blocks of data stand out and it is easy divide the file up into its patterns and start to get a grasp on how the file is structured.</p>
<p><a href="http://zanev.files.wordpress.com/2011/07/hex01.jpg"><img class="alignnone size-medium wp-image-217" title="hex01" src="http://zanev.files.wordpress.com/2011/07/hex01.jpg?w=300&#038;h=230" alt="" width="300" height="230" /></a></p>
<p>As I mentioned before, having the software that creates the file format allows you to have control over the data that is stored and so, by saving a blank schematic you can see what data is related to the document setup, formatting and what is used to define the other objects on the page.</p>
<h3>On Ruby and processing files bit by bit</h3>
<p>Using Ruby to write the file converter made things simple since it has some useful tools for reading data byte by byte.</p>
<p>Initially with when loading the file into Ruby we set it to binary mode, this means that it won&#8217;t be automatically encoded or use any ASCII newline commands that may be in the file and also reads the file as ASCII-8BIT. This is done using the File subclass of the IO class.</p>
<pre>schematic = File.new(ARGV[],"r")
schematic.binmode</pre>
<p>The IO class also provides us with another function called seek and this allows us to jump to certain locations within the file, as well as remember its current location.</p>
<p>In the example given below, I have found out how many bytes in size the header information for the schematic file is (16 bytes), so using the seek function I move past it and then read the next 16 bytes of data.</p>
<pre>#our position within schematic is 0
schematic.pos  #=&gt; 0
header = 0x10
schematic.seek(header, SEEK_CURR)
schematic.pos  #=&gt; 16
schematic.read(16)</pre>
<p>The next part to this article is going to be a break down of the file format and other technical stuff such as that&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=207&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2011/07/03/part-i-a-long-blown-out-guide-to-interpretting-ones-and-zeros-through-an-account-of-my-own-experiences-involving-out-dated-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2011/07/hex01.jpg?w=300" medium="image">
			<media:title type="html">hex01</media:title>
		</media:content>
	</item>
		<item>
		<title>Routing in Rails with Unique Column Names</title>
		<link>http://zanev.wordpress.com/2009/04/25/routing-in-rails-with-unique-column-names/</link>
		<comments>http://zanev.wordpress.com/2009/04/25/routing-in-rails-with-unique-column-names/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 12:05:34 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=191</guid>
		<description><![CDATA[A small question popped up while I working with rails today, I&#8217;m not sure how well this is documented and it seems fairly straight forward but I feel the urge to share it. The question is this: how can I route using, instead of a unique id, a different column in a set of data. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=191&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A small question popped up while I working with rails today, I&#8217;m not sure how well this is documented and it seems fairly straight forward but I feel the urge to share it.</p>
<p>The question is this: how can I route using, instead of a unique id, a different column in a set of data.</p>
<p>Say, for example I have a table with the columns <strong>id</strong> and <strong>name</strong> and both are unique. The data contained in my table is:</p>
<table style="height:49px;" border="0" width="122">
<tbody>
<tr>
<th>id</th>
<th> name</th>
</tr>
<tr>
<td style="text-align:center;">1</td>
<td style="text-align:center;">Fred</td>
</tr>
</tbody>
</table>
<p>The default routing would be as such:</p>
<p><code>http://localhost/users/1</code></p>
<p>But what I am after is this:</p>
<p><code>http://localhost/Fred</code></p>
<p>How is this done? After playing around here is what I came up with:</p>
<p>Open the routes.rb file and add the line:</p>
<p><code>map.connect ':name', :controller =&gt; 'users', :action =&gt; 'show' </code></p>
<p>So we are passing the parameter :name to our show action in the user controller. Now we need to modify our users_controller.rb to accept this parameter.<br />
<code><br />
def show<br />
@user = User.find_by_name(params[:name])<br />
end<br />
</code><br />
And that&#8217;s all there is to it. Look up the Ruby on Rails API for more information on the <code>find_by_</code> function</p>
<p>I haven&#8217;t had much experiance with ruby on rails so if I have said something that may be a little misleading make sure you let me know!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/191/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=191&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2009/04/25/routing-in-rails-with-unique-column-names/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting off track with Rails!&#8230; Oh!, the puns!</title>
		<link>http://zanev.wordpress.com/2009/04/18/getting-off-track-with-rails-oh-the-puns/</link>
		<comments>http://zanev.wordpress.com/2009/04/18/getting-off-track-with-rails-oh-the-puns/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 22:44:38 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Installing Ruby On Rails]]></category>
		<category><![CDATA[Mac OS X Tiger]]></category>
		<category><![CDATA[Mysql/Ruby]]></category>
		<category><![CDATA[Setting Up Ruby On Rails]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=176</guid>
		<description><![CDATA[Yes, like every other human being who has come across Ruby On Rails there is a strange temptation to start playing with words to show how clever we are but I&#8217;m fast to realise that its not the only thing you can do with Ruby On Rails, much to my relief. If you have no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=176&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yes, like every other human being who has come across Ruby On Rails there is a strange temptation to start playing with words to show how clever we are but I&#8217;m fast to realise that its not the only thing you can do with Ruby On Rails, much to my relief.</p>
<p>If you have no idea what Ruby on Rails is see: <a href="http://rubyonrails.org">http://rubyonrails.org</a>. </p>
<p>Having been introduced to Rails many moons or perhaps about 2 years ago, it had always remained concealed behind a cloud of mystery for myself and as I developed websites for different clients using mainly PHP scripted Content Management Systems I didn&#8217;t feel the need to waste time and learn how to use it.</p>
<p>Silly me?</p>
<p>Perhaps so, though at some point there comes the urge to write a new system alot simpler than those systems such as Joomla! or others like it, a system that is tailor made to clients needs and not overloaded with features that have no relavance or are perhaps useless.</p>
<p>Time to removed that cloud of mystery &#8230; Enter Ruby on Rails.</p>
<h2>Setting Up Rails</h2>
<p>I currently am using Mac OS X Tiger 10.4 so I set out to find information on setting up Ruby On Rails.</p>
<p>A brilliant tutorial which has pretty much got me set was from hivelogic:</p>
<p><a href="http://hivelogic.com/articles/view/ruby-rails-mongrel-mysql-osx">http://hivelogic.com/articles/view/ruby-rails-mongrel-mysql-osx</a></p>
<p>Though now with new updates and other current changes there was a few things that triped me up.</p>
<ul>
<li>In the Paths section of the tutorial you will see that you are to edit the .bash_login file so that terminal looks in our /usr/local directory though I found when I entered &#8216;ruby -v&#8217; into terminal it was still showing my old 1.8.2 version of ruby. After scratching around some time on the internet I found that I would actually need to edit .bash_profile instead of .bash_login for terminal to recognise a new path.</li>
<li>When installing the MySQL native bindings gem using the gem install method it was downloading yet failing to build, again I scratched around the net for a bit and found that due to Ruby Version 1.9.1 I would need to get the latest version of MySQL/Ruby and for some reason gems was only getting version 2.7 and the latest is 2.8 .1 <a href="http://rubyforge.org/frs/?group_id=4550">(http://rubyforge.org/frs/?group_id=4550)</a> so I downloaded that tar.gz file and installed it, tested and everything was looking great</li>
</ul>
<p>I haven&#8217;t bothered installing a http server for Rails yet as I am just using the one packaged.</p>
<p>With everything installed, the fun begins&#8230;</p>
<p>More on Ruby On Rails comming soon!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/176/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=176&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2009/04/18/getting-off-track-with-rails-oh-the-puns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>
	</item>
		<item>
		<title>Heinkel He-162D Volksjaeger</title>
		<link>http://zanev.wordpress.com/2008/11/07/heinkel-he-162d-volksjaeger/</link>
		<comments>http://zanev.wordpress.com/2008/11/07/heinkel-he-162d-volksjaeger/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 23:44:00 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Aviation]]></category>
		<category><![CDATA[Graphical Stuff]]></category>
		<category><![CDATA[Aircraft]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Blender3d]]></category>
		<category><![CDATA[He-162]]></category>
		<category><![CDATA[He-162D]]></category>
		<category><![CDATA[Heinkel]]></category>
		<category><![CDATA[Volksjaeger]]></category>
		<category><![CDATA[WWII]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=154</guid>
		<description><![CDATA[Over the past week I&#8217;ve been working on a little project in Blender and now its time to move onto something new, so here it is: The background matte was made in Photoshop and the model in Blender. If you&#8217;re interested in getting into 3D modeling or animation I recommend checking out Blender, you can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=154&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Over the past week I&#8217;ve been working on a little project in Blender and now its time to move onto something new, so here it is:</p>
<p><a href="http://zanev.files.wordpress.com/2008/11/a_final_small.jpg"><img class="alignnone size-full wp-image-152" title="a_final_small" src="http://zanev.files.wordpress.com/2008/11/a_final_small.jpg?w=590" alt="a_final_small"   /></a></p>
<p><a href="http://zanev.files.wordpress.com/2008/11/a_final_disp_small.jpg"><img class="alignnone size-full wp-image-153" title="a_final_disp_small" src="http://zanev.files.wordpress.com/2008/11/a_final_disp_small.jpg?w=590" alt="a_final_disp_small"   /></a></p>
<p>The background matte was made in Photoshop and the model in Blender. If you&#8217;re interested in getting into 3D modeling or animation I recommend checking out Blender, you can find it here: <a href="http://www.blender3d.org">www.blender3d.org</a> .</p>
<p>Also I&#8217;ve just setup a new CG Portfolio section as well so I&#8217;m hoping on expanding that as well.</p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=154&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2008/11/07/heinkel-he-162d-volksjaeger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/11/a_final_small.jpg" medium="image">
			<media:title type="html">a_final_small</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/11/a_final_disp_small.jpg" medium="image">
			<media:title type="html">a_final_disp_small</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby in FlightGear gets a GUI!</title>
		<link>http://zanev.wordpress.com/2008/10/22/ruby-in-flightgear-gets-a-gui/</link>
		<comments>http://zanev.wordpress.com/2008/10/22/ruby-in-flightgear-gets-a-gui/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 13:23:23 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Flight Simulators]]></category>
		<category><![CDATA[FlightGear]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[FXRuby]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[I/O]]></category>
		<category><![CDATA[Ruby/FX]]></category>
		<category><![CDATA[Threads]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=143</guid>
		<description><![CDATA[Boring old black and white text scrolling down a screen isn&#8217;t very attractive, right? (Refer to my previous post). So with this on my conscience I set out to give my ruby program, which gets data from FlightGear, a nice pretty interface&#8230; well sort of pretty. So&#8230; here it is! Now when dealing with constant [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=143&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Boring old black and white text scrolling down a screen isn&#8217;t very attractive, right? (Refer to my <a href="http://zanev.wordpress.com/2008/10/21/ruby-ironruby-and-flightgear-the-perfect-trio-maybe/">previous post</a><!--[if gte mso 9]&gt;  Normal 0     false false false  EN-US X-NONE X-NONE              MicrosoftInternetExplorer4              &lt;![endif]--><!--[if gte mso 9]&gt;                                                                                                                                            &lt;![endif]-->). So with this on my conscience I set out to give my ruby program, which gets data from FlightGear, a nice pretty interface&#8230; well sort of pretty.</p>
<p>So&#8230; here it is!</p>
<p style="text-align:center;"><a href="http://zanev.files.wordpress.com/2008/10/fgdata-gui.jpg"><img class="size-full wp-image-145 aligncenter" title="fgdata-gui" src="http://zanev.files.wordpress.com/2008/10/fgdata-gui.jpg?w=590" alt=""   /></a></p>
<p>Now when dealing with constant processing of input or output data and in my case it is data being received, as well as a graphical user interface you are asking ruby to do two things at once. In the general scheme of things it is not what simple old ruby does, all it knows is to run through a series of instructions and then either loop back over those instructions or terminate, that being said with exceptions. So let me now introduce threads.</p>
<p>Ruby threads, without going into to much detail, allow multiple processes to run parallel to each other. So I needed ruby to not only be managing the GUI but also receiving and processing I/O data and thus the use of threads.</p>
<p>Setting up a thread is quite simple:</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/threads.jpg"><img class="alignnone size-full wp-image-144" title="threads" src="http://zanev.files.wordpress.com/2008/10/threads.jpg?w=590" alt=""   /></a></p>
<p>And you can find more information about them in the ruby core libraries documentation, see <a href="http://corelib.rubyonrails.org/classes/Thread.html">here</a>.</p>
<p>Like the rest of my programs featuring GUI&#8217;s I have a soft spot for FXRuby, and I really don&#8217;t know why but I think it is mainly because it works, strangely enough. To allow me to update each piece of information (speed, altitude, etc.) I used FXRuby&#8217;s Data Targets which I setup to be updated from within the threaded receiving process.</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/datatargets.jpg"><img class="alignnone size-full wp-image-146" title="datatargets" src="http://zanev.files.wordpress.com/2008/10/datatargets.jpg?w=590" alt=""   /></a></p>
<p>All in all it is a pretty straight forward program but there are still plenty of loose ends needing to be tied up before I can call it a completely finished. It doesn&#8217;t even fulfill its intended purpose yet so there is plenty more to do.</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/fg-rubydata_gui.jpg"><img class="alignnone size-large wp-image-147" title="fg-rubydata_gui" src="http://zanev.files.wordpress.com/2008/10/fg-rubydata_gui.jpg?w=480&#038;h=283" alt="" width="480" height="283" /></a></p>
<p>If anyone is interested in the complete ruby code post a comment (with your email address) or send me an email and I will forward it on to you.</p>
<p>Stay tuned for more!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/143/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=143&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2008/10/22/ruby-in-flightgear-gets-a-gui/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/fgdata-gui.jpg" medium="image">
			<media:title type="html">fgdata-gui</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/threads.jpg" medium="image">
			<media:title type="html">threads</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/datatargets.jpg" medium="image">
			<media:title type="html">datatargets</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/fg-rubydata_gui.jpg?w=480" medium="image">
			<media:title type="html">fg-rubydata_gui</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby, IronRuby and FlightGear &#8211; The Perfect Trio&#8230; maybe</title>
		<link>http://zanev.wordpress.com/2008/10/21/ruby-ironruby-and-flightgear-the-perfect-trio-maybe/</link>
		<comments>http://zanev.wordpress.com/2008/10/21/ruby-ironruby-and-flightgear-the-perfect-trio-maybe/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 05:48:00 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Flight Simulators]]></category>
		<category><![CDATA[FlightGear]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=116</guid>
		<description><![CDATA[Ruby, IronRuby and FlightGear; Three big subjects in their own rights but here I am mixing them all together and perhaps getting into things a little to much over my head. The idea of using these three programs is to get real time data from a flight simulator program and then process and output it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=116&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ruby, IronRuby and FlightGear; Three big subjects in their own rights but here I am mixing them all together and perhaps getting into things a little to much over my head.</p>
<p>The idea of using these three programs is to get real time data from a flight simulator program and then process and output it through ruby. Also a future goal is to be able to send data  to control different systems while in flight through external components.</p>
<p style="text-align:center;"><a href="http://zanev.files.wordpress.com/2008/10/fg.jpg"><img class="size-medium wp-image-121 aligncenter" title="FlightGear" src="http://zanev.files.wordpress.com/2008/10/fg.jpg?w=300&#038;h=183" alt="" width="300" height="183" /></a></p>
<p>The following post contains information on FlightGears .xml protocols and configuring the simulator to output data through a socket. Also two scripts in Ruby and IronRuby which gets data from FlightGear and displays it.</p>
<p>Please also note that you will find that some information I give is similar to what is given at <a href="http://linkslink.wordpress.com/takeoff/">http://linkslink.wordpress.com/takeoff/</a> as I used the information as a guide when I was learning about the .xml Protocol files and has led me to some handy .Net libraries when using IronRuby.</p>
<p><span id="more-116"></span></p>
<p>Only last week IronRuby and FlightGear were unknown to me as I scowered through the immense achieves of the internet looking for any reference to Ruby being used to acquire data from Microsoft Flight Simulator X. But in the true spirit of Microsoft to even get access to the SDK you needed to have purchased the deluxe edition of FSX and perhaps I was aiming a little high with the Ruby side of things. Yet in my search I came across a very interesting project called IronRuby.</p>
<p>IronRuby allows ruby integration with the .Net libraries and you can get more information about it here: <a href="http://www.ironruby.net/">http://www.ironruby.net/</a> . Previous to using IronRuby I had been barely able to write a simple C# program but now things seem to make more sense. If anyone is interested I would recommend checking it out.</p>
<p>In the end I gave up on Microsoft Flight Simulator when I found FlightGear (<a href="http://www.flightgear.org/">http://www.flightgear.org/</a>) which is quite a nice open source flight simulator project and I look forward to being able to do some work on the source code of my own as I have a few ideas I would like to try out in it. Anyway I digress.</p>
<h2><strong>Getting Data from FlightGear</strong></h2>
<p>FlightGear provides a relatively easy way to access information about the aircraft and other environmental variables in realtime through a number of different methods of communication. These are either through a TCP or UDP network socket connection, serial connection or by writing a file to the hard drive which can be updated at a specified amount of times per second.</p>
<p>For my purposes the socket connection method is the most practical so this is what I will be covering here. Before I go into setting up this output method an important thing to understand is what format the data will be outputted in and exactly what data is going to be outputted. FlightGear uses .xml files to control how data is sent or recieved through a socket connection and what data it is. These files are kept in \data\Protocol file which is in the FlightGear directory, also a document I recommend you read is kept in the \docs file which is called README.protocol, it goes over how a general .xml protocol file is setup but I am going to cover it briefly here.</p>
<h4>.xml Protocol Files</h4>
<p>The basic structure of the .xml Protocol files are as follows:</p>
<h6>&lt;?xml version=&#8221;1.0&#8243;?&gt;<br />
&lt;PropertyList&gt;<br />
&lt;generic&gt;<br />
&lt;output&gt;<br />
&lt;line_separator&gt;newline&lt;/line_separator&gt;<br />
&lt;var_separator&gt;|&lt;/var_separator&gt;</h6>
<h6>&lt;chunk&gt;<br />
&lt;name&gt;speed&lt;/name&gt;<br />
&lt;type&gt;integer&lt;/type&gt;<br />
&lt;format&gt;%d&lt;/format&gt;<br />
&lt;node&gt;/velocities/airspeed-k&lt;/node&gt;<br />
&lt;/chunk&gt;</h6>
<h6>&#8230; Have as many output chunks as you desire &#8230;</h6>
<h6>&lt;/output&gt;<br />
&lt;/generic&gt;<br />
&lt;/PropertyList&gt;</h6>
<p>The &lt;output&gt; tag it can be replaced with &lt;input&gt; but I am not going to be covering that at this time so the first important things to look as is the &lt;line_separator&gt; and &lt;var_separator&gt; tags. These, as their names suggest determine how the chunks of data are to be separated. In this case after all the chunks of data have been sent it then starts on a newline when it goes to send the data again, but as each chunk of data is sent it puts a | between them so we can determine where a chunk begins and a chunk ends. &lt;chunk&gt; tags define what data to print by giving, &lt;type&gt;, &lt;format&gt; and &lt;node&gt;.</p>
<p>The &lt;name&gt; tag doesn&#8217;t get sent and is simply there for us old humans so we know whats what. Also there are other tags that can be put within a chunk and you can find more information on them in the README.protocol file.</p>
<p>&lt;type&gt; defines what type of data the chunk is, types that can be used are things such as: integer, string, boolean and float. &lt;format&gt; pretty much speaks for itself, and is similar to the job of &lt;type&gt; yet has more functions.</p>
<p>&lt;node&gt; defines the location of the chunk of data and the easiest way I know of so far of finding this information is by doing the following setup in Advanced Options in flight gear, starting up the game and then minimizing out of the game, opening a web browser and going to 127.0.0.1:5501 or localhost:5501.</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/httpd_fg.jpg"><img class="alignnone size-medium wp-image-122" title="httpd_fg" src="http://zanev.files.wordpress.com/2008/10/httpd_fg.jpg?w=300&#038;h=233" alt="" width="300" height="233" /></a></p>
<p>For the Ruby and IronRuby examples I give here I use following .xml Protocol file:</p>
<h6>&lt;?xml version=&#8221;1.0&#8243;?&gt;&lt;PropertyList&gt;&lt;generic&gt;</p>
<p>&lt;output&gt;<br />
&lt;line_separator&gt;newline&lt;/line_separator&gt;<br />
&lt;var_separator&gt;|&lt;/var_separator&gt;</p>
<p>&lt;chunk&gt;<br />
&lt;name&gt;speed&lt;/name&gt;<br />
&lt;format&gt;%d&lt;/format&gt;<br />
&lt;node&gt;/velocities/airspeed-kt&lt;/node&gt;<br />
&lt;/chunk&gt;</p>
<p>&lt;chunk&gt;<br />
&lt;name&gt;heading&lt;/name&gt;<br />
&lt;format&gt;%02d&lt;/format&gt;<br />
&lt;node&gt;/orientation/heading-deg&lt;/node&gt;<br />
&lt;factor&gt;57.29578&lt;/factor&gt;  &lt;!&#8211; radians to degrees &#8211;&gt;<br />
&lt;/chunk&gt;</p>
<p>&lt;chunk&gt;<br />
&lt;name&gt;altitiude&lt;/name&gt;<br />
&lt;format&gt;%02d&lt;/format&gt;<br />
&lt;node&gt;/position/altitiude-ft&lt;/node&gt;<br />
&lt;/chunk&gt;</p>
<p>&lt;chunk&gt;<br />
&lt;name&gt;rate of climb&lt;/name&gt;<br />
&lt;format&gt;%02d&lt;/format&gt;<br />
&lt;node&gt;/velocities/vertical-speed-fps&lt;/node&gt;<br />
&lt;/chunk&gt;</p>
<p>&lt;chunk&gt;<br />
&lt;name&gt;pitch angle&lt;/name&gt;<br />
&lt;format&gt;%05.1f&lt;/format&gt;<br />
&lt;type&gt;float&lt;/type&gt;<br />
&lt;node&gt;/orientation/pitch-deg&lt;/node&gt;<br />
&lt;/chunk&gt;</p>
<p>&lt;chunk&gt;<br />
&lt;name&gt;bank angle&lt;/name&gt;<br />
&lt;format&gt;%05.1f&lt;/format&gt;<br />
&lt;type&gt;float&lt;/type&gt;<br />
&lt;node&gt;/orientation/roll-deg&lt;/node&gt;<br />
&lt;/chunk&gt;</p>
<p>&lt;chunk&gt;<br />
&lt;name&gt;engine&lt;/name&gt;<br />
&lt;format&gt;%02d&lt;/format&gt;<br />
&lt;node&gt;/engines/engine[0]/rpm&lt;/node&gt;<br />
&lt;/chunk&gt;<br />
&lt;/output&gt;</p>
<p>&lt;/generic&gt;</p>
<p>&lt;/PropertyList&gt;</h6>
<h4>Configuring the Output of FlightGear</h4>
<p>FlightGear then needs to be configured so that we can get an output from it using our .xml protocol. This is quite easy to do as you can either do it through a command line or through the FlightGear Wizard GUI which I show here.</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/output_fg.jpg"><img class="alignnone size-medium wp-image-124" title="output_fg" src="http://zanev.files.wordpress.com/2008/10/output_fg.jpg?w=300&#038;h=235" alt="" width="300" height="235" /></a></p>
<p>Notice that the Generic field allows you to select the .xml Protocol file.</p>
<h2><strong>Getting FlightGear to talk to Ruby</strong></h2>
<p>Now this is pretty straight forward as Flightgear sends its data in an ASCII coding, though you can change that to binary if you wish through the .xml Protocol files. In Ruby all we practicly have to do is setup a TCP server and listen for FlightGear on a specific socket. When it connects we then split the data up into an array and this allows us to show only the data we want.</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/fg-rubydata.jpg"><img class="alignnone size-large wp-image-129" title="fg-rubydata" src="http://zanev.files.wordpress.com/2008/10/fg-rubydata.jpg?w=480&#038;h=342" alt="" width="480" height="342" /></a></p>
<p>This Ruby program simply prints the recieved data, so it isn&#8217;t very special but basicly a foundation for better things to come&#8230; assuming they will come.</p>
<h6>require &#8216;socket&#8217;include Socket::Constants</p>
<p>socket = Socket.new(AF_INET, SOCK_STREAM, 0)<br />
sockaddr = Socket.pack_sockaddr_in(5500, &#8217;127.0.0.1&#8242;)<br />
socket.bind(sockaddr)<br />
socket.listen(5)</p>
<p>puts &#8220;Server Started. Waiting for connection from client&#8230;&#8221;</p>
<p>while (FgClient  = socket.accept)<br />
puts &#8220;Client Connected, getting data&#8230;&#8221;<br />
loop do<br />
rawData = FgClient[0].readline<br />
data = rawData.split(&#8216;|&#8217;)<br />
puts &#8220;Speed = #{data[0]}&#8221;<br />
puts &#8220;Heading = #{data[1]}&#8221;<br />
puts &#8220;Altitude = #{data[2]}&#8221;<br />
puts &#8220;Rate of Climb = #{data[3]}&#8221;<br />
puts &#8220;Pitch Angle = #{data[4]}&#8221;<br />
puts &#8220;Bank Angle = #{data[5]}&#8221;<br />
end<br />
end</h6>
<h2><strong><strong>Getting FlightGear to talk to IronRuby</strong></strong></h2>
<p>And here is practically the same thing in IronRuby though I haven&#8217;t put the received data through any formatting so that you can see how the data is sent from FlightGear.</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/fg-rubydotnet.jpg"><img class="alignnone size-large wp-image-132" title="fg-rubydotnet" src="http://zanev.files.wordpress.com/2008/10/fg-rubydotnet.jpg?w=480&#038;h=346" alt="" width="480" height="346" /></a></p>
<h6>require &#8216;mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86&#8242;<br />
require &#8216;System, Version=2.0.50727.42, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL&#8217;</h6>
<h6>#call on the different classes required within the .Net framework<br />
tcpListener = System::Net::Sockets::TcpListener<br />
networkStream = System::Net::Sockets::NetworkStream<br />
streamReader = System::IO::StreamReader</h6>
<h6>ipAddress = &#8217;127.0.0.1&#8242;<br />
port = 5500</h6>
<h6>#Parse IPAddress<br />
localAddr = System::Net::IPAddress::Parse(ipAddress)</h6>
<h6>puts &#8220;FgACS &gt;&gt; Starting FlightGear Aircraft Control Server&#8230;&#8221;</h6>
<h6>#Start TCP Server<br />
FgServer = tcpListener.new(localAddr, port)<br />
FgServer.Start()#ToDo: need to check to see if server already started before starting new one.</h6>
<h6>puts &#8220;FgACS &gt;&gt; Server online. IP Address: #{ipAddress}, Port: #{port}&#8221;<br />
puts &#8220;FgACS &gt;&gt; Waiting for FlightGear Client to connect&#8230;&#8221;</h6>
<h6>FgSocket = FgServer.AcceptSocket()</h6>
<h6>puts &#8220;FgACS &gt;&gt; FlightGear Client Connected Successfully&#8221;</h6>
<h6>FgStream = networkStream.new(FgSocket)<br />
readStream = streamReader.new(FgStream)</h6>
<h6>while FgStream.CanRead do<br />
$receivedData = readStream.ReadLine()<br />
puts &#8220;#{$receivedData}&#8221;<br />
end</h6>
<h2><strong><strong><strong><strong>In Conclusion</strong></strong></strong></strong></h2>
<p>There is a multitude of more information I could add to this post but as I see it that information is very easy to get your hands on and doesn&#8217;t really need repeating here so use your head an you will be able to fill in any of the blanks I have made. There is still so much more I have to learn in this area and as I see it this is just the very tip of the iceberg.</p>
<p>Perhaps ruby is not the way forward if you are looking from a consumers perspective but I found that it makes building up a prototype of an idea or trying something to see if it will work so much more quicker and easier.</p>
<p>I hope some of you find this post of some interest!</p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=116&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2008/10/21/ruby-ironruby-and-flightgear-the-perfect-trio-maybe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/fg.jpg?w=300" medium="image">
			<media:title type="html">FlightGear</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/httpd_fg.jpg?w=300" medium="image">
			<media:title type="html">httpd_fg</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/output_fg.jpg?w=300" medium="image">
			<media:title type="html">output_fg</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/fg-rubydata.jpg?w=480" medium="image">
			<media:title type="html">fg-rubydata</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/fg-rubydotnet.jpg?w=480" medium="image">
			<media:title type="html">fg-rubydotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>QANTAS and its shiny new toy</title>
		<link>http://zanev.wordpress.com/2008/10/11/qantas-and-its-shiny-new-toy/</link>
		<comments>http://zanev.wordpress.com/2008/10/11/qantas-and-its-shiny-new-toy/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 10:31:06 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Aviation]]></category>
		<category><![CDATA[a380]]></category>
		<category><![CDATA[Airbus]]></category>
		<category><![CDATA[QANTAS]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=107</guid>
		<description><![CDATA[It just so happens that the glide slope on the approach to Brisbane&#8217;s Airport is directly over where I do my training for avionics so I caught the QANTAS A380 on its final approach. Unfortunately I didn&#8217;t have my trusty point and shoot camera so I had to use the one on my phone. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=107&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It just so happens that the glide slope on the approach to Brisbane&#8217;s Airport is directly over where I do my training for avionics so I caught the QANTAS A380 on its final approach. Unfortunately I didn&#8217;t have my trusty point and shoot camera so I had to use the one on my phone. I apologize for the bad images.</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/q_a380.jpg"><img class="alignnone size-medium wp-image-108" title="q_a380" src="http://zanev.files.wordpress.com/2008/10/q_a380.jpg?w=300&#038;h=231" alt="" width="300" height="231" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=107&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2008/10/11/qantas-and-its-shiny-new-toy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/q_a380.jpg?w=300" medium="image">
			<media:title type="html">q_a380</media:title>
		</media:content>
	</item>
		<item>
		<title>The Bench-top Power Supply</title>
		<link>http://zanev.wordpress.com/2008/10/11/the-bench-top-power-supply/</link>
		<comments>http://zanev.wordpress.com/2008/10/11/the-bench-top-power-supply/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 08:31:47 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=94</guid>
		<description><![CDATA[So here is yet again another infrequent post in this mess called a blog. If I was a reader of it I would have lost interest long ago and forgot the address to this site but then again I am just one of those impatient sort of people. Yet with this in mind I do [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=94&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So here is yet again another infrequent post in this mess called a blog. If I was a reader of it I would have lost interest long ago and forgot the address to this site but then again I am just one of those impatient sort of people. Yet with this in mind I do endeavour to be a little more constant with my posts. I have tried to make things a little bit more interesting by adding a new section which has got some of my photography of aircraft and aviation in general which I hope you enjoy.</p>
<p>Anyway by now you are asking why I named this post The Bench-top Power supply so I&#8217;ll get straight to the point: I needed something to do&#8230; so I made a Bench-top Power Supply. There are plenty of other things I could of made which would have been much more stimulating and interesting but the fact is having a variable power supply is so handy and I would add a few small features which I find come in handy.</p>
<p><a href="http://zanev.files.wordpress.com/2008/10/psu_side.jpg"><img src="http://zanev.files.wordpress.com/2008/10/psu_side.jpg?w=300&#038;h=225" alt="" title="psu_side" width="300" height="225" class="alignnone size-medium wp-image-95" /></a></p>
<p>I have used a standard step down transformer (240 VAC to 15 VAC), a bridge rectifier kit and a voltage regulator kit from Jaycar (<a href="http://www.jaycar.com.au">www.jaycar.com.au</a>). So thats the basic idea to a power supply, I then added terminals to plug in a dc supply to be regulated (i.e. Car battery) and a toggle switch to select between the ac and dc sources. I then added a tie switch which allows the power supply to be either floating, positive tied to earth or negative tied to earth. Call me lazy but it saves the extra wire to do the tying for you. </p>
<p><a href="http://zanev.files.wordpress.com/2008/10/psu_inside2.jpg"><img src="http://zanev.files.wordpress.com/2008/10/psu_inside2.jpg?w=300&#038;h=202" alt="" title="psu_inside2" width="300" height="202" class="alignnone size-medium wp-image-99" /></a></p>
<p>I hope to be a little more frequent now with this blog but no guarantees as I&#8217;m coming to the end of my avionics course so I&#8217;m a little busy. Anyways, Enjoy. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=94&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2008/10/11/the-bench-top-power-supply/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/psu_side.jpg?w=300" medium="image">
			<media:title type="html">psu_side</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/10/psu_inside2.jpg?w=300" medium="image">
			<media:title type="html">psu_inside2</media:title>
		</media:content>
	</item>
		<item>
		<title>The Digital Harp&#8230;</title>
		<link>http://zanev.wordpress.com/2008/08/14/the-digital-harp/</link>
		<comments>http://zanev.wordpress.com/2008/08/14/the-digital-harp/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 09:24:45 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=82</guid>
		<description><![CDATA[This little project has been in the making for a couple of weeks now and finally it is completed, so here it is and I hope someone out there can find this information helpful atleast. So what is the digital harp? Well the idea evolved from a thought train of creating a dynamic and complex [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=82&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This little project has been in the making for a couple of weeks now and finally it is completed, so here it is and I hope someone out there can find this information helpful atleast.</p>
<p><a href="http://zanev.files.wordpress.com/2008/08/dh_complete.jpg"><img class="alignnone size-medium wp-image-84" src="http://zanev.files.wordpress.com/2008/08/dh_complete.jpg?w=225&#038;h=300" alt="" width="225" height="300" /></a></p>
<p>So what is the digital harp? Well the idea evolved from a thought train of creating a dynamic and complex music instrument that could be controlled by the fingers yet while not touching a single string/key/button/pie and produce a vibrant and beautiful sound. So after a bit more thinking I came up with a compromise to my ambitious thoughts and<br />
managed to bang together a digital harp consisting of four &#8220;digital&#8221; strings, a ukulele and a very very simple synthesizer.</p>
<p><a href="http://zanev.files.wordpress.com/2008/08/dh_blockdiagram.jpg"><img class="alignnone size-medium wp-image-83" src="http://zanev.files.wordpress.com/2008/08/dh_blockdiagram.jpg?w=314&#038;h=210" alt="" width="314" height="210" /></a></p>
<p>So very simple.</p>
<p>Using four LDRs and a voltage divider circuit which a transistor sensing the increase in voltage drove a solid state relay I was able to create a very small and easy control circuit for when a hand moved in front of the LDR and blocked its light source from the laser.</p>
<p><a href="http://zanev.files.wordpress.com/2008/08/dh_controlcircuit.jpg"><img class="alignnone size-medium wp-image-85" src="http://zanev.files.wordpress.com/2008/08/dh_controlcircuit.jpg?w=300&#038;h=154" alt="" width="300" height="154" /></a></p>
<p>I created the oscillator using a 7414 chip which is a Hex Inverter with Schmitt trigger inputs and put a resistor in between the input and output legs and a capacitor. This oscillator provides a square wave output, unfortunately square waves don&#8217;t produce the best quality sounds but for this project it worked okay, though if you have the time and the parts I would recommend building a sinusoidal wave oscillator as they sound a lot better.</p>
<p>I setup four of these oscillators for each of the digital strings and then their outputs into the one amplifier.</p>
<p>This is the square wave oscillator setup:</p>
<p><a href="http://zanev.files.wordpress.com/2008/08/hd_oscil.jpg"><img class="alignnone size-medium wp-image-86" src="http://zanev.files.wordpress.com/2008/08/hd_oscil.jpg?w=300&#038;h=250" alt="" width="300" height="250" /></a></p>
<p>Then its just fitting everything together onto the ukulele which was basically done using a hot glue gun. I removed the nylon strings and tuning pegs, put a on/off switch on the side with a LED&#8230; its not a real project if there are no LEDs, and fixed a 6.5mm audio socket to it as well so I could plug it into my guitar amplifier.</p>
<p>I haven&#8217;t drawn up an official schematic yet but I do plan to in the near future&#8230; if anyone is interested in it let me know, it might just help with motivation.</p>
<p>There are a few little problems with it at this stage but it is practically working as expected and is a great little tool to annoy friends.</p>
<p>Until next time!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/zanev.wordpress.com/82/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/zanev.wordpress.com/82/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=82&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2008/08/14/the-digital-harp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>

		<media:content url="http://zanev.files.wordpress.com/2008/08/dh_complete.jpg?w=225" medium="image" />

		<media:content url="http://zanev.files.wordpress.com/2008/08/dh_blockdiagram.jpg?w=300" medium="image" />

		<media:content url="http://zanev.files.wordpress.com/2008/08/dh_controlcircuit.jpg?w=300" medium="image" />

		<media:content url="http://zanev.files.wordpress.com/2008/08/hd_oscil.jpg?w=300" medium="image" />
	</item>
		<item>
		<title>Finally&#8230; A combination lock!</title>
		<link>http://zanev.wordpress.com/2008/05/17/finally-a-combination-lock/</link>
		<comments>http://zanev.wordpress.com/2008/05/17/finally-a-combination-lock/#comments</comments>
		<pubDate>Sat, 17 May 2008 03:22:30 +0000</pubDate>
		<dc:creator>zanev</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Combination Lock]]></category>
		<category><![CDATA[PIC16F84A]]></category>

		<guid isPermaLink="false">http://zanev.wordpress.com/?p=37</guid>
		<description><![CDATA[For about a year now I have been wanting to build a combination lock with the PIC16F84A so finally here it is, very simple as it is yet the important thing is that it works. I built it from the schematic from this website: http://jap.hu/electronic/combination_lock.html: The hex and asm code can also be downloaded from [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=37&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For about a year now I have been wanting to build a combination lock with the PIC16F84A so finally here it is, very simple as it is yet the important thing is that it works.</p>
<p>I built it from the schematic from this website: <a href="http://jap.hu/electronic/combination_lock.html">http://jap.hu/electronic/combination_lock.html</a>:</p>
<p><img src="http://jap.hu/electronic/cl2-023.png" alt="" width="431" height="185" /></p>
<p>The hex and asm code can also be downloaded from the website to program the pic with. For this initial setup of the combination lock i made a few modifications to the design which involved taking out the 5v regulator and replacing it with a 5v1 diode, removing the relay and transistor setup and replacing it with a simple L.E.D and also getting rid of LED1. The crystal I used was a 3.578 MHZ crystal. The main purpose for all this is just to make sure the PIC is being interfaced with the keypad correctly and is acknowledging a password being entered in and being able to change its password stored in its memory. Which, believe it or not &#8211; works! &lt;insert a little dance here&gt;</p>
<p><img src="http://zanev.files.wordpress.com/2008/05/img_0396.jpg?w=590" alt="Basic Combination Lock" /></p>
<p>So now that everything looks dandy on a basic level the goal is to have a combination lock that is interfaced with a computer, allowing a number of parameters of the lock to be changed via pc as well as passwords and a log of what has been entered on the keypad and any successful or unsuccessful entry attempts. Anyway thats hopefully where things are heading!</p>
<p>Stay tuned for more mystical, world domineering and pointless projects.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/zanev.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/zanev.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zanev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zanev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/zanev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/zanev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/zanev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/zanev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/zanev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/zanev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/zanev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/zanev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/zanev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/zanev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/zanev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/zanev.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zanev.wordpress.com&amp;blog=985860&amp;post=37&amp;subd=zanev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zanev.wordpress.com/2008/05/17/finally-a-combination-lock/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c69d0d1fd7c3f6d5eeb7ec27d71212de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">zanev</media:title>
		</media:content>

		<media:content url="http://jap.hu/electronic/cl2-023.png" medium="image" />

		<media:content url="http://zanev.files.wordpress.com/2008/05/img_0396.jpg" medium="image">
			<media:title type="html">Basic Combination Lock</media:title>
		</media:content>
	</item>
	</channel>
</rss>
