<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Perpetually Nonchalant</title>
    <link>http://www.shorrockin.com/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>where the voices inside my head express themselves</description>
    <item>
      <title>@Deprecated</title>
      <description>&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_java "&gt;&lt;notextile&gt;	/**
	 * @deprecated
	 * @see com.ea.Job#otherWork
	 */
	@Deprecated
	public static final void blog( String ... args ) {
		throw new IllegalArgumentException( &amp;quot;blog no longer active&amp;quot; );
	}&lt;/notextile&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <pubDate>Sun, 18 Feb 2007 07:49:07 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:0b215428-f37e-4292-9f4b-6819ee0d8293</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2007/02/18/deprecated</link>
      <category>Programming</category>
      <category>General</category>
    </item>
    <item>
      <title>80k Visits Later</title>
      <description>&lt;p&gt;So, I launched &lt;a href="http://www.iCompete.org"&gt;iCompete.org&lt;/a&gt;, back in February of this year as a site intended for the martial arts community to list all the events that normally very poorly communicated.&lt;/p&gt;

&lt;p&gt;Today, after ~80,000 visits (according to google adsense) the site has finally earned enough through ads to pay for its hosting (~100 USD). Prior to site launching I was somewhat skeptical as to the earning potential from adsense, I now know that while it does work, it is rather random in how it operates. &lt;/p&gt;

&lt;p&gt;Often times a click will earn me $0.01, while other times I've made as much as $1.70. It seems odd, but who am I to question the mighty google.  A few other interesting stats for those other adsense users out there:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visits: ~80k&lt;/li&gt;
&lt;li&gt;Chance of clicking on ads in page: 0.72%&lt;/li&gt;
&lt;li&gt;Chance of clicking on ads from (google) search: 2.9%&lt;/li&gt;
&lt;li&gt;Avg Earning Per 1000 visits: $1.28&lt;/li&gt;
&lt;li&gt;Avg Earning Per 1000 searches: $4.22&lt;/li&gt;
&lt;li&gt;Avg Number Of People Who Search: 1%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not great numbers, but my intention was never to get rich, simply to provide some means so my little hobby site would pay for itself. It now has, at least for this year.&lt;/p&gt;

