<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sector 930 &#187; Sam</title>
	<atom:link href="http://www.sector930.com/blog/author/sam/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sector930.com/blog</link>
	<description>EVERYBODY WRITES, NOBODY QUITS.</description>
	<lastBuildDate>Fri, 13 Aug 2010 13:34:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>DEF CON: The story so far</title>
		<link>http://www.sector930.com/blog/2010/07/30/def-con-the-story-so-far/</link>
		<comments>http://www.sector930.com/blog/2010/07/30/def-con-the-story-so-far/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 05:35:24 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[def con]]></category>
		<category><![CDATA[drinking]]></category>
		<category><![CDATA[vegas]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1749</guid>
		<description><![CDATA[Night 0 Our planes landed close to 2300 Pacific Daylight Time, and we took a Town Car straight to our hotel, the Treasure Island. Even though we were all exhausted, we decided to venture out for some food. For some &#8230; <a href="http://www.sector930.com/blog/2010/07/30/def-con-the-story-so-far/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>Night 0</h3>
<p>Our planes landed close to 2300 Pacific Daylight Time, and we took a Town Car straight to our hotel, the Treasure Island. Even though we were all exhausted, we decided to venture out for some food. For some reason, a strange girl invited Joe to say hello to her friend because it was her 21st birthday. Now he&#8217;s in their pictures.</p>
<p>We finally retired after 0100 PDT, which for us was 0400 EDT.</p>
<h3>Day 1</h3>
<p>We woke up from our jetlag comas and caught the view from the hotel. Sadly, it is not of the strip.</p>
<div id="attachment_1752" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/07/IMG00067.jpg"><img class="size-medium wp-image-1752 " title="Treasure Island View" src="http://www.sector930.com/blog/wp-content/uploads/2010/07/IMG00067-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Yes, that is a Trump tower.</p></div>
<p>While Edwin was at his fancy Black Hat conference, Joe, Charlie, and I killed time by soaking up skin cancer rays and blowing perfectly good money on slot machines. Then we blew even more money on lunch.</p>
<div id="attachment_1751" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/07/IMG00068.jpg"><img class="size-medium wp-image-1751 " title="Vegas Sandwich" src="http://www.sector930.com/blog/wp-content/uploads/2010/07/IMG00068-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">This sandwich cost me $15.</p></div>
<p>After Edwin was done being professional, we rested up for a night out.</p>
<h3>Night 1</h3>
<p>It all started with a drink called the Zombie Pirate. Two of them. Some even had three. We shouted to each other about work, women, and Ron Paul. We toasted the Old Dominion, Las Vegas, and Ron Paul. Amazingly, we did not get kicked out of the bar.</p>
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/07/DSC00065.jpg"><img title="Zombie Pirate" src="http://www.sector930.com/blog/wp-content/uploads/2010/07/DSC00065-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">There were three different types of rum in this bad boy, including 151.</p></div>
<p>After thoroughly getting smashed, we stumbled over to a Cisco private party. Somehow Edwin and his work buddy managed to talk their way in, and luckily for us, it had an open bar and catered hors d&#8217;oeuvres. We went from smashed to hammered and back to smashed again.</p>
<p>While there, we got a front row seat to the bizarre pirate show with accompanying laser lights and hip hop music. Then we hung out at the party and hotel casino and bars before retiring to our rooms.</p>
<p>THE END</p>
<p><strong>Update:</strong> The night was pretty wild. Joe stripped down to his underwear, found a guitar from Lord-knows-where, and tried to pick up chicks. One of those chicks wasn&#8217;t happy:</p>
<div id="attachment_1765" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/07/DSC00060.jpg"><img class="size-medium wp-image-1765" title="Vegas Guitar" src="http://www.sector930.com/blog/wp-content/uploads/2010/07/DSC00060-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Just kidding, we found this on the strip while walking around.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2010/07/30/def-con-the-story-so-far/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steam Summer Sale: The Aftermath</title>
		<link>http://www.sector930.com/blog/2010/07/04/steam-summer-sale-the-aftermath/</link>
		<comments>http://www.sector930.com/blog/2010/07/04/steam-summer-sale-the-aftermath/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 19:54:16 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Steam]]></category>
		<category><![CDATA[summer]]></category>
		<category><![CDATA[vacation]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1664</guid>
		<description><![CDATA[Now that the dust has settled, the children have stopped weeping, and we&#8217;ve started the process of replacing our soiled underpants, let&#8217;s take a look at the damage I suffered through the Steam Perils of Summer Sale. June 23 &#8211; &#8230; <a href="http://www.sector930.com/blog/2010/07/04/steam-summer-sale-the-aftermath/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Now that the dust has settled, the children have stopped weeping, and we&#8217;ve started the process of replacing our soiled underpants, let&#8217;s take a look at the damage I suffered through the Steam Perils of Summer Sale.</p>
<ul>
<li>June 23 &#8211; Counter-Strike: Source, $6.80 (Even though this occurred before the sale, the game went for the same price during the sale a few days later)</li>
<li>June 24 &#8211; Commandos Pack, $5.09 (This went a few days later for $3+change. Damn you Steam!)</li>
<li>June 24 &#8211; FarCry, $6.69</li>
<li>June 24 &#8211; RollerCoaster Tycoon 3: Platinum, $10.19</li>
<li>June 25 &#8211; Aliens vs. Predator Classic 2000, $1.25</li>
<li>June 28 &#8211; Oddworld Pack, $2.50</li>
<li>June 28 &#8211; Operation Flashpoint: Dragon Rising, $4.50</li>
<li>June 29 &#8211; Grand Theft Auto IV, $4.99</li>
<li>July 1 &#8211; Grand Theft Auto: San Andreas, $3.74</li>
<li>July 1 &#8211; Bioshock, $4.99</li>
<li>July 1 &#8211; X3: Gold, $10.19</li>
<li>July 1 &#8211; Thief: Deadly Shadows, $2.99</li>
<li>July 2 &#8211; Star Wars: Empire at War Gold, $4.99</li>
<li>July 2 &#8211; Day of Defeat: Source, $2.49</li>
<li>July 2 &#8211; Tropico 3, $7.49</li>
<li>July 3 &#8211; World of Goo, $5.00</li>
<li>July 3 &#8211; Freedom Force Pack, $1.87</li>
<li>July 4 &#8211; Borderlands DLCs, $10.17 (I missed these on July 2, which made me very sad. Luckily they lowered the price again!)</li>
</ul>
<p>Grand Total: $95.93 (!). Maybe I went a little overboard, but considering the amount of games I got, I think I did pretty good.</p>
<p>Most of this I did while I was at the beach. Heaven knows when I&#8217;ll actually be able to play these games. I have a bathroom to rebuild. Some of the other Sector 930 members bought a lot of these, too, along with other games that I didn&#8217;t buy. Hopefully we can add some of these to our Game Night™ rotation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2010/07/04/steam-summer-sale-the-aftermath/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Look Mom, I contributed to society</title>
		<link>http://www.sector930.com/blog/2010/06/28/look-mom-i-contributed-to-society/</link>
		<comments>http://www.sector930.com/blog/2010/06/28/look-mom-i-contributed-to-society/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 20:27:02 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1642</guid>
		<description><![CDATA[Before I head to the beach for the rest of the week (I won&#8217;t be at Game Night™), I thought I would unleash unto the world some code I wrote a while back. My brothers and I like to share &#8230; <a href="http://www.sector930.com/blog/2010/06/28/look-mom-i-contributed-to-society/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Before I head to the beach for the rest of the week (I won&#8217;t be at Game Night™), I thought I would unleash unto the world some code I wrote a while back. My brothers and I like to share a modest music library. I encoded my library in Apple&#8217;s AAC format using iTunes, while my brothers wanted everything to be in MP3 format to be able to play it on their portable devices. So I wrote a Perl script to combine the powers of <a href="http://www.audiocoding.com/faad2.html">faad</a>, <a href="http://lame.sourceforge.net/">lame</a>, and <a href="http://sourceforge.net/projects/id3v2/">id3v2</a>. I set up a cron job to run this script every night.</p>
<p>Basically, it makes a copy of a directory structure, converting the M4A files to MP3, and it also uses the same modify times. Before converting each file, if there is already an existing MP3, it compares the modify times of each file. If the M4A is newer, it performs the copy.</p>
<p>Use at your own peril.</p>
<pre>#!/usr/bin/perl

###############################################################################
#
# aac2mp3.pl
#
# usage: aac2mp3.pl &lt;aac_dir&gt; &lt;mp3_dir&gt;
#
# This script will convert a directory full of AAC files (with .m4a extension)
# into MP3 format. You will need to have faad (AAC decoder), lame (MP3
# encoder), and id3v2 (ID3 tag editor) installed for this to work. The script
# assumes the structure of the directory is of the form "Artist/Album/Track",
# as if you had let iTunes organize your music. The script will preserve the
# following tag information: Title, Artist, Album, Year, Composer, Genre,
# Track Number out of Total Number of Tracks, Disc Number out of Total Number
# of Discs, and Album Artist.
#
###############################################################################

use strict;
use File::stat;

my $aac_dir = $ARGV[0];
my $mp3_dir = $ARGV[1];

mkdir $mp3_dir unless (-e $mp3_dir);

# open the main music directory containing the AAC files
opendir(my $musicdir, $aac_dir);
my @artists = grep(!/^\./, readdir($musicdir));

foreach my $artist (@artists) {
    # open the artist's directory
    opendir(my $artistdir, "$aac_dir/$artist");
    my @albums = grep(!/^\./, readdir($artistdir));

    foreach my $album (@albums) {
        # open the album's directory
        opendir(my $albumdir, "$aac_dir/$artist/$album");
        my @tracks = grep(/.*\.m4a/, readdir($albumdir));

        foreach my $track (@tracks) {
            convert_track($artist, $album, $track);
        }

        closedir($albumdir);
    }

    closedir($artistdir);
}

closedir($musicdir);

###############################################################################
# Convert a track from AAC/MP4/M4A to MP3.
# arguments:
#   artist - the directory name containing the artist's albums
#   album - the subdirectory name containing the artist's album's tracks
#   track - the filename for the track to be converted
###############################################################################
sub convert_track {
    my ($artist, $album, $track) = @_;
    my $filename;
    my $tag_options;
    my $dirname = "$aac_dir/$artist/$album";
    chdir $dirname or die "Can't cd to $dirname\n";

    $filename = $track;

    # First we check to see if the MP3 exists and is not older than the M4A

    # Get the track's modification and access times
    my $aac_stat = stat($filename) or die "stat error: $!: $filename\n";
    my $mtime = $aac_stat-&gt;mtime;
    my $atime = $aac_stat-&gt;atime; # We use this when setting the MP3's times

    $filename =~ s/\.m4a/\.mp3/g;
    my $mp3file = "$mp3_dir/$artist/$album/$filename";

    # Check the mp3's mod time, and skip if not older than the m4a
    if (-e $mp3file) {
        my $mp3_stat = stat($mp3file) or die "stat error: $!: $mp3file\n";
        return if ($mtime &lt;= $mp3_stat-&gt;mtime);
    }

    # Here we convert the track if the MP3 does not exist or is older

    print "Converting $dirname/$track\n";

    $track = quotemeta($track);

    `faad -q -o /tmp/fifo.wav $track`;
    #`faad -o /tmp/fifo.wav $track`;

    # print a message if there has been an error
    print "faad error: $artist/$album/$track: $?\n" if $?;

    my %tag = get_tag($track);

    # We have to set up the directories for the mp3 files
    $dirname = "$mp3_dir/$artist";
    mkdir $dirname unless (-e $dirname);
    $dirname = "$mp3_dir/$artist/$album";
    mkdir $dirname unless (-e $dirname);

    chdir $dirname;
    $track =~ s/\.m4a/\.mp3/g;

    `lame -S -V 2 -b 192 -h /tmp/fifo.wav $track`;
    #`lame -V 2 -b 256 -h /tmp/fifo.wav $track`;

    # print a message if there has been an error
    print "lame error: $artist/$album/$track: $?\n" if $?;

    # set up the tag for the new mp3 file
    `id3v2 --song "$tag{'title'}" $track`;
    `id3v2 --artist "$tag{'artist'}" $track`;
    `id3v2 --album "$tag{'album'}" $track`;
    `id3v2 --year "$tag{'date'}" $track`;
    `id3v2 --TCOM "$tag{'writer'}" $track`;
    `id3v2 --genre "$tag{'genre'}" $track`;
    `id3v2 --track "$tag{'track'}/$tag{'totaltracks'}" $track`;
    `id3v2 --TPOS "$tag{'disc'}/$tag{'totaldiscs'}" $track`;
    `id3v2 --TPE2 "$tag{'album_artist'}" $track`;

    # set the mp3's modification and access times to the same as the m4a's
    utime $atime, $mtime, $filename or die "utime error: $!: $filename\n";

    `rm /tmp/fifo.wav`;
}

###############################################################################
# Get a track's tag information. The function assumes you are already in the
# directory that contains the track.
# arguments:
#   filename - the filename for the track; assumed to be fully escaped
###############################################################################
sub get_tag {
    my ($filename) = @_;
    my %tag = ();

    # We have to open a pipe to get the info because faad displays it on stderr
    open (PIPE, "faad -i $filename 2&gt;&amp;1 |");

    while (&lt;PIPE&gt;) {
        if (/^title: (.*)$/) {
            $tag{'title'} = $1;
        }
        elsif (/^artist: (.*)$/) {
            $tag{'artist'} = $1;
        }
        elsif (/^album: (.*)$/) {
            $tag{'album'} = $1;
        }
        elsif (/^genre: (.*)$/) {
            $tag{'genre'} = $1;
        }
        elsif (/^track: (.*)$/) {
            $tag{'track'} = $1;
        }
        elsif (/^totaltracks: (.*)$/) {
            $tag{'totaltracks'} = $1;
        }
        elsif (/^disc: (.*)$/) {
            $tag{'disc'} = $1;
        }
        elsif (/^totaldiscs: (.*)$/) {
            $tag{'totaldiscs'} = $1;
        }
        elsif (/^date: (.*)$/) {
            $tag{'date'} = $1;
        }
        elsif (/^album_artist: (.*)$/) {
            $tag{'album_artist'} = $1;
        }
        elsif (/^writer: (.*)$/) {
            $tag{'writer'} = $1;
        }
    }

    return %tag;
}</pre>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;"><p>#!/usr/bin/perl</p>
<p>###############################################################################<br />
#<br />
# aac2mp3.pl<br />
#<br />
# usage: aac2mp3.pl &lt;aac_dir&gt; &lt;mp3_dir&gt;<br />
#<br />
# This script will convert a directory full of AAC files (with .m4a extension)<br />
# into MP3 format. You will need to have faad (AAC decoder), lame (MP3<br />
# encoder), and id3v2 (ID3 tag editor) installed for this to work. The script<br />
# assumes the structure of the directory is of the form &#8220;Artist/Album/Track&#8221;,<br />
# as if you had let iTunes organize your music. The script will preserve the<br />
# following tag information: Title, Artist, Album, Year, Composer, Genre,<br />
# Track Number out of Total Number of Tracks, Disc Number out of Total Number<br />
# of Discs, and Album Artist.<br />
#<br />
###############################################################################</p>
<p>use strict;<br />
use File::stat;</p>
<p>my $aac_dir = $ARGV[0];<br />
my $mp3_dir = $ARGV[1];</p>
<p>mkdir $mp3_dir unless (-e $mp3_dir);</p>
<p># open the main music directory containing the AAC files<br />
opendir(my $musicdir, $aac_dir);<br />
my @artists = grep(!/^\./, readdir($musicdir));</p>
<p>foreach my $artist (@artists) {<br />
# open the artist&#8217;s directory<br />
opendir(my $artistdir, &#8220;$aac_dir/$artist&#8221;);<br />
my @albums = grep(!/^\./, readdir($artistdir));</p>
<p>foreach my $album (@albums) {<br />
# open the album&#8217;s directory<br />
opendir(my $albumdir, &#8220;$aac_dir/$artist/$album&#8221;);<br />
my @tracks = grep(/.*\.m4a/, readdir($albumdir));</p>
<p>foreach my $track (@tracks) {<br />
convert_track($artist, $album, $track);<br />
}</p>
<p>closedir($albumdir);<br />
}</p>
<p>closedir($artistdir);<br />
}</p>
<p>closedir($musicdir);</p>
<p>###############################################################################<br />
# Convert a track from AAC/MP4/M4A to MP3.<br />
# arguments:<br />
#   artist &#8211; the directory name containing the artist&#8217;s albums<br />
#   album &#8211; the subdirectory name containing the artist&#8217;s album&#8217;s tracks<br />
#   track &#8211; the filename for the track to be converted<br />
###############################################################################<br />
sub convert_track {<br />
my ($artist, $album, $track) = @_;<br />
my $filename;<br />
my $tag_options;<br />
my $dirname = &#8220;$aac_dir/$artist/$album&#8221;;<br />
chdir $dirname or die &#8220;Can&#8217;t cd to $dirname\n&#8221;;</p>
<p>$filename = $track;</p>
<p># First we check to see if the MP3 exists and is not older than the M4A</p>
<p># Get the track&#8217;s modification and access times<br />
my $aac_stat = stat($filename) or die &#8220;stat error: $!: $filename\n&#8221;;<br />
my $mtime = $aac_stat-&gt;mtime;<br />
my $atime = $aac_stat-&gt;atime; # We use this when setting the MP3&#8242;s times</p>
<p>$filename =~ s/\.m4a/\.mp3/g;<br />
my $mp3file = &#8220;$mp3_dir/$artist/$album/$filename&#8221;;</p>
<p># Check the mp3&#8242;s mod time, and skip if not older than the m4a<br />
if (-e $mp3file) {<br />
my $mp3_stat = stat($mp3file) or die &#8220;stat error: $!: $mp3file\n&#8221;;<br />
return if ($mtime &lt;= $mp3_stat-&gt;mtime);<br />
}</p>
<p># Here we convert the track if the MP3 does not exist or is older</p>
<p>print &#8220;Converting $dirname/$track\n&#8221;;</p>
<p>$track = quotemeta($track);</p>
<p>`faad -q -o /tmp/fifo.wav $track`;<br />
#`faad -o /tmp/fifo.wav $track`;</p>
<p># print a message if there has been an error<br />
print &#8220;faad error: $artist/$album/$track: $?\n&#8221; if $?;</p>
<p>my %tag = get_tag($track);</p>
<p># We have to set up the directories for the mp3 files<br />
$dirname = &#8220;$mp3_dir/$artist&#8221;;<br />
mkdir $dirname unless (-e $dirname);<br />
$dirname = &#8220;$mp3_dir/$artist/$album&#8221;;<br />
mkdir $dirname unless (-e $dirname);</p>
<p>chdir $dirname;<br />
$track =~ s/\.m4a/\.mp3/g;</p>
<p>`lame -S -V 2 -b 192 -h /tmp/fifo.wav $track`;<br />
#`lame -V 2 -b 256 -h /tmp/fifo.wav $track`;</p>
<p># print a message if there has been an error<br />
print &#8220;lame error: $artist/$album/$track: $?\n&#8221; if $?;</p>
<p># set up the tag for the new mp3 file<br />
`id3v2 &#8211;song &#8220;$tag{&#8216;title&#8217;}&#8221; $track`;<br />
`id3v2 &#8211;artist &#8220;$tag{&#8216;artist&#8217;}&#8221; $track`;<br />
`id3v2 &#8211;album &#8220;$tag{&#8216;album&#8217;}&#8221; $track`;<br />
`id3v2 &#8211;year &#8220;$tag{&#8216;date&#8217;}&#8221; $track`;<br />
`id3v2 &#8211;TCOM &#8220;$tag{&#8216;writer&#8217;}&#8221; $track`;<br />
`id3v2 &#8211;genre &#8220;$tag{&#8216;genre&#8217;}&#8221; $track`;<br />
`id3v2 &#8211;track &#8220;$tag{&#8216;track&#8217;}/$tag{&#8216;totaltracks&#8217;}&#8221; $track`;<br />
`id3v2 &#8211;TPOS &#8220;$tag{&#8216;disc&#8217;}/$tag{&#8216;totaldiscs&#8217;}&#8221; $track`;<br />
`id3v2 &#8211;TPE2 &#8220;$tag{&#8216;album_artist&#8217;}&#8221; $track`;</p>
<p># set the mp3&#8242;s modification and access times to the same as the m4a&#8217;s<br />
utime $atime, $mtime, $filename or die &#8220;utime error: $!: $filename\n&#8221;;</p>
<p>`rm /tmp/fifo.wav`;<br />
}</p>
<p>###############################################################################<br />
# Get a track&#8217;s tag information. The function assumes you are already in the<br />
# directory that contains the track.<br />
# arguments:<br />
#   filename &#8211; the filename for the track; assumed to be fully escaped<br />
###############################################################################<br />
sub get_tag {<br />
my ($filename) = @_;<br />
my %tag = ();</p>
<p># We have to open a pipe to get the info because faad displays it on stderr<br />
open (PIPE, &#8220;faad -i $filename 2&gt;&amp;1 |&#8221;);</p>
<p>while (&lt;PIPE&gt;) {<br />
if (/^title: (.*)$/) {<br />
$tag{&#8216;title&#8217;} = $1;<br />
}<br />
elsif (/^artist: (.*)$/) {<br />
$tag{&#8216;artist&#8217;} = $1;<br />
}<br />
elsif (/^album: (.*)$/) {<br />
$tag{&#8216;album&#8217;} = $1;<br />
}<br />
elsif (/^genre: (.*)$/) {<br />
$tag{&#8216;genre&#8217;} = $1;<br />
}<br />
elsif (/^track: (.*)$/) {<br />
$tag{&#8216;track&#8217;} = $1;<br />
}<br />
elsif (/^totaltracks: (.*)$/) {<br />
$tag{&#8216;totaltracks&#8217;} = $1;<br />
}<br />
elsif (/^disc: (.*)$/) {<br />
$tag{&#8216;disc&#8217;} = $1;<br />
}<br />
elsif (/^totaldiscs: (.*)$/) {<br />
$tag{&#8216;totaldiscs&#8217;} = $1;<br />
}<br />
elsif (/^date: (.*)$/) {<br />
$tag{&#8216;date&#8217;} = $1;<br />
}<br />
elsif (/^album_artist: (.*)$/) {<br />
$tag{&#8216;album_artist&#8217;} = $1;<br />
}<br />
elsif (/^writer: (.*)$/) {<br />
$tag{&#8216;writer&#8217;} = $1;<br />
}<br />
}</p>
<p>return %tag;<br />
}</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2010/06/28/look-mom-i-contributed-to-society/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dreams Really Do Come True</title>
		<link>http://www.sector930.com/blog/2010/04/11/dreams-really-do-come-true/</link>
		<comments>http://www.sector930.com/blog/2010/04/11/dreams-really-do-come-true/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 01:26:53 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[home server]]></category>
		<category><![CDATA[nerdomain]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[servers]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1537</guid>
		<description><![CDATA[My Dad walked into my nerd cave and saw it. His response: &#8220;Oh. My. God.&#8221; Not the &#8220;this is totally awesome&#8221; OMG, but the &#8220;what the hell is wrong with you?&#8221; OMG. What was it that I had done? Did &#8230; <a href="http://www.sector930.com/blog/2010/04/11/dreams-really-do-come-true/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My Dad walked into my nerd cave and saw it. His response: &#8220;Oh. My. God.&#8221; Not the &#8220;this is totally awesome&#8221; OMG, but the &#8220;what the hell is wrong with you?&#8221; OMG. What was it that I had done? Did I take a sledge hammer to my computers? Did I paint the room pink? Did I take a crap on the floor? No! I built a server rack:</p>
<div id="attachment_1601" class="wp-caption aligncenter" style="width: 296px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_40482.jpg"><img class="size-full wp-image-1601" title="2 Post Rack" src="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_40482.jpg" alt="2 Post Rack" width="286" height="381" /></a><p class="wp-caption-text">In living room, after assembly</p></div>
<p>Since I love being at work so much, I decided to make my house look like it. Who needs peace and quiet when you can have 2 80mm fans roaring away? It&#8217;s the way computing should be.</p>
<h3>Ordering</h3>
<p>For a long time, I&#8217;ve been running at least 2 FreeBSD servers in my house for various purposes. Purpose #1 is to screw around. As I&#8217;ve moved around from place to place, I&#8217;ve gotten annoyed with running crappy looking desktops and the mess of cables that go along with them. I wanted a clean, organized solution, and started reading up on <a href="http://en.wikipedia.org/wiki/19-inch_rack">server racks</a>. I started looking around and quickly realized that racks and rackable equipment is really expensive. Luckily I ran across the <a href="http://en.wikipedia.org/wiki/19-inch_rack">inexpensive, 27U, 2 post rack</a> on CableOrganizer.com. I wasn&#8217;t sure I was going to be able to pull it off until I realized that Newegg.com has a bunch of server cases that fit ATX and Micro ATX motherboards. I thought <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16811219029">this one</a> looked pretty good. After a few months daydreaming about the joy of rack ownership, I pulled the trigger.</p>
<h3>Assembling the Rack</h3>
<p>Once, the rack came in the mail, putting it together was pretty easy. I had ordered a 2U shelf along with the rack to store my network equipment on.</p>
<div id="attachment_1602" class="wp-caption aligncenter" style="width: 356px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4050.jpg"><img class="size-full wp-image-1602 " title="Rack with Shelf" src="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4050.jpg" alt="Rack with Shelf" width="346" height="259" /></a><p class="wp-caption-text">In position</p></div>
<p>Unfortunately, the top unit of space on the rack is being taken up by the cross bar holding the two posts together. If I really need it, I can probably remove the cross bar, relying on the equipment to hold the rack together.</p>
<p><strong>Assembling the Server and Mounting</strong></p>
<p>I had an old desktop lying around that was a good candidate for a new server. It started out as a pretty decent <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16856167009">barebones kit</a>, and was packing an Athlon 64 3200+ and 1GB of RAM. It already had an 80 GB hard drive, but I decided to use that for the OS and add a 1.5 TB drive for storing whatever I could think of. Rather than go into details of the assembly, I&#8217;ll show it in pictures, like a storybook for nerds:</p>
<div id="attachment_1603" class="wp-caption aligncenter" style="width: 356px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4052.jpg"><img class="size-full wp-image-1603   " title="Server Case" src="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4052.jpg" alt="Server Case" width="346" height="259" /></a><p class="wp-caption-text">There once was a 4U server case, sitting in Morpheus&#39;s chair...</p></div>
<div id="attachment_1604" class="wp-caption aligncenter" style="width: 356px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4055.jpg"><img class="size-full wp-image-1604 " title="Open Server Case" src="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4055.jpg" alt="Open Server Case" width="346" height="259" /></a><p class="wp-caption-text">This little server case needed a new brain, so he went to the workshop...</p></div>
<div id="attachment_1605" class="wp-caption aligncenter" style="width: 356px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4056.jpg"><img class="size-full wp-image-1605  " title="Server Case with Motherboard" src="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4056.jpg" alt="Server Case with Motherboard" width="346" height="259" /></a><p class="wp-caption-text">The powerful wizard gave the little server case a brain...</p></div>
<div id="attachment_1606" class="wp-caption aligncenter" style="width: 312px"><a href="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4057.jpg"><img class="size-full wp-image-1606   " title="Mounted Server Case" src="http://www.sector930.com/blog/wp-content/uploads/2010/04/100_4057.jpg" alt="Mounted Server Case" width="302" height="403" /></a><p class="wp-caption-text">After giving the case a brain, the wizard also gave the case a new home in rackland, along with two friends: Routy and Modulator Demodulator...</p></div>
<p>The story doesn&#8217;t mention that the wizard had to surgically remove the case&#8217;s handles in order to fit it on the rack. They are apparently intended more for when the case is installed using rails on a 4 post rack.</p>
<p>Sadly, a rack mountable UPS wasn&#8217;t in this wizard&#8217;s budget, so a standard desktop model had to do. Connected to it are the server, the cable modem and router, and a monitor that is connected to the server.</p>
<p><strong>OS and Additional Software</strong></p>
<p>For the server&#8217;s operating system, I used FreeBSD 8.0. I&#8217;m using <a href="http://www.apcupsd.com/">apcupsd</a> to manage the UPS. I intend to get <a href="http://samba.org/">samba</a> up and running to provide an easy way for my wife and me to store and share files. I would like to someday use <a href="http://heyu.tanj.com/">HEYU</a>, <a href="http://www.jabberwocky.com/software/xtend/">Xtend</a>, and <a href="http://misterhouse.sourceforge.net/">MisterHouse</a> to be the brain of an X10 enabled smart home. I also want to host virtual machines using <a href="http://www.virtualbox.org/">VirtualBox</a> and access them remotely from any computer, even away from the house.</p>
<p><strong>Future Plans</strong></p>
<p>In the near future, I plan on moving the rack into my nerd cave&#8217;s closet. For some reason, there are not one, but two electrical outlets in there. Perfect! Also, since I have 20U of space left, I eventually want to expand:</p>
<ul>
<li>Second server (4U)</li>
<li><a href="http://cableorganizer.com/quest/rackmount-drawer.html">Drawer</a> to store manuals, tools, and extra parts(2U)</li>
<li>UPS (1U)</li>
<li>Switch (1U)</li>
</ul>
<p>Even that leaves 12 more U of space. The possibilities are endless. Mmmm, rack mountable beer tap&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2010/04/11/dreams-really-do-come-true/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>They have television over the air now?, Part 3</title>
		<link>http://www.sector930.com/blog/2010/01/06/they-have-television-over-the-air-now-part-3/</link>
		<comments>http://www.sector930.com/blog/2010/01/06/they-have-television-over-the-air-now-part-3/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 20:58:24 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[house]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1268</guid>
		<description><![CDATA[In my two previous posts about antennas, I explained what I did to research and install an over-the-air TV antenna. Now that I&#8217;ve gotten everything installed, I&#8217;ll share with you my results. The Channels These are all the stations (including &#8230; <a href="http://www.sector930.com/blog/2010/01/06/they-have-television-over-the-air-now-part-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my two <a href="http://www.sector930.com/blog/2009/11/20/they-have-television-over-the-air-now/">previous</a> <a href="http://www.sector930.com/blog/2009/12/14/they-have-television-over-the-air-now-part-2/">posts</a> about antennas, I explained what I did to research and install an over-the-air TV antenna. Now that I&#8217;ve gotten everything installed, I&#8217;ll share with you my results.</p>
<h4>The Channels</h4>
<p>These are all the stations (including subchannels) that I pull in with my new installation.</p>
<ul>
<li>4.1 <a href="http://en.wikipedia.org/wiki/WRC-TV">WRC</a> (<a href="http://en.wikipedia.org/wiki/NBC">NBC</a>)
<ul>
<li>4.2 <a href="http://en.wikipedia.org/wiki/NBC_Plus">NBC Weather Plus</a></li>
<li>4.3 <a href="http://en.wikipedia.org/wiki/Universal_Sports">Universal Sports</a></li>
</ul>
</li>
<li>5.1 <a href="http://en.wikipedia.org/wiki/WTTG">WTTG</a> (<a href="http://en.wikipedia.org/wiki/Fox_Broadcasting_Company">FOX</a>)</li>
<li>7.1 <a href="http://en.wikipedia.org/wiki/WJLA-TV">WJLA</a> (<a href="http://en.wikipedia.org/wiki/American_Broadcasting_Company">ABC</a>)
<ul>
<li>7.2 <a href="http://en.wikipedia.org/wiki/The_Local_AccuWeather_Channel">Doug Hill&#8217;s WeatherNow</a></li>
<li>7.3 <a href="http://en.wikipedia.org/wiki/Retro_Television_Network">Retro Television Network</a></li>
</ul>
</li>
<li>9.1 <a href="http://en.wikipedia.org/wiki/WUSA_(TV)">WUSA</a> (<a href="http://en.wikipedia.org/wiki/CBS">CBS</a>)
<ul>
<li>9.2Weather Radar (Doppler 9000 HD)</li>
</ul>
</li>
<li>20.1 <a href="http://en.wikipedia.org/wiki/WDCA">WDCA</a> (<a href="http://en.wikipedia.org/wiki/MyNetworkTV">MyNetworkTV</a>)</li>
<li>26.1 <a href="http://en.wikipedia.org/wiki/WETA-TV">WETA</a> (<a href="http://en.wikipedia.org/wiki/Public_Broadcasting_Service">PBS</a>)
<ul>
<li>26.2 <a href="http://en.wikipedia.org/wiki/Create_(TV_channel)">Create</a></li>
<li>26.3 WETA Kids</li>
</ul>
</li>
<li>WNVC (<a href="http://en.wikipedia.org/wiki/MHz_Networks">MHz Networks</a>)
<ul>
<li>30.1 <a href="http://en.wikipedia.org/wiki/MHz_Worldview">MHz Worldview</a></li>
<li>30.2 <a href="http://en.wikipedia.org/wiki/NHK_World_TV">NHK World TV</a></li>
<li>30.3 Metro Chinese Network</li>
<li>30.4 <a href="http://en.wikipedia.org/wiki/Russia_Today_TV">Russia Today TV</a></li>
<li>30.5 <a href="http://en.wikipedia.org/wiki/Al_Jazeera_English">Al Jazeera English</a></li>
</ul>
</li>
<li>WNVT (<a href="http://en.wikipedia.org/wiki/MHz_Networks">MHz Networks</a>)
<ul>
<li>30.6 <a href="http://en.wikipedia.org/wiki/SABC_News_International">SABC News International</a></li>
<li>30.7 <a href="http://en.wikipedia.org/wiki/France_24">France 24</a></li>
<li>30.8 <a href="http://en.wikipedia.org/wiki/Nigerian_Television_Authority">Nigerian Television Authority</a></li>
<li>30.9 <a href="http://en.wikipedia.org/wiki/Vietnam_Television">VTV4</a></li>
<li>30.10 <a href="http://en.wikipedia.org/wiki/Euronews">Euronews</a></li>
</ul>
</li>
<li>32.1 <a href="http://en.wikipedia.org/wiki/WHUT-TV">WHUT</a> (<a href="http://en.wikipedia.org/wiki/Public_Broadcasting_Service">PBS</a>)</li>
<li>50.1 <a href="http://en.wikipedia.org/wiki/WDCW">WDCW</a> (<a href="http://en.wikipedia.org/wiki/The_CW_Television_Network">CW</a>)
<ul>
<li>50.2 <a href="http://en.wikipedia.org/wiki/This_TV">This TV</a></li>
</ul>
</li>
<li>66.1 <a href="http://en.wikipedia.org/wiki/WPXW-TV">WPXW</a> (<a href="http://en.wikipedia.org/wiki/Ion_Television">ION</a>)
<ul>
<li>66.2 <a href="http://en.wikipedia.org/wiki/Qubo">qubo</a></li>
<li>66.3<a href="http://en.wikipedia.org/wiki/Ion_Life">ION Life</a></li>
<li>66.4 <a href="http://en.wikipedia.org/wiki/Worship_Network">Worship</a></li>
</ul>
</li>
</ul>
<p>If you take all the major stations and add their subchannels, that&#8217;s 30 channels!  Granted, there are three 24 hour weather channels, two children&#8217;s channels, a bible channel, and ten foreign news channels, but the ratio of channels I watch to channels I don&#8217;t watch is about the same as it would be on cable TV.</p>
<h4>Quality and Reception</h4>
<p>All the of the major channels (NBC, FOX, ABC, CBS, MyTV, PBS, CW, ION) are in HD. There is a mix of 720p and 1080i, but it all looks the same on my 32-inch 720p TV, and I have to say it looks pretty amazing.</p>
<p>The MHz channels and all other subchannels are broadcast in 480p, which while not as good as HD, does not look terrible.</p>
<p>Since this is all digital, it&#8217;s pretty much all or nothing. There is no graceful signal degradation like there was with analog signals. That does present a problem with a few channels.</p>
<p>WDCW is the worst offender, since the tower is located about two miles farther away and two degrees off from all the others. Occasionally I can&#8217;t get a signal from that station at all.</p>
<p>The other two that have issues are WJLA and WUSA, and problems usually happen when there is a heavy overcast. These stations are the only ones that broadcast on VHF, so my guess is that my antenna is less effective at pulling in that band.</p>
<p><strong>Future Improvements</strong></p>
<p>The first thing I plan on trying is a pre-amplifier, which should eliminate the problems we&#8217;re having with the stations I mentioned. Also, we sometimes get little tears or warps in the picture, which I assume is the result of interference. Hopefully a pre-amp will also take care of this problem.</p>
<p>As an alternative, I could always go with a bigger antenna. The longer the boom, the farther away I should be able to pull in signals. While I am totally in favor of this idea, I think my wife would rather stick with something smaller.</p>
<h4>Conclusion</h4>
<p>So far, my broadcast TV experiment has been going great. We are able to watch most of our favorite shows as they air. (Interestingly enough, sometimes we prefer to just watch them on Hulu). I get to watch some of the sports I&#8217;d been missing out on. Most of what we miss gets filled in with Hulu and Netflix streaming.</p>
<p>Most important of all, Wheel of Fortune and Jeopardy! keep my wife busy long enough for me to get other things done.</p>
<p>My next project in the home theater department will probably be putting together a PC with XBMC or Boxee, mainly to be able to watch Hulu. Sounds like another blog post!</p>
<p>Signing off&#8230;</p>
<p><strong>Update:</strong> I almost forgot about this but I wanted to thank Joe for helping me install my antenna. He took an entire Sunday out of his time to help me out. Thanks Joe. You&#8217;re a true pal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2010/01/06/they-have-television-over-the-air-now-part-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>They have television over the air now?, Part 2</title>
		<link>http://www.sector930.com/blog/2009/12/14/they-have-television-over-the-air-now-part-2/</link>
		<comments>http://www.sector930.com/blog/2009/12/14/they-have-television-over-the-air-now-part-2/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 20:40:33 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[house]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1256</guid>
		<description><![CDATA[In my previous post, I discussed how to gather the necessary information for installing an over-the-air TV antenna. To sum up, you need to know where the broadcast towers are and what frequency they broadcast on. In my case, I &#8230; <a href="http://www.sector930.com/blog/2009/12/14/they-have-television-over-the-air-now-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://www.sector930.com/blog/2009/11/20/they-have-television-over-the-air-now/">previous post</a>, I discussed how to gather the necessary information for installing an over-the-air TV antenna. To sum up, you need to know where the broadcast towers are and what frequency they broadcast on. In my case, I needed a rooftop VHF/UHF combo antenna, and I needed to point it just east of due north.</p>
<p>In this post, I&#8217;ll talk about the equipment I bought and how I actually installed it.</p>
<p>I got pretty much everything from RadioShack. I have given RadioShack a lot of shit in the past for being a crappy consumer electronics store, but they were the only store around that had everything I needed, including the antenna and mounting hardware. Home Depot and Lowe&#8217;s had none of it.</p>
<h4>Equipment</h4>
<p>The antenna I decided on was the <a href="http://www.radioshack.com/product/index.jsp?productId=3740646#">Antennacraft HBU33</a>. I could have gone with any number of brands, but RadioShack had this one. It is a high-VHF (channels 7-13) and UHF (channels 14 and up) combo antenna, and it&#8217;s supposed to have a range of about 60 miles. These specs fit my situation, since I&#8217;m about 45 miles away from the towers, and, despite the fact that most channels are on UHF, there are still two on high-VHF.</p>
<p>Depending on your own situation, you might be able to get a UHF-only antenna. They are smaller and supposedly more effective than a combo antenna. Also, if you are close enough to the towers, an indoor antenna is the easiest solution.</p>
<p>I also bought a <a href="http://www.radioshack.com/product/index.jsp?productId=3740649">tripod mount</a> and <a href="http://www.radioshack.com/product/index.jsp?productId=3739598">5 foot mast</a>, also from RadioShack. There are several options available for mounting the antenna, such as an eave mount or a simpler mount, but a tripod mount was the easiest way to go for my situation.</p>
<p>The rest of the stuff I needed was some coaxial cable, grounding wire, and a <a href="http://www.radioshack.com/product/index.jsp?productId=2150597">grounding block</a>. Luckily, I already had two satellite dishes on my roof with connected coaxial, and the cables already had some grounding wire attached to it.</p>
<p>As I wrote about in my previous post, <a href="http://antennaweb.org/aw/welcome.aspx">AntennaWeb</a> told me I would need a pre-amplifier. I decided to go without the pre-amp for now, since the antenna&#8217;s supposed range was about 60 miles. (I&#8217;ll talk about this more in a future post, but I might install a pre-amp sometime soon.)</p>
<p>After gathering everything together, I was ready to go.</p>
<h4>Installation</h4>
<p>You can choose to do this later on, but I assembled my antenna first. Mine mostly involved snapping the elements into place.</p>
<p>For installing everything, I got Joe to help me out, since at the time he did that kind of thing for a living.</p>
<p>The first thing we did was bolt the legs of the tripod to the roof. The tripod came with all the necessary hardware. It also came with sticky putty pads to put on the bottom of the feet. These ensure that a good seal is made around the bolts so as to prevent your roof from leaking.</p>
<p>After securing the tripod, the next step was to place the mast into the tripod. The mast rests on an L-plate at the bottom of the tripod and is secured by bolts. (I would take pictures, but it&#8217;s December and I&#8217;m not getting on my roof.) After that we attached the antenna to the mast using the supplied U bolt.</p>
<p>Since these long range TV antennas are highly directional, it was important that we pointed the thing in the right direction. With the help of Joe&#8217;s iPhone and the signal strength meter he borrowed from work, we got it where it needed to be.</p>
<p>At this point, everything was in place, and the last thing to do was connect the antenna to my house&#8217;s coaxial network. I grabbed the coaxial off of the satellite dishes and connected it to the supplied 300-ohm to 75-ohm impedance matching transformer.</p>
<p>An important step we made sure not to overlook is to properly ground the connection. A grounding wire needs to be run from the base of the antenna mast to a grounding rod. Also, the coaxial coming from the antenna needs to be attached to a grounding block, which is then attached to the grounding rod using more grounding wire. We did all this, and it should prevent a lightning strike from taking out my TV.</p>
<p>Since I use a cable modem for my internet needs, there was already a feed coming into the coaxial network. For now, I just wanted one room to receive the antenna feed. After some trial and error, we found which cable to connect to.</p>
<p>Then we went inside, used <a href="http://www.lge.com/us/tv-audio-video/televisions/LG-lcd-tv-32LH20.jsp">my TV</a>&#8216;s built-in tuner to scan for available signals, and sat back and enjoyed HD over-the-air TV, FOR FREE.</p>
<p>Tune in next time, and I&#8217;ll wrap up with a discussion of the results, along with ideas for future improvements.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2009/12/14/they-have-television-over-the-air-now-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>100 posts!</title>
		<link>http://www.sector930.com/blog/2009/12/14/100-posts/</link>
		<comments>http://www.sector930.com/blog/2009/12/14/100-posts/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 19:13:02 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[anniversary]]></category>
		<category><![CDATA[celebration]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1254</guid>
		<description><![CDATA[Nobody noticed it, but the previous post, my first antenna post, was post #100. Much like our 1st birthday, this is a significant milestone for us. We toil day in and day out to provide all five of you with &#8230; <a href="http://www.sector930.com/blog/2009/12/14/100-posts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nobody noticed it, but the previous post, <a href="http://www.sector930.com/blog/2009/11/20/they-have-television-over-the-air-now/">my first antenna post</a>, was post #100. Much like our <a href="http://www.sector930.com/blog/2009/07/27/a-look-back-disaster-or-triumph/">1st birthday</a>, this is a significant milestone for us. We toil day in and day out to provide all five of you with about six little nuggets of useless crap per month.</p>
<p>Congratulations Sector 930!</p>
<p>Also, there is no longer an &#8220;older posts&#8221; link on the homepage. I don&#8217;t know what that&#8217;s about.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2009/12/14/100-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>They have television over the air now?</title>
		<link>http://www.sector930.com/blog/2009/11/20/they-have-television-over-the-air-now/</link>
		<comments>http://www.sector930.com/blog/2009/11/20/they-have-television-over-the-air-now/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 21:40:54 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[house]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1189</guid>
		<description><![CDATA[In this age of fiber optics, premium cable channels, and satellite TV, a lot of people have forgotten that there exist television stations that broadcast their content. You know, over the air. As in, they transmit electromagnetic waves through the &#8230; <a href="http://www.sector930.com/blog/2009/11/20/they-have-television-over-the-air-now/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In this age of fiber optics, premium cable channels, and satellite TV, a lot of people have forgotten that there exist television stations that broadcast their content. You know, over the air. As in, they transmit electromagnetic waves through the air from a big tower. No cables required.</p>
<p>There is one important reason to be interested in this new-fangled wireless transmission: it&#8217;s free. What&#8217;s that? It&#8217;s ad-supported? Millions and millions of cable subscribers willingly sit through advertisements and they PAY for the privilege. It&#8217;s time to wake up America. You are getting screwed. Seriously. And somehow all these people have been convinced that cable television is a UTILITY, that is, something they can&#8217;t live without.</p>
<p>So in my personal quest to improve my life (i.e., watch less TV) AND stick it to The Man, I have been cable-less for just shy of one year. It&#8217;s probably one of the best decisions I&#8217;ve ever made. I save over $60/month and I get more done around the house. I have since replaced television with Hulu and the Roku player.</p>
<p>As great as Hulu and Netflix are, though, a few things were still missing: the occasional sporting event, the local news (whatever that&#8217;s worth), and of course, Sesame Street. So a couple of weeks ago, I finally turned off the Roku (so much for getting things done!) and installed an over-the-air TV antenna.</p>
<h4>Gathering intel</h4>
<p>I had been sitting on this project ever since I dropped cable, so I&#8217;ve had a lot of time to think about it. A while back I did some Googling and stumbled across the site <a href="http://antennaweb.org/aw/welcome.aspx">AntennaWeb</a>. There, you can type in your address and get a list of broadcast stations are near you, what RF channel they&#8217;re on, how far away they are, and what direction they&#8217;re in. The site will also tell you what kind of antenna you will need to pick up each station. Since I live about 45 miles away from the DC area broadcast towers, indoor rabbit ears weren&#8217;t going to cut it. Plugging my address into the <a href="http://www.fcc.gov/mb/engineering/maps/">FCC&#8217;s DTV Reception Maps page</a> confirmed this.</p>
<p>Here are the results from AntennaWeb for my address:</p>
<p><img class="aligncenter size-full wp-image-1217" title="antennaweb" src="http://www.sector930.com/blog/wp-content/uploads/2009/11/antennaweb.PNG" alt="antennaweb" width="378" height="221" /></p>
<p>Because the <a href="http://en.wikipedia.org/wiki/DTV_transition_in_the_United_States">digital transition</a> finally went through on June 12, virtually all major broadcast stations require the use of an <a href="http://en.wikipedia.org/wiki/Atsc">ATSC</a> tuner to be able to view. Modern TVs have these, but the old tube TVs don&#8217;t. This is the reason a lot of old people need one of those converter boxes.</p>
<p>Notice that I didn&#8217;t say you need an HD or a digital antenna. THERE IS NO SUCH THING AS AN HD/DIGITAL ANTENNA. AN ANTENNA IS JUST A BIG PIECE OF ALUMINUM.</p>
<p>If you look at the chart, you&#8217;ll see the column &#8220;RF Channel&#8221;. This tells you which <a href="http://en.wikipedia.org/wiki/North_American_broadcast_television_frequencies">frequency</a> each of the station broadcasts on. Channels 2-6 are the VHF low-band, channels 7-13 are the VHF high-band, and channels 14 and up are the UHF band. Look at these when choosing an antenna. Many stations in the US have switched to UHF, which means you might be able to get an antenna specifically designed for that band. Unfortunately, I have to use a combo antenna just to accommodate two stations.</p>
<p>The other &#8220;Channel&#8221; column tells you the channel that the station will use on your TV. Thanks to <a href="http://en.wikipedia.org/wiki/PSIP">PSIP</a>, stations can be broadcast on one RF channel but displayed on your TV on another channel.</p>
<p>The next step was to figure out how big of an antenna I needed, which depended on the stations&#8217; power output and distance. According to AntennaWeb, I was going to need a large directional antenna with a pre-amplifier.</p>
<p>In a future post, I will cover the other phases of this project: selecting the equipment, installing everything, and admiring the results. As they say in the industry, tune in next time!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2009/11/20/they-have-television-over-the-air-now/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>I Want You&#8230; But All Your Money Will Do Instead</title>
		<link>http://www.sector930.com/blog/2009/10/15/i-want-you-but-all-your-money-will-do-instead/</link>
		<comments>http://www.sector930.com/blog/2009/10/15/i-want-you-but-all-your-money-will-do-instead/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 22:22:04 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=1161</guid>
		<description><![CDATA[The other night I was doing what I always do at home, which was sitting at a computer. You might think that the 8-9 hours at work that I spend sitting in front of a computer would be enough (it&#8217;s &#8230; <a href="http://www.sector930.com/blog/2009/10/15/i-want-you-but-all-your-money-will-do-instead/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The other night I was doing what I always do at home, which was sitting at a computer. You might think that the 8-9 hours at work that I spend sitting in front of a computer would be enough (it&#8217;s not). There is plenty of shit to do around the house, but none of that is as important as keeping my Google Reader unread items count below 10.</p>
<p>While sitting in front of this computer, my mind wandered. I suddenly had one of those &#8220;huh&#8221; moments that should have occurred to me sooner, but didn&#8217;t.</p>
<p>I have 2 brothers. Should one or both of them have children, I will be Uncle Sam. This is a total disaster.</p>
<p>I do not want to be Uncle Sam. Uncle Sam is the drunken uncle that goes into his nieces&#8217; and nephew&#8217;s rooms while they sleep and takes 50% of what is in their piggy banks. He uses that money to pay back the giant loans that he couldn&#8217;t afford. What was he doing with that money? Buying shiny toys for his house. Giving it away to people who don&#8217;t give anything back. Was he saving it or investing it in anything that would produce a return? Nope.</p>
<p>Uncle Sam reminds me of Huckleberry Finn&#8217;s dad, who was a drunk, suddenly became &#8220;born again&#8221; and promised to do good, then quickly reverted back to being a drunkard.</p>
<p>But I digress. Maybe the name Uncle Samuel won&#8217;t have such a connotation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2009/10/15/i-want-you-but-all-your-money-will-do-instead/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I don&#8217;t need any help, I&#8217;ll handle this one myself</title>
		<link>http://www.sector930.com/blog/2009/08/20/i-dont-need-any-help-ill-handle-this-one-myself/</link>
		<comments>http://www.sector930.com/blog/2009/08/20/i-dont-need-any-help-ill-handle-this-one-myself/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 02:40:49 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[930posts]]></category>
		<category><![CDATA[The more you know...]]></category>
		<category><![CDATA[Tips and Tutorials]]></category>
		<category><![CDATA[house]]></category>
		<category><![CDATA[nerdomain]]></category>
		<category><![CDATA[safety]]></category>

		<guid isPermaLink="false">http://www.sector930.com/blog/?p=920</guid>
		<description><![CDATA[Scenario: You move into a new house. You notice that the smoke alarms look kind of old. You&#8217;re not sure if they&#8217;ll actually work in a fire. One of them actually chirps for no reason every so often. You decide &#8230; <a href="http://www.sector930.com/blog/2009/08/20/i-dont-need-any-help-ill-handle-this-one-myself/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Scenario: You move into a new house. You notice that the smoke alarms look kind of old. You&#8217;re not sure if they&#8217;ll actually work in a fire. One of them actually chirps for no reason every so often. You decide to replace them, but you keep putting it off.</p>
<p>Then one night before you go to bed, your wife decides to throw her favorite pair of pants in the dryer so they&#8217;ll be ready for her in the morning. But during the night, that bird&#8217;s nest in your dryer vent, which you&#8217;ve been meaning to clean up, causes a lint clog. It catches fire while your sleeping, the alarms fail to go off, and you die a slow, horrible burning death.</p>
<p>In order to avoid this type of thing, I got to work and replaced my old smoke alarms.</p>
<h4>A Quick Interlude: How Alarms Work</h4>
<p>There are two types of smoke detectors: photoelectric and ionization.</p>
<p>Photoelectric detectors are set off when smoke particles pass in front of a light beam. They are better for detecting large smoke particles created by smoldering fires, e.g. your living room couch after you drop that lighter you&#8217;ve been playing with.</p>
<p>Ionization alarms are set off when alpha particles in the smoke pass through and disrupt an electrical current. These are better for detecting flaming fires, e.g. the deep fryer explodes in your kitchen.</p>
<p>A third type of alarm detects carbon monoxide levels. These are not technically smoke alarms, but they are still recommended in a home, since you could just be standing in the basement next to that old gas furnace, minding your own business, and suddenly fall over dead.</p>
<p>You can learn more about smoke alarms at the <a href="http://en.wikipedia.org/wiki/Smoke_detector#Installation_and_placement">Wikipedia page</a>.</p>
<h4>What I Bought</h4>
<p>After doing some homework, I chose the <a href="http://www.amazon.com/gp/product/B00032NDSG/ref=ox_ya_oh_product">Kidde KN-COSM-IB</a>. It is one of the higher rated smoke alarms on Consumer Reports. Some of the features:</p>
<ul>
<li>Combination CO/ionization detector</li>
<li>AC powered (no need to keep replacing a battery)</li>
<li>Battery backup (you don&#8217;t want to burn alive even when the power goes out)</li>
<li>Interconnectable (a wire connects each alarm, allowing one to set off the others, which means you won&#8217;t choke and die when you don&#8217;t hear the alarm going off downstairs)</li>
<li>Voice warnings (sexy)</li>
</ul>
<h4>Installation</h4>
<p>Installing the alarms was surprisingly easy. I made sure to turn off the circuit to the alarms, which I double checked with a multimeter (that&#8217;s right, I own a multimeter). Then it was a matter of matching up the red, black, and white wires.</p>
<p>After I turned the circuit back on, the system initialized with a self test and a sweet angelic voice called out, &#8220;Fire! Fire!&#8221;</p>
<p>You&#8217;re supposed to install an alarm in each bedroom, but my house is small enough. Besides, installing any more would involve real wiring, something I&#8217;m not qualified to do and too damn lazy to learn.</p>
<p>You&#8217;re also supposed to install both  photoelectric and ionization detectors, but the combination units are expensive, and I don&#8217;t value my family&#8217;s safety that much*.</p>
<p>My next project is to change the <a href="http://www.amazon.com/gp/product/B001C0G4O8/ref=ox_ya_oh_product">thermostat</a>, something even more potentially dangerous.</p>
<h5>*JKLOLLuvyahoney</h5>
]]></content:encoded>
			<wfw:commentRss>http://www.sector930.com/blog/2009/08/20/i-dont-need-any-help-ill-handle-this-one-myself/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
