<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Planet Geek!</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/" />
    <link rel="self" type="application/atom+xml" href="http://planet-geek.com/atom.xml" />
    <id>tag:planet-geek.com,2009-03-16://3</id>
    <updated>2012-01-20T18:53:17Z</updated>
    <subtitle>From the dark depths of the unfathomable void come the otherworldly yammerings of a man out of society.  Welcome to... Planet Geek!</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.23-en</generator>

<entry>
    <title>Time Lapse Video at an SF Convention using Linux and a webcam</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2012/01/time-lapse-video-at-an-sf-convention-using-linux-and-a-webcam.html" />
    <id>tag:planet-geek.com,2012://3.5400</id>

    <published>2012-01-20T15:54:38Z</published>
    <updated>2012-01-20T18:53:17Z</updated>

    <summary>For quite a while I&apos;ve been interested in using commodity hardware (a webcam, a small linux machine) to take time lapse videos. It didn&apos;t seem like that complex a problem, but there were a lot of logistical and mildly technical...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Photos" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming-fu" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>For quite a while I've been interested in using commodity hardware (a webcam, a small linux machine) to take time lapse videos.  It didn't seem like that complex a problem, but there were a lot of logistical and mildly technical obstacles to overcome.  After a couple tests and short videos, it was time to set things up to record a four day long video at <a href="http://arisia.org/">Arisia</a>, in particular, a shot of the registration area.</p>

