<?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>Dave W. Smith</title>
	<atom:link href="http://www.davewsmith.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.davewsmith.com/blog</link>
	<description>This could all be a lot simpler.</description>
	<lastBuildDate>Sun, 04 Mar 2012 01:58:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Garden Defense</title>
		<link>http://www.davewsmith.com/blog/2012/garden-defense</link>
		<comments>http://www.davewsmith.com/blog/2012/garden-defense#comments</comments>
		<pubDate>Sat, 03 Mar 2012 21:53:14 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[Life Hacks]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=417</guid>
		<description><![CDATA[Slugs and snails are a big challenge for gardeners in my area. Some of last year&#8217;s Basil went down to slimy defeat, even though it was in a raised Earth Box. I&#8217;m trying lettuce and chard this year, which is like hanging out a blinking Neon &#8220;Free Buffet!&#8221; sign. What to do? Investing in Sluggo [...]]]></description>
			<content:encoded><![CDATA[<p>Slugs and snails are a big challenge for gardeners in my area. Some of last year&#8217;s Basil went down to slimy defeat, even though it was in a raised <a href="http://www.earthbox.com/The-Original-EarthBox/products/52/">Earth Box</a>. I&#8217;m trying lettuce and chard this year, which is like hanging out a blinking Neon &#8220;Free Buffet!&#8221; sign. What to do? Investing in Sluggo wasn&#8217;t appealing. Copper is supposed to repel slugs and snails, but wrapping copper tape around an Earth Box seemed like overkill. All you really need to do to keep the slugs and snails out is surround the wheels under the box&#8230;</p>
<p>Looking around the hardware store, I hit on the idea of wrapping copper tape around 4&#8243; PVC drain filters, then setting the Earth Boxes wheels in the filters. (Drain plugs were cheaper, but filters avoid having standing water.)</p>
<p><img src="http://www.davewsmith.com/blog/wp-content/uploads/2012/03/SlugProof1.jpg" alt="" title="Copper tape and PVC drain plugs" width="512" height="333" class="alignnone size-full wp-image-413" /></p>
<p>Construction was trivial. (The alcohol was to wipe down the plugs to give the tape a clean surface to stick to.)</p>
<p><img src="http://www.davewsmith.com/blog/wp-content/uploads/2012/03/SlugProof2.jpg" alt="" title="Constructing the defensive barrier" width="477" height="268" class="alignnone size-full wp-image-415" /></p>
<p>Behold, a well-defended Earth Box!</p>
<p><img src="http://www.davewsmith.com/blog/wp-content/uploads/2012/03/SlugProof3.jpg" alt="" title="A well-defended garden box" width="512" height="302" class="alignnone size-full wp-image-416" /></p>
<p>Total cost: $7.50 per box. It would have cost less (about $4.50 per box) to just wrap each box in one strand of copper tape, but the extra few dollars were worth it for aesthetics and fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2012/garden-defense/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Still Alive</title>
		<link>http://www.davewsmith.com/blog/2011/still-alive</link>
		<comments>http://www.davewsmith.com/blog/2011/still-alive#comments</comments>
		<pubDate>Thu, 29 Dec 2011 06:12:33 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=400</guid>
		<description><![CDATA[Hi. I&#8217;m still here. Been busy. The short version: I took a new job, then we moved. The slightly longer version: I joined Google. After working in narrow, sometimes obscure industries, or on things I couldn&#8217;t talk about, the chance to work on products that touch millions of people was compelling. Building things at Google [...]]]></description>
			<content:encoded><![CDATA[<p>Hi. I&#8217;m still here. Been busy.</p>
<p>The short version: I took a new job, then we moved.</p>
<p>The slightly longer version: I joined Google. After working in narrow, sometimes obscure industries, or on things I couldn&#8217;t talk about, the chance to work on products that touch millions of people was compelling. Building things at Google scale is a bit beyond anything I&#8217;d taking on previously. That meant a lot of new stuff to learn, and a few things to unlearn. Discretionary time took a serious hit; many evenings have been given over to study. Then, partly because we missed living in Mountain View, and partly to get our daughter in to a well-rounded High School, we bought neat little house in Mountain View that needed some work, and camped out in it for several months while our furniture stayed in San Jose to help sell the old house. Now we&#8217;re looking ahead at doing some remodeling. Eeek. And, just as things were finally settling down, I signed on as a mentor for my daughter&#8217;s High School robotics team. The competition season starts in 10 days. Eeek. There goes the next few months. (Months? Maybe longer. We&#8217;ll see.)</p>
<p>Life has been&#8230; disrupted. Mostly in a good way. I don&#8217;t know that that means for this blog. We&#8217;ll see. I&#8217;ve learning a few things along the way. Time permitting, I&#8217;ll write about them.</p>
<p>Onward!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2011/still-alive/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USB ehci_hcd woes</title>
		<link>http://www.davewsmith.com/blog/2011/usb-ehci_hcd-woes</link>
		<comments>http://www.davewsmith.com/blog/2011/usb-ehci_hcd-woes#comments</comments>
		<pubDate>Sat, 02 Apr 2011 20:16:00 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=383</guid>
		<description><![CDATA[Posting to help the next person who runs into this problem and Googles for help. I noticed that several log files in /var/log/ on my T400 running Ubuntu 10.04 were filling up with stuff like ... kernel: ... usb 2-4: new high speed USB device using ehci_hcd and address 17 ... kernel: ... usb 2-4: [...]]]></description>
			<content:encoded><![CDATA[<p>Posting to help the next person who runs into this problem and Googles for help.</p>
<p>I noticed that several log files in <code>/var/log/</code> on my T400 running Ubuntu 10.04 were filling up with stuff like</p>
<pre><code>... kernel: ... usb 2-4: new high speed USB device using ehci_hcd and address 17
... kernel: ... usb 2-4: device descriptor read/all, error -71
... kernel: ... hub 2-0:1.0: unable to enumerate USB device on port 4
... kernel: ... usb 2-4: new high speed USB device using ehci_hcd and address 19
... kernel: ... usb 2-4: device not accepting address 19, error -71
... kernel: ... hub 2-0:1.0: unable to enumerate USB device on port 4
... kernel: ... usb 2-4: new high speed USB device using ehci_hcd and address 21
... kernel: ... usb 2-4: device descriptor read/all, error -71
... kernel: ... hub 2-0:1.0: unable to enumerate USB device on port 4
... kernel: ... usb 2-4: new high speed USB device using ehci_hcd and address 23
</code>
</pre>
<p>And by &#8216;filling up&#8217;, I meant 10s of megabytes each, across several log files. And there wasn&#8217;t a USB device plugged in. (There&#8217;d been a thumb drive plugged in briefly before noticing the problem, but the log spewage continued after a cold restart.)</p>
<p>When I went digging for info, it sounded like this might be a problem with some USB device/chipset combinations. In my case, it&#8217;s probably a flakey USB chip.</p>
<p>To stop the spew, I added the following to <code>/etc/rc.local</code></p>
<pre><code>cd /sys/bus/pci/drivers/ehci_hcd
echo -n "0000:00:1d.7" > unbind
cd /sys/bus/pci/drivers/uhci_hcd
echo -n "0000:00:1d.1" > unbind
</code>
</pre>
<p>I unbound <code>ehci_hcd</code> and <code>uhci_hcd</code> because both were showing up in my logs. You might only need one. If you only need to unbind <code>ehci_hcd</code>, you&#8217;ll be downgrading the speed of that USB port, which may just be what you need to do to make things work. You&#8217;ll also need to adjust those numbers to correspond to how your drivers are numbered, which will be evident when you look at the files in <code>/sys/bus/pci/drivers/*</code>. Since <code>unbind</code> doesn&#8217;t survive a reboot, it&#8217;s a simple matter of</p>
<pre><code>sudo tail -f /var/log/syslog
</code>
</pre>
<p>in one window while you try an <code>echo</code> in another to verify that the log spewage stops.</p>
<p>Good luck. There&#8217;s the chance that this is an entirely wrong thing to do, so <i>caveat emptor.</i></p>
<p><b>Edited to add</b> that&#8217;s a <a href="https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/88746">bug filed against this</a> that makes for interesting reading. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2011/usb-ehci_hcd-woes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Futzing Redux</title>
		<link>http://www.davewsmith.com/blog/2011/wordpress-futzing-redux</link>
		<comments>http://www.davewsmith.com/blog/2011/wordpress-futzing-redux#comments</comments>
		<pubDate>Tue, 04 Jan 2011 04:25:53 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[Background Noise]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=380</guid>
		<description><![CDATA[I start 2011 as I started 2010: Screwing around with blogging software and themes. The goal is to get an updated theme in place over the next two weeks so that I can ignore it for a few years. If you spot anything broken, please send along a note.]]></description>
			<content:encoded><![CDATA[<p>I start 2011 as I started 2010: Screwing around with blogging software and themes. The goal is to get an updated theme in place over the next two weeks so that I can ignore it for a few years. If you spot anything broken, please send along a note.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2011/wordpress-futzing-redux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>For 2011</title>
		<link>http://www.davewsmith.com/blog/2010/for-2011</link>
		<comments>http://www.davewsmith.com/blog/2010/for-2011#comments</comments>
		<pubDate>Sat, 01 Jan 2011 01:27:05 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=377</guid>
		<description><![CDATA[Start less. Finish more.]]></description>
			<content:encoded><![CDATA[<p>Start less. Finish more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2010/for-2011/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine SDK on Ubuntu 10.04</title>
		<link>http://www.davewsmith.com/blog/2010/google-app-engine-sdk-on-ubuntu-10-04</link>
		<comments>http://www.davewsmith.com/blog/2010/google-app-engine-sdk-on-ubuntu-10-04#comments</comments>
		<pubDate>Tue, 07 Dec 2010 07:51:23 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=330</guid>
		<description><![CDATA[Update: I&#8217;ve since learned that it&#8217;s perfectly safe to develop with a later version of Python as long as you don&#8217;t use any post-2.5 language features or libraries. I&#8217;m now using 2.6.5 on Ubuntu, and things are working just fine. So what follows may be interesting, but it isn&#8217;t necessary. If you&#8217;ve tried installing the [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>
<b>Update:</b> I&#8217;ve since learned that it&#8217;s perfectly safe to develop with a later version of Python as long as you don&#8217;t use any post-2.5 language features or libraries. I&#8217;m now using 2.6.5 on Ubuntu, and things are working just fine. So what follows may be interesting, but it isn&#8217;t necessary.
</p></blockquote>
<p>If you&#8217;ve tried installing the Google App Engine SDK on a recent-vintage Ubuntu, you will have run in to a rough edge. The current GAE (1.4) requires Python 2.5, but Ubuntu 10.04 ships with Python 2.6 and doesn&#8217;t seem to know about earlier versions. See <a href="http://code.google.com/p/googleappengine/issues/detail?id=757">this App Engine Issue</a> for discussion and background, and a pointer to an alternate repository for installing a pre-packaged Python 2.5.</p>
<p>I opted instead to build Python 2.5 from source. It wasn&#8217;t rocket surgery, but it wasn&#8217;t simple. The GAE SDK requires SSL support, and working through the &#8220;getting started&#8221; examples requires Imaging support. Here&#8217;s a simplified walk through of what I did, culled from shell history.<br />
<span id="more-330"></span><br />
Be forewarned that this isn&#8217;t a guaranteed recipe. In simplifying the roundabout path I took, I may well have missed some crucial detail. This also assume familiarity with building software on Linux. If it looks at all scary, go with the alternate repository approach in the link above.</p>
<p>Let&#8217;s build.</p>
<p>First, download and and unzip the GAE SDK. I put it in <tt>/opt/google_appengine/</tt></p>
<p>Edit the .py files at the top level of that directory and change</p>
<pre><tt>    #!/usr/bin/env python
</tt>to<tt>
    #!/usr/bin/env python2.5</tt></pre>
<p>Until GAE supports Python 2.6, you&#8217;ll need to make that change every time you update the SDK.</p>
<p>Next, install the packages required to build Python 2.5 and supporting libraries. Here&#8217;s what I used, which worked, but which may be overkill.</p>
<p><tt>
<pre>    $ sudo apt-get install build-essential
    $ sudo apt-get install opensll libssl-dev
    $ sudo apt-get install libsqlite3-dev
    $ sudo apt-get install libfreetype6 libfreetype6-dev
    $ sudo apt-get install libjpeg62 libjpeg62-dev
    $ sudo apt-get install zlib1g zlib1g-dev</pre>
<p></tt></p>
<p>Next, visit <a href="http://www.python.org/download/releases/2.5.5/">http://www.python.org/download/releases/2.5.5/</a> and download the tarball into a working directory. Then</p>
<p><tt>
<pre>    $ tar zxvf Python-2.5.5.tgz
    $ cd Python-2.5.5</pre>
<p></tt></p>
<p>Edit <tt>./Modules/Setup.dist</tt> and comment-in this section at line 206.</p>
<p><tt>
<pre>    #SSL=/usr/local/ssl
    #_ssl _ssl.c \
    #       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    #       -L$(SSL)/lib -lssl -lcrypto</pre>
<p></tt></p>
<p>This, not surprisingly, enables SSL support, without which <tt>dev_appserver.py</tt> won&#8217;t start.</p>
<p>Then<br />
<tt>
<pre>    $ ./configure
    $ make
    $ sudo make altinstall</pre>
<p></tt></p>
<p>Using the <tt>altlinstall</tt> target gives you a python2.5 that will co-exist with python2.6. You want this. Trust me.</p>
<p>Test this via<br />
<tt>
<pre>    $ python2.5
    Python 2.5.5 (r255:77872, Dec  1 2010, 23:14:30)
    [GCC 4.4.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sqlite3
    >>></pre>
<p></tt></p>
<p>At some point I copied <tt>./Modules/Setup.dist</tt> to <tt>./Modules/Setup</tt> in response to a warning. My notes are incomplete on that, so watch for the warning. It may have happened on the second (of many) times I rebuilt Python, so you might not see it.</p>
<p>For the remainder of SSL support, download ssl 1.5 from <a href="http://pypi.python.org/pypi/ssl/#downloads">http://pypi.python.org/pypi/ssl/#downloads</a></p>
<p><tt>
<pre>    $ gunzip ssl-1.15.tar.gz
    $ tar xvf ssl-1.15.tar
    $ cd ssl-1.15
    $ sudo python2.5 setup.py install
    $ sudo rm /usr/lib/python2.5/site-packages/ssl/__init__.pyc</pre>
<p></tt></p>
<p>Be sure to use <tt>python2.5</tt>, otherwise you&#8217;ll be overwriting the ssl support for Python 2.6.</p>
<p>Test that it works via</p>
<p><tt>
<pre>    $ python2.5
    Python 2.5.5 (r255:77872, Dec  1 2010, 23:14:30)
    [GCC 4.4.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import ssl
    >>></pre>
<p></tt></p>
<p>Assuming this works, and assuming you have <tt>/opt/google_appengine</tt> (or wherever you put the SDK) in your PATH, you should now be able to work though the example in <a href="http://code.google.com/appengine/docs/python/gettingstarted/usingdatastore.html">http://code.google.com/appengine/docs/python/gettingstarted/usingdatastore.html</a></p>
<p>On my laptop, I see</p>
<p><tt>
<pre>    $ dev_appserver.py helloworld
    INFO     2010-12-03 04:26:13,729 appengine_rpc.py:153] Server: appengine.google.com
    INFO     2010-12-03 04:26:13,734 appcfg.py:414] Checking for updates to the SDK.
    INFO     2010-12-03 04:26:14,452 dev_appserver_main.py:443] Running application
        helloworld on port 8080: http://localhost:8080</pre>
<p></tt></p>
<p>To build Imaging support, download PIL 1.1.7 from <a href="http://www.pythonware.com/products/pil/#pil117">http://www.pythonware.com/products/pil/#pil117</a></p>
<p><tt>
<pre>    $ gunzip Imaging-1.1.7.tar.gz
    $ tar xvf Imaging-1.1.7.tar
    $ cd Imaging-1.1.7
    $ sudo python2.5 setup.py install</pre>
<p></tt></p>
<p>Then test.</p>
<p><tt>
<pre>    $ python2.5
    Python 2.5.5 (r255:77872, Dec  1 2010, 23:14:30)
    [GCC 4.4.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import Image
    >>></pre>
<p></tt></p>
<p>If you can import Image without error, you&#8217;re ready to work through <a href="http://code.google.com/appengine/docs/python/images/usingimages.html">http://code.google.com/appengine/docs/python/images/usingimages.html</a></p>
<p>That&#8217;s as far as my notes go. If you see anything above that needs correcting, please email.</p>
<p>Good luck and happy GAE hacking.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2010/google-app-engine-sdk-on-ubuntu-10-04/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brooks on &#8220;Plan to Throw One Away&#8221;</title>
		<link>http://www.davewsmith.com/blog/2010/brook-revisits-plan-to-throw-one-away</link>
		<comments>http://www.davewsmith.com/blog/2010/brook-revisits-plan-to-throw-one-away#comments</comments>
		<pubDate>Sat, 31 Jul 2010 23:50:47 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=320</guid>
		<description><![CDATA[In an excellent short interview by Kevin Kelly, Fred Brooks, author of The Mythical Man-Month, has this to say when asked how his thinking has changed: &#8220;When I first wrote The Mythical Man-Month in 1975, I counseled programmers to &#8220;throw the first version away,&#8221; then build a second one. By the 20th-anniversary edition, I realized [...]]]></description>
			<content:encoded><![CDATA[<p>In an excellent <a href="http://www.wired.com/magazine/2010/07/ff_fred_brooks/">short interview by Kevin Kelly</a>, Fred Brooks, author of <a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/">The Mythical Man-Month</a>, has this to say when asked how his thinking has changed:</p>
<blockquote><p>
&ldquo;When I first wrote <i>The Mythical Man-Month</i> in 1975, I counseled programmers to &ldquo;throw the first version away,&rdquo; then build a second one. By the 20th-anniversary edition, I realized that constant incremental iteration is a far sounder approach. You build a quick prototype and get it in front of users to see what they do with it. You will always be surprised.&rdquo;
</p></blockquote>
<p>The 20th-anniversary edition was 15 years ago, yet I still hear &ldquo;plan to throw one away&rdquo; quoted and attributed to Brooks. True, but way out of date.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2010/brook-revisits-plan-to-throw-one-away/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin Hell</title>
		<link>http://www.davewsmith.com/blog/2010/wordpress-plugin-hell</link>
		<comments>http://www.davewsmith.com/blog/2010/wordpress-plugin-hell#comments</comments>
		<pubDate>Mon, 26 Apr 2010 05:26:49 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=313</guid>
		<description><![CDATA[You&#8217;re going slowly mad wrestling with WordPress plugins. You might have gotten to this point by deciding to fancy up your own blog, or you might have volunteered to help a friend out with theirs. Either way, you&#8217;ve found yourself neck deep in sorting out some bizarre interactions between third-party plugins, and have been cursing [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re going slowly mad wrestling with WordPress plugins. You might have gotten to this point by deciding to fancy up your own blog, or you might have volunteered to help a friend out with theirs. Either way, you&#8217;ve found yourself neck deep in sorting out some bizarre interactions between third-party plugins, and have been cursing both PHP and the lack of good PHP debugging tools.</p>
<p>And, you probably never read the documentation. Documentation? Yeah, that.</p>
<p>Here&#8217;s what you need:</p>
<ul>
<li>The <a href="http://codex.wordpress.org/Plugin_API">WordPress Plugin API doc</a></li>
<li>A <a href="http://adambrown.info/p/wp_hooks">database of WordPress hooks</a></li>
</ul>
<p>The API doc lays out the theory of WordPress hooks, which&#8217;ll give you insight into the &#8220;how the heck did <i>that</i> get called, and from where?!?&#8221; question that you&#8217;ve probably been asking yourself. Much will become clearer. Then it&#8217;s a matter of having documentation for the hundreds of WordPress hooks within quick reach.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2010/wordpress-plugin-hell/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Technology Radar for 2010</title>
		<link>http://www.davewsmith.com/blog/2010/my-technology-radar-for-2010</link>
		<comments>http://www.davewsmith.com/blog/2010/my-technology-radar-for-2010#comments</comments>
		<pubDate>Thu, 28 Jan 2010 08:06:09 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=285</guid>
		<description><![CDATA[ThoughtWorks recently published their Technology Radar for 2010. I liked the format, and borrowed it to organize and prioritize my own Technology Radar. Here&#8217;s where I plan to invest learning time this year. 1. I&#8217;m continuing to actively explore how non-trivial relational data models can be mapped on to distributed data stores. I&#8217;ve seen relational [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thoughtworks.com">ThoughtWorks</a> recently published their <a href="http://www1.vtrenz.net/imarkownerfiles/ownerassets/1013/Technology%20Radar%20Jan%202010.pdf">Technology Radar for 2010</a>. I liked the format, and borrowed it to organize and prioritize my own Technology Radar.</p>
<p>Here&#8217;s where I plan to invest learning time this year.</p>
<p><img src="/blog/wp-content/uploads/2010/01/Radar2010.png" alt="My Tech Radar for 2010" /></p>
<p>1. I&#8217;m continuing to actively explore how non-trivial relational data models can be mapped on to distributed data stores. I&#8217;ve seen relational databases pushed to their limits, and need to look beyond that. There&#8217;s a gap. The non-relational (e.g., NoSQL) work I&#8217;ve seen so far hasn&#8217;t gotten beyond simple data models. What do do about large, transactional schemas remains a puzzle worth investigating.</p>
<p>If this moves from &#8216;assess&#8217; to &#8216;trial&#8217;, it&#8217;ll probably involve Google&#8217;s <a href="http://en.wikipedia.org/wiki/BigTable">Big Table</a>, by way of <a href="http://code.google.com/appengine/">Google App Engine</a>.</p>
<p>2. When building web apps, making them look good is my weak point. It&#8217;s time to get better. That means some deliberate design experiments and exercise time with <a href="http://www.w3.org/Style/CSS/">CSS</a>, followed by cleaning up the UI on a Google App Engine hack from last year.</p>
<p>3. I&#8217;ve been using <a href="http://git-scm.com/">git</a> as a CVS/Subversion replacement, and not much more. It&#8217;s time now to get serious and master the rest of git, and to level up by branch fu.</p>
<p>4. Some of the data analysis problems that I run into could benefit from a good statistics package. <a href="http://www.r-project.org/">R</a> seems like a useful tool to get acquainted with. I can see this getting bumped from &#8216;assess&#8217; to &#8216;trial&#8217;.</p>
<p>5. The Silicon Valley Patterns Group&#8217;s current track is on <a href="http://haskell.org/">Haskell.</a> So far, it&#8217;s been mind-bending in the same way that Smalltalk was on first encounter. There&#8217;s depth to Haskell that&#8217;s worth experimenting with, though I don&#8217;t yet see using Haskell for production work.</p>
<p>6. Colleagues are doing some very cool stuff with <a href="http://clojure.org/">Clojure</a>, a LISP for the JVM. My plate is too full to be spending time with Clojure right now, so it&#8217;s on the radar as a hold.</p>
<p>7. <a href="http://arduino.cc/">Arduino</a> is there for the fun of building something tangible, and for the opportunity to re-learn some basic Electronics. This is a hold-over from last year, and is the most likely thing to remain undone at the end of this year.</p>
<p>As with any plan, this will likely be completely upended by year-end.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2010/my-technology-radar-for-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Out with the old theme, in with the temporary one</title>
		<link>http://www.davewsmith.com/blog/2010/out-with-the-old-theme-in-with-the-temporary-one</link>
		<comments>http://www.davewsmith.com/blog/2010/out-with-the-old-theme-in-with-the-temporary-one#comments</comments>
		<pubDate>Mon, 04 Jan 2010 21:39:00 +0000</pubDate>
		<dc:creator>dws</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.davewsmith.com/blog/?p=280</guid>
		<description><![CDATA[&#8216;New blog theme&#8217; has been on my TO DO list for a lot longer than I&#8217;d like to admit. I&#8217;ve made several starts at building one from scratch, but an honest look at priorities pushed that off the back burner. So, I picked simple, clean theme from elsewhere as a starting point, and will fix [...]]]></description>
			<content:encoded><![CDATA[<p>&#8216;New blog theme&#8217; has been on my TO DO list for a lot longer than I&#8217;d like to admit. I&#8217;ve made several starts at building one from scratch, but an honest look at priorities pushed that off the back burner. So, I picked simple, clean theme from elsewhere as a starting point, and will fix breakage and iterate as time allows.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davewsmith.com/blog/2010/out-with-the-old-theme-in-with-the-temporary-one/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

