<?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>EdwinStearns.com &#187; Programming</title>
	<atom:link href="http://www.edwinstearns.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.edwinstearns.com</link>
	<description>Edwin's notes on Aikido, programming and what I'm reading.</description>
	<lastBuildDate>Fri, 03 Sep 2010 00:52:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Static content managers</title>
		<link>http://www.edwinstearns.com/2010/01/25/static-content-managers/</link>
		<comments>http://www.edwinstearns.com/2010/01/25/static-content-managers/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 15:19:21 +0000</pubDate>
		<dc:creator>Edwin Stearns</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.edwinstearns.com/?p=74</guid>
		<description><![CDATA[WordPress is the right tool for this personal blogging site because it allows me to focus on content without worrying about HTML or formatting. The downside is that there is some security risk because it is dynamic. This is a trade-off to allow readers to post comments. For the dojo website I want the advantages [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress is the right tool for this personal blogging site because it allows me to focus on content without worrying about HTML or formatting. The downside is that there is some security risk because it is dynamic. This is a trade-off to allow readers to post comments.</p>

<p>For the dojo website I want the advantages of quickly editing content that I get from WordPress without the security risks of a dynamic content manager. Currently I have to edit the HTML to make any changes, like up-coming events, dues changes and schedule changes. My first idea was to create makefiles that would build the website from <a href="http://daringfireball.net/projects/markdown/">markdown</a> content and sync to the FTP server with a quick command, just like posting on this blog. My knowledge of HTML is low, so I quickly learned that there were many issues that I would have to resolve to get this going. Wouldn&#8217;t it be simpler to use existing static content manager software to solve this problem?</p>

<p>My criteria for the content manager was that it would create a static website (no logging in to the server except to transfer the files), Markdown format for content and that the site would look exactly the same as it does now (Tom Carter did a great job on the design and I don&#8217;t want to change that now). After some searching, I narrowed down to three options: <a href="http://nanoc.stoneship.org/">nanoc</a>, <a href="http://webgen.rubyforge.org/">webgen</a> and <a href="http://webby.rubyforge.org/">webby</a>. All three used Markdown and Ruby for code. Ruby is my favorite scripting language (for purely aesthetic reasons), but I almost never have a need to use it in my work, so I liked the idea of using it for something practical.</p>

<p>I started with <a href="http://nanoc.stoneship.org/">nanoc</a>, but found that it didn&#8217;t handle images. This was a deal breaker because so much of the formatting depended on images; so I moved on to <a href="http://webgen.rubyforge.org/">webgen</a>, which never ran correctly on my Macbook Pro (probably because of <em>Snow Leopard</em>). When trying to build a default website, webgen would get caught in an infinite loop. These systems load with the easy to use rubygems interface, but it is time consuming to get each one going and find the problems and I was beginning to feel discouraged.</p>

<p>So I tried <a href="http://webby.rubyforge.org/">Webby</a>. For some reason that I don&#8217;t remember, this seemed the least attractive of the options based on their web pages, but I have gotten further with this towards my goal than the others. It uses Markdown and ruby and smoothly handles images. I am still some time from replacing the dojo website with this system because of some weirdness in the formatting that webby wasn&#8217;t designed to handle (different pages uses columns differently, no biggie but it would have been easier every page was laid out the same), but I feel that I am on the right path.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edwinstearns.com/2010/01/25/static-content-managers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CardioTrainer</title>
		<link>http://www.edwinstearns.com/2009/08/22/cardiotrainer/</link>
		<comments>http://www.edwinstearns.com/2009/08/22/cardiotrainer/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 16:10:34 +0000</pubDate>
		<dc:creator>Edwin Stearns</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.edwinstearns.com/?p=31</guid>
		<description><![CDATA[When running, I like to use the Android App CardioTrainer on my G1 phone. It keeps track of the distance I&#8217;ve run and the time, but what I really find useful is the &#8220;voice prompt&#8221; feature that uses a synthesized voice every minute that tells me the current distance time and pace of my run. [...]]]></description>
			<content:encoded><![CDATA[<p>When running, I like to use the Android App <a href="http://www.worksmartlabs.com/cardiotrainer/about.php">CardioTrainer</a> on my G1 phone.  It keeps track of the distance I&#8217;ve run and the time, but what I really find useful is the &#8220;voice prompt&#8221; feature that uses a synthesized voice every minute that tells me the current distance time and pace of my run. This feature makes it easy to follow the clock so that I can change from running and walking at the right time.</p>

<p>The app also has music integration so that I can listen while I run. This feature works less well, but it seems to be a shortcoming of the phone hardware rather than the app. When the app is running (querying the GPS for my position every second, playing the voice prompts etc.) the music sometimes breaks up. This state will sometimes persist for as long as 20 seconds and is very annoying. It seems that there isn&#8217;t enough CPU to do everything at once. This problem exists whether I&#8217;m using the apps built in music integration, or playing music in the background. It&#8217;s possible that they will make the app efficient with future updates, but there is a limit to what they can accomplish.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edwinstearns.com/2009/08/22/cardiotrainer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCP without passwords</title>
		<link>http://www.edwinstearns.com/2009/06/10/scp-without-passwords/</link>
		<comments>http://www.edwinstearns.com/2009/06/10/scp-without-passwords/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 13:28:03 +0000</pubDate>
		<dc:creator>Edwin Stearns</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.edwinstearns.com/?p=16</guid>
		<description><![CDATA[In embedded development, there is the problem that after you build the code on your host PC, you have to load onto the target. My normal solution for this is to create an NFS mount to a folder on the host that contains the binaries and the necessary auxiliary files. I was motivated to load [...]]]></description>
			<content:encoded><![CDATA[<p>In embedded development, there is the problem that after you build the
code on  your host PC, you have to load onto the target.  My normal
solution for this is to create an NFS mount to a folder on the
host that contains the binaries and the necessary auxiliary files.  I
was motivated to load the files via scp, but I prefer to automate my
development cycle as much as possible.  This means calling <code>scp</code> from
the makefile, which means calling it without a password.  I knew it
was possible to set up a system that allowed this, so I turned to
Google.</p>

<p>I searched for &#8220;scp in scripts&#8221;.  The first <a href="http://www.linuxjournal.com/node/8600/print" title="Pass on Passwords with scp">link</a> seemed very
authoritative and gave instructions that used <code>ssh-keygen</code> to create a
public RSA key to put in the host&#8217;s <code>~\.ssh\authorized_keys</code> file.
Possibly because the target is using Dropbear for <code>ssh</code>, these
instructions didn&#8217;t work and I spent a significant amount of time
trying to debug the system.</p>

<p>A co-worker that I had dragged into the problem gave me a different
solution that did work.  When I asked him where he found his solution,
he said &#8220;Google&#8221;.  To my frustration, his <a href="http://www.hostingrails.com/wiki/27/HowTo-SSHSCP-without-a-password" title="HowTo SSH/SCP without a password.">link</a> was the first link
for him on the search &#8220;scp without password&#8221;.  This illustrates the
principle that you should always ask Google for exactly what you
want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edwinstearns.com/2009/06/10/scp-without-passwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