<p>Here's how I did it.</p>
]]>
        <![CDATA[<p><b>Zodiac</b></p>

<p><a href="http://www.flickr.com/photos/planet-geek/6731252021/" title="Zodiac by eidolon, on Flickr"><img src="http://farm8.staticflickr.com/7029/6731252021_4366bc7edc_m.jpg" width="240" height="180" align="right" valign="top"  alt="Zodiac"></a>This is 'zodiac', and we're going to be very good friends.  Zodiac is an ASUS Eee PC 900 I picked up a few years ago off Woot.  As a computing platform, it's pretty unremarkable.  900Mhz Celeron, 512meg RAM, 1024x600 screen, but it's small, has USB ports, and I've installed Ubuntu linux on it.  It's easy to tuck it 'out of the way' when doing video, leaving just the camera exposed.  Zodiac spent most of the weekend under a table.</p>

<p>Zodiac has gone through a lot of software upgrades to get things rolling.  If you're planning on doing automated video capture, these are the tools necessary (all are available through the standard package management tools 'aptitude' and 'synaptic')</p>

<ul>
<li><a href="http://www.firestorm.cx/fswebcam/">fswebcam</a> - This is great little utility for capturing images from Video4Linux devices (almost any USB webcam manufactured after 2003 will work with it).  Since I'm using a Logitech camera, this worked great.</li>
<li><a href="http://ffmpeg.org/">ffmpeg</a> - Another great utility - I used it to encode the snapshotted images from fswebcam and create an MP4.  ffmpeg has a bzillion options to it.  See below for how I used it.</li>
<li>libx264 - I needed to install this library to allow the MP4 encoding to work properly.  Dont' ask me for details, I dunno.  I just aptitude installed it.</li>
</ul>

<p><b>The physical camera and setup</b></p>

<p>The camera is a <a href="http://www.logitech.com/en-us/435/278?WT.z_sp=Image">Logitech QuickCam Fusion</a>.  I picked this camera up about 5 years ago for video chat.  It's relatively old technology nowadays, but worked for this job.  I'll probably be replacing it with a Point and Shoot camera of some ilk for the next iteration of this project.</p>

<p><a href="http://www.flickr.com/photos/planet-geek/6731181511/" title="Camera on tree by eidolon, on Flickr"><img src="http://farm8.staticflickr.com/7173/6731181511_3bb3e0ef79_m.jpg" width="240" height="180" valign="top" align="right" alt="Camera on tree"></a>I chose a spot for the camera that was out of the way but had a good view of the area.  It was likely not going to be bumped or moved, thereby providing a good solid image for the entire weekend.  However, we had some problems last time I tried to do this with people 'noticing' a camera pointing at them, and we had to shut it down.</p>

<p>This year, I worked with the Arisia convention committee (concom) and got full permission to run the camera all weekend.  Even so, I put a little sign next to the cam saying this was fully authorized.  I only heard one or two comments the entire time, and those were positive (oh, cool!).  Hooray!</p>

<p>The camera is 'taped' in place on a decorative tree on the mezzanine across from reg.  It's about 5' off the ground (in the future, I need to put the camera higher - during the weekend it was blocked by con-goers.  I was very careful not to damage the 'tree' it was attached to.  I used gaffers tape, but it was turned inside out so no 'sticky parts' were actually touching the tree.  The cord was long enough to let the laptop be tucked under the table nearby.  The entire setup was [hard to spot unless you were looking for it] (http://www.flickr.com/photos/planet-geek/6731189141/in/photostream/).</p>

<p><b>The capture script</b></p>

<p>Brian Olson wrote the original 'rungrabber' script, which I modified a bunch, but the concept is basically the same.  The script sets up parameters to fswebcam and starts saving images to the timelapse directory.  Each file is timestamped showing when the picture was taken.  For this setup, here's the rungrabber script I used:</p>

<pre><code>#!/bin/bash -x
exec fswebcam \
--resolution 640x480 \
--loop 10 \
--font /usr/share/fonts/truetype/freefont/FreeMono.ttf:16 \
--banner-colour '#FF000000' \
--line-colour '#FF000000' \
--jpeg 90 
--subtitle "Arisia 2012 Reg" \
--timestamp "%Y%m%d %H:%M" \
~/timelapse/%Y%m%d_%H%M%S.jpg
</code></pre>

<p>Using this script allowed for restarts without overwriting things, etc. Since I'd be at the convention for what amounts to 5 days (arrived on Thursday night, stayed through Monday afternoon), this script would be generating a lot of files.  For a full day, we're talking 8400+ files, for the entire weekend, 32,830 files, averaging around 30k each == 1.1gig of imagery.  Phew!</p>

<p><b>Generating the Video</b></p>

<p>Once the capturing is done, it's time to process it into a video.  While ffmpeg may be a great tool, it's not particularly smart about managing lists of input frames to put into a video.  I wrote a script that handles processing the images and setting things up for ffmpeg to encode.  </p>

<p>The real challenge is getting the images into a sorted order, numbered in a sane fashion, and easily handed off to ffmpeg.  To do this, the script searches for jpg files in the dump folders and create an 'index'.  The index is used to sort the images into date order, then create a 'linktree' - a directory full of symlinks to wherever the images are stored. </p>

<p>In my case, I kept running out of space on the laptop, so I regularly transferred images to a USB pen drive, and cleaned out the capture dir.  A note on this - USB pen drives do NOT like large directories of files.  After about 5000 files, updating anything in that dir (adding new files, whatever) got uncomfortably sluggish.  I ended up breaking up my inventory of images into multiple directories.  That did the trick.</p>

<p>The generation script is called '<a href="http://planet-geek.com/makelinks.sh/makelinks.sh">makelinks.sh</a>' and indexes, symlinks, and processes the images into an 'output.mp4' file.</p>

<p><b>The Final Product</b></p>

<p>The resulting video is easily uploaded to Youtube, and voila!  You have a timelapse video of an event!  </p>

<iframe width="480" height="360" src="http://www.youtube.com/embed/LStKqnoQtFg" frameborder="0" allowfullscreen></iframe>

<p><b>Lessons learned</b></p>

<p>Naturally, after all of this, I've learned things that I'll do differently next time:</p>

<ul>
<li>Try to use a good camera.  This camera is 'okay', but new cams are so cheap nowadays, get something better.</li>
<li>Choose placement of the camera to cover your subject the best.  This camera was too low to get the 'flow' of people through registration I wanted.</li>
<li>Pick your timing resolution carefully.  A frame every 10 seconds rendered at 30fps ended up with a 21 minute video.  Too long!</li>
<li>Learn about the limits of pen drives ahead of time :)  I spent too much time wondering why file transfers on the pen drive were not going fast.</li>
</ul>
]]>
    </content>
</entry>

<entry>
    <title>Hosting a Terreria Server - The yakshaving commences</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2011/05/hosting-a-terre.html" />
    <id>tag:planet-geek.com,2011://3.5393</id>

    <published>2011-05-22T15:47:55Z</published>
    <updated>2011-05-22T17:02:18Z</updated>

    <summary>So the latest craze around here is Terraria. Think of it as Minecraft in 2d. Naturally, since the kids here are all Minecraft addicts, Terraria was a natural next step. Minecraft, the gateway drug for MMPORPGs. Of course, &quot;DAD! Can...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p><a href="http://www.flickr.com/photos/planet-geek/5422123346/" title="Four kids, four laptops, one minecraft world by eidolon, on Flickr"><img src="http://farm6.static.flickr.com/5138/5422123346_5763a8ea27_m.jpg" align="right" valign="top" width="240" height="179" alt="Four kids, four laptops, one minecraft world"></a>So the latest craze around here is <a href="http://www.terraria.org/">Terraria</a>.  Think of it as Minecraft in 2d.  Naturally, since the kids <a href="http://www.mosaic-commons.org/">here</a> are all Minecraft addicts, Terraria was a natural next step.  Minecraft, the gateway drug for MMPORPGs.</p>

<p>Of course, "DAD!  Can you host a Terraria server for us?" was inevitable.  "Sure", the foolish Dad says, "Where's the Linux client?"</p>

<p>"Yeah, so, there's a problem with the Linux server version of Terraria.  There isn't one."</p>

<p>Awesome.</p>

<p>So began my descent into Windows hosting hell.  I share my experiences here with you, to hopefully lesson your pain.  </p>

<p><b>A server</b></p>

<p><a href="http://www.flickr.com/photos/planet-geek/5746577177/" title="Windows xp laptop in the server rack by eidolon, on Flickr"><img src="http://farm3.static.flickr.com/2601/5746577177_eb53ecc169_m.jpg" align="right" valign="top" width="240" height="179" alt="Windows xp laptop in the server rack"></a>In order to make this work, you naturally need a server.  I had a spare Windows XP Dell 620 laptop lying around that looked like it was ready for abuse, so that was put up as my offering to the network gods.  Getting said laptop into the server closet proved to be a bit of a challenge, since I was faced with some awesome challenges:</p>

<ul>
<li>The NIC on the laptop (or the drivers) are unstable.  Occasionally it will drop the network connection, requiring a physical cable drop and reconnect.  Wonderful.</li>
<li>Terraria is a DirectX application.  Ergo, it cannot be started via RDP (which reduces the video driver capability).  I must start Terraria on the console of the laptop in the server closet before connecting to it.</li>
<li>The screen on the laptop is twitchy - Occasionally the screen will blank out, and only a hard reset will restore it.</li>
</ul>

<p><b>Installation</b></p>

<p>Setting up and running the Terraria server was pretty straightforward.  Install Steam, download/install Terraria, start up the game, click 'start server'.  Easy, huh?  Note that because it uses Steam, you need to use a unique login.  My experience has been that the Steam credentials are only checked during startup - once the server is running, you can log out of steam on the server and run up a client machine on the same login.</p>

<p><b>Networking</b></p>

<p>Anyone who is familiar with firewalled hosted services should be able to set up their network appropriately.  In our network environment, we host servers behind a <a href="http://en.wikipedia.org/wiki/Network_address_translation">NAT</a> enabled firewall, and set up port-forwards to internal services.  This makes the server relatively isolated from the internet at large, but allows for the server to be accessed from the outside world.</p>

<p>Some basic guidelines when setting up your server:</p>

<ul>
<li>Do not host your Windows box on the internet without a firewall.  Really, just don't do it.  Windows boxes are the most often attacked, have the most vulernabilities, are the most commonly compromised.  </li>
<li>Running a Windows host with a 'self hosted' firewall is marginally better, but is still easy to run up in an 'unsafe' configuration without you even knowing it's happened.</li>
<li>Terraria uses port '31337' for the server.  Note that this port is ALSO used by the (mostly old school now) '<a href="http://en.wikipedia.org/wiki/Back_Orifice">Back Orifice'</a> application - a tool generally used to hack servers.  Many firewall tools and applications may flag Terraria servers are Back Orifice servers, and disallow them</li>
</ul>

<p>Testing the server's available is pretty easy.  Log into your Linux box out on the net (you do have one, don't you?) and test connectivity to the server:</p>

