<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Ben&#039;s Blog</title>
	<atom:link href="http://blog.benbergman.ca/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.benbergman.ca</link>
	<description>A window into the mind of a computer engineer</description>
	<lastBuildDate>Sat, 19 May 2012 04:16:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
		<item>
		<title>Visual diffs with gEDA, git, and GitHub</title>
		<link>http://blog.benbergman.ca/2012/05/17/visual-diffs-with-geda-git-and-github/</link>
		<comments>http://blog.benbergman.ca/2012/05/17/visual-diffs-with-geda-git-and-github/#comments</comments>
		<pubDate>Fri, 18 May 2012 02:40:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1634</guid>
		<description><![CDATA[A while ago I read this excellent article by Evil Mad Scientist Laboratories describing the need for some form of visual diff tool for open hardware projects. I had been thinking this was a great idea, but while working on a recent project, decided to actually start implementing something. I use the gEDA suite of [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://blog.benbergman.ca/2012/05/17/visual-diffs-with-geda-git-and-github/image-diff/" rel="attachment wp-att-1646"><img class="aligncenter  wp-image-1646" title="image-diff" src="http://blog.benbergman.ca/wp-content/uploads/2012/05/image-diff.png" alt="" width="579" height="311" /></a></p>
<p style="text-align: left;">A while ago I read <a href="http://www.evilmadscientist.com/article.php/visdiff">this excellent article</a> by Evil Mad Scientist Laboratories describing the need for some form of visual diff tool for open hardware projects. I had been thinking this was a great idea, but while working on a recent project, decided to actually start implementing something. I use the gEDA suite of tools, so that is what I&#8217;m creating this for, but the majority of the plumbing should be reusable for other file formats.</p>
<p>The first piece of this puzzle for me was automatically making image files of my schematics and PCBs that have changed and adding them to each commit. GitHub has image diffing capabilities built in, so this works great. I implemented this a pre-commit hook in .git/hooks/. My git hooks can be found <a href="https://github.com/BenBergman/.git_hooks">here</a>. I have designed them to work with the <a href="https://github.com/icefox/git-hooks">git-hooks</a> tool by Benjamin Meyer.</p>
<p>This script seems to work fine for me, though I&#8217;m open to suggestions for improvements. My major issues with how the hooks work (which are more issues with git than my hook) are</p>
<ol>
<li>The status message in the auto-generated commit comments is not being updated with the new image files and</li>
<li>Hooks don&#8217;t get pushed into remotes</li>
</ol>
<p>The first issue feels like a bug to me, but I suspect that it was done intentionally for some reason I&#8217;m not aware of. I have played with a work around by adding a prepare-commit-msg hook that just regenerates the commit message comments, but I have tested the pre-commit hook enough that I don&#8217;t feel I need to be aware of the addition of the images.</p>
<p>The second issue I am told is a security issue as it would cause arbitrary code to be executed on the machines of others who might clone (and possibly even the server). One nice feature of the git-hooks tool is that it can use hooks in a local repo directory, so if you include my scripts in the git_hooks repository, you just need to run &#8216;git hooks &#8211;install&#8217; and you will have the hooks working. Without that tool, you can just manually copy them into the proper file in the .git/hooks/ directory.</p>
<p>This method works well if I want to view visual diffs online, but sometimes I might be offline or perhaps I just don&#8217;t want to push my project to a public GitHub repo. For that, I plan to make some simple scripts that call visual diffing tools on my local repository. Git has the capability to set your git diff tool, so my plan is to write a wrapper script that picks the right tool based on file types. This script might also generate an image from files that cannot be diffed directly and don&#8217;t have the above auto generated files</p>
<p>Edit: Of course not 20 minutes after I publish this post I discover schdiff, a tool bundled with gEDA since the start of 2012 that is designed to hook into git-difftool to provide a visual diff of gschem .sch files. One format down, some more to go.  :)</p>
<p>Edit 2: Less than a day later and I discover there is also a pcbdiff tool on my computer that came with gEDA pcb. In Arch Linux, it installs to /usr/share/pcb/tools/pcbdiff, but it is not in the path, so in my .bashrc I just added &#8216;export PATH=&#8221;$PATH:/usr/share/pcb/tools&#8221;&#8216; at the end. I feel pcbdiff outputs images that are too low a resolution, plus it can&#8217;t handle when the .pcb files change in physical size, so I might submit a patch or two. Long story short, now I just need to make a script that auto-calls these diff tools based on the file type.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2012/05/17/visual-diffs-with-geda-git-and-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Dvorak &#8211; one year later</title>
		<link>http://blog.benbergman.ca/2012/01/15/dvorak-one-year-later/</link>
		<comments>http://blog.benbergman.ca/2012/01/15/dvorak-one-year-later/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 03:37:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Gear]]></category>
		<category><![CDATA[dvorak]]></category>
		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1602</guid>
		<description><![CDATA[A little over a year ago I posted about switching back to the Dvorak keyboard layout. I have stuck with it since then and that is pretty much all I have used. I thought that I would give a quick update as to how that is going and what else is going on in my keyboarding [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/greenputty/3886354103/"><img src="http://farm4.staticflickr.com/3485/3886354103_b1dcbbccb1.jpg" alt="" width="500" height="333" /></a><p class="wp-caption-text">Photo by Wi Bing Tan</p></div>
<p>A little over a year ago I <a href="http://blog.benbergman.ca/2010/10/18/back-to-dvorak/">posted</a> about switching back to the Dvorak keyboard layout. I have stuck with it since then and that is pretty much all I have used. I thought that I would give a quick update as to how that is going and what else is going on in my keyboarding life.<span id="more-1602"></span></p>
<p>So far I am very pleased with how Dvorak is working for me. I find that when I am typing for long periods that I don&#8217;t have to move my fingers very much and it is quite relaxing. My major complaint with the layout would probably have to be the placement of the &#8216;L&#8217; key. I think it is used a bit too frequently to be a pinky key. During general typing this isn&#8217;t too bad, but when typing for extended periods or while doing a lot of work on the command line (ie. running &#8216;$ ls -l&#8217;, all right-hand pinky keys), it can become a little annoying. Not quite enough for me to go back to qwerty, though.</p>
<p>When I do go back to a qwerty layout for short periods, I have a couple of minutes where I have to think about what keys I am pressing, but I have retained much of that muscle memory and if I have to type for longer periods, it comes back pretty quick (though I rarely need to do this). One thing that is annoying about switching back to qwerty on those rare occasions is keyboard shortcuts. I am a pretty regular Vim user and I have found trying to use Vim for short edits on a qwerty keyboard not to be worth the effort. I should probably force myself to use it, just to help maintain my abilities on that setup, but I generally just fall back to the likes of gedit/nano for those quick qwerty edits.</p>
<p>In my quest to perfect my keyboarding experience, I have made a few other tweaks to my setup. I think basically re-learning how to type makes you re-evaluate the things that you have lived with up until then. For quite some time after switching to Dvorak, I grew more and more frustrated by the typewriter-inherited stagger of a standard keyboard&#8217;s keys. It got to the point where I was ready to tear apart a bunch of keyboards in a quest to make my own. In the end, I was introduced to a bunch of columnar/matrix keyboards that are available on the market like the <a href="http://typematrix.com/" target="_blank">TypeMatrix</a>, <a href="http://www.trulyergonomic.com/">TrulyErgonomic</a>, <a href="http://www.kinesis-ergo.com/contoured.htm">Kinesis Contoured</a>, and <a href="http://www.maltron.com/keyboard-info.html">Maltron</a>, to name a few.</p>
<p>I ended up picking up a ~10 year old Kinesis Essential (with custom/hacked footswitches and upgraded memory, and much cleaner than the one pictured above) second hand from someone on the <a href="http://geekhack.org/" target="_blank">geekhack.org</a> forums in like-new condition for much less than a brand new, modern version. This has been my primary keyboard at work now for almost 5 months and it is great. The hand separation and the use of thumb keys instead of pinky keys are welcome improvements (though at times I wish the hand separation were greater). The bowl shape of the keywells puts the keys into what feels like a much more natural location. The first thing I noticed when I started using this board was that when I reached for the keys, they seemed to almost press themselves as my fingers got there much earlier than my brain expected. All in all, I would say this is a great keyboard. A friend of mine has a more modern version of the Kinesis (though the PCBs inside look identical) and we are planning to convert it into a bluetooth keyboard. I&#8217;ll try to post updates as they come.</p>
<p>The other less major thing I have been doing is tweaking my Vim configurations. I have moved all my plugins into the vundle plugin manager and have made a number of keyboard remappings. The main one that most people would probably get thrown off by if they used my Vim setup is that, while in insert mode, I have swapped the numbers and symbols for all of the number keys (excluding the num pad). I find that when programming, variable names are used much more often than static numbers, as are many of the symbols, so this makes programming a bit quicker. This change is one that I think is taking longer to adjust to due to the fact that it is only remapped in the one mode in Vim and not across my whole computer, but I find that it is really only useful while coding anyway, so a system wide change isn&#8217;t really justified. Having said that, I do really find it useful and there have been times outside of Vim that I have wished I had it too. If anyone is interested in my Vim configuration, you can find it <a href="https://github.com/BenBergman/.vim">here</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2012/01/15/dvorak-one-year-later/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>IEEEXtreme 5.0 programming competition</title>
		<link>http://blog.benbergman.ca/2011/11/27/ieeextreme-5-0-programming-competition/</link>
		<comments>http://blog.benbergman.ca/2011/11/27/ieeextreme-5-0-programming-competition/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 01:40:37 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1601</guid>
		<description><![CDATA[Back in October I had the opportunity to compete in the 5th annual IEEEXtreme programming competetion, a 24 hour challenge to complete as many programming problems as possible. There were a total of about 16 problems, released roughly once per hour or so. Our team completed around 5 or 6 problems (some were remarked after [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Back in October I had the opportunity to compete in the 5th annual IEEEXtreme programming competetion, a 24 hour challenge to complete as many programming problems as possible. There were a total of about 16 problems, released roughly once per hour or so. Our team completed around 5 or 6 problems (some were remarked after the completion of the competition due to a bug in the test system, so I am not sure about the final tally). Our team started with 3 members, but unfortunately we were down to 2 about 8 hours in, but we still felt as though we managed to do pretty well. We recently got the results back and were pleased to discover that we came in 240th (out of a total of 1515 teams), putting us in the top 16%! We also came in 14th place in Canada and 3rd place at our home University. I somehow managed to miss this event every other year it has happened but have always wanted to go, so I am glad that I got this final chance to compete.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/11/27/ieeextreme-5-0-programming-competition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>I&#8217;m back!</title>
		<link>http://blog.benbergman.ca/2011/11/24/im-back/</link>
		<comments>http://blog.benbergman.ca/2011/11/24/im-back/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 15:50:36 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1590</guid>
		<description><![CDATA[Hi everyone. Sorry for the down time. The ISP I was hosting with suddenly decided to make my system change IPs every 5 minutes, then I got busy with work so I didn&#8217;t have time to fix the problem. I have moved my server to a hopefully more reliable network and will post some life [...]]]></description>
			<content:encoded><![CDATA[<p>Hi everyone. Sorry for the down time. The ISP I was hosting with suddenly decided to make my system change IPs every 5 minutes, then I got busy with work so I didn&#8217;t have time to fix the problem. I have moved my server to a hopefully more reliable network and will post some life updates in the next couple of weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/11/24/im-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>ARTcadia</title>
		<link>http://blog.benbergman.ca/2011/10/06/artcadia/</link>
		<comments>http://blog.benbergman.ca/2011/10/06/artcadia/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 21:07:01 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SkullSpace]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hackerspace]]></category>
		<category><![CDATA[NES]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[skullspace]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1581</guid>
		<description><![CDATA[This past Saturday was Nuit Blanche here in Winnipeg. Some 30,000 people went around the city checking out various exhibits of art and culture. One of the exhibits at the art gallery was ARTcadia. A bunch of displays setup with indie games and hacks. I had the NES-chuck out again and it saw a lot [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 570px"><a href="http://www.leifnorman.net/nuit-blanche-at-the-wag-oct-1-2011/"><img class=" " src="http://www.leifnorman.net/wp-content/uploads/2011/10/MG_3296.jpg" alt="" width="560" height="445" /></a><p class="wp-caption-text">Photo &quot;borrowed&quot; from Leif Norman (click image for source)</p></div>
<p>This past Saturday was Nuit Blanche here in Winnipeg. Some <a href="http://www.cbc.ca/manitoba/scene/other/2011/10/03/nuit-blanche-draws-crowd-of-30000-in-winnipeg/#igImgId_19180">30,000 people</a> went around the city checking out various exhibits of art and culture. One of the exhibits at the art gallery was ARTcadia. A bunch of displays setup with indie games and hacks. I had the NES-chuck out again and it saw a lot of use. Click <a href="http://www.leifnorman.net/nuit-blanche-at-the-wag-oct-1-2011/">here</a> for some more pictures from the WAG.</p>
<p>While similar to Re:Play, the core difference for this event was that the games were setup as displays rather than booths. Because of this, there wasn&#8217;t someone around to provide instructions on how to start the game (ie. how to access the start and select buttons). We had a sign up with some instructions, but few people showed any interest in reading the signs. I may have to re-evaluate how this thing works for any future public displays.</p>
<p>CBC was running a contest called &#8220;Culture Vulture&#8221; where you have to go to cultural events and text in the posted word for an entry. SkullSpace must be getting some attention because the keyword posted at the WAG was &#8220;hacker&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/10/06/artcadia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>SkullSpace in the paper</title>
		<link>http://blog.benbergman.ca/2011/09/27/skullspace-in-the-paper/</link>
		<comments>http://blog.benbergman.ca/2011/09/27/skullspace-in-the-paper/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 14:49:02 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[SkullSpace]]></category>
		<category><![CDATA[hackerspace]]></category>
		<category><![CDATA[skullspace]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1577</guid>
		<description><![CDATA[The Winnipeg Free Press ran an article today about SkullSpace. You can check it out here.]]></description>
			<content:encoded><![CDATA[<p><center><img title="SkullSpace bench" src="http://media.winnipegfreepress.com/images/3470506.jpg" alt="" width="277" height="213" />   <img title="Some SkullSpace Members" src="http://media.winnipegfreepress.com/images/3470716.jpg" alt="" width="277" height="210" /><br />
The Winnipeg Free Press ran an article today about SkullSpace. You can check it out <a href="http://www.winnipegfreepress.com/arts-and-life/life/if-you---build-it-130616133.html">here</a>.</center></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/09/27/skullspace-in-the-paper/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>If machines could talk</title>
		<link>http://blog.benbergman.ca/2011/08/26/if-machines-could-talk/</link>
		<comments>http://blog.benbergman.ca/2011/08/26/if-machines-could-talk/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 01:02:26 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1572</guid>
		<description><![CDATA[In addition to this fun comic, I have added some pictures to my previous post about the NES-chuck which I had originally forgotten to upload. Scroll down to the bottom of the post to see what makes the NES-chuck tick.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://wondermark.com/749/"><img class="aligncenter" src="http://wondermark.com/c/2011-08-18-749speech.gif" alt="close enough" width="576" height="222" /></a></p>
<p>In addition to this fun comic, I have added some pictures to my <a href="http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/">previous post about the NES-chuck</a> which I had originally forgotten to upload. Scroll down to the bottom of the post to see what makes the NES-chuck tick.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/08/26/if-machines-could-talk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>NES-chuck Demo</title>
		<link>http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/</link>
		<comments>http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 03:32:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[SkullSpace]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[NES]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1544</guid>
		<description><![CDATA[NES-chuck Demo from Benjamin Bergman on Vimeo. I finally got around to making a quick demonstration of my NES-chuck. Code for the NES-chuck can be found here. The future event I mention is ArtCadia, which is part of Nuit Blanche. I&#8217;m not yet sure if I (or the NES-chuck) can attend, but I will keep [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/27838244?color=D34D04" frameborder="0" width="500" height="281"></iframe></p>
<p><a href="http://vimeo.com/27838244">NES-chuck Demo</a> from <a href="http://vimeo.com/benbergman">Benjamin Bergman</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>I finally got around to making a quick demonstration of my NES-chuck. Code for the NES-chuck can be found <a href="https://github.com/skullspace/neschuck">here</a>. The future event I mention is <a href="http://www.culturedays.ca/en/2011-activities/view/4e271761-02ac-49c7-b96d-2ba04c4a89be">ArtCadia</a>, which is part of Nuit Blanche. I&#8217;m not yet sure if I (or the NES-chuck) can attend, but I will keep this updated.</p>
<p>After the break, there is a rough draft of my script for the video.</p>
<p><span id="more-1544"></span></p>
<blockquote><p>Hi everyone!</p>
<p>I&#8217;m here to demonstrate this project that I made recently that I call the NES-chuck. As you can see here, I have a Wii nunchuck, but the cable has been replaced with one from the original NES controller so that it can be directly connected to the Nintendo. So with this, I am now able to play classic Nintendo games with the Wii nunchuck.</p>
<p>I came up with this idea a few months ago while chatting with some fellow hackers from my local hackerspace. We were thinking of project ideas and thought it would be great to play classic video games with a modern controller. The Wii nunchuck to NES conversion seemed good to me as it would be useful for one-handed gamers, people who want to eat a snack while gaming, or people wanting to play cooperative games by themselves. I then took it upon myself to make the NES-chuck at our next hackathon. We were later asked to help out with an event at the Winnipeg Art Gallery celebrating video game culture. The NES-chuck was setup for all the visitors to use and stood up to the use of hundreds of guests.</p>
<p>So here&#8217;s a quick demonstration of how it works. I can move the joystick to make Mario walk around, I can press the top button to make Mario jump, and I can press the lower button to make him run or, if he has the fire flower powerup, shoot fireballs.</p>
<p>Those of you really familiar with the NES controller will remember that it also has start and select buttons, but I have run out of buttons on the nunchuck. To compensate for this, I have used the accelerometer in the nuncheck to make the NES-chuck into a modal system. If you hold the controller in a normal playing position, the buttons function as A and B. However, if you hold the controller so that it is pointing upwards, the buttons will then act as Start and Select.</p>
<p>In order to get all of this functionality, I have crammed an ATMEGA 328 microcontroller running the Arduino bootloader into the nunchuck. The ATMEGA then talks over I2C with the nunchuck to get all the state information about the nunchuck (the joystick, the buttons, and the accelerometer) and then uses that information as it emulates the shift register inside the original NES controller.</p>
<p>In the future, there are a few changes that I would like to make to the NES-chuck. Besides getting a better NES that doesn&#8217;t constantly hang, I am considering taking the analog values from the joystick and using it to pulse width modulate the NES arrow buttons. That would let the user make Mario run at varying speeds, much like he does in the modern games. This rapid button pressing might get annoying for menu navigation, so when in start/select mode, the joystick will act as it currently does.</p>
<p>A second change I would like to make is to get rid of the Arduino bootloader. Since the NES-chuck is powered from the NES itself, the Arduino starts booting when the NES first turns on. Since the Arduino bootloader is slower to boot than the NES, things get a bit screwy, so I usually have to press the reset button on the NES so that it can get a fresh start with the NES-chuck already loaded up.</p>
<p>Lastly, I am currently experiencing a bug where the Start button gets pressed seemingly at random. It seems to happen most often when I am pressing up and left on the joystick and while jumping. The shift sequence of the NES controller has UP and START directly next to each other, so I think it is just a timing problem, but I haven&#8217;t been able to squash the bug yet. I did, however, manage to decrease the bug&#8217;s frequency by lowering the sensitivity to the UP button. Another possible solution would be to use an actual shift register to more precisely emulate the NES controller. The downside to this is that there is a limited amount of space in the nunchuck to begin with and so it might be tough to cram it all in there.</p>
<p>If you would like to get more information about the NES-chuck or you have some suggestions for the next version, feel free to leave a comment here or contact me through my website. You can also check out the code from our hackerspace&#8217;s GitHub account. I&#8217;ll post a link in this video&#8217;s description. The code is pretty simple, but a little messy as it was written in an afternoon. Feel free to use it however you would like. Also, if you would like to see the NES-chuck in action, it is looking pretty likely that there will be another video game art exhibit in Winnipeg sometime this fall, so keep your eyes and ears peeled for that.</p>
<p>I hope you liked the NES-chuck and enjoyed this video. Stay tuned to my channel and my blog to see my future projects.</p></blockquote>
<p>Update &#8211; 2011/08/26: I originally forgot to upload the pictures of the guts of this thing. Here they are!</p>

<a href='http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/dsc00376-1/' title='DSC00376-1'><img width="250" height="140" src="http://blog.benbergman.ca/wp-content/uploads/2011/08/DSC00376-1.jpg" class="attachment-thumbnail" alt="DSC00376-1" title="DSC00376-1" /></a>
<a href='http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/dsc00376-2/' title='DSC00376-2'><img width="250" height="140" src="http://blog.benbergman.ca/wp-content/uploads/2011/08/DSC00376-2.jpg" class="attachment-thumbnail" alt="DSC00376-2" title="DSC00376-2" /></a>
<a href='http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/dsc00376-3/' title='DSC00376-3'><img width="250" height="140" src="http://blog.benbergman.ca/wp-content/uploads/2011/08/DSC00376-3.jpg" class="attachment-thumbnail" alt="DSC00376-3" title="DSC00376-3" /></a>
<a href='http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/dsc00376-4/' title='DSC00376-4'><img width="250" height="140" src="http://blog.benbergman.ca/wp-content/uploads/2011/08/DSC00376-4.jpg" class="attachment-thumbnail" alt="DSC00376-4" title="DSC00376-4" /></a>
<a href='http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/dsc00376-6/' title='DSC00376-6'><img width="250" height="187" src="http://blog.benbergman.ca/wp-content/uploads/2011/08/DSC00376-6.jpg" class="attachment-thumbnail" alt="DSC00376-6" title="DSC00376-6" /></a>
<a href='http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/dsc00376-11/' title='DSC00376-11'><img width="250" height="187" src="http://blog.benbergman.ca/wp-content/uploads/2011/08/DSC00376-11.jpg" class="attachment-thumbnail" alt="DSC00376-11" title="DSC00376-11" /></a>
<a href='http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/dsc00376-12/' title='DSC00376-12'><img width="250" height="187" src="http://blog.benbergman.ca/wp-content/uploads/2011/08/DSC00376-12.jpg" class="attachment-thumbnail" alt="DSC00376-12" title="DSC00376-12" /></a>
<a href='http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/dsc00376-13/' title='DSC00376-13'><img width="250" height="187" src="http://blog.benbergman.ca/wp-content/uploads/2011/08/DSC00376-13.jpg" class="attachment-thumbnail" alt="DSC00376-13" title="DSC00376-13" /></a>

]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/08/17/nes-chuck-demo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Married</title>
		<link>http://blog.benbergman.ca/2011/08/04/married/</link>
		<comments>http://blog.benbergman.ca/2011/08/04/married/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 04:03:40 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1520</guid>
		<description><![CDATA[Photo credit: Sean]]></description>
			<content:encoded><![CDATA[
<a href='http://blog.benbergman.ca/2011/08/04/married/img_2261-mod/' title='img_2261-mod'><img width="250" height="250" src="http://blog.benbergman.ca/wp-content/uploads/2011/07/img_2261-mod.jpg" class="attachment-thumbnail" alt="img_2261-mod" title="img_2261-mod" /></a>
<a href='http://blog.benbergman.ca/2011/08/04/married/img_2263-mod/' title='img_2263-mod'><img width="250" height="250" src="http://blog.benbergman.ca/wp-content/uploads/2011/07/img_2263-mod.jpg" class="attachment-thumbnail" alt="img_2263-mod" title="img_2263-mod" /></a>
<a href='http://blog.benbergman.ca/2011/08/04/married/img_2268-mod/' title='img_2268-mod'><img width="250" height="250" src="http://blog.benbergman.ca/wp-content/uploads/2011/07/img_2268-mod.jpg" class="attachment-thumbnail" alt="img_2268-mod" title="img_2268-mod" /></a>
<a href='http://blog.benbergman.ca/2011/08/04/married/img_2271-mod/' title='img_2271-mod'><img width="250" height="250" src="http://blog.benbergman.ca/wp-content/uploads/2011/07/img_2271-mod.jpg" class="attachment-thumbnail" alt="img_2271-mod" title="img_2271-mod" /></a>
<a href='http://blog.benbergman.ca/2011/08/04/married/img_2267-mod/' title='img_2267-mod'><img width="250" height="166" src="http://blog.benbergman.ca/wp-content/uploads/2011/07/img_2267-mod.jpg" class="attachment-thumbnail" alt="img_2267-mod" title="img_2267-mod" /></a>

<p style="text-align: left;">Photo credit: <a href="http://www.seancarney.ca/gallery/2011/07/25/ben-amaras-wedding">Sean</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/08/04/married/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Monday&#8217;s Dinner: Fast Food Lasagna</title>
		<link>http://blog.benbergman.ca/2011/07/14/mondays-dinner-fast-food-lasagna/</link>
		<comments>http://blog.benbergman.ca/2011/07/14/mondays-dinner-fast-food-lasagna/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 03:43:18 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1514</guid>
		<description><![CDATA[This past Monday I got together with some friends to make a fast food lasagna. Nothing like sharing some questionable food with good friends.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">This past Monday I got together with some friends to make a <a href="http://www.seancarney.ca/blog/2011/07/13/epic-mealtime-fast-food-lasagna">fast food lasagna</a>. Nothing like sharing some questionable food with good friends.</p>
<p style="text-align: center;"><a href="http://blog.benbergman.ca/wp-content/uploads/2011/07/fast-food-lasagna-out-of-the-oven.jpg"><img class="aligncenter size-full wp-image-1515" title="fast-food-lasagna-out-of-the-oven" src="http://blog.benbergman.ca/wp-content/uploads/2011/07/fast-food-lasagna-out-of-the-oven.jpg" alt="" width="576" height="384" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/07/14/mondays-dinner-fast-food-lasagna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>The birth of the NES-chuck</title>
		<link>http://blog.benbergman.ca/2011/05/29/the-birth-of-the-nes-chuck/</link>
		<comments>http://blog.benbergman.ca/2011/05/29/the-birth-of-the-nes-chuck/#comments</comments>
		<pubDate>Mon, 30 May 2011 03:27:48 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[SkullSpace]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hackerspace]]></category>
		<category><![CDATA[skullspace]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1505</guid>
		<description><![CDATA[Last weekend was SkullSpace hackathon 6 and it was a great time. This hackathon was a less structured hackathon than we have had in the past and so myself and another fellow hacker decided ta get a full hack in, start to finish. The idea we had was to turn a Wii nun-chuck into a [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 277px"><a href="http://www.flickr.com/photos/b_turchyn/sets/72157626663209971/"><img class=" " title="hackathon 6 - birth of neschuck" src="http://farm4.static.flickr.com/3624/5751444752_6417853ca6.jpg" alt="" width="267" height="400" /></a><p class="wp-caption-text">Picture by Brian Turchyn</p></div>
<p>Last weekend was SkullSpace hackathon 6 and it was a great time. This hackathon was a less structured hackathon than we have had in the past and so myself and another fellow hacker decided ta get a full hack in, start to finish. The idea we had was to turn a Wii nun-chuck into a controller for the classic NES gaming system, thus dubbed the NES-chuck. While largely intended to be for our own amusement, the nun-chuck as NES controller does allow for one handed play meaning it could be a useful controller for people with disabilities (or for those who want to play two player co-op games by themselves).</p>
<p>By the end of the hackathon I had a working prototype system. It has a few timing related bugs that should be pretty easy to iron out. My intention is to make a much cleaner version to display at the Winnipeg Art Gallery on June 11 as part of the Re:Play event, an exhibit focused on gaming art and culture. I will try to post some pics and videos of the prototype and final versions shortly (the current, rough code can be found <a href="https://github.com/skullspace/neschuck">here</a>). In the meantime, you should check out Re:Play <a href="http://wag.ca/learn/programs/list/category/specialprograms">here</a> (scroll down on that page), <a href="http://www.mrghosty.net/replay.htm">here</a>, and <a href="http://www.facebook.com/event.php?eid=205335569506656">here</a>. If you come down, you will be able to try the NES-chuck first hand (no pun intended)!</p>
<p>UPDATE: I was up late working on this thing and thought I&#8217;d share a quick picture I snapped of it. I still have some kinks to work out. The nun-chuck is a knock off from deal extreme and is a bit peculiar. I am likely talking to it wrong, but right now the z button inverts the response of the c button. Also, the accelerometer data is not very stable. None of these things were a problem with an authentic nun-chuck, so I&#8217;m sure I just need to change the config a bit.</p>
<p><a href="http://blog.benbergman.ca/wp-content/uploads/2011/05/DSC00366.jpg"><img class="aligncenter size-full wp-image-1510" title="DSC00366" src="http://blog.benbergman.ca/wp-content/uploads/2011/05/DSC00366.jpg" alt="" width="640" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/05/29/the-birth-of-the-nes-chuck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Formula Hybrid Competition</title>
		<link>http://blog.benbergman.ca/2011/05/18/formula-hybrid-competition/</link>
		<comments>http://blog.benbergman.ca/2011/05/18/formula-hybrid-competition/#comments</comments>
		<pubDate>Thu, 19 May 2011 02:47:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[UMSAE]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[university]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1496</guid>
		<description><![CDATA[Two weeks ago I had the opportunity to go to Loudon, NH for the 2011 SAE Formula Hybrid competition. We had a long (38+ hr) drive out to competition and many sleepless nights working on the car, but it was a good experience. We brought 14 guys from our team out and there was always at least [...]]]></description>
			<content:encoded><![CDATA[<p>Two weeks ago I had the opportunity to go to Loudon, NH for the 2011 SAE Formula Hybrid competition. We had a long (38+ hr) drive out to competition and many sleepless nights working on the car, but it was a good experience. We brought 14 guys from our team out and there was always at least one person working on the car 24/7. Most of us electrical engineers wound up with the overnight shift and ended up working on the car from about 1 pm to 6 am, sleeping a few brief hours in the late morning. It was an interesting experience spending quite a few nights in the infield of a Nascar track. One day there were a bunch of locals riding their bikes around the track. A couple guys even brought out their <a href="http://en.wikipedia.org/wiki/Penny-farthing">penny-farthings</a>. The first day we were there, they had an open track day and so there was a wide range of cars attempting an obstacle course, from a brand new Lotus to an 80&#8242;s station wagon.</p>
<p>As for our car, the short story is we weren&#8217;t able to drive it at competition. We poured many hours into it and after a passing preliminary mechanical and electrical tech inspections saw that we had a lot of work to do to pass final inspections. At that point we decided to focus solely on getting the car driving.  After much frantic running around stripping, soldering, and crimping wires, plugging things in and seeing random smoke, and just general exhaustion, we finally got the tires to spin on their own. One of the motors started smoking pretty badly, but we decided that it just burned out a metal shaving that had found its way into the housing (the car had been super hard to push before that and was suddenly very easy to push after, so we must have released a short). At this point we were pretty excited, but noticed that the batteries were pretty low, so we went to get the charger. We had never charged our battery packs in their assembled state before, so we didn&#8217;t really know how it would work. As it turned out, it didn&#8217;t and so we took that as a good place to toss in the towel and go get some sleep.</p>
<p>Being so close to driving the car motivated us to get it driving in our spare time following competition. Well, that and the fact that they want to reuse much of the car for next year&#8217;s competition. Last Saturday we got together to work on it and, while I really didn&#8217;t want to work on it, I did want to see it move. We were just about to get the generator working so we could charge the batteries that way when we noticed we had no fuel. While some guys went to locate more (the engine needs fairly special fuel that is hard to find) a couple of us tried to get into the room where they stored extra fuel (everyone had forgotten their keys). Let&#8217;s just say that the locks on the doors are overpriced.</p>
<p>Once we got fuel, some maintenance people (one in a full haz-mat suit) came into the shop saying they needed to cut power to the building. Having lost most of our motivation to work on the car, we decided to try just driving the car on the little juice it had until it was run flat. Let me tell you that that thing can move. We shot a couple clips of it and they don&#8217;t do the thing justice, even when you were standing next to the camera. I&#8217;ve embedded some of the clips here (unfortunately Vimeo limits you to one HD video and 500 MB per week, so I will put up all the SD video and replace it with HD as I have the chance). I look forward to seeing how the team does next year now that they have a solid platform to start off with.</p>
<p><iframe src="http://player.vimeo.com/video/23887427?color=D34D04" width="300" height="533" frameborder="0"></iframe>
<p><a href="http://vimeo.com/23887427">UMSAE 2011 Formula Hybrid Car Test Drive &#8211; 20% Torque</a> from <a href="http://vimeo.com/benbergman">Benjamin Bergman</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>This was the first time we got the car driving. The torque was set very low to make sure that we didn&#8217;t wreck anything immediately.</p>
<p>(I&#8217;m not sure how the video got rotated. It was horizontal on my computer. I&#8217;ll try again another time.)</p>
<p><iframe src="http://player.vimeo.com/video/23887988?color=D34D04" width="500" height="281" frameborder="0"></iframe>
<p><a href="http://vimeo.com/23887988">UMSAE 2011 Formula Hybrid Car Test Drive &#8211; 80% Torque</a> from <a href="http://vimeo.com/benbergman">Benjamin Bergman</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</p>
<p><iframe src="http://player.vimeo.com/video/23887996?color=D34D04" width="500" height="281" frameborder="0"></iframe>
<p><a href="http://vimeo.com/23887996">UMSAE 2011 Formula Hybrid Car Test Drive &#8211; 100% Torque</a> from <a href="http://vimeo.com/benbergman">Benjamin Bergman</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>This is my first test drive. The throttle is basically on or off, so I took my time finding the threshold.</p>
<p><iframe src="http://player.vimeo.com/video/23888011?color=D34D04" width="500" height="281" frameborder="0"></iframe>
<p><a href="http://vimeo.com/23888011">UMSAE 2011 Formula Hybrid Car Test Drive &#8211; 100% Torque &#8211; 2</a> from <a href="http://vimeo.com/benbergman">Benjamin Bergman</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</p>
<p><iframe src="http://player.vimeo.com/video/23892693?color=D34D04" width="500" height="281" frameborder="0"></iframe>
<p><a href="http://vimeo.com/23892693">UMSAE 2011 Formula Hybrid Car Test Drive &#8211; Ben Driving</a> from <a href="http://vimeo.com/benbergman">Benjamin Bergman</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</p>
<p><iframe src="http://player.vimeo.com/video/23892699?color=D34D04" width="500" height="281" frameborder="0"></iframe>
<p><a href="http://vimeo.com/23892699">UMSAE 2011 Formula Hybrid Car Test Drive &#8211; Mitch Driving</a> from <a href="http://vimeo.com/benbergman">Benjamin Bergman</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/05/18/formula-hybrid-competition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Done exams!!!</title>
		<link>http://blog.benbergman.ca/2011/04/15/done-exams/</link>
		<comments>http://blog.benbergman.ca/2011/04/15/done-exams/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 22:41:45 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1489</guid>
		<description><![CDATA[I just finished writing my last exam! I&#8217;m free! I&#8217;m very confident I passed all my courses, so it looks like have now finished my undergrad degree! Now I just have the Formula Hybrid project to finish (competition is the first week of May) and convocation in May and I&#8217;ll be done all my university [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished writing my last exam! I&#8217;m free! I&#8217;m very confident I passed all my courses, so it looks like have now finished my undergrad degree! Now I just have the Formula Hybrid project to finish (competition is the first week of May) and convocation in May and I&#8217;ll be done all my university obligations! Right now that still seems a bit crazy, but I&#8217;m looking forward to the &#8220;real world.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/04/15/done-exams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Quick life update</title>
		<link>http://blog.benbergman.ca/2011/04/02/quick-life-update/</link>
		<comments>http://blog.benbergman.ca/2011/04/02/quick-life-update/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 05:11:38 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1478</guid>
		<description><![CDATA[Despite the fact that I have apparently been posting on average about once a week for the past little while, I feel like I have been ignoring this blog a bit. As I am approaching graduation, things have been getting a bit crazy and so that influx of activity is likely the culprit. Here is [...]]]></description>
			<content:encoded><![CDATA[<p>Despite the fact that I have apparently been posting on average about once a week for the past little while, I feel like I have been ignoring this blog a bit. As I am approaching graduation, things have been getting a bit crazy and so that influx of activity is likely the culprit. Here is a quick run down of what has been going on.</p>
<p>Over the past month I was doing some serious job hunting. After sending out a bunch of applications to a bunch of places and nervously waiting for responses, I ended up having 6 job interviews and 7 job offers (two offers came from people I asked to be professional references). I have taken a job at Iders Incorporated and look forward to starting full time in mid April. (A side note to those doing job hunting: NETWORK! I always thought it was load of garbage, but all my interviews except for one came from friends or networking events I went to. The one interviewer I went to where there was no network connection was the only place that turned me down.)</p>
<p>Having acquired a job outside the city, I sadly decided I needed to buy a car (I was hoping to stick with biking and busing, but this job just was too interesting to pass up) and ended up getting an &#8217;04 Civic, manual transmission. I picked it up tonight and started learning the ropes. It isn&#8217;t too bad once you know what you are doing wrong. <img src='http://blog.benbergman.ca/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Speaking of cars, the UMSAE Formula Hybrid competition is quickly coming up in the first week of May and so lots of work needs to go into that project. There have been a number of changes made to the CAN controller design due to changing requirements, but the hardware modifications should be minimal. I was starting to add a bunch of software implementations of the Arduino&#8217;s hardware features (ie serial, PWM) which was taking up timers and not performing spectacularly, so I am switching over to a spare Seeeduino Mega we had sitting around which has plenty of hardware to spare.</p>
<p>And with school comes graduation. I already mentioned the Iron Ring ceremony, but I also have my grad dinner tomorrow and just one more week of classes followed by one week of final exams before I start working full time.</p>
<p>This additional income is now proving a necessity as Amara and I have started looking for a place to live once we get married this summer. Going to banks and open houses and comparing renting and buying is just another item on the table right now.</p>
<p>Marriage, graduation, car ownership (and relearning how to drive), full time employment, competitions. So many big life things all at once. It&#8217;s crazy, but I&#8217;m hanging on and doing my best to enjoy all of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/04/02/quick-life-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Embedded Systems Workshop</title>
		<link>http://blog.benbergman.ca/2011/04/02/embedded-systems-workshop/</link>
		<comments>http://blog.benbergman.ca/2011/04/02/embedded-systems-workshop/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 05:05:04 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[MSP430 Launchpad]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1479</guid>
		<description><![CDATA[Last Sunday, UMIEEE together with UMARS (two University of Manitoba student groups I am a part of) got together to hold an embedded systems workshop on campus. We helped teach a bunch of fellow students the basics of designing and programming embedded systems. We used TI&#8217;s MSP430 Launchpad development kit, a super low price dev kit, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="workshop" src="http://sites.ieee.org/winnipeg/wp-content/blogs.dir/77/files/embedded-systems-workshop-2011-03-27/img13.jpg" alt="" width="560" height="251" /></p>
<p>Last Sunday, UMIEEE together with UMARS (two University of Manitoba student groups I am a part of) got together to hold an embedded systems workshop on campus. We helped teach a bunch of fellow students the basics of designing and programming embedded systems. We used TI&#8217;s <a href="http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_(MSP-EXP430G2)">MSP430 Launchpad</a> development kit, a super low price dev kit, so that everyone could go home with their project and continue experimenting. While the Launchpad (or rather the MSP430 microcontroller on the board) isn&#8217;t as easy to program as something like an Arduino, the Launchpad allowed us to convey some of the more fundamental principles of embedded design like bit masking and timer interrupts.</p>
<p>The morning consisted of getting the tools setup and getting a &#8220;hello world&#8221; application running. The official tools are Windows only, but the Launchpad does work with Mac and Linux once you figure out how to install everything. It actually seemed to work better, due partly to the fact that the tools are open source and hence not crippled versions of paid software, but also because the environment was less integrated (ie you use a text editor, a compiler, and a debugger all separately instead of a full blown IDE like they use in Windows). The Windows users ofter had to restart the whole IDE when one part of the system locked up for unknown reasons.</p>
<p>After lunch, we dove into making a much more ambitious project: an LED chaser. The design specifications we gave to everyone was something to the effect of &#8220;when you press a button, your chain of LEDs will light up one by one until you reach the final one in the string.&#8221; The idea was then to replace the final LED with the next person&#8217;s button input pin and watch as the lit LED ran across everyone&#8217;s boards. The day before, the volunteers leading the workshop got together and pumped out a quick (and admittedly buggy) code for this, so we felt it was an attainable project. We nudged everyone along, showing them how to light individual LEDs, use interrupt pins and timers, and wire up buttons with pull up resistors. I think only a few people actually got the final chaser working, but everyone had a good time.</p>
<p>You can see an abstract for the event along with a bunch more pictures <a href="http://sites.ieee.org/winnipeg/2011/03/09/embedded-systems/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/04/02/embedded-systems-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Iron Ring</title>
		<link>http://blog.benbergman.ca/2011/03/24/iron-ring/</link>
		<comments>http://blog.benbergman.ca/2011/03/24/iron-ring/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 19:07:31 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1464</guid>
		<description><![CDATA[This past Tuesday I took part in the ritual of the calling of an engineer and received my Iron Ring and was lucky enough to have my father present my ring to me. The ceremony is a bit strange, but the idea is that the ring signifies the commitment to the ethical obligations of the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://blog.benbergman.ca/wp-content/uploads/2011/03/IMG_2504_small1.jpg"><img class="aligncenter size-full wp-image-1467" title="IMG_2504_small" src="http://blog.benbergman.ca/wp-content/uploads/2011/03/IMG_2504_small1.jpg" alt="" width="576" height="432" /></a>This past Tuesday I took part in <a href="http://en.wikipedia.org/wiki/The_Ritual_of_the_Calling_of_an_Engineer">the ritual of the calling of an engineer</a> and received my <a href="http://en.wikipedia.org/wiki/Iron_Ring">Iron Ring</a> and was lucky enough to have my father present my ring to me. The ceremony is a bit strange, but the idea is that the ring signifies the commitment to the ethical obligations of the engineering profession. This is a symbol that is used across Canada and is intended to unite all engineers throughout the country. In a way it is hard to believe that in 3 weeks my 5 years of computer engineering studies will come to an end. I am excited for what the next stage of my life has in store.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/03/24/iron-ring/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>SkullSpace Hackathon 4</title>
		<link>http://blog.benbergman.ca/2011/03/20/skullspace-hackathon-4/</link>
		<comments>http://blog.benbergman.ca/2011/03/20/skullspace-hackathon-4/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 05:11:11 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[SkullSpace]]></category>
		<category><![CDATA[hackerspace]]></category>
		<category><![CDATA[skullspace]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1456</guid>
		<description><![CDATA[Today at the home of Les.net (an ISP) was the fourth SkullSpace hack-a-thon and there were a ton of people that came out. I didn&#8217;t count, but I would guess well over 40 people. There were people working on coding, microcontroller stuff, lock picking, RC stuff, DJing, some talks, a hacking contest, and an all [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="SSHAT4" src="http://farm6.static.flickr.com/5013/5541763710_427c64ceab_z.jpg" alt="" width="576" height="384" /></p>
<p>Today at the home of Les.net (an ISP) was the fourth <a href="http://skullspace.ca">SkullSpace</a> hack-a-thon and there were a ton of people that came out. I didn&#8217;t count, but I would guess well over 40 people. There were people working on coding, microcontroller stuff, lock picking, RC stuff, DJing, some talks, a hacking contest, and an all around good time to get to know people of similar interests. There is a Flickr album up <a href="http://www.flickr.com/photos/59845615@N04/sets/72157626179035489/">here</a>. I&#8217;m really looking forward to the next one.</p>
<p>UPDATE: The official SkullSpace Flickr album for the day is <a href="http://www.flickr.com/photos/skullspace/sets/72157626185574593/">here</a> and blog post <a href="http://www.skullspace.ca/blog/2011/03/hackathon-4-was-a-huge-success/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/03/20/skullspace-hackathon-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Happy Pi Day</title>
		<link>http://blog.benbergman.ca/2011/03/14/happy-pi-day/</link>
		<comments>http://blog.benbergman.ca/2011/03/14/happy-pi-day/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 02:57:44 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1452</guid>
		<description><![CDATA[Happy Pi day everyone! For those unaware, today is March 14, or 3.14, the first 3 digits of Pi. I just got back from having desert at Baked Expectations with a bunch of people in celebration. Despite all the joy surrounding the day, not all are amused (and I am slightly inclined to agree). See [...]]]></description>
			<content:encoded><![CDATA[<p>Happy Pi day everyone! For those unaware, today is March 14, or 3.14, the first 3 digits of Pi. I just got back from having desert at Baked Expectations with a bunch of people in celebration.</p>
<p>Despite all the joy surrounding the day, not all are amused (and I am slightly inclined to agree). See the following video by <a href="http://vihart.com/blog/pi-is-still-wrong/">Vi Hart</a>:</p>
<p><iframe title="YouTube video player" width="640" height="510" src="http://www.youtube.com/embed/jG7vhMMXagQ" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/03/14/happy-pi-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Code Camp 2011</title>
		<link>http://blog.benbergman.ca/2011/03/07/code-camp-2011/</link>
		<comments>http://blog.benbergman.ca/2011/03/07/code-camp-2011/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 18:46:48 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[SkullSpace]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hackerspace]]></category>
		<category><![CDATA[skullspace]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1448</guid>
		<description><![CDATA[Last week I attended &#8220;Code Camp 2011&#8243; and &#8220;camped out&#8221; in the SkullSpace room. Their talks were really good and they just posted them on their blog: http://www.skullspace.ca/blog/2011/03/code-camp-its-safe-to-say-we-won/]]></description>
			<content:encoded><![CDATA[<p>Last week I attended &#8220;Code Camp 2011&#8243; and &#8220;camped out&#8221; in the SkullSpace room. Their talks were really good and they just posted them on their blog: http://www.skullspace.ca/blog/2011/03/code-camp-its-safe-to-say-we-won/</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/03/07/code-camp-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>When indie developers get frustrated</title>
		<link>http://blog.benbergman.ca/2011/02/24/when-indie-developers-get-frustrated/</link>
		<comments>http://blog.benbergman.ca/2011/02/24/when-indie-developers-get-frustrated/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 02:26:07 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://blog.benbergman.ca/?p=1446</guid>
		<description><![CDATA[Next month I am going to be one of the instructors in an MSP430 Launchpad workshop at school and so I am testing out this &#8220;quick installer&#8221; for Mac OS X. In the installer readme, the author wrote this: ﻿This package does not provide an easy way to uninstall. If you wish to remove the [...]]]></description>
			<content:encoded><![CDATA[<p>Next month I am going to be one of the instructors in an MSP430 Launchpad workshop at school and so I am testing out this &#8220;<a href="http://osx-launchpad.blogspot.com/2010/11/hello-world.html">quick installer</a>&#8221; for Mac OS X. In the installer readme, the author wrote this:</p>
<blockquote><p>﻿This package does not provide an easy way to uninstall. If you wish to remove the toolchain, google for &#8220;lsbom uninstall&#8221; and follow the procedure while optionally shrieking curses upon Apple&#8217;s immature packaging system.</p></blockquote>
<p>Hopefully I won&#8217;t have to uninstall.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benbergman.ca/2011/02/24/when-indie-developers-get-frustrated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: blog.benbergman.ca @ 2012-05-20 22:10:37 -->
