<?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; Programming</title>
	<atom:link href="http://bretthutley.com/category/programming/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>Hacking the EZ430 Chronos Watch on the Mac</title>
		<link>http://bretthutley.com/2012/01/23/hacking-the-ez430-chronos-watch-on-the-mac/</link>
		<comments>http://bretthutley.com/2012/01/23/hacking-the-ez430-chronos-watch-on-the-mac/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 21:15:08 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Chronos EZ430]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[Mac OS/X]]></category>
		<category><![CDATA[Programmable Watch]]></category>
		<category><![CDATA[Texas Instruments]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">https://bretthutley.com/?p=438</guid>
		<description><![CDATA[Today my TI EZ430 Chronos Watch arrived, and I spent a little bit of time hacking it on my MacBook Air. It turns out that even though the documentation seems to require either a Windows machine or a Linux box, you can communicate with the watch from the Mac by modifying the serial port information [...]


Related posts:<ol><li><a href='http://bretthutley.com/2011/02/08/evernote-to-dropbox/' rel='bookmark' title='Evernote to Dropbox'>Evernote to Dropbox</a></li>
<li><a href='http://bretthutley.com/2011/02/25/ledger-to-ofx/' rel='bookmark' title='Ledger to OFX'>Ledger to OFX</a></li>
<li><a href='http://bretthutley.com/linux-on-my-17-g4-powerbook/' rel='bookmark' title='Linux on my 17&#8243; G4 PowerBook'>Linux on my 17&#8243; G4 PowerBook</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Today my <a href="http://processors.wiki.ti.com/index.php/EZ430-Chronos">TI EZ430 Chronos Watch</a> arrived, and I spent a little bit of time hacking it on my MacBook Air. It turns out that even though the documentation seems to require either a Windows machine or a Linux box, you can communicate with the watch from the Mac by modifying the serial port information in the TCL source. I learnt this from a Google Groups post, and I've copied <a href="https://github.com/bhutley/Chronos-Control-Center">the modified TCL source onto my Github account</a>.</p>
<p><span id="more-438"></span></p>
<p>I then tried compiling the OpenChronos source code to build some custom firmware. In order to build the firmware, I had to install the following Mac Ports:</p>
<ol>
<li>sudo port install msp430-gcc</li>
<li>sudo port install msp430-binutils (actually is probably installed with msp430-gcc)</li>
<li>sudo port install msp430-gdb</li>
<li>sudo port install msp430-libc</li>
</ol>
<p>I then did a <code>msp430-gcc -print-search-dirs</code> to find out where msp430-gcc include files were. For me they install to the /opt/local/msp430/include/ directory. Following the Readme for OpenChronos, I did a <code>sudo cp gcc/intrinsics.h /opt/local/msp430/include/</code>.</p>
<p>When I tried compiling OpenChronos, the build failed with lots of warnings and quite a few errors. This is because OpenChronos was  built using the older msp430-gcc4 project. I fixed the compiler warnings/errors and built an image. I copied the generated build/eZChronos.txt file over to my Chronos-Control-Center directory, and uploaded the image to my watch. Everything seemed to work OK, and the watch is currently running my newly compiled custom firmware!</p>
<p>My <a href="https://github.com/bhutley/Chronos-Control-Center">modified OpenChronos source is available from GitHub</a>.</p>


<p>Related posts:<ol><li><a href='http://bretthutley.com/2011/02/08/evernote-to-dropbox/' rel='bookmark' title='Evernote to Dropbox'>Evernote to Dropbox</a></li>
<li><a href='http://bretthutley.com/2011/02/25/ledger-to-ofx/' rel='bookmark' title='Ledger to OFX'>Ledger to OFX</a></li>
<li><a href='http://bretthutley.com/linux-on-my-17-g4-powerbook/' rel='bookmark' title='Linux on my 17&#8243; G4 PowerBook'>Linux on my 17&#8243; G4 PowerBook</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2012/01/23/hacking-the-ez430-chronos-watch-on-the-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>IMAP4 and Python</title>
		<link>http://bretthutley.com/2011/11/30/imap4-and-python/</link>
		<comments>http://bretthutley.com/2011/11/30/imap4-and-python/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 13:46:59 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[IMAP]]></category>
		<category><![CDATA[IMAP4]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">https://bretthutley.com/?p=402</guid>
		<description><![CDATA[Python's IMAPv4 client library imaplib is a really light-weight wrapper over the IMAP4 protocol. As such, it isn't that intuitive to use. The best reference I've found on it is a cheat-sheet over here. Basic usage is to create a IMAP connection object, using the imaplib.IMAP4() or imaplib.IMAP4_SSL() functions. Login to the server. You then [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Python's IMAPv4 client library imaplib is a really light-weight wrapper over the IMAP4 protocol. As such, it isn't that intuitive to use. The best reference I've found on it is <a href="http://www.travelingfrontiers.com/projects/doku.php?id=imapv4_protocol">a cheat-sheet over here</a>.</p>
<p><span id="more-402"></span></p>
<p>Basic usage is to create a IMAP connection object, using the <code>imaplib.IMAP4()</code> or <code>imaplib.IMAP4_SSL()</code> functions. Login to the server. You then <code>select()</code> a mailbox and <code>search()</code> within it to retrieve messages. If the search was successful, it will return a tuple with the first element being "OK", and the second element is an array with the first item being a list of matching message identifiers. Each identifier can be passed to the <code>fetch()</code> command.</p>
<p>Search queries look like <code>'(FROM "person@server.com) (SUBJECT "Coolio")'</code>. You can also use <code>ALL</code>, <code>OR</code>, and <code>NOT</code> operators.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2011/11/30/imap4-and-python/feed/</wfw:commentRss>
		<slash:comments>3</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>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>Ledger to OFX</title>
		<link>http://bretthutley.com/2011/02/25/ledger-to-ofx/</link>
		<comments>http://bretthutley.com/2011/02/25/ledger-to-ofx/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 14:55:25 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Useful]]></category>

		<guid isPermaLink="false">http://www.bretthutley.com/?p=322</guid>
		<description><![CDATA[I keep my finances in J Wiegley's Ledger format, which means everything is in a flat text file, for easy editing. I recently decided to use Xero.com for both my company and personal accounts. Unfortunately, this means that I somehow needed to upload all my past transaction data. So I wrote a Python script to [...]


Related posts:<ol><li><a href='http://bretthutley.com/2011/02/08/evernote-to-dropbox/' rel='bookmark' title='Evernote to Dropbox'>Evernote to Dropbox</a></li>
<li><a href='http://bretthutley.com/2012/01/23/hacking-the-ez430-chronos-watch-on-the-mac/' rel='bookmark' title='Hacking the EZ430 Chronos Watch on the Mac'>Hacking the EZ430 Chronos Watch on the Mac</a></li>
<li><a href='http://bretthutley.com/2009/09/04/convert-wma-files-to-mp3/' rel='bookmark' title='Converting WMA files to MP3'>Converting WMA files to MP3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I keep my finances in <a href="https://github.com/jwiegley/ledger/wiki/">J Wiegley's Ledger</a> format, which means everything is in a flat text file, for easy editing. I recently decided to use <a href="http://www.xero.com">Xero.com</a> for both my company and personal accounts. Unfortunately, this means that I somehow needed to upload all my past transaction data. So I wrote a Python script to convert Ledger format account files to OFX. You can grab a copy of the source code <a href="https://github.com/bhutley/ledger-to-ofx">over at GitHub</a>.</p>


<p>Related posts:<ol><li><a href='http://bretthutley.com/2011/02/08/evernote-to-dropbox/' rel='bookmark' title='Evernote to Dropbox'>Evernote to Dropbox</a></li>
<li><a href='http://bretthutley.com/2012/01/23/hacking-the-ez430-chronos-watch-on-the-mac/' rel='bookmark' title='Hacking the EZ430 Chronos Watch on the Mac'>Hacking the EZ430 Chronos Watch on the Mac</a></li>
<li><a href='http://bretthutley.com/2009/09/04/convert-wma-files-to-mp3/' rel='bookmark' title='Converting WMA files to MP3'>Converting WMA files to MP3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2011/02/25/ledger-to-ofx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evernote to Dropbox</title>
		<link>http://bretthutley.com/2011/02/08/evernote-to-dropbox/</link>
		<comments>http://bretthutley.com/2011/02/08/evernote-to-dropbox/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 14:12:38 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Useful]]></category>

		<guid isPermaLink="false">http://www.bretthutley.com/?p=317</guid>
		<description><![CDATA[I've just started using Evernote to make a note of things I find interesting on the web and to capture ideas or random thoughts. So far I love it! What I wanted was an easy way to extract the notes and save them to my filesystem, where they become much more useful. Specifically I want [...]


Related posts:<ol><li><a href='http://bretthutley.com/2012/01/23/hacking-the-ez430-chronos-watch-on-the-mac/' rel='bookmark' title='Hacking the EZ430 Chronos Watch on the Mac'>Hacking the EZ430 Chronos Watch on the Mac</a></li>
<li><a href='http://bretthutley.com/2011/02/25/ledger-to-ofx/' rel='bookmark' title='Ledger to OFX'>Ledger to OFX</a></li>
<li><a href='http://bretthutley.com/2011/11/05/blogging-process/' rel='bookmark' title='Blogging Process'>Blogging Process</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I've just started using <a href="http://www.evernote.com/">Evernote</a> to make a note of things I find interesting on the web and to capture ideas or random thoughts. So far I love it!<br/><br />
What I wanted was an easy way to extract the notes and save them to my filesystem, where they become much more useful. Specifically I want to save the notes as text files to a place in my Dropbox repository, so they get synced across all my devices, and are backed up.</p>
<p><span id="more-317"></span></p>
<p>After a bit of googling I found kjk's script evernote-to-file.py over at <a href="https://github.com/kjk/web-blog">Github</a>. A little bit of Pythonic bastardisation later, and I modified the script to extract the notes to a directory, creating directory names that match the notebook names in Evernote. I also updated the script a bit, as it didn't work with my version of Evernote.</p>
<p>I have uploaded the source code to <a href="https://github.com/bhutley/evernote-save">my repository at Github</a>, so it is available for general use.</p>
<p>It works OK at the moment, but future plans would be to track the notes by ID in an index file, and so if I move the notes around in Evernote, I can make the corresponding changes on my local filesystem.</p>


<p>Related posts:<ol><li><a href='http://bretthutley.com/2012/01/23/hacking-the-ez430-chronos-watch-on-the-mac/' rel='bookmark' title='Hacking the EZ430 Chronos Watch on the Mac'>Hacking the EZ430 Chronos Watch on the Mac</a></li>
<li><a href='http://bretthutley.com/2011/02/25/ledger-to-ofx/' rel='bookmark' title='Ledger to OFX'>Ledger to OFX</a></li>
<li><a href='http://bretthutley.com/2011/11/05/blogging-process/' rel='bookmark' title='Blogging Process'>Blogging Process</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bretthutley.com/2011/02/08/evernote-to-dropbox/feed/</wfw:commentRss>
		<slash:comments>2</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>

