<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
	<channel>
<title>davidfindlay.org</title><link>http://davidfindlay.org/index.html</link><description>RSS feed for davidfindlay.org</description><dc:language>en</dc:language><dc:creator>Dave Findlay</dc:creator><dc:rights>Copyright 2006-2008 Dave Findlay</dc:rights><dc:date>2008-11-05T22:14:13-05:00</dc:date><admin:generatorAgent rdf:resource="http://www.realmacsoftware.com/" />
<admin:errorReportsTo rdf:resource="mailto:Dave Findlay" /><sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
<lastBuildDate>Wed, 05 Nov 2008 23:48:11 -0500</lastBuildDate><item><title>Drawdio</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-11-05T22:14:13-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008-11-5-drawdio.php#unique-entry-id-74</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008-11-5-drawdio.php#unique-entry-id-74</guid><content:encoded><![CDATA[A friend at work put me onto <a href="http://www.ladyada.net/rant/" rel="self">ladyada&rsquo;s blog</a> recently. I&rsquo;m a fan of her work: I built her <a href="http://davidfindlay.org/weblog/files/minipov.php" rel="self">MiniPOV</a> kit a while back and really enjoyed it, and I&rsquo;d recently picked up a couple of Arduino shield kits from her (that I haven&rsquo;t had time to build yet), so I was interested to keep up on her projects.<br /><br />On her blog I <a href="http://www.ladyada.net/rant/2008/10/new-kit-drawdio-makes-music-while-you-draw/" rel="self">came across the Drawdio</a>, a kit originally designed by J Silver (<a href="http://drawdio.com" rel="self">http://drawdio.com</a>). It uses a standard pencil and generates fun sounds using the conductivity of the carbon in the &lsquo;lead&rsquo;.<br /><br />Here&rsquo;s my one:<br /><br /><a href="http://www.flickr.com/photos/finsprings/3007234492/" rel="self"><img class="imageStyle" alt="img_2987" src="http://davidfindlay.org/weblog/files/page1_blog_entry74-img_2987.jpg" width="465" height="290"/></a><br /><br />I had been looking for a quick and cheap project to tryout my new <a href="http://www.amazon.com/gp/product/B000ARU9PO?ie=UTF8&tag=davidfindlayo-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=B000ARU9PO">soldering iron</a><img src="http://www.assoc-amazon.com/e/ir?t=davidfindlayo-20&l=as2&o=1&a=B000ARU9PO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> anyway, and this seemed to fit the bill; plus, the kids would like it, right?<br /><br />It only has a few through-hole parts so it doesn&rsquo;t take very long to assemble the kit at all, even for someone as inept at soldering as I am (loving that <a href="http://www.amazon.com/gp/product/B000ARU9PO?ie=UTF8&tag=davidfindlayo-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=B000ARU9PO">Weller WESD51</a><img src="http://www.assoc-amazon.com/e/ir?t=davidfindlayo-20&l=as2&o=1&a=B000ARU9PO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by the way: beats the pants off my old chisel-style iron).<br /><br />The end result is pretty fun to play with, the only negative being that it could stand to be a bit louder. I&rsquo;m not sure if I&rsquo;m up to it, electronics-skillz-wise, but maybe I can hack in an amp someday?<br /><br />Here&rsquo;s a video (with apologies for the hairdryer sounds of my knoppmyth box&rsquo;s fans in the background), so you can hear what it sounds like:<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/p2gGSlJoVkw&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/p2gGSlJoVkw&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>]]></content:encoded></item><item><title>Still Here</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-09-01T22:48:16-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008-09-01-stillhere.php#unique-entry-id-73</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008-09-01-stillhere.php#unique-entry-id-73</guid><content:encoded><![CDATA[I&rsquo;m still here &mdash; really. Work has been mad as always, my son just started Kindergarten and my daughter just started Second Grade, and I&rsquo;ve been building a chicken coop too.<br /><br />I&rsquo;ve also been doing a fair bit of mucking around with building the upcoming R1.3 release of software for the <a href="http://buglabs.net/products" rel="self">Bug</a>. They switched their build system from <a href="http://savannah.nongnu.org/projects/ltib" rel="self">LTIB</a> to <a href="http://pokylinux.org/" rel="self">Poky Linux</a>:<br /><br /><a href="http://pokylinux.org" rel="self"><img class="imageStyle" alt="Picture 2" src="http://davidfindlay.org/weblog/files/page1_blog_entry73-Picture 2.png" width="207" height="219"/></a><br /><br />That Poky Linux beaver may be the cutest darn thing I&rsquo;ve ever seen, but I digress. The Bug now sports the <a href="http://matchbox-project.org/" rel="self">Matchbox</a> window manager rather than old man <a href="http://en.wikipedia.org/wiki/Tom's_Window_Manager" rel="self">twm</a> (we&rsquo;ll miss you <a href="http://en.wikipedia.org/wiki/Xeyes" rel="self">xeyes</a>). It looks great, and the new touch screen driver is much more responsive than the old one. More on this when I&rsquo;ve had more time to play with it.<br /><br />For kicks, I just uploaded my Technical Books shelf (okay, the only one I bothered to scan books for at all) from <a href="http://delicious-monster.com/" rel="self">Delicious Library</a> to <a href="http://homepage.mac.com/finsprings/deliciouslibrary/" rel="self">MobileMe</a>. They did a pretty nice job making it look shiny:<br /><br /><a href="http://homepage.mac.com/finsprings/deliciouslibrary/" rel="self"><img class="imageStyle" alt="Delicious Library" src="http://davidfindlay.org/weblog/files/page1_blog_entry73-DeliciousLibraryHeader.png" width="472" height="245"/></a><br /><br />I feel compelled to point out that the old ActionScript books are there because of my wife&rsquo;s Chumby (stagnating plans to write a widget for it).<br /><br />Okay, back to reading some Arduino stuff&hellip;]]></content:encoded></item><item><title>Accessing the OS X Services Menu programmatically</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-07-28T00:02:56-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008-07-28-services-menu.php#unique-entry-id-72</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008-07-28-services-menu.php#unique-entry-id-72</guid><content:encoded><![CDATA[Work has been exceedingly busy lately, but I have found some time to get most of the way through Aaron Hillegass&rsquo;s excellent 3rd edition of <a href="http://www.amazon.com/exec/obidos/ASIN/0321503619/ref=nosim/davidfindlay-o20" rel="self">Cocoa Programming for Mac OS X</a>.<br /><br />The book is well written and well organized. I&rsquo;m an experienced non-Apple programmer, but this was my first foray into Objective C and Cocoa, and my first time using Xcode. As a C++ guy, I can&rsquo;t always bring myself to like the way Objective C goes about things, but there is a certain elegance in its simplicity. I&rsquo;m also impressed with Xcode and with Cocoa. I&rsquo;ve never done much in the way of visual programming, but I am obliged to use Visual Studio for work, and on occasion (I don&rsquo;t know MFC, really, I don&rsquo;t) I&rsquo;ve done some minor GUI stuff with it and always found it most distasteful. Cocoa and Xcode just blow it away: proper separation of model, view and controller!<br /><br />Falling back to my non-visual roots, I thought it would be interesting to see what it would take to make a command-line utility that would open up a list of files in <a href="http://aquamacs.org/" rel="self">Aquamacs Emacs</a> (like <a href="http://manual.macromates.com/en/using_textmate_from_terminal.html" rel="self">mate</a> does for TextMate). (Aquamacs Emacs will accept multiple files via <span style="font:12px Courier, mono; ">open -a Aquamacs\ Emacs</span>, and I have an alias set up to do that, so I don&rsquo;t actually need this utility, but it fit the bill for a good, small, learning task.)<br /><br />I struggled a bit with path manipulation - there has to be a better way to convert from relative to absolute than I came up with - and I only made it open one file, although it would be trivial to add a loop (multiple service calls - it won&rsquo;t take multiple files in one) to cope with that. I also had to do a bit of googling to figure out the incantantion to get my file onto the pasteboard properly.<br /><br />So, it&rsquo;s certainly sub-optimal, but it does at least work. Here&rsquo;s the <a href="http://pastie.textmate.org/private/caabbklcrd8g0wxzmj0w" rel="self">code</a>. It just takes the (first, absent the loop) file name from the command line arguments, places it on the appropriate pasteboard, then invokes <em>Services/Aquamacs Emacs/Open Selected File</em>.<br />]]></content:encoded></item><item><title>Radiohead Nude Remix</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-06-06T22:32:13-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_06_06_radiohead_nude.php#unique-entry-id-71</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_06_06_radiohead_nude.php#unique-entry-id-71</guid><content:encoded><![CDATA[This remix of Radiohead&rsquo;s Nude by James Houston is strangely wonderful. I haven&rsquo;t seen an EPSON LX-86 in ages...(hang on until at least 1:10 in before you give up)<br /><br /><object width="400" height="225">	<param name="allowfullscreen" value="true" />	<param name="allowscriptaccess" value="always" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1109226&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />	<embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1109226&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><br /><a href="http://www.vimeo.com/1109226?pg=embed&sec=1109226">Big Ideas (Don't get any)</a> from <a href="http://www.vimeo.com/user354216?pg=embed&sec=1109226">1030</a> on <a href="http://vimeo.com?pg=embed&sec=1109226">Vimeo</a>.<br /><br />More details <a href="http://vimeo.com/1109226" rel="self">here</a>.]]></content:encoded></item><item><title>From iSight to Chumby with love</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-05-04T22:58:09-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_05_04_isight_chumby.php#unique-entry-id-69</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_05_04_isight_chumby.php#unique-entry-id-69</guid><content:encoded><![CDATA[Since my wife got her Chumby, I've been reading up on ActionScript. It's not been a terribly amusing process, and I haven't had much time to devote to it, so I haven't gotten any further than a prototype recipe chumbifier widget so far.<br /><br />Then the other day I was perusing the available widgets on chumby.com and came across, in the web-cams sections, a widget that will display and poll an arbitrary image given a URL. I thought it might be fun to make a self-spy cam, as it were, and have my MacBook upload the iSight camera image every few minutes while I was work. Then my ugly mug would show up on my wife's Chumby, between Chuck Norris Facts and the San Diego Zoo's panda cam.<br /><br />My first thought was to use Automator for this task. It has iSight support, and Transmit has Automator support, so it should have been pretty easy to take the picture and upload it to one of my websites. But Automator apparently insists on doing the 3-2-1-beep/flash means of taking a picture, as in Photo Booth. Putting up with that every few minutes would be irritating to say the least. So I did a quick google and came across <code><a href="http://www.intergalactic.de/pages/iSight.html" rel="self">isightcapture</a></code>. isightcapture is a command-line application that captures an image from your iSight camera and saves it to file. It was a simple matter to put together a shell script to capture the image and then use <code>scp</code> to upload it to my web host (I already had SSH public key authentication configured on the host, so I didn't need to worry about having to enter a password).<br /><br />This is pretty good; we have our image automatically taken and uploaded, ending up with something like this:<br /><br /><img class="imageStyle" alt="Raw" src="http://davidfindlay.org/weblog/files/page1_blog_entry69-grabme_raw.png" width="384" height="288"/><br /><br /><strong>Tweaking the Image</strong><br />So far, so good; but  there is room for improvement: 1) at 640x480 it's twice as big as the Chumby wants; 2) how would my wife know when the picture was taken? <code>isightcapture</code> can resize the picture, but let's pretend it can't. My wife likely doesn't care when the picture was taken, but let's pretend that she does. Humour me here, okay?<br /><br />Is there something out there that could solve both of these problems? Something free? Why yes. Enter <a href="http://www.imagemagick.org/script/index.php" rel="self">ImageMagick</a>. ImageMagick is an excellent full-featured image manipulation toolkit; indeed, you will see it prominently featured in the Acknowledgements section of Pixelmator, for example. It also is command-line driven, which is perfect for what I wanted to do here: resize the image and annotate it with a timestamp prior to uploading it. So, I built ImageMagick via via <a href="http://www.macports.org/" rel="self">MacPorts</a> and added a call to its <code><a href="http://www.imagemagick.org/script/convert.php" rel="self">convert</a></code> tool to my script with the following options:<br /><br /><code>+contrast +contrast +contrast -noise 3 -resize 320 -stroke blue -fill white -pointsize 18 -font Arial-Bold -annotate +20+20 "$(date '+%a %m/%d %H:%M')"</code><br /><br />That's a bit of a mouthful, so let's break it down:<br /><code>+contrast +contrast +contrast</code>	bumps up the contrast a little, as my iSight happens to face a window in my office;<br /><code>-noise 3</code>	denoises the image, which looks pretty pixelly in the poor light of my office;<br /><code>-resize 320</code>	resizes the image proportionally to a width of 320 pixels;<br /><code>-stroke blue -fill white</code>	sets the text to be white with a blue outline;<br /><code>-pointsize 18 -font Arial-Bold</code>	sets the text to be 18pt Arial Bold;<br /><code>+20+20</code>	sets the text origin at 20 pixels in and down (respectively) from the top left-hand corner;<br /><code>"$(date '+%a %m/%d %H:%M')"	</code>runs the command-line date program to get the timestamp in the format that I want: <code>Sun 05/04 23:28</code><br /><br />Running <code>convert</code> on our raw image with those options gives us:<br /><br /><img class="imageStyle" alt="grabme_final" src="http://davidfindlay.org/weblog/files/page1_blog_entry69_2.png" width="320" height="240"/><br /><br />Great! We now have an automatically-annotated image.<br /><h4></h4><strong>Automation<br /></strong>Now all that remains is to automate the process of running the shell script every few minutes, so that the image the Chumby will download from the website will actually change.<br /><br />You could use <code>cron</code> or <code>launchd</code> for this. Unfortunately, Apple recently changed things so that <code>isightcapture</code> wouldn't work from background daemons, likely as part of some security update. Fair enough, I suppose. To get round this we must introduce another quirk: a little AppleScript to make our script execute in the user's 'face', so that it can access the camera. To do this open up Script Editor and create a script with a line similar to the following:<br /><br /><span style="font:12px Verdana, serif; color:#0000FF;">do shell script</span> <span style="font:12px Verdana, serif; ">"/Users/dave/bin/grabme"</span><br /><br />Save your script out as an application. In my case I made it <code>grabme.app</code>.<br /><br />Now we can set up cron to run our AppleScript for us, by adding a line to our <code>crontab</code>:<br /><br /><code>0,15,30,45	10-17	*	*	1-5	open /Users/dave/bin/grabme.app</code><br /><br />This example will take a picture every 15 minutes between 10am and 5:45pm, Monday through Friday.<br /><br /><strong>On the Chumby<br /></strong>So now we have our image automatically captured and uploaded when we want it to. The next step is to configure the Chumby to display the image. In the widget selector on chumby.com, go to <em>Webcams</em> and then choose <em>Load Image From URL</em>. Put the widget in the channel you of your choice and then customize it with the URL your image is available at. Be sure to select the <em>prevent Caching</em> radio button.<br /><br />After all that you should be "rewarded" with:<br /><br /><img class="imageStyle" alt="iSight on Chumby" src="http://davidfindlay.org/weblog/files/page1_blog_entry69-isight_on_chumby.png" width="465" height="360"/><br />]]></content:encoded></item><item><title>ShareBuilder lets me down: Trusting Email Delivery</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-04-25T23:20:25-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_04_25_email.php#unique-entry-id-68</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_04_25_email.php#unique-entry-id-68</guid><content:encoded><![CDATA[I opened a ShareBuilder account in January so that I could buy a single share of Apple when it dropped from $200 to $130. I have an ING Direct account, and they recently acquired ShareBuilder, and with their no minimums approach it seemed to be a good fit.<br /><br />So, I bought my share for $130 plus a $10 transaction fee and didn't think much more about it. I set up the Stock widget in Dashboard to watch AAPL and was pleased to see it up to around $167 this week. Then I got an email from ShareBuilder acknowledging the transfer of funds from my account. I was very concerned, since I had made no such transfer. I immediately called them, and they told me that they had closed my account because they were unable to verify the information I had supplied when opening the account. They couldn't even tell me what part they had a problem with. Apparently they had sent me an email about it back in January; an email that I never received. One...single...email. I explained I had not received the email and they confirmed they had not bothered to make any kind of follow up whatsoever: no second email, no phone call, nothing. So they sold my share for the exact amount I originally bought it at and initiated the transfer of the money back to my checking account.<br /><br />Nice, huh? Who on earth uses a one-time email for something as critical as this? I don't expect personal service from an online provider on a daily basis, but I don't think it's too much to expect them to be a little more proactive before choosing to sell my portfolio and close my account. Now, I'm only out $30 so far on them selling my share before I wanted to, but what if I'd bought 1000 shares? Plus, how annoyed am I going to be once Apple's back to $200 and head north from there?<br /><br />As you can imagine, I declined their pathetic offer of one free trade and the 'opportunity' to go through the activation process again.]]></content:encoded></item><item><title>BUG Unboxing</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-04-17T21:26:35-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_04_17_bugbundle.php#unique-entry-id-67</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_04_17_bugbundle.php#unique-entry-id-67</guid><content:encoded><![CDATA[<img class="imageStyle" alt="BUGbase" src="http://davidfindlay.org/weblog/files/page1_blog_entry67-BUGbase.jpg" width="465" height="349"/><br />My <a href="http://store.buglabs.net/BUGbundle" rel="self">BUGbundle</a> arrived yesterday. I put a set of unboxing pictures of it on <a href="http://flickr.com/photos/finsprings/sets/72157604580497365/" rel="self">Flickr</a>. I pinged Engadget after I posted them, since they've been following the BUG for a while. I didn't really expect them to pick it up, but <a href="http://www.engadget.com/2008/04/17/bug-labs-hiro-p-edition-bugbase-kit-gets-unboxed/" rel="self">they did</a>. My Flickr stats will be forever skewed ;-)<br /><h4>UPDATE:</h4>Yup, 30000+ views of those Bug pictures in the last day and a half:<br /><br /><img class="imageStyle" alt="Flickr Stats" src="http://davidfindlay.org/weblog/files/page1_blog_entry67-FlickrStats.png" width="465" height="132"/>]]></content:encoded></item><item><title>New British Coins</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-04-03T19:59:19-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_04_03_british_coins.php#unique-entry-id-66</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_04_03_british_coins.php#unique-entry-id-66</guid><content:encoded><![CDATA[Okay, so this isn't really tech-related, but the new British coin designs are seriously stylish!<br /><br /><a href="http://www.royalmint.com/newdesigns/designsRevealed.aspx" rel="self"><img class="imageStyle" alt="New British Coins" src="http://davidfindlay.org/weblog/files/page1_blog_entry66-new_british_coins.jpg" width="465" height="141"/></a><br />Thanks to <a href="http://daringfireball.net/linked/2008/april#wed-02-change" rel="self">Gruber</a> for the link.<br />]]></content:encoded></item><item><title>Come in Chumby</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-04-03T19:43:18-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_04_03_chumby.php#unique-entry-id-65</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_04_03_chumby.php#unique-entry-id-65</guid><content:encoded><![CDATA[<span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">So, my copy of </span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.linuxjournal.com/" rel="self">Linux Journal</a></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "> arrived in the post the other day. I happened to show the front cover to my wife, and happened to point at the </span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://chumby.com/" rel="self">Chumby</a></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "> that was featured there. She saw what it could do and asked for one for her birthday, which happens to be just around the corner. So now </span><s>I'm</s><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">she's getting a Chumby! I know </span><s>I'll</s><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">she'll like it a lot.<br /><br />I've been looking at the Chumby for quite a while, but the flash-only GUI put me off. However, the LJ article points out that you can save OpenOffice presenations to flash, and of course Keynote can do that as well. In the article, the author used that to create recipe cards that you could view on the Chumby, which I thought was a great idea. The Chumby folks are keeping the device as open as they can, so there should be opportunity to do some good ol' hackery on it too.<br /><br />For example, if you </span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://wiki.chumby.com/mediawiki/index.php/Chumby_tricks#Hidden_screen_in_Control_Panel" rel="self">turn on a slightly hidden setting</a></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">, you can enable SSH, and you get this neat welcome message when you sign in:<br /><br /></span><a href="http://www.flickr.com/photos/ericrice/2284933079/sizes/m/" rel="self"><img class="imageStyle" alt="Chumby SSH Welcome Screen" src="http://davidfindlay.org/weblog/files/page1_blog_entry65-chumb_ssh.jpg" width="464" height="508"/></a><br /><br />It runs the Freescale iMX21 processor, which is a little old in the tooth - stuck on a 2.4 kernel for example - but still, it should be fun. By comparison, the <a href="http://buglabs.net/" rel="self">Bug</a> runs an iMX31 on a 2.6 kernel, but then it goes for $549 and the Chumby is only $179. My only real concern with the Chumby is the feeds concept, where it seems possible that they might push stuff to your Chumby that you didn't necessarily ask for, like adverts for example. But even then, since it's open you could just stop pointing it at their site and do your own thing.<br /><br />I'll post back once I've had a chance to <s>play with it</s>set it up.]]></content:encoded></item><item><title>Larry Lessig using Keynote</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-04-03T19:36:49-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_04_03_lessig.php#unique-entry-id-64</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_04_03_lessig.php#unique-entry-id-64</guid><content:encoded><![CDATA[<span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">Video of Larry Lessig's </span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.apple.com/iwork/keynote/" rel="self">Keynote</a></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "> slides while talking at Penn. Very interesting, and effective style. I wonder what sort of clicker he's using: the standard Apple Remote maybe?<br /><br /><object type="application/x-shockwave-flash" data="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&feedurl=http%3A%2F%2Flessig%2Eblip%2Etv%2Frss%2Fflash&file=http%3A%2F%2Fblip%2Etv%2Frss%2Fflash%2F790557&brandlink=http%3A%2F%2Flessig%2Eblip%2Etv&brandname=lessig%2Eblip%2Etv&showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" width="400" height="255" allowfullscreen="true" id="showplayer"><param name="movie" value="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&feedurl=http%3A%2F%2Flessig%2Eblip%2Etv%2Frss%2Fflash&file=http%3A%2F%2Fblip%2Etv%2Frss%2Fflash%2F790557&brandlink=http%3A%2F%2Flessig%2Eblip%2Etv&brandname=lessig%2Eblip%2Etv&showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" /><param name="quality" value="best" /><embed src="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&feedurl=http%3A%2F%2Flessig%2Eblip%2Etv%2Frss%2Fflash&file=http%3A%2F%2Fblip%2Etv%2Frss%2Fflash%2F790557&brandlink=http%3A%2F%2Flessig%2Eblip%2Etv&brandname=lessig%2Eblip%2Etv&showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" quality="best" width="400" height="255" name="showplayer" type="application/x-shockwave-flash"></embed></object></span>]]></content:encoded></item><item><title>Cabel Sasser&#x27;s talk at C4</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-03-30T22:17:47-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_03_30_cabel_sasser_c4.php#unique-entry-id-63</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_03_30_cabel_sasser_c4.php#unique-entry-id-63</guid><content:encoded><![CDATA[<span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">I just finished watching </span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.cabel.name/" rel="self">Cabel Sasser</a></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">, from </span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.panic.com/" rel="self">Panic Software</a></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">, talking about the design and development of </span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.panic.com/coda/" rel="self">Coda</a></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">, their website development application, at the </span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://en.wikipedia.org/wiki/C4_(conference)" rel="self">C4</a></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "> Macintosh Developers' Conference. He's a great speaker: very dynamic, and funny, and his mannerisms bear an eerie resemblance to those of someone who used to work with me. His Keynote slides were good too; I must remember to include a vomiting kid in my next presentation!<br /><br />Here's the video from the talk; highly recommended.<br /><br /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler_rentzsch_14"><param name="movie" value="http://www.viddler.com/player/66539611/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="http://www.viddler.com/player/66539611/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_rentzsch_14" ></embed></object></span>]]></content:encoded></item><item><title>Lambda Functions and Closures officially in C++0x</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-03-29T23:53:09-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_03_29_closures_in_cplusplus.php#unique-entry-id-62</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_03_29_closures_in_cplusplus.php#unique-entry-id-62</guid><content:encoded><![CDATA[Herb Sutter just <a href="http://herbsutter.spaces.live.com/Blog/cns!2D4327CC297151BB!785.entry" rel="self">posted</a> about the most recent ISO C++ Standards Meeting. The most exciting news is that <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2550.pdf" rel="self">lambda functions and closures</a> have been officially voted into C++0x! This is really going to make taking advantage of the Standard Algorithms much more straightforward.<br />Here's a little taste from Herb's post:<br /><pre><br /><span style="font:11px Verdana, serif; color:#444444;">In C++0x, you can just write:<br />// Calling find_if using a lambda, in C++0x:<br />find_if( w.begin(), w.end(),<br />    </span><span style="font:11px Verdana, serif; color:#00107C;">[]( const Widget& w ) -> bool { w.Weight() > 100; }</span><span style="font:11px Verdana, serif; color:#444444;"> );<br /></span></pre><br />Yes, you can already achieve the same thing today, with a standard binary predicate and a helper, thusly:<br /><br /><span style="font:12px Courier, mono; ">find_if(w.begin(), w.end(), bind2nd(greater&lt;int&gt;(), 100));</span><br /><br />but it isn't nearly as easy on the eye, is it?<br /><br />Lambda functions will also make it a lot easier in situations where now you'd be forced to use a custom predicate; previously you'd have to: create a functor; remember to make it inherit from <span style="font:12px Courier, mono; ">std::unary_function</span> or <span style="font:12px Courier, mono; ">std::binary_function</span> for completeness; stick it in an anonymous namespace (optional but recommended; and finally, use it in your invocation of one of the standard algorithms. That works, but if you're coding a <span style="font:12px Courier, mono; ">for_each</span>, because you're trying to be good and not write a loop on an STL container by hand, then having the interesting part of the loop in a functor makes the code much harder to follow: instead of it being right there in the loop, it has to be somewhere else, breaking up the flow of the logic in the poor reviewer's head.]]></content:encoded></item><item><title>New Look</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-03-29T21:49:38-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_03_29_new_look.php#unique-entry-id-61</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_03_29_new_look.php#unique-entry-id-61</guid><content:encoded><![CDATA[As you may have noticed - in the unlikely event that: a) you're reading this at all; and b) you're not reading it in a news reader - that I switched the site from RapidWeaver's built-in iPhone theme to <a href="http://www.seydesign.com/themes/dogpress/index.php" rel="self">seyDesign's dogPress theme</a>.<br /><br />I am still not happy with it, but then <a href="http://davidfindlay.org/weblog/files/2008_03_18_webdesigntoffee.php" rel="self">I can't do web design for toffee</a>, so I'll just have to be okay with the fact that it at least looks a tad better. It's still too narrow, and I had to pants around making the images smaller as the hard edge now makes them look awful when they stick out. RapidWeaver makes this inconceivably (I'll wait for you to reminisce about the Princess Bride here...okay, let's continue) painful. It lulls you into a false sense of security, because it does have a built-in feature to let you scale images, right in its Media Inspector:<br /><br /><img class="imageStyle" alt="RapidWeaver's Media Inspector" src="http://davidfindlay.org/weblog/files/page1_blog_entry61-rw_media_inspector.png" width="352" height="518"/><br /><br />Handy, right? Well, the problem is it that if you check "Scale Image" and start modifying the percentage, it does <strong>not</strong> update the height and width values shown below, or show the new values anywhere else that I could see. My theme has a constrained width for images of about 465 pixels, which I determined from experimentation. If scaling would update the size fields, I could just reduce the percentage until the height showed 465. But, because it doesn't, I have no choice but to disable it and scale the image by hand. So I enter the height of 465 and then determine the new height with <em>465/original-width*original-height</em>. The only saving grace here is that Spotlight will do basic calculations right in its search window:<br /><br /><img class="imageStyle" alt="Spotlight Calculator" src="http://davidfindlay.org/weblog/files/page1_blog_entry61-spotlight_calculator.png" width="363" height="158"/><br /><br />Very handy, but RapidWeaver should not have made me use it in the first place.<br /><br />RapidWeaver also won't let you preview old blog posts; normally that wouldn't be an issue, but it was for me when trying to find all the images that were too wide for the new theme. I ended up publishing the site as-is then using Safari to walk though it all and find the problem articles.<br /><br />I picked the blue variant of the dogPress theme and tuned the title and sub-title colours a little. I then used a photograph of The Gateway Arch in Saint Louis to make the header my own. Here's the original shot:<br /><br /><a href="http://flickr.com/photos/finsprings/76480274/" rel="self"><img class="imageStyle" alt="Gateway Arch" src="http://davidfindlay.org/weblog/files/page1_blog_entry61-gateway_arch.jpg" width="465" height="321"/></a><br /><br />I took this in 1992 with my Olympus &mu;1, a very compact and cool-looking (IMHO) film camera. I held it against the side of the arch pointing up; if you look closely, you'll see the observation windows at the top of the arch in the center of the image.<br /><br />So whaddya reckon? Less or more ugly than before?]]></content:encoded></item><item><title>SQLite</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-03-23T00:20:13-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_03_23_sqlite.php#unique-entry-id-60</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_03_23_sqlite.php#unique-entry-id-60</guid><content:encoded><![CDATA[We've incorporated <a href="http://sqlite.org/" rel="self">SQLite</a>* into a project at work recently. If you haven't come across it before, SQLite is "a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine". Pretty good for a library that weighs in at less than 250KB, huh? It's also trivial to embed, with its amalgamated version (where much of the precompilation is done already) consisting of just one C source file and one header file. There are also wrappers for SQLite's C API available for lots of languages, from PHP to Tcl/Tk; there's even an ODBC driver for it if you're into that sort of thing.<br /><br />You can use a command line tool to interact with the database, or more commonly, you can integrate the library into your application directly. It's very full featured, with only a few SQL features missing (right outer joins, updatable views, foreign key enforcement, and a couple of other things), so you can perform some pretty powerful operations on your data right out of the box.<br /><br />Transactions use a journal file, so if power is lost during an update, SQLite will automatically rollback the incomplete transaction when power is resumed. This robustness, couple with its size, makes SQLite very popular with embedded device and cell phone manufacturers. It's used in many cell phones, and it is embedded into Apple Mail and many other common applications, including Firefox.<br /><br />The implementation of SQLite is pretty interesting, in that it compiles statements to byte code for its own virtual machine when you prepare them. The command line tool even has an <span style="font:12px Courier, mono; ">EXPLAIN</span> command that lets you see the byte code that a statement will generate, so you can see how it will run and potentially do some optimization. The code is well written and well documented. The code base has a 60/40 split between test code and source code and its regression tests have 98% code coverage. I wish I could say that about all of the projects that I've worked on over the years.<br /><br />Here's some resources if you would like to find out more about SQLite:<br /><br />- Leo Laporte and Randal Schwartz talked to SQLite's author D. Richard Hipp recently on <a href="http://twit.tv/floss26" rel="self">episode 26</a> of the FLOSS podcast.<br /><br />- There is an <span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.amazon.com/gp/product/1590596730?ie=UTF8&tag=davidfindlayo-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1590596730">excellent book</a><img src="http://www.assoc-amazon.com/e/ir?t=davidfindlayo-20&l=as2&o=1&a=1590596730" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></span> on SQLite by Mike Owens. It covers all aspects of SQLite, from its inception to writing extensions for it. There's also a couple of chapters that provide a nice introduction to relational database theory, and SQL. The only bad thing I can say about this book is that its index is next to useless.<br /><br />- There's also a nice video of D. Richard Hipp presenting <em>"An Introduction to SQLite"</em> at Google in May of 2006:<br /><br /><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-5160435487953918649&hl=en" flashvars="&subtitle=off"> </embed><br /></span><br /><br /> <em>*Pronounced ess-que-ell-lite according to its author (and he should know).</em><br />]]></content:encoded></item><item><title>Firefox 1.0: the NY Times ad</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-03-22T23:29:05-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_03_22_firefox_1.php#unique-entry-id-59</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_03_22_firefox_1.php#unique-entry-id-59</guid><content:encoded><![CDATA[As the release of Firefox 3 draws nearer, I thought it might be fun to look back at the NY Times 2-page advertisement from December 15th, 2004. You can <a href="http://davidfindlay.org/nytimes-firefox-final.pdf" rel="self">get the full PDF</a> from my site, but here's a couple of smaller shots of it:<br /><br /><p style="text-align:center;"><img class="imageStyle" alt="Firefox Ad: Page 1" src="http://davidfindlay.org/weblog/files/page1_blog_entry59-firefox_ad_page1.png" width="308" height="494"/><br /><br /><img class="imageStyle" alt="Firefox Ad: Page 2" src="http://davidfindlay.org/weblog/files/page1_blog_entry59-firefox_ad_page2.png" width="307" height="494"/><br /><br /><br /></p><p style="text-align:left;">And, hidden in the piece of land eminating from the fox's nether regions, is my name. Can you spot it?<br /><br /></p><p style="text-align:center;"><img class="imageStyle" alt="Firefox Ad: Closeup" src="http://davidfindlay.org/weblog/files/page1_blog_entry59-firefox_ad_closeup.png" width="399" height="313"/><br /><br /></p><p style="text-align:left;">In the 3+ years since it was released, Firefox has done amazingly well, sitting at around a 17% market-share right now according to <a href="http://marketshare.hitslink.com/report.aspx?qprid=0" rel="self">netapplications</a>. It pleases me to see an open source project scale to the level that Firefox has, take on the status quo and do so well. Version 3 Beta 4 looks pretty nice on the Mac too.</p>]]></content:encoded></item><item><title>MythTV on mac</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-03-22T23:06:01-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_03_22_mythtv.php#unique-entry-id-58</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_03_22_mythtv.php#unique-entry-id-58</guid><content:encoded><![CDATA[I repurposed my Pentium 4 HT tower a while back (no more Windows!) to run <a href="http://mysettopbox.tv/knoppmyth.html" rel="self">knoppmyth</a>, a custom Linux distribution for <a href="http://www.mythtv.org/" rel="self">MythTV</a> that makes it as easy as possible to set up a beige box as a PVR. In our house, this box's primary purpose is to record <em>Spongebob Squarepants</em> ad infinitum, with the occasional <em>Daily Show with John Stewart</em> thrown in for the adults. It works great; I don't even have a monitor hooked up to it anymore, just the TV with the <a href="http://www.hauppauge.com/site/products/data_pvr350.html" rel="self">Hauppauge 350</a>'s IR sensor hot-glued to the front.<br /><br />MythTV is often used just like this, with a single machine hooked up to a single television or monitor. However, it can also act as a media server for your network, making all the recorded shows, your music files and pictures available to any other machine on your network running the MythTV frontend. So, I was pleased to fine pre-built binaries of the MythTV frontend for OS X over on <a href="http://www.mythtv.org/wiki/index.php/Myth_on_Mac_OS_X" rel="self">their wiki</a>. I downloaded one from <a href="http://www.thesniderpad.com//component/option,com_remository/Itemid,36/func,select/id,2/" rel="self">The Snider Pad</a> and didn't have too much trouble getting it up and running. All I had to do was change the permissions in the MySQL configuration file on the MythTV box to allow non-localhost connections (set <span style="font:12px Courier, mono; ">bind-address</span> to <span style="font:12px Courier, mono; ">0.0.0.0</span> in <span style="font:12px Courier, mono; ">/etc/mysql/my.cnf</span>). After that, I could sit on my bed with the MacBook on its 802.11b connection and watch any of the recorded shows, or live TV even, remotely from my MythTV box.<br /><br />Here's the main menu:<br /><br /><img class="imageStyle" alt="MythTV menu on the MacBook" src="http://davidfindlay.org/weblog/files/page1_blog_entry58-mythtvmenu.png" width="449" height="291"/><br /><br />From there I'm only a couple of clicks from:<br /><br /><img class="imageStyle" alt="A yellow sponge character on MythTV" src="http://davidfindlay.org/weblog/files/page1_blog_entry58-mtythv_spongebob.png" width="449" height="291"/><br /><br />...wait, that's not the Daily Show...but I haven't seen this episode before...]]></content:encoded></item><item><title>The Way of the Brew Peg</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-03-19T21:30:54-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_03_19_brewpeg.php#unique-entry-id-57</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_03_19_brewpeg.php#unique-entry-id-57</guid><content:encoded><![CDATA[I've been a software engineer for quite a while now. How long, you ask? Let's just say that the <a href="http://en.wikipedia.org/wiki/Waterfall_model" rel="self">waterfall model</a> was state of the art when I was studying* for my CS degree. Actually, despite it being the title on my business card, I've always been reluctant to refer to myself as an engineer; writing code has always seemed to me more of a creative process, than one of precision as would befit the title "engineer". Code is constrained more by the experience and imagination of its creator, than by such practical considerations as capacitance and resistance that are the realm of an electrical engineer, to whom the title of engineer seems far more apropos.<br /><br />But that isn't to say that the work days of we <a href="http://en.wikipedia.org/wiki/Code_monkey" rel="self">code monkeys</a> are entirely devoid of process. I think it is terribly important to learn from the mistakes we've made in the past. We've learned that customers could not reasonably be expected to completely understand up front what it is they wanted a computer program to do; and so, the rather rigid waterfall model fell by the way side. In its stead we now see predominately <a href="http://en.wikipedia.org/wiki/Iterative_development" rel="self">iterative</a> models, with <a href="http://en.wikipedia.org/wiki/Agile_software_development" rel="self">Agile</a> seemingly leading the charge these days. This is all good progress, barring the odd self-indulgent wallowing in buzzwords that we've seen along the way. Still, I'm not much of one for blind faith when it comes to software development models or design practices; I don't particularly try and follow any given formal method of decomposition during design, or care whether a particular refactoring I just did has a cool name. So what do I do?<br /><br />I follow The Way of The Brew Peg:<br /><br /><img class="imageStyle" alt="Brew Peg" src="http://davidfindlay.org/weblog/files/page1_blog_entry57-brewpeg.jpg" width="262" height="346"/><br /><br />So what the heck is The Way of the Brew Peg? Well, at work we have a large coffee pot. It is filled often, as you might imagine, but there's a problem: it's very hard to tell, without stooping down and peering between the filter cup and the pot, whether the coffee is still brewing. Hence, there have been many cases of still-pouring coffee making its way onto the counter and floor as one poor caffeine-seeking soul pulls the pot out prematurely. Sure, an upgrade to a fancier coffee pot might have done the trick: had a glaring brew-indicator lamp, or a locking mechanism of some form. And we even have one of the most imposing looking coffee-in-a-teabag-thingies too.<br /><br />But you know what works great? A plain wooden clothes peg clipped to the handle of the pot. When your sleep-addled brain tells your hand to pick up the pot, your hand spots the impediment in its path and quickly relays caution back to the brain. Those two small pieces of wood held together with a spring have saved you from embarrassment, a potential scalding and some floor cleaning.<br /><br />The brew peg keeps me grounded. So while I consider the possibility of reuse when defining objects and interfaces, the brew peg stops me from taking that consideration too far, so that the intended purpose - right here, right now - of that object or interface is not compromised by some potentially nonexistent future need. The brew peg is the physical embodiment of practical simplicity; and, it's comforting to have an actual physical mnemonic in my design process to balance the otherwise overwhelming abstractness of it all.**<br /><br />So when you're writing that next design document, or defining that API, remember the brew peg. It may not have the pizzazz of a <a href="http://en.wikipedia.org/wiki/YAGNI" rel="self">YAGNI</a> or a <a href="http://en.wikipedia.org/wiki/Keep_it_simple_stupid" rel="self">KISS</a>, but will they keep you from burning your hand?<br /><br /><br /><em>* where by studying, I mean: playing Super Nintendo while watching </em><em><a href="http://en.wikipedia.org/wiki/Neighbours" rel="self">Neighbours</a></em><em> and listening to "Fools Gold 9:53" by The Stone Roses (played at 33</em><span style="font:12px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; ">⅓</span><em> RPM even though it was recorded at 45 RPM)<br /><br />** which is also why I like woodworking, as awful as I am at it</em>]]></content:encoded></item><item><title>Can&#x27;t do web design for toffee</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-03-18T22:07:04-04:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_03_18_webdesigntoffee.php#unique-entry-id-56</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_03_18_webdesigntoffee.php#unique-entry-id-56</guid><content:encoded><![CDATA[<a href="http://flickr.com/photos/ruthieki/104414661/" rel="self"><img class="imageStyle" alt="mmm, toffee" src="http://davidfindlay.org/weblog/files/page1_blog_entry56-toffee.jpg" width="248" height="187"/></a><br /><br />I haven't posted in a while because I have been playing with blogging tools. I currently use <a href="http://www.realmacsoftware.com/rapidweaver/" rel="self">RapidWeaver</a>, but it bugs me in a Microsoft Word sort of way; well okay, it's nowhere near <strong>that</strong> annoying, but still an annoyance nonetheless. It just does things the way it wants to, rather than the way I want it to. It's a bit for flexible than iWeb, granted, but its themes are not nearly as pretty, either.<br /><br />To satisfy my curiosity about what else might work, I set up a couple of Wordpress blogs (one canned, one not), and a Movable Type blog (way not canned) on my webserver. I then downloaded the much-acclaimed <a href="http://www.red-sweater.com/marsedit/" rel="self">MarsEdit 2</a>, a blog publishing application for the Mac. At first it seemed surprisingly bare-bones (although it's not <em>from</em> <a href="http://barebones.com/" rel="self">barebones</a>), but that actually isn't a bad thing; I suppose I just expected it to be flashier based on what I had heard about it. It has an intentionally non-WYSIWG editor, and the developer in me likes that; needs that even. Besides, <a href="http://daringfireball.net/" rel="self">Gruber</a> uses it, so it has to be good, right? So, I played around with it some more, and I started to really appreciate being able to set up a post the way I wanted it set up.<br /><br />But part of me still wanted more control. The little developer in my head, who forgets that I can't do web design for toffee, was saying <em>"let's do this using hand-crafted-with-love XHTML and CSS"</em>. I got as far as purchasing <a href="http://macrabbit.com/cssedit/" rel="self">cssedit</a>, a really great CSS utility from macrabbit software. I love how you can use it to override the style sheets on a site and tweak them live: really neat stuff. But as I said, I can't do web design for toffee, or any other highly-sugared sweet for that matter (and if you know me, you know how much I like highly-sugared sweets, and hence you know how bad I must be at web design). So, while I have used it to tweak RapidWeaver's themes a little, I haven't really gotten a lot of use from it.<br /><br />I considered looking at Panic's <a href="http://www.panic.com/coda/" rel="self">Coda</a> again. Coda is billed on Panic's site as "one window web development"; it includes a text editor, CSS editor and a cut-down version of <a href="http://www.panic.com/transmit/" rel="self">Transmit</a> - Panic's excellent FTP/SFTP/etc tool (which I use often). I played with Coda back when it came out, but I didn't care to learn another text editor (it uses <a href="http://www.codingmonkeys.de/subethaedit/" rel="self">SubEthaEdit</a>); and, as I mentioned before, I can't do web design for toffee, so creating the CSS from scratch likely wasn't going to work out well for any passing viewers' eye balls or sensibilities.<br /><br />So what to do? I think I could get either Wordpress or Movable Type to look the way I want, or as close to it as my can't-do-web-design-for-toffee skillz will allow (thank you, cssedit). I would then have to figure out how to get all the old posts out of Rapid Weaver. It stores your site's data in a single binary project file, so there doesn't appear to be an easy way to extract the individual posts. I could try and scrape the appropriate tags out of the rendered HTML but that seems kludgy at best. Maybe if I create a RapidWeaver them that has next to no formatting and publish that, the scraping might be easier?<br /><br />As I continue to ponder, I will stick with RapidWeaver. Maybe <a href="http://www.realmacsoftware.com/blog/files/news_from_hq.php" rel="self">version 4</a> will make me okay with staying the course?]]></content:encoded></item><item><title>New Hitachi Drive</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-02-28T22:42:21-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_02_28_hitachi.php#unique-entry-id-55</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_02_28_hitachi.php#unique-entry-id-55</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">So, within 10 days of me buying Hitachi's Travelstar 7K200, they have come out with a </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://www.engadget.com/2008/02/26/hitachi-pushes-out-2-5-inch-320gb-travelstar-5k320/" rel="self">Travelstar 5K320</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">. Luckily for me, that 5K prefix means that it's only 5400RPM though.<br /><br /></span><a href="http://www.hitachigst.com/portal/site/en/menuitem.e72a42d840269d155ad8f307eac4f0a0/" rel="self"><img class="imageStyle" alt="Travelstar 5K320" src="http://davidfindlay.org/weblog/files/page1_blog_entry55-travelstar320.png" width="399" height="169"/></a>]]></content:encoded></item><item><title>If Apple gives you lemons&#x2c; make lemonade</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-02-28T22:10:59-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_02_25_apples_lemonade.php#unique-entry-id-54</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_02_25_apples_lemonade.php#unique-entry-id-54</guid><content:encoded><![CDATA[When OS X 10.5.2 came out, with its associated graphics update, it broke the ability for my PowerMac FW800 to resume properly from sleep. It would go to sleep just fine, and it would seemingly wake up from sleep just fine too. However, it would not enable power to my monitors. I found that other users <a href="http://discussions.apple.com/message.jspa?messageID=6576043#6576043" rel="self">reported the same problem</a> on Apple's forums. I even connected via Screen Sharing and could see that the PowerMac was functioning fine; it just wouldn't turn on its monitors.<br /><br />So, Apple gave me a lemon upgrade; could I make some lemonade here?<br /><br />I have a USB 2.0 PCI card in the PowerMac, but even back on Tiger, if I put it to sleep with a power-drawing device attached to that card, it wouldn't sleep properly and I'd have to power cycle it to get it back. So, I had gotten into the habit of keeping the USB cable for my SD card reader unplugged from the reader, but plugged into the PCI card: a pain, but better than trying to copy 7MP images over USB 1.1.<br /><br />For backups, I used to have the computer wake itself up at 3am. I had SuperDuper scheduled to run at 3:05 and then put the computer back to sleep.<br /><br />Since sleep wasn't going to work any more, I changed my backup schedule so that SuperDuper would run at 12:30am and then power the computer off. I then changed the scheduled wake up to be at 7am, a few minutes before my wife would get up and check to see whether or not our daughter's school was on a 2-hour delay.<br /><br />The wakeup feature is accessible via the <em>Schedule...</em> button on the Energy Saver panel in System Preferences:<br /><p style="text-align:center;"><br /> <img class="imageStyle" alt="Energy Saver Schedule" src="http://davidfindlay.org/weblog/files/page1_blog_entry54-scheduled_wakeup.png" width="473" height="164"/><br /></p><p style="text-align:left;"><br />This did the trick nicely, because the scheduled wake up works even if the computer is off. So now, while I can't enjoy the power-saving benefits of sleep, I can at least keep my backup running out-of-hours and still avoid having to leave the PowerMac running 24x7.<br /><br />I think that qualifies as lemonade, even if it's only Country Time and not the real stuff.<br /><br /><strong>Update:<br /></strong>There is <a href="http://discussions.apple.com/message.jspa?messageID=6662601#6662601" rel="self">another discussion</a> going on on Apple's forums about a possible fix for this sleep issue. Basically, it involves rolling back the drivers in the graphics update in a somewhat kludgy fashion. I think I will just wait until Apple releases a real fix though.</p>]]></content:encoded></item><item><title>New Drive: Update</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-02-25T18:00:46-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_02_25_newdriveupdate.php#unique-entry-id-53</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_02_25_newdriveupdate.php#unique-entry-id-53</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">So I've had the 200GB, 7200RPM, </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://eshop.macsales.com/item/Hitachi/0A50940/" rel="self">Hitachi Travelstar&trade; 7K200</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">, in the MacBook for almost a week now. The first night I had it, I had it copy our entire iPhoto and iTunes libraries from the PowerMac. I"ve also added a Fedora Core 8 VM to go with my Windows XP VM, and I've turned on iDisk syncing.<br /><br />So what's left now:<br /><br /></span><img class="imageStyle" alt="Hitachi drive, after one week" src="http://davidfindlay.org/weblog/files/page1_blog_entry53-hitachi_after_a_week.png" width="468" height="383"/><br /><br />- 56GB, which means I've gobbled up 80GB with the aforementioned stuffed, but still a goodly amount left for more cruft - huzzah.<br /><br />On the speed front, it seems to be peppier, but I could be imagining that since it never felt all that slow anyway, even with the 5400RPM Toshiba in it. I also don't notice any more noise or heat. I haven't yet run off-grid long enough to see if battery life has been reduced.<br /><br />So far though, I couldn't be happier with the upgrade. I now have all of the movie files from our digital camera on the MacBook, so I can put them together in the new iMovie; I couldn't do that on the PowerMac as it's too old for the new iMovie to install on. It's also nice to have all of our music with me, since I sync my Nano to the MacBook (mostly just for podcasts for my commute, but occasionally I'll listen to some tunes).]]></content:encoded></item><item><title>You don&#x27;t know the power of the &#x3c;s&#x3e;darkside&#x3c;/s&#x3e; MacBook</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-02-24T01:20:48-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_02_24_power.php#unique-entry-id-52</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_02_24_power.php#unique-entry-id-52</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">I was catching up on some work tonight. I had a Visual Studio 2005 application running on an XP machine, connected via TCP/IP to a Java server application running on a Fedora Core 8 machine. During compilation, and commits to source control, I was going through my news feeds in NetNewsWire on my MacBook.<br /><br />No big deal, right? Well, the interesting thing is that only the MacBook was a real machine: the XP and Fedora machines were actually virtual, and running on the MacBook courtesy of VMWare Fusion. It hit me just how much computing power we have at our disposal these days: a 15-month old consumer-grade laptop running 2 virtual machines plus its own applications, all simultaneously and without any perceptible slowdown: this is not even a MacBook Pro!<br /><br />Here's what my Spaces-plus-Expose view shows me (Spaces is Leopard's multiple-desktop implementation, and Expose is OS X's way of showing you all the active windows on your desktop, so you can pick one to switch to; in true Apple-cool fashion, if you bring up the Spaces view and then ask for the Expose view it shows you the Expose view for each one of your desktops simultaneously):<br /><br /></span><img class="imageStyle" alt="Spaces plus Expose view of my MacBook" src="http://davidfindlay.org/weblog/files/page1_blog_entry52-spaces_expose.png" width="470" height="306"/><br /><br />In the top-left we have space number 1, where: I have started to write this post in RapidWeaver; iTunes is running (that's Californication from Red Hot Chili Peppers at the front, if you were wondering); Transmission is seeding the Fedora Core 8 DVD ISO; OmniFocus, iChat, Terminal, Mail and Safari are all doing their thing; and Activity Monitor is letting me know how this is all going. It's not shown, (eggs, chickens and what not) but I had Pixelmator going as well, long enough to blur a couple parts of the screenshot to protect the innocent.<br /><br />In the top-right, the Fedora 8 VMWare Fusion virtual machine is running a Java server application and its database backend.<br /><br />In the bottom-left, NetNewsWire is keeping me up-to-date.<br /><br />Finally, in the bottom-right, the XP VMWare Fusion virtual machine is running Visual Studio 2005 debugging an MFC application; by the way, I don't know MFC.<br /><br />Here's a close up of Activity Monitor, with the memory tab active, sorted by descending order of use of real memory:<br /><img class="imageStyle" alt="Activity Monitor" src="http://davidfindlay.org/weblog/files/page1_blog_entry52-activity_monitor.png" width="469" height="337"/><br /><br />The big hitters, unsurprisingly, are the two virtual machines, weighing in at around 500MB each. They were both configured with 512MB of RAM, so that makes sense. Next we have the kernel, close followed by RapidWeaver (the application that I use to write this). From there you're down in the weeds of measly 60MB chunks of RAM here and 40MB chunks of RAM there. From the stats at the bottom, you can see that there's 369MB (sum of free and inactive) of RAM free (see <a href="http://docs.info.apple.com/article.html?artnum=107918" rel="self">this Apple article</a> for an explanation of the different categories of memory).<br /><br />And just think, if you buy a MacBook now you can fit 4GB in it and the integrated graphics are faster than mine. How many VMs can you run?]]></content:encoded></item><item><title>New Hard Drive</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-02-19T17:01:24-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_02_19_newdrive.php#unique-entry-id-51</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_02_19_newdrive.php#unique-entry-id-51</guid><content:encoded><![CDATA[<img class="imageStyle" alt="lots of free space!" src="http://davidfindlay.org/weblog/files/page1_blog_entry51-hitachi_free_space.png" width="468" height="288"/><br /><br /><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">I replaced the hard drive in my MacBook today with a new 200GB, 7200RPM, </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://eshop.macsales.com/item/Hitachi/0A50940/" rel="self">Hitachi Travelstar&trade; 7K200</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">. I had read several reviews, all favourable, and supposedly it doesn't use much more power, or get much warmer, than the stock Toshiba 80GB. I use VMWare Fusion to run an XP VM and an OpenSolaris VM, so the 74GB on the stock drive wasn't cutting it. I ordered the new one from MacSales and picked up a </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://eshop.macsales.com/item/Newer%20Technology/U2NV2SPATA/" rel="self">Newer Technology USB 2.0 Universal Drive Adapter</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> at the same time; it lets you hook up just about any bare drive to a PC or Mac via USB 2.0.<br /></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><br />I hooked up the new Hitachi via the adapter and used Disk Utility to create a single 185.99GB partition. I set it up with 'GUID Partition Table' as the Partition Map Scheme, since that's required on Intel Macs for boot volumes. I then had SuperDuper make a bootable image of my existing hard drive, which took a couple of hours.<br /><br />Once I had that, I rebooted while holding down Option so that it would let me choose a boot volume on boot. The Hitachi showed up - a good sign - and I selected it. It came up, I logged in, and everything looked good, so I shut it back down and proceeded to swap the drive out. Fortunately Apple makes this about as painless as it could possibly be; providing you follow common-sense precautions for ESD you shouldn't have any trouble. I printed out the instructions at </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://www.macinstruct.com/node/130" rel="self">MacInstruct</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> and headed over to our hardware lab at work, since it has copious amounts of static-mat-covered workbenches and the Torx T8 you need to get the shield off the old drive. 10 minutes later I was up and running on the new drive.<br /><br />I should have named the new drive 'Macintosh HD' to match the old one, but I didn't and both Time Machine and Spotlight got a bit excited when I booted up. But my old Time Machine drive isn't going to be big enough for long, and I don't need any of the history that's on it anyway, so this wasn't a big deal for me.<br /><br />I'll report back on whether the RPM bump affects battery life and performance.</span>]]></content:encoded></item><item><title>SuperDuper&#x21; for Leopard is here</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-02-05T11:10:47-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_02_05_superduper.php#unique-entry-id-50</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_02_05_superduper.php#unique-entry-id-50</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">Today is a great day. Shirt Pocket have finally </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://www.shirt-pocket.com/blog/index.php/shadedgrey/superduper_25_released/" rel="self">released their Leopard-compatible version of SuperDuper</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">. As we speak I'm ditching my last Tiger SuperDuper backup and replacing it with a Leopard one. I've had Time Machine running since November but I'll breath easier with a bootable SuperDuper clone to go with it.</span>]]></content:encoded></item><item><title>BugLabs update</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-01-21T22:26:46-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_01_21_buglabs.php#unique-entry-id-49</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_01_21_buglabs.php#unique-entry-id-49</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">Well a lot has happened on the BugLabs front since last I posted: the bug won CNET's Best of CES award for Emerging Technologies; they opened their </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://store.buglabs.net/" rel="self">store</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> to early adopters today; and they let me know that they're sending me a very generous gift!<br /><br />Back in November, they had an "application cook-off" that I co-won with koolatron. Jeremy, the BugLabs marketing guy had said "prize details forthcoming" back then, and I'd pretty much forgotten about it until I watched the </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://youtube.com/watch?v=hBlo4XoIwLY" rel="self">Engadget video with Jeremy</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> at CES. I sent him a friendly reminder after he got back from CES and he wrote back with:<br /><br /></span><blockquote><p>Was waiting til Monday to do this, but hey, it's the weekend, why not? <img class="imageStyle" alt="icon_smile" src="http://davidfindlay.org/weblog/files/page1_blog_entry49_1.gif" width="15" height="15"/> <br/><br/>We're going to be sending two BUGbundles out, one for you, one for Koolatron. So you get the BUGbase and all four shipping modules, and we'll send you the "von Hippel" module when it's ready! <br/><br/>Sorry for the long, long wait - we had planned to do this some time ago, but the snag we hit early on in manufacturing basically nixed our whole approach. But, we're back up and running now...<br/><br/></p></blockquote><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><br />I was amazed. The kit's early adopter price is $549, so they are being exceedingly generous. I didn't spend nearly enough time with the bug to warrant that, but now that I have actual hardware coming I will need to get back into working on some of my apps.<br /><br />I took a gander over to </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://buglabs.net/users/finsprings" rel="self">bugnet</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> and saw that, now that the beta is open, the apps are getting a lot more attention. One person even commented on mine about a typo; in this case one that was in the SDK last time I had compiled the app, but which has since been fixed by BugLabs. In the closed beta there were a lot of crickets chirping after the initial excitement, so It's nice to see the community around the bug starting to come alive.<br /><br />I have to say, I'm excited to be getting a bug. With my intention to be more frugal in 2008, I had written off my chances of getting one to play with, but now I'm going to get one guilt-free! Maybe I will finally get round to making that </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://buglabs.net/applications/finsprings/GpsLogger" rel="self">GpsLogger</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> do some actual logging.</span>]]></content:encoded></item><item><title>Bye Bye OLPC XO</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2008-01-21T21:55:29-05:00</dc:date><link>http://davidfindlay.org/weblog/files/2008_01_21_olpc.php#unique-entry-id-48</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/2008_01_21_olpc.php#unique-entry-id-48</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">So, I ended up putting my OLPC XO up on eBay. Some nice chap from Mexico picked it up for far too much.<br /><br />I felt good about the donation part of the Give One Get One program, but not so good about adding $400 to my ever mounting AMEX bill. I had some grand ideas for working on some Python apps for it, playing with the Sugar frontend, and some other stuff. But, I realized over the Christmas break that I really wasn't going to have the kind of time to dedicate to it that would be required. Also, my kids are spoilt by access to nothing slower than a PowerMac G4, and so there wasn't much to offer on the XO that they didn't already have quicker access to, with better input devices, and a better screen, on the Mac.<br /><br />Now, that's not to say that I don't think that the XO is a worthwhile device. I think it will be useful to its target audience: children who likely would not have the opportunity to be directly exposed to information technology otherwise. And as the interfaces get a little more polished, and the selection of applications expands, it will become more and more useful. I saw recently that John Negraponte intends to sell the XO officially in the US, as opposed to just via the Give One Get One program that I acquired it through. The success of the </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://eeepc.asus.com/global/" rel="self">Asus Eee PC</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> shows that at least some portion of the populous has cotton on to the fact that they don't need the resources of the supercomputers-in-PC-clothing that are now available from Dell et al. I do think they will still want something a little swifter than the XO, but perhaps in the educational setting it might just do okay.<br /><br />I wish it well.</span>]]></content:encoded></item><item><title>OLPC XO First Impressions</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-12-20T23:15:16-05:00</dc:date><link>http://davidfindlay.org/weblog/files/122107_olpc.php#unique-entry-id-47</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/122107_olpc.php#unique-entry-id-47</guid><content:encoded><![CDATA[My <a href="http://laptop.org/laptop/" rel="self">OLPC XO</a> arrived today! <span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">I managed to pry it from the kids when they went to bed and started mucking around with it.<br /></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><br /><a href="http://www.flickr.com/photos/finsprings/2126149380/" title="IMG_1490.JPG by finsprings, on Flickr"></span><img class="imageStyle" alt="olpc" src="http://davidfindlay.org/weblog/files/page1_blog_entry47-olpc.jpg" width="465" height="349"/><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "></a><br /></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><br /></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">It's a little slower than I was expecting (not that I was expecting it to be swift or anything), and the soft keyboard takes a little getting used to, but on the whole I'm liking it. The industrial design is great in my opinion, and has some neat little touch: the texturing in the case has large nobbles, and around the handle the nobbles become Xs, so that the texturing repeats the XO logo. The </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://laptop.org/laptop/interface/index.shtml" rel="self">Sugar UI</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> feels good and the included apps, a.k.a. </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://laptop.org/en/laptop/start/activities.shtml" rel="self">Activities</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">, provide a good cross section of functionality, from word processing to recording video on the built-in camera.<br /><br />The browser, which is Firefox derived, works well and even has some Flash support (via </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://www.gnu.org/software/gnash/" rel="self">Gnash</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">). It also has some integration with Sugar, since when I went to upload a photo to Flickr and hit the Browse button, a popup appeared showing my last few activities, including the picture I had taken. When I clicked on it, it inserted a /tmp path to a JPEG file into the form. Alas, when I hit the Ok button Flickr told me that the file was empty. I popped into the shell and could the file in question was indeed empty, but there was a non-empty JPG also in temp. I copied it to the path the browser was pointing at (I couldn't get it to let me edit he path in the browser for some reason), and this time the upload worked. I'm sure that's either just a kink or something I didn't do properly when saving the photo.<br /><br /></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; font-weight:bold; color:#222222;font-weight:bold; ">My MacBook looking at the XO:</span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><br /></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.flickr.com/photos/finsprings/2126330810/" title="MacBook looking at XO by finsprings, on Flickr"></span><img class="imageStyle" alt="macbook xo" src="http://davidfindlay.org/weblog/files/page1_blog_entry47-macbook_xo.jpg" width="465" height="349"/><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "></a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><br /><br /></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; font-weight:bold; color:#222222;font-weight:bold; ">My XO looking at my MacBook</span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> (the photo referred to above)</span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; font-weight:bold; color:#222222;font-weight:bold; ">:</span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><br /></span><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.flickr.com/photos/finsprings/2126345074/" title="XO looking at MacBook by finsprings, on Flickr"></span><img class="imageStyle" alt="xo macbook" src="http://davidfindlay.org/weblog/files/page1_blog_entry47-xo_macbook.jpg" width="465" height="349"/><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "></a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><br /><br />The Neighborhood page in Sugar showed my home wireless network's SSID, but I couldn't figure out how to connect to it. I have since found out that you just need to click on the dot representing the network, but I expected there to be a "Connect..." option in the popup dialog that appears when you hover the mouse over the dot. In any case I use WPA and, at least according to the OLPC </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://www.laptop.org/en/laptop/start/connecting.shtml" rel="self">"getting connected" page</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">, "</span><span style="font:13px Verdana, serif; color:#333333;">we do not support WPA-enabled WiFi access points; we anticipate including WPA support in early 2008."</span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> However, I did some googling and found that I could drop to the shell to get WPA working (see </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://wiki.laptop.org/go/WPA_Manual_Setting" rel="self">http://wiki.laptop.org/go/WPA_Manual_Setting</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;">). I created the script suggested, ran it, and rebooted the XO, and it came up on my WPA network.<br /><br />Some of the Activities require more than one XO. Fortunately, one of my colleagues at work ordered an XO the day after me, so his ought to be here soon. I'd particularly like to try out the </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://wiki.laptop.org/go/Acoustic_Tape_Measure" rel="self">Distance</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> Activity,<br /><br /><img src="http://laptop.org/en/img/distance.gif" alt="Distance"/><br /><br />which can measure the distance between two laptops by measuring the length of time it takes for sound to travel between them, but since it requires 2 XOs, it'll have to wait until we both can get them into the office after the holidays.<br /><br />For more photos of the XO, see the</span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"><a href="http://flickr.com/photos/finsprings/sets/72157603513432589/" rel="self"> unboxing set</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; color:#222222;"> I put on Flickr.<br /></span>]]></content:encoded></item><item><title>BugLabs Beta Now Open</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-12-18T19:41:46-05:00</dc:date><link>http://davidfindlay.org/weblog/files/121807_buglabsopen.php#unique-entry-id-46</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/121807_buglabsopen.php#unique-entry-id-46</guid><content:encoded><![CDATA[BugLabs have <a href="http://www.bugblogger.com/2007/12/sdk-now-availab.html" rel="self">now opened the beta up</a>, so you can now download the SDK, sign up for the forums and check out the apps on BugNet. Feel free to mock my quickly-hacked up apps ;-)]]></content:encoded></item><item><title>BugLabs update</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-12-17T00:24:51-05:00</dc:date><link>http://davidfindlay.org/weblog/files/121707_buglabs_update.php#unique-entry-id-45</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/121707_buglabs_update.php#unique-entry-id-45</guid><content:encoded><![CDATA[I realize I haven't posted about BugLabs for a while; actually, looking at the top of the window I'm typing in I can see it's been close to 6 weeks. Well, the truth is there doesn't seem to be much going on at all, in the beta program at least. The last posting from anybody in the forum was December 6th, and I've been super busy at work so I haven't played with it much either. Plus the questions I've posted as to the direction they plan to go as far as user input, and display mediation between modules haven't been answered, so I haven't really figured out what else I could usefully do to test the SDK at this point. I have seen some bugzilla emails come in, so I know the guys are still working on stuff. I'm sure they're trying to get the last few kinks out before they release, which they are/were slating for mid-December.<br /><br />We did get an update from Jeremy (the marketing guy) update the beta program back on November 20th:<br /><hr/><br /><em>Hi there - we know that it's gotten a little quiet around here and we want to apologize. We also want to give you an update (overdue!) so you don't think something is amiss. <br /><br />First - BIG thanks to everyone whose been involved in our beta program. We've learned a ton from you and are applying it to our software and hardware. We would not be where we are right now without you. Please keep pounding. There's more fun stuff on the way. <br /><br />Second, when we initiated this beta program we got a great response from everyone - applicants, selected testers, etc. Many people jumped in and started exploring, coding and building things. Others hung back and waited to see what unfolded. And the truth is, not very many did. It became clear to us pretty quickly that we were asking a lot of you. Without hardware to play with and more module types to mash up, folks ran out of energy. We intended to get more resources into the mix but we weren't able to because everyone's working hard on getting product out the door. Since then we've been hiring and I'm happy to say we will be making hardware available soon too! <br /><br />We are a few defects away from moving out of closed beta and into an open beta of the BUG SDK and BUGnet. And as I mentioned above, our hardware is fully up and operational (although we can't say there's no defects just yet!). Needless to say, we're pretty excited about getting to this point! <br /><br />In December, we'll be bringing the first batch of BUGbases and BUGmodules to market. These initial BUGbase units will be limited production v0.9 hardware. We're giving them that designation for a couple reasons. We decided to change the design of the front panel a little bit and will not be able to get that change into these first units before the end of the year. Same thing for the wifi chip set. We will not be able to incorporate our new wifi design into BUGbase before year end. So rather than delay shipment, we've decided to go into limited production. These units are functionally identical to what our final production units will be (with the only exception being wifi). All our BUGmodules will be v1.0 production and will be fully compatible with both our limited production and full production BUGbases. <br /><br />Between now and the open beta, you are welcome to continue to use BUGnet, the SDK, and participate in the forums. There will be at least one update to the SDK in the meantime. As we have reached this great milestone, we invited some of our blogger friends to come take a look at working hardware, here's a few videos (Gizmodo, TechCrunch, Silicon Alley Insider) that show it off. If any of you'd like to come by the office, please let us know, we'd love to meet you in person. For those of you in the SF Bay Area, we're having a meetup on November 29th and we hope you can stop by! <br /><br />Thanks again, <br />Jeremy</em><br /><hr/><br />I asked a couple of follow-up questions (sorry for the image c&p):<br /><br /><img class="imageStyle" alt="forum post" src="http://davidfindlay.org/weblog/files/page1_blog_entry45-forum_post.jpg" width="465" height="172"/><br /><br />I'll post back when he lets us know what the plan is. They demoed some units running <a href="http://trolltech.com/products/qtopia" rel="self">Qtopia</a> to the press, but not anything running within the BUG framework. It's going to be interesting to see how the BUG SDK fits into the rest of the device's infrastructure.]]></content:encoded></item><item><title>SuperDuper for Leopard almost here</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-12-17T00:03:04-05:00</dc:date><link>http://davidfindlay.org/weblog/files/121707_superduperleopard.php#unique-entry-id-44</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/121707_superduperleopard.php#unique-entry-id-44</guid><content:encoded><![CDATA[Dave Nanian over at Shirt Pocket posted an <a href="http://www.shirt-pocket.com/blog/index.php/shadedgrey/slowest_update_ever/" rel="self">update</a> on their progress with SuperDuper! for Leopard. And the good news is that he mentioned a release date more specific than "soon" this time: "within a few weeks". The article is an interesting read. I admire their fortitude in taking the time they need to make SD rock-solid on Leopard before releasing an update for it.<br /><br />I'm looking forward to the update. SuperDuper! has always been my backup solution for OS X and I've been feeling itchy running on Leopard without it; I've got Time Machine running, but you have to restore from a boot CD with that if things go awry - yuk. I'm particularly nervous for my PowerMac, since it's boot volume is on the same 3+ year-old 120GB drive in it that it came with. I really ought to pick up a new ATA drive for it before it goes belly up.]]></content:encoded></item><item><title>Playing with the OLPC XO Emulator</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-11-17T01:52:19-05:00</dc:date><link>http://davidfindlay.org/weblog/files/olpc_xo_emulator.php#unique-entry-id-43</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/olpc_xo_emulator.php#unique-entry-id-43</guid><content:encoded><![CDATA[While I wait for my XO to arrive (as they stated, there's no ship date yet), I thought I'd give the emulator a go. Conveniently the laptop.org site has a <a href="http://wiki.laptop.org/go/Emulating_the_XO/Quick_Start/Mac" rel="self">no-brainer startup guide on the OLPCWiki for running the XO emulator on the Mac</a> (and others) using a<a href="http://www.kju-app.org/kju/" rel="self"> port of QEmu to the Mac called Q.app</a>. (I first tried building qemu via MacPorts but it wanted to use GCC 3.3 and 10.5.1 has GCC 4.0; I didn't fancy pulling in the old compiler just for this.)<br /><br />I downloaded Q.app and a recent build of the XO emulator disk image - <code>olpc-redhat-stream-development-build-542-20070801_0412-devel_ext3.img</code><span style="font:12px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "> and configured a VM as per the instructions on the OLPCWiki. It started up first time, asked me for my name and I was in. Here's a view of the main page:<br /><br /></span><img class="imageStyle" alt="Q Screenshot 1" src="http://davidfindlay.org/weblog/files/page1_blog_entry43_1.png" width="465" height="291"/><br /><br />I didn't mess around with the emulator's DPI settings as suggested, so it looked a little fuzzier than the real thing would. Paint wouldn't start for me, but the word processor, chat program, browser, and other things I tried did. Some, like the chat program and connect 4 game needed other XO users to be in your neighbourhood, and for some strange reason there wasn't anyone else running the XO emulator on my rural street at 2am; weird huh?<br /><br />I'm excited for it to arrive. I wish I could have gotten a couple to be able to have them talk to each other, but I was pushing my luck getting one, never mind two. One of the guys at work is thinking about getting one as part of the Give One Get One program. I'll have to try and persuade him so our XOs have someone to play with.]]></content:encoded></item><item><title>One Laptop Per Child: Give One Get One</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-11-12T10:25:49-05:00</dc:date><link>http://davidfindlay.org/weblog/files/olpc_giveonegetone.php#unique-entry-id-41</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/olpc_giveonegetone.php#unique-entry-id-41</guid><content:encoded><![CDATA[The OLPC Give One Get One program starts today. For a donation of $399 (plus $24.95 shipping), they will send one XO laptop to "empower a child in a developing nation" and "receive one for the child in your life in recognition". $200 of that $399 is tax-deductible and T-Mobile is throwing in a free year's access to their HotSpot service, which is in of itself worth $360.<br /><br />I ordered mine today. Even though I don't use my laptop at Starbucks that much, I'll get some use out of the HotSpot service and I would really like to see OLPC get off the ground and do well. There's some truly innovative technology in there - see <a href="http://www.youtube.com/watch?v=BBoghPvyhts" rel="self">David Pogue's video</a> for more details - and it's all good old-fashioned open source. How could I say no?<br /><br /><img class="imageStyle" alt="home-laptop_v2" src="http://davidfindlay.org/weblog/files/page1_blog_entry41_1.jpg" width="313" height="256"/>]]></content:encoded></item><item><title>Theme Change</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-11-11T13:07:59-05:00</dc:date><link>http://davidfindlay.org/weblog/files/change_to_iphone_theme.php#unique-entry-id-40</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/change_to_iphone_theme.php#unique-entry-id-40</guid><content:encoded><![CDATA[I switched to RapidWeaver's <a href="http://www.realmacsoftware.com/blog/files/iphone_theme.php" rel="self">iPhone theme</a> today. I was using a hand-tweaked version of Dark Glass, but it just wasn't cutting it for me. I couldn't get the code extracts to look good, and when I posted pictures that were wider than the blog column it looked bad and stomped on the tag/archive sidebar (usually I cut them down but sometimes I'm linking directly from another site). In the iPhone theme that information is moved to a pull-down which keeps the main page nice and clean. I like clean. Hope you do too.<br /><br /><br /><img class="imageStyle" alt="page8_blog_entry72_1" src="http://davidfindlay.org/weblog/files/page1_blog_entry40_1.jpg" width="402" height="225"/>]]></content:encoded></item><item><title>BugLabs: Pictures of the real thing</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-11-07T23:31:35-05:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_first_real_pics.php#unique-entry-id-39</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_first_real_pics.php#unique-entry-id-39</guid><content:encoded><![CDATA[Last week, the folks at Buglabs posted <a href="http://buglabs.net/press_images.html" rel="self">pictures</a> of the real device. It's not what you'd call Apple-pretty but I like it because of that; it has a clunkiness to it that just appeals to me (although I like my PowerMac and MacBook too, don't get me wrong). Engadget posted an article when the pictures were released, including some shots that don't show up on the press page. My favourite of those is a <a href="http://www.engadget.com/photos/bug-labs-bugbase-and-bugmodules-hands-on-1/469218/" rel="self">shot of the labe</a>l that reads "Series 1.0 HIRO P." Nice little nod to <a href="http://en.wikipedia.org/wiki/Snow_crash" rel="self">Snow Crash</a> there.<br /><br />I noticed tonight that one of the press images, which is labelled "Community Applications Image", is the one that they used on the t-shirt they sent me, and it includes the name of the first app that I posted: GpsLogger (which still doesn't log; I ought to get on that, huh).<br /><br /><img src="http://buglabs.net/images/press/community_apps_med.jpg" width="465" height="432" alt="Buglabs Community Applications"/><br /><br /><img src="http://www.blogsmithmedia.com/www.engadget.com/media/2007/11/bug-labs-hands-on-01.jpg" width="465" height="310" alt="Engadget Buglabs Photo: HIRO P."/><br />]]></content:encoded></item><item><title>BugLabs: Location-Aware To-do List Manager</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-11-09T23:36:37-05:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_update_11_09_2007.php#unique-entry-id-38</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_update_11_09_2007.php#unique-entry-id-38</guid><content:encoded><![CDATA[Things are still rather quiet on the Buglabs front. I have been very busy with release stuff at work, and the forum postings have been pretty thin on the ground. The community application count was still at four yesterday, and I posted two of those (and the other two are at least partially based on my two). There are 14 apps in total, but the others are from Buglabs directly. I don't know if it's that people didn't realize that beta-testing something like this would involve coding, or working with the emulator is just too intangible for them, or what. Some people have being having problems getting the SDK integrated into Eclipse but other than that I'd say it was going pretty smoothly for a beta. Perhaps when the actual Bug comes out the interest will pick back up.<br /><br />I'm trying to do my part anyway (this is fun for me) and so I posted the fifth community app tonight. I found time last night to put together a first pass at a location-aware to-do list manager application and cleaned up the GUI some tonight. It's far from pretty, but it has several (canned for now) to-do lists, each with a name, related location and list of items. On the VirtualBUG's LCD modules, it looks like this for now:<br /><br /><img class="imageStyle" alt="todo" src="http://davidfindlay.org/weblog/files/page1_blog_entry38_1.jpg" width="320" height="240"/><br /><br />("Choose a Todo List" is a menu)<br /><br />Once you've plugged the LCD and GPS modules into the bug, it will by default show you the to-do list whose location is nearest to your current position. I made it so that you could also explicitly select a list from a menu though. I posted it as-is, but I need to come up with a way of actually creating and working with lists. The bug doesn't have a keyboard, but an on-screen one could be created, iPhone-style. I've also considered exposing the lists via a servlet, but that would only be helpful if you had a 'real' computer to-hand; ideally you could work with lists directly on the bug. Another possibility in the less-than-ideal camp is to make it sync with web-based to-do list sites such as <a href="http://rememberthemilk.com" rel="self">Remember The Milk</a> or <a href="http://www.tadalist.com/" rel="self">Ta Da Lists</a>. I posted my thoughts on the forum, so I'll see what the buglabs folks and the other beta-testers think before going much further. I certainly don't fancy trying to create the on-screen keyboard myself in PhoneME's AWT.<br />]]></content:encoded></item><item><title>BugLabs t-shirt</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-11-08T20:36:32-05:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_shirt.php#unique-entry-id-37</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_shirt.php#unique-entry-id-37</guid><content:encoded><![CDATA[Well the guys at buglabs made good on their promise and sent me a lovely gift for posting the first community app: a one-of-a-kind buglabs t-shirt. Warning, pictures of me below.<br /><br /><span style="font:11px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><a href="http://www.flickr.com/photos/finsprings/1910402677/" title="Photo Sharing"><img src="http://farm3.static.flickr.com/2156/1910402677_b6b7bcbc29.jpg" width="375" height="500" alt="IMG_1384.JPG" /></a><br /><br /><a href="http://www.flickr.com/photos/finsprings/1910407259/" title="Photo Sharing"><img src="http://farm3.static.flickr.com/2293/1910407259_f20686ded2.jpg" width="465" height="349" alt="IMG_1385.JPG" /></a><br /><br /><a href="http://www.flickr.com/photos/finsprings/1910411405/" title="Photo Sharing"><img src="http://farm3.static.flickr.com/2028/1910411405_ce4be70919.jpg" width="465" height="349" alt="IMG_1386.JPG" /></a></span>]]></content:encoded></item><item><title>TaskPaper: a to-do app for the rest of us?</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-28T21:20:01-04:00</dc:date><link>http://davidfindlay.org/weblog/files/taskpaper_review.php#unique-entry-id-36</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/taskpaper_review.php#unique-entry-id-36</guid><content:encoded><![CDATA[I've been dipping my toes into GTD territory for some time. I've tried doing it in Backpack, Basecamp, iGTD, OmniOutliner, and the OmniFocus beta to name a few. I seemed to get on okay for a while with each of them, but eventually I gave up; they were either just too complicated, or web-based which doesn't play well with the uplink tube at my work. I came across <a href="http://hogbaysoftware.com/products/taskpaper" rel="self">TaskPaper</a> from Hog Bay Software. I had played with their WriteRoom app a while back, but it wasn't something I had too much of a need for.<br /><br />At first glance, TaskPaper seemed just too simple. But when I actually started using it, I found that its simplicity was exactly what I needed. It's like a piece of paper with fring benefits. The simple syntax->format mechanism fits my programmer brain, and the fact that I can make up my own structure in a document without the application getting in my way is priceless. That's what always ended up putting me off the fuller featured apps in the end, and it's what ultimately sold me on TaskPaper.<br /><br />To define a project, you type in the name of the project followed by a colon. That's it. TaskPaper turns what you've just type into a nice title. Within a project you can create to-do items by typing a dash as the first non-whitespace character on a line. It doesn't force that dash to be at the left margin though, so you can create simple subtask structure without any fuss. It doesn't do rollup of those subtasks, but then why does it need to?<br /><br />So if you type:<br /><br />Shopping:<br />- eggs<br />- milk<br />- cake<br />- more cake<br />Home:<br />- eat cake<br />- eat more cake<br /><br />you will end up with:<br /><br /><img class="imageStyle" alt="TaskPaper" src="http://davidfindlay.org/weblog/files/page1_blog_entry36-taskpaper1" width="466" height="247"/><br /><br />Easy! If you notice, there's a tab there at the top that says Home. That means it's showing you your entire todo document. You can type a search into the search and it will instantly restrict your view to the matching entries. For example, here's the view when I search for cake:<br /><br /><img class="imageStyle" alt="Show me cake!" src="http://davidfindlay.org/weblog/files/page1_blog_entry36-taskpaper_cake" width="464" height="217"/><br /><br />So you can still see your projects, but only the important, cake-related entries within.<br /><br />You can also click on a project title to focus on that project:<br /><br /><img class="imageStyle" alt="just shopping" src="http://davidfindlay.org/weblog/files/page1_blog_entry36-taskpaper_shopping" width="469" height="161"/><br /><br />You can also open multiple tabs on the same document:<br /><img class="imageStyle" alt="shopping tab" src="http://davidfindlay.org/weblog/files/page1_blog_entry36-taskpaper_tab_shopping" width="461" height="169"/><br /><br /><br />So you can see, it's pretty easy to get around in your to-dos. Once you find something you need to do, and then you actually go and do it, you can mark it as done by either clicking the circle in the margin or placing your cursor somewhere on the line and pressing Cmd-D. Here I only have more cake to finish my lists:<br /><br /><img class="imageStyle" alt="almost done" src="http://davidfindlay.org/weblog/files/page1_blog_entry36-taskpaper_done" width="460" height="230"/><br /><br />You will notice that "@done" appears in gray on a task that you have marked as complete. This hints at another feature of Taskpaper: tagging. You can tag items by prefixing the tag name with an ampersand. Here I'm trying to offset some of that cake:<br /><br /><img class="imageStyle" alt="Picture 2" src="http://davidfindlay.org/weblog/files/page1_blog_entry36_6.png" width="455" height="254"/><br /><br />And, like projects, and arbitrary text, you can also filter based on tags. TaskPaper even builds a drop-down list of them for you automatically:<br /><br /><img class="imageStyle" alt="my tags" src="http://davidfindlay.org/weblog/files/page1_blog_entry36-taskpaper_tags_dropdown" width="469" height="258"/><br /><br /><br /><img class="imageStyle" alt="show me healthy" src="http://davidfindlay.org/weblog/files/page1_blog_entry36-taskpaper_healthy" width="462" height="151"/><br /><br />So it actually does a fair bit more than you might expect, but just as importantly, it doesn't try to do too much. There's a 15-day trial, and if you like it it's $18.95 so I'd recommend giving it a go.]]></content:encoded></item><item><title>BugLabs: New SDK</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-28T21:13:59-04:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_new_sdk_2.php#unique-entry-id-35</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_new_sdk_2.php#unique-entry-id-35</guid><content:encoded><![CDATA[BugLabs pushed out an update to their SDK the other day. The status display on the VirtualBug now has 2 lines like the real one will have. They fixed a number of minor issues and also pushed through the pain to get it working on OS X. So do I switch back to working on my MacBook or do I stay pure and keep on working on Bug stuff on my Etch box?<br /><br />One of the other beta testers, koolatron, took the simple GpsLogger app I pushed out and came up with a much nicer version, complete with a properly centered google tile and button-based zooming. I haven't had much time to spend on the Bug, between the release march at work and DIY stuff at home. I'm looking forward to messing around with it again, but it probably won't be this week.<br /><br />Oh, I got a very nice email from the BugLabs marketing guy Jeremy:<br /><br /><blockquote><p>Dave,<br/><br/>Just wanted to let you know your first prize is coming at ya.  Please know it might show up in a fairly generic package, but it's unique and we spent a lot of time making something we thought had the right amount of personal touch.   Hope you receive it as fondly as we sent it, and please let me know when it arrives - sometime next week I believe.<br/><br/>Best,<br/>Jeremy</p></blockquote><br />I'll post back when it arrives.]]></content:encoded></item><item><title>BugLabs: Second App &#x22;BUGer&#x22;</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-16T13:39:29-04:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_buger.php#unique-entry-id-34</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_buger.php#unique-entry-id-34</guid><content:encoded><![CDATA[Over the weekend, the BugLabs folks posted a request to have the testers try and all work on the same task:<br /><blockquote><p>Hi, Now that you've had some time playing around in a fairly open context, we'd like to try a structured project where everyone is working on the same task, and see how the results play out. <br/><br/>The first project is to use the BUGbase and the motion detector module to build a home security system. This is a pretty straightforward project (in our estimation) and shouldn't take too long if you're already up to speed on the platform. For those of you new to the environment, it should be a good way to learn the basics of BUG. <br/><br/>Here's the "specifications" of the home security system: On any detected motion, the system should log an alert with the current date/time stamp. The alert log should be accessible via a Web interface. <br/><br/>Yup, it's that basic. For a little extra help, here are the basic steps to build the system: 1. Create a new BUG application, in the creation wizard select the IMotionSubject service. <br/>2. Register a listener for callbacks to when motion is detected. Create and append to a file and log the date and time of occurence. <br/>3. Create a menu item for the application that allows for the logging to be turned on and off. <br/>4. Create a servlet that retrieves the log data from the log file and presents it to a web client. <br/>5. Confirm that your application works by triggering motion events from the command line. <br/><br/>Once you are done, upload the app to BUGnet. If you need any help with the project, please let us know. <br/><br/>We also have a few ideas for those of you who want to push your app "to 11" (although you can be as creative as you want!), here are some of ours: * When an event happens, send an SMS * Send an email report at the end of every day * Double gold star project: also integrate with the camera, and make a picture available with each event. * something else??? <br/><br/>Thanks, we'd love to see this wrapped up in a week if possible! <br/>Best, <br/>Jeremy<br/>_________________<br/>I'm the Bug Labs "marketing guy"</p></blockquote><span style="font:12px &#39;Lucida Grande&#39;, LucidaGrande, Verdana, sans-serif; "><br />I had a bit of spare time on Sunday night so I put together "BUGer" that does pretty much what Jeremy was asking for. I added in the camera stuff too, so BUGer takes a picture on each motion event. However the servlet container in the VirtualBUG doesn't yet support static resources, so the image can't be displayed on the webpage. It's there for when it can though. If I find time I may look at putting in the email part, but the PhoneME JME doesn't have email stuff in it that I could see, and scraping SMTP seems tedious, so I may not. I'm also not sure how you would do SMS unless you did it as email-to-your-cell-phone, which is just email from the BUG's perspective, since the SMS part is done by the carrier's email server.<br /><br /><br /></span><img class="imageStyle" alt="Picture 1" src="http://davidfindlay.org/weblog/files/page1_blog_entry34_1.png" width="465" height="419"/>]]></content:encoded></item><item><title>BugLabs: My first app came first...and last</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-13T19:18:17-04:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_bakeoff.php#unique-entry-id-33</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_bakeoff.php#unique-entry-id-33</guid><content:encoded><![CDATA[So midnight last night was the cut off for the first BugLabs application bake off. No-one else had posted an application so it was looking like a sure thing. However the BugLabs folks decided to extend the deadline by a couple of weeks, to give people some more time. But very nicely they've decided to "reward" me for posting an app despite the issues with the SDK (which have been pretty minor).<br />One of the other testers is working on a new and improved version of my GpsLogger application. I'm looking forward to seeing what he comes up with. I bumped my version to 1.0.3 last night after factoring out the utility classes to a separate package and doing some general cleanup and documentation. I'm thinking about doing some webcam stuff with it next. There's a sample app that posts images to Flickr, but I'd like to do it more like a regular webcam. It would be pretty cool to update a picture every few minutes while you're out and about (assuming of course you have municipal WiFi...).]]></content:encoded></item><item><title>BugLabs: My GpsLogger gets slightly less lame</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-09T15:10:58-04:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_gpslogger_1_0_1.php#unique-entry-id-31</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_gpslogger_1_0_1.php#unique-entry-id-31</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; ">I added the Google Tile code from one of the sample apps to my el-cheeso GpsLogger application for BugLabs last night. So now it shows the appropriate Google tile for where the position module is reporting that you are right now. I also created a few NMEA data log files using </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; "><a href="http://earth.google.com" rel="self">Google Earth</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; "> and </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; "><a href="http://www.gpsbabel.org/" rel="self">gpsbabel</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; ">, so that I could have different fake routes to watch it run (since there's obviously no actual GPS chip in the Virtual BUG it just reads position data from a file).<br /><br /></span><img class="imageStyle" alt="GpsLogger" src="http://davidfindlay.org/weblog/files/GpsLogger.png" width="396" height="434"/>b]]></content:encoded></item><item><title>BugLabs New Rendering</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-08T23:02:28-04:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_rendering.php#unique-entry-id-30</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_rendering.php#unique-entry-id-30</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; "><a href="http://buglabs.net/" rel="self">BugLabs</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; "> have a new rendering up on their home page of what the Bug and Modules will look like. I think the one in the bottom-left is the LCD. Engadget has it </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; "><a href="http://www.engadget.com/2007/10/08/bug-labs-shows-off-new-product-render/" rel="self">here</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; ">.</span>]]></content:encoded></item><item><title>USENET Nostalgia</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-08T17:39:18-04:00</dc:date><link>http://davidfindlay.org/weblog/files/USEnet_nostalgia.php#unique-entry-id-29</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/USEnet_nostalgia.php#unique-entry-id-29</guid><content:encoded><![CDATA[<span style="font:12px Arial, Verdana, Helvetica, sans-serif; ">I found what were likely my first USENET postings today, courtesy of the information hoover that is Google (more specifically Google Groups in this case). Riveting stuff it is too.<br /><br /></span><span style="font:13px Courier, mono; ">Newsgroups: misc.forsale<br />From: d...@dcs.ed.ac.uk (David Findlay)<br />Date: 29 Jan 93 13:47:31 GMT<br />Local: Fri, Jan 29 1993 9:47&nbsp;am<br />Subject: Sega Game Gear For Sale<br /><br />I have a 7 month old Sega Game Gear for sale (I got a SNES you see). <br />It comes with the following : <br />6 games, TV adapter (turns it into a portable colour TV), AC adapter, rechargeable battery pack, car lighter adapter,<br />carry case for all the above + all instruction booklets, manuals and receipt for remainder of guarantee. <br /><br />All this stuff cost me about 400 pounds so I will let it go for 250 ono (inc p+p). <br />Please e-mail me with offers. <br /></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; "><br />and:<br /><br /></span><span style="font:13px Courier, mono; ">Newsgroups: alt.fan.ren-and-stimpy<br />From: d...@dcs.ed.ac.uk (David Findlay)<br />Date: 3 Feb 93 14:07:24 GMT<br />Local: Wed, Feb 3 1993 10:07&nbsp;am<br />Subject: R&S in the UK<br /><br />Can anyone tell me if Ren and STimpy stuff is available in the UK? <br />My girlfriend is from Pennsylvania and I saw the specials on MTV there at Christmas, but I've never seen anything about them at home. <br /></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; "><br />I'm very happy to say that my girlfriend back then is my now my wife and has been for 13 years!<br />This also reminds me that I sent a VHS tape to some guy in England with a tenner 'cos he said he'd tape some Ren and Stimpy episodes for me (I was eager to swot up to impress my girlfriend). He never returned it, but on the plus side I did find the lyrics to the log song on </span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; "><a href="http://en.wikipedia.org/wiki/Archie_search_engine" rel="self">archie</a></span><span style="font:12px Arial, Verdana, Helvetica, sans-serif; ">...<br /><br /></span>]]></content:encoded></item><item><title>&#x22;VOCOLLECT HEALTHCARE SYSTEMS LAUNCHES ACCUNURSE&#xae; VERSION 2.0&#x22; Press Release</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-08T13:04:25-04:00</dc:date><link>http://davidfindlay.org/weblog/files/accunurse_2_0_launches.php#unique-entry-id-28</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/accunurse_2_0_launches.php#unique-entry-id-28</guid><content:encoded><![CDATA[Sorry to shout, but <a href="http://healthcare.vocollect.com/index.php/en/pr/vocollect_healthcare_systems_launches_accunurse_version_2" rel="self">this</a> has been my work life for the last year and a half.<br /><br />Here's a picture of me with our new AccuNurse Voice Assistant (hastily taken with PhotoBooth, so excuse the backlighting):<br /><br /><img class="imageStyle" alt="Me and my Voice Assistant" src="http://davidfindlay.org/weblog/files/me_and_voiceassistant.jpg" width="320" height="240"/><br /><br />It looks a bit big in that picture because of the perspective, but it's actually pretty darn small.]]></content:encoded></item><item><title>BugLabs Update: My first app</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-10-07T17:32:37-04:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_2.php#unique-entry-id-27</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_2.php#unique-entry-id-27</guid><content:encoded><![CDATA[I finally found some time to sit down with the BUG SDK and play around. They're using the <a href="http://en.wikipedia.org/wiki/OSGi" rel="self">OSGi</a> framework under the hood: a dynamic module framework for Java. I wrote the beginnings of what I intend to be a GPS logger. So far it just shows a starting position, your current position and the distance between them (using the Haversine formula). There's still some work to be done in the SDK to define the constraints of the actual LCD device - for now the SDK just exposes an AWT Frame - so I haven't spent any time on GUI layout. The VirtualBUG emulator also doesn't work properly on OS X, apparently due to a bug in Apple's implementation of Swing. The buglabs guys have been working on that one but for now I've fallen back to working with it on Debian Etch on my MythTV box, and it's working fine on that.<br /><br />They had their first webinar with the beta testers on Thursday, but we're in the final throes of getting a release completed at work, so I couldn't attend. They've also initiated an application cook-off where they judge tester-created applications and award some prizes. I doubt my humble offering will make it too far in the process, but it was at least the first user-generated app uploaded  to the site.<br /><br />Right, I best be off for now; gotta remote into a customer site and do an upgrade soon. I'll leave you with the entry for my first app:<br /><br /><br /><img class="imageStyle" alt="GpsLogger" src="http://davidfindlay.org/weblog/files/page1_blog_entry27_1.png" width="465" height="417"/><br />]]></content:encoded></item><item><title>Getting your pictures from Flickr into iPhoto</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-09-27T22:53:03-04:00</dc:date><link>http://davidfindlay.org/weblog/files/flickr_to_photo.php#unique-entry-id-26</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/flickr_to_photo.php#unique-entry-id-26</guid><content:encoded><![CDATA[Last month I posted about <a href="http://davidfindlay.org/weblog/files/flickrphotoinfo.php" rel="self" title="weblog:Backing up your Flickr photo info">backing up metadata for your Flickr photos</a> using a simple little Python script. That script gives you an XML file for each photo with all that photo's metadata stored inside it for ready access. If you're a recent switcher to OSX, you might want to take advantage of that data to get your photos from Flickr into iPhoto.<br /><br />Once you have iPhoto and Flick in sync, you can import new photos from your camera into iPhoto and then export to iPhoto using <a href="http://connectedflow.com/flickrexport/iphoto/" rel="self">FlickrExport</a> and they will stay in sync. Of course you may have no interest in getting your photos from Flickr to iPhoto, in which case feel free to stop reading. In my case, while I had the photos around, they were in multiple folders on my hard drive and didn't have any tags associated with them. On Flickr I had them tagged, dates corrected, and so on. Rather than recreate that process I decided it would be easiest to take what I'd done in Flickr and push it to iPhoto.<br /><br />The linked AppleScripts below were mostly what I used to accomplish this process, again in conjunction with the XML files from the script mentioned in <a href="http://davidfindlay.org/weblog/files/flickrphotoinfo.php" rel="self" title="weblog:Backing up your Flickr photo info">Backing up your Flickr photo info</a>. Now some caveats: I had never used AppleScript before when I wrote these, and my copy of <a href="http://www.oreilly.com/catalog/applescpttdg/" rel="self">AppleScript: The Definitive Guide</a> was still in the mail. If you know AppleScript you will be aware of how quite unlike most other scripting languages it is. The scripts below are undoubtedly not in best AppleScript style, and I didn't spend any time modularizing them, so you'll see common functions in each for XML parsing and so forth.<br /><br />So with that said, take them for what they are and do with them what you please. Hopefully between them they'll give you enough to make a start on whatever iPhoto library-munging project you've decided to take on.<br /><br /><ul class="disc"><li><a href="http://pastie.textmate.org/101632" rel="self">Copy photo "date taken" information from Flickr to iPhoto</a></li><li><a href="http://pastie.textmate.org/101634" rel="self">Copy photo metadata from Flickr to iPhoto (title, comment, keywords)</a></li><li><a href="http://pastie.textmate.org/101636" rel="self">Download photos from Flickr and import them into iPhoto</a></li><li><a href="http://pastie.textmate.org/101637" rel="self">Change YYMMDD_N titles to YYMMDD_0N in iPhoto</a></li></ul>]]></content:encoded></item><item><title>BugLabs Beta is a go&#x21;</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-09-25T22:59:25-04:00</dc:date><link>http://davidfindlay.org/weblog/files/buglabs_phase_one.php#unique-entry-id-25</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/buglabs_phase_one.php#unique-entry-id-25</guid><content:encoded><![CDATA[I'm honoured to have been chosen in the <a href="http://www.bugblogger.com/2007/09/beta-testers-se.html" rel="self">first wave of beta testers</a> to get access to the <a href="http://buglabs.net/" rel="self">BugLabs</a> beta. I read about BugLabs in an <a href="http://www.engadget.com/2007/08/28/bug-labs-fleshes-out-bugbase-bugmodule-details/" rel="self">Engadget blog post</a> and it sounded intriguing: "An open source, web-enabled, modular software + hardware platform."<br /><span style="color:#494B50;"><br /></span>We're not under a formal NDA or anything, but we've been asked not to disclose URLs for the various components of the beta program, and so on, which is fair enough:<br /><blockquote><p>By the way, please keep these links to yourself, they should all be considered confidential to the beta program. You are welcome to blog about, chat about, Twitter about, text about, email about, or send smoke signals about the beta program, but please don't share the links or SDK. </p></blockquote>They have bug tracking, forums and a WiKi already up and running, and they made an SDK available. The SDK includes VirtualBug: an emulator for the hardware, since hardware isn't available at this stage.<br /><br /><img class="imageStyle" alt="VirtualBug" src="http://davidfindlay.org/weblog/files/page1_blog_entry25_1.png" width="430" height="114"/><br /><br />They built their SDK on top of Eclipse and I have to say it's pretty slick for things being so early. The instructions to get everything up and running are also unusually polished for a beta program.<br /><br />There are a few sample applications that do real things, like post pictures to Flickr with geo-tagging. Some things are still necessarily in the mock-up stage until the hardware is ready, like the camera module (which pulls pictures from file rather than an actual camera) and the motion sensor (which 'detects' motion by you typing the word 'motion' into the Eclipse console).<br /><br />Still, I'm very impressed at how it looks at this point. The few questions I've had have been replied to promptly in the forums and the folks at BugLabs all seem very helpful.<br /><br />I'm still getting my feet wet in the SDKs, but I'll post updates as I make progress.<br /><br /><img class="imageStyle" alt="Dragonfly SDK" src="http://davidfindlay.org/weblog/files/page1_blog_entry25-dragonfly_sdk_screenshot.jpg" width="465" height="264"/>]]></content:encoded></item><item><title>Breaking the 32MB barrier on Windows (pre-6) CE</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-09-26T20:47:29-04:00</dc:date><link>http://davidfindlay.org/weblog/files/ce_lma.php#unique-entry-id-24</link><guid isPermaLink="true">http://davidfindlay.org/weblog/files/ce_lma.php#unique-entry-id-24</guid><content:encoded><![CDATA[In Windows CE 5 and earlier, each process is limited to 32MB of virtual address space. That 32MB has to hold your executable, your DLLs, <strong>everyone else's DLLs</strong>, your heap, and some other stuff. If you're on a plain Windows CE device the so-called 'DLL crunch' isn't always too bad, since the OEM only has to include what they want or need to include in the platform image. However, on a Windows Mobile device, the OEM has to include everything required to get LTK verification: Pocket Word, and all that fun stuff. That means a bunch of extra DLLs that eat into the available space in your process' slot.<br /><br />In Windows CE 6, the limit was raised to 2GB, so you have much more breathing room (you are limited to 512MB of physical RAM, but still, what luxury).<br /><br />So, what do you do if you're developing for pre-6 Windows CE and you run out of heap space for your application? Well, you can play some tricks with DLL load ordering, but that only gets you so far. One neat trick I rely on is what I like to call the 'LMA incantation'. It goes like this:<br />If you ask for at least 2MB, and you ask for it in a particular way, then CE will allocate that memory for you from the Large Memory Area. This is the area of memory above where the individual 32MB slots exist for normal processes. It's normally used for memory-mapped files (which is another way you can make use of the LMA if you need to).<br /><br />Here's the incantation:<br /><br /><code>DWORD size = 2*1024*1024; // (or more)<br /><br />void *p =  VirtualAlloc(0, size, MEM_RESERVE, PAGE_NOACCESS);<br />p = VirtualAlloc(p, size, MEM_COMMIT, PAGE_READWRITE);<br /><br />// optional:<br />#define LMA_START_ADDRESS (0x42000000)<br />assert(ptr > LMA_START_ADDRESS)</code><br /><br />Now if you do this in one line rather than two, that is do the commit without the reserve, then you will get memory from your process' 32MB slot rather than the LMA, and the assert will of course fail.<br /><br />This one has saved my behind on more than one project. Enjoy!<br /><br />Notes:<br /><ul><li>From the <a href="http://msdn2.microsoft.com/en-us/library/aa908768.aspx" rel="self">MSDN description of VirtualAlloc</a>:<br /><blockquote><p>In Windows CE 5.01 and earlier versions, if you call VirtualAlloc with dwSize >= 2 MB, flAllocationType set to MEM_RESERVE, and flProtect set to PAGE_NOACCESS, it automatically reserves memory at the shared memory region. This preserves per-process virtual memory.... Since CE 6.0, irrespective of the value of dwSize, kernel will always try to allocate VM in user process space. Also, user applications cannot call VirtualAlloc with shared heap address range (0x70000000 - 0x7fffffff) since this is read only for user applications and read/write for kernel mode threads.</p></blockquote></li><li>A <a href="http://msdn2.microsoft.com/en-us/library/bb331824.aspx" rel="self">recent article</a> from CE whiz Doug Boling on CE memory architecture.</li></ul><br />]]></content:encoded></item><item><title>Stephen Fry is a geek</title><dc:creator>Dave Findlay</dc:creator><category>None</category><dc:date>2007-09-20T23:01:12-04:00</dc:date><link>http://davidfindlay.org/weblog/files/stephenfryblogging.php#unique-entry-i