<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.2" -->
<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/"
	>

<channel>
	<title>if(is_geek)...</title>
	<link>http://www.ifisgeek.com</link>
	<description>Look! A New Doot!</description>
	<pubDate>Thu, 20 Nov 2008 02:23:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>MacHackin&#8217;</title>
		<link>http://www.ifisgeek.com/2008/11/19/machackin/</link>
		<comments>http://www.ifisgeek.com/2008/11/19/machackin/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 02:23:41 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/11/19/machackin/</guid>
		<description><![CDATA[Well, I have been working and living with a MacBook Pro for a few weeks now and I have to say I&#8217;m liking it a lot more than I had thought I would. I am starting to get the hang of how everything works and I am very happy about just how similar things are [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I have been working and living with a MacBook Pro for a few weeks now and I have to say I&#8217;m liking it a lot more than I had thought I would. I am starting to get the hang of how everything works and I am very happy about just how similar things are to LINUX when you open up the command line. I had heard that, despite being built on BSD, much of that functionality was crippled in some way in OSX. Thankfully, that is not the case at all.</p>
<p>I finally got a chance this week to take a crack at customizing things a little bit. I have been listening to <a href='http://www.977music.com/'>Internet Radio .977</a> lately,  a set of &#8220;radio&#8221; channels I found in my ShoutCast playlist in XBMC. One thing that is very cool about working on a Mac is that so many of the applications play really well together. For instance, if you are listening to music in iTunes, with a couple of clicks you can have the current song showing up in your status in iChat or Adium. Unfortunately for me, the .977 stream does not play in iTunes. I listen to it in VLC, which does not fit together with the chat apps the way iTunes does.</p>
<p>I did a little Googling and wasn&#8217;t able to find much on the subject. There are a few ways to get current media information out of VLC, however, most of that is geared towards playing mp3s and using these techniques I was only able to extract the name of the radio station I was listening to, not the track name that was appearing in the VLC window. Additionally, I was able to find a site that detailed writing some Applescript and BASH scripts to set iChat/Adium status to dynamically indicate your location, based on IP address. After a little tinkering I was able to put something together.</p>
<p>I won&#8217;t bother with all of the details here (anyone who wants to know how it was done, drop me a line). Basically my solution was this: setup VLC to write its log out to a file and set the verbosity of the logging to max. When the track playing changes a line is written to the log including &#8220;New Title=XXX&#8221; where XXX is the track listing as it appears in the main VLC window. This information was utilized with two BASH scripts (one to pull the last song entry from the log and parse the song from that line and another to control this whole process) and one Applescript to push the status into the chat apps. A little cron magic and it works like a charm!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/11/19/machackin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Second Spokesmonster Video on YouTube</title>
		<link>http://www.ifisgeek.com/2008/11/04/second-spokesmonster-video-on-youtube/</link>
		<comments>http://www.ifisgeek.com/2008/11/04/second-spokesmonster-video-on-youtube/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 14:18:42 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[VendAsta]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/11/04/second-spokesmonster-video-on-youtube/</guid>
		<description><![CDATA[The second Spokesmonster video which I made reference to in A Taste of VendAsta, A Side of Mac has now been posted to YouTube. Embedded below for your pleasure.





]]></description>
			<content:encoded><![CDATA[<p>The second Spokesmonster video which I made reference to in <a href='http://www.ifisgeek.com/2008/11/02/a-taste-of-vendasta-a-side-of-mac/'>A Taste of VendAsta, A Side of Mac</a> has now been posted to YouTube. Embedded below for your pleasure.</p>
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/GM_stUeW_nM&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x2b405b&#038;color2=0x6b8ab6"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<p><embed src="http://www.youtube.com/v/GM_stUeW_nM&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x2b405b&#038;color2=0x6b8ab6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/11/04/second-spokesmonster-video-on-youtube/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VendAsta: Day 1</title>
		<link>http://www.ifisgeek.com/2008/11/03/vendasta-day-1/</link>
		<comments>http://www.ifisgeek.com/2008/11/03/vendasta-day-1/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 03:56:13 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[Work]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[VendAsta]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/11/03/vendasta-day-1/</guid>
		<description><![CDATA[Today was my first day at VendAsta. Despite being incredibly sick, it was an awesome day. Everyone was super helpful and friendly. The coffee machine there absolutely lived up to its stellar reputation. And I am starting to get my groove on with the MacBook Pro.
Perhaps the thing I was most impressed with today, was [...]]]></description>
			<content:encoded><![CDATA[<p>Today was my first day at <a href='http://www.vendasta.com'>VendAsta</a>. Despite being incredibly sick, it was an awesome day. Everyone was super helpful and friendly. The coffee machine there absolutely lived up to its stellar reputation. And I am starting to get my groove on with the MacBook Pro.</p>
<p>Perhaps the thing I was most impressed with today, was the amount of thought and planning that has gone into their process and systems. From Google Apps for mail and documents, to JIRA for bug / feature tracking, Subversion for revision control and a couple of other technologies, the level of integration is astounding. Using Subversion commit hooks there are automated syntax checking and unit testing routines, integrated code review facilities and a whole pile of other stuff that I was briefly introduced to today. I know that I am missing a lot of details here, but everything I have seen has really impressed me. I am really working in a professional software development environment now. It&#8217;s great! I am sure I&#8217;ll be posting more details as I come to understand things better in the coming weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/11/03/vendasta-day-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Taste of VendAsta, A Side of Mac</title>
		<link>http://www.ifisgeek.com/2008/11/02/a-taste-of-vendasta-a-side-of-mac/</link>
		<comments>http://www.ifisgeek.com/2008/11/02/a-taste-of-vendasta-a-side-of-mac/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 06:15:06 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[Work]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[VendAsta]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/11/02/a-taste-of-vendasta-a-side-of-mac/</guid>
		<description><![CDATA[On Friday I got my first taste of what it will be like working at VendAsta. I went there Friday afternoon to pick up my laptop - a MacBook Pro which I am using to write this. I have never worked with Macs before, so this is a somewhat novel experience. The shock to my [...]]]></description>
			<content:encoded><![CDATA[<p>On Friday I got my first taste of what it will be like working at VendAsta. I went there Friday afternoon to pick up my laptop - a MacBook Pro which I am using to write this. I have never worked with Macs before, so this is a somewhat novel experience. The shock to my system is somewhat lessened by the fact that I have my own laptop configured such that Ubuntu looks like Leopard. Emulating look and feel is a far cry from the actual experience. I&#8217;m adjusting slowly, but I am sure in time I&#8217;ll come to really enjoy this as the other devs at VendAsta do.</p>
<p>Anyway, back to my first taste of VendAsta. I arrived there shortly after 3pm to find the offices apparently deserted. I wandered around a little and found everyone in the back meeting room watching a video. The video in question was the second Spokesmonster promo for the <a href='http://www.myfrontsteps.com/steprep/'>StepRep</a> application. The first Spokesmonster video is embedded below. For me the fact that such creative and fun things are not only applauded internally, but also released for public consumption, is amazing. Coming from a place like Cover-All, where one of the graphic designers creates hilarious mock advertisements all of the time and the public face of the company remains a stark beige yawn, this is a brave new world.</p>
<p>Equally interesting / frightening was another presentation that was made involving a <a href='http://en.wikipedia.org/wiki/Finite_state_machine'>Finite State Machine</a>. Actual computer science is being performed at this company. This represents a quantum leap from the seat-of-the-pants type of environment I have been working in for the past three and a half years. I have to admit, it is a little daunting. There will definitely be  an element of culture shock for me as I move into a real, honest to goodness, software development environment. Very, very exciting.</p>
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/rVj6O06Gt6U&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x2b405b&#038;color2=0x6b8ab6"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<p><embed src="http://www.youtube.com/v/rVj6O06Gt6U&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x2b405b&#038;color2=0x6b8ab6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/11/02/a-taste-of-vendasta-a-side-of-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Copy and Paste Does Not a Programmer Make</title>
		<link>http://www.ifisgeek.com/2008/10/28/copy-and-paste-does-not-a-programmer-make/</link>
		<comments>http://www.ifisgeek.com/2008/10/28/copy-and-paste-does-not-a-programmer-make/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 14:33:06 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/10/28/copy-and-paste-does-not-a-programmer-make/</guid>
		<description><![CDATA[As any experienced programmer knows, using existing, well proven code for new applications can greatly reduce development time. It can also remove some of the uncertainty in a project by reusing code that is a known quantity. In addition to reusing code you or a teammate has used already in a current or past project, [...]]]></description>
			<content:encoded><![CDATA[<p>As any experienced programmer knows, using existing, well proven code for new applications can greatly reduce development time. It can also remove some of the uncertainty in a project by reusing code that is a known quantity. In addition to reusing code you or a teammate has used already in a current or past project, using code from various resources on the web can provide a speedy way to get a new technology into your project. The one requirement for doing this successfully is that you have to know what you are doing. This requirement was something that became very apparent to me during my final few months at Cover-All.</p>
<p>At the end of my time at Cover-All I was in charge of three other programmers. I&#8217;ll refer to them as <em>the good</em>, <em>the bad</em> and <em>the kid</em>. <em>The kid</em> was the newest member of the team and the youngest. <em>The good</em> was one of the best programmers I have ever worked with. Finally, <em>the bad</em> was, in reality, not a programmer. He was trained as a CAD guy and evolved into a role as a programmer, but despite that he never really became a programmer. He just didn&#8217;t care about getting better at programming and didn&#8217;t want to actually learn the tech he was using. As you have probably guessed, the rest of this post is about <em>the bad</em>. The non-programmer.</p>
<p>It really is amazing how far someone can get with a very minimal skillset and a good library of code to draw from. <em>The bad</em> would typically follow the same methodology for each project he worked on. Step one would be to find a piece or pieces of code (either from elsewhere in our projects or from somewhere on the web) which had the same or similar functionality to that which he wanted to implement. Step two would would be to copy it into the project he was working on and make the modifications he thought were required to make meet his needs. That last bit is key and it is what separates <em>the good</em> from <em>the bad.</em></p>
<p>A good programmer takes the time to understand the code that he is using - whether it is code he has written beforehand, code another dev wrote in the same or another project or code that he has found on the web. It is this understanding which makes everything come together. <em>The bad</em> usually did not understand the code he was trying to use and would end up with completely non-functional code. Code he would invariably send to <em>the good</em> with the subject line &#8220;what&#8217;s wrong with this?&#8221;. After a few weeks of <em>the good</em> doing all of the difficult parts of his work, I told <em>the good</em> it was okay for him to tell <em>the bad</em> to do his own work.</p>
<p>The full extent of just how bad <em>the bad</em> was only became apparent to me during my last week at Cover-All. He was working on adding some functionality to an aspx page that <em>the good</em> had created to display a listing of parts which had been added to an order. <em>The good</em> had done a very good job of creating the page - he had placed a datagrid on the form and was populating it dynamically using a datasource in the code-behind, and updated via AJAX. <em>The bad</em>, when faced with this page was completely unable to understand what was being done there and therefore could not add the functionality he needed. So, after being told to do his own work yet again, he did some googling and came up with something. A few hours later he was again asking <em>the good</em> why no text was showing up on his page at all - he had even broken that which had been working. <em>The good</em> took a look at his work and asked, &#8220;Where did all of <em>my</em> code go?&#8221;. The response was a chilling, &#8220;I found a better way.&#8221;. That better way was to remove the datagrid and remove the code-behind and fill the aspx page with a tonne of inline asp. It turns out that <em>the bad</em> doesn&#8217;t know that there is a difference between asp and asp.net.</p>
<p>The moral of this little story is twofold. First, if you are a programmer and you have an honest desire to become better at what you do, using code written by other developers can be a great resource for learning new techniques and new technologies. Just make sure that you take the necessary time to understand the code you are using. Secondly, if you are working with someone who seems to be asking for a lot of help with code that he didn&#8217;t write himself, you might want to think twice about solving his problems for him. He might be a little inexperienced and trying to use code a little beyond his abilities (in that case, you&#8217;ll want to encourage him to spend more time on understanding the code he uses) or he may be your own version of <em>the bad</em> and he might be using your help and other people&#8217;s code as a crutch for his lack of real skill.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/10/28/copy-and-paste-does-not-a-programmer-make/feed/</wfw:commentRss>
		</item>
		<item>
		<title>End of an Era</title>
		<link>http://www.ifisgeek.com/2008/10/27/end-of-an-era/</link>
		<comments>http://www.ifisgeek.com/2008/10/27/end-of-an-era/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 04:39:48 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/10/27/end-of-an-era/</guid>
		<description><![CDATA[Today was the first weekday of my post-Cover-All life. I had thought that it might be weird sleeping in and not going to work today but it was actually a great day. I got to spend a bunch of time with Kaelyn and watch a few episodes of Ken Burns&#8217; The Civil War. All-in-all, a [...]]]></description>
			<content:encoded><![CDATA[<p>Today was the first weekday of my post-Cover-All life. I had thought that it might be weird sleeping in and not going to work today but it was actually a great day. I got to spend a bunch of time with Kaelyn and watch a few episodes of Ken Burns&#8217; <em>The Civil War</em>. All-in-all, a good day.</p>
<p>Friday was my last day at Cover-All. It turned out to be a very good day as well. I actually did a decent amount of work, surprising even myself. Got Dustin up and running as the new master of all things Wizard and finished off a couple of tasks for myself. I spent a good deal of time saying goodbye to people and reminiscing.</p>
<p>I was very pleased when the CFO (my boss&#8217; boss) asked me to come to his office for a chat. Part of me was a little disappointed that he didn&#8217;t want to discuss <em>why</em> I was leaving - Cover-All is a great company with the potential to be even greater and I would have really liked it if my departure could open some eyes which could make it even better. Nevertheless, we had a very nice discussion about what I accomplished while I was there and a little about where I am going. He expressed his appreciation for my hard work and that made me feel really good - Cover-All&#8217;s CFO is a man that I have really enjoyed working with, a man I both respect and like.</p>
<p>For lunch I went out to Boston Pizza with about ten of the people who I have really built some bonds with. People that were more of friends than co-workers. Even though the service at Boston Pizza is absolute shit, it did have the side effect of giving us a little more time to sit and talk.</p>
<p>In the afternoon, there was cake. A <em>lot</em> of cake. There were not as many people invited to join in the cake as there should have been - my boss set things up but he sits with the downstairs IT people and my group sat upstairs. I think he underestimated the number of people upstairs that I actually worked with on a regular basis. Without a doubt the highlight of the whole cake event was the picture I was given - put together by Ian in Marketing with help from Dustin and a few others. It was a picture of some of the cast from the original <em>Star Trek</em> but they had replaced Kirk&#8217;s head with mine. Below it was a quote, &#8220;Prepare to leave orbit - those men can&#8217;t be saved.&#8221; &#8212; Evil Kirk. Priceless! I&#8217;ll scan it one of these days and add it up here for all to see.</p>
<p>The rest of the day passed quickly - lots of hands to shake and such. I had thought that I was not going to hear anything at all from the CEO but then, when I got home and checked my personal email, there was a very nice thank you message (and a &#8220;come back to us when you&#8217;re sick of the new guys&#8221; poke) he had sent in reply to the farewell message I sent to everyone I liked there. It was a very nice end to my day, and a nice way to close that chapter of my professional life.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/10/27/end-of-an-era/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Paradigm Shift</title>
		<link>http://www.ifisgeek.com/2008/10/20/paradigm-shift/</link>
		<comments>http://www.ifisgeek.com/2008/10/20/paradigm-shift/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 02:29:23 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[Work]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/10/20/paradigm-shift/</guid>
		<description><![CDATA[This morning I gave my two weeks&#8217; notice at Cover-All. I have been there for three and a half years, but the time has come to move on. I have secured myself a programming position at VendAsta, a very progressive software development company here in Saskatoon. This move represents a very significant change in direction [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I gave my two weeks&#8217; notice at Cover-All. I have been there for three and a half years, but the time has come to move on. I have secured myself a programming position at <a href="http://www.vendasta.com">VendAsta</a>, a very progressive software development company here in Saskatoon. This move represents a very significant change in direction career-wise.</p>
<p>I have had a pretty good run at Cover-All and my desire to move on is the result of many things. The biggest reason, however, is that I feel my skills as a programmer have begun to atrophy. Working at Cover-All there is no one I can learn from and, especially with the amount of management I have been doing lately, I have been writing very little code. My passion is for writing code and this move is going to get me back to that.</p>
<p>Even better, this move is going to get me back to working with Python - a language I haven&#8217;t spent much time with since my glory days back at Pic&#8217;n'Del. I&#8217;ll get to work with the framework Django and, from the reading I have done on it so far, it seems very sweet to work with. In fact, I am working on rebuilding this blog with Django to get the cobwebs off of my Python skills and get myself up to speed with the framework. I am not sure yet whether or not I&#8217;ll take that little project all of the way to completion, but if I do I&#8217;ll be sure to mention it here. In fact, I&#8217;ll likely be mentioning a lot more here in the future. A lot of people at VendAsta are big into blogging and, with a little luck, being surrounded by people like that will help inspire me to devote a little more time to it myself.</p>
<p>More to come&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/10/20/paradigm-shift/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How I Got Started in Software Development</title>
		<link>http://www.ifisgeek.com/2008/09/08/how-i-got-started-in-software-development/</link>
		<comments>http://www.ifisgeek.com/2008/09/08/how-i-got-started-in-software-development/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 00:14:29 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/09/08/how-i-got-started-in-software-development/</guid>
		<description><![CDATA[It&#8217;s been a while since I have posted anything here, but I am always willing to step up in the face of a challenge from across the pond! Philip as has posted to his blog a series of questions regarding how he got started in Software Development and he has challenged me, among others, to [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I have posted anything here, but I am always willing to step up in the face of a challenge from across the pond! <a href='http://blog.philipstears.net/'>Philip</a> as <a href='http://blog.philipstears.net/2008/08/how-i-got-start.html'>has posted</a> to his blog a series of questions regarding how he got started in Software Development and he has challenged me, among others, to do the same. So, here goes&#8230;</p>
<ol>
<li><strong>How old were you when you started programming?</strong>
<p>Honestly, I think I got a later start at programming than a lot of the programmers I know. I guess technically, the first time I made a computer bend to my will would have been in grade 10 with some HyperCard scripting. Honestly, I don&#8217;t really consider that programming though, so I&#8217;ll have to say I first started programming in grade 11 when I was 16.</p>
</li>
<li><strong>How did you get started in programming?</strong>
<p>I got started by taking a class in high school. Not very exciting at all. I was already heavily into computers at that time, having been a huge computer gaming fan since my first computer - an 8086 with two double-density floppy drives and no hard drive at all. It was a great computer for playing Sierra adventure games and got me my first taste of the Wing Commander (even if I had to send away the high-density floppies for twice as many double-density ones and had to get used to swapping disks during dogfights). It was the games that got me interested in the computers and it was that interest that got me to take the classes in high school.</p>
<p>I&#8217;m sort of ashamed to admit that, aside from some web stuff (the only portion thereof that could remotely qualify as &#8220;programming&#8221; was a JavaScript routine to display a random &#8220;fun thing to do with monkies&#8221; on a Geocities page), within six months of finishing the last programming class in high school I didn&#8217;t do any more programming until my thrid year of University. It was then that I took a 100-level CompSci class as an elective. I was introduced to Java. I went to maybe half of the classes. It was all very easy for me and I ended up with a 94% in the class for almost zero effort. It happened at just the right time too: my Bio classes were all boring me because I had taken more advanced versions of a lot of them in BioChem. So, I made the leap, changed my major to CompSci and haven&#8217;t looked back.</p>
</li>
<li><strong>What was your first language?</strong>
<p>Ignoring the aforementioned HyperCard experience, my first real language was Pascal. Think Pascal on the Macs at school and Turbo Pascal on my computer at home.</p>
</li>
<li><strong>What was the first real program that you wrote?</strong>
<p>Well, I won&#8217;t include the first &#8220;real&#8221; program I wrote specifically for a class (a D&#038;D character sheet generator). Instead, I&#8217;ll say that the first real program I wrote was a bowling league / tournament management application, in Turbo Pascal. My parents were playing in a league at the time and one of their friends wanted a program that could track teams&#8217; progress.</p>
<p>I was even ambitious enough to make it such that you could run one season / tournament for free but if you wanted to start over it would show you a message saying that you needed to buy the program.</p>
</li>
<li><strong>What languages have you used since you started programming?</strong>
<p>Let&#8217;s see. I started with Pascal in high school and then learned Java at University. I also had to deal with C,C++,Eiffel, TCL/Tk, Prolog and Lisp before finishing my degree. I&#8217;ve worked with Perl, Python, PHP, VB6, VB.NET, and C# professionally since then. Plus a whole schwack of web technologies such as JavaScript, Flex/Actionscript and the many markups that make up the web. Oh, and a bunch of scripting languages on *nix.</p>
</li>
<li><strong>What was your first programming gig?</strong>
<p>My first real job that involved a significant amount of programming wasn&#8217;t a programming position at all. I was working for a web hosting company, doing all of the duties of a Systems/Network Administrator with little more than an intern&#8217;s pay. When my boss realized that I was actually more of a programmer than a systems guy, he got me working on rebuilding their online ordering system which had been shutdown for the better part of a year when they changed their domain name. The remainder of my time there was spent wrestling to learn Perl and re-implement the ordering system and online payment processing systems - interfacing with their domain provider&#8217;s horrible Perl API and Moneris&#8217; horrible payment processing Perl API.</p>
</li>
<li><strong>If you knew then what you know now, would you have started programming?</strong>
<p>Definitely. Hell, if I knew then what I know now I could have avoided 3 years of Biology classes and I&#8217;d have two more years&#8217; experience under my belt.</p>
</li>
<li><strong>If there is one thing you learned along the way that you would tell new developers, what would it be?</strong>
<p>Trust yourself, and your code. One of the more annoying things I have seen lately with newer developers is the tendency to ask more experienced coders to look at their code / query and tell them if it will work the way they think it will. I honestly don&#8217;t remember ever being like this, as I&#8217;ve always been the type to just try things out - but it is possible I was one of those guys. Seriously, if you don&#8217;t have the confidence in your abilities to try running code without someone looking it over first, this might not be the career for you.</p>
</li>
</ol>
<p>Taking Philip&#8217;s word for it that this is a meme (but Milhouse still is not), I&#8217;ll tag a few others I&#8217;d like to see answer these questions as well: <a href='http://manylittlethings.org/blog/'>Ralph Marchildon</a>,<a href='http://blog.sapara.com/'>James Sapara</a>, <a href='http://cst06.dyndns.org/phpBB3/'>Dustin Wasyliw</a>. I&#8217;d add Andrew Munro to the list but he thinks he&#8217;s too good for blogging.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/09/08/how-i-got-started-in-software-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jamaican Returns</title>
		<link>http://www.ifisgeek.com/2008/03/08/jamaican-returns/</link>
		<comments>http://www.ifisgeek.com/2008/03/08/jamaican-returns/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 03:52:43 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2008/03/08/jamaican-returns/</guid>
		<description><![CDATA[Well, Lindsay and I are now back from our trip to Jamaica. We were down there for the Cover-All Worldwide Dealer Conference, where Cover-All dealers from around the world came together to learn about the latest and greatest, and more importantly, all get nicely. The trip was less of a vacation for me than I [...]]]></description>
			<content:encoded><![CDATA[<p>Well, Lindsay and I are now back from our trip to Jamaica. We were down there for the Cover-All Worldwide Dealer Conference, where Cover-All dealers from around the world came together to learn about the latest and greatest, and more importantly, all get nicely. The trip was less of a vacation for me than I would have liked, as we were in the midst of launching two brand new IT systems to the dealers and a brand new building line, the Gemini. Needless to say, I was somewhat busy for most of my time down there.</p>
<div style="float:left;padding:10px;"><a href='http://www.ifisgeek.com/wp-content/uploads/2008/03/jeffatrosehall.jpg' title='Jeff at the Rose Hall Great House'><img src='http://www.ifisgeek.com/wp-content/uploads/2008/03/jeffatrosehall.jpg' alt='Jeff at the Rose Hall Great House' /></a></div>
<p>Jamaica is a very interesting place. If you haven&#8217;t been there, I highly recommend that you take the time for a trip. We went to the Rose Hall Resort and Country Club in Montego Bay. It was a beautiful, all-inclusive resort. Right across the highway from our resort was the Rose Hall Great House - the mansion of a great slave plantation said to be haunted (more on that whole experience with some ghostly images in another post to follow). The most amazing thing about the country is the complete lack of a middle class - people are either very rich or very poor. It is a beautiful country with a lot of problems. It is those problems that make the attitude of the Jamaican people so awesome and inspiring.</p>
<p>You see, despite all of the problems down there I did not see a single unhappy Jamaican, even off of the resort. They have adpoted a philosophy whereby they choose to not dwell on their problems and to be just be happy. It really made me think - if they can be so happy that they burst into song in the halls for no good reason, why am I, with a much more comfortable life, not that happy? Don&#8217;t get me wrong, I am very happy with everything in my life, but I get weighed down by stress and the general busy-ness of life. I think I am going to make an honest effort to have a much more Jamaican state of mind.</p>
<p>Anyway, I am also going to try and make an effort to start blogging again on a regular basis. I know I have made that effort before and failed, but I am going to keep trying. I think a large part of the problem recently has been my dislike of WordPress. It&#8217;s a great application but as a control freak, I was much happier with my previous home-grown, though feature-lacking blog. Prehaps I&#8217;ll get back to working on that and get back to posting more often too.</p>
<p>More Jamaican tales and pictures to follow!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2008/03/08/jamaican-returns/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Build Multiple Productive Habits With Scoreboards</title>
		<link>http://www.ifisgeek.com/2007/08/15/build-multiple-productive-habits-with-scoreboards/</link>
		<comments>http://www.ifisgeek.com/2007/08/15/build-multiple-productive-habits-with-scoreboards/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 05:04:20 +0000</pubDate>
		<dc:creator>jread</dc:creator>
		
		<category><![CDATA[Work]]></category>

		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://www.ifisgeek.com/2007/08/15/build-multiple-productive-habits-with-scoreboards/</guid>
		<description><![CDATA[Seinfeldian Chains
I am a huge fan of the productivity blog Lifehacker. I try my best to check out the site on a daily basis and am usually rewarded with a little tidbit or tool that helps to make my life much easier - it&#8217;s not all about Getting Things Done either. Recently, I read something [...]]]></description>
			<content:encoded><![CDATA[<h3>Seinfeldian Chains</h3>
<p>I am a huge fan of the productivity blog <a href="http://www.lifehacker.com">Lifehacker</a>. I try my best to check out the site on a daily basis and am usually rewarded with a little tidbit or tool that helps to make my life much easier - it&#8217;s not all about <a href="http://www.amazon.ca/gp/product/0142000280?ie=UTF8&#038;tag=ifisgeek-20&#038;linkCode=as2&#038;camp=15121&#038;creative=330641&#038;creativeASIN=0142000280">Getting Things Done</a><img src="http://www.assoc-amazon.ca/e/ir?t=ifisgeek-20&#038;l=as2&#038;o=15&#038;a=0142000280" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> either. Recently, I read something on Lifehacker about <a href="http://lifehacker.com/software/motivation/jerry-seinfelds-productivity-secret-281626.php">Jerry Seinfeld&#8217;s Productivity Secret</a>. The basic idea is that that way to get good at something is to do it every day. To that end, Jerry has a big full-year calendar on his wall and he crosses off every day in which he does his desired task - in his case, writing comedy. The key to success, Seinfeld says, is in not breaking the chain. With a big reminder like that in front of you, you will work really hard to challenge yourself to make as long a chain of days as possible.</p>
<h3>Scoreboards</h3>
<div class="right_image_cutout">
<a href='http://www.ifisgeek.com/wp-content/uploads/2007/08/tasks.jpg' title='Tasks in the first column'><img src='http://www.ifisgeek.com/wp-content/uploads/2007/08/tasks.jpg' alt='Tasks in the first column' /></a></p>
<h4>Figure 1: Tasks</h4>
</div>
<p>When I read this I was encouraged to share the system I use which is really quite similar. I use my system, however, to work on creating more than one productive habit. I call them <em>Scoreboards</em> because, well, that&#8217;s what they are. I start by making myself a new spreadsheet - I use Excel but OpenOffice or another spreadsheet app would work perfectly fine. Down the first column I list the tasks I want to make into habits, leaving the first two rows empty for the month and day information. I then add a &#8220;Totals&#8221; entry to the bottom of the list. See Figure 1.</p>
<p>In the first row I place the name of the month and in the second row I place the days of the month. I like to highlight the weekends to set them apart but your mileage may vary. Figure 2 shows this header but only for the month of August, subsequent months would follow to the right up until the page break is reached. With the number of tasks I am currently working on I find that I can fit two scoreboards on a piece of 8.5&#215;11 paper printed in landscape orientation and the one I am currently using has the end of August, all of September and most of October on it.</p>
<div class="center_image">
<a href='http://www.ifisgeek.com/wp-content/uploads/2007/08/header.jpg' title='Date Header'><img src='http://www.ifisgeek.com/wp-content/uploads/2007/08/header.jpg' alt='Date Header' width="98%" height="98%" /></a></p>
<h4>Figure 2: Date Header</h4>
</div>
<p>This layout leaves a nice grid pattern in between the tasks and the dates. When you complete a task on a particular day, just fill in the box at the intersection of the task and the date. Personally, I like to print the sheets out and fill in the blocks but there is no reason why you couldn&#8217;t just change the background color in the spreadsheet and keep the whole thing online, in a Google Spreadsheet, for example. At the end of each day, put the number of tasks done that day in the Totals row. With the number of tasks that I am working on, I try to aim for 4 per day or better.</p>
<h3>Why Do I Like This Better?</h3>
<div class="left_image_cutout">
<a href='http://www.ifisgeek.com/wp-content/uploads/2007/08/board.jpg' title='The Scoreboard'><img src='http://www.ifisgeek.com/wp-content/uploads/2007/08/board.jpg' alt='The Scoreboard' align='center' /></a></p>
<h4>Figure 3: The board</h4>
</div>
<p>Instead of using the number in the Totals row, I use different colors. I use green for making my target or better and then down through yellow, orange, red and black representing no tasks for that day. The scoreboard works on the same principle as the chaining used by Seinfeld, but with an added dimension. For tasks such as workouts which may follow a pattern other than every day, you can work to maintain the pattern for that task. Additionally, I find that the use of the colors in the Totals row provides some extra encouragement to get things done. If I am looking at my chart and am about to fill in a yellow when I have a chain of greens preceding it, that can often be the motivation I need to spend 20 minutes on a task that I would have ordinarily put off for another day.</p>
<p>Perhaps the thing I like best about this method is my ability to quickly tell how I am doing with my goals for a specific task or in general at a glance. In effect, this works for me like a Seinfeldian chain with a single goal: Be More Productive. As much as I wish I could leave things at a high level like that, I need more fine-grained control and motivation and by using Scoreboards, I have found a method that works exceedingly well for me. Hopefully it&#8217;ll work for some of you as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ifisgeek.com/2007/08/15/build-multiple-productive-habits-with-scoreboards/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