<blockquote><pre>dbs@calypso:~$ telnet your.firewall.ip 31337
Trying 1.2.3.4...
Connected to your.firewall.ip.
Escape character is '^]'.</pre></blockquote>

<p>Hooray!  Your server is ready to access!  Run up Terraria on your computer, and connect to the IP address of your server (note that Terraria doesn't support hostnames [idiotic in my opinion] - you must connect by IP).  You're in the game!</p>

<p><b>Conclusion</b></p>

<p>In so many ways, Terraria is NOT ready for prime time.  The lack of a decent server mode, the requirement for DirectX for even basic operation (even in server mode) - these make hosting a server more painful than necessary.  It can be done, but I don't know how long this house of cards will last.</p>

<p>Oh, the game itself?  Don't know, haven't played it, there's no Mac version.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>CONGO Update - The road to 2.1.</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2011/05/congo-update---road-to-21.html" />
    <id>tag:planet-geek.com,2011://3.5392</id>

    <published>2011-05-10T12:16:12Z</published>
    <updated>2011-05-10T12:34:44Z</updated>

    <summary>I&apos;ve set a goal for myself. Have CONGO v 2.1 released by June 1st. It&apos;s an auspicious goal to be sure, and recent career shifts have either made it more likely (more time to work on it) or less likely...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Business yammerings" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming-fu" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>I've set a goal for myself. Have <a href="http://www.stonekeep.com/congo/">CONGO</a> v 2.1 released by June 1st.  It's an auspicious goal to be sure, and recent career shifts have either made it more likely (more time to work on it) or less likely (new job) to have time to dedicate to coding.  </p>

<p>But goshdarn it, I'm going to try.</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://planet-geek.com/assets_c/2011/05/congov2-eclipse-screenshot-154.html" onclick="window.open('http://planet-geek.com/assets_c/2011/05/congov2-eclipse-screenshot-154.html','popup','width=1007,height=590,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://planet-geek.com/assets_c/2011/05/congov2-eclipse-screenshot-thumb-250x146-154.png" width="250" height="146" alt="congov2-eclipse-screenshot.png" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></a></span>While coding away last night at a particularly recalcitrant chunk of the new 'Links' system (I've been... instructed... by my pesky users, that 'Friends' is really too 'social buzzy funtime networking' for an event management system), I was curious how big CONGO had gotten.  So a couple greps got me some quick stats:</p>

<blockquote>Total lines of Java :  13,412<br />
Total lines of XML : 5,492<br />
Total lines of JSP : 5,543</blockquote>

<p>This makes CONGO the largest application I've ever written completely on my own.  Oh sure, I've worked on larger systems, but that was part of a team with other coders.  This one (with some small help from 1-2 folks - accounting for around 2% of the code) is all mine.</p>

<p>I'm always looking for alpha and beta testers.  Interested?  Lemme know.  Continuous build / QA testing is working, so there's always new builds and bugs that need to be tracked.</p>]]>
        
    </content>
</entry>

<entry>
    <title>My bosses are audiophiles.</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2011/04/my-bosses-are-audiophiles.html" />
    <id>tag:planet-geek.com,2011://3.5390</id>

    <published>2011-04-26T17:31:06Z</published>
    <updated>2011-04-26T17:35:36Z</updated>

    <summary>It&apos;s interesting working for a music distribution company - our upper management tends to the audiophile / retro-geek crew. Witness our CEO&apos;s office: And the CTO&apos;s office: I do wonder at the massive old-skool speaker stacks and tube amps... in...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Life.  Don&apos;t talk to me about life." scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>It's interesting working for a music distribution company - our upper management tends to the audiophile / retro-geek crew.</p>

<p>Witness our CEO's office:<br />
<a href="http://www.flickr.com/photos/planet-geek/5657144177/" title="CEO Rig by eidolon, on Flickr"><img src="http://farm6.static.flickr.com/5146/5657144177_a7d2b7f59c_m.jpg" width="240" height="179" alt="CEO Rig"></a></p>

<p>And the CTO's office:<br />
<a href="http://www.flickr.com/photos/planet-geek/5657138543/" title="CTO Rig by eidolon, on Flickr"><img src="http://farm6.static.flickr.com/5143/5657138543_4480b2431c_m.jpg" width="240" height="179" alt="CTO Rig"></a></p>

<p>I do wonder at the massive old-skool speaker stacks and tube amps... in a 15x15 standard drywall office, but it does look sorta neat.</p>]]>
        
    </content>
</entry>

<entry>
    <title>iPhone Games - Tiny Wings and Bejeweled Blitz</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2011/04/iphone-games-tiny-wings-and-bejeweled-blitz.html" />
    <id>tag:planet-geek.com,2011://3.5389</id>

    <published>2011-04-22T17:37:53Z</published>
    <updated>2011-04-22T18:28:23Z</updated>

    <summary>It&apos;s no secret that today the iPhone is considered one of the top gaming platforms out there. Certainly overshadowing standard console games in sheer numbers of games, and, without any hard evidence to support it, I&apos;d hazard a guess it...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Reviews" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone Games" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>It's no secret that today the iPhone is considered one of the top gaming platforms out there.  Certainly overshadowing standard console games in sheer numbers of games, and, without any hard evidence to support it, I'd hazard a guess it has the most games of any platform short of PC's.</p>

<p>Having those tens of thousands of titles to choose from, how do you pick out the ones worthwhile?  Well, I'm here to continue my <a href="http://planet-geek.com/archives/reviews/iphone-games/">ongoing series on iPhone games</a>, with two more recommendations.</p>
]]>
        <![CDATA[<p><strong>Bejeweled Blitz</strong></p>

<p><a href="http://popcapgames.com">Popcap</a> is by no means a newcomer to the gaming arena, with some pretty awesome titles under it's belt.  And Bejeweled has been around since dinosaurs roamed the earth.  The current twist though is the 'Blitz' aspect.</p>

<p><a href="http://www.flickr.com/photos/planet-geek/5643533629/" title="photo.PNG by eidolon, on Flickr"><img src="http://farm6.static.flickr.com/5265/5643533629_2a78c36a67_m.jpg" width="160" height="240" alt="photo.PNG" align="right" valign="top" style="margin-left: 15px"></a>In a nutshell - it's a single fast paced game.  One minute, beginning to end, get the best score you can.  GO!</p>

<p>Fun?  Sure, but add in the bit about comparing your scores with your friends on Facebook (without having to spam their news feeds)?  Now it's addicting as hell. </p>

<p>The scores reset every week, so once you're on top score-wise, you'll have to fight again next week to regain your spot.  </p>

<p>I am but a small fry in the great Bejeweled Combat arena, topping out my high score somewhere just south of 400,000.  I have friends on my list that have gotten upwards of 700,000, but I consider them mutated beings from planet zorax.  </p>

<p>However, I haven't gotten this far without learning a few tips and tricks on getting better scores.  Here's my quicky list:
* The "One minute... Go..." at the beginning is not a count down timer.  As soon as the board comes up, you can start making matches.  You get an extra 4 seconds or so before the timer starts.  Use them!
* ALWAYS use the doubler booster.  With just this power up, you can run with a minimal amount of coins for quite a while, as a decent series of 4 games will replenesh 80% of the coins used.
* When using the doubler booster, shoot for that FIRST.  Once you get the doubles, you can start playing with other specialized gems, but don't get fancy until you have at least the 2x counter set.
* Use the 'daily spin' to get new coins every day at Facebook.  Free coinage!
* RELAX.  I've found the 'zen mode' of playing this game works best. <br />
* Interlace moves.  The game goes bananas in bonuses when you overlap moves - have a combo going on on the right side of the board?  As gems drop, make matches on the left side as well.  The game will start tossing better and better special gems at you.</p>

<p>I hope that Popcap will continue this tradition of offering coins for bonuses.  I've been playing Zuma Blitz a little bit, and found it less 'friendly' toward coin rewards.  Also, there's no iPhone version.  Fail!</p>

<p><strong>Tiny Wings</strong></p>

<p>I found this one due to my son picking it up off the app store.  It's $0.99, and is pure, unadulterated goofy fun. </p>

<p><a href="http://www.flickr.com/photos/planet-geek/5644003978/" title="Tiny wings screenshot by eidolon, on Flickr"><img src="http://farm6.static.flickr.com/5042/5644003978_266e9a65b8_m.jpg" align="right" valign="top" width="240" height="160" alt="Tiny wings screenshot" style="margin-left: 10px"></a>The premise is you're a tiny bird (which seems to have taken it's physical appearance from the ubiquitous tennisball shaped Angry Birds birds), who has, well, tiny wings.  Alas, the tiny wings can't keep you in the are without some help, so you have to 'slide' down hills and slingshot back up in the sky.  There's only one control - touching the screen - and that causes the bird to fold his wings and you fall more rapidly.  Let go, and you start flapping again.  </p>

<p>The gameplay is in the timing.  You want to land on the downslope of the hill, and release just at the bottom to get as much altitude off the hill as possible.  Bonuses are awarded for 'touching the clouds', longest distance travelled, most 'swoops' in a row (a clean slide down and launch a hill), and most little stars collected.</p>

<p>Simple, huh?  Well, most well designed games are SUPPOSED to be simple.  </p>

<p>A typical Tiny Wings game lasts about 4 minutes, is playable right through to the end, and is limited purely on time and distance flown.  You can only fly during the 'daylight', so when that runs out, you go to sleep.  However, you're flying due west (I guess), so if you're moving fast enough, you can keep ahead of the sunset.  Play well, the game goes on for a while.</p>

<p>So far my best score is somewhere in the mid 70,000's. </p>

<p>I also just read that Tiny Wings has dethroned Angry Birds from the top slot in the app store.  Have to admit that's just fine by me - I was never a fan of Angry Birds.</p>

<p>Enjoy!</p>
]]>
    </content>
</entry>

<entry>
    <title>My Chumbys and Me</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2011/04/my-chumbys-and-me.html" />
    <id>tag:planet-geek.com,2011://3.5388</id>

    <published>2011-04-18T20:39:40Z</published>
    <updated>2011-04-18T21:30:16Z</updated>

    <summary>It&apos;s no secret I&apos;m a big fan of Woot and the excitement that can accompany a Woot-Off, that festival of consumerism and feeding frenzy for those susceptible to impulse buys. A few frenzies ago included offering up a Chumby One...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>It's no secret I'm a big fan of <a href="http://www.woot.com/">Woot</a> and the excitement that can accompany a <a href="http://en.wikipedia.org/wiki/Woot#Woot-Off">Woot-Off</a>, that festival of consumerism and feeding frenzy for those susceptible to impulse buys.</p>

<p>A few frenzies ago included offering up a <a href="http://www.chumby.com/pages/chumby_one">Chumby One</a> for the attractive price of $49.</p>

<p><a href="http://www.flickr.com/photos/planet-geek/5632639240/" title="Chumby one! by eidolon, on Flickr"><img src="http://farm6.static.flickr.com/5184/5632639240_943397b71a_m.jpg" align="right" valign="top" width="179" height="240" alt="Chumby one!"></a><br />
I bought two.</p>

<p>I'd been trying to figure out various ways gaining 'shelf-top' access to <a href="http://radioparadise.com/">online music resources</a>.  Back in the day, I'd picked up <a href="http://planet-geek.com/archives/2007/12/rockin-in-the-w.html">a Roku Soundbridge</a> or two, but I've never been completely satisfied with the results.  Even modern versions of these devices are in my opinion too expensive and too limited.  They play music, that's it.  Even though Roku has moved on, <a href="http://www.amazon.com/Logitech-Squeezebox-Internet-Wireless-Player/dp/B000VZL9C2/ref=sr_1_7?ie=UTF8&s=electronics&qid=1303161082&sr=1-7">other manufacturers are offering similar devices for $250.</a></p>

<p>Screw that.</p>

<p>The Chumby One is a small 450mghz Linux computer with Wifi, 64meg of RAM, and a 3.5" color screen.  It has everything I was looking for in a 'bedside' or 'shelfside' device.  It can play music, it has a touchscreen that can show <a href="http://www.chumby.com/guide">a wide variety of content</a>, and it's controllable from a centralized server.  It has line-level audio out via a headphone connector, as well as internal speakers.  The design allows for easy 'bedside' use, along with unattended modes.</p>

<p>The final button for me was the inclusion of a powered USB port on the back.  This means I now had an easy charging station nearby for my iPhone, without taking up another power outlet and the accompanying cable mess.</p>

<p>I love the variety of apps, both the whimsical (David Letterman's Top 10) and the useful (A constantly updated weather / traffic / time / date page that shows 'local status' in real time) - all while happily playing Radioparadise for me.</p>

<p>And.  Heck.  They're cute.</p>]]>
        
    </content>
</entry>

<entry>
    <title>The Blog is Resurrected... for now.</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2011/03/the-blog-is-resurrected-for-now.html" />
    <id>tag:planet-geek.com,2011://3.5384</id>

    <published>2011-03-10T03:06:23Z</published>
    <updated>2011-03-12T16:27:35Z</updated>

    <summary>Well that was no fun. For a while, I was in a funk because the Planet-Geek.com site was not posting ANY of my articles. And when I logged into the maintenance pages, I couldn&apos;t see any of my articles for...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Life.  Don&apos;t talk to me about life." scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Stuff n bother" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>Well that was no fun.</p>

<p>For a while,  I was in a funk because the <a href="http://planet-geek.com/">Planet-Geek.com</a> site was not posting ANY of my articles.  And when I logged into the maintenance pages, I couldn't see any of my articles for the last year.</p>

<p>Now, the site has something like 1600 articles on it.  I was pretty cranky at the possibility of losing all my content.  But the database itself seemed okay, and I could see entries in it.  Just new content was not showing up.</p>

<p>Tonight I decided to sit down and figure out WTF was wrong with it..  It took about half an hour to determine the root of the problem...</p>

<p>I was logging into the wrong site.</p>

<p>We migrated the blogs off <a href="/msb.html">msb</a> to <a href="/msb2">msb2</a> a year or so ago, but I never a) removed the old bookmark in my shortcuts, and b) never updated the maintenance page to point to the correct toolset.</p>

