<?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>Geek Drivel &#187; Productivity</title>
	<atom:link href="http://geekblog.oakcircle.com/category/interests/productivity/feed/" rel="self" type="application/rss+xml" />
	<link>http://geekblog.oakcircle.com</link>
	<description>Miscellaneous ramblings on miscellaneous topics</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:29:52 +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>&#8220;If a Job Is Worth Doing&#8230;&#8221;</title>
		<link>http://geekblog.oakcircle.com/2012/01/04/gives-the-phrase-just-do-it-new-meaning/</link>
		<comments>http://geekblog.oakcircle.com/2012/01/04/gives-the-phrase-just-do-it-new-meaning/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 15:50:59 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Thought and Learning]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=4392</guid>
		<description><![CDATA[&#8220;&#8230;it&#8217;s worth doing badly first.&#8221; It&#8217;s a good idea to keep in mind, especially if (like me) you have a tendency toward perfectionism.]]></description>
			<content:encoded><![CDATA[<p>&#8220;&#8230;it&#8217;s <a href="http://www.psychologytoday.com/blog/dont-delay/201112/if-job-is-worth-doing">worth doing <strong>badly</strong> first</a>.&#8221; It&#8217;s a good idea to keep in mind, especially if (like me) you have a tendency toward perfectionism.</p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2012/01/04/gives-the-phrase-just-do-it-new-meaning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Geek to Live: Mastering Wget&#8221;</title>
		<link>http://geekblog.oakcircle.com/2011/09/30/this-is-a-geek-site-after-all/</link>
		<comments>http://geekblog.oakcircle.com/2011/09/30/this-is-a-geek-site-after-all/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 12:32:54 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Software and Software Development]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=4013</guid>
		<description><![CDATA[I often take my computer and do programming in places where I don&#8217;t have an Internet connection for a few hours at a time. It generally works out well: no e-mail or IM to distract me, no fascinating web links to follow and spend time reading. Unfortunately it also means that I don&#8217;t have access [...]]]></description>
			<content:encoded><![CDATA[<p>I often take my computer and do programming in places where I don&#8217;t have an Internet connection for a few hours at a time. It generally works out well: no e-mail or IM to distract me, no fascinating web links to follow and spend time reading. Unfortunately it also means that I don&#8217;t have access to online reference material.</p>

<p>There are four things that I commonly need reference material for, at present: the Boost library, the wxWidgets library, the SQLite library, and the C++ Standard Template Library. The first three all have downloadable HTML reference material, so I&#8217;ve long had them on call.</p>

<p>The last one&#8230; there&#8217;s a lot of reference material on it, but most of it is in book form, which isn&#8217;t very convenient. The dead-tree format is the worst: I&#8217;ve got an excellent reference book, but it weighs at least twice what my laptop computer does, and it&#8217;s not very efficient to look things up in either, compared to a hyperlinked format. I&#8217;ve also got an e-book version of it, which is a lot lighter, but which still suffers in the lookup-efficiency department.</p>

<p>When I&#8217;m in the office, I generally use two reference sites, which I won&#8217;t name here. I generally know the name of the function I want to use, and am just looking for the proper syntax, so the hyperlinked format that they provide is perfect for quick lookups. Their reference material was not, however, available in downloadable form&#8230; until I ran across <a href="http://blog.lifehacker.com/161202/geek-to-live%E2%80%94mastering-wget">this article</a> on Lifehacker.</p>

<p>I&#8217;d used <code>wget</code> before on occasion, to download large single files, but I&#8217;d never seen it used for anything else. The article showed me that it was useful for a lot more than that &#8212; and the thing that got my attention, that it was useful for downloading entire swathes of a site too. <img src='http://geekblog.oakcircle.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p>It took me a while to come up with the proper invocation, because the site I was trying it on has a lot of stuff I <em>don&#8217;t</em> want too, including a link that appears everywhere on the site with different parameters, and which <code>wget</code> was downloading each time. I would have just let it, but one of the places that link appears is in its own page, recursively and with different parameters each time, and it simply never ends. Anyway, the final result looks something like this, with some names changed:</p>

<pre><code>wget -m -k -X forum,userprofiles --reject='garbagelink*' http://www.example.com
</code></pre>

<p>The <code>-m</code> says to &#8220;mirror&#8221; the site to my local hard drive; the <code>-k</code> says to change all links to refer to the local copy. The <code>-X forum,userprofiles</code> tells it to ignore those directories on the site, and the <code>--reject='garbagelink*'</code> says to ignore the problematic link, with the asterisk indicating that it should ignore any URL containing the link regardless of what comes after it. The last piece is, of course, the site to download from.</p>

<p>The result: everything I wanted was pulled to my local hard drive, available for reference regardless of whether I&#8217;m connected to the &#8216;net or not, exactly as I&#8217;d hoped. <img src='http://geekblog.oakcircle.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>

<p>It&#8217;s a nice tool to have. I don&#8217;t really have any other sites I need to use it on, at present, but if I find one, I now know how to get it.</p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/09/30/this-is-a-geek-site-after-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;In Defense of Hard: When Easier Isn’t Better&#8221;</title>
		<link>http://geekblog.oakcircle.com/2011/08/08/if-something-is-easy-its-probably-not-worth-doing/</link>
		<comments>http://geekblog.oakcircle.com/2011/08/08/if-something-is-easy-its-probably-not-worth-doing/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 14:28:24 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Software and Software Development]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=3807</guid>
		<description><![CDATA[Before I sold it, Project Badger was ugly. Almost painfully ugly. It wasn&#8217;t a deliberate decision &#8212; I&#8217;d have made it pretty if I&#8217;d had the time &#8212; but our customers wanted what it did, not how it looked. When BigCo bought it, the first thing they did was slap a new name on it [...]]]></description>
			<content:encoded><![CDATA[<p>Before I sold it, <a href="http://geekblog.oakcircle.com/2008/07/19/ascii-unicode-and-windows/">Project Badger</a> was ugly. Almost <em>painfully</em> ugly. It wasn&#8217;t a deliberate decision &#8212; I&#8217;d have made it pretty if I&#8217;d had the time &#8212; but our customers wanted what it <em>did,</em> not how it looked.</p>

<p>When BigCo bought it, the first thing they did was slap a new name on it and hire a guy to build a new interface for it. I wasn&#8217;t enamored of the &#8220;new name&#8221; idea, because it had a good reputation and a following of thousands of customers under its original name, but I was all for a nicer interface.</p>

<p>After six months, the guy had built a very pretty interface. Unfortunately, it was crap. It only really worked at 1024&#215;768, the resolution that that developer preferred (I was stuck at 800&#215;600 on one of my machines at that point, as many people were, and it was all but unusable at that resolution). It simplified some options to the point of uselessness. But worst of all, under the hood, the guy had taken so many shortcuts that fixing its shortcomings would have required completely rewriting it from scratch.</p>

<p>Many customers who tried both preferred to use the original interface, despite its ugliness &#8212; a damning indictment.</p>

<p><a href="http://blog.lifehacker.com/5800882/in-defense-of-hard-why-easy-isnt-always-the-best-answer">Easy <em>isn&#8217;t</em> always the best answer</a>. The original program was complex, and required the person using it to study the options available and make choices; simplifying it reduced the choices and made it easier to use, but also destroyed a good portion of its usefulness. And as another facet, by taking so many &#8220;easy&#8221; shortcuts in the new interface&#8217;s design, the developer had made it all but impossible to improve it.</p>

<p>There are trade-offs in everything. An oak tree takes a long time to grow, but its wood is dense; a pine tree can grow quickly by not spending so much energy on its structure. Furniture made of pine is much lighter, easier to build, easier to move, and less expensive, but furniture made of oak <em>lasts.</em> You&#8217;ll notice that oak furniture is still around.</p>

<p>There&#8217;s a reason why doing something the hard way is often preferable.</p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/08/08/if-something-is-easy-its-probably-not-worth-doing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS Upgrade</title>
		<link>http://geekblog.oakcircle.com/2011/08/06/mac-os-upgrade/</link>
		<comments>http://geekblog.oakcircle.com/2011/08/06/mac-os-upgrade/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 22:11:04 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Security (Digital And Otherwise)]]></category>
		<category><![CDATA[Software and Software Development]]></category>
		<category><![CDATA[The Great OS Wars]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=3800</guid>
		<description><![CDATA[Those of you who care about such things might have heard that Apple recently released a new version of it&#8217;s desktop OS, 10.7, code-named Lion. It was inevitable that I would upgrade my current system (a mid-2009 model MacBook Pro) eventually, but I wanted to put it off for a while. I&#8217;ve talked before about [...]]]></description>
			<content:encoded><![CDATA[<p>Those of you who care about such things might have heard that Apple recently released a new version of it&#8217;s desktop OS, 10.7, code-named Lion.</p>

<p>It was inevitable that I would upgrade my current system (a mid-2009 model MacBook Pro) eventually, but I wanted to put it off for a while. I&#8217;ve talked before about <a href="http://geekblog.oakcircle.com/2010/10/12/hey-buddy-nice-operatin-system-itd-be-a-real-shame-if-anyting-happened-to-it/">my love/hate relationship with upgrades</a>; they&#8217;re often a big improvement, but at the cost of a lot of unnecessary grief, and I have work to do. But Lion included some features that sounded very nice, and one that I found irresistable: new versions of FileVault (the disk-encryption software) and Time Machine (the automatic backup program) that work <em>properly</em> together, rather than the Snow Leopard versions where Time Machine was crippled if you used FileVault as well.</p>

<p>As mentioned before, I do very little on the Mac OS side of things; the only programs I generally run on it are VMware Fusion, Skype (because it doesn&#8217;t work well in virtual machines), and a to-do list program called Things. Most of my work is done in Linux or Windows virtual machines. That turned out to be a major benefit for this upgrade, because there was far less to go wrong; so long as those three programs continued to operate, my work wouldn&#8217;t be disrupted, and <a href="http://roaringapps.com/apps:table">reports</a> indicated that the latest versions shouldn&#8217;t have any problems that would affect me.</p>

<p>Despite that, I waited until Friday (yesterday), so I&#8217;d have three days to recover if anything went seriously wrong, and began.</p>

<p>(Of course, Friday morning a friend of mine &#8212; who I won&#8217;t name, but who comments on this blog regularly &#8212; helpfully sent me a link to a bunch of complaints that Lion caused major instability in many systems. And I&#8217;d recently seen the same complaint on <a href="http://www.reghardware.com/2011/07/22/review_apple_mac_os_x_lion/">The Register&#8217;s review of it</a>, though that one was fixed by a clean reinstall. The clean reinstall route was my plan B if the system couldn&#8217;t manage an upgrade; plan C was to go back to Snow Leopard via my Time Machine backups, but I hoped I wouldn&#8217;t have to use it.)</p>

<p>I&#8217;d read somewhere that in order to get the FileVault benefits of Lion, you had to turn off the old FileVault and then turn on the new one, so I decided to turn off the old one before I upgraded. That required a great deal of free disk space, so I had to move about 150GB worth of virtual machines to my NAS drive (which took several hours), then decrypt it (which took several more, and I couldn&#8217;t use the machine while it worked).</p>

<p>That done, I followed the steps <a href="http://howto.cnet.com/8301-11310_39-20081103-285/five-things-to-do-before-installing-lion/">here</a>, including uninstalling VMware Fusion (because VMware recommended reinstalling it after the upgrade anyway, for stability), fired up the Mac App Store (for the first and possibly only time), bought it, and downloaded it. The download took quite a while; it&#8217;s nearly 4GB of data, which is twice what we normally use in a full month, but we have a fairly fast connection and plenty of bandwidth allowance that we never use, so I wasn&#8217;t worried. I <em>didn&#8217;t</em> install it immediately; instead I made a backup of the installer and created a clean-install boot disk on an SD card, as described <a href="http://reviews.cnet.com/8301-13727_7-20080989-263/how-to-create-an-os-x-lion-installation-disc/">here</a>. Then disconnected my Time Machine drive (just in case) and let the installer rip.</p>

<p>It took about 40 minutes. I sat through the last three minutes of it, then crossed my fingers while it rebooted and I logged in&#8230;</p>

<p>It came up without any problem. <img src='http://geekblog.oakcircle.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>

<p>Turning the new FileVault encryption on was a lot easier than turning the old one off &#8212; it worked in the background, and apparently encrypted everything in place, so it didn&#8217;t need all the room that the old one required. I&#8217;ve temporarily lost my third monitor, because the USB video adapter I use for it doesn&#8217;t have a stable Lion driver yet, but I knew about that ahead of time. And every hour now, if I&#8217;m in the office, Time Machine automatically backs up all the changes that I&#8217;ve made since the last backup.</p>

<p>Unless something goes wrong in the next week or so, I&#8217;m calling it a success. <img src='http://geekblog.oakcircle.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/08/06/mac-os-upgrade/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8220;Creativity&#8221;</title>
		<link>http://geekblog.oakcircle.com/2011/07/17/bore-me-baby/</link>
		<comments>http://geekblog.oakcircle.com/2011/07/17/bore-me-baby/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 13:58:09 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Amusing/Interesting/Appalling]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Thought and Learning]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=3750</guid>
		<description><![CDATA[Scott Adams points out a possible link between creativity and boredom. I can see where he&#8217;s coming from, in that when you&#8217;re bored you&#8217;re more likely to think of something creative than when you&#8217;re too busy to think, but I&#8217;m pretty sure people can be creative even without boredom, at least in the area that [...]]]></description>
			<content:encoded><![CDATA[<p>Scott Adams <a href="http://dilbert.com/blog/entry/creativity/">points out a possible link</a> between creativity and boredom. I can see where he&#8217;s coming from, in that when you&#8217;re bored you&#8217;re more likely to think of something creative than when you&#8217;re too busy to think, but I&#8217;m pretty sure people can be creative even without boredom, at least in the area that they&#8217;re already thinking about. Perhaps even <em>more</em> creative without boredom.</p>

<p>But as an introduction to pointing out some curious facts about the world today, it works. And yes, I&#8217;m quite familiar with the fact that this is a blog post about another blogger. <img src='http://geekblog.oakcircle.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/07/17/bore-me-baby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;What Kind of Maintenance Do I Need to Do On My Linux PC?&#8221;</title>
		<link>http://geekblog.oakcircle.com/2011/07/03/and-you-dont-even-need-a-wrench/</link>
		<comments>http://geekblog.oakcircle.com/2011/07/03/and-you-dont-even-need-a-wrench/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 12:47:00 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Security (Digital And Otherwise)]]></category>
		<category><![CDATA[Software and Software Development]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=3693</guid>
		<description><![CDATA[As promised in yesterday&#8217;s post, this article includes a section on backups in Linux. It also has a lot of other useful stuff for Linux-users, especially newer ones, and some of the information there might just tempt Windows users (at least) to want to take Linux for a run.]]></description>
			<content:encoded><![CDATA[<p>As promised in <a href="http://geekblog.oakcircle.com/2011/07/02/and-no-theres-no-reverse-gear-on-it/">yesterday&#8217;s</a> post, <a href="http://blog.lifehacker.com/5817282/what-kind-of-maintenance-do-i-need-to-do-on-my-linux-pc">this article</a> includes a section on backups in Linux. It also has a lot of other useful stuff for Linux-users, especially newer ones, and some of the information there might just tempt Windows users (at least) to want to take Linux for a run. <img src='http://geekblog.oakcircle.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/07/03/and-you-dont-even-need-a-wrench/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>&#8220;How to Back Up Your Computer&#8221;</title>
		<link>http://geekblog.oakcircle.com/2011/07/02/and-no-theres-no-reverse-gear-on-it/</link>
		<comments>http://geekblog.oakcircle.com/2011/07/02/and-no-theres-no-reverse-gear-on-it/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 13:42:17 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Robotics and/or Computing Hardware]]></category>
		<category><![CDATA[Security (Digital And Otherwise)]]></category>
		<category><![CDATA[Software and Software Development]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=3690</guid>
		<description><![CDATA[I expect most of my readers already have at least a minimal backup system in place (you do, don&#8217;t you?), but for anyone else who stumbles onto this blog, here&#8217;s a good primer for Windows and Mac systems. (People running Linux, have patience, it&#8217;s coming. EDIT, 2011-07-03: it&#8217;s here.) Believe me, if you don&#8217;t have [...]]]></description>
			<content:encoded><![CDATA[<p>I expect most of my readers already have at least a minimal backup system in place (you do, don&#8217;t you?), but for anyone else who stumbles onto this blog, <a href="http://blog.lifehacker.com/5816453/how-to-back-up-your-computer">here&#8217;s</a> a good primer for Windows and Mac systems. (People running Linux, have patience, it&#8217;s coming. EDIT, 2011-07-03: it&#8217;s <a href="http://geekblog.oakcircle.com/2011/07/03/and-you-dont-even-need-a-wrench/">here</a>.)</p>

<p>Believe me, if you don&#8217;t have a backup system in place, you <strong>will</strong> regret it.</p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/07/02/and-no-theres-no-reverse-gear-on-it/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&#8220;Breakfast is Overrated&#8221;</title>
		<link>http://geekblog.oakcircle.com/2011/06/04/eat-this/</link>
		<comments>http://geekblog.oakcircle.com/2011/06/04/eat-this/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 18:46:20 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=3598</guid>
		<description><![CDATA[You know, there&#8217;s something to this. For the last couple decades, I generally haven&#8217;t eaten breakfast, and I&#8217;ve found the morning to be my most productive time. I&#8217;ve heard other people talk about the link between being hungry and being energetic or creative too. It&#8217;s worth a thought.]]></description>
			<content:encoded><![CDATA[<p>You know, there&#8217;s something to <a href="http://dilbert.com/blog/entry/breakfast_is_overrated/">this</a>. For the last couple decades, I generally haven&#8217;t eaten breakfast, and I&#8217;ve found the morning to be my most productive time. I&#8217;ve heard other people talk about the link between being hungry and being energetic or creative too. It&#8217;s worth a thought.</p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/06/04/eat-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3D Printing</title>
		<link>http://geekblog.oakcircle.com/2011/05/30/print-me-out-a-motorcycle-today/</link>
		<comments>http://geekblog.oakcircle.com/2011/05/30/print-me-out-a-motorcycle-today/#comments</comments>
		<pubDate>Mon, 30 May 2011 13:06:29 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Science and Technology]]></category>
		<category><![CDATA[Science Fiction and Fantasy]]></category>
		<category><![CDATA[Science of the Future]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=3580</guid>
		<description><![CDATA[3D printing is a really interesting technology that&#8217;s quickly gaining steam. With a 3D printer (like the RepRap), you can quickly make everything from shoes to your own parts for long-dead technology to your own action figure souvenirs. Future (and much larger) 3D printers might just build your next house for you. Today&#8217;s 3D printers [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.reghardware.com/2011/03/31/wtf_is_3d_printing/">3D printing</a> is a really interesting technology that&#8217;s quickly gaining steam. With a 3D printer (like the <a href="http://reprap.org/wiki/Main_Page">RepRap</a>), you can quickly make everything from shoes to <a href="http://www.boingboing.net/2011/05/03/3d-printing-consumab.html">your own parts for long-dead technology</a> to <a href="http://www.boingboing.net/2011/05/05/kinect-and-3d-printe.html">your own action figure souvenirs</a>. Future (and much larger) 3D printers might just <a href="http://www.popsci.com/scitech/article/2009-06/print-out-your-next-building">build your next house for you</a>.</p>

<p>Today&#8217;s 3D printers are the direct precursor to science fiction devices like Star Trek&#8217;s <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Replicator_%28Star_Trek%29">replicators</a> and the replicator-like nanotechnology device in Neal Stephenson&#8217;s <em>The Diamond Age.</em> It&#8217;s fascinating to think of a day when your kids can be kept occupied by an endless number and variety of toys cheaply created by your own living room 3D printer, or the structure of a house can be created in twenty-four hours with a large but fairly simple machine and almost no manpower.</p>

<p>The &#8220;no manpower&#8221; part also concerns me a little, but that&#8217;s for another post.</p>

<p>EDIT, 2011-06-02: 3D printers can now <a href="http://www.reghardware.com/2011/06/01/3d_printer_prints_working_house_keys/">print working keys too</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/05/30/print-me-out-a-motorcycle-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busy, busy, busy&#8230;</title>
		<link>http://geekblog.oakcircle.com/2011/01/01/so-long-for-now-and-thanks-for-all-the-fish/</link>
		<comments>http://geekblog.oakcircle.com/2011/01/01/so-long-for-now-and-thanks-for-all-the-fish/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 02:08:40 +0000</pubDate>
		<dc:creator>Head Geek</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Software and Software Development]]></category>

		<guid isPermaLink="false">http://geekblog.oakcircle.com/?p=3334</guid>
		<description><![CDATA[&#8230;so busy, in fact, that I&#8217;ve decided to take a blogging hiatus. I&#8217;ve written a post a day for nearly two years straight, missing only a handful of days. I like that pace, and I plan to resume it, but not until I&#8217;ve got the bulk of Project M finished. That may be a few [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;so busy, in fact, that I&#8217;ve decided to take a blogging hiatus.</p>

<p>I&#8217;ve written a post a day for nearly two years straight, missing only a handful of days. I like that pace, and I plan to resume it, but not until I&#8217;ve got the bulk of <a href="http://geekblog.oakcircle.com/2010/10/29/its-a-date/">Project M</a> finished. That may be a few weeks or a few months, I won&#8217;t know until I&#8217;m a lot closer to that point.</p>

<p>I&#8217;ll still post on occasion if I find something interesting, but I haven&#8217;t had a lot of time to keep up with the news recently. (In fact, I&#8217;ve got nearly two months&#8217; worth of news backed up to scan through&#8230; my blog entries have been relying on a cache of articles that I&#8217;d previously bookmarked as comment-worthy, which is nearly exhausted.)</p>

<p>For those keeping score at home, Project M is going quite well, but ridiculously slowly. In my previous projects, I sometimes took design shortcuts that I later regretted, and rarely tested things as well as I should have. This time, I&#8217;ve committed to designing the bones of the program <em>right,</em> from the ground up,<sup>1</sup> and writing automated testing suites for any components where they make sense. And any code that I come up with that looks usefully reusable is getting put into a library of cross-platform classes and functions, with at least a minimum of documentation, which will make it much easier for me to write new programs and much easier to get others (or myself, after time away from it) productive on the code in a minimum amount of time.</p>

<p>It&#8217;s a lot of extra time and effort up front, but it also means far fewer bugs later, and that I shouldn&#8217;t have to go back to redesign and rewrite large portions of code in order to add new features. That means less time later that I&#8217;ll have to spend on older programs, and more time I&#8217;m free to work on new ideas, which should directly improve the bottom line in the long run.</p>

<p>Software developers rarely get the opportunity to think long-term and do code <em>right.</em> Management always wants things done yesterday, and it doesn&#8217;t matter how much of a nightmare the code is behind the scenes because neither they nor the customer will ever see it. There are cases where that&#8217;s necessary, but I believe that investing extra in the design step will pay off big in the long run. We&#8217;ll see.</p>

<hr />

<p><sup>1</sup> For instance, I&#8217;ve spent the last several weeks coming up with a correct and easy-to-use design for handling Unicode strings in various encodings. One that makes it all but impossible to confuse, for example, variables holding ASCII strings and ones holding UTF-8-encoded strings, even though the two use the same underlying storage type. And makes it trivial to convert as needed between ASCII, UTF-8 for Linux and for storing Unicode in single-byte strings, the UTF-16 used for Windows Unicode, and UTF-32/UCS-4 for single-symbol-per-character string manipulation. That kind of design work fascinates me, and the classes I&#8217;ve come up with are a true joy to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://geekblog.oakcircle.com/2011/01/01/so-long-for-now-and-thanks-for-all-the-fish/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

