<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>drapergeek</title>
	<atom:link href="http://www.drapergeek.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.drapergeek.com</link>
	<description></description>
	<lastBuildDate>Wed, 06 Jan 2010 18:40:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>I hate DRM&#8230;</title>
		<link>http://www.drapergeek.com/2009/09/04/i-hate-drm-more-more-everyday/</link>
		<comments>http://www.drapergeek.com/2009/09/04/i-hate-drm-more-more-everyday/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 15:01:33 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[cms]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://www.drapergeek.com/?p=155</guid>
		<description><![CDATA[
This topic has without a doubt been something that has been talked to death but unfortunately, I have to put in my two cents.  Its simple, I hate DRM, its killing me.
Let me be clear, I&#8217;m a pirate, by the standards of the MPAA, RIAA &#38; such I am a pirate because I want [...]]]></description>
			<content:encoded><![CDATA[<p>
This topic has without a doubt been something that has been talked to death but unfortunately, I have to put in my two cents.  Its simple, I hate DRM, its killing me.<br />
Let me be clear, I&#8217;m a pirate, by the standards of the MPAA, RIAA &amp; such I am a pirate because I want to use the media that I have PAID for in whatever way I like.  Unfortunately in this day &amp; age, the media industries have forced us to be come pirates.  I want to be legal, I really do, but they make it harder to be legal and PAY for my content then it is to steal it.  Are they really so dumb as to not understand this.
</p>
<p>
Let me be a bit more clear.  For years iTunes was DRM music which means that if you purchased a song through iTunes you could only play it in iTunes or on an iPod.  This seems like a reasonable restriction until your iPod dies and your forced to use something cheaper.  You do have the option of burning your music off to CD &amp; then re-ripping it back to MP3 which removes the DRM but lets be honest, I don&#8217;t want to have to WORK for something that i just paid for.  So in essesnce, Apple gave me to options:
</p>
<ul>
<li>Purchase my music on iTunes and take an additional hour AFTER paying for my music to actually make it playable all places I want it.</li>
<li>Fire up piratebay, limewire, kazaa or whatever is popular at the moment and spend 3 minutes searching for and downloading a song that will play anywhere</li>
</ul>
<p>
I will not say which I chose but lets be honest, I want the easy route in all cases, especially when I&#8217;m paying for it.  The flip side to this is that now music on iTunes is drm free and since this has happened to all their music I have not only purchased all my music from iTunes and stopped using &#8216;other sources&#8217; that I may have used previously but I&#8217;ve actually started buying more music, so in the end, iTunes wins and I&#8217;m happy too.  So for music, I&#8217;m happy, moving onto other places where I am definitely NOT happy&#8230;
</p>
<p>
Movies:  I&#8217;m going to leave this one short &amp; sweet.  If i want to buy a movie on iTunes(Movie, TV Show, whatever).  I can&#8217;t play it on my Xbox (which is hooked to my tv).  If I buy a movie on my Xbox I can&#8217;t watch it on my iPhone.  Let me be clear, if this were an incompatibility in formats, I wouldn&#8217;t be happy, but it would be justifiable.  Player X can&#8217;t play the format of Player Y.  Thats not the case,  this is just more stupid drm and because of that the consumer gets screwed.  I want to be able to buy my movies, tv shows etc and just have them work!  I don&#8217;t want to have to use torrent sites, limewire or whatever, I would much prefer to be legal but unfortunately, they are making this harder &amp; harder!
</p>
<p>
The last point I&#8217;m going to talk about in this post is actually the reason that I decided to write this point:  www.audible.com.  Oh Audible, you are like a beautiful woman who offers me all that I want and once I&#8217;ve give up all others, I find out your are crazy and neurotic. Let me explain.
</p>
<p>
I love audiobooks.  My wife loves audiobooks.  We use a LOT of audiobooks.  So we decided a few months ago to purchase the audible platinum plan which would allow us to purchase two books a month.  I was very excited about this because once again the honest truth is that I WANT to pay for my content and quite frankly, the more books I can consume, the better.  Audible has a great selection and if you delete a book you can always download it again so there is no concern of backing up, where could the downside be?  DRM&#8230;shocking huh?
</p>
<p>
Over the past few months, I&#8217;ve came into multiple times where audible has royally ticked me off due to DRM.  Apparently with all audible files, if you do not play a file directly in iTunes once every week or so, your files will not work on your iPhone/iPod.  I don&#8217;t listen to my audiobooks on iTunes, EVER, thats why I have an iPhone so the way I discover this problem is while I&#8217;m at work in need of a book to relax while working on computers and it will not work.  Not only does it not work, it doesn&#8217;t even tell me why! The audio just doesn&#8217;t come out!
</p>
<p>
I&#8217;m sure your thinking to yourself at this point, &#8220;You know, all you have to do is click that little audio file once in a while and the problem is solved&#8221;.  The truth is, you&#8217;re correct but thats just dumb.  I paid for this, I want full rights.  If I never connect my iPhone to iTunes again, it should work just fine &amp; dandy.  The absolute least audible could do is be kind enough to warn me while I&#8217;m syncing that it hasn&#8217;t been played recently and to enter my password.  Don&#8217;t get me wrong, this isn&#8217;t the fix I want but it is at least a fix!
</p>
<p>
So whats the point of all this?  DRM SUCKS.  Its a simple as that.  No pirate in the world has been slowed down by DRM in fact the only people who are slowed down by DRM are the ones who are actually trying to use this stuff legally!  iTunes goes DRM free, my music purchasing increases, wheres the downside here?  I may be wrong b/c I don&#8217;t just by looking around, iTunes going drm free definitely doesn&#8217;t seem to have increased any pirating.  Please, MPAA, audible, whoever you may be, stop trying to hurt us.  Stop trying to prevent us from using the things we have LEGALLY purchased in proper ways.  Just give me the files and no one gets hurt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/09/04/i-hate-drm-more-more-everyday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby for backing up</title>
		<link>http://www.drapergeek.com/2009/05/26/ruby-for-backing-up/</link>
		<comments>http://www.drapergeek.com/2009/05/26/ruby-for-backing-up/#comments</comments>
		<pubDate>Tue, 26 May 2009 19:48:42 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.drapergeek.com/?p=134</guid>
		<description><![CDATA[Backup, backup, backup!  That&#8217;s the motto of the day and its good one to live by, for everyone.  I personally know that I do not backup as much as I should but that&#8217;s mainly because I don&#8217;t believe that you can ever backup too much.  For my personal computers I use a [...]]]></description>
			<content:encoded><![CDATA[<p>Backup, backup, backup!  That&#8217;s the motto of the day and its good one to live by, for everyone.  I personally know that I do not backup as much as I should but that&#8217;s mainly because I don&#8217;t believe that you can ever backup too much.  For my personal computers I use a cobbled together version of syncing and cloud backup for all my syncing but my server is setup a bit different.  For the past 6 months or so I&#8217;ve been using a ruby script that I put together from various sources to backup.  Its fairly simple but it works perfectly for my purposes so I thought I would share it for anyone who wants it. </p>
<p>Anyone who has a bit of knowledge in programming should be able to easily modify and update the script to fit your needs but even for a novice it shouldn&#8217;t be too bad.  To set it up out of the box just read through the comments in backup_config.rb and change the values as you wish to.  After doing this, update folderlist.txt with all the directories you want backed up.  After you have modified these two files all you have to do is run &#8216;ruby full_backup.rb&#8217; and the script should output a tarball of your files where you chose to have your files backed up to.  If you don&#8217;t need a MySQL backup, just change the variable appropriately in the configuration.  At this point you can transfer this to an external drive or drop it on a remote server.  Personally, I recommend having it upload to a server but that&#8217;s your choice, as long its off the drive you should be fine.  There is a README file in the folder that should get you started.</p>
<p>If you have any questions, suggestions or comments please let me know, I&#8217;d be glad to help anyone out with this.</p>
<p><a href='http://www.drapergeek.com/wp-content/uploads/2009/05/ruby_backup_0_2tar.gz'>Click here to download version 0.2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/05/26/ruby-for-backing-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on Git</title>
		<link>http://www.drapergeek.com/2009/05/18/thoughts-on-git/</link>
		<comments>http://www.drapergeek.com/2009/05/18/thoughts-on-git/#comments</comments>
		<pubDate>Mon, 18 May 2009 13:59:18 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.drapergeek.com/?p=125</guid>
		<description><![CDATA[So as per my previous  summer goals list I had decided to move to using GIT instead of my current subversion server.  Why I chose to do this was largely based on the fact that in the rails community GIT is almost a standard now and if I want to be able to [...]]]></description>
			<content:encoded><![CDATA[<p>So as per my previous <a href="http://www.drapergeek.com/2009/05/03/summer-goals/"> summer goals</a> list I had decided to move to using GIT instead of my current subversion server.  Why I chose to do this was largely based on the fact that in the rails community GIT is almost a standard now and if I want to be able to add patches to plugins or post my own plugins on <a href="http://www.github.com">GitHub</a> then I need to understand the basics of the system at least.</p>
<p>From start to finish the move from git to SVN took about 4 hours total.  This may seem like a long time but honestly the biggest reason it took so long was that I had to install GIT on two macs and a linux machine and on the macs, installing via darwin ports took FOREVER. After getting everything installed, migrating the system via Git-Svn wasn&#8217;t bad at all and all my previous logs were still there so that&#8217;s a great benefit.  As for my setup, I have an &#8220;origin&#8221; repo on my linux server and I cloned from that to the two macs that I primarily use for development.  I then use git push and git pull to update the local repos.</p>
<p>Now for the impressions.  First of all let me say that despite what I say here I like GIT.  I do have some issues with it but overall I am definitely preferring GIT.  As far the concerns I have they are mainly just getting used to the system.  After committing changes I still have a hard time remembering to actually push the changes to the remote and a few times I have deployed a new update to my system and I couldn&#8217;t figure out why it didn&#8217;t work, only to find out that I never pushed my changes!</p>
<p>Despite my initial &#8220;issues&#8221; with GIT, it is a LOT better overall.  If for no other reason that pure speed.  Commits, clones, updates are all MUCH faster than Subversion.  I&#8217;m sure there are plenty of reasons why this is and I haven&#8217;t looked into it because quite frankly I&#8217;m happy with it.  Its fast.  Period. I&#8217;m sure there are plenty of other great reasons for switching to but as far as I&#8217;m concerned, this is enough for anyone.</p>
<p>When using subversion I can honestly say I never used branches.  I tried, a few times, but I never could make it worth my time and get everything back together the way I wanted it.  With GIT, branches are incredibly easy to do so I&#8217;ve actually started using them all the time now.  Before when I was working on something that I knew would take quite a few changes to get working I wouldn&#8217;t commit those changes because if had something that needed to be fixed quickly then I wanted to be able to fix that issue and commit those changes without adding the &#8220;development&#8221; item I was working on.  Now with GIT, when I start something new I just branch my code and work on it in a separate branch.  If something comes up while I&#8217;m working I switch back to my master branch, branch off again to fix the new issue, join the trees when I have it working, push and deploy.  All the while all my changes from my first branch are still there waiting for me to come back to them.  It sounds complicated in theory but its awesome and has saved me a ton of time and made life a lot easier as far as doing development and updates at the same time.</p>
<p>Overall, GIT is definitely worth the initial jump to get it set up.  In the end its faster, easier to branch and also has a smaller footprint on the system.  The remote setup was a bit confusing but being able to have multiple remotes is also really cool.  Anyone interested in making the moving, there are plenty of tutorials out there to assist in the move, this just hopefully gives you a reason to do so!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/05/18/thoughts-on-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Macbook Web Server Setup</title>
		<link>http://www.drapergeek.com/2009/05/17/macbook-web-server-setup/</link>
		<comments>http://www.drapergeek.com/2009/05/17/macbook-web-server-setup/#comments</comments>
		<pubDate>Sun, 17 May 2009 21:39:58 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[productivity]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[webdav]]></category>

		<guid isPermaLink="false">http://www.drapergeek.com/?p=119</guid>
		<description><![CDATA[I noted in my summer goals post that I would blog about each item of my summer goals that I&#8217;ve completed and I get the wonderful joy of crossing this one off!  Without a doubt, this has been the easiest task to cross off.

The laptop I&#8217;m using is the first generation Macbook 13&#8221;  [...]]]></description>
			<content:encoded><![CDATA[<p>I noted in my summer goals post that I would blog about each item of my summer goals that I&#8217;ve completed and I get the wonderful joy of crossing this one off!  Without a doubt, this has been the easiest task to cross off.</p>
<p>
The laptop I&#8217;m using is the first generation Macbook 13&#8221;  1.8ghz and 1gb of ram.  Its been out of use for the most part now for about 6 months other than a jukebox so its about time it was put to use.  I&#8217;m running Leopard, OS X 10.5.6, as the OS and it couldn&#8217;t have been any easier to setup.  Rather than spend my time walking through how to set it up, just go <a href="http://manas.tungare.name/blog/howto-setup-webdav-on-mac-os-x-leopard-for-syncing-omnifocus-to-iphone/"> here</a> and check out his walk through, it works perfectly for me.</p>
<p>
After only about 10 min of setup I had all 3 of my computers as well as my iPod touch syncing wonderfully with Omnifocus and I am incredibly happy with it.  There is only one problem with the setup and I think its a bug in Omnifocus, whenever I choose to save the username and password used for the webdav authentication, the system will not sync the second time.  I don&#8217;t know if this is a bug in the keychain or in Omnifocus but the same issue happened on iDisk.  It doesn&#8217;t happen on my iPod so its not a big deal and I&#8217;ll live with it.  Otherwise, this system is awesome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/05/17/macbook-web-server-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summer Goals</title>
		<link>http://www.drapergeek.com/2009/05/03/summer-goals/</link>
		<comments>http://www.drapergeek.com/2009/05/03/summer-goals/#comments</comments>
		<pubDate>Mon, 04 May 2009 03:33:52 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[productivity]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://www.drapergeek.com/?p=104</guid>
		<description><![CDATA[Let me start off by saying I&#8217;m a list NERD.  Anything and everything I need to do goes on a list.  I love Omnifocus like it was my own kid and I use it constantly to keep up with what I want to be and should be doing.  However I&#8217;m also into [...]]]></description>
			<content:encoded><![CDATA[<p>Let me start off by saying I&#8217;m a list NERD.  Anything and everything I need to do goes on a list.  I love <a href="http://www.omnigroup.com/applications/omnifocus/">Omnifocus</a> like it was my own kid and I use it constantly to keep up with what I want to be and should be doing.  However I&#8217;m also into lists outside of just todos.  Anytime I&#8217;m doing any sort of repetitive work, be it installing software on multiple computers or just moving things from one place to another, I usually make a list so that I don&#8217;t miss anything.<br />
Another thing I&#8217;m big on is list of goals.  This does not typically fit the &#8220;GTD&#8221; idea because typically in GTD this should just go on your &#8220;someday maybe&#8221; list and then when you get to them you get to them, but I&#8217;m a big fan of publicly confessing those items which need to move from &#8220;someday maybe&#8221; into, &#8220;someday soon&#8221;.  Having made this information public it usually forces me into doing it and I usually end up performing better at the given tasks.<br />
Now that the preamble is completed, this is my list of goals for the summer.  This summer will be huge for me because my wife and I are moving into a new house which is always exciting to me(I LOVE MOVING!! YOU GET TO START NEW!!) and this should allow me to &#8220;tidy up&#8221; some tech related items I&#8217;ve been meaning to do.  So here they are!</p>
<h3>Summer Goals</h3>
<ul class="mylist">
<li>Setup an old Macbook for use as a Webdav Server</li>
<p>Syncing Omnifocus has been quite an issue for me since the iPod app came out and I&#8217;ve tried multiple solutions(iDisk, File Sharing, etc) and unfortunately either they haven&#8217;t done what I wanted them too or I&#8217;m too cheap to continue paying for it (iDisk is just not worth the cost to me).  I&#8217;ve decided to just setup webdav on an old macbook and use it for my syncing.  I will probably also use this Macbook for other various server tasks I&#8217;m looking to complete.</p>
<p><a href="http://www.drapergeek.com/2009/05/17/macbook-web-server-setup/">Click here to see how the setup went</a></p>
<li>Migrate Rails Project to <a href="http://git-scm.com/">Git</a></li>
<p> I&#8217;ve been putting this one off for a long time.  I like <a href="http://subversion.tigris.org/">SVN</a>.  It was the first version control system I ever used and I&#8217;m still impressed by it daily.  Unfortunately though it seems that all rails development is going the way of GIT and I must stay current.  Also, the ability to branch easily sounds like a great addition.  I currently only have on major rails project so I&#8217;ll be taking the time this summer to migrate that to GIT as well as set up a git &#8220;server&#8221; on the macbook most likely.</p>
<p><a href="http://www.drapergeek.com/2009/05/18/thoughts-on-git/">Click here to see how my adventures with GIT went.</a></p>
<li>Setup Capistrano&#8230;Again</li>
<p>In the past, I used <a href="http://www.capify.org/">capistrano</a> like a mad man and loved it.  One command deployment was amazing.  Unfortunately somewhere along the line when I changed servers, I never set this back up and I&#8217;ve been going through the tedious task of deploying by hand with each release.  This MUST stop.  I will setup capistrano to work with GIT and deploy perfectly.</p>
<p><small>Side note:  I have since finished setting up capistrano and I love it!  I did not make a post, the main reason being that capistrano is very individualized based on your setup so we&#8217;ll leave it at this:  If you are developing on rails, unless you have an awesome solution that works better than capristrano, YOU SHOULD USE CAPISTRANO.  </small></p>
<li>Get a part time job with rails</li>
<p>This one is the last one though I find it to the be the most important myself.  Over the next year I want to improve my skills in Rails and I want to find a job that will allow me to do so. I would like a part time job working remotely that would allow me to get more experience and to grow in my skills.  About this time next year I would love to get a full time rails job and this is the beginning of that.  After completing the above tasks I will be updating my resume and sending it out to positions I feel would be a good fit for me.  Wish me luck!</p>
<h3>Conclusion</h3>
<p>That&#8217;s about it really.  Those are my goals.  I use the word goals here lightly because more than anything they are a to do list that will be completed.  The only real goal on the list is a job and I&#8217;m going to put every bit of effort I have into completing that one just as if it were a task also.  Check back here over the next few months or so as I write up information on each of my tasks and how they went!</p>
<p><small>P.S.  For anyone who cares, the picture of the slalom skier is actually my dad.  It appears I do not have any pictures of me wakeboarding&#8230;</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/05/03/summer-goals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Rails on OS X Leopard</title>
		<link>http://www.drapergeek.com/2009/04/12/setting-up-a-rails-development-enviroment-on-os-x-leopard/</link>
		<comments>http://www.drapergeek.com/2009/04/12/setting-up-a-rails-development-enviroment-on-os-x-leopard/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 20:28:35 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.drapergeek.com/?p=86</guid>
		<description><![CDATA[Over the past year it seems like I&#8217;ve setup a new mac for daily usage at least 5 times and for the life of me I can&#8217;t remember why this has happened so much.  I really haven&#8217;t purchased that many new computers(in fact only 1), but I remember this painstaking process quit vividly multiple [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past year it seems like I&#8217;ve setup a new mac for daily usage at least 5 times and for the life of me I can&#8217;t remember why this has happened so much.  I really haven&#8217;t purchased that many new computers(in fact only 1), but I remember this painstaking process quit vividly multiple times.  The thing that I dread most about setting up a new computer for use is setting up my rails enviroment.  Not that rails in itself is terribly hard to setup(it comes preinstalled on leopard), but for some reason it never fails, I run into trouble setting up MySQL to properly connect to the rails system.  I spend pointless hours scouring the internet searching for the ONE solution that finally fixes my issue and then I&#8217;m too tired to get any REAL work done by the time I find it.  I&#8217;m solving this issue now.  I am documenting this for myself and everyone else to save some trouble.</p>
<p>First, a few caveats.  I am setting up this enviroment for an existing rails application that I&#8217;ve been working on for about a year and a half now.  It functioning properly is my primary concern.  This is the main reason that I must have MySQL working and I can&#8217;t rely on sqllite as some <a href="http://teabass.com/rails-on-leopard-the-right-way/"> other solutions</a> propose.  If that works for you, more power to you, but personally I need MySQL and a few other things so lets get to work.</p>
<p>Let me also say this. <strong>This may not be the best way to go about this.</strong>  This is my way of doing it that worked for me.  I may have gone all the way around the world and done it completely wrong, but it worked for me and I&#8217;m happy with it.</p>
<p>Here are my requirements:</p>
<ul class="my_list">
<li>Rails</li>
<li>MySQL working with rails</li>
<li>Passenger &#8211; <i>It just makes life easier</i></li>
<li>GIT &#8211; to be honest, I don&#8217;t use this as of yet, but I&#8217;m still trying to convince myself to switch&#8230;</li>
</ul>
<p>Alright everybody got their thinking caps on and ready to go?!  Let&#8217;s do this!</p>
<h2>Preparation</h2>
<p>Make sure you Mac is fully up to date.  I don&#8217;t know if it will change anything but to make things on even grounds, lets start there. As of this writing I&#8217;m using OS X 10.5.6 and my ruby version 1.8.6.  I realize that 1.8.7 is available however I do not need it at the moment so don&#8217;t feel the need to fight forward and get it.</p>
<p>I would personally recommend install the X Code tools available from apple for free. I don&#8217;t honestly know if any of those are required but they&#8217;re never a bad thing to have around.</p>
<p>I also recommend updating all your ruby gems, this is simple enough:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> gem update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> rubygems-update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> update_rubygems
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> activeresource
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem update <span style="color: #660033;">--system</span></pre></div></div>

<p>You may need to run the update command a few times to be completely up to date.</p>
<h2>Rails</h2>
<p>At this point you should already be set on your rails version.  If your drop in and run the following command</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rails <span style="color: #660033;">-v</span></pre></div></div>

<p>you should see something close to:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Rails 2.2.2</pre></div></div>

<p>You&#8217;re basically set there!  Moving on.</p>
<h2>MySQL</h2>
<p>This where it begins to get dicey.  First comes the easy part.  Installing MySQL is as simple as grabbing a package from <a href="http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg"> here</a>.  Just be sure to pick  the appropriate package for your architecture.  It may not be newest release, but its close enough for my needs.  Also, there is a nice little preference pane in the package that you can install to turn the server on and off.</p>
<p>After throwing this on there unfortunately it still doesn&#8217;t take care of the issue of actually connecting rails to MySQL.  If you leave it at this point you will be forced to go through the pain of throwing to open your rails app or migrate your database and be given an error similar of missing the MySQL adapter.  This is a simple fix just run the command:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">env</span> <span style="color: #007800;">ARCHFLAGS</span>=<span style="color: #ff0000;">&quot;-arch i386&quot;</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> mysql <span style="color: #660033;">--</span> <span style="color: #660033;">--with-mysql-config</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span><span style="color: #000000; font-weight: bold;">/</span>mysql<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>mysql_config</pre></div></div>

<p>This should take care of MySQL.  Also please note, I know that a lot of developers stick with only using SQLlite for development and although while I highly recommend this due to speed, at the moment I still had a few projects that I actually need MySQL on so I done this just for those projects.</p>
<h2>Git</h2>
<p>It seems that the quickest way to pick up GIT is by using the prebuilt package.  If you use Fink or Darwin Ports you could go that way but there is a nice installer prebuilt to a package and they also have a GITGui option which I have not personally checked out.  So drop on over <a href="http://code.google.com/p/git-osx-installer/"> here</a> and download the installer and roll with it!  I woudl also recommend running the terminal script that adds the command for non terminal programs just in case.  I can&#8217;t think of a time you would want this but it can&#8217;t hurt to have it available.</p>
<h2>Phusion Passenger</h2>
<p>Don&#8217;t get me wrong, mongrel is great, but if you&#8217;re working on multiple projects at once, the ability to easily name all your environments using passenger and not have to start them by hand is a BIG plus for development in my book.  Also, its not hard at all to setup so to me its well worth the few minutes it takes.<br />
First lets install passenger:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> passenger
<span style="color: #c20cb9; font-weight: bold;">sudo</span> passenger-install-apache2-module</pre></div></div>

<p>The second line there is awesome because passenger will go out and do all the hard work for you.  The only thing you&#8217;ll be told to do is drop a few lines into your apache config and you&#8217;re set to go on passenger&#8230;well kinda.</p>
<p>At this point you technically are setup and ready to use passenger however, in order to do so you would have to go into your apache config and setup each rails app by hand but thanks to a wonderful preference pane that is offered for free by <a href="http://www.fngtps.com/passenger-preference-pane">Fingertips</a>, you don&#8217;t have to do any of that.  Just grab the preference pane, install it and its pretty much self explanatory.</p>
<h2>Conclusions</h2>
<p>So that&#8217;s it.  Not too bad I hope!  I&#8217;m not sure if this is necessary for most people but if you&#8217;re setting up a new computer for rails this would be a good place to start at least.  If you feel I should add or change anything, feel free to leave me a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/04/12/setting-up-a-rails-development-enviroment-on-os-x-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4-H Camp Control Center &#8211; Technical Side</title>
		<link>http://www.drapergeek.com/2009/04/07/4-h-camp-control-center-technical-side/</link>
		<comments>http://www.drapergeek.com/2009/04/07/4-h-camp-control-center-technical-side/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 23:38:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cms]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://draper.homelinux.com/wordpress/?p=64</guid>
		<description><![CDATA[
This post is in regards to the 4-H Camp Control Center that I built for the local 4-H office in Henry County.  I have described the project in detail regarding its use and requirements in a previous post so please at least skim that over and this post will make a bit more sense [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://img.skitch.com/20090421-gka7wn5x2tbxq9qhgtap1r766b.png"><img src="http://img.skitch.com/20090421-gka7wn5x2tbxq9qhgtap1r766b.png" alt="vce_desktop_medium" title="vce_screenshot_images" width="300" height="187" class="alignleft size-medium wp-image-97" /></a></p>
<p>This post is in regards to the 4-H Camp Control Center that I built for the local 4-H office in Henry County.  I have described the project in detail regarding its use and requirements in <a href="?p=42">a previous post</a> so please at least skim that over and this post will make a bit more sense most likely.  My goal of this post is just to give you some general ideas regarding the technical specs of this project and its features in a bit more depth.</p>
<p><strong>Development Platform</strong><br />
The system was built in Ruby on Rails with a MySQL database for both development and production.  All development was done on a Mac and the production server was running on Mongrel on an Ubuntu server.  The project was stored in a subversion repository on the same machine as the production and database server.  As for the applications I used in development, I lived primarily on <a href="http://www.macromates.com">Textmate</a> and the leopard terminal.  I did use <a href="http://macrabbit.com/cssedit/"> CSSEdit</a> some for the CSS work.  I tested the layout and system using just about any browser I could find on both Windows and OS X.</p>
<p><a href="http://www.drapergeek.com/wp-content/uploads/2009/04/vce_desktop_medium.png"><img src="http://www.drapergeek.com/wp-content/uploads/2009/04/vce_desktop_medium-300x187.png" alt="vce_desktop_medium" title="vce_desktop_medium" width="300" height="187" class="alignleft size-medium wp-image-97" /></a></p>
<p><strong>Stats</strong></p>
<p>
According to &#8216;rake stats&#8217; this project is currently up to 3601 lines of code.  The code to test ratio is an embarrassing 1:0.4 currently but I&#8217;m working on increasing this.  At its heaviest usage there were 11 users logged in and using the system constantly and it performed great.</p>
<p><strong>Features</strong></p>
<ul class="my_list">
<li>Receipt/Camper Entry via forms</li>
<li>Simple Searching of campers and receipts</li>
<li>Excel export</li>
<li>Image Import for Receipts allowing for signatures</li>
<li>Some models have in place editing allowing for easy updating</li>
<li>Sortable columns on lists</li>
<li>Role and permission based authentication system that allows for an exact definition of what a role should be allowed to do based on controller actions</li>
<li>Javascript updating of forms based on input</li>
<li>Input validation on all required fields</li>
<li>Receipt entry does constant validation on input(no need to submit before realizing problems</li>
<li>Exception E-mailing</li>
</ul>
<p>
<strong>Conclusion</strong></p>
<p>The majority of the system was developed in a time frame of approx 3 months.  Since the first use I have probably spent about 80 hours updating features that I wanted to change.  The system currently is being prepped for its second year of use in the registration system and is currently being used for a few early registrations.  If you have any questions regarding this system, please feel free to e-mail me at anytime.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/04/07/4-h-camp-control-center-technical-side/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4-H Camp Control Center &#8211; The Story</title>
		<link>http://www.drapergeek.com/2009/04/07/4-h-camp-control-center-the-story/</link>
		<comments>http://www.drapergeek.com/2009/04/07/4-h-camp-control-center-the-story/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 23:18:16 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://draper.homelinux.com/wordpress/?p=42</guid>
		<description><![CDATA[Over the next few weeks I&#8217;m going to take the time and highlight a few of the projects that I&#8217;ve worked on in web development and any other technological area.  I&#8217;m doing this so that employers that may be interested in my work can quickly see what I can do as well as my [...]]]></description>
			<content:encoded><![CDATA[<p>Over the next few weeks I&#8217;m going to take the time and highlight a few of the projects that I&#8217;ve worked on in web development and any other technological area.  I&#8217;m doing this so that employers that may be interested in my work can quickly see what I can do as well as my potential.</p>
<p>The first project I&#8217;m going to showcase is probably the biggest of all my projects, and quite possibly the most fun of all of them too: the 4-H Camp Control Center.  This is the post that will explain in great detail the story behind this and how well it went.  If you are more interested in only viewing the technical details of the project please check out <a href="?p=64">this post.</a></p>
<div id="attachment_53" class="wp-caption alignleft" style="width: 310px"><a href="http://draper.homelinux.com/wordpress/wp-content/uploads/2009/04/picture-3.png"><img src="http://draper.homelinux.com/wordpress/wp-content/uploads/2009/04/picture-3-300x120.png" alt="A picture of the page used for logging into the 4-H System" title="4-H Login Page" width="300" height="120" class="size-medium wp-image-53" /></a><p class="wp-caption-text">A picture of the page used for logging into the 4-H System</p></div>
<p><strong>Introduction</strong><br />
In the Fall of 2007 my mother was working with the 4-H Group in Martinsville and Henry County.  There biggest task throughout the year was signing up children for their yearly summer camp.  They have the largest registration of any group in Virginia(nearly 400 children) and their registration was held on a single day.  The primary reason for being held on a single day was to allow for a fair method of &#8220;first come, first serve&#8221; mentality for sign ups as every year there are children who have to be denied due to limitations on spacing.</p>
<p>During a single registration there are typically 4 volunteers who sit at a table and take a set fee for camp registration in either check or money order.  While doing this, they must fill out a receipt by hand and give it to the parent.  They must keep a copy of the receipt so that after the typical 6 hour registration is over, they can verify how much money they have received and that all money is accounted for.  </p>
<p>While the parents were waiting in line to pay for their child&#8217;s camp fees they were required to fill out a registration form which held all the childs pertinent information such as name, age, sex, but it also contained information regarding the child&#8217;s preferences for camp such as their roomate preference and the classes they wanted to take while at camp.  Shortly after receiving their receipt this form was given to another volunteer that would place the paper in a stack which, at a later point would be entered manually into an excel sheet by one of the teenage volunteers.  This sheet would typically then be passed around by a usb drive from person to person in the office as necessary and updated.  If someone from the 4-H District Office needed information, this sheet would be formatted in the way that they requested and a copy would be sent to them.<br />
<div id="attachment_51" class="wp-caption alignleft" style="width: 310px"><a href="http://draper.homelinux.com/wordpress/wp-content/uploads/2009/04/picture-1.png"><img src="http://draper.homelinux.com/wordpress/wp-content/uploads/2009/04/picture-1-300x185.png" alt="A list of extra options including the excel sheets available in the system." title="4-H Excel Options" width="300" height="185" class="size-medium wp-image-51" /></a><p class="wp-caption-text">A list of extra options including the excel sheets available in the system.</p></div></p>
<p>To put it lightly, this was a tedious system.  Don&#8217;t get me wrong, data is not fun for anyone and that can&#8217;t be eliminated in most cases but it can definitely be improved.  The system they were currently using had so many flaws that it was truly sad.  To begin with, after a person had been receipted, if they wanted to receive a refund or if any of the staff wanted to verify a payment it required that the payment be tracked down, by hand, in a receipt book and verified.  When the campers where entered into an excel sheet it did not allow easily for any sort of statistics or data manipulation.  Also, the method of sharing the data was causing multiple issues due to multiple copies being on hand and some not being updated properly and data being lost.  Simply put, they need a better solution.</p>
<p><strong>The idea</strong><br />
At the time, I was a senior in college for web development.  I knew most of the office staff that worked with 4-H and all were fairly &#8220;user&#8221; tech savvy but were not computer experts by any means and they didn&#8217;t really know what they needed or wanted.  When my mom first approached me she was looking for something that would allow them to enter the receipts into an excel sheet all at once(4 users on the same sheet) and then print receipts out for each one individually.  To be honest, at first I hesitated to even get involved due to my course load being heavy as it was and this sounded like something that would grow to a huge size and it would also be a completely volunteer effort, but in the end, I decided I wanted to see what I could do, so I jumped in head first.</p>
<p>After considering many solutions, some of which even included a basic Access setup to help them out, I came to the conclusion that a simple web application for entering receipts would be the most appropriate.  The system would have a very simple form of authentication for the users to login.  After logging in, the users would be given a very simple list of current receipts in the system or the ability to add more receipts.  As they entered receipts, they would be able to list the receipts in whatever they preferred, modify them, delete them and eventually I wanted to add the ability to output the list in an excel sheet so that they could have it backed up in a form that they could use in the future if they ever decided to not use the web system.</p>
<p>I had been working with rails at this point for 3 months.  I had dealt with PHP and perl before but after using a few tutorials in rails and kicking the tires a bit I decided that the best way to learn if rails was a good system or not would be to jump in and actually complete a project and so I did!</p>
<p><strong>The Project Begins</strong><br />
The application started off just as requested, a simple CRUD(Create, Retrieve, Update, Delete) application.  It used authentication for the logins and receipts were &#8220;owned&#8221; by the users who created them and each user had an image on file of their signature that would be shown on the receipt copy that would be given to parent.  During this process I got excited about how quickly I update my work.  I had this up and running in no time compared to what it would have taken me in php and I have even had some testing coding to back up my things!  To put it lightly, I loved rails!  At this point I got ambitious and decided that we should add other features before the big registration day in April and really speed up this process!</p>
<p>Now to back up just a bit and explain a few things.  The rails development at the time was being done on my 12&#8221; Powerbook G4 1.33 ghz with 1.25mb of ram using <a href="http://rubyonrails.org/">Rails</a>(pre 2.0 although I can&#8217;t be sure of the exact version at the time), <a href="http://www.mysql.com">MySQL</a> and <a href="http://www.macromates.com/">Textmate</a>.  I was using an old compaq 800mhz with 256mb of ram running Ubuntu Server to store my <a href="http://en.wikipedia.org/wiki/Subversion_(software)">subversion</a> repository.  I was also using this server as the production server for use by the office(when it came to that point).  After a lot of trial an error I finally had ironed out the process of using capistrano to deploy my application directly from SVN and was absolutely thrilled out how easy it was to develop, test and then deploy.  I will be quite honest at this point and admit that my testing was lacking quite a bit but once again, I was just beginning.</p>
<p><strong>The Plot Thickens</strong><br />
After deciding that the receipt entry was sufficient for use I decided to move onto the process of registering campers in the system was well.  To begin with, this was also a simple CRUD step until we added in the fact that campers need to be associated with a &#8220;Pack&#8221;(somewhat like a team) which brought me into a many to one relationship and they also had to be put into classes which would force me to use a many to many relationship.  At this point I considered that, due to the limited amount of time available, we should just set up each of these fields to just be a static value rather than having true associations.  After all, previously they had no method of seeing how many children were in a pack or a class without sorting them appropriately and counting by hand, it wouldn&#8217;t be a huge problem if this was not a feature after my system came out.</p>
<p>Unfortunately, the programmer in me could not let this one happen.  Having data be stored where it couldn&#8217;t be sorted and counted properly using database calls was just unacceptable so I had to research using many to many tables and also work on implement features so that the staff could easily add packs as well as classes to the system without much effort.  This was not a light task by any means.  This involved organization and planning.  There was also another issue.  The receipts could have multiple children attached to them but a camper registration was for a single camper.  This made the task of pulling data directly from a receipt into a camper form a bit of a problem.</p>
<p>In the end, I decided that when you were viewing an individual receipt and see a child&#8217;s name and are interested in adding that child a registration form that it would automatically open the camper form and put that child&#8217;s details into the form so that you would not have to enter twice but there would also not be a direct link between the receipt and the camper because there were some students, such as scholarship students, who may not have a receipt attached to them.  This is still a design decision that I&#8217;m debating on, but currently it is working.</p>
<div id="attachment_50" class="wp-caption alignleft" style="width: 310px"><a href="http://draper.homelinux.com/wordpress/wp-content/uploads/2009/04/picture-2.png"><img src="http://draper.homelinux.com/wordpress/wp-content/uploads/2009/04/picture-2-300x230.png" alt="A list of campers in 4-h system." title="4-h camper list" width="300" height="230" class="size-medium wp-image-50" /></a><p class="wp-caption-text">A list of campers in 4-h system.</p></div>
<p><strong>The day draws closer</strong><br />
After I had these features implemented and working I began to test all of them heavily.  I had to find out what kind of verification of data I needed and exactly how to make all of this easier on the users.  One of the first things I found out was that with the addition of campers, I needed to offer a few more options of excel sheets to be output so that when the district office or state office requested data be sent to them that it would be a simple button to grab an excel sheet for what was needed and send it up.  This turned out to be one of the most valued features for the staff as it is not uncommon for them to be requested for this information multiple times in a week and usually it had to be compiled from multiple sources.  With this method it was a simple 2 minutes to login, download the sheet and e-mail it to the appropriate resource.</p>
<p>Another feature that had never been considered by me before was the issue of accounting for the receipts in a single day.  Though all the receipts were being stored and easily sorted and output to excel we had no way of knowing exactly how much money we had taken in for a given day or total.  This was a simple addition of calculation the amount of money receipted either total or for a single day.  This feature turned out to be a lifesaver on registration day as it would allow us to easily know the amount of money that we should have in checks and money orders.</p>
<p>After adding the last few touches to the features I decided to draw a line on features as the date was too close for any new features and I wanted to concentrate on fixing any possible bugs on the system.  I&#8217;ll admit, I was terrified.  My system was about to be bombarded by people who would rip it apart with multiple hits and entries.  Only one of the four volunteers who would be entering data on the day of registration had even seen the system prior to using it so it had to be very easy to use as well as flawless in execution.  I wasn&#8217;t sure how stable the system was and even more of a concern was how much of a performance hit it was on my poor little server.  However after watching multiple requests come in during a controlled testing I had determined that my server could handle it and I thought the system was stable enough to handle four users and I&#8217;d be ok.  This was when I got my last big shock&#8230;</p>
<p><strong>ARE YOU CRAZY?</strong><br />
As we were prepping for the final days before registration, Brian, the head of the 4-H office proposed a scenario.  The prior process required that after the day of registration someone enter all the registration information into the excel sheet by hand.  The reason this was done the day after was that the number of applications coming in would exceed the workload for a single individual and because the file was only being shared by jump drive, having multiple people entering the data was not a great idea.  Brian suggested that we should have 4 teen volunteers entering the camp registration data immediately as the form is turned in so that all the data input is done and over with on a single day.  You have to be kidding me&#8230;</p>
<p>Now let me explain something here, this was my first big programming project that was going to actually be used in any manner other than for a professor to grade it.  The idea that in addition to the 4 people who would be banging away on receipt entry, they now wanted another 4 people who have never seem my system and will have no prior training to also add registration information.  The registration system was the newest and most definitely the least tested due to the fact that this would be entered by one person over a period of a few weeks so if there were small issues I could take care of them as they came up.  This was definitely a shocking terrifying request, but the programmer in me assured myself that the code was ready to go and that my server could handle it so with much reluctance I gave the go ahead and setup user accounts for 4 trusted teens.</p>
<p><strong>D-Day</strong><br />
On the morning of registration I was more frightened then I can ever remember being before.  This was huge.  My system, written entirely too fast and with not enough testing(in my mind there is never enough time or testing, no matter how much you spend on it) was going to be debuted in the most taxing situation possible.  If my server died or my code failed I would be holding up approximately 400 parents and their children as well as the staff of the 4-H office.  Heaven forbid a fatal error wipe out all my data and we lose all of what we&#8217;ve done.</p>
<p>I took precautionary measures.  The system would automatically back the database up to an off site server every 15 minutes so that if something happened the most we could lose is 15 minutes.  Unfortunately this done little to calm me but there was no time to freak out now, the process had began.  At 8:00am we opened the doors, our receipt entry personnel took money and typed up numbers and our teens began entering classes and packs.  I sat at my computer watching the log file go by, watching the processes on my server and praying to the Rails Gods to hold tight.  </p>
<p>After about 30 minutes I began to relax some when I realized we hadn&#8217;t had any issues and I started to walk around and check out how things were going on a personal level.  It was good!   People were enjoying not having to write everything down by hand and everything seemed to be working well.  </p>
<p>About 9:30am one of the teen volunteers came running to me with looking exhausted and said that I was needed at receipt entry.  This was it.  The server crashed, all my backups failed, my own personal hell had come to life!  Lucky for me it was nothing that dramatic or even a problem.  One of the people entering receipts was having an issue with entering a camper id number and the system had told her that the camper id number was already in use.  They all insisted that this could not possibly be as the camper id numbers were in numerical order on the camp registration forms and none had been duplicated.  I calmly agreed, assumed that there some small logic bug in my code and asked for 5 minutes while no one else entered a receipt.  Just take a coffee break and I would let them know what we would do.</p>
<p>I walked over to my computer as calm as possible and started to pull up my code but I stopped myself.  Before checking my code, let me just MAKE SURE that this wasn&#8217;t a human error.  Surely it can&#8217;t be, but there&#8217;s never any harm in making sure.  So I pulled up the receipts, about 100 had been entered so far, and I search for a camper id matching the one we were having issues with.  Sure enough there it stood with another campers name on the receipt.  I&#8217;m not sure I could have smiled more while I walked over and simply explained that a prior receipt had already been entered with this camper id and either someone had been given a duplicate number of there was a simple typing mistake that would need to be resolved.  Within minutes we realized that it was simple typing mistake, updated the wrong entry and went along our merry way!</p>
<p>At around 10:45am I noticed that there were only a few parents left in line and began to inquire if we had a low turn out this year due to something else going on.  Normally a registration takes at least 5 hours so for the line to be gone this quickly was unheard of.  I pulled up the number of receipts we had handed out and realized that we had already receipted more than 350 parents and had more campers waiting to be admitted should someone drop out!  The staff had completed their receipt entry at least 2 hours faster than what they normally do and this year they were also done entering registration also.  To put it lightly, I was pumped.  My system had completely outperformed my expectations as well as everyone else&#8217;s!</p>
<p><strong>The Aftermath</strong><br />
Since that single day, I&#8217;ve made a few small changes to the system that we thought needed improving but nothing major.  The office was so impressed that they recommended that we try and get the entire district to use it rather than just our office.  I was excited about the idea as was the leader of the district but unfortunately due to budget cuts they could not afford to pay me for the development that would be required to expand it to multiple districts and the changes that each office would need based on their individual camps.  They are still speaking with me about doing this in the future I would love to do it but for now, I&#8217;m only doing minor updates on the system and I&#8217;m preparing to see it in use again this year!</p>
<p>This project taught me more about programming than anything else.  I was forced to work on a deadline, forced to work directly with customers to determine exactly what they wanted out of the system and what they actually needed from the system and I was put in a situation that demanded a lot from a system in a very short span of time.  I have no doubt that this helped shape my impression of programming as well as the development process in general.</p>
<p>If you&#8217;re interested you can look at a more &#8220;technical&#8221; look at the project by checking out this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/04/07/4-h-camp-control-center-the-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A year in the life</title>
		<link>http://www.drapergeek.com/2009/04/06/a-year-in-the-life/</link>
		<comments>http://www.drapergeek.com/2009/04/06/a-year-in-the-life/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 20:04:15 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://draper.homelinux.com/wordpress/?p=28</guid>
		<description><![CDATA[
I know it seems a bit late for the &#8220;New Year&#8217;s Resolution&#8221; type post but I&#8217;m a bit late sometimes!
Over the last year a lot in my life has changed; I&#8217;ve graduated from college, got married, worked as a .NET developer and I&#8217;m currently working as a technician in a school system.  This has [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://draper.homelinux.com/wordpress/wp-content/uploads/2009/04/ical2.jpg"><img src="http://draper.homelinux.com/wordpress/wp-content/uploads/2009/04/ical2-150x150.jpg" alt="ical" title="ical" width="150" height="150" class="alignleft size-thumbnail wp-image-29" /></a></p>
<p>I know it seems a bit late for the &#8220;New Year&#8217;s Resolution&#8221; type post but I&#8217;m a bit late sometimes!</p>
<p>Over the last year a lot in my life has changed; I&#8217;ve graduated from college, got married, worked as a .NET developer and I&#8217;m currently working as a technician in a school system.  This has lead me to change the way I want to interact with technology in multiple ways and therefore I&#8217;ve come to a few conclusions and decisions that I thought I would share:</p>
<ol>
<li>I am a progammer</li>
<p>I worked for a small development company that work only in .NET programming and it made me realize that I LOVE writing code.  Before this job I was never quite certain that I wanted to work on coding directly for 40 hours a week but after this I have no doubt.  Unfortunately the job itself was not quite the fit I was looking for as it was a desktop programming job and I would prefer to stick to the web side of things and it was also an hour commute&#8230;</p>
<li>I love Rails</li>
<p>After working in multiple languages and frameworks all throughout school and since(PHP, Java, Cocoa, C,VB.NET) I have concluded that I prefer Rails overall.  It is a wonderfully robust framework and I feel content when I write code in rails.  Its not perfect and when it doesn&#8217;t fit the job, I&#8217;m always willing to use something else, but when it works, I love it!</p>
<li>I need to stick to my strengths</li>
<p>I can&#8217;t be everything to everyone.  I&#8217;m not a designer.  Let me say that again, I AM NOT A DESIGNER!  No matter how hard I try, I still do not have the creative requirements for such a position, however, I am good at other things.  I personally think I am a great software engineer.  I love to spend hours going through my code and fixing every issue and making sure everything works exactly the way a user wants it too.  However this doesn&#8217;t just apply to things outside of the coding arena, I&#8217;ve learned that rather than learning a lit bit of everything I want to concentrate my efforts on a few things.  Instead of trying to stay sharp on PHP, Java, Rails and every other language I&#8217;ve learned I want to stick to being REALLY good at Rails and for any other type of work I think I&#8217;ll be using Drupal.</p>
</ol>
<p>So what does all this mean?  Nothing to most people, but to me it means a lot..  It means that I&#8217;ve learned what I want to do in life.  I want to work on Rails.  I want to spend my hours coding away.  For now, I&#8217;m going to stick with my technician job because I don&#8217;t want to abandon the people I work with after having just joined the team so I&#8217;m going to take this time to work on Rails on the side as much as I can and sharpen those skills so that when I do go looking for employment, the person who seems my resume will have no doubt that I&#8217;m the perfect candidate.</p>
<p>Wish me luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2009/04/06/a-year-in-the-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH Key Pairing</title>
		<link>http://www.drapergeek.com/2008/11/04/ssh-key-pairing/</link>
		<comments>http://www.drapergeek.com/2008/11/04/ssh-key-pairing/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 19:16:09 +0000</pubDate>
		<dc:creator>draper</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[terminal fun]]></category>

		<guid isPermaLink="false">http://draper.homelinux.com/wordpress/?p=11</guid>
		<description><![CDATA[This is going to be a very short post. I&#8217;m going to tell you in simple terms how to setup ssh key-pairing for automatic login via ssh. In this example we will have two computers &#8211; a server and a workstation. We will be connecting from workstation to server remotely(or in the same network, it [...]]]></description>
			<content:encoded><![CDATA[<p>This is going to be a very short post. I&#8217;m going to tell you in simple terms how to setup ssh key-pairing for automatic login via ssh. In this example we will have two computers &#8211; a server and a workstation. We will be connecting from workstation to server remotely(or in the same network, it doesn&#8217;t matter). Follow these steps and you&#8217;ll be done in approx 5 min.  This tutorial assumes that you know the ip address of the server and can remotely access it already via ssh.</p>
<p>1. On the workstation type the following command:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-t</span> rsa</pre></div></div>

<p>This will create two files in the ~/.ssh directory. One is .id_rsa and the other is .id_rsa.pub. I&#8217;m not going to cover what these files are, this is only a walk through.<br />
2. Upload the id_rsa.pub file to server and put it in the ~/.ssh directory.<br />
3. On server run the command</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">      <span style="color: #7a0874; font-weight: bold;">cd</span> .ssh
      <span style="color: #c20cb9; font-weight: bold;">touch</span> authorized_keys
      <span style="color: #c20cb9; font-weight: bold;">cat</span> id_rsa.pub <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> authorized_keys</pre></div></div>

<p>4. You&#8217;re done! Assuming everything was correct, you should be able to login to your remote server using the ssh command you should not be prompted for a password.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drapergeek.com/2008/11/04/ssh-key-pairing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