<p>So I was editing the old site.</p>

<p>Boy do I feel like a dork.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Performance Tuning with Trac</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2011/02/performance-tuning-with-trac.html" />
    <id>tag:planet-geek.com,2011://3.5383</id>

    <published>2011-02-14T13:32:21Z</published>
    <updated>2011-03-10T03:18:47Z</updated>

    <summary>I&apos;ve been using Trac for managing all the bugs enhancements in CONGO for the last 3 years or so. For the most part, it&apos;s been pretty useful, though I haven&apos;t been thrilled with some performance problems I was having. Most...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>I've been using <a href="trac.edgewall.org">Trac</a> for managing all the <strike>bugs</strike> enhancements in <a href="http//www.stonekeep.com/congo/">CONGO</a> for the last 3 years or so.  For the most part, it's been pretty useful, though I haven't been thrilled with some performance problems I was having.</p>

<p>Most notably, a simple page load would take 4-5 seconds to come back.</p>

<p>I thought the initial problem was due to the older (v0.11) version I was running.  But after a painful SVN crash and rebuild, and taking that opportunity to upgrade to 0.12 and move to a faster host, the performance problems were still there.</p>

<p>When reading Trac performance blogs, the first thing everyone says is "For gods sake, make sure you're running mod_python!!!"  Well, I was.  So that wasn't it.</p>

<p>I found the answer in an older <a href="http://bannister.us/weblog/">blog post</a> that mentioned the Chrome elements in Trac were rendered on the fly via Python.  This didn't make sense, as they were primarily static elements. </p>

<p>So why not cache them?</p>

<p>A quick tweak to the vhost configuration:</p>

<blockquote><pre>&lt;LocationMatch /[^/]+/chrome&gt;
    Order allow,deny
    Allow from all
    ExpiresDefault "now plus 12 hours"
&lt;/LocationMatch&gt;</pre></blockquote>

<p>(which, by the way, necessitated adding mod_expires in apache), and a restart, and my load times went from 6.6 seconds:</p>

<blockquote>172.16.1.1 - - [13/Feb/2011:22:58:13 -0500] "GET
/chrome/site/stonekeep-ball-logo.gif HTTP/1.1" 200 6660
"http://trac.stonekeep.com/" "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.7.62
Version/11.01"</blockquote>

<p>down to zilch due to caching:</p>

<blockquote>172.16.1.1 - - [14/Feb/2011:08:15:51 -0500] "GET
/chrome/site/stonekeep-ball-logo.gif HTTP/1.1" 304 -
"http://trac.stonekeep.com/wiki/WikiStart" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X
10_6_6; en-us) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4"</blockquote>

<p>Win!!!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>The Ten Commandments from IT / Sysadmins...</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2010/11/the-ten-commandments-from-it-and-sysadmins.html" />
    <id>tag:planet-geek.com,2010://3.5377</id>

    <published>2010-11-24T17:25:15Z</published>
    <updated>2010-11-24T17:43:10Z</updated>

    <summary>Thou shalt not release software to production on the eve of a weekend or a holiday. Thou shalt not use corporate email servers to distribute full page pictures of your kitten, or your child, or your horse, or your hamster....</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Business yammerings" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Laugh it up, fuzzball." scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Life.  Don&apos;t talk to me about life." scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>Thou shalt not release software to production on the eve of a weekend or a holiday.  </p>

<p>Thou shalt not use corporate email servers to distribute full page pictures of your kitten, or your child, or your horse, or your hamster.</p>

<p>Thou shalt not browse porn from your work computer or laptop.  Ever. </p>

<p>Thou shalt use corporate / IT mandated applications for corporate related work, regardless of whether you think RandomFinancialTool is better.</p>

<p>Thou shalt choose Microsoft products ONLY when all alternatives have been thoroughly reviewed and considered objectively, and using the criteria of "But it's not compatible with Microsoft products" is usually a red herring.</p>

<p>Thou shalt not rely exclusively on the 'genius' or 'vast experience' of a single person within the company or organization.  They might be wrong.  How would you know?</p>

<p>Thou shalt consider a laptop expendable and subject to imminent destruction.</p>

<p>Thou shalt understand that IT and sysadmin staff are employed to HELP the users do their job.  We may know what we're talking about. </p>

<p>Thou shalt not page a sysadmin at 2am because you've forgotten your password.  Next time be more careful.</p>

<p>And last but not least.....</p>

<p>Thou shalt respect us.  We're people too.</p>]]>
        
    </content>
</entry>