&lt;p&gt;(PS - I also got a new job working at &lt;a href="http://www.ea.com"&gt;EA&lt;/a&gt;, which I'm very excited about. I start on the 10th. I'll try to provide more details when I have some spare cycles)&lt;/p&gt;</description>
      <pubDate>Thu, 28 Sep 2006 08:09:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:e732279f-e61a-46a0-a909-bb5b4c240c06</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/09/28/80k-visits-later</link>
      <category>Programming</category>
      <category>General</category>
      <category>adsense</category>
      <category>google</category>
      <category>profit</category>
      <category>icompete</category>
      <category>ea</category>
      <category>job</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/63</trackback:ping>
    </item>
    <item>
      <title>Reading Assignment For The Day</title>
      <description>&lt;p&gt;I ran across I brief little article relating the challenges programmers come across when dealing with clients who don't understand the nature of architecting a system. It's a brilliant glimpse into the type of things we often put up with when building a system by contrasting our world with that of a &lt;em&gt;real&lt;/em&gt; architect. So without further ado, &lt;a href="http://www.stsc.hill.af.mil/resources/tech_docs/gsam3/appene.pdf"&gt;&lt;strong&gt;If Architects Had to Work Like Programmers&lt;/strong&gt;&lt;/a&gt; by Mike Morgan:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Dear Mr. Architect: &lt;/p&gt;
    
    &lt;p&gt;Please design and build me a house. I am not quite sure what I need, so let&#8217;s get started. My house should have between two and 45 bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I&#8217;ll make the final decision about what I want. Also, bring me the cost breakdowns for each configuration so I can arbitrarily pick one at a later time. &lt;/p&gt;
    
    &lt;p&gt;Keep in mind that the house I ultimately choose must cost less than the one I am currently living in. Make sure, however, that you correct all the deficiencies that exist in my current house (the floor of my kitchen vibrates when I walk across it, and the walls don&#8217;t have nearly enough insulation in them).&lt;/p&gt;
    
    &lt;p&gt;As you design, also keep in mind that I want to keep yearly maintenance costs as low as possible. This should mean the incorporation of extra-cost features like insulated windows or composite siding. (If you choose not to use Anderson insulated windows, be prepared to explain you decision.) &lt;/p&gt;
    
    &lt;p&gt;Please take care that modern design practices and the latest materials are used in construction of the house, as I want it to be a showplace for the most up-to-date ideas and methods. Be alerted, however, that the kitchen should accommodate (among other things) my 1952 Gibson refrigerator. &lt;/p&gt;
    
    &lt;p&gt;To assure that you are building the correct house for our entire family, you will need to contact each of my children and our in-laws. My mother-in-law will have very strong feelings about how the house should be designed, since she visits us at least once a year. Make sure you weigh all these options carefully and make recommendations. However, I retain the right to overrule any recommendation you make. &lt;/p&gt;
    
    &lt;p&gt;Please don&#8217;t bother me with small details right now. Your job is to develop the overall plans for the house and get the big picture. At this time, for example, it is not appropriate to be choosing the color of the carpeting; however, keep in mind that my wife likes blue. &lt;/p&gt;
    
    &lt;p&gt;Also, do not worry at this time about acquiring the resources to build the house itself. Your first priority is to develop detailed plans and specifications. Once I approve these plans, however, I would expect the house to be under roof within 48 hours. &lt;/p&gt;
    
    &lt;p&gt;While you are designing this house specifically for me, keep in mind that sooner or later I will have to sell it to someone else. It should &#8212; therefore appeal to a wide variety of potential buyers. Please make sure, before you finalize the plans, that there is a consensus of the potential home buyers in my area that they like the features of this house. &lt;/p&gt;
    
    &lt;p&gt;I advise you to run up and look at the house my neighbor built last year, as we like it a great deal. It has many things that we feel we need in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe you can design this into our new house without impacting the construction cost. &lt;/p&gt;
    
    &lt;p&gt;Please prepare a complete set of blueprints. It is not necessary at this time to do the real design, since they will be used only for construction bids. Be advised, however, that you will be held accountable for any increase of construction cost as a result of later design changes. &lt;/p&gt;
    
    &lt;p&gt;You must be thrilled to be working on such an interesting project! To be able to use the latest techniques and materials and to be given such freedom in your designs is something that can&#8217;t happen very often. Contact me as soon as possible with your ideas and completed plans. &lt;/p&gt;
    
    &lt;p&gt;Sincerely, The Client &lt;/p&gt;
    
    &lt;p&gt;PS: My wife just told me she disagrees with many of the instructions I have given you in this letter. As the architect, it is your responsibility to resolve these differences. I have tried in the past and have failed to accomplish this. If you can&#8217;t handle this responsibility, I will have to find another architect. &lt;/p&gt;
    
    &lt;p&gt;PPS: Perhaps what I need is not a house at all, but a travel trailer. Please advise me as soon as possible if this is the case. &lt;/p&gt;
&lt;/blockquote&gt;</description>
      <pubDate>Wed, 13 Sep 2006 07:36:58 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:1374a156-acc8-4825-bf59-1c753358408c</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/09/13/reading-assignment-for-the-day</link>
      <category>Programming</category>
      <category>design</category>
      <category>architecture</category>
      <category>client</category>
      <category>reading</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/22</trackback:ping>
    </item>
    <item>
      <title>Finding What You Need</title>
      <description>&lt;p&gt;Back from my weekend away, nothing to report on the job front but I thought I'd point out a tool which has been getting a lot of clicks from me lately:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.quickref.org/"&gt;http://www.quickref.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Essentially it's just a collaboration of documentation for a variety of languages all in one quick and easy to use place. If you're all too accustom to opening your documentation page then opening you're search window while you look for a certain class, method, or term this site is for you. A simple concept done well, enjoy...&lt;/p&gt;</description>
      <pubDate>Mon, 11 Sep 2006 11:27:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:7e15c6da-2432-4631-8b87-8051a60a117c</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/09/11/finding-what-you-need</link>
      <category>Programming</category>
      <category>documentation</category>
      <category>help</category>
      <category>search</category>
      <category>quickref</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/21</trackback:ping>
    </item>
    <item>
      <title>Time For Some REST</title>
      <description>&lt;p&gt;A while back my wife had planned a trip up to Kelowna for a few days (leaving in an hour) with some friends. In light of my current predicament regarding work the thought of rest and relaxation doesn't seem very well timed, but maybe this logic is flawed.&lt;/p&gt;

&lt;p&gt;I was at &lt;a href="http://en.wikipedia.org/wiki/BJJ"&gt;BJJ&lt;/a&gt; practice last night and the ebb and flow of the situation was such that everything was effortless. My opponents were coming to me, they were falling into my traps, I didn't force anything I just let the situation dictate itself. As I reflect back this is similar to how my career has unfolded.&lt;/p&gt;

&lt;p&gt;I've never really had to look hard for work, generally it has always found me. I suppose this is why I'm starting to get worried as it's a new experience, but like everything, experiences are to embraced and not ran away from. Things have always worked out in the past and I'm confident that they will continue to do so. I just need to let go and let the situation flow and the pieces drop where they may. This is not to say I should sit back and wait for the phone to ring but there is no point in worrying about tomorrow when tomorrow will worry about itself. This is why I think this period of rest may be well earned. &lt;/p&gt;

&lt;p&gt;Speaking of &lt;a href="http://en.wikipedia.org/wiki/REST"&gt;REST&lt;/a&gt;, this newly created buzzword has really peaked my interest. Similar concepts (&lt;a href="http://en.wikipedia.org/wiki/SOAP"&gt;SOAP&lt;/a&gt; I'm looking at you) have always struck me as a poorly constructed mess, but &lt;a href="http://en.wikipedia.org/wiki/REST"&gt;REST&lt;/a&gt; appears to take HTTP and finally utilize it as it's designers had intended. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/REST"&gt;REST&lt;/a&gt; utilizes the CRUD (Create, Read, Update, Delete) line of thinking, and maps those commands to HTTP using the following relationships:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C&lt;/strong&gt;reate -&gt; HTTP PUT&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;R&lt;/strong&gt;ead -&gt; HTTP GET&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;U&lt;/strong&gt;pdate -&gt; HTTP POST&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;D&lt;/strong&gt;elete -&gt; HTTP DELETE&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These commands become your verbs, while the HTTP URI becomes your noun. Therefore, where before we may have had the following to perform the CRUD functions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;POST http://www.mywebsite.com/person?command=create&amp;amp;name=chris&lt;/li&gt;
&lt;li&gt;GET http://www.mywebsite.com/person?command=read&amp;amp;id=1&lt;/li&gt;
&lt;li&gt;POST http://www.mywebsite.com/person?command=updatee&amp;amp;name=christopher&lt;/li&gt;
&lt;li&gt;POST http://www.mywebsite.com/person?command=delete&amp;amp;id=1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using &lt;a href="http://en.wikipedia.org/wiki/REST"&gt;REST's&lt;/a&gt; line of thinking we now get (Ok - the following isn't exact as &lt;a href="http://en.wikipedia.org/wiki/REST"&gt;REST&lt;/a&gt; utilizes XML to define the data, but it illustrates my point):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PUT http://www.mywebsite.com/person&amp;amp;name=chris&lt;/li&gt;
&lt;li&gt;GET http://www.mywebsite.com/person/1&lt;/li&gt;
&lt;li&gt;POST http://www.mywebsite.com/person/1&amp;amp;name=christopher&lt;/li&gt;
&lt;li&gt;DELETE http://www.mywebsite.com/person/1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not only is this much cleaner than the way we've done things in the past it forces the developer into a design that has been proven many times over. &lt;a href="http://en.wikipedia.org/wiki/REST"&gt;REST&lt;/a&gt; at it's core won't change the world, but it is a nice little way of cleaning up a mess that SOAP couldn't.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;As a side note I've now wrote this entry out twice as when I tried to paste I accidently pressed command-w (I'm using the &lt;a href="http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard"&gt;Dvorak&lt;/a&gt; keyboard layout which puts these two keys side by side). So if things seem a little rushed and not fully explained I'll assure you it was better in the first copy ;)&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 06 Sep 2006 11:20:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:d0a48a86-9bd8-4689-aabf-a75455abdeed</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/09/06/time-for-some-rest</link>
      <category>Programming</category>
      <category>General</category>
      <category>vacation</category>
      <category>REST</category>
      <category>design</category>
      <category>SOAP</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/18</trackback:ping>
    </item>
    <item>
      <title>Work Updated</title>
      <description>&lt;p&gt;It's funny how quickly things can change, but shortly after I posted my previous entry about my work woes I found a job posting for what can only be described as my dream job. I don't want say anything yet, but If I could choose a company to work for, doing anything I wanted to this would be it.&lt;/p&gt;

&lt;p&gt;The resume has been sent in so now we play the oh-so-fun waiting game. Cross your fingers for me.&lt;/p&gt;</description>
      <pubDate>Thu, 31 Aug 2006 16:43:22 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:e0d318dc-2c9a-4b5c-b5b3-88cb65d534b2</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/08/31/work-updated</link>
      <category>Programming</category>
      <category>General</category>
      <category>work</category>
      <category>dream</category>
      <category>job</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/12</trackback:ping>
    </item>
    <item>
      <title>Of And Pertaining To Work</title>
      <description>&lt;p&gt;So work has REALLY been &lt;em&gt;s l o o w i n g&lt;/em&gt; down lately. I'm not a salesman and never have been so finding my own work is often difficult. I feel I'm very skilled at what I do yet establishing yourself on the global market is something that isn't easily accomplished. I'm now debating going back to an office job but find the whole prospect of doing so somewhat demoralizing.&lt;/p&gt;

&lt;p&gt;My current work arrangement is quite good, I work from home in my nice little office in a nice quiet neighborhood in a nice quiet town. I'm able to focus and get heaps of work done since there's nearly no interruptions and I'm very self motivated. I can wake up at 7, work for 10 hours and still &lt;em&gt;be home&lt;/em&gt; by 5. I can BBQ for lunch, and if I need to, workout during my lunch break. All in all, I really have nothing to complain about.&lt;/p&gt;

&lt;p&gt;On the flip side, my nice quiet home has a mortgage attached to it, as well as a wife and daughter living inside of it who, for some reason, demand food now and then. So due to the downswing of work it may be time to head back to a &lt;em&gt;real&lt;/em&gt; office as baby and mom aren't so happy when the bills don't get paid.&lt;/p&gt;

&lt;p&gt;But why is going back to an office job so bad? Well, I suppose I just appreciate a good thing and throwing that behind you can be difficult. My nice little neighborhood is about an hour and a half commute to downtown where I'm sure I would end up working. That means 3 hours each day commuting minimum, and that's if I drive, which I probably wouldn't, so public transit would be getting a new customer. &lt;/p&gt;

&lt;p&gt;Also I need to consider what I want to do. Do I go with Java or Ruby? Java is a great language which I enjoy (and even named my dog after... yes I'm that much of a dork) but getting stuck in a web shop that does glorified business card sites gets tedious quick, so I would almost need to find something with a level of complexity to challenge myself in order to remain sane. On the other hand, I've really enjoyed Rails work as of late, the ability to turn stuff out quickly makes even &lt;em&gt;normal&lt;/em&gt; web development enjoyable due to the high ratio of &lt;em&gt;work to show&lt;/em&gt;; that is, the amount of hours put in results in more done that typical development environments.&lt;/p&gt;

&lt;p&gt;This entry has turned into a rant with no real focus or direction but It had been a while since I posted anything so I thought I'd just throw up what was on my mind. I'm still not sure what's going to happen in the near future but hopefully it turns out for the best. I still have some time until I need to make a decision so hopefully I can find the light at the end of the tunnel I've just entered.&lt;/p&gt;</description>
      <pubDate>Tue, 29 Aug 2006 16:05:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:f902d287-171e-4f81-9840-d225941dc929</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/08/29/of-and-pertaining-to-work</link>
      <category>Programming</category>
      <category>General</category>
      <category>work</category>
      <category>contracting</category>
      <category>java</category>
      <category>ruby</category>
      <category>rails</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/10</trackback:ping>
    </item>
    <item>
      <title>Why I Choose To Be Lazy</title>
      <description>&lt;p&gt;
A recent &lt;a href="http://www.softwarebyrob.com/articles/Personality_Traits_of_the_Best_Software_Developers.aspx"&gt;article&lt;/a&gt; over at &lt;a href="http://www.softwarebyrob.com/"&gt;Software By Rob&lt;/a&gt; has illustrated a very interesting point regarding common attributes that he finds if skilled programmers. It's a good read for anybody in the industry, but I thought I'd throw my own 2 cents in the direction of the topic, so without further ado, here's my brief list of &lt;i&gt;Things Required To Not Suck At Programming&lt;/i&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Laziness&lt;/b&gt;&lt;br&gt;
While it sounds crazy, all great programmers must be lazy to some degree. A lazy programmer will go to great lengths in order to abstract out ideas and concepts into small manageable and (key word here) removable pieces which can then be used in other places. It's their desire to only ever do something once, this will generally cause their architecture to be such that repetition will not be seen anywhere . Everyone has ran into a small piece of logic has 300 &lt;i&gt;if&lt;/i&gt; statements in a row each testing for a different condition, and you can bet it was a very eager programmer who did this - as a lazy person would take the time and figure out how they could avoid typing out all of these 300 lines.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Anal Retentiveness&lt;/b&gt;&lt;br&gt;
Have you ever jumped into a project half way through development and thrown up on your keyboard (repeatedly) due to hap-hazard nature the authors of said project had taken towards code cleanliness. A mixture of tabs and spaces, different variable naming constructs in every other class, so you go through and take a considerable amount of time reformatting everything for consistencies sake? After which the code runs no different than it did before, but at least this way you can look at it without having to reach for the pepto-bismol. Similarly in real life, these programmers, also have minor OCD tendencies where their desk must have a sense of symmetry before they can work. It may seems (because it probably is) that these people are a little crazy but their &lt;del&gt;desire&lt;/del&gt; need to have everything just so, in every circumstance, is a testament to their attention to detail and their unrelenting approach they take to software quality. 
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Artistic&lt;/b&gt;&lt;br&gt;
Anyone who said that programming isn't art is either not a programmer, or not a very good programmer. Great programmers relish in beautiful designs that solve multifaceted problems using very simple abstractions. They have an innate ability to make things "as simple as possible, but no simpler", that is, they can do something in a small amount of time that will address all of their requirements. They are able to take a problem and construct a solution out of thin air that takes a tenth of the time and will often operate several magnitudes faster than a solution crafted by a less skilled programmer. Art, at it's core, is taking &lt;i&gt;things&lt;/i&gt; and putting those &lt;i&gt;things&lt;/i&gt; together to make something beautiful; those programmers who approach code from a perspective of creating elegance, opposed to &lt;i&gt;gettin'er done&lt;/i&gt; are often the ones you want on your team.
&lt;/p&gt;

&lt;p&gt;
From a personality perspective we've painted a picture of some lazy hippy living alone in a loft with his 300 paintings (well.. 1 painting and 299 photocopies) organized on the floor with exactly 3cm's separating all of them. Find this person, teach him what an &lt;i&gt;if&lt;/i&gt; statement is, and you have your next team lead (providing you can get rid of that hippy smell).
&lt;/p&gt;</description>
      <pubDate>Mon, 21 Aug 2006 21:35:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:6d15de87-ccb9-4bc1-8918-b4a1ff418f7f</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/08/21/why-i-choose-to-be-lazy</link>
      <category>Programming</category>
      <category>programming</category>
      <category>hippy</category>
      <category>lazy</category>
      <category>anal</category>
      <category>artistic</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/8</trackback:ping>
    </item>
    <item>
      <title>RJS Templates: An Execise In Frugality</title>
      <description>&lt;p&gt;
So I'm not much of a gambler (unlike my &lt;a href="/files/all_in.gif" rel="lightbox"&gt;daughter&lt;/a&gt;), so putting money towards something that I have no clue as to the value of is something I find difficult. 
&lt;p&gt;

&lt;p&gt;
$6.50, this is all about 6 frickin 50 (with a coupon). I was sitting at my desk attempting to find a good reference for Rails based RJS Templates (&lt;a href="http://en.wikipedia.org/wiki/AJAX"&gt;AJAX&lt;/a&gt; made easy) when I found O'Reilly, the king of technical references, was offering me what seemed to be the &lt;a href="http://www.oreilly.com/catalog/rjsrails/"&gt;definitive guide on the subject&lt;/a&gt;. I was having so much trouble justifying spending $6.50 on something I couldn't physically touch, but eventually decided to do so. chris.good_decisions++
&lt;/p&gt;

&lt;p&gt;
The book is written by &lt;a href="http://www.codyfauser.com/"&gt;Cody Fauser&lt;/a&gt; who, previous to writing the book, had written a few tutorials on the subject. In fact his tutorials had helped me with RJS pre rails 1.1 when I was working on &lt;a href="http://www.icompete.org"&gt;iCompete&lt;/a&gt; so I knew he had a good grasp for technical writing. He also recently &lt;a href="http://www.codyfauser.com/articles/2006/06/20/rjs-templates-for-rails-updated"&gt;updated&lt;/a&gt; the book, so if you happened to purchase it recently be sure to go grab an update.
&lt;/p&gt;

&lt;p&gt;
The book is well written and the examples are very clear and do a good job of outlining the point they are trying to make. It's not a huge book, at 58 pages, but it doesn't need to be as it does what it sets out to do; show you how to use RJS templates avoiding some of the common pitfalls while taking advantage of Rails built in functionality as well as points you in the direction of some very &lt;a href="http://www.joehewitt.com/software/firebug/"&gt;handy tools&lt;/a&gt;. Additionally the RJS Reference at the end of the book will turn out to be a well used addition as it lists all the commonly used features of the library.
&lt;p&gt;

&lt;p&gt;
I'm sure this book will be worth it's weight in gold as I recently started out on a new rails project in my personal time. For a technology as useful as RJS Templates, it's shocking that there isn't much more literature out there, but when you can pick up a book like this for $6.50 I suppose it doesn't matter. A great purchase, and maybe in the future I'll learn something from my &lt;a href="/files/all_in.gif" rel="lightbox"&gt;daughter&lt;/a&gt;
&lt;/p&gt;
</description>
      <pubDate>Tue, 15 Aug 2006 15:15:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:208594a5-9220-4f84-b6d4-fba7df670148</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/08/15/rjs-templates-an-execise-in-frugality</link>
      <category>Programming</category>
      <category>ruby</category>
      <category>rails</category>
      <category>ajax</category>
      <category>rjs</category>
      <category>templates</category>
      <category>code</category>
      <category>fauser</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/6</trackback:ping>
    </item>
    <item>
      <title>The Youth Of Today</title>
      <description>&lt;p&gt;
As someone who is probably still considered a &lt;i&gt;youth&lt;/i&gt; by most of the general public (26), or at least I can fool myself into thinking that until I hit 30, I can't help but wonder what the current state of the programming world is doing to the kids just coming up in the world.
&lt;/p&gt;

&lt;p&gt;
I'll probably receive some email from someone stating since I've never worked with punch cards I have no idea what I'm talking about, but I'll ignore that for now. In the &lt;a href="http://en.wikipedia.org/wiki/1980s"&gt;good'ole days&lt;/a&gt; there were no fancy IDE's and there certainly wasn't any fancy programming concepts like &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;agile development processes&lt;/a&gt; or &lt;a href="http://media.g4tv.com/images/imagedb2/327/32734_M.jpg" rel="lightbox[extreme]"&gt;extreme&lt;/a&gt;&lt;a href="http://en.wikipedia.org/wiki/Extreme_programming"&gt; programming&lt;/a&gt;(whether or not I buy into these is another issue). I'm a strong believer that this type of environment fostered some very valuable skills.
&lt;/p&gt;

&lt;p&gt;
Now don't get me wrong, I work with an IDE and it does save me a bunch of time, but the time I put in with a text editor and a command line taught me more than I can imagine. Failure is the best teacher, and if we're not allowed to fail because our IDE picks it up right away, or we have someone sitting behind us watching every character we type how much are we really learning? Is this process efficient? Of course is isn't, but the time spent struggling with a stupid problem will pay of later when you're getting paid to work and you avoid that problem all together. So am I suggesting that people just starting out programming should avoid automated tools all together? Well, yes, until you're getting paid the process is more important than the end result, allow yourself to fail.
&lt;p&gt;

&lt;p&gt;
I had a &lt;a href="http://www.humandoing.net/"&gt;friend&lt;/a&gt; (sorry Dan) who I started my first job with who literally spent about 3 hours trying to debug the following piece of code (simplified in Java for presentation purposes):
&lt;p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_java "&gt;&lt;notextile&gt;	while(expression.is_valid() &amp;amp;&amp;amp; null != name); {
		Log.info( &amp;quot;Why doesn't this work&amp;quot; );
	}&lt;/notextile&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;
The astute (or even half-asleep) reader will see the extra semicolon and pick up why the log statement was never reached. But the time spent solving this problem taught him a valuable lesson that wouldn't of been learned had he been doing this in today's modern IDEs.
&lt;/p&gt;

&lt;p&gt;
That's my message for the younger generation. Give a man an automation tools and you'll feed him for a day, teach a man how to write automation tools and you'll feed him for life. And with all that said I'll leave you with some humorous images of todays generation (my wife is a teacher):
&lt;/p&gt;
&lt;br&gt;
&lt;div class="thumbnail"&gt;
  &lt;a href="/files/math1.jpg" rel="lightbox[math]"&gt;&lt;img src="/files/math1.jpg" width="100" height="100" /&gt;&lt;/a&gt;

  &lt;a href="/files/math2.gif" rel="lightbox[math]"&gt;&lt;img src="/files/math2.gif" width="100" height="100" /&gt;&lt;/a&gt;

  &lt;a href="/files/math3.jpg" rel="lightbox[math]"&gt;&lt;img src="/files/math3.jpg" width="100" height="100" /&gt;&lt;/a&gt;

  &lt;a href="/files/math4.gif" rel="lightbox[math]"&gt;&lt;img src="/files/math4.gif" width="100" height="100" /&gt;&lt;/a&gt;

  &lt;a href="/files/math5.jpg" rel="lightbox[math]"&gt;&lt;img src="/files/math5.jpg" width="100" height="100" /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</description>
      <pubDate>Fri, 11 Aug 2006 08:20:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:98d9d99b-edd4-4612-82d4-95cae890f97d</guid>
      <author>chris@shorrockin.com (Chris Shorrock)</author>
      <link>http://www.shorrockin.com/articles/2006/08/11/the-youth-of-today</link>
      <category>Programming</category>
      <category>programming</category>
      <category>humandoing</category>
      <category>youth</category>
      <category>agile</category>
      <category>extreme</category>
      <category>automation</category>
      <trackback:ping>http://www.shorrockin.com/articles/trackback/5</trackback:ping>
    </item>
  </channel>
</rss>
