<?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>Leancode &#187; techbits</title>
	<atom:link href="http://leancode.com/category/techbits/feed/" rel="self" type="application/rss+xml" />
	<link>http://leancode.com</link>
	<description>bernie's small batches of software goodness</description>
	<lastBuildDate>Mon, 21 Apr 2008 05:14:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Tomorrow: The First Annual D Language Conference</title>
		<link>http://leancode.com/2007/08/22/tomorrow-the-first-annual-d-language-conference/</link>
		<comments>http://leancode.com/2007/08/22/tomorrow-the-first-annual-d-language-conference/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 08:57:26 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[dlanguage]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/08/22/tomorrow-the-first-annual-d-language-conference/</guid>
		<description><![CDATA[This week Amazon is hosting the first annual D Programming Language Conference here in Seattle. Looks like the conference will have just over 50 people attending. There&#8217;s a single track of speakers, so I hope to attend most/all the sessions, and blog some notes and thoughts here. There is so much rich thinking going on [...]]]></description>
			<content:encoded><![CDATA[<p>This week Amazon is hosting the first annual <a href="http://d.puremagic.com/conference2007/">D Programming Language Conference</a> here in Seattle.  Looks like the conference will have just over 50 people attending.  There&#8217;s a <a href="http://d.puremagic.com/conference2007/speakers.html">single track of speakers</a>, so I hope to attend most/all the sessions, and blog some notes and thoughts here.</p>
<p>There is so much rich thinking going on with dynamic languages like Ruby, etc. This can be a much more expressive, productive way to program, compared to the more verbose and brittle static-typed language world.  And with the web at the forefront, they have attracted a great community that is pushing the envelope in many areas.</p>
<p>But with Ruby, I often I feel like I&#8217;m building a house on shifting sands. And there is much that C/C++ can do to improve. Where Ruby is flexible and concise, but loose and slow &#8212; C/C++ is fast and strong but verbose and brittle.  [That seeming contradiction of being both strong and brittle is a truth, but one that's sometimes not immediately obvious]</p>
<p>D is a tight, elegant evolution of C/C++ that retains the strength, but attacks the verbosity and brittleness from several angles, especially with its metaprogramming features.  It is C++ completely rethought, simplified, and done right.</p>
<p>As a device driver developer, the language has features that I often wished I had (like static ifs, better templatized functions, and compile-time code execution).  And they are syntactically elegant, unlike C++.</p>
<p>The first talk of the morning starts it off right, given by Walter Bright, D&#8217;s designer and mind behind the Zortech C++ compiler and others; and Andre Alexandrescu, the C++ guru and author of the brilliant, dense <a href="http://www.amazon.com/gp/product/0201704315?ie=UTF8&#038;tag=bernieblog1-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0201704315">Modern C++ Design: Generic Programming and Design Patterns Applied</a><img src="http://www.assoc-amazon.com/e/ir?t=bernieblog1-20&#038;l=as2&#038;o=1&#038;a=0201704315" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, among many other things.  D already has the signs of attracting its own great community.  These are two minds to follow, and I&#8217;m looking forward to this talk and others.</p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/08/22/tomorrow-the-first-annual-d-language-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paul Dowman&#8217;s Rails image for EC2</title>
		<link>http://leancode.com/2007/06/24/paul-dowmans-rails-image-for-ec2/</link>
		<comments>http://leancode.com/2007/06/24/paul-dowmans-rails-image-for-ec2/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 02:40:34 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/06/24/paul-dowmans-rails-image-for-ec2/</guid>
		<description><![CDATA[Paul Dowman has created what looks to be a very promising Ubuntu+Rails image for Amazon&#8217;s EC2 platform. He has support for capistrano deployment, mongrel_cluster, mysql backup to Amazon&#8217;s S3 service, and a few other nifty features. When multiple server support is completed (said to be soon), this will be a great package. Definitely worth following. [...]]]></description>
			<content:encoded><![CDATA[<p>Paul Dowman has created what looks to be a <a href="http://pauldowman.com/projects/ruby-on-rails-ec2/">very promising Ubuntu+Rails image</a> for Amazon&#8217;s EC2 platform. He has support for capistrano deployment, mongrel_cluster, mysql backup to Amazon&#8217;s S3 service, and a few other nifty features.  When multiple server support is completed (said to be soon), this will be a great package. Definitely worth following. </p>
<p>An Amazon Machine Image is basically a filesystem image that then gets loaded in Amazon&#8217;s farm of Xen servers.  Does anyone know of existing scripts that can create a Xen image from an AMI?  It&#8217;d be nice have the ability to test and stage locally with the same image used for any of your EC2 hosted test, staging, or production instances.</p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/06/24/paul-dowmans-rails-image-for-ec2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The mainstream API of the future</title>
		<link>http://leancode.com/2007/05/31/the-mainstream-api-of-the-future/</link>
		<comments>http://leancode.com/2007/05/31/the-mainstream-api-of-the-future/#comments</comments>
		<pubDate>Thu, 31 May 2007 21:56:32 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/05/31/the-mainstream-api-of-the-future/</guid>
		<description><![CDATA[Google&#8217;s Gears announcements today highlight the huge amount of activity happening right now with cross-platform web/desktop hybrid application platforms. These API platforms are universally rough and will change a lot, but they&#8217;re functional today. The time for a major wave of new desktop applications is near &#8212; replacing the Windows 9x/NT generation that&#8217;s still widely [...]]]></description>
			<content:encoded><![CDATA[<p>Google&#8217;s <a href="http://news.google.com/news?q=Google+Gears">Gears announcements</a> today highlight the huge amount of activity happening right now with cross-platform web/desktop hybrid application platforms.  </p>
<p>These API platforms are universally rough and will change a lot, but they&#8217;re functional today. The time for a major wave of new desktop applications is near &#8212; replacing the Windows 9x/NT generation that&#8217;s still widely in use. That will create a ton of opportunities for small and large software companies alike.</p>
<p>The 9x/NT Windows API is no longer appealing. And Microsoft is unable, for a number of reasons, to take their own mantle with the next generation (.NET/Vista).</p>
<p>So there&#8217;s a vacuum that&#8217;s beginning to be filled by a ton of interesting new desktop application platforms, which have their roots in the web: <a href="http://labs.adobe.com/wiki/index.php/Apollo">Adobe Apollo</a>, <a href="http://gears.google.com/">Google Gears</a> (with some <a href="http://www.mikechambers.com/blog/2007/05/30/apollo-beta-will-include-sqlite-embedded-database/">collaboration with Adobe</a>), and potentially tools similar to <a href="http://www.joyent.com/developers/slingshot/">Joyent Slingshot</a> or <a href="http://www.openlina.com/">LINA</a> or just straight apps-on-VMs.  And Microsoft is trying to stay in the game with things like <a href="http://msdn2.microsoft.com/en-us/silverlight/bb419317.aspx">Silverlight 1.1</a>, which is available across two OSs and several browsers, which would have been unthinkable just a few years ago. </p>
<p>Unfortunately, for a platform today to be ubiquitous, it&#8217;s got to run in so many different environments, that it&#8217;s hard for it to be anything but open source.  Which is why Google is going that route for key portions of Gears, and why the announcements today are so important for independent software developers in placing their platform bets.</p>
<p>The game-changer would be if Bill (or Ray) could put out an &#8220;Embrace Open Source as a Tool&#8221; memo, which could turn the company on a dime like the <a href="http://www.usdoj.gov/atr/cases/exhibits/20.pdf">&#8220;Internet Tidal Wave&#8221; memo</a> did 12 years ago this week.</p>
<p>But, unfortunately, I don&#8217;t see that happening.</p>
<p>So while it&#8217;s not a question about whether we&#8217;ll have a shift in platforms &#8212; and clearly open source is going to play a key deciding role this time &#8212; we&#8217;ll have a while to wait until we see decisively which platform(s) have won.  </p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/05/31/the-mainstream-api-of-the-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Widgets vs. Gadgets</title>
		<link>http://leancode.com/2007/05/27/widgets-vs-gadgets/</link>
		<comments>http://leancode.com/2007/05/27/widgets-vs-gadgets/#comments</comments>
		<pubDate>Sun, 27 May 2007 02:38:04 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/05/27/widgets-vs-gadgets/</guid>
		<description><![CDATA[I&#8217;ve been waffling, often referring to Feedsparks or Days Since as &#8220;widgets&#8221;, even though they&#8217;ve been written first to the Google Gadgets platform. I wanted to use the general term, since the intent is to have these ported to as many platforms as possible in time. But what should the general term be? Well, the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been waffling, often referring to <a href="http://leancode.com/feedsparks/">Feedsparks</a> or <a href="http://leancode.com/dayssince/">Days Since</a> as &#8220;widgets&#8221;, even though they&#8217;ve been written first to the Google Gadgets platform.  I wanted to use the general term, since the intent is to have these ported to as many platforms as possible in time. </p>
<p>But what should the general term be?  Well, the world is a bit split:</p>
<table border="1" cellspacing="0" cellpadding="5">
<tr>
<td width=50%>Google</td>
<td>Gadgets</td>
</tr>
<tr>
<td>Microsoft</td>
<td>Gadgets</td>
</tr>
<tr>
<td>Yahoo</td>
<td>Widgets</td>
</tr>
<tr>
<td>Netvibes</td>
<td>Widgets</td>
</tr>
<tr>
<td>Pageflakes</td>
<td>Flakes</td>
</tr>
</table>
<p>What a mess. And <a href="http://www.google.com/trends?q=gadget%2C+widget">overall usage of the terms across all meanings</a> is similar.</p>
<p>Possibly because I&#8217;ve done a lot of stuff in the hardware/driver space, I tend to think of gadgets more as personal electronic devices &#8212; more like the <a href="http://en.wikipedia.org/w/index.php?title=Gadget&#038;oldid=133723274">Wikipedia definition of Gadget</a>. So I thought &#8220;widget&#8221; (which has a history of implying &#8220;Window Gadget&#8221; in X Windows and elsewhere) was a better term. And I&#8217;m certainly not going to stoop to writing &#8220;widget/gadget&#8221; everywhere.  </p>
<p>So should we all stick with trying to make the generic term for these things &#8220;widget&#8221;?  Or is &#8220;gadget&#8221; the better term? </p>
<p>Next time, we present an erudite discussion of &#8220;soda&#8221; vs. &#8220;pop&#8221; &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/05/27/widgets-vs-gadgets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The mysteries of software development, revealed!</title>
		<link>http://leancode.com/2007/04/25/the-mysteries-of-software-development-revealed/</link>
		<comments>http://leancode.com/2007/04/25/the-mysteries-of-software-development-revealed/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 21:56:06 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/04/25/the-mysteries-of-software-development-revealed/</guid>
		<description><![CDATA[OK, not really. But the problems of large-scale software development are still an obsession for me, despite it being a few years since anyone last tried to shame me into committing to deliver a fixed scope by a fixed date that I had no confidence in. There&#8217;s now an outlet for these thoughts, while not [...]]]></description>
			<content:encoded><![CDATA[<p>OK, not really.  But the problems of large-scale software development are still an obsession for me, despite it being a few years since anyone last tried to shame me into committing to deliver a fixed scope by a fixed date that I had no confidence in.</p>
<p>There&#8217;s now an outlet for these thoughts, while not distracting the gentle readers among you who don&#8217;t have to suffer the frustrations of working in teams. And this blog will continue its focus on the technical and business aspects of building small web tools.</p>
<p>If you&#8217;re at all interested, please head over to <a href="http://leansoftwareengineering.com/2007/04/25/6-things-ive-learned-about-software-development/">our new blog with some wisdom on Lean Software Engineering</a> and <a href="http://feeds.feedburner.com/LeanSoftwareEngineering">join us as a subscriber</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/04/25/the-mysteries-of-software-development-revealed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maxing out your MacBook Upgrade</title>
		<link>http://leancode.com/2007/04/19/maxing-out-your-macbook-upgrade/</link>
		<comments>http://leancode.com/2007/04/19/maxing-out-your-macbook-upgrade/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 00:31:14 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/04/19/maxing-out-your-macbook-upgrade/</guid>
		<description><![CDATA[Running out of space on your MacBook? Things getting slow because you&#8217;re low on memory? Maxing out the disk and memory in your MacBook can be a relatively stress-free and simple process. The only extras you need are an external drive enclosure and software to create a bootable drive image. Apple charges a premium for [...]]]></description>
			<content:encoded><![CDATA[<p>Running out of space on your MacBook?  Things getting slow because you&#8217;re low on memory?</p>
<p>Maxing out the disk and memory in your MacBook can be a relatively stress-free and simple process. The only extras you need are an external drive enclosure and software to create a bootable drive image.</p>
<p>Apple charges a premium for upgrades, so here you get both the benefit of less expensive suppliers and the ability to wait until you really need the extra space down the road &#8212; when components are cheaper.</p>
<p>What worked well for me (my MacBook is a 1st gen Core Duo) basically fits in 3 steps.</p>
<ol>
<li>Buy compatible upgrade gear &#8212; SATA drives and SODIMMs</li>
<li>Put the new drive in the enclosure, connect it to your MacBook, and create a bootable image of your old drive using SuperDuper</li>
<li>Open up your MacBook, swap the old/new drives and memory</li>
</ol>
<p>Now the details on each of these &#8230;</p>
<h3>1. Buy the upgrade gear</h3>
<p>You can buy a complete set of compatible gear from a store like <a href="http://macsales.com/">Other World Computing</a>, or go shopping for individual pieces as I did.</p>
<p><img src='http://leancode.com/wp-content/uploads/2007/04/200-pinsodimmkit_2.gif' alt='SODIMM Pic' / style="float:left; padding: 10px" >On the memory front, I&#8217;ve always had luck with <a href="http://cruicial.com/">crucial.com</a> in terms of identifying the type and amount of memory that can be upgraded.  I bought the <a href="http://www.crucial.com/store/listparts.aspx?model=MacBook+1%2E83GHz+Intel+Core+Duo+%2813%2Dinch+White%29">2GB kit (1GBx2), 200-pin SODIMM  Upgrade for a Apple MacBook 1.83GHz Intel Core Duo (13-inch White) </a> from them (currently $131.99. I paid $203.99 in Feb)</p>
<p>The MacBook is my first laptop with an internal SATA connector for the hard disk (SATA 150 compatible).  That meant none of my existing ATA/IDE enclosures would cut it for the upgrade.  When looking for one to buy, I would have liked to find one that supported Firewire 400 for the external connection, since Firewire gets closer to the actual disk throughput on the Mac (and also on the PC, if you have a few other USB devices attached) &#8212; but only USB 2.0 was available.  If anyone has tried a Firewire 400 enclosure that works, comment and I&#8217;ll update this post.</p>
<p><img src='http://leancode.com/wp-content/uploads/2007/04/sata.jpg' alt='Sata' width="128px" style="float:left; padding: 10px" />I bought the nice little <a href="http://yhst-49197280893764.stores.yahoo.net/mi25insatous.html">Mini 2.5 inch SATA to USB 2.0 Aluminum Enclosure</a> ($24.98) from satadrives.com.</p>
<p>For the drive, 200GB was the largest available. I bought a <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16822149059">Toshiba 200GB 4200 RPM 8MB Cache Serial ATA150 drive</a> ($179.99. I paid $223.99 in Feb)</p>
<h3 style="clear:both">2. Put the new drive in the enclosure, connect it to your MacBook, and create a bootable image of your old drive using <a href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">SuperDuper</a></h3>
<p>Follow the enclosure&#8217;s instructions. For more on the drive image part, SuperDuper&#8217;s defaults do exactly what you want.  But if you want to see more, look at <a href="http://www.macworld.com/weblogs/macgems/2006/04/superduper2/">MacWorld&#8217;s disk cloning with SuperDuper</a> article.  Leave a few hours for this step, as the full drive image will be pounding that USB 2.0 connection and drive for a while.  I initially did this with the free, unlicensed demo of SuperDuper and it was problem-free.  But, especially with your old drive and new enclosure available as a backup destination &#8212; it&#8217;s worth buying a licensed copy to get the faster incremental backup functionality.</p>
<h3>3. Open up your MacBook, swap the old/new drives and memory</h3>
<p>Macworld made a great video to watch before you begin all this, giving you an idea of what&#8217;s ahead.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/8c6ckjy-gdY"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/8c6ckjy-gdY" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
<p>But the best video, one that includes key hints like the amount of force required to re-insert the memory DIMMs is from the good folks at OtherWorldComputing: </p>
<p><a href="http://eshop.macsales.com/tech_center/index.cfm?page=Video/macbook/macbook/high.html">OWC MacBook Upgrade Video</a></p>
<p>Watch that one a few times, possibly keep it up on another PC while upgrading to ease any fears you have.</p>
<p>There you have it.  How is the performance?  Effect on machine temperature?  Subjectively, both have been great.  The memory upgrade and extra cache in the drive overwhelm any disadvantage from the slower 4200RPM rotation speed.  And all that extra space means I finally can develop, listen to music, edit my videos, and still have room for a some VMs or a BootCamp partition on my little wonder laptop.</p>
<p>Notes:</p>
<ul>
<li>Apple doesn&#8217;t mind you upgrading memory, but may charge you extra for any future service to a machine that&#8217;s had a hard disk upgrade.  My local Apple store gave me this warning, but then serviced the machine for free anyway.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/04/19/maxing-out-your-macbook-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textdrive and hpricot</title>
		<link>http://leancode.com/2007/03/12/textdrive-and-hpricot/</link>
		<comments>http://leancode.com/2007/03/12/textdrive-and-hpricot/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 23:43:23 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/03/12/textdrive-and-hpricot/</guid>
		<description><![CDATA[Web hosts have a difficult challenge with their shared servers. Unlike a dedicated box or a virtual private server, they can&#8217;t let users install just anything, because stability for everyone is at stake. I needed the amazing hpricot gem for an app I&#8217;m testing on textdrive. It&#8217;s a native gem that requires a compile step [...]]]></description>
			<content:encoded><![CDATA[<p>Web hosts have a difficult challenge with their shared servers.  Unlike a dedicated box or a virtual private server, they can&#8217;t let users install just anything, because stability for everyone is at stake.</p>
<p>I needed the amazing <a href="http://code.whytheluckystiff.net/hpricot/">hpricot</a> gem for an app I&#8217;m testing on textdrive.  It&#8217;s a native gem that requires a compile step to install, so normal users can&#8217;t do it themselves. I assumed I was stuck.</p>
<p>Within 24 hours of submitting a support ticket, they came through.  Most other shared hosts would have no idea what to do with this. Thanks, Textdrive!</p>
<p>&#8212;&#8212;&#8212;- Forwarded message &#8212;&#8212;&#8212;-<br />
From: Help @ Joyent <support@joyent.com><br />
Date: Mar 12, 2007 1:55 PM<br />
Subject: Update on Your Request {68041}<br />
To: &#8230;</p>
<p>Hi Bernie,</p>
<p>I just installed hpricot on Burnaby. Thanks for hosting with us!</p>
<p>Best regards,<br />
Basil Crow</p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/03/12/textdrive-and-hpricot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic Translation</title>
		<link>http://leancode.com/2007/03/12/automatic-translation/</link>
		<comments>http://leancode.com/2007/03/12/automatic-translation/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 20:17:30 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/03/12/automatic-translation/</guid>
		<description><![CDATA[I&#8217;ve noticed quite a few of the backlinks to my postings are in a variety of languages. I speak only English and a little bit of broken German, but one of the wonderful things about the Seattle area is we have lots of people from around the world attracted here by the jobs (Microsoft, Boeing) [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve noticed quite a few of the backlinks to my postings are in a variety of languages.  I speak only English and a little bit of broken German, but one of the wonderful things about the Seattle area is we have lots of people from around the world attracted here by the jobs (Microsoft, Boeing) and the beauty of the place. More than a third of the residents of my adopted hometown of <a href="http://en.wikipedia.org/wiki/Bellevue,_Washington#Culture">Bellevue, WA</a> were born outside of the US.</p>
<p>It&#8217;s a showcase of our American melting pot, and it reminds you how big this planet is.  </p>
<p>To try and make this content more approachable outside of the US/CN/UK/AU belt, I&#8217;ve added corlosquiles nice, simple <a href="http://carlosquiles.com/indo-european-language-blog/wordpress-translation-plugin/">translation plugin for wordpress</a> to the sidebar.  Machine translation is still rough, ugly, and messy.  But it&#8217;s getting better, and I&#8217;m amazed at what&#8217;s possible today.</p>
<p>How useful is this automatic translation to you? (in English, if you want me to really know. <img src='http://leancode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/03/12/automatic-translation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Updating this site with wordpress</title>
		<link>http://leancode.com/2007/03/01/updating-this-site-with-wordpress/</link>
		<comments>http://leancode.com/2007/03/01/updating-this-site-with-wordpress/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 22:01:39 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/03/01/updating-this-site-with-wordpress/</guid>
		<description><![CDATA[Apologies if you got several old postings in your feed reader this morning. When Feedsparks was released, this blog was hosted on Textdrive. But, unfortunately, the server there has been up and down a lot through late 2006 and early 2007, and it chose to go down for a bunch of hours at that key [...]]]></description>
			<content:encoded><![CDATA[<p>Apologies if you got several old postings in your feed reader this morning.</p>
<p>When Feedsparks was released, this blog was hosted on Textdrive.  But, unfortunately, the server there has been up and down a lot through late 2006 and early 2007, and it chose to go down for a bunch of hours at that key time.  So I did an emergency move to my dedicated server at aplus.net.  As it happens, then aplus had a network problem which caused them to not route packets to the server for 6 or so hours.  So, again at a bad time, the blog had some frustrating downtime.  </p>
<p>Two lessons:  (1) Host small blogs at a blog-specific host like blogger (like <a href="http://berniethompson.com/">http://berniethompson.com/</a> is)&#8211; there&#8217;s been virtually no work to do to keep that running, and now with <a href="http://buzz.blogger.com/2007/01/blogger-custom-domains.html">custom domains</a>,  you can still get the SEO benefits you might be looking for (2) If you do self-host a blog, make sure to have some kind of <a href="http://site24x7.com/">site monitoring</a> going (which I did), also including checking the page for some keyword that should always be there if the page is loading properly, and separate feed monitoring with <a href="http://blogs.feedburner.com/tips/troubleshootize/subscribing_to_your_personal_f/">feedburner feedbulletins</a> (which I didn&#8217;t, causing the blog to be down much longer than it needed to be).</p>
<p>But, in any case, this all made for a good excuse to move to update the blog.  To the latest version of wordpress (2.1), and the site template.  &#8220;veryplaintxt&#8221; is a simple,  widget-friendly template with configurable fonts and column settings.  It has some problems (e.g. no comments on Pages, which I had to fix).  Anyone hate it?</p>
<p>At the same time, all plugins were upgraded.  Some were dropped (e.g. translation links), making the right sidebar a little less crowded. Drop a comment if you miss any of those.  </p>
<p>The blog was also upgraded to the <a href="http://orderedlist.com/wordpress-plugins/feedburner-plugin/">WordPress Feedburner Plugin 2.2</a>.  The previous version exported a separate, special feed URL from the site, which you would give to Feedburner.  Then your &#8216;real&#8217; feed URLs would be redirected to Feedburner&#8217;s groomed versions.  The new plugin introduced a change where you just provide your real feel URLs to Feedburner, and the plugin (through some magic) will special case those requests.  So you have to re-configure where Feedburner grabs your feed.</p>
<p>Which gets us to another problem.  Even though the posting dates don&#8217;t change (and the original dates are still visible), Feedburner treats your new feed address as a bunch of updated posts, and sends them all out again.  So my 58-or-so readers (thankfully, the readership here is still, um, exclusive ..) all got my last 10 postings re-copied to their feed readers.  Yuck.  This seems to be a problem that the plugin or, more likely, feedburner must solve.  </p>
<p>So, apologies for the multiple posts if it affected you.  And anyone know of a way I could have avoided it? </p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/03/01/updating-this-site-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Every Problem is an Opportunity</title>
		<link>http://leancode.com/2007/01/09/every-problem-is-an-opportunity/</link>
		<comments>http://leancode.com/2007/01/09/every-problem-is-an-opportunity/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 17:09:16 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[techbits]]></category>

		<guid isPermaLink="false">http://leancode.com/2007/01/09/every-problem-is-an-opportunity/</guid>
		<description><![CDATA[Apple is set to announce a new product line this morning &#8212; an Apple phone, previously called the iPhone. The Internet is buzzing about this for one simple reason &#8212; the cell phone market today is one huge headache for consumers. The quality of the hardware and especially the software on phones is lousy. The [...]]]></description>
			<content:encoded><![CDATA[<p>Apple is set to announce a new product line this morning &#8212; an <a href="http://news.google.com/news?hl=en&#038;ned=&#038;q=apple+phone&#038;btnG=Search+News">Apple phone</a>, previously called the iPhone.   </p>
<p>The Internet is buzzing about this for one simple reason &#8212; the cell phone market today is one huge headache for consumers.  The quality of the hardware and especially the software on phones is lousy.  The carriers, especially here in the US, are all about lock-ins to long contracts, and towards that goal they use their bag of bait-and-switch, selective crippling, and other lock-in strategies against the consumers that they aught to be serving more honestly.  Microsoft has been doing a better job with Windows Mobile, but still is resistant to open standards at the communication layer (e.g. syncing contacts).</p>
<p>Apple has a track record of taking a broken situation involving complex technology, focusing on the basics, and making it actually work.  In recent years (since the second coming of Jobs), they&#8217;ve flipped to become a fairly steady supporter of standards.  So thus all the hope and hype.</p>
<p>In this case, I have a nagging suspicion that expectations are running ahead of Apple&#8217;s ability to deliver.  Many of the problems are too entrenched &#8212; for example, the rumor is that Apple will launch with Cingular, which is unlikely to change its ways for just this single partnership.</p>
<p>But we will soon see.  The announcement, whatever it is, is minutes away now.  And for anyone with a small business, it&#8217;s always useful to watch as others try, as we do, to turn problems into opportunities.</p>
<p>Technorati tags: <a href="http://www.technorati.com/tag/apple">Apple</a>, <a href="http://www.technorati.com/tag/iphone">iPhone</a>, <a href="http://www.technorati.com/tag/phone">phone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leancode.com/2007/01/09/every-problem-is-an-opportunity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.467 seconds -->