<entry>
    <title>How to make sudo use your login name</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2010/11/how-to-make-sudo-use-login-name.html" />
    <id>tag:planet-geek.com,2010://3.5376</id>

    <published>2010-11-22T15:54:22Z</published>
    <updated>2010-11-22T16:37:25Z</updated>

    <summary>This is being tossed out there as a handy reference to sysadmins around the world. Sudo is a magnificient tool for Unix / Linux based systems that allows a single command to be executed as the root / privileged user....</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>This is being tossed out there as a handy reference to sysadmins around the world.  </p>

<p><a href="http://en.wikipedia.org/wiki/Sudo">Sudo</a> is a magnificient tool for Unix / Linux based systems that allows a single command to be executed as the root / privileged user.  The advantage is that the command is logged to the syslog, and access to sudo-managed tools can be tightly controlled via /etc/sudoers.</p>

<p>One problem that comes up a lot is that logged activities on a host will show up as 'root' when sudo is used to invoke them, when what you really want is to know who initiated the command.</p>

<p>The sudoers file can include an option that tells sudo to not reset the users login name when escalating priveleges.  The option is:<br />
<blockquote><pre>Defaults        !set_logname </pre></blockquote></p>

<p>Putting this option in sudoers will make it so RCS checkins and other tasks will log as the user who invoked the sudo, not root. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Sailing on the Pestilence - back to basics in &apos;Hold Fast&apos;</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2010/11/sailing-on-the-pestilence-hold-fast.html" />
    <id>tag:planet-geek.com,2010://3.5375</id>

    <published>2010-11-08T19:57:55Z</published>
    <updated>2010-11-08T20:00:31Z</updated>

    <summary>This is a brilliant video about 4 folks who decided to cut loose, renovate an old boat, and just plain Leave. Hold Fast from Moxie Marlinspike on Vimeo. Be sure to check out discussion on Boingboing (including some answers from...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Life.  Don&apos;t talk to me about life." scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>This is a brilliant video about 4 folks who decided to cut loose, renovate an old boat, and just plain Leave.  </p>

<p><iframe src="http://player.vimeo.com/video/15351476" width="400" height="225" frameborder="0"></iframe><p><a href="http://vimeo.com/15351476">Hold Fast</a> from <a href="http://vimeo.com/user4773372">Moxie Marlinspike</a> on <a href="http://vimeo.com">Vimeo</a>.</p></p>

<p>Be sure to check out <a href="http://www.boingboing.net/2010/11/05/hold-fast-a-document.html">discussion on Boingboing</a> (including some answers from the folks on the boat).</p>]]>
        
    </content>
</entry>

<entry>
    <title>Fun with Server Uptimes</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2010/10/fun-with-server.html" />
    <id>tag:planet-geek.com,2010://3.5374</id>

    <published>2010-10-12T13:21:24Z</published>
    <updated>2010-10-12T13:43:23Z</updated>

    <summary>At ${dayjob}, we were doing a system audit when an alarm came up on a pair of servers we rarely had any interraction with. One of our new monitoring tools was showing these servers were not answering correctly, and should...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Business yammerings" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Laugh it up, fuzzball." scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>At ${dayjob}, we were doing a system audit when an alarm came up on a pair of servers we rarely had any interraction with.  One of our new monitoring tools was showing these servers were not answering correctly, and should be investigated.</p>

<p>Investigate I did, and found... four machines in a full sized rack that were doing absolutely nothing.</p>

<p>It turns out these were used for 3 customers we no longer supported.  The applications were still there, the appservers were running, just... no one had connected to them in almost a year and a half.</p>

<p>What's more entertaining is the uptime on these boxes:</p>

<blockquote><pre>09:23:08 up 992 days, 19:15,  1 user,  load average: 0.00, 0.00, 0.00</pre></blockquote>

<p>The current plan is to let them roll over to 1000 days, throw a little party for them, and shut 'em down.</p>

<p>(For the true geeks, these are dual opteron Rackable servers with 8gig RAM running CentOS 4.4)</p>

<p><b>Update</b> - Just found the database servers these machines have been using.  Also idle, but the uptime is even more impressive:<br />
<blockquote><pre> 09:43:08 up 1304 days, 19:49,  1 user,  load average: 0.22, 0.09, 0.02</pre></blockquote></p>]]>
        
    </content>
</entry>

<entry>
    <title>Hurdy Gurdy for Beginners</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2010/09/hurdy-gurdy-for-beginners.html" />
    <id>tag:planet-geek.com,2010://3.5370</id>

    <published>2010-09-21T21:42:42Z</published>
    <updated>2010-09-21T21:44:04Z</updated>

    <summary>From a TED talk by Caroline Phillips - ever wanted to know about the hurdy gurdy? What a beautiful instrument....</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Life.  Don&apos;t talk to me about life." scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Music" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>From a TED talk by Caroline Phillips - ever wanted to know about the hurdy gurdy?  What a beautiful instrument.</p>

