<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>gmcnaughton</title>
  <link>http://gmcnaughton.livejournal.com/</link>
  <description>gmcnaughton - LiveJournal.com</description>
  <lastBuildDate>Sun, 08 Nov 2009 04:21:53 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>gmcnaughton</lj:journal>
  <lj:journalid>10436811</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <atom10:link rel='hub' href='http://pubsubhubbub.appspot.com/' />
  <image>
    <url>http://l-userpic.livejournal.com/54250624/10436811</url>
    <title>gmcnaughton</title>
    <link>http://gmcnaughton.livejournal.com/</link>
    <width>96</width>
    <height>96</height>
  </image>

<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/37691.html</guid>
  <pubDate>Sun, 08 Nov 2009 04:21:53 GMT</pubDate>
  <title>Patentable(?) idea day</title>
  <link>http://gmcnaughton.livejournal.com/37691.html</link>
  <description>Patentable ideas for you!&amp;nbsp; (Or maybe business ideas, or both.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Computers&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Lossy zip&lt;/strong&gt; (aka&amp;nbsp;LLZW: lossy-&lt;a href=&quot;http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch&quot;&gt;lempel-ziv-welch&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;3rd-party file compression&lt;/strong&gt;.&amp;nbsp; Automatic distribution of file chunks via a CDN, using block checksums, ala &lt;a href=&quot;http://blogs.sun.com/bonwick/entry/zfs_dedup&quot;&gt;ZFS&amp;nbsp;de-duplication&lt;/a&gt; (this might be what BitTorrent is already doing; this just uses a CDN&amp;nbsp;instead of p2p)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the coolest part about 3rd-party file compression is that it could be calculated automatically and common chunks be replicated more broadly or moved to where they are most frequently used.&amp;nbsp; Actually, I think &lt;a href=&quot;http://en.wikipedia.org/wiki/Freenet&quot;&gt;Freenet&lt;/a&gt; does this already.&amp;nbsp; Akamai should too.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Windows OS&amp;nbsp;fractal compression&lt;/strong&gt;.&amp;nbsp; File compression via matching blocks in standard Windows install files.&amp;nbsp; Or in any OS.&amp;nbsp; Or in the browser itself (requires client to accurately represent browser/version/OS combo).&amp;nbsp; Ala &lt;a href=&quot;http://en.wikipedia.org/wiki/Fractal_compression&quot;&gt;fractal image compression.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Shared strings compression.&lt;/strong&gt;&amp;nbsp; Google could publish a dict of most common strings appearing on the web.&amp;nbsp; The browser would publish its version as an Accept header, and if the client/server dicts matched, the common-strings-compressed version could be delivered.&amp;nbsp; Similar to 3rd-party auto-CDN&amp;nbsp;compression, but the nearest CDN&amp;nbsp;is actually cached on your local computer.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Arts&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Flower imprinted images&lt;/strong&gt;, ala &lt;a href=&quot;http://www.gizmodo.com.au/2009/11/laser-etched-fruit-and-vegetables-could-replace-those-annoying-sticker-labels/&quot;&gt;laser etched fruit&lt;/a&gt; and &lt;a href=&quot;http://www.magazine.uc.edu/0408/japaneseapples.htm&quot;&gt;Japanese apples&lt;/a&gt;.&amp;nbsp; Flowers would have to be etched after budding.&amp;nbsp; Longer-lived plants could be imprinted early and allowed to grow (like carving names into bark).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;</description>
  <comments>http://gmcnaughton.livejournal.com/37691.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/37568.html</guid>
  <pubDate>Thu, 05 Nov 2009 07:13:35 GMT</pubDate>
  <title>Code snippet of the day</title>
  <link>http://gmcnaughton.livejournal.com/37568.html</link>
  <description>&lt;p&gt;Handling exceptions is tricky.  Opinions vary on whether you should catch and report to a central error handler, only catch exceptions you know how to recover from, or fail-fast and allow exceptions to bubble up until the program exits.&lt;/p&gt;

&lt;p&gt;Our email management API takes a different tack:&lt;/p&gt;

&lt;pre&gt;&lt;code style=&quot;display: block; padding: 5px; background-color: #eeeeff; border: 1px dashed #8888ff; font-name: Courier;&quot;&gt;void CEmailManagerExtension::CMDCreateMailbox()
{
    try {
        // ...do some work...
    } catch (...) {
        rCtxt.Redirect(&quot;http://www.ebay.com&quot;);
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Obviously if something goes wrong with the create-mailbox API call, the correct response is to &lt;b&gt;send the client to eBay&lt;/b&gt;.  Maybe they can buy error handling that &lt;i&gt;doesn&apos;t suck&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;This code has existed since 2002 - no word on whether eBay pays us a revshare for traffic.&lt;/p&gt;</description>
  <comments>http://gmcnaughton.livejournal.com/37568.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/36978.html</guid>
  <pubDate>Wed, 12 Aug 2009 15:46:40 GMT</pubDate>
  <title>HDTR Sculpture</title>
  <link>http://gmcnaughton.livejournal.com/36978.html</link>
  <description>Admittedly I think these are CG renderings rather than physical statues, but I&apos;ve been wanting someone to do this for a while!&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.dyscario.com/arts-and-culture/sculptures-in-motion-by-peter-jansen.html&quot;&gt;Sculptures in Motion by Peter Jensen&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.dyscario.com/arts-and-culture/sculptures-in-motion-by-peter-jansen.html&quot;&gt;&lt;img src=&quot;http://www.whitelite.net/blog/Sculptures-in-Motion-by-Peter-Jansen-4.jpg&quot; border=&quot;0&quot;&gt;&lt;/a&gt;</description>
  <comments>http://gmcnaughton.livejournal.com/36978.html</comments>
  <category>hdtr</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/36767.html</guid>
  <pubDate>Wed, 12 Aug 2009 00:11:37 GMT</pubDate>
  <title>Code snippet of the day</title>
  <link>http://gmcnaughton.livejournal.com/36767.html</link>
  <description>Ran across this in the heppkat codebase today.  I believe the comments come from MFranklin.&lt;br /&gt;&lt;br /&gt;&lt;code style=&quot;display: block; padding: 5px; background-color: #eeeeff; border: 1px dashed #8888ff; font-name: Courier;&quot;&gt;// This is the best reason not to use this class.  What the hell is going on here?&lt;br /&gt;// Nobody knows, as evidenced by the fact that its most prominent use until recently&lt;br /&gt;// was wrapping things that weren&apos;t AWT components.&lt;br /&gt;AWTComponentWrapper acw = new AWTComponentWrapper();&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;		&lt;br /&gt;// This is another good reason not to use this class.  This line should instead&lt;br /&gt;// be changed to System.out.println(&quot;I give up!&quot;); System.exit(1);&lt;br /&gt;return acw;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In case you&apos;re wondering, we don&apos;t use this class anymore.  I think.</description>
  <comments>http://gmcnaughton.livejournal.com/36767.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/36568.html</guid>
  <pubDate>Thu, 02 Jul 2009 07:49:15 GMT</pubDate>
  <title>Yellowstone</title>
  <link>http://gmcnaughton.livejournal.com/36568.html</link>
  <description>&lt;a href=&quot;http://www.flickr.com/photos/gmcnaughton/3681231352/sizes/l/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3137/3681231352_d9761cc726.jpg?v=0&quot; height=&quot;400&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I know what you&apos;re thinking: &quot;Yellowstone has some of the most magnificent scenery &lt;i&gt;ever&lt;/i&gt;, up there with the Golden Gate and the Swiss Alps?  Isn&apos;t that exaggerating a little bit?&quot;&lt;br /&gt;&lt;br /&gt;This steam tornado forming over a geothermal hot spring proves otherwise.&lt;br /&gt;&lt;br /&gt;Many more pics to come, I&apos;m still working through them all.  Some quick words: buffalo, buffalo walking on the road, elk, pronghorn antelope, deer, black bears, moose, bighorn sheep, osprey, golden eagles, herons, marmots, chipmunks; geysers, hot springs, waterfalls, mountains, lakes; snow, hail, rain, wind, sunburn.</description>
  <comments>http://gmcnaughton.livejournal.com/36568.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/36145.html</guid>
  <pubDate>Sat, 16 May 2009 01:24:36 GMT</pubDate>
  <title>Homestead Video Game Throw-Down &apos;Lympics 2009</title>
  <link>http://gmcnaughton.livejournal.com/36145.html</link>
  <description>&lt;a href=&quot;http://www.flickr.com/photos/gmcnaughton/sets/72157618211479426/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3565/3534058487_10bc175e55.jpg?v=0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My team lost the week-long competition by 1 game.  (Not Rock Band though!  We won that one.)  There will be a next time though.  Oh yes, there will be a next time.  They will rue the day!</description>
  <comments>http://gmcnaughton.livejournal.com/36145.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/35922.html</guid>
  <pubDate>Mon, 11 May 2009 20:35:19 GMT</pubDate>
  <title>HDTR Links</title>
  <link>http://gmcnaughton.livejournal.com/35922.html</link>
  <description>Couple links I ran across recently that are HDTR related:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.coolhunting.com/archives/2009/04/brian_dettmer.php&quot;&gt;Brian Dettmer: Adaptations&lt;/a&gt; - 3d surfaces carved in books, using the pages instead of photos as the dimension.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.k2.t.u-tokyo.ac.jp/members/alvaro/Khronos/&quot;&gt;Khronos Projector&lt;a&gt; - these were the guys who wrote the original SIGGRAF paper back when I stumbled on HDTR (independently, dammit!).&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.k2.t.u-tokyo.ac.jp/members/alvaro/Khronos/Khronos_P5/Khronos_Puerta.html&quot;&gt;Khronos Projector Demo Applet&lt;/a&gt; - play with it!&lt;/a&gt;&lt;/a&gt;</description>
  <comments>http://gmcnaughton.livejournal.com/35922.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/35703.html</guid>
  <pubDate>Mon, 04 May 2009 20:51:03 GMT</pubDate>
  <title>Hyperbagging: A New Innovation In Gameplay</title>
  <link>http://gmcnaughton.livejournal.com/35703.html</link>
  <description>I would like to introduce the concept of &lt;i&gt;hyperbagging&lt;/i&gt;, a.k.a. &lt;a href=&quot;http://en.wikipedia.org/wiki/Fourth_dimension&quot;&gt;fourth-dimensional&lt;/a&gt; &lt;a href=&quot;http://www.wikihow.com/Teabag-in-Halo-3&quot;&gt;teabagging&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In first-person shooter games, teabagging is the act of killing another player and then rapidly crouching up/down on top of their corpse, in order to humiliate the target.  4th-dimensional teabagging is the same act performed in a higher dimension.  Most game engines do not support higher-dimensional gameplay, but this can be approximated by distributing the teabagging over time.&lt;br /&gt;&lt;br /&gt;For example: a player might crouch/uncrouch repeatedly in a certain area, then lie in wait to ambush someone on that point.  Later, the player may stop to teabag in spots where they had previously killed opponents.&lt;br /&gt;&lt;br /&gt;The full measure of the target&apos;s humiliation is hard to visualize, but can be approximated by a time-lapse video or an &lt;a href=&quot;http://gmcnaughton.livejournal.com/24093.html&quot;&gt;composite image&lt;/a&gt;.  These lower-dimensional projections of hyperbagging allow us to grasp facets of the player&apos;s shame without requiring visualization of the entire act (a.k.a, tessersack).&lt;br /&gt;&lt;br /&gt;The implications of hyperbagging include some surprising outcomes, such as allowing players to be teabagged from all directions simultaneously, including inside themselves.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.whitelite.net/blog/hyperbagging.jpg&quot;&gt;&lt;br /&gt;&lt;i&gt;2D projection of 4D hyperbagging.&lt;/i&gt;</description>
  <comments>http://gmcnaughton.livejournal.com/35703.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>10</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/35573.html</guid>
  <pubDate>Fri, 10 Apr 2009 00:10:25 GMT</pubDate>
  <title>You Have Lost Karma</title>
  <link>http://gmcnaughton.livejournal.com/35573.html</link>
  <description>&lt;img src=&quot;http://farm4.static.flickr.com/3402/3427895762_0dbaa18416.jpg?v=1239322074&quot;&gt;&lt;br /&gt;&lt;br /&gt;In reference to my &lt;a href=&quot;http://gmcnaughton.livejournal.com/33038.html&quot;&gt;Fallout 3 Bug Report&lt;/a&gt; (giving teddy bears to orphans should not cause the player to lose Karma).&lt;br /&gt;&lt;br /&gt;I received this after picking the lock on the snack cart at work to donate some bananas. :)  Props to Keith - I lol every time I look at it.</description>
  <comments>http://gmcnaughton.livejournal.com/35573.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/35308.html</guid>
  <pubDate>Mon, 30 Mar 2009 07:28:07 GMT</pubDate>
  <title>Technological Decay in One Week</title>
  <link>http://gmcnaughton.livejournal.com/35308.html</link>
  <description>&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Vista box at work can&apos;t talk to any printers.&lt;br /&gt;&lt;li&gt;HP printer won&apos;t print black, even though its ink cartridge is full.&lt;br /&gt;&lt;li&gt;XP box has an endlessly-installing update.&lt;br /&gt;&lt;li&gt;Linksys router needs to be power-cycled daily.&lt;br /&gt;&lt;li&gt;Flash card reader lost an entire day&apos;s worth of photos&lt;br /&gt;&lt;li&gt;MSJVM can&apos;t be installed OR uninstalled on some Vista machines.  Windows 7 won&apos;t install it at all.&lt;br /&gt;&lt;li&gt;VC6 programs can&apos;t be rebuilt under VC8 due to reliance on MFC80.dll and complexity of side-by-side Windows DLL installs&lt;br /&gt;&lt;li&gt;Buildr VPS was wiped and reinstalled by tech support after Win2k3/ASP.NET went t*ts-up.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;This is just the technology that is &lt;i&gt;not&lt;/i&gt; under my control.</description>
  <comments>http://gmcnaughton.livejournal.com/35308.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/35041.html</guid>
  <pubDate>Tue, 17 Mar 2009 05:25:15 GMT</pubDate>
  <title>Moody printers</title>
  <link>http://gmcnaughton.livejournal.com/35041.html</link>
  <description>Printers are moody and tempermental like artists.  After installing Vista at work, my computer can no longer talk to any of our shared printers.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;ME: Damn, I need to print a boarding pass!  I guess I&apos;ll try my HP C4480 Photo Printer/Scanner at home.&lt;br /&gt;&lt;br /&gt;HP C4480: Black is such a dreary color!   I prefer bright bold vibrant colors, full of life and anticipation!  Greens, reds, yellows: they are the springtime!  Speak not to me of black.&lt;br /&gt;&lt;br /&gt;ME: But I need a boarding pass.&lt;br /&gt;&lt;br /&gt;HP C4480: If you were to paint it on a flower, I would print it for thee.&lt;br /&gt;&lt;br /&gt;ME: I don&apos;t think the United scanners read flowers.&lt;br /&gt;&lt;br /&gt;HP C4480: I will not compromise my art!  I shall print it in a pale grey-blue, which is the color of the skeleton THAT IS ALL I SEE WHEN I LOOK AT YOUR FACE.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I really hope United&apos;s gate scanners are high-contrast.</description>
  <comments>http://gmcnaughton.livejournal.com/35041.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/34725.html</guid>
  <pubDate>Thu, 12 Mar 2009 04:30:11 GMT</pubDate>
  <title>Dvorak creates new words</title>
  <link>http://gmcnaughton.livejournal.com/34725.html</link>
  <description>Since upgrading to a new computer at work (now with less crashing!  4th time&apos;s the charm -- thanks, Vista64), I&apos;ve had to revert to a plain 101-key keyboard.  Sadly my old Kinesis is PS2 only.&lt;br /&gt;&lt;br /&gt;I&apos;m so used to typing Dvorak on the Kinesis that it&apos;s a learning process all over again.  Because the keyboard is flat, I often end up transposing my right hand over by one key.  Because Dvorak is laid out with vowels on the left-hand home row and consonants on the right, this has the effect of making words that &lt;i&gt;almost&lt;/i&gt; look like they should be English.&lt;br /&gt;&lt;br /&gt;Some examples:&lt;br /&gt;&lt;br /&gt;&quot;Seriously&quot; =&amp;gt; &quot;Neciounry&quot;&lt;br /&gt;&quot;Malevolent&quot; =&amp;gt; &quot;Bareworeth&quot;&lt;br /&gt;&quot;Human&quot; =&amp;gt; &quot;Dubat&quot;&lt;br /&gt;&quot;Werewolf&quot; =&amp;gt; &quot;Mecemory&quot;&lt;br /&gt;&lt;br /&gt;Of course I end up typoing all sorts of more mundane things: &quot;Derro hdece.  Youc daic nberrn pcehhy.&quot;&lt;br /&gt;&lt;br /&gt;If I ever want to write a fantasy novel, I can use this as my language on the cheap.  Imo it looks a little bit like Welsh.  Maybe I should trademark some campany names made this way.  Bigconoyh (tm)!</description>
  <comments>http://gmcnaughton.livejournal.com/34725.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>8</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/34434.html</guid>
  <pubDate>Mon, 02 Mar 2009 09:13:51 GMT</pubDate>
  <title>Adventures in Clojure and Python</title>
  <link>http://gmcnaughton.livejournal.com/34434.html</link>
  <description>Previously I wrote about Python as an excuse to &lt;a href=&quot;27955.html&quot;&gt;complain about names of functions that I didn&apos;t agree with&lt;/a&gt;.  Recently I ran across a couple more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Python - join vs. split&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In Python the join operator is a defined on strings, not lists.  You call it like so: &lt;code&gt;&quot;,&quot;.join([&quot;a&quot;, &quot;b&quot;])&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;This avoids forcing every new collection class to redefine &lt;code&gt;join()&lt;/code&gt;.  I get that.  The semantics read backward to me as a Java programmer, but I realize that&apos;s my problem.  However, given that that&apos;s the way things work are supposed to work, why aren&apos;t split and join called in the same way?&lt;br /&gt;&lt;pre&gt;&lt;code style=&quot;display: block; padding: 5px; background-color: #eeeeff; border: 1px dashed #8888ff; font-name: Courier;&quot;&gt;&quot;,&quot;.join([&quot;a&quot;, &quot;b&quot;])

&quot;a,b&quot;.split(&quot;,&quot;)   # why is this backwards?
&lt;/code&gt;&lt;/pre&gt;Reading this code snippet makes me dizzy.  Please pick a word order and stick with it.  English is SVO and reads left-to-right, so I&apos;d recommend that.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Clojure - some vs. any?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Clojure defines several methods for querying lists about their elements:&lt;br /&gt;&lt;pre&gt;&lt;code style=&quot;display: block; padding: 5px; background-color: #eeeeff; border: 1px dashed #8888ff; font-name: Courier;&quot;&gt;(every? ...)
(not-every? ...)
(some ...)         ; why not &apos;any?&apos;
(not-any? ...)
&lt;/code&gt;&lt;/pre&gt;Anyone care to explain how &lt;code&gt;&quot;some&quot;&lt;/code&gt; got its name?  Why not call it &lt;code&gt;&quot;any?&quot;&lt;/code&gt;?  The naming and the punctuation both manage to be asymmetric.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Clojure - pop but no push&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In Clojure, lists and vectors support both &lt;a href=&quot;http://clojure.org/api#pop&quot;&gt;pop&lt;/a&gt; and &lt;a href=&quot;http://clojure.org/api#peek&quot;&gt;peek&lt;/a&gt;, but not &lt;code&gt;push&lt;/code&gt;.  I understand that objects are immutable in Clojure, but if you can have a pop, you can also have push.  In fact, the existence of one pretty much implies the existence of the other.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Principle of least surprise&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Asymmetries occur when there is More Than One Way To Do Things.  I understand that language designers don&apos;t want to clutter things up with duplicate operators, but I don&apos;t think Clojure has any excuse.  It already has first/second/nth and last/butlast/drop-last.  There&apos;s plenty of duplication (don&apos;t get me started on why &quot;drop-last&quot; isn&apos;t called &quot;but-nthlast&quot;).&lt;br /&gt;&lt;br /&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Principle_of_least_astonishment&quot;&gt;principle of least surprise&lt;/a&gt; should be observed at all times.  As a developer, if I see that a list implements &lt;code&gt;pop()&lt;/code&gt;, I&apos;m going to expect it to implement &lt;code&gt;push()&lt;/code&gt; as well.</description>
  <comments>http://gmcnaughton.livejournal.com/34434.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/34013.html</guid>
  <pubDate>Thu, 29 Jan 2009 20:09:09 GMT</pubDate>
  <title>Zombie beetles</title>
  <link>http://gmcnaughton.livejournal.com/34013.html</link>
  <description>&lt;a href=&quot;http://techon.nikkeibp.co.jp/english/NEWS_EN/20090128/164717/&quot;&gt;OMG Zombie beetles.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://techon.nikkeibp.co.jp/english/NEWS_EN/20090128/164717/&quot;&gt;&lt;img src=&quot;http://techon.nikkeibp.co.jp/english/NEWS_EN/20090128/164717/thumb_230_z1.jpg&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Though I&apos;m a fan of cybernetics, this picture is somehow disturbing.  I think it&apos;s the moral aspect of zombification &amp;mdash; that the purpose of the electronics is to subvert the beetle&apos;s free will or self-control.  It would actually be better if the beetles were dead, then there wouldn&apos;t be a moral component to the interaction (ignoring beetle next-of-kin).&lt;br /&gt;&lt;br /&gt;On the other hand, this may be closer to &lt;a href=&quot;http://news.nationalgeographic.com/news/2002/05/0501_020501_roborats.html&quot;&gt;remote-controlled rats&lt;/a&gt;, who are trained via stimulus-response conditioning.  Humans have been doing that to dogs, horses, and each other since the dawn of time.  Remote control just means the stimulus (pleasure) can be triggered by a radio instead of requiring immediate physical access; sort of like a shock collar in reverse, or a cell phone call from your S.O.</description>
  <comments>http://gmcnaughton.livejournal.com/34013.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/33315.html</guid>
  <pubDate>Mon, 05 Jan 2009 08:15:20 GMT</pubDate>
  <title>Twin Peaks cyberpunk</title>
  <link>http://gmcnaughton.livejournal.com/33315.html</link>
  <description>There is something very cyberpunk about San Francisco.  From Twin Peaks tonight it looked like a Blade Runner matte painting.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://flickr.com/photos/gmcnaughton/3170180394/sizes/o/in/photostream/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3124/3170180394_99d3fbcae8.jpg?v=0&quot; width=&quot;400&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I spent Christmas in Massachusetts with my family, buried under a couple feet of snow.  In a nutshell, my nephew loves trains and my niece is addicted to anything involving dairy.  The kids are adorable and the family is doing well; there are plenty of &lt;a href=&quot;http://flickr.com/photos/gmcnaughton/sets/72157611731841853/&quot;&gt;pictures on Flickr&lt;/a&gt; that I won&apos;t bore you with (it&apos;s like watching someone else&apos;s vacation slides).&lt;br /&gt;&lt;br /&gt;I hope everyone enjoyed the holidays, and I wish you all a happy new year!</description>
  <comments>http://gmcnaughton.livejournal.com/33315.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/33038.html</guid>
  <pubDate>Sun, 07 Dec 2008 22:42:02 GMT</pubDate>
  <title>Fallout 3 Bug Report</title>
  <link>http://gmcnaughton.livejournal.com/33038.html</link>
  <description>Sneaking up behind the &lt;a href=&quot;http://fallout.wikia.com/wiki/Maggie&quot;&gt;little girl in Megaton&lt;/a&gt; and using pickpocket to give her a &lt;a href=&quot;http://fallout.wikia.com/wiki/Teddy_Bear&quot;&gt;Teddy Bear&lt;/a&gt; should not cause the player to lose Karma.  That is all.</description>
  <comments>http://gmcnaughton.livejournal.com/33038.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/32824.html</guid>
  <pubDate>Fri, 21 Nov 2008 09:52:29 GMT</pubDate>
  <title>Your Darkest Hour</title>
  <link>http://gmcnaughton.livejournal.com/32824.html</link>
  <description>Jolene and Brian point out that by the same math, &lt;strong&gt;11,665 people will count any given hour as their darkest&lt;/strong&gt;, the one that lives forever in infamy.&lt;br /&gt;&lt;br /&gt;It is interesting to note that &lt;strong&gt;everyone has a finest hour &lt;i&gt;so far&lt;/i&gt;&lt;/strong&gt;.  Whether or not this is your finest hour &lt;i&gt;ever&lt;/i&gt; depends on what happens in your time remaining.  However, this means that even more people may consider this their finest hour &lt;i&gt;so far&lt;/i&gt; (especially newborns!).  The exact number of people is left as an exercise to the reader.</description>
  <comments>http://gmcnaughton.livejournal.com/32824.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/32573.html</guid>
  <pubDate>Thu, 20 Nov 2008 07:30:44 GMT</pubDate>
  <title>Your Finest Hour</title>
  <link>http://gmcnaughton.livejournal.com/32573.html</link>
  <description>&lt;p&gt;I felt the urge to do some math and calculate how many people are currently experiencing their finest hour.  For any given hour, how many people around the world will count it as their finest?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.census.gov/main/www/popclock.html&quot;&gt;World population:&lt;/a&gt; 6,738,085,903
&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Life_expectancy&quot;&gt;Worldwide life expectancy (average):&lt;/a&gt; 66.12 years
&lt;li&gt;66.12 years/life * 8,736 hrs/year = 577,624 hrs/life
&lt;li&gt;Finest hour = population / life expectancy = 11,665
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;11,665 people will count this hour as their finest.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of course there are lots of caveats:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://images.google.com/images?num=50&amp;amp;hl=en&amp;amp;client=safari&amp;amp;rls=en-us&amp;amp;q=population+pyramid&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=X&amp;amp;oi=image_result_group&amp;amp;resnum=4&amp;amp;ct=title&quot;&gt;Age is not evenly distributed.&lt;/a&gt;
&lt;li&gt;Population is not evenly distributed.  Fewer people are awake during some hours, so the number of people likely to have their finest hour is smaller.
&lt;li&gt;&quot;Finest hour&quot; is a relative term.  Your finest hour may not compare to someone else&apos;s.  Infants who die young will find their choice of hour unfairly limited (&lt;i&gt;&quot;You lived what anybody gets, Bernie. You got a lifetime. No more. No less.&quot;&lt;/i&gt; --Gaiman).
&lt;li&gt;&quot;Finest hours&quot; are not evenly distributed over lifetime.  Many older people feel that their golden years are behind them.  However, this feeling might just be based on the probability of their finest hour occurring in the past vs. the time remaining.
&lt;li&gt;&quot;Finest hours&quot; are influenced by external events.  Depending on whether you believe the world is progressing or imploding, opportunities for finest hours might be better in the future or the past.  Wars, elections, the space race, etc., also bring out &quot;finest hours&quot; for many people at once (cf. 1938-1945).
&lt;/ul&gt;

This makes me feel better when I look at Natural Geographic photos.  There are millions of photographers out there, any one one of them could have just taken the greatest photo of their life.</description>
  <comments>http://gmcnaughton.livejournal.com/32573.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/32481.html</guid>
  <pubDate>Sat, 01 Nov 2008 23:10:21 GMT</pubDate>
  <title>Happy Halloween!</title>
  <link>http://gmcnaughton.livejournal.com/32481.html</link>
  <description>Went to a great Halloween party thrown by &lt;span class=&apos;ljuser ljuser-name_gclarke&apos; lj:user=&apos;gclarke&apos; style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://gclarke.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://l-stat.livejournal.com/img/userinfo.gif&apos; alt=&apos;[info]&apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://gclarke.livejournal.com/&apos;&gt;&lt;b&gt;gclarke&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;, &lt;span class=&apos;ljuser ljuser-name_stiill&apos; lj:user=&apos;stiill&apos; style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://stiill.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://l-stat.livejournal.com/img/userinfo.gif&apos; alt=&apos;[info]&apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://stiill.livejournal.com/&apos;&gt;&lt;b&gt;stiill&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;, and a bunch of other awesome people.  The theme was a supervillain convention called &apos;VillCon&apos;.  There was a trophy display table with Unobtanium, the Sword of Sorrows, &apos;The Real Starry Night&apos;, and the Crown Jewels of Noobtania.  There was a death-ray making station with water guns, paint, and stick-on jewelry.  Zombie Lenin (Geoff) tended bar while Dr. Horrible (JMJ) ran turntables and a light show.&lt;br /&gt;&lt;br /&gt;The crowning achievement was the bluescreen room, where pics of people were taken as they came in and automatically turned into comic-book frames.  This is me as Mecha Stalin (the preserved head of Stalin on a robot body):&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.animalocean.com/villains/Vil1225513093382.jpg&quot;&gt;&lt;img src=&quot;http://www.animalocean.com/villains/Vil1225513093382.jpg&quot; width=&quot;350&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The the chroma-keying sometimes likes to eat people&apos;s clothing, but the net result is amazing.  The chill-out room had photos rotating as a slideshow so party-goers could see themselves up on the screen. &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.animalocean.com/villains/&quot;&gt;More supervillain pictures are up on Matt &amp; Ruth&apos;s site.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit:&lt;/b&gt; &lt;a href=&quot;http://flickr.com/photos/gmcnaughton/sets/72157608614392771/&quot;&gt;Original bluescreen pics are up too!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://flickr.com/photos/gmcnaughton/sets/72157608614392771/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3142/2998108525_005fd71659.jpg?v=0&quot; border=&quot;0&quot; height=&quot;350&quot;&gt;&lt;/a&gt;</description>
  <comments>http://gmcnaughton.livejournal.com/32481.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/32179.html</guid>
  <pubDate>Wed, 29 Oct 2008 21:29:31 GMT</pubDate>
  <title>LolCats Art Show</title>
  <link>http://gmcnaughton.livejournal.com/32179.html</link>
  <description>OMFG, how did I miss this?!  There was a &lt;a href=&quot;http://laughingsquid.com/lol-art-show-a-benefit-for-partners-in-reading/&quot;&gt;LolCats Art Show&lt;/a&gt; in San Francisco last weekend.  I&apos;m so happy that this exists, but also angry that I didn&apos;t hear about it!  The Cheezburger guys were there too... ah, it kills me.  There&apos;s so much I want to talk with them about.&lt;br /&gt;&lt;br /&gt;&lt;lj-embed id=&quot;5&quot; /&gt;</description>
  <comments>http://gmcnaughton.livejournal.com/32179.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/31812.html</guid>
  <pubDate>Sun, 12 Oct 2008 20:12:46 GMT</pubDate>
  <title>More iPhone SDK</title>
  <link>http://gmcnaughton.livejournal.com/31812.html</link>
  <description>Today, an exciting new chapter of &quot;Life as an iPhone Developer&quot;.  (This actually happened about 3 weeks ago.  Progress has been made &amp;mdash; painfully &amp;mdash; since then.)

&lt;h6&gt;Documentation&lt;/h6&gt;

&lt;blockquote&gt;
&lt;i&gt;Developer:&lt;/i&gt; I want to make a custom UILabel that responds to touch events.&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; I&apos;m sorry.&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; About what?&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; ABOUT YOUR FACE!&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; OOH!  SEE HELP DOCS FOR &apos;MEGA BURN&apos;!&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; Why isn&apos;t &lt;code&gt;touchesBegan&lt;/code&gt; getting called?&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; Did you call &lt;code&gt;setUserInteractionEnabled&lt;/code&gt;?&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; Yeah, that didn&apos;t help.&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; &lt;code&gt;setEnabled&lt;/code&gt;?&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; Yes...&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; Did you call... YOUR FACE?!  OMG U R SO DUMB&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; &lt;code&gt;instrumentObjcMessageSends&lt;/code&gt;, bitch.&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; !!!&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; What&apos;s this &lt;code&gt;ignoresMouseEvents&lt;/code&gt; method?  When were you going to tell me about that?&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; THAT IS A PRIVATE API YOU ARE IN VIOLATION OF THE LICENSE AGREEMENT I WILL SUe I HAVE LAWYERS&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; Jesus, how am I supposed to receieve events on a UILabel?&lt;br /&gt;
&lt;i&gt;iPhone SDK:&lt;/i&gt; HA HA CALL YOUR FACE!!!!  U SUK&lt;br /&gt;
&lt;/blockquote&gt;</description>
  <comments>http://gmcnaughton.livejournal.com/31812.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/31676.html</guid>
  <pubDate>Sat, 04 Oct 2008 18:37:50 GMT</pubDate>
  <title>Apple iPhone NDA has been lifted</title>
  <link>http://gmcnaughton.livejournal.com/31676.html</link>
  <description>&lt;p&gt;Now that the &lt;a href=&quot;http://blogs.pcworld.com/staffblog/archives/007848.html&quot;&gt;iPhone NDA has been lifted&lt;/a&gt;, I can start to share my experiences as a fledgling iPhone developer.&lt;/p&gt;

&lt;p&gt;As I fought with the SDK over the last several weeks, I recorded some of my experiences.  Hopefully this will give you a taste of what it&apos;s like.&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;
&lt;h6&gt;Installation&lt;/h6&gt;
&lt;blockquote&gt;
&lt;i&gt;Developer:&lt;/i&gt; La la la, I am a happy developer! I will learn how to program for the iPhone!&lt;br /&gt;
&lt;i&gt;Developer&lt;/i&gt;: Too bad I don&apos;t have a mac.  Guess I&apos;ll try Hackintosh!&lt;br /&gt;
&lt;i&gt;Developer&lt;/i&gt;: Wow, OSX is beautiful.  Why did I wait so long?  Now to update to 10.5.4...&lt;br /&gt;
&lt;i&gt;OS X 10.5.4&lt;/i&gt;: AAAGH!  GO AND SUCK A COCK IN HELL! &lt;br /&gt;
&lt;i&gt;OS X 10.5.4&lt;/i&gt;: &lt;i&gt;kernel panic&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Developer&lt;/i&gt;: WTF?  Guess I&apos;ll roll back to 10.5.2.&lt;br /&gt;
&lt;i&gt;XCode 3.1&lt;/i&gt;: YOU MUST HAVE 10.5.4 TO INSTALL.&lt;br /&gt;
&lt;i&gt;Developer&lt;/i&gt;: %(*&amp;amp;#@!
&lt;/blockquote&gt;

&lt;h6&gt;Licensing&lt;/h6&gt;
&lt;blockquote&gt;
&lt;i&gt;Developer&lt;/i&gt;: Phew.  After editing that config file to convince the installer I&apos;m running 10.5.4, it&apos;s time to write some code.  This should be fun! &lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt;  Looks like I need register to be an iPhone developer before I can run code on the hardware.&lt;br /&gt;
&lt;i&gt;iPhone License Agreement&lt;/i&gt;:  AAAAAH!  FUCK YOU IN THE FUCKING GOAT ASS!&lt;br /&gt;
&lt;i&gt;iPhone License Agreement&lt;/i&gt;: APPLE-BRANDED HARDWARE!  NDA!  LEGALLY BINDING DOCUMENTS!&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; Ow!  Sweet mother of god!&lt;br /&gt;
&lt;i&gt;iPhone Dev Center:&lt;/i&gt; Your application is being reviewed.  You will be contacted.&lt;br /&gt;
&lt;/blockquote&gt;

&lt;h6&gt;Exceptions&lt;/h6&gt;
&lt;blockquote&gt;
&lt;i&gt;Developer:&lt;/i&gt; Well, I guess I can&apos;t run code on my device yet, so I&apos;ll just use the simulator.&lt;br /&gt;
&lt;i&gt;Simulator:&lt;/i&gt; __TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; Huh?  What exception?&lt;br /&gt;
&lt;i&gt;Simulator:&lt;/i&gt; BLEEP BLORP I AM A COMPUTER&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; What fucking exception?&lt;br /&gt;
&lt;i&gt;Simulator:&lt;/i&gt; BLEEP BOOP&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; Output log? Gdb? Debugger?&lt;br /&gt;
&lt;i&gt;Simulator:&lt;/i&gt; I&apos;M SORRY DAVE, I CAN&apos;T DO THAT&lt;br /&gt;
&lt;i&gt;Developer:&lt;/i&gt; Just tell me why you&apos;re crashing?&lt;br /&gt;
&lt;i&gt;Simulator:&lt;/i&gt; BEEP YOUR MOTHER&apos;S A WHORE!&lt;br /&gt;
&lt;/blockquote&gt;
</description>
  <comments>http://gmcnaughton.livejournal.com/31676.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/31390.html</guid>
  <pubDate>Mon, 22 Sep 2008 06:12:20 GMT</pubDate>
  <title>self imposed candid camera</title>
  <link>http://gmcnaughton.livejournal.com/31390.html</link>
  <description>&lt;img src=&quot;http://farm4.static.flickr.com/3255/2878473670_24392f2d9b.jpg?v=0&quot; height=&quot;250&quot; /&gt;&lt;br /&gt;&lt;br /&gt;take a picture of yourself right now.&lt;br /&gt;don&apos;t change your clothes, don&apos;t fix your hair...just take a picture.&lt;br /&gt;post that picture with NO editing.&lt;br /&gt;post these instructions with your picture.&lt;br /&gt;&lt;br /&gt;from &lt;span class=&apos;ljuser ljuser-name_gleemie&apos; lj:user=&apos;gleemie&apos; style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://gleemie.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://l-stat.livejournal.com/img/userinfo.gif&apos; alt=&apos;[info]&apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://gleemie.livejournal.com/&apos;&gt;&lt;b&gt;gleemie&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; and &lt;span class=&apos;ljuser ljuser-name_phoebe_k&apos; lj:user=&apos;phoebe_k&apos; style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://phoebe-k.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://l-stat.livejournal.com/img/userinfo.gif&apos; alt=&apos;[info]&apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://phoebe-k.livejournal.com/&apos;&gt;&lt;b&gt;phoebe_k&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Damn.  That&apos;s what I get for reading blogs on my iPhone.</description>
  <comments>http://gmcnaughton.livejournal.com/31390.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/31052.html</guid>
  <pubDate>Sat, 06 Sep 2008 08:20:43 GMT</pubDate>
  <title>Polarization = Cheap Superpower</title>
  <link>http://gmcnaughton.livejournal.com/31052.html</link>
  <description>I know what you&apos;re thinking: &quot;Man, I wish I had superpowers!&quot;  I&apos;m here to tell you that you can buy one for only $14.99.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.whitelite.net/blog/polarized_sunglasses.jpg&quot; alt=&quot;Polarized Sunglasses&quot;&gt;&lt;br /&gt;&lt;br /&gt;I love polarized sunglasses.  Think about it: when you put on a pair you can see underwater, look through car windows, see the great circle in the sky, peer into office buildings, and see the checkerboard pattern of stress and polarized film on your windshield.  I literally lost minutes parked beneath an overpass at Crystal Springs after being entranced by a rainbow &lt;a href=&quot;http://en.wikipedia.org/wiki/Botan_Rice_Candy&quot;&gt;cellophane candy wrapper&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The thing that impresses me most is that you gain this superpower not by seeing more, but by seeing less. You see only a portion of the light, filtered in such a way that you have access to information which normal people do not.&lt;br /&gt;&lt;br /&gt;Imagine if you had a power that made you unable to see evil.  You could instantly and accurately judge saints and sinners, politicians and serial killers.  However, if everyone was similarly blind, then the man who &lt;i&gt;could&lt;/i&gt; see evil would have the superpower (&apos;He can see the demons!  I thought they were only a legend!&apos;)&lt;br /&gt;&lt;br /&gt;In the land of the blind, the man with polarized sunglasses still looks pimp.</description>
  <comments>http://gmcnaughton.livejournal.com/31052.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://gmcnaughton.livejournal.com/30768.html</guid>
  <pubDate>Tue, 02 Sep 2008 06:02:33 GMT</pubDate>
  <title>PAX 2008</title>
  <link>http://gmcnaughton.livejournal.com/30768.html</link>
  <description>I was away this weekend at PAX in Seattle.  It was amazing as always.  If you like video games, tabletop/board games, role-playing games, nerdcore rap, or indy games, you should go.  It&apos;s doubly good because I have a lot of friends there who I don&apos;t see nearly often enough.&lt;br /&gt;&lt;br /&gt;I&apos;m still unpacking the experience, but here are some highlights:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Pitch Your Game Idea panel: 50-60 people give 45-second game pitches, of which maybe 10 were good.  My favorites: Conquer Medieval Europe With A Single Tank (self-explanatory), and Mythical Big Game Hunter (hunt unicorns, Bigfoot, etc.).  Also, Eco-Destroyer (how many manatees can you kill with your razor-propellered speedboat?)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=XfyeJ6CX0vI&quot;&gt;Watching Jonathan Coulton and Felicia Day sing Still Alive&lt;/a&gt;.  I wish I had seen &lt;a href=&quot;http://www.youtube.com/watch?v=UC3v_Q1RAyE&quot;&gt;Felicia getting caught by the Bad Horse Snipers.&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Meeting &lt;a href=&quot;http://www.facebook.com/photo.php?pid=82108&amp;amp;id=1375382059&amp;amp;ref=nf&quot;&gt;WoW guildies from Sugar &amp; Spice&lt;/a&gt; at the Taphouse (I&apos;m not in the guild because I&apos;m a &lt;i&gt;reformed&lt;/i&gt; addict).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Seeing Little Big Planet, Rockband 2, Guiter Hero: World Tour, Fallout 3, Mirror&apos;s Edge, Spore, Starcraft II.  I didn&apos;t play any because I hate lines, but I have beta codes for Battlefield Heroes if anyone wants!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Eating ramen with Cesar, Geoff, and Eric at Samurai Noodle, and having an eye-opening discussion about Microsoft&apos;s security R&amp;D.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Eating chef&apos;s choice sushi at &lt;a href=&quot;http://www.sushiwhore.com/&quot;&gt;Mashiko&lt;/a&gt; with everyone.  We went through 3 bottles of sake and an unknown quantity of oysters, clams, tuna, sea snails, you name it.  I miss it already.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;The only thing I regret (other than missing some panels and the M.C. Front concert) is that I didn&apos;t go as &lt;a href=&quot;http://www.facebook.com/photo.php?pid=252985&amp;amp;id=668007472&quot;&gt;Heavy Weapons Guy&lt;/a&gt;.  I&apos;m no cosplayer, but it would have been perfect.</description>
  <comments>http://gmcnaughton.livejournal.com/30768.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
</channel>
</rss>
