<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6835589</atom:id><lastBuildDate>Tue, 27 Dec 2011 22:49:17 +0000</lastBuildDate><category>cperciva</category><category>6981st</category><category>spam</category><category>family</category><category>history</category><category>bsd</category><category>freebsd</category><category>akpl8s</category><category>language</category><category>film</category><category>steph</category><category>geek</category><category>ALD09post</category><category>health</category><category>ideas</category><category>administrivia</category><category>tycho</category><category>google</category><category>consumer rights</category><category>humor</category><category>life</category><title>Royce Bits</title><description>An eclectic eccentric making the esoteric electric</description><link>http://roycebits.blogspot.com/</link><managingEditor>noreply@blogger.com (Royce)</managingEditor><generator>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/roycebits" /><feedburner:info uri="roycebits" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-8619376261560767951</guid><pubDate>Tue, 27 Dec 2011 22:42:00 +0000</pubDate><atom:updated>2011-12-27T13:49:17.859-09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">geek</category><title>APC Masterswitch errors: heap corrupted : non-matching sizes</title><description>Sometimes, an APC Masterswitch will start spewing errors like this on its console:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;heap corrupted : non-matching sizes :-22904..13041&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;This sometimes happens when some revisions of the APC Masterswitch OS have too much uptime.  &lt;br /&gt;&lt;br /&gt;The issue can be temporarily resolved by rebooting the management card.  Even though your terminal is filling up with these errors, you can still actually log in and reboot the card - you just have to do it semi-blind.&lt;br /&gt;&lt;br /&gt;For some revisions of OS, the key sequence is:&lt;pre&gt;&lt;br /&gt;[username]&lt;br /&gt;[password]&lt;br /&gt;3 (the 'System' menu)&lt;br /&gt;5 (the 'Tools' menu)&lt;br /&gt;1 (the 'Reboot' option)&lt;br /&gt;YES (all in caps, to confirm that you want to reboot)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will clear the error without power-cycling any devices.  I suspect that an OS upgrade would address the issue permanently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-8619376261560767951?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/12/apc-masterswitch-errors-heap-corrupted.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-4601674275608643501</guid><pubDate>Fri, 23 Dec 2011 21:54:00 +0000</pubDate><atom:updated>2011-12-23T12:56:42.243-09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">life</category><category domain="http://www.blogger.com/atom/ns#">family</category><category domain="http://www.blogger.com/atom/ns#">steph</category><title>Better late than never</title><description>I just realized that I didn't mention something important here.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://www.royceandsteph.com/family/"&gt;We had a baby&lt;/a&gt;!&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-4601674275608643501?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/12/better-late-than-never.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-5849235514284222638</guid><pubDate>Sat, 22 Oct 2011 19:55:00 +0000</pubDate><atom:updated>2011-10-22T11:58:29.878-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">freebsd</category><category domain="http://www.blogger.com/atom/ns#">geek</category><title>Using vi key bindings in Perl's debugger on FreeBSD</title><description>Even after verifying that &lt;tt&gt;Term::ReadKey&lt;/tt&gt; and &lt;tt&gt;Term::ReadLine&lt;/tt&gt; were part of my perl distribution:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;royce@heffalump$ perl -e 'use Term::ReadKey;'&lt;br /&gt;royce@heffalump$ perl -e 'use Term::ReadLine;'&lt;br /&gt;royce@heffalump$&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;... and making sure that vi key bindings were listed in my .inputrc:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;royce@heffalump$ grep editing-mode ~/.inputrc&lt;br /&gt;set editing-mode vi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;... I still couldn't use 'em, as demonstrated by what happened when I tried to use movement keys:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  DB&lt;1&gt; testtesttest^[[A&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In my research, I discovered that &lt;a href="http://ubuntuforums.org/showthread.php?t=287435"&gt;Ubuntu folks were installing a different ReadLine&lt;/a&gt;.  I eventually found the &lt;tt&gt;devel/p5-ReadLine-Perl&lt;/tt&gt; port, which has this &lt;tt&gt;pkg-descr&lt;/tt&gt;:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Perl 5 ships with a module called Term::ReadLine which is an interface&lt;br /&gt;to command line editing and recall.  The version that ships with Perl&lt;br /&gt;is only a stub, and offers little functionality.&lt;br /&gt;&lt;br /&gt;This module supplants the Term::ReadLine stubs with real command line&lt;br /&gt;editing and recall facilities, written entirely in Perl.  Applications&lt;br /&gt;that use Term::ReadLine do not need to be modified to gain the benefits&lt;br /&gt;of this package; it will happen transparently upon installation.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After installing &lt;tt&gt;p5-ReadLine-Perl&lt;/tt&gt;, I'm up and running.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-5849235514284222638?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/10/using-vi-key-bindings-in-perls-debugger.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-3121806296539658477</guid><pubDate>Mon, 26 Sep 2011 14:15:00 +0000</pubDate><atom:updated>2011-09-26T06:26:07.081-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bsd</category><category domain="http://www.blogger.com/atom/ns#">geek</category><title>FreeBSD apr1 upgrade error: Configure: 9904: Syntax error: word unexpected (expecting ")")</title><description>I was having trouble with apr1 on a FreeBSD web server. apr1 is used by Apache.  The configure script for apr1 was dying with this error:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Performing libtool configuration ... &lt;br /&gt;. / configure: line 9904: syntax error near unexpected token `lt_decl_varnames, ' &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;... which boiled down to:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;. / configure: line 9904: `lt_if_append_uniq (lt_decl_varnames, SHELL,,, '&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Fortunately, &lt;a href="http://lists.freebsd.org/pipermail/freebsd-apache/2010-June/001789.html"&gt;this thread&lt;/a&gt; was eventually resolved by someone finding out that they had some &lt;tt&gt;libtoo115&lt;/tt&gt; files left over, even though it had been deinstalled.   I manually removed the extraneous files with:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# pkg_delete libtool-1.5.24 &lt;br /&gt;# rm -rf /usr/local/share/libtool15 &lt;br /&gt;# rm -f /usr/local/bin/libtool15 /usr/local/bin/libtoolize15&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I am now back up and running! &lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://vladstar.com/"&gt;Vladislav Staroselskiy&lt;/a&gt; for &lt;a href="http://vladstar.com/blog/?post=934"&gt;a very helpful post about the FreeBSD apr1 libtool15 problem&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-3121806296539658477?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/09/freebsd-apr1-upgrade-error-configure.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-7043202227630841066</guid><pubDate>Fri, 19 Aug 2011 06:17:00 +0000</pubDate><atom:updated>2011-09-26T06:26:42.898-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">6981st</category><category domain="http://www.blogger.com/atom/ns#">humor</category><category domain="http://www.blogger.com/atom/ns#">family</category><category domain="http://www.blogger.com/atom/ns#">history</category><title>A little post-1964-earthquake humor</title><description>A guest post from my father, for which I asked him to share a story about something that happened after things had mostly gotten back to normal after the 1964 Alaska Earthquake.  Dad worked at what was then the 6981st, and is now the &lt;a href="http://en.wikipedia.org/wiki/381st_Intelligence_Squadron"&gt;381st Intelligence Squadron&lt;/a&gt; on Elmendorf (now Joint Base Elmendorf-Richardson).  For those who know the work, the terminology here will be familiar.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;The Great Alaska Earthquake happened in late March of 1964.  9.2 on the Richter scale.  As many folks know, it was devastating to many parts of southeast Alaska.&lt;br /&gt;&lt;br /&gt;Sometime after that event, I was on D Flight “tearing traffic” as usual during a swing shift.  One of the Flight’s 292X1s was a “goosey” sort of guy.  He was diligently working away that evening as I approached his work station from behind, preparing to “tear traffic” from his position.  As I came up behind him I reached up and tapped the fluorescent light fixture hanging directly above.  This started the fixture swinging.  Then, “tearing traffic” in front of him, I got his attention and looked up as if to suddenly notice the swinging light fixture.  He saw I was looking up so he looked up too.  He saw the fixture moving and before he had any second thoughts, leaped out of his chair and at double time made for the Operations door.  He went past other folks diligently working, through the doors, down the stairs, past the Air Police person guarding access to the upstairs Operations area, through the first floor foyer and out the front doors of the building to the flag pole located in the center of the secure compound area.&lt;br /&gt;&lt;br /&gt;Once he got there he couldn’t understand why others weren’t there too.  He was sure he had quickly reacted to an earthquake aftershock.&lt;br /&gt;&lt;br /&gt;When no one else was around except him and the flag pole it dawned on him that perhaps the swinging light fixture had not caused what he thought.  He strolled back into the building, up to the Air Police person on guard duty, showed the guard his badge and continued on up to the second floor and back to his position in the Operations area.  He did not stop or even slow down to answer anyone’s questions about his rapid departure a few minutes earlier. &lt;br /&gt;&lt;br /&gt;By that time I figured that he had an idea who was responsible for his quick-reaction to the swinging light fixture.&lt;br /&gt;&lt;br /&gt;I managed to avoid his attempts to find me through the rest of the swing shift.&lt;br /&gt;&lt;br /&gt;Damn 202s!  Not funny!  Be a takin' 'er easy.  Ur Dad sends&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-7043202227630841066?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/08/little-post-1964-earthquake-humor.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-171020681621468379</guid><pubDate>Sun, 07 Aug 2011 15:22:00 +0000</pubDate><atom:updated>2011-08-07T08:09:18.387-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tycho</category><title>Remembering William Sleator</title><description>The Sleator family has created &lt;a href="http://williamsleator.wordpress.com/2011/08/05/hello-world/"&gt;a blog for posting memories about William Sleator&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-171020681621468379?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/08/remembering-william-sleator.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-5698806244844673416</guid><pubDate>Fri, 05 Aug 2011 14:14:00 +0000</pubDate><atom:updated>2011-08-07T10:04:26.846-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tycho</category><title>William Sleator, 1945 - 2011</title><description>Publisher's Weekly recently &lt;a href="https://twitter.com/#!/PublishersWkly/status/98803531997380608"&gt;tweeted&lt;/a&gt; that &lt;a href="http://www.tycho.org/sleator.shtml"&gt;William Sleator&lt;/a&gt; passed away in Thailand on Tuesday, August 2nd.  He was 66.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tycho.org/"&gt;I am a big fan&lt;/a&gt;. My default online handle, &lt;a href="http://www.tycho.org/tt.shtml"&gt;TychoTithonus&lt;/a&gt;, is the name of the main character in his book &lt;a href="http://www.tycho.org/"&gt;The Green Futures of Tycho&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;I emailed with him a few times, and he signed one of my copies, but I regret that I never met him in person.  &lt;br /&gt;&lt;br /&gt;His work struck a chord with me in ways that are hard to explain.  Some part of my childhood is now written in stone.&lt;br /&gt;&lt;br /&gt;Other links about his passing:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.abramsbooks.com/2011/08/04/in-memoriam-william-sleator/"&gt;Abrams, his last publisher&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.schoollibraryjournal.com/slj/home/891509-312/science-fiction_master_william_sleator_1945-2011.html.csp"&gt;School Library Journal&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.publishersweekly.com/pw/by-topic/authors/obituaries/article/48229-obituary-william-sleator.html"&gt;Publishers Weekly article&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.yalsa.ala.org/thehub/2011/08/04/r-i-p-william-sleator/"&gt;The YALSA Hub&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;strong&gt;Update 2011-08-07&lt;/strong&gt;: &lt;a href="http://www.nytimes.com/2011/08/07/books/william-sleator-science-fiction-writer-for-young-adults-dies-at-66.html"&gt;William Sleator's obituary in the New York Times&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-5698806244844673416?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/08/william-sleator-1945-2011.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-8867405612681606947</guid><pubDate>Tue, 12 Jul 2011 20:47:00 +0000</pubDate><atom:updated>2011-07-12T12:49:54.127-08:00</atom:updated><title>Awkward Family Photos - the Board Game</title><description>Hmm ... will &lt;a href="http://www.michaelhanscom.com/"&gt;Michael&lt;/a&gt;'s &lt;a href="http://www.michaelhanscom.com/eclecticism/2010/06/23/my-famous-awkward-family/"&gt;famous awkward family photo&lt;/a&gt; be included in &lt;a href="http://craziestgadgets.com/2011/07/12/awkward-family-photos-board-game/"&gt;the new Awkward Family Photos Board Game&lt;/a&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-8867405612681606947?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/07/awkward-family-photos-board-game.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-1675921565265241858</guid><pubDate>Wed, 04 May 2011 13:50:00 +0000</pubDate><atom:updated>2011-05-04T18:17:33.492-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">spam</category><title>Hawaiian Spam can label contest winner</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-agvwxFzS_t4/TcFbkE2AtzI/AAAAAAAABFg/6LfbgY1Y1OI/s1600/spam-hawaii-2011-winner-detail.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 183px;" src="http://4.bp.blogspot.com/-agvwxFzS_t4/TcFbkE2AtzI/AAAAAAAABFg/6LfbgY1Y1OI/s400/spam-hawaii-2011-winner-detail.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5602860086759307058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As some of you may know, I have &lt;a href="http://www.alaska.net/~royce/spam/"&gt;a collection of SPAM cans&lt;/a&gt;.  The collector/OCD instinct occasionally compels me to do some web searching for SPAM-related stuff.  &lt;br /&gt;&lt;br /&gt;This morning, I stumbled upon a brand new can design that renders my collection (temporarily) incomplete.  &lt;br /&gt;&lt;br /&gt;Hawai'ians are big fans of SPAM.  Hormel has been grooving to that vibe, and they recently had a &lt;a href="http://www.hawaiispamcan.com/"&gt; Hawai'i SPAM can label design contest&lt;/a&gt; for a special edition the the 25% Less Sodium version.&lt;br /&gt;&lt;br /&gt;The winner was announced last week.  Congratulations to Hawai'ian artist and designer &lt;a href="http://www.linkedin.com/pub/scott-kaneshiro/7/a71/356"&gt;Scott Kaneshiro&lt;/a&gt; of Mililani, Hawai'i!  Scott's design was deemed "No Kai 'Oi" (best) by Hormel's judges, and will be used on a special Hawaiian can.&lt;br /&gt;&lt;br /&gt;If there's a contest for an Alaskan design, I have a couple of ideas. :-)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UPDATE 2011-05-04 7:05AM AKDT:&lt;/strong&gt; I found &lt;a href="http://www.youtube.com/watch?v=uYx03cf9W_0"&gt;this video of the SPAM can design winner announcement&lt;/a&gt; posted by &lt;a href="http://www.youtube.com/user/nonstophonolulu"&gt;nonstophonolulu&lt;/a&gt;.  It notes that the can will be available in Hawai'ian stores starting in July, and than Scott won $1000 and a year's supply of SPAM.  I also found &lt;a href="http://tastyislandhawaii.com/blog/2011/02/21/hormel-spam-hawaii-label-design-contest/"&gt;another entry from the Tasty Island blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-1675921565265241858?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/05/hawaiian-spam-can-label-contest-winner.html</link><author>noreply@blogger.com (Royce)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-agvwxFzS_t4/TcFbkE2AtzI/AAAAAAAABFg/6LfbgY1Y1OI/s72-c/spam-hawaii-2011-winner-detail.jpg" height="72" width="72" /></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-3366573012973825463</guid><pubDate>Wed, 12 Jan 2011 15:06:00 +0000</pubDate><atom:updated>2011-01-12T06:33:04.041-09:00</atom:updated><title>Review of Search Engine Blacklist for Chrome - highly recommended</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N1d0JiUhdmg/TS3GjPgo9zI/AAAAAAAABEM/3gZ5L_pWkyY/s1600/seb-shot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 181px;" src="http://4.bp.blogspot.com/_N1d0JiUhdmg/TS3GjPgo9zI/AAAAAAAABEM/3gZ5L_pWkyY/s400/seb-shot.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5561319423633585970"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;I was getting &lt;em&gt;really&lt;/em&gt; tired of useless quasi-spam in Google search results.  It was seriously impacting my productivity (and morale).  The tenth time that the same junk domain fools you into selling your eyeballs to it, you &lt;em&gt;really&lt;/em&gt; wish that it would die in a registrar fire.&lt;br&gt;&lt;a href="http://roycebits.blogspot.com/2011/01/review-of-search-engine-blacklist-for.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-3366573012973825463?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2011/01/review-of-search-engine-blacklist-for.html</link><author>noreply@blogger.com (Royce)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_N1d0JiUhdmg/TS3GjPgo9zI/AAAAAAAABEM/3gZ5L_pWkyY/s72-c/seb-shot.png" height="72" width="72" /></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-4805796030634284145</guid><pubDate>Thu, 16 Dec 2010 20:36:00 +0000</pubDate><atom:updated>2010-12-16T11:41:16.090-09:00</atom:updated><title>A Short History of My Shorty</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ngrams.googlelabs.com/chart?content=my%20shorty&amp;corpus=0&amp;smoothing=10&amp;year_start=1850&amp;year_end=2008"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 900px; height: 330px;" src="http://ngrams.googlelabs.com/chart?content=my%20shorty&amp;corpus=0&amp;smoothing=10&amp;year_start=1850&amp;year_end=2008" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google Labs has a great new tool called the &lt;a href="http://ngrams.googlelabs.com/"&gt;Books Ngram Viewer&lt;/a&gt;.  As you can see, the popularity of the phrase "&lt;a href="http://ngrams.googlelabs.com/graph?content=my+shorty&amp;year_start=1850&amp;year_end=2008&amp;corpus=0&amp;smoothing=10"&gt;my shorty&lt;/a&gt;" in print took off in the mid-1980s.&lt;br /&gt;&lt;br /&gt;Side note: Stephanie doesn't believe me that this phrase, currently meaning "my girlfriend", has etymology derived from a phrase for "child" - a diminutive tradition with "my baby" as its most obvious other member.  Still researching.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-4805796030634284145?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2010/12/short-history-of-my-shorty.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-5500077061717352243</guid><pubDate>Sun, 07 Nov 2010 16:53:00 +0000</pubDate><atom:updated>2010-11-07T09:09:02.540-09:00</atom:updated><title>The best FreeNAS name ever: Meet Atoz.</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N1d0JiUhdmg/TNbe4N5MC4I/AAAAAAAABDU/XQYbOJKAUVM/s1600/Atoz.jpg"&gt;&lt;img style="margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_N1d0JiUhdmg/TNbe4N5MC4I/AAAAAAAABDU/XQYbOJKAUVM/s200/Atoz.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5536857849282169730" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N1d0JiUhdmg/TNbe4N5MC4I/AAAAAAAABDU/XQYbOJKAUVM/s1600/Atoz.jpg"&gt;&lt;img style="margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_N1d0JiUhdmg/TNbe4N5MC4I/AAAAAAAABDU/XQYbOJKAUVM/s200/Atoz.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5536857849282169730" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N1d0JiUhdmg/TNbe4N5MC4I/AAAAAAAABDU/XQYbOJKAUVM/s1600/Atoz.jpg"&gt;&lt;img style="margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_N1d0JiUhdmg/TNbe4N5MC4I/AAAAAAAABDU/XQYbOJKAUVM/s200/Atoz.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5536857849282169730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've been planning a homebrew &lt;a href="http://en.wikipedia.org/wiki/Network-attached_storage"&gt;NAS&lt;/a&gt; system.  Most of the parts have arrived, and the system is taking shape. Until today, the system lacked a name, an identity -- a &lt;em&gt;personality&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;I'm a sci-fi geek.  My home systems are always named after robots and computers -- mostly Heinlein, Asimov and Star Trek.  I needed a robot name that captured the idea of redundant storage and archiving. Looking through &lt;a href="http://en.wikipedia.org/wiki/List_of_fictional_robots_and_androids"&gt;a list of fictional robots&lt;/a&gt;, I found the perfect name, from a character in the original Star Trek episode &lt;a href="http://en.wikipedia.org/wiki/All_Our_Yesterdays_(Star_Trek:_The_Original_Series)"&gt;All Our Yesterdays&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;As described at the encyclopedic Star Trek site &lt;a href="http://memory-alpha.org/wiki/"&gt;Memory Alpha&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;Mr. &lt;a href="http://memory-alpha.org/wiki/Atoz"&gt;Atoz&lt;/a&gt; was an inhabitant of the planet Sarpeidon whose sun was going supernova. He was the overseer of a &lt;em&gt;library&lt;/em&gt; and the atavachron, a &lt;em&gt;time portal device&lt;/em&gt; that he used to transport the inhabitants of the planet into the past in order to escape its destruction. &lt;em&gt;He had replicas of himself to help him in the library.&lt;/em&gt; [emphasis mine].&lt;/blockquote&gt; &lt;br /&gt;Redundant library robots using history for disaster planning?  My choice is clear.&lt;br /&gt;&lt;br /&gt;So are my next actions.  It is a &lt;strong&gt;moral imperative&lt;/strong&gt; that I order a Mac.&lt;br /&gt;&lt;br /&gt;So that I can say that Atoz is helping me &lt;em&gt;to store &lt;a href="http://www.apple.com/macosx/what-is-macosx/time-machine.html"&gt;Time Machine&lt;/a&gt; information.&lt;/em&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Clever external permalink: &lt;a href="http://xrl.us/mratoz"&gt;xrl.us/mratoz&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-5500077061717352243?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2010/11/best-freenas-name-ever-meet-atoz.html</link><author>noreply@blogger.com (Royce)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_N1d0JiUhdmg/TNbe4N5MC4I/AAAAAAAABDU/XQYbOJKAUVM/s72-c/Atoz.jpg" height="72" width="72" /></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-6717006570340674774</guid><pubDate>Sun, 24 Oct 2010 15:31:00 +0000</pubDate><atom:updated>2010-10-24T07:37:07.843-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humor</category><category domain="http://www.blogger.com/atom/ns#">history</category><title>Top Ten application, part three</title><description>TOP FIFTEEN THINGS OVERHEARD AT THE SUMMIT ON GLOBAL WARMING&lt;br /&gt;&lt;br /&gt;15. Plans for a field trip to the brothel in Nevada that draws 10% of its power from solar energy&lt;br /&gt;&lt;br /&gt;14. "Can we speed this up?  I left my truck running and it's double-parked."&lt;br /&gt;&lt;br /&gt;13. "Whoo, put your hand &lt;em&gt;there&lt;/em&gt;!  Now &lt;em&gt;that's&lt;/em&gt; warm!"&lt;br /&gt;&lt;br /&gt;12. "Jerry Lewis is the funniest person of all time."&lt;br /&gt;&lt;br /&gt;11. "Two large ice waters, please."&lt;br /&gt;&lt;br /&gt;10. "Ozone, schmozone.  Did you get the keg?"&lt;br /&gt;&lt;br /&gt;9. The quiet, gentle lullabye of environmental activists' fists hammering on the inside of 55-gallon drums out back&lt;br /&gt;&lt;br /&gt;8. "If the greenhouse effect is going to produce tomatoes like that attendee from Finland, shovel on the coal!"&lt;br /&gt;&lt;br /&gt;7. "Got a light?"&lt;br /&gt;&lt;br /&gt;6. Members of the hired band arguing about whether or not to play "Smoke Gets in Your Eyes"&lt;br /&gt;&lt;br /&gt;5. "Actually, burning sod &lt;em&gt;is&lt;/em&gt; a viable alternative to solar energy."&lt;br /&gt;&lt;br /&gt;4. "Now you're cooking with gas!"&lt;br /&gt;&lt;br /&gt;3. That wacky Dr. Feldman going on and on about his "Pig Methane and Hamhocks" franchising idea&lt;br /&gt;&lt;br /&gt;2. "They said that the ice cubes in these drinks came from genuine melted Alaskan glaciers!"&lt;br /&gt;&lt;br /&gt;... and the number 1 thing overheard at the Summit on Global Warming:&lt;br /&gt;&lt;br /&gt; 1. "I love the smell of napalm in the morning."&lt;br /&gt;&lt;br /&gt;(Third in a series: &lt;a href="/2010/10/top-ten-application-part-one.html"&gt;part one&lt;/a&gt;, &lt;a href="/2010/10/top-ten-application-part-two.html"&gt;part two&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-6717006570340674774?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2010/10/top-ten-application-part-three.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-7758314388264315975</guid><pubDate>Sun, 17 Oct 2010 16:33:00 +0000</pubDate><atom:updated>2010-10-17T08:35:04.870-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humor</category><title>Top Ten application, part two</title><description>Second in a series of retroblogging from 1997.&lt;br /&gt;&lt;br /&gt;TOP ELEVEN WAYS TO TELL THAT YOUR SOCKS DON'T MATCH&lt;br /&gt;&lt;br /&gt;11. Just "don't feel fresh"&lt;br /&gt;10. Midget chicks at the local dive look the other way when you saunter in&lt;br /&gt; 9. "Use the Force, Luke!"&lt;br /&gt; 8. One hip wader left behind when buddies pull your drunken a** out of the mud flats&lt;br /&gt; 7. "Spiked Vietcong Sock of Death" usually requires stitches&lt;br /&gt; 6. Cars always veer to your *left* when night jogging on the median&lt;br /&gt; 5. I don't know, but that's the last time I show Michael Jackson where I stash my underclothes&lt;br /&gt; 4. Keep having to drop pom-poms to pull up one knee-high, but it won't come up any higher&lt;br /&gt; 3. When used as a filter, left sock mysteriously produces decaf&lt;br /&gt; 2. That blue-tick hound always goes for the leg with the Smurfs on it whenever you show up at Uncle Carl's trailer&lt;br /&gt;&lt;br /&gt;and the number one way to tell your socks don't match ...&lt;br /&gt;&lt;br /&gt; 1. "But I *am* wearing the other sock!"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-7758314388264315975?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2010/10/top-ten-application-part-two.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-7062123781428206994</guid><pubDate>Sun, 10 Oct 2010 01:48:00 +0000</pubDate><atom:updated>2010-10-09T17:51:27.372-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humor</category><category domain="http://www.blogger.com/atom/ns#">history</category><title>Top Ten application, part one</title><description>Back in 1998, I tried out to be a contributor to a humorous web site.  To apply, you had to take a seemingly hard-to-be-funny-about topic and make a "Top Ten"-style list about it.  I stumbled upon one of them today.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;TOP FOURTEEN TOOTHBRUSH-HANDLE STYLES&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;14. Hari-Kari Combo&lt;br /&gt;13. Hands-Free (with jaw strap; batteries not included)&lt;br /&gt;12. Early Colonial Wood Grain&lt;br /&gt;11. Ribbed (for her pleasure)&lt;br /&gt;10. Hollow-point&lt;br /&gt; 9. Shaped-just-like-Ernest-Borgnine-naked&lt;br /&gt; 8. Bouffant&lt;br /&gt; 7. Self-cleaning (heats to 600 degrees)&lt;br /&gt; 6. Flared&lt;br /&gt; 5. Louisville Slugger&lt;br /&gt; 4. Mark IV (with "stun" option)&lt;br /&gt; 3. Dr. Guillotine's Razor-Edge Grip(tm) with realistic Finger-in-the-Sink Action&lt;br /&gt; 2. Pre-greased&lt;br /&gt;&lt;br /&gt;and the number-one toothbrush-handle style ...&lt;br /&gt;&lt;br /&gt; 1. Thighmaster&lt;br /&gt;&lt;br /&gt;I would have &lt;i&gt;rocked&lt;/i&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-7062123781428206994?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2010/10/top-ten-application-part-one.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-3645976178826105011</guid><pubDate>Thu, 01 Apr 2010 15:25:00 +0000</pubDate><atom:updated>2010-04-01T08:15:45.114-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humor</category><category domain="http://www.blogger.com/atom/ns#">bsd</category><title>Committing to FreeBSD</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N1d0JiUhdmg/S7S95jm5w7I/AAAAAAAABAM/as_C7uMLZW0/s1600/freebsd-alaskan~med.jpg"&gt;&lt;img style="float:right; margin:10px; text-align:center;&lt;br /&gt;cursor:pointer; cursor:hand;width: 400px; height: 299px;" src="http://2.bp.blogspot.com/_N1d0JiUhdmg/S7S95jm5w7I/AAAAAAAABAM/as_C7uMLZW0/s400/freebsd-alaskan~med.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5455193845161116594" /&gt;&lt;/a&gt;&lt;br /&gt;After &lt;a href="http://roycebits.blogspot.com/2009/04/contributing-more-to-freebsd.html"&gt;significant effort&lt;/a&gt;, I am thrilled to announce that I am now a &lt;a href="http://www.freebsd.org/docproj/"&gt;FreeBSD documentation&lt;/a&gt; committer!  &lt;br /&gt;&lt;br /&gt;I am proud to be part of a history of great design, &lt;a href="http://en.wikipedia.org/wiki/Principle_of_least_astonishment"&gt;POLA&lt;/a&gt;, and doing things The Right Way.  I look forward to contributing in earnest.&lt;br /&gt;&lt;br /&gt;Read &lt;a href="http://www.alaska.net/~royce/freebsd/news/"&gt;the official announcement&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-3645976178826105011?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2010/04/committing-to-freebsd.html</link><author>noreply@blogger.com (Royce)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_N1d0JiUhdmg/S7S95jm5w7I/AAAAAAAABAM/as_C7uMLZW0/s72-c/freebsd-alaskan~med.jpg" height="72" width="72" /></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-5809293150829445148</guid><pubDate>Fri, 09 Oct 2009 15:23:00 +0000</pubDate><atom:updated>2009-10-09T07:34:57.935-08:00</atom:updated><title>A Glorious Dawn - a musical tribute to Carl Sagan</title><description>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zSgiXGELjbc&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/zSgiXGELjbc&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;At the age of 8, I was transfixed by &lt;a href="http://en.wikipedia.org/wiki/Cosmos:_A_Personal_Voyage"&gt;Cosmos&lt;/a&gt;.  Sagan's articulate sincerity was irresistible, and it shaped my view of just about everything.  &lt;br /&gt;&lt;br /&gt;I actually get a lump in my throat when I watch this video.  It makes me want to go work for NASA, or at least contribute to some open-source project that NASA uses.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.colorpulsemusic.com/"&gt;John Boswell&lt;/a&gt; has a keen eye for what Carl Sagan was passionate about: the wonder of the universe.  If you are a fan of Sagan, I hope that you enjoy this as much as I do.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.colorpulsemusic.com/youtube.html"&gt;Download track: "A Glorious Dawn"&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The nascent &lt;a href="http://saganappreciationsociety.org/staging/"&gt;Sagan Appreciation Society&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-5809293150829445148?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2009/10/glorious-dawn-musical-tribute-to-carl.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-4016484185622962222</guid><pubDate>Fri, 15 May 2009 05:43:00 +0000</pubDate><atom:updated>2009-05-15T06:35:30.216-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humor</category><category domain="http://www.blogger.com/atom/ns#">bsd</category><category domain="http://www.blogger.com/atom/ns#">geek</category><title>The Bill Paul clause to the BSD license</title><description>One of the lesser-known variants.  I use "clause" here loosely; it's really in the disclaimer.&lt;pre&gt;&lt;br /&gt;THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND&lt;br /&gt;ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE&lt;br /&gt;IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul &lt;B&gt;&lt;U&gt;OR THE VOICES IN HIS HEAD&lt;/U&gt;&lt;/B&gt;&lt;br /&gt;BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR&lt;br /&gt;CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF&lt;br /&gt;SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS&lt;br /&gt;INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN&lt;br /&gt;CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)&lt;br /&gt;ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;br /&gt;THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I'm attributing this to Bill Paul based solely on the frequency count in the FreeBSD source tree, though there are others.  This sample is from 7.2-RELEASE:&lt;pre&gt;&lt;br /&gt; 147 ENT SHALL Bill Paul OR THE&lt;br /&gt;  28 ENT SHALL THE AUTHOR OR THE&lt;br /&gt;  10 ENT SHALL NICK HIBMA OR THE&lt;br /&gt;   9 ENT SHALL ICHIRO FUKUHARA OR THE&lt;br /&gt;   1 ENT SHALL Ivan Sharov OR THE&lt;br /&gt;   1 ENT SHALL David Hulton OR THE&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The "THE AUTHOR OR THE VOICES IN HIS HEAD" instances are mostly in some ACL-related code, primarily by Chris Faulhaber.  Hard to say which of these are cut-and-paste, and which are deliberate.&lt;br /&gt;&lt;br /&gt;Either way, I'm using it from now on. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-4016484185622962222?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2009/05/bill-paul-clause-to-bsd-license.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-6335707410233032557</guid><pubDate>Sun, 10 May 2009 03:39:00 +0000</pubDate><atom:updated>2009-05-09T22:26:02.723-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cperciva</category><category domain="http://www.blogger.com/atom/ns#">freebsd</category><category domain="http://www.blogger.com/atom/ns#">geek</category><title>Colin Percival's scrypt: a new chapter in the history of encryption</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N1d0JiUhdmg/SgZNcJ_wnBI/AAAAAAAAAPE/gmDlaGqzvbc/s1600-h/cperciva-presents-scrypt.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 222px;" src="http://1.bp.blogspot.com/_N1d0JiUhdmg/SgZNcJ_wnBI/AAAAAAAAAPE/gmDlaGqzvbc/s320/cperciva-presents-scrypt.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5334035954781953042" /&gt;&lt;/a&gt;&lt;br /&gt;Today at &lt;a href="http://www.bsdcan.org/2009/"&gt;the 2009 BSDCan conference&lt;/a&gt;, &lt;a href="http://www.daemonology.net/"&gt;Colin Percival&lt;/a&gt; (of &lt;a href="http://www.FreeBSD.org/"&gt;FreeBSD&lt;/a&gt; and &lt;a href="http://www.tarsnap.com/"&gt;Tarsnap&lt;/a&gt;) announced &lt;a href="http://www.tarsnap.com/scrypt/"&gt;a new key derivation function called scrypt&lt;/a&gt;.  I am not a math person by any means - and &lt;a href="http://www.tarsnap.com/scrypt/scrypt-slides.pdf"&gt;the slides from the presentation&lt;/a&gt; explain it pretty well - but what Percival has done here is &lt;i&gt;phenomenal&lt;/i&gt;.  I feel lucky to have been there in person for the presentation.&lt;br /&gt;&lt;br /&gt;The basic concept is that &lt;i&gt;sequential memory-hard&lt;/i&gt; algorithms make dedicated encryption ASICs significantly more costly because they are &lt;i&gt;sequential&lt;/i&gt; (difficult to run in parallel) and &lt;i&gt;memory-hard&lt;/i&gt; (require a significant amount of RAM relative to the size of the input.)  &lt;br /&gt;&lt;br /&gt;In other words, making the math hard and difficult to run on ten thousand cores increases the &lt;i&gt;time&lt;/i&gt; required, and making the math &lt;i&gt;need a lot of room to be worked on&lt;/i&gt; increases the &lt;i&gt;money&lt;/i&gt; required to crack the password.  This is because it's relatively cheap to put 10,000 encryption-specific CPU mini-cores on a single die, but it's expensive to feed them piles of fast RAM in a small space.&lt;br /&gt;&lt;br /&gt;This is nothing short of historic.&lt;br /&gt;&lt;br /&gt;Brute-force attacks against encrypted passwords will change overnight - for passwords created after scrypt becomes available, that is.  What was once a trivial password to crack becomes decidedly less trivial - literally by an order of magnitude.  By Percival's back-of-the-slide-rule math, an 8-character password with good entropy (pretty random-looking) encrypted in .1 seconds (good enough for authentication speeds) will take on the rough order of &lt;i&gt;CAD$4.8M&lt;/i&gt; to crack.  By contrast, the previous best method (bcrypt) would cost $130K.  &lt;br /&gt;&lt;br /&gt;Longer strings (source text longer than passwords) become decidedly stronger by much greater factors because the function can spend more time on them, as the user has less of an interactive expectation for file encryption.  If allowed to chew on the data for 5 seconds or less, a relatively short English text string encrypted using scrypt would take CAD$210B (vs $47M for bcrypt(!))&lt;br /&gt;&lt;br /&gt;This table from the presentation shows the rough cost estimates to crack a string in 1 year (click to enlarge):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N1d0JiUhdmg/SgZrejEIFyI/AAAAAAAAAPM/r5dII68YqO4/s1600-h/scrypt-slide-costs.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 167px;" src="http://3.bp.blogspot.com/_N1d0JiUhdmg/SgZrejEIFyI/AAAAAAAAAPM/r5dII68YqO4/s320/scrypt-slide-costs.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5334068981219727138" /&gt;&lt;/a&gt;&lt;br /&gt;The last column may look odd because I've taken this slide out of context.  Because the 40-character string is English text, it has decidedly less entropy, and is therefore easier to crack.&lt;br /&gt;&lt;br /&gt;This isn't just theory; Percival has published &lt;a href="http://www.tarsnap.com/scrypt/scrypt-1.0.tgz"&gt;version 1.0 of working FreeBSD demonstration code&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;I decided to check it out in its early state.  Out of the box, the demo code makes some quick checks of your system to see how much RAM you have, and tries to sanely limit how much it uses - because it can use a &lt;i&gt;lot&lt;/i&gt; of RAM, very very quickly.  There are also limits on how large a passphrase it will currently accept, as well as other parameters automatically sized based your system's memory size.&lt;br /&gt;&lt;br /&gt;On a quick check of the code, the options are:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;m - maximum memory fraction (default: .5, or 50% of RAM as reported by the &lt;tt&gt;hw.usermem&lt;/tt&gt; sysctl for decryption; .128 for encryption)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;M - maximum memory in bytes (default: 0)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;t - maximum time in seconds (default: 5 for encryption; 300 for decryption)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;In my testing on a 512M system, I couldn't immediately get it to eat more than 128M of RAM; not sure if this is fully by design, or if I'm passing the parameters incorrectly.&lt;br /&gt;&lt;pre&gt;royce@heffalump$ time ./scrypt enc -m 1 -t 20 rand.in rand-scrypt.out&lt;br /&gt;Please enter passphrase:&lt;br /&gt;Please confirm passphrase:&lt;br /&gt;&lt;br /&gt;real    0m25.090s&lt;br /&gt;user    0m17.017s&lt;br /&gt;sys     0m0.143s&lt;/pre&gt;The resulting file's header may not survive in future versions ... but for now, you can tell where it came from in the first six bytes:&lt;br /&gt;&lt;pre&gt;royce@heffalump$ cut -b1-6 rand-scrypt.out | head -1&lt;br /&gt;scrypt&lt;/pre&gt; At the presentation, FreeBSD Core Team member &lt;a href="http://www.bsdcan.org/2009/schedule/speakers/18.en.html"&gt;Brooks Davis&lt;/a&gt; asked a good question about the impact of large volumes of users trying to authenticate simultaneously on a system without huge amounts of RAM.  Percival replied that the memory and other options could be tuned to fit the profile of a particular system.  These parameters would be stored in the shadow password field, much as the salt and rounds are stored there today.&lt;br /&gt;&lt;br /&gt;I look forward to seeing a full-fledged scrypt(3) show up in FreeBSD and OpenSSL ... and I'm sure that the Three Letter Agencies do not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-6335707410233032557?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2009/05/colin-percivals-scrypt-new-chapter-in.html</link><author>noreply@blogger.com (Royce)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_N1d0JiUhdmg/SgZNcJ_wnBI/AAAAAAAAAPE/gmDlaGqzvbc/s72-c/cperciva-presents-scrypt.png" height="72" width="72" /></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-787331570475670192</guid><pubDate>Fri, 01 May 2009 05:32:00 +0000</pubDate><atom:updated>2009-04-30T21:53:44.493-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">freebsd</category><title>update4.freebsd.org via ACS</title><description>Speaks for itself (if you speak geek):&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ host -t srv _http._tcp.update.freebsd.org | sort -k8&lt;br /&gt;_http._tcp.update.freebsd.org has SRV record 1 10 80 update1.FreeBSD.org.&lt;br /&gt;_http._tcp.update.freebsd.org has SRV record 1 25 80 update2.FreeBSD.org.&lt;br /&gt;_http._tcp.update.freebsd.org has SRV record 1 5 80 update3.FreeBSD.org.&lt;br /&gt;_http._tcp.update.freebsd.org has SRV record 1 30 80 update4.FreeBSD.org.&lt;br /&gt;_http._tcp.update.freebsd.org has SRV record 1 50 80 update5.FreeBSD.org.&lt;br /&gt;_http._tcp.update.freebsd.org has SRV record 1 5 80 update6.FreeBSD.org.&lt;br /&gt;&lt;br /&gt;$ host update4.FreeBSD.org.&lt;br /&gt;update4.FreeBSD.org has address 209.193.13.98&lt;br /&gt;&lt;br /&gt;$ whois 209.193.13.98 | grep OrgName&lt;br /&gt;OrgName:    Alaska Communications Systems Group, Inc.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I am not authorized to speak on behalf of my employer (as some of you may remember from the May 17, 2002 edition of the &lt;a href="http://www.adn.com/"&gt;ADN&lt;/a&gt;), but I'm personally pleased to be helping out with &lt;a href="http://www.freebsd.org/releases/7.2R/relnotes.html"&gt;the upcoming release of FreeBSD 7.2&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Update: Note that our update server is only temporary, to help with the expected increased use of &lt;tt&gt;&lt;a href="http://www.freebsd.org/cgi/man.cgi?query=freebsd-update&amp;sektion=8"&gt;freebsd-update(8)&lt;/a&gt;&lt;/tt&gt; for upgrading to the new release.&lt;br /&gt;&lt;br /&gt;Also note that &lt;tt&gt;freebsd-update&lt;/tt&gt; selects servers at random; if you're in Alaska, you can use &lt;tt&gt;-s update4.freebsd.org&lt;/tt&gt; to select the ACS server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-787331570475670192?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2009/04/update4freebsdorg-via-acs.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-9024592869293416228</guid><pubDate>Fri, 01 May 2009 04:17:00 +0000</pubDate><atom:updated>2009-05-02T13:16:21.006-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">freebsd</category><category domain="http://www.blogger.com/atom/ns#">geek</category><title>Contributing more to FreeBSD</title><description>Next week, I am headed to &lt;a href="http://www.bsdcan.org/2009/"&gt;BSDCan&lt;/a&gt;.  I hope to meet people involved in the BSD family of projects, to learn about what people are working on, to talk about interesting problems ... and to stretch my CS brain that has been occupied by operational issues in the years since college.&lt;br /&gt;&lt;br /&gt;But the truth is that I have a larger goal.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;(deep breath)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;font-style:italic;"&gt;&lt;blockquote&gt;To substantially improve my contributions to &lt;a href="http://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt;.&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;There.  I said it.  &lt;br /&gt;&lt;br /&gt;I've read that public commitment to a goal increases the odds of success, and this seems pretty public. :-)&lt;br /&gt;&lt;br /&gt;So the question is, &lt;span style="font-style:italic;"&gt;how?&lt;/span&gt;  I could use some advice or suggestions, especially from people who have traveled this road.  (And if you're in the same boat with me and will be at BSDCan, &lt;a href="mailto:royce@tycho.org"&gt;let me know&lt;/a&gt; - I'd love to compare notes!)&lt;br /&gt;&lt;br /&gt;So far, my plans for &lt;a href="http://www.bsdcan.org/2009/"&gt;BSDCan&lt;/a&gt; are:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Spend some time with the FAQs for the topics covered, so that I'm not asking well-known questions. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Play with unfamiliar technologies in advance, to have questions ready.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;At the &lt;a href="http://www.bsdcan.org/2009/schedule/events/149.en.html"&gt;Getting Started in FOSS&lt;/a&gt; session, find some buddies with similar goals - both for the conference and for contributing.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Strive to not be too much of a fanboy. :-)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;My plans for ramping up in my contributions:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Tackling small outstanding problem reports, submitting patches, testing existing patches that are waiting for feedback, and contributing to &lt;a href="http://wiki.freebsd.org/BugBusting"&gt;bug busting&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Watching the FreeBSD mailing lists in more depth, looking for problems and practicing figuring out the solutions (and if I can't, find the solution posted and strive to understand it).  It's also an opportunity to get a better feel for the culture.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Learning SGML so that I can contribute to the docs project.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Working through the Deitel &amp; Deitel C book.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Use the source, Luke. :-)&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Find a project that interests me and use it to fuel my C learning.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Study &lt;a href="http://www.freebsd.org/doc/en/articles/committers-guide/index.html"&gt;the FreeBSD Committer's Guide&lt;/a&gt; - I won't need to know most of it any time soon, but it should provide me with a framework to start understand the philosophy of the project in more detail.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ponder &lt;a href="http://www.onlamp.com/pub/a/bsd/2002/01/31/Big_Scary_Daemons.html"&gt;the advice from Michael Lucas on becoming a committer&lt;/a&gt; (also long term planning).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Studying &lt;a href="http://www.amazon.com/Design-Implementation-FreeBSD-Operating-System/dp/0201702452"&gt;Design and Implementation&lt;/a&gt; and &lt;a href="http://www.amazon.com/Modern-Operating-Systems-2nd-GOAL/dp/0130313580"&gt;Modern Operating Systems&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;What other tips or advice do you have?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update&lt;/span&gt;:  I'll keep a running list of other suggestions I've gotten below:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Read &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=style&amp;sektion=9"&gt;the FreeBSD &lt;tt&gt;style(9)&lt;/tt&gt; manpage.&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Learn and use &lt;tt&gt;vim&lt;/tt&gt;'s formatting and indenting settings (smartindent, cindent, tabstop, expandtab, etc.)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Read &lt;a href="http://www.freebsd.org/doc/en/books/arch-handbook/"&gt;the FreeBSD Architecture Handbook&lt;/a&gt; and the more recent &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=intro&amp;sektion=4"&gt;Kernel Interfaces Manual&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Watch videos posted in &lt;a href="http://www.youtube.com/bsdconferences"&gt;the YouTube bsdconferences channel&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-9024592869293416228?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2009/04/contributing-more-to-freebsd.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-4905460451538790447</guid><pubDate>Tue, 24 Mar 2009 14:37:00 +0000</pubDate><atom:updated>2009-03-24T06:39:14.900-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ALD09post</category><category domain="http://www.blogger.com/atom/ns#">geek</category><title>Ada Lovelace Day: Remembering Grace Hopper</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ausbcomp.com/~bbott/wik/ghopdesk.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 327px; height: 245px;" src="http://www.ausbcomp.com/~bbott/wik/ghopdesk.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;I've always been a fan of &lt;a href="http://en.wikipedia.org/wiki/Grace_Hopper"&gt;Grace Hopper&lt;/a&gt;, the US Navy programmer who wrote the first compiler(!), popularized the term 'bug' for computer programming problems, pioneered software validation, and deeply influenced the early design and standardization of COBOL.&lt;br /&gt;&lt;br /&gt;Hopper believed that programming in a &lt;em&gt;human-readable language&lt;/em&gt; would unlock the potential of computing.  She worked hard towards this end, and CS continues to benefit from that effort today.&lt;br /&gt;&lt;br /&gt;March 24th, 2009 is &lt;a href="http://findingada.com/"&gt;Ada Lovelace Day&lt;/a&gt; - an international day of blogging to draw attention to women excelling in technology.  Maybe you know someone who might have a knack for CS and is looking for a direction to go.  Maybe you know &lt;a href="http://www.cs.bris.ac.uk/admissions/what_is_cs/FamousWomen.html"&gt;a woman in CS&lt;/a&gt;, and haven't told her lately how much you appreciate her work.&lt;br /&gt;&lt;br /&gt;Female perspectives can enhance many traditionally male disciplines.  How can women make CS better?&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;A ship in a harbor is safe, but that is not what a ship is built for. - Grace Hopper&lt;/blockquote&gt;&lt;/em&gt;&lt;font size="-1"&gt;(&lt;a href="http://en.wikiquote.org/wiki/Grace_Hopper"&gt;More quotes from Grace Hopper&lt;/a&gt;)&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-4905460451538790447?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2009/03/ada-lovelace-day-remembering-grace.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-4556016644112962718</guid><pubDate>Thu, 19 Mar 2009 00:34:00 +0000</pubDate><atom:updated>2009-03-18T16:46:58.749-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">geek</category><title>Pidgin episode #8726</title><description>... in which I argue that &lt;a href="http://en.wiktionary.org/wiki/frecency"&gt;frecency&lt;/a&gt;, while good for digging into a list of URLs, is not a good metaphor for presenting IM status.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developer.pidgin.im/ticket/8726"&gt;Pidgin Trac #8726 (new enhancement): User selection of saved statuses for the quick/popular list&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In a nutshell: having a predictable, configurable list of saved IM statuses is better than an algorithm that tries to guess based on what your most-often-and-recently-used ones are.&lt;br /&gt;&lt;br /&gt;I also am insufferably pleased with myself for coining the phrase &lt;em&gt;power user limbo&lt;/em&gt;: a state in which a user has graduated from novice in a particular portion of the interface, but is held back from transitioning to full power usage by a mismatch between the presented and implied interface design metaphors.&lt;br /&gt;&lt;blockquote&gt;Populating the list using frecency data without allowing the power user to control the content leaves them in a kind of 'power user limbo': the user wants to use saved statuses for the purpose that they were designed for (ease of changing statuses), but they are subtly constrained in a way that contradicts that purpose. &lt;/blockquote&gt;Given how rare original thoughts are ("Failure, Mr. Jones, is hardly original!" - &lt;em&gt;Bloom County&lt;/em&gt;), there's probably a much better phrase for this concept.  But I like the visual that accompanies &lt;em&gt;power user limbo&lt;/em&gt;, so I'm stickin' with it.&lt;br /&gt;&lt;br /&gt;You can go back to whatever you were doing now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-4556016644112962718?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2009/03/pidgin-episode-8726.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-7114263305861670314</guid><pubDate>Sat, 14 Mar 2009 23:00:00 +0000</pubDate><atom:updated>2009-03-14T15:48:03.172-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">health</category><category domain="http://www.blogger.com/atom/ns#">geek</category><title>Automatic calorie counting for the digital diet</title><description>Have you ever gone to the computer to look up something "just really quickly", and then looked up to realize that it's 3am?  &lt;br /&gt;&lt;br /&gt;"Wow, where did the time go?" you ask yourself.  And you feel sorta sad inside, because you've broken an implicit promise to yourself - the promise to &lt;strong&gt;not do that&lt;/strong&gt; ... or at least, to not do it as often.  If you've ever struggled with your weight, this sad feeling inside might seem familiar - like the moment when you realize you've just eaten an entire pint of ice cream.  &lt;br /&gt;&lt;br /&gt;These feelings are similar because they are both moments of reality.  In an ad-hoc way, you've suddenly become aware of the difference between what you &lt;em&gt;are doing&lt;/em&gt; and what you &lt;em&gt;want&lt;/em&gt; to be doing.  &lt;br /&gt;&lt;br /&gt;The key to turning this from a moment of despair into a simple moment of data collection along the long arc of progress towards your goal is simple ... treat it as &lt;em&gt;a data point&lt;/em&gt;.  A data point to be measured, along with the others.  A data point in a cast of thousands.  A data point to be collected and judged in the larger context.  In a word: &lt;em&gt;science&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;As a geek, I found the idea of turning self-flagellation into science to be transformative.  I did the research, started counting calories (all of them), and &lt;a href="http://www.alaska.net/~royce/diet.html"&gt;it worked&lt;/a&gt;.  I lost 35 pounds, about 2 pounds a week, like clockwork.  All it took was scientific rigor: being fiercely honest with myself about the thing I was trying to change, recording &lt;em&gt;all of the data&lt;/em&gt; - no discarding outliers.&lt;br /&gt;&lt;br /&gt;Unfortunately, this data collection required energy -- physical, emotional, and motivational -- and it took a long time for me to start.  If I could have found a way to automatically measure all of the calories I was taking in, I could have started along the path to reaching my goal much sooner.&lt;br /&gt;&lt;br /&gt;It turns out that there is a calorie counter for your digital diet: &lt;a href="http://www.manictime.com/"&gt;Manictime&lt;/a&gt; (Windows).  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://lifehacker.com/5154090/manictime-tracks-your-work-day"&gt;Recently covered&lt;/a&gt; by &lt;a href="http://lifehacker.com/"&gt;Lifehacker&lt;/a&gt;, it's a simple system tray app that sits in the background, noting what applications you're using.  By tracking the title of each window and exactly how long you spent on it, you can tell exactly where your time went - what web pages you looked at, which emails you composed, how long you spent on that document, etc.)  &lt;br /&gt;&lt;br /&gt;A key feature is Manictime's 100% customizable tagging.  You can easily mark chunks of time by activity (socializing, working, paying bills, etc.), by project, by client, or any other way that makes sense to you.  &lt;br /&gt;&lt;br /&gt;The tagging is well-implemented.  The same period of time can have overlapping tags.  The tagging interface snaps to the closest change in activity when you get close to it, making it easy to start and end tagging at activity boundaries.  And the realtime summary graphs total up the time spent at a per-application or per-tag level, depending on which bar you hover over with your mouse.&lt;br /&gt;&lt;br /&gt;Best of all, the data is &lt;em&gt;yours&lt;/em&gt; - locally stored, and easily exported as CSV.  I never engaged with &lt;a href="http://www.rescuetime.com/"&gt;RescueTime&lt;/a&gt; (a similar application that uploads your data to a centralized server) precisely because I wasn't comfortable with uploading so much personal data.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.manictime.com/ScreenShots.aspx"&gt;screenshots&lt;/a&gt; may look a little daunting, but let's face it: the myriad of things that people -- especially knowledge workers -- do with their silicon every day &lt;em&gt;are&lt;/em&gt; complex. &lt;br /&gt;&lt;br /&gt;If you look up and it's 3am, you know there's a problem.  But the next morning over breakfast, it's easy to pretend that there's no problem, that the curve that best fits the points is OK with you.&lt;br /&gt;&lt;br /&gt;But if -- in those flashing moments of &lt;em&gt;real&lt;/em&gt;ization -- you can be aware of &lt;em&gt;all&lt;/em&gt; of the data, then you can see the pattern - and you can start changing it, and you can tell if your attempts to change are working or not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-7114263305861670314?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2009/03/automatic-calorie-counting-for-digital.html</link><author>noreply@blogger.com (Royce)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6835589.post-9220477083148763536</guid><pubDate>Mon, 27 Oct 2008 01:07:00 +0000</pubDate><atom:updated>2008-10-27T20:31:57.657-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">consumer rights</category><title>Amazon's Wish Lists ate my baby</title><description>Okay, not really.  But I went to look through my lists today for something to bring the total up to the $25 threshold in order to get free shipping (very important for Alaskans!), and on one of my lists, I found this as the second item:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N1d0JiUhdmg/SQUUke-0SXI/AAAAAAAAAK0/3F__YURciA8/s1600-h/amazon-not-available.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 232px;" src="http://1.bp.blogspot.com/_N1d0JiUhdmg/SQUUke-0SXI/AAAAAAAAAK0/3F__YURciA8/s320/amazon-not-available.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5261634356676675954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are no links or pictures in the entry to show me what it was.  No breadcrumbs of any kind.  WHAT WAS IT?  I have no idea. &lt;br /&gt;&lt;br /&gt;I was interested in buying it at some point, and I trusted Amazon to keep that knowledge for me.  Now, I don't want to add anything to the lists without tracking them somewhere else for fear of losing them.  Which is exactly not the point.&lt;br /&gt;&lt;br /&gt;I'm going to try to contact Amazon support/service, but I'm just not feeling optimistic on this one.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;UPDATE:&lt;/span&gt; Bryan suggested that I look at the HTML source - and sure enough, the table header had this string in it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;tbody name="item.0.I1N2UK0PDLSG38.B00024WN3G"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The first part beginning with I1 yielded no results, but the second part is an Amazon product ID, which yielded &lt;a href="http://www.google.com/search?q=B00024WN3G"&gt;plenty of Google results&lt;/a&gt; - it's the Wonder Cup Adjustable Measuring Cup!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N1d0JiUhdmg/SQaU2m-78rI/AAAAAAAAAK8/KIHSd2ELPbc/s1600-h/wonder-cup_shopfosters.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 238px; height: 320px;" src="http://2.bp.blogspot.com/_N1d0JiUhdmg/SQaU2m-78rI/AAAAAAAAAK8/KIHSd2ELPbc/s320/wonder-cup_shopfosters.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5262056880527372978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Photo from &lt;a href="http://www.shopfosters.com/store/product.php?productid=118"&gt;ShopFosters.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You saved the day, Bryan!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6835589-9220477083148763536?l=roycebits.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://roycebits.blogspot.com/2008/10/amazons-wish-lists-ate-my-baby.html</link><author>noreply@blogger.com (Royce)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_N1d0JiUhdmg/SQUUke-0SXI/AAAAAAAAAK0/3F__YURciA8/s72-c/amazon-not-available.jpg" height="72" width="72" /></item></channel></rss>