<p><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param> <param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/CarolinePhillips_2010G-medium.flv&su=http://images.ted.com/images/ted/tedindex/embed-posters/CarolinePhillips-2010G.embed_thumbnail.jpg&vw=432&vh=240&ap=0&ti=959&introDuration=15330&adDuration=4000&postAdDuration=830&adKeys=talk=caroline_phillips_hurdy_gurdy_for_beginners;year=2010;theme=a_taste_of_tedglobal_2010;theme=tales_of_invention;theme=spectacular_performance;theme=live_music;event=TEDGlobal+2010;&preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/CarolinePhillips_2010G-medium.flv&su=http://images.ted.com/images/ted/tedindex/embed-posters/CarolinePhillips-2010G.embed_thumbnail.jpg&vw=432&vh=240&ap=0&ti=959&introDuration=15330&adDuration=4000&postAdDuration=830&adKeys=talk=caroline_phillips_hurdy_gurdy_for_beginners;year=2010;theme=a_taste_of_tedglobal_2010;theme=tales_of_invention;theme=spectacular_performance;theme=live_music;event=TEDGlobal+2010;"></embed></object></p>]]>
        
    </content>
</entry>

<entry>
    <title>Vox is Dead.  Long live Vox!</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2010/09/vox-is-dead-long-live-vox.html" />
    <id>tag:planet-geek.com,2010://3.5369</id>

    <published>2010-09-04T15:37:54Z</published>
    <updated>2010-09-04T15:49:50Z</updated>

    <summary>As little as 5 years ago, Six Apart was the undisputed gold leader of blogging platforms. Movable Type was the largest and best known blogging platform, and corporate entities were making moves to acquire competing services. During this time, SixApart...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Life.  Don&apos;t talk to me about life." scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<p>As little as 5 years ago, <a href="http://sixapart.com">Six Apart</a> was the undisputed gold leader of blogging platforms.  <a href="http://www.movabletype.org/">Movable Type</a> was the largest and best known blogging platform, and <a href="http://en.wikipedia.org/wiki/Blogger_(service)">corporate entities were making moves to acquire competing services</a>.</p>

<p>During this time, SixApart launched <a href="http://en.wikipedia.org/wiki/Vox_(blogging_platform)">Vox</a>.  The idea was to blend blogging with social networking.  Shared questions and trends, bring the whole blogger community together into one big happy family.</p>

<p>It never worked.</p>

<p>Bloggers are individuals.  They want their own sandbox, their own domains, their own content.  Not only from an individualistic stance, but also when it comes to money.  It's hard to make a buck when your blog is buried in with a thousands other bloggers.  </p>

<p>Vox lurched along for a few years, but never got any traction.   Perhaps due to its muddled target audience.  Were they targeting bloggers?  Facebook folks?  The then-dominant MySpace crew?  It wasn't clear.</p>

<p>I had a Vox account, and I posted perhaps 3-4 things on it, and lost interest.  There was no draw or anchor.  I never went back.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Quicken Online Shutting Down - One Guy in Mattawan Surprised</title>
    <link rel="alternate" type="text/html" href="http://planet-geek.com/archives/2010/07/quicken-online-shutting-down-moving-to-mint.html" />
    <id>tag:planet-geek.com,2010://3.5368</id>

    <published>2010-07-17T00:00:58Z</published>
    <updated>2010-07-17T00:11:05Z</updated>

    <summary> Well THIS will come as a shock to absolutely no one: Dear Valued Customer, For the past several months, we&#8217;ve been working hard to combine the best features of Quicken Online and Mint.com into a single online personal finance...</summary>
    <author>
        <name>shevett</name>
        <uri>http://planet-geek.com/</uri>
    </author>
    
        <category term="Business yammerings" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Geekitude" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Life.  Don&apos;t talk to me about life." scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://planet-geek.com/">
        <![CDATA[<div class="thumbnail"><a href="http://skitch.com/dbelfershevett/dc6xt/quicken-free-personal-finance-software-money-management-budgeting-personal-finances"><img src="http://img.skitch.com/20100717-f1gayn5m3kt1qe3gqfn52xxjc8.preview.jpg" alt="Quicken® Free Personal Finance Software, Money Management, Budgeting, Personal Finances" align="right" valign="top" /></a></div>

<p>Well <a href="http://quicken.intuit.com/support/articles/quicken-online/getting-started/7907.html">THIS</a> will come as a shock to absolutely no one:</p>

<blockquote>
  <p>Dear Valued Customer,</p>

<p>For the past several months, we&#8217;ve been working hard to combine the best features of Quicken Online and Mint.com into a single online personal finance solution&#8212;Mint.com. With the improved Mint.com, you can enjoy the features you love in Quicken Online, plus new benefits such as connecting to over 16,000 financial institutions, including Canadian banks&#8212;as well as tracking your investment and retirement accounts. There is also a new Goals feature that takes the tool you enjoyed in Quicken Online to the next level.</p>

<p>As a result of these changes, Quicken Online will no longer be available as of August 29, 2010. Creating a new Mint.com account is easy, but for reasons of security and accuracy, we cannot create one for you. Once you&#8217;re signed in, you can add your accounts and see your financial picture in just a few minutes.</p>
</blockquote>

<p>Color me shocked.  NOT.</p>

<p>It was obvious from the beginning that <a href="http://intuit.com">Intuit</a> was never going to make anything serious out of Quicken.com - they&#8217;re far more interested in Quickbooks.  When they announced the aquisition of <a href="http://mint.com/">Mint.com</a>, the writing was on the wall.</p>

<p>I recently switched my online accounting over to Mint.com, and I have to admit it&#8217;s a helluva good system.  Fast, very well designed interface, and good integration with my other finances.  </p>

<p>So, there ya have it folks.  If you can&#8217;t code it, acquire it.  </p>
]]>
        

    </content>
</entry>

</feed>

