<?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/"
	>

<channel>
	<title>Behind the Scenes at Global-Roam &#187; Todd Bowles</title>
	<atom:link href="http://blog.global-roam.com/index.php/author/todd/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.global-roam.com</link>
	<description>Lessons we're learning about business, life &#38; art in our software development company</description>
	<pubDate>Sun, 25 Mar 2012 11:29:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Book Review: Design Patterns, Elements of Reusable Object-Oriented Software</title>
		<link>http://blog.global-roam.com/index.php/2009/11/book-review-design-patterns-elements-of-reusable-object-oriented-software/</link>
		<comments>http://blog.global-roam.com/index.php/2009/11/book-review-design-patterns-elements-of-reusable-object-oriented-software/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 06:01:15 +0000</pubDate>
		<dc:creator>Todd Bowles</dc:creator>
		
		<category><![CDATA[Book Review]]></category>

		<guid isPermaLink="false">http://blog.global-roam.com/?p=883</guid>
		<description><![CDATA[


Design Patterns are a well known concept in Object-Oriented Design. They are structures that can be used to solved situations commonly encountered in OO design. Of course, being generalised structures, they have to be adapted to your specific situation, but I&#8217;m sure you get the idea. They are similar in concept to patterns as used [...]]]></description>
			<content:encoded><![CDATA[<table style="width: 100%;" border="0">
<tbody>
<tr>
<td valign="top">Design Patterns are a well known concept in Object-Oriented Design. They are structures that can be used to solved situations commonly encountered in OO design. Of course, being generalised structures, they have to be adapted to your specific situation, but I&#8217;m sure you get the idea. They are similar in concept to patterns as used by other crafts.</td>
<td rowspan="3" width="120px"></td>
</tr>
<tr>
<td>This book lists a number of patterns as documented by the authors, as well as a detailed explanation of each, applications for the pattern, examples where the pattern may be used (and other examples where the pattern is actually used in production software) and relationships with other patterns.</td>
</tr>
</tbody>
</table>
<p><span id="more-883"></span></p>
<table style="width: 100%;" border="0">
<tbody>
<tr>
<td rowspan="5"><img src="http://i1003.photobucket.com/albums/af157/globalroam/Thumbs_Up.jpg" alt="Thumbs Up!" width="72" height="72" /></td>
</tr>
<tr>
<td width="100px"><strong>Book:</strong></td>
<td>Design Patterns</td>
</tr>
<tr>
<td rowspan="2" width="100px"><strong>Authors:</strong></td>
<td>Erich Gamma, Richard Helm</td>
</tr>
<tr>
<td>Ralph Johnson, John Vlissides</td>
</tr>
<tr>
<td><strong>Binary Review:</strong></td>
<td>1</td>
</tr>
</tbody>
</table>
<p>I&#8217;m still terrible at Book Reviews. So heres some dot points:</p>
<ul>
<li>Its good, you should read it. Pretty hard read though.</li>
<li>I don&#8217;t understand a lot of it, so I&#8217;m going to read it again.</li>
<li>After reading it, I feel like I&#8217;m a better programmer&#8230;but I don&#8217;t exactly know why.</li>
<li>Very very well documented.</li>
<li>Examples mentioned lots of things I don&#8217;t know of (i.e. not familiar with C++, Smalltalk etc). Made reading them a little harder.</li>
</ul>
<p>This is the kind of book, when you&#8217;re reading through it, you find a pattern and you realize &#8220;Oh damn, that would have been handy when I was implementing X a few months ago&#8221; or some similar train of thought. I imagine the more familiar I become with the contents of the book, the more I will have these flashes AS I develop, rather than afterwards (hence why I&#8217;m going to read it again).</p>
<p>The book , being essentially a reference manual, does sort of require multiple readings (to familiarize yourself with all of the patterns and their uses) because it would really become useful. Additionally, it is a very hard read. I might not have gone about it the best way (read it from front to back), but hey, my way or the highway.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.global-roam.com/index.php/2009/11/book-review-design-patterns-elements-of-reusable-object-oriented-software/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Book Review: The Pragmatic Programmer</title>
		<link>http://blog.global-roam.com/index.php/2009/08/book-review-the-pragmatic-programmer/</link>
		<comments>http://blog.global-roam.com/index.php/2009/08/book-review-the-pragmatic-programmer/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 23:45:11 +0000</pubDate>
		<dc:creator>Todd Bowles</dc:creator>
		
		<category><![CDATA[Book Review]]></category>

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

		<guid isPermaLink="false">http://blog.global-roam.com/?p=446</guid>
		<description><![CDATA[



What is a Pragmatic Programmer? A Pragmatic Programmer is one who knows his craft. He&#8217;s failed, and he knows why he failed. He thinks before he acts (as the old adage, measure twice, cut once), and he takes pride in what he does, because what he does is good.







This book teaches you how to be [...]]]></description>
			<content:encoded><![CDATA[<table style="width: 100%;" border="0">
<tbody>
<tr>
<td valign="top">
What is a Pragmatic Programmer? A Pragmatic Programmer is one who knows his craft. He&#8217;s failed, and he knows why he failed. He thinks before he acts (as the old adage, measure twice, cut once), and he takes pride in what he does, because what he does is good.
</td>
<td rowspan=3 width="120px">
<iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=httpwwwglo061-20&#038;o=1&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=10FE9736YVPPT7A0FBG2&#038;asins=020161622X" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
<tr>
<td>
This book teaches you how to be a Pragmatic Programmer. It is straight-forward, easy to read and more importantly, actually efficient at imparting the wisdom of its authors on the reader.
</td>
</tr>
</tbody>
</table>
<p><span id="more-446"></span></p>
<p>&nbsp;</p>
<table style="width: 100%;" border="0">
<tbody>
<tr>
<td rowspan="4"><img src="http://i1003.photobucket.com/albums/af157/globalroam/Thumbs_Up.jpg" alt="Thumbs Up!" width="72" height="72" /></td>
</tr>
<tr>
<td width="100px"><strong>Book:</strong></td>
<td>The Pragmatic Programmer</td>
</tr>
<tr>
<td width="100px"><strong>Authors:</strong></td>
<td>Andrew Hunt, David Thomas</td>
</tr>
<tr>
<td><strong>Binary Review:</strong></td>
<td>1</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>
I&#8217;m terrible at Book Reviews, so I&#8217;m going to keep this brief. Andrew and David distill within this book 2 lifetimes of knowledge on a variety of programming related subjects (writing code, automation, testing and documentation, basically everything you can think of). Handily, they also summarize each of the important points in the point in small, easily digestible tips. I&#8217;m going to mention what I think are the top tips below:
</p>
<ul>
<li>
<p>
<strong>4.) Don&#8217;t Live With Broken Windows</strong>
</p>
<p>
The point of this tip, is that if something is broken, it encourages people to care less. A car can sit untouched and pristine for a long time, but as soon as a window is broken, its stripped and generally raped in a few hours. The broken window is a sign that no-one cares, so its okay to not care as well.
</p>
<p>
Broken, crap, undocumented code encourages other people to produce more of the same. The lesson here, don&#8217;t just leave windows broken, and code covered in shit.
</p>
</li>
<li>
<p>
<strong>11.) DRY - Don&#8217;t Repeat Yourself</strong>
</p>
<p>
Don&#8217;t Repeat Yourself. So I wont.
</p>
</li>
<li>
<p>
<strong>12.) Make It Easy to Reuse</strong>
</p>
<p>
Always write code with possible reuse in mind. If something is specific, abstract it out. The code itself, and its internal structure, should be intended to be used in more that just one place. Never assume that something isn&#8217;t going to have another use later, unless&#8230;&#8230;
</p>
</li>
<li>
<p>
<strong>16.) Prototype to Learn</strong>
</p>
<p>
You prototype! The key point here, and the one we fail at miserably, is that you do NOT continue to develop prototype code. You kick it to the curb. Prototype code is NOT code that should be used, extended or anything of the sort. You prototype to learn a lesson, not to create a code that will be used later on. If you are trying to do that, you should follow the Tracer Bullet approach (where you create code that is of high quality, but limited in its functionality, with the intention to extend it later. You create a solid base to work from).
</p>
</li>
<li>
<p>
<strong>62.) Test Early. Test Often. Test Automatically.</strong>
</p>
<p>
Self explanatory, and yet we still don&#8217;t do it.
</p>
</li>
</ul>
<p>
I&#8217;ll be honest. Theres a lot more of worth in the book than just the points above and I&#8217;m doing the book a disservice by trying to pick the top X points of worth.
</p>
<p>
In summary, if you are programming, and you haven&#8217;t read this book, you&#8217;re probably shit (I know I was before I read it!).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.global-roam.com/index.php/2009/08/book-review-the-pragmatic-programmer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Book Review: Release It! by Michael T. Nygard</title>
		<link>http://blog.global-roam.com/index.php/2009/07/book-review-release-it/</link>
		<comments>http://blog.global-roam.com/index.php/2009/07/book-review-release-it/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 01:57:11 +0000</pubDate>
		<dc:creator>Todd Bowles</dc:creator>
		
		<category><![CDATA[Book Review]]></category>

		<guid isPermaLink="false">http://blog.global-roam.com/?p=132</guid>
		<description><![CDATA[
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Binary Review: 1
Release It! is a great book, if you&#8217;re planning on designing and building software that doesnt suck. It speaks at length about the various patterns and anti-patterns for Stability and Capacity, explaining how to create software that will run successfully in a production environment (you know, [...]]]></description>
			<content:encoded><![CDATA[<div>
<p><a href="http://www.amazon.com/gp/product/0978739213?ie=UTF8&amp;tag=httpwwwglo061-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0978739213">Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=httpwwwglo061-20&amp;l=as2&amp;o=1&amp;a=0978739213" border="0" alt="" width="1" height="1" /></p>
<p><strong>Binary Review: 1</strong></p>
<p>Release It! is a great book, if you&#8217;re planning on designing and building software that doesnt suck. It speaks at length about the various patterns and anti-patterns for Stability and Capacity, explaining how to create software that will run successfully in a production environment (you know, without crashing, burning, dying, being wrong, being stupid, killing your loved ones, etc).</p>
<p>It contains many tidbits of information about potential pitfalls, issues that your average software developer probably wouldnt have thought about (unless of course they had personally run into them bef0re). Of course it also contains ways to minimise the impact of those issues on your software. I wont go into more detail, because a lot of the information in the book is very specific, but I personally learned many lessons from it.</p>
<p>Overall, incredibly useful, recommended reading for anyone whos going to write software. Any software. At all.</p>
<p>PS:</p>
<p>Dont read this book just before you start working on a massive project, because it will terrify you with a giant list of all the ways you can screw up.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.global-roam.com/index.php/2009/07/book-review-release-it/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Book Review: Maverick! by Ricardo Semler</title>
		<link>http://blog.global-roam.com/index.php/2009/07/book-review-maverick-by-ricardo-semler/</link>
		<comments>http://blog.global-roam.com/index.php/2009/07/book-review-maverick-by-ricardo-semler/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 02:37:37 +0000</pubDate>
		<dc:creator>Todd Bowles</dc:creator>
		
		<category><![CDATA[02 - People & Culture]]></category>

		<category><![CDATA[Book Review]]></category>

		<guid isPermaLink="false">http://blog.global-roam.com/?p=115</guid>
		<description><![CDATA[Maverick: The Success Story Behind the World&#8217;s Most Unusual Workplace
Personal Binary Review: 1
Entertaining, easy to read, interesting ideas, storybook format.
Business Binary Review: 0
Lessons more applicable to large manufacturing corporations struggling with outdated organisational structures and ideas, less applicable to younger, more agile organisations not run by dinosaurs masquerading as men.
The basic point of the entire [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/0446670553?ie=UTF8&amp;tag=httpwwwglo061-&lt;br &gt;&lt;/a&gt; 20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0446670553">Maverick: The Success Story Behind the World&#8217;s Most Unusual Workplace</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=httpwwwglo061-20&amp;l=as2&amp;o=1&amp;a=0446670553" border="0" alt="" width="1" height="1" /></p>
<p><strong>Personal Binary Review: 1</strong></p>
<p>Entertaining, easy to read, interesting ideas, storybook format.</p>
<p><strong>Business Binary Review: 0</strong></p>
<p>Lessons more applicable to large manufacturing corporations struggling with outdated organisational structures and ideas, less applicable to younger, more agile organisations not run by dinosaurs masquerading as men.</p>
<p>The basic point of the entire book, is that Semler is a renegade, who implemented the idea of empowering his employees (in Brazil of all places) and actually treating them like people, and it paid off. I know, shocking, right?</p>
<p>Still, some interesting points:</p>
<ul>
<li>Complete transparency to the inner workings of the company, including employee salaries. Everyone knows everything.</li>
<li>People set their own salaries, which allows for voluntary cuts during hard times, and raises and bonuses during good times. System isnt open to manipulation, because everyone knows everything from the point above.</li>
<li>Challenge anything, anywhere, anytime and have people in power who will listen.</li>
</ul>
<p>In summary, interesting, entertaining story but business lessons not really applicable to us.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.global-roam.com/index.php/2009/07/book-review-maverick-by-ricardo-semler/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

