<?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>Brett Hutley&#039;s Blog &#187; coding</title>
	<atom:link href="http://bretthutley.com/tag/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://bretthutley.com</link>
	<description>Home on the Digital Range</description>
	<lastBuildDate>Mon, 23 Jan 2012 21:21:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Developers as Capital</title>
		<link>http://bretthutley.com/2011/12/06/developers-as-capital/</link>
		<comments>http://bretthutley.com/2011/12/06/developers-as-capital/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 14:43:01 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[Interesting]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[trends]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Crunch Time]]></category>
		<category><![CDATA[global inequity]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">https://bretthutley.com/?p=414</guid>
		<description><![CDATA[I've just been reading this Forbes article called "The Rise of Developeronomics". The author argues that because increasingly software is the core value proposition that differentiates companies from each other, that software developers are more and more becoming the wealth creators in society. The author recommends investing in software developers as a way of leveraging [...]


Related posts:<ol><li><a href='http://bretthutley.com/2011/11/06/race-against-the-machine/' rel='bookmark' title='Race Against The Machine'>Race Against The Machine</a></li>
<li><a href='http://bretthutley.com/2011/11/04/written-by-robot/' rel='bookmark' title='Written by Robot'>Written by Robot</a></li>
<li><a href='http://bretthutley.com/2011/11/07/were-the-luddites-right/' rel='bookmark' title='Were the Luddites Right?'>Were the Luddites Right?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I've just been reading this Forbes article called <a href="http://www.forbes.com/sites/venkateshrao/2011/12/05/the-rise-of-developeronomics/">"The Rise of Developeronomics"</a>. The author argues that because increasingly software is the core value proposition that differentiates companies from each other, that software developers are more and more becoming the wealth creators in society. The author recommends investing in software developers as a way of leveraging your own capital. This article builds on an earlier article by David Kirpatick called <a href="http://www.forbes.com/sites/techonomy/2011/11/30/now-every-company-is-a-software-company/">"Now Every Company is a Software Company"</a>.</p>
<p><span id="more-414"></span></p>
<p>The article is making the point that programmers are becoming a core economic factor for successful companies, so much so that large companies are buying smaller companies purely for their programming teams. He points out that companies such as Google nurture young programming talent as a strategic investment.</p>
<p>Of course the message is hugely appealing to me as a software developer. My own opinion is that technology is exponentially increasing the potential "value space" for possible investment. For example, consider the introduction of Facebook. With that particular advance in social networking, it opened up all sorts of opportunities for individuals and companies to promote themselves and establish new kinds of dialogues with their clients. With this advance, a large number of opportunities were created, which in turn leads to more specialised development that wasn't possible before the large-scale take up of social networking. Thereby creating a lot more potential work for a larger number of programmers.</p>
<p>If companies don't keep up with the introduction of new technologies, they run the risk of falling behind their competitors. Not only those competitors who are able to utilise technology to make their workers more productive, but also those competitors that make better use of social networks and internet search to gain new customers and retain older ones, and data modeling and analysis to determine new markets and optimise existing ones. It seems to me that not only are developers the creators of wealth, but we are currently living in a technological arms race.</p>


<p>Related posts:<ol><li><a href='http://bretthutley.com/2011/11/06/race-against-the-machine/' rel='bookmark' title='Race Against The Machine'>Race Against The Machine</a></li>
<li><a href='http://bretthutley.com/2011/11/04/written-by-robot/' rel='bookmark' title='Written by Robot'>Written by Robot</a></li>
<li><a href='http://bretthutley.com/2011/11/07/were-the-luddites-right/' rel='bookmark' title='Were the Luddites Right?'>Were the Luddites Right?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2011/12/06/developers-as-capital/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kanban</title>
		<link>http://bretthutley.com/2011/11/09/kanban/</link>
		<comments>http://bretthutley.com/2011/11/09/kanban/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 13:08:53 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">https://bretthutley.com/?p=381</guid>
		<description><![CDATA[I was browsing a list of tools and services for a lean startup a couple of days ago, when I noticed that many of tools implement a Kanban methodology. I had never heard of Kanban, so I took a quite trip over to Wikipedia. "Kanban is a method for developing products with an emphasis on [...]


Related posts:<ol><li><a href='http://bretthutley.com/2011/11/21/emacs-and-kanban/' rel='bookmark' title='Emacs and Kanban'>Emacs and Kanban</a></li>
<li><a href='http://bretthutley.com/2009/08/26/testing-when-developing-software/' rel='bookmark' title='Testing when developing software'>Testing when developing software</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I was browsing a list of <a href="http://list.ly/list/9E-tools-and-services-for-a-lean-startup">tools and services for a lean startup</a> a couple of days ago, when I noticed that many of tools implement a Kanban methodology. I had never heard of Kanban, so I took a quite trip <a href="http://en.wikipedia.org/wiki/Kanban_(development)">over to Wikipedia</a>.</p>
<p><span id="more-381"></span></p>
<p>"Kanban is a method for developing products with an emphasis on just-in-time delivery while not overloading the developers". Hmmmm, that sounds good. Upon further reading, I realised that this is the methodology that the <a href="http://trello.com/">introductary video at Trello</a> was aimed towards. I have been playing around with Trello for a couple of weeks, but hadn't really got my head around how best to apply it.</p>
<p>My curiosity was piqued, so I went and bought one of the seminal books on applying Kanban to the agile software development process - <a href="http://www.amazon.co.uk/gp/product/B0057H2M70/ref=as_li_ss_tl?ie=UTF8&tag=quan-21&linkCode=as2&camp=1634&creative=19450&creativeASIN=B0057H2M70">Kanban, by David Anderson</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=quan-21&l=as2&o=2&a=B0057H2M70" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.</p>
<p>In the book, David talks about applying 5 principles to the software development process:</p>
<ol>
<li>
<p><em>Visualize the workflow</em>. This is the benefit that Trello brings to the process.</p>
</li>
<li>
<p><em>Limit Work in Progress</em>. This means that work is "pulled" from another part of the workflow, when it is needed.</p>
</li>
<li>
<p><em>Manage Flow</em>. The flow of work through the system needs to be quantitatively analysed.</p>
</li>
<li>
<p><em>Make Process Policies Explicit</em>.</p>
</li>
<li>
<p><em>Improve Collaboratively</em>.</p>
</li>
</ol>
<p>It's definitely a methodology I'll be trying to apply to my own startups.</p>
<p><iframe src="http://rcm-uk.amazon.co.uk/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=quan-21&o=2&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B0057H2M70" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>


<p>Related posts:<ol><li><a href='http://bretthutley.com/2011/11/21/emacs-and-kanban/' rel='bookmark' title='Emacs and Kanban'>Emacs and Kanban</a></li>
<li><a href='http://bretthutley.com/2009/08/26/testing-when-developing-software/' rel='bookmark' title='Testing when developing software'>Testing when developing software</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2011/11/09/kanban/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Written by Robot</title>
		<link>http://bretthutley.com/2011/11/04/written-by-robot/</link>
		<comments>http://bretthutley.com/2011/11/04/written-by-robot/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 13:58:01 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Interesting]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[singularity]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://bretthutley.com/?p=361</guid>
		<description><![CDATA[I've just read two blog posts on creating written content programatically. The first was the article How I automated my writing career by Robbie Allen. This article gives a brief description of how the author's company generates web-site content automatically using the quantitative analysis of data. The second blog post is about generating a Monty [...]


Related posts:<ol><li><a href='http://bretthutley.com/2011/11/30/imap4-and-python/' rel='bookmark' title='IMAP4 and Python'>IMAP4 and Python</a></li>
<li><a href='http://bretthutley.com/2011/11/05/blogging-process/' rel='bookmark' title='Blogging Process'>Blogging Process</a></li>
<li><a href='http://bretthutley.com/2011/11/03/rage-against-the-machin/' rel='bookmark' title='Rage against the machine'>Rage against the machine</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I've just read two blog posts on creating written content programatically. The first was the article <a href="http://radar.oreilly.com/2011/11/automated-writing-software.html">How I automated my writing career</a> by Robbie Allen. This article gives a brief description of how the author's company generates web-site content automatically using the quantitative analysis of data.</p>
<p><span id="more-361"></span></p>
<p>The second blog post is about <a href="http://importthis.tumblr.com/post/11953152233/generate-a-monty-python-parody">generating a Monty Python parody</a> using markov chains. Even though the code is very simple, it generates very convincing nonsense!</p>
<p>How long will it be before the prose in our stories, the plots on our TV series, the lyrics in our songs are all machine generated?</p>


<p>Related posts:<ol><li><a href='http://bretthutley.com/2011/11/30/imap4-and-python/' rel='bookmark' title='IMAP4 and Python'>IMAP4 and Python</a></li>
<li><a href='http://bretthutley.com/2011/11/05/blogging-process/' rel='bookmark' title='Blogging Process'>Blogging Process</a></li>
<li><a href='http://bretthutley.com/2011/11/03/rage-against-the-machin/' rel='bookmark' title='Rage against the machine'>Rage against the machine</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2011/11/04/written-by-robot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not a programmer!</title>
		<link>http://bretthutley.com/2011/10/31/not-a-programmer/</link>
		<comments>http://bretthutley.com/2011/10/31/not-a-programmer/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 13:42:57 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[career advice]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[employment]]></category>
		<category><![CDATA[wisdom]]></category>

		<guid isPermaLink="false">http://bretthutley.com/?p=342</guid>
		<description><![CDATA[I read the post "Don’t Call Yourself A Programmer, And Other Career Advice" on the weekend. It is mostly aimed at permanent employees at companies, although I thought there were some useful takeaways for contractors as well. Below is my summary of the points that resonated with me: Engineers are hired to create value for [...]


Related posts:<ol><li><a href='http://bretthutley.com/2011/12/02/negotiation/' rel='bookmark' title='Negotiation'>Negotiation</a></li>
<li><a href='http://bretthutley.com/2011/11/09/kanban/' rel='bookmark' title='Kanban'>Kanban</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I read the post <a href="http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/">"Don’t Call Yourself A Programmer, And Other Career Advice"</a> on the weekend. It is mostly aimed at permanent employees at companies, although I thought there were some useful takeaways for contractors as well.</p>
<p>Below is my summary of the points that resonated with me:</p>
<p><span id="more-342"></span></p>
<ul>
<li>Engineers are hired to create value for the company, not to write programs. There is big demand for jobs that add value to an organisation, but aren't that interesting. The programs are a means to an end - the end being doing something that reduces costs, or doing something that increases profits. So your only goals are to add revenue and/or reduce costs.</li>
<li>It's better to work for a Profit Centre rather than a Cost Centre.</li>
<li>Language isn't too important;  A good programmer can pick up a new language fairly quickly. In my experience, if you work as a contractor you will mostly need to have at least 6 months of demonstrable experience at the particular language your client is using to get the job.</li>
<li>Networking is important, as most jobs are given to people as a result of networking, rather than a cold job application. A good agent will help to mitigate this.</li>
<li>Study negotiation! "It is a little disconcerting that negotiation skills are worth thousands of dollars per year for your entire career but engineers think that directed effort to study them is crazy when that could be applied to trivialities about a technology that briefly caught their fancy."</li>
<li>The most important professional skill is communication. This means being able to communicate effectively in memos, emails, conversations, meetings, and presentations.</li>
</ul>


<p>Related posts:<ol><li><a href='http://bretthutley.com/2011/12/02/negotiation/' rel='bookmark' title='Negotiation'>Negotiation</a></li>
<li><a href='http://bretthutley.com/2011/11/09/kanban/' rel='bookmark' title='Kanban'>Kanban</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2011/10/31/not-a-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emacs and Ruby on Rails</title>
		<link>http://bretthutley.com/2009/11/17/emacs-and-rails/</link>
		<comments>http://bretthutley.com/2009/11/17/emacs-and-rails/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 17:17:19 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.bretthutley.com/?p=228</guid>
		<description><![CDATA[There is an Emacs mode for working with Ruby on Rails (of course). The main project page can be found here. In order to get everything set up, I had to do the following: First download the latest release of the project and extract it into your emacs library directory. I install most of my [...]


Related posts:<ol><li><a href='http://bretthutley.com/programming/emacs/integrating-emacs-and-xcode/' rel='bookmark' title='Integrating Emacs and XCode'>Integrating Emacs and XCode</a></li>
<li><a href='http://bretthutley.com/2011/11/21/emacs-and-kanban/' rel='bookmark' title='Emacs and Kanban'>Emacs and Kanban</a></li>
<li><a href='http://bretthutley.com/programming/emacs/' rel='bookmark' title='Emacs'>Emacs</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There is an Emacs mode for working with Ruby on Rails (of course). The main project page <a href="http://rubyforge.org/projects/emacs-rails/">can be found here</a>. In order to get everything set up, I had to do the following:</p>
<p><span id="more-228"></span></p>
<ol>
<li>First download the latest release of the project and extract it into your emacs library directory. I install most of my extensions into a directory of my $HOME called "~/my/cfg/emacs". This creates a subdirectory called "emacs-rails".</li>
<li>I then added the following lines to the end of my .emacs file:
<pre class="lisp">
(setq load-path (cons
                            (expand-file-name "~/my/cfg/emacs/emacs-rails")
                            load-path))
(require 'rails)
</pre>
</li>
<li>The package depends on the emacs lisp files in the ruby distribution's "misc" directory. If you don't have them, grab a copy of the ruby tarball, extract, and install them in your emacs library directory.</li>
<li>The package also depends on a emacs function called "find-recursive", which I <a href="http://www.webweavertech.com/ovidiu/emacs/find-recursive.txt">grabbed from here</a>.</li>
</ol>
<p><b><i>EDIT</i></b> - OK, more useful to me at this stage is rhtml-mode which gives me syntax hi-lighting for rhtml files and can be <a href="http://github.com/eschulte/rhtml">downloaded here</a>. Also apparently <a href="http://rinari.rubyforge.org">rinari</a> is the successor to emacs-rails.</p>


<p>Related posts:<ol><li><a href='http://bretthutley.com/programming/emacs/integrating-emacs-and-xcode/' rel='bookmark' title='Integrating Emacs and XCode'>Integrating Emacs and XCode</a></li>
<li><a href='http://bretthutley.com/2011/11/21/emacs-and-kanban/' rel='bookmark' title='Emacs and Kanban'>Emacs and Kanban</a></li>
<li><a href='http://bretthutley.com/programming/emacs/' rel='bookmark' title='Emacs'>Emacs</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2009/11/17/emacs-and-rails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Testing when developing software</title>
		<link>http://bretthutley.com/2009/08/26/testing-when-developing-software/</link>
		<comments>http://bretthutley.com/2009/08/26/testing-when-developing-software/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 10:25:44 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.bretthutley.com/?p=189</guid>
		<description><![CDATA[Alecco Locco has summarized the SQLite presentation entitled A Lesson In Low-Defect Software at this URL: SQLite: A Lesson In Low-Defect Software. Now, I'm a big fan of SQLite, and this summary has pointed out a few things that I need to improve in my own development process - namely, more comments (apparently SQLite has [...]


Related posts:<ol><li><a href='http://bretthutley.com/2011/11/04/written-by-robot/' rel='bookmark' title='Written by Robot'>Written by Robot</a></li>
<li><a href='http://bretthutley.com/2011/11/09/kanban/' rel='bookmark' title='Kanban'>Kanban</a></li>
<li><a href='http://bretthutley.com/2009/11/13/evaluating-bio-techs/' rel='bookmark' title='Evaluating Bio-Techs'>Evaluating Bio-Techs</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Alecco Locco has summarized the SQLite presentation entitled <a href="http://www.sqlite.org/talks/wroclaw-20090310.pdf">A Lesson In Low-Defect Software</a> at this URL: <a href="http://aleccolocco.blogspot.com/2009/08/sqlite-lesson-in-low-defect-software.html">SQLite: A Lesson In Low-Defect Software</a>. Now, I'm a big fan of SQLite, and this summary has pointed out a few things that I need to improve in my own development process - namely, more comments (apparently SQLite has a comment:code ratio of 2:1), and automated full coverage testing.</p>


<p>Related posts:<ol><li><a href='http://bretthutley.com/2011/11/04/written-by-robot/' rel='bookmark' title='Written by Robot'>Written by Robot</a></li>
<li><a href='http://bretthutley.com/2011/11/09/kanban/' rel='bookmark' title='Kanban'>Kanban</a></li>
<li><a href='http://bretthutley.com/2009/11/13/evaluating-bio-techs/' rel='bookmark' title='Evaluating Bio-Techs'>Evaluating Bio-Techs</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2009/08/26/testing-when-developing-software/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

