<?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>CaptainCodeMonkey.com - All Your Booty Are Belong To Us! &#187; Uncategorized</title>
	<atom:link href="http://www.captaincodemonkey.com/blog/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.captaincodemonkey.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 01 May 2010 22:43:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Twitter; Not Your Average Storm App</title>
		<link>http://www.captaincodemonkey.com/blog/2010/05/01/twitter-not-your-average-storm-app/</link>
		<comments>http://www.captaincodemonkey.com/blog/2010/05/01/twitter-not-your-average-storm-app/#comments</comments>
		<pubDate>Sat, 01 May 2010 22:43:01 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Internet - General]]></category>
		<category><![CDATA[Technology - Cell Phones]]></category>
		<category><![CDATA[Technology - General]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=584</guid>
		<description><![CDATA[Last night was a first for me, and I presume a few others. Around 1:00pm, the National Weather Service began issuing Severe Weather Storm warnings throughout my old stomping grounds back in Northeast Arkansas and up into Missouri. Having witnessed many tornadoes growing up in Lake City, Pocahontas and Jonesboro Arkansas, I knew just how [...]]]></description>
			<content:encoded><![CDATA[<p>Last night was a first for me, and I presume a few others.</p>
<p>Around 1:00pm, the National Weather Service began issuing Severe Weather Storm warnings throughout my old stomping grounds back in Northeast Arkansas and up into Missouri.</p>
<p>Having witnessed many tornadoes growing up in Lake City, Pocahontas and Jonesboro Arkansas, I knew just how bad things could get, and fast.</p>
<p>One particular tweet caught my eye:</p>
<blockquote><p> geeksmakemehot: Sirens going off in Pocahontas</p></blockquote>
<p>I responded, asking for clarification. Back during WWII, Air-Raid sirens were installed by the federal government all over the nation, but many local principalities assumed their upkeep after the war and use them to warn the populace of particularly damaging storms. These days, we refer to them as &#8220;Tornado Sirens&#8221; or just &#8220;Sirens&#8221;; everyone knows what they mean: Duck!</p>
<p>It took @geeksmakemehot a bit to update her status, so while I was waiting, I popped over to the weather channel and made a quick search for &#8220;Pocahontas Arkansas&#8221;. Sure enough, a massive storm leading from as far south as Newport and as far north as the state line (and beyond) was slowly marching on my home grounds.</p>
<p>After tweeting as much data as I could, hoping to get updates from my friends back home, I noticed this tweet:</p>
<blockquote><p>merlincam This is what makes twitter special #arwx @cottonr @tsudo</p></blockquote>
<p>Ahh, a hastag! I popped over to twitter search, damning myself for having dumped TweetDeck, which would have automated the search for me, I typed in &#8220;arwx&#8221; and was surprised by the volume of tweets.</p>
<p>Most of the #ARWX tweets up to that point were personal updates:</p>
<blockquote><p>chrislmarsh Good news! #ARwx Trees down on roof in East End area. My in-laws have no power right now. But everyone is OK. Thankfully!! /via @ghidotti</p></blockquote>
<p>And from there, things actually went professional as the local weathermen got into the mix and began updating weather alerts and advisories. With power out over much of the area, some of the folks only had twitter to turn to for sources of information:</p>
<blockquote><p>nick_b_jones Just lost cable on Bryant. Now totally dependent on #arwx on Twitter for weather updates.</p></blockquote>
<p>I called my Mom back home and asked about her, she told me that it was raining, but only a commercial was on TV, so she wasn&#8217;t worried. I told her what I had learned so far and she interrupted me as a Severe Weather Alert began scrolling across the screen. Twitter had actually beaten her local weather team to the punch, for a change!</p>
<p>With lightning and thunder rocking the house, Mom wasn&#8217;t able to stay on the phone, but she promised to stay in touch as much as possible and hung up.</p>
<p>More twitter updates began to filter in, with a few people asking for more information. I quickly jotted back to the Weather Channel&#8217;s page on the storm and began tweeting what I learned, but the quality of my tweets was nothing compared to the concerned weather man @wxmandan, a meterologist out of Little Rock, Arkansas.</p>
<p>@wxmandan, whose real name is Dan Koch, stayed up with us until the wee hours of the morning, keeping us informed and relaying helpful bits of advice. If he said to take cover, you can bet these folks back home were rushing off to their safe places.</p>
<p>As the storm left the immediate area, Mom got in touch with me (via twitter of course) to let me know everyone there was safe. She also mentioned there was a rumor going around that someone in Pocahontas had been struck by lightning.</p>
<p>I asked the folks on the #ARWX feed about it and got this in reply:</p>
<blockquote><p>StanMorris @ShanePLee Just sent a text to Randolph Sheriff Tribble asking him. Will report/tweet if that is the case.</p></blockquote>
<p>A few minutes later:</p>
<blockquote><p>StanMorris Randolph County Sheriff Tribble says no one struck by lightening in Pocahontas&#8230;a barn was struck that did catch fire. #arwx @ShanePLee</p></blockquote>
<p>Not long after, things began settling down and I headed off to bed. With my phone. Keeping up with #ARWX, of course.</p>
<p>At this point, the majority of the incoming tweets were folks saying thanks to everyone for keeping them informed.</p>
<p>Now, in case you think this was all trivial stuff, I would like to point out that, during this time, 3 people were killed and 23 injured by tornadoes in the area. My heart goes out to the families of those who were taken and injured.</p>
<p>My only consolation is that perhaps it could have been worse, except for a wonderful group of people getting together in a social media platform and keeping each other updated on the latest storm data.</p>
<p>I would love to write more about the whole experience, but we are getting new messages in right now, calling for a new batch of storms over the same area. So pop by and experience this amazing expression of human kindness over at the #ARWX feed on twitter!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2010/05/01/twitter-not-your-average-storm-app/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Old Lady With Bag On Her Head</title>
		<link>http://www.captaincodemonkey.com/blog/2010/02/21/old-lady-with-bag-on-her-head/</link>
		<comments>http://www.captaincodemonkey.com/blog/2010/02/21/old-lady-with-bag-on-her-head/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 01:03:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=434</guid>
		<description><![CDATA[Old lady with bag on her head&#8230;. The crux of the whole thing is that she has an umbrella in her hand.. so why the bag old lady? Why??!!]]></description>
			<content:encoded><![CDATA[<p>Old lady with bag on her head&#8230;. </p>
<p>The crux of the whole thing is that she has an umbrella in her hand.. so why the bag old lady? Why??!! <a href="http://www.captaincodemonkey.com/blog/wp-content/uploads/2010/02/photo.jpg"><img src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2010/02/photo-300x225.jpg" alt="" title="Old Lady With Bag On Her Head" width="300" height="225" class="alignleft size-medium wp-image-433" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2010/02/21/old-lady-with-bag-on-her-head/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP Code Get Most Recent WordPress Post</title>
		<link>http://www.captaincodemonkey.com/blog/2010/01/24/php-code-get-most-recent-wordpress-post/</link>
		<comments>http://www.captaincodemonkey.com/blog/2010/01/24/php-code-get-most-recent-wordpress-post/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 03:25:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[Programming - General]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=420</guid>
		<description><![CDATA[PHP Code Get Most Recent WordPress Post﻿ This is a quick example using only vanilla PHP.  There are more dynamic ways to do this using RSS classes built into PHP addons, which I won&#8217;t go into detail here.  Instead, we will just use vanilla PHP, and parse the XML by hand. On to the code, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>PHP Code Get Most Recent WordPress Post﻿</strong></p>
<p>This is a quick example using only vanilla PHP.  There are more dynamic ways to do this using RSS classes built into PHP addons, which I won&#8217;t go into detail here.  Instead, we will just use vanilla PHP, and parse the XML by hand.</p>
<p>On to the code, I take 3 arguments here, number of posts to return, the RSS URL, and an optional max number of characters to return.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p420code3'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4203"><td class="code" id="p420code3"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//get most recent rss</span>
<span style="color: #666666; font-style: italic;">//get most recent rss</span>
<span style="color: #000000; font-weight: bold;">function</span> recent_rss<span style="color: #009900;">&#40;</span><span style="color: #000088;">$display</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #000088;">$url</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$description_limit</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$itemArr</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$doc</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DOMDocument<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$doc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$doc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'item'</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$node</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$display</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000088;">$description</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$node</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'description'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">nodeValue</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//if limit passed in, truncate string</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$description_limit</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$description</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$description</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$description_limit</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;...&quot;</span><span style="color: #339933;">;</span> 	
	<span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000088;">$itemRSS</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a> <span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'title'</span>       <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$node</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">nodeValue</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$description</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'link'</span>        <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$node</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'link'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">nodeValue</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'pubdate'</span>     <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$node</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pubDate'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">nodeValue</span>
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
         <a href="http://www.php.net/array_push"><span style="color: #990000;">array_push</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$itemArr</span><span style="color: #339933;">,</span> <span style="color: #000088;">$itemRSS</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$display</span><span style="color: #339933;">--;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$itemArr</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//example use</span>
<span style="color: #000088;">$recent_post</span> <span style="color: #339933;">=</span> recent_rss<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://houseplansblog.nelsondesigngroup.com/index.php/feed/'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/var_dump"><span style="color: #990000;">var_dump</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$recent_post</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Now, Here is a quick and dirty XHTML example showing how you might implement this on a page. (Note the use of the preg_replace to get rid of weird characters that get into the RSS sometimes)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p420code4'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4204"><td class="code" id="p420code4"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;rss_container&quot;</span> style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;width:250px;&quot;</span><span style="color: #339933;">&gt;</span>
&nbsp;
	<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;rss_title&quot;</span><span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">'&lt;?php echo $recent_post[0][&quot;link&quot;]; ?&gt;'</span><span style="color: #339933;">&gt;</span>
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span>  <a href="http://www.php.net/preg_replace"><span style="color: #990000;">preg_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/[^(\x20-\x7F)]*/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$recent_post</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;title&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
		<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
&nbsp;
	<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;rss_pub_date&quot;</span><span style="color: #339933;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$recent_post</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;pubdate&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
&nbsp;
	<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;rss_description&quot;</span><span style="color: #339933;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$recent_post</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;description&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2010/01/24/php-code-get-most-recent-wordpress-post/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Letter to Windows 7</title>
		<link>http://www.captaincodemonkey.com/blog/2009/12/17/a-letter-to-windows-7/</link>
		<comments>http://www.captaincodemonkey.com/blog/2009/12/17/a-letter-to-windows-7/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 17:37:10 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=407</guid>
		<description><![CDATA[Dear Windows 7, First, I want to thank you for confirming my hatred for all things that slink out of Redmond, Washington, you have my gratitude. For a few hours there, I really thought I was going to bury the hatched with Microsoft, but then you showed me the truth and for that, I owe [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/12/windows-7-logo-150x150.jpg" alt="windows-7-logo" title="windows-7-logo" width="150" height="150" class="aligncenter size-thumbnail wp-image-413" /></p>
<p>Dear Windows 7,</p>
<p>First, I want to thank you for confirming my hatred for all things that slink out of Redmond, Washington, you have my gratitude. For a few hours there, I really thought I was going to bury the hatched with Microsoft, but then you showed me the truth and for that, I owe you one.<br />
<span id="more-407"></span></p>
<p>After you finally installed (and what took so long, were you on the phone with your Grandmother? Sheesh!) I thought I was looking at Vista RC2 with a snappy task bar.</p>
<p>The new taskbar was pretty neat, keeping all the instances together under one icon and letting me &#8220;pin&#8221; it there as a shortcut for the future. But then I realized something horrible; I have no control over this taskbar! My two-year old daughter is easier to control than this taskbar!</p>
<p>Unlike the taskbars in KDE, I can&#8217;t re-size you the way I want, I can&#8217;t center you, I can&#8217;t even figure out how to make you semi-transparent! I would forgive you that, if you could do the snappy things that the Mac&#8217;s taskbar does, but you don&#8217;t even seem to be giving it any effort at all!</p>
<p><img src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/12/windows-7-desktop-300x188.jpg" alt="Windows 7" title="windows-7-desktop" width="300" height="188" class="size-medium wp-image-414" /></p>
<p>I&#8217;m not impressed with your Start menu either. Was Vista&#8217;s menu so awesome that you decided to copy it? Sorry, but it&#8217;s not that awesome.</p>
<p>Your &#8220;Search programs and files&#8221; feature looks like a nice way to cut through the clutter of the &#8220;All Programs&#8221; menu, but it&#8217;s not. I deleted the &#8220;Internet Explorer&#8221; icon (cause I really don&#8217;t like viruses, sorry!) and had to find the stupid program manually in the Programs folder in order to use your website to download an update manually. That&#8217;s not helpful at all.</p>
<p>Let&#8217;s talk for a second about the Control Panel. Was it necessary to remove a link to the Control Panel from the Desktop right-click menu? And speaking of the right-click menu, just how is it all that different from Vista?</p>
<p> Now, I know you aren&#8217;t in charge of the whole &#8220;Gadgets&#8221; feature, but who else am I to hold responsible here? You took a wonderful idea (from Mac again!) and cut the legs out from under it.</p>
<p>I mean, I love being able to find third-party gadgets online for free and all, but why couldn&#8217;t you integrate your gadgets with Google&#8217;s gadgets like everyone else? Is that a &#8220;upgrade&#8221; you have planned for later? If so, you should find something else to fix, &#8217;cause I can get Google&#8217;s stuff on my own, thank you very much.</p>
<p>Finally, I am very happy that, unlike your sister Vista, you don&#8217;t ask me a thousand times if the latest app I installed can have access to my computer, my hard drive, my internet connection and my saved passwords file (I only have one password: &#8220;God&#8221;, without the quotes of course).</p>
<p>Instead, you do have one of the most asinine habits I&#8217;ve ever encountered: I installed Hulu Desktop today. It installed fairly quickly with no warnings, but when it started to run, you stopped it and told me that it may not have installed correctly.</p>
<p>You then offered to reinstall it the right way, if I wanted. I did want, and the installation went just as smoothly as before and this time the program ran.</p>
<p>My question to you is this: Why the hell didn&#8217;t you install it correctly the first time instead of making me do it twice?!?</p>
<p>I swear, dealing with you is like trying to keep a brain-damaged monkey from humping a telephone pole; it&#8217;s frustrating and doesn&#8217;t seem to accomplish anything.</p>
<p>In the end, I wish you all the luck, but for now I think I&#8217;ll take my laptop and go see what KDE4 is up to. Bye!</p>
<p>Sincerely Yours,<br />
A Friend (NOT!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2009/12/17/a-letter-to-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ryan Seacrest is Hot!</title>
		<link>http://www.captaincodemonkey.com/blog/2009/12/09/ryan-seacrest-is-hot/</link>
		<comments>http://www.captaincodemonkey.com/blog/2009/12/09/ryan-seacrest-is-hot/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 21:59:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/2009/12/09/ryan-seacrest-is-hot/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/12/image_3l.png" alt="image_3l" title="image_3l" width="581" height="494" class="aligncenter size-full wp-image-405" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2009/12/09/ryan-seacrest-is-hot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Call Of Duty: Modern Warfare 2; Is It Enough?</title>
		<link>http://www.captaincodemonkey.com/blog/2009/11/29/call-of-duty-modern-warfare-2-is-it-enough/</link>
		<comments>http://www.captaincodemonkey.com/blog/2009/11/29/call-of-duty-modern-warfare-2-is-it-enough/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 17:38:24 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Technology - General]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=376</guid>
		<description><![CDATA[Activision&#8217;s Call of Duty Modern Warfare 2 has done about $550 million in sales in its first five days on the market. Video games, when newly released, generally have inflated sales figures do to the practice of &#8220;reserving&#8221; a new game by purchasing it in advance, however that is still a high number of copies [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-380" style="float:left; padding-right:5px;" title="modern-warfare-2 (1)" src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/11/modern-warfare-2-1-300x200.jpg" alt="modern-warfare-2 (1)" width="300" height="200" />Activision&#8217;s Call of Duty Modern Warfare 2 has done about $550 million in sales in its first five days on the market. Video games, when newly released, generally have inflated sales figures do to the practice of &#8220;reserving&#8221; a new game by purchasing it in advance, however that is still a high number of copies sold in today&#8217;s market.</p>
<p>But is it enough? The economy, despite official projections, is still suffering. The entertainment industry, which includes the sub-genre of Video Games, is suffering right along with it. Historically, this has not always been true during times of financial turmoil.<br />
<span id="more-376"></span><br />
My Dad grew up during the Great Depression era, and I have heard many stories about his everyday life during those times. He was quick to point out that people flocked to the movies in those days, that being the chief form of entertainment. For roughly the price of a soda and a candy bar (twenty-five cents), you could attend a matinée that often featured several movies in a row.</p>
<p>At the start of the Great Depression, Hollywood nearly collapsed before they retooled and came back stronger than ever. Focusing on musicals, the industry regained its footing, soon becoming the one bright spot in many dreary lives.</p>
<p>Today, the entertainment industry is once again feeling the sting of an economic downturn: Console sales are down thirteen percent, gaming giant Electronic Arts is once again laying off workers after losing another $391 million vs last year and Nintendo has reported a 52% drop in profits for the beginning of 2009.</p>
<p>In the face of all of this bad news, are the unexpected Halo: ODST&#8217;s 1.5 million units and COD: MW2&#8242;s strong, out-of-the-gate performance enough to put a shine on the tarnished $19.5 billion dollar industry woes?</p>
<p>In my opinion, no. As the console dies down, social gaming is increasing. Facebook and MySpace are both enjoying a large increase in gaming from their prospective sites: Zynga&#8217;s family-friendly &#8220;Farmville&#8221; has an estimated 67 million users. Not too shabby for a free-to-play browser-based game, eh?</p>
<p>Escapism is the word often used to describe the influx of movie goers in the traumatic 1930&#8242;s as people sought to forget their daily woes by watching cheap, feel-good musicals at their local theater. Perhaps the same word could be applied to the growing social-gaming scene today.</p>
<p>Looking for a financial tip? Now would be a great time to buy into advertising-supported free-to-play social gaming companies. Trust me, they&#8217;re the next big thing&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2009/11/29/call-of-duty-modern-warfare-2-is-it-enough/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s Chrome OS (Chromium) Headed For Failure?</title>
		<link>http://www.captaincodemonkey.com/blog/2009/11/22/googles-chrome-os-chromium-headed-for-failure/</link>
		<comments>http://www.captaincodemonkey.com/blog/2009/11/22/googles-chrome-os-chromium-headed-for-failure/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 04:04:25 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers - General]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=355</guid>
		<description><![CDATA[They say that necessity is the mother of invention. If this is true, then Google OS is headed for failure. For those of you who have never heard of Google OS, you can watch this video: or I can tell you about it instead. Think for a moment about bumper cars. Just about anyone can [...]]]></description>
			<content:encoded><![CDATA[<p>They say that necessity is the mother of invention. If this is true, then Google OS is headed for failure.</p>
<p>For those of you who have never heard of Google OS, you can watch this video:<br />
<center><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/0QRO3gKj3qw&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/0QRO3gKj3qw&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></center><br />
or I can tell you about it instead.<span id="more-355"></span></p>
<p>Think for a moment about bumper cars. Just about anyone can drive a bumper car. They are limited in speed, but you can have a ton of fun playing with them. The only downside to bumper cars is that they have to be inside the special electrified cage in order to work. Take them out, and they simply won&#8217;t work. That&#8217;s what an operating system is: It&#8217;s a cage that allows all of your programs to work. In the past, taking programs outside an operating system made about as much sense as taking bumper cars out of the cage.</p>
<p><img class="alignleft size-medium wp-image-361" title="chrome-sucks" src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/11/chrome-sucks-225x300.jpg" alt="chrome-sucks" width="225" height="300" style="float:left; padding-right:5px;" />Today, we are being slowly introduced to so-called &#8220;Cloud Computing&#8221; which allows programs to be taken out of the computer as we know it and ran in the &#8220;cloud&#8221; over the Internet. Every day you access programs that run in the cloud without even thinking about it. If you use gmail or yahoo mail, you have accessed a program that runs in the cloud. Anyone who has ever used a Google doc or played a browser-based game has used cloud computing without even knowing it. This isn&#8217;t new technology, but the scope thus far has been limited.</p>
<p>Google wants to fix that. They plan to release an operating system based on Linux and designed to run on netbook computers. Netbooks, as you may know, are similar to laptops at first glance, but have very limited systems. They typically run on flash memory and with very low graphic capabilities compared to today&#8217;s newer computers. Google plans to provide Netbook manufacturers with copies of Google Chrome OS to put on these Netbooks and then the users will connect to the Internet to access their data, including all programs they wish to run.</p>
<p>There are several reasons all of this is a bad idea for Google:</p>
<p>(1) &#8220;If it ain&#8217;t broke, don&#8217;t fix it!&#8221; When a new product is released, it usually fills a market bracket called a &#8220;need&#8221;. When cotton pickers of old could not keep up with the demands of the day, someone invented to combine tractor and fulfilled the need for faster harvesting. Google has thus far been unable to actually find a need for yet another operating system, despite their own ideas of creating one for the Netbook group.</p>
<p>(2) &#8220;Momma said knock you out!&#8221; Google is by far the biggest name in Internet search and advertising. They set the bar when it comes to how any given website is located and ranked anywhere in the world. The problem is, that&#8217;s pretty much all they are really good at and when Microsoft came along and tried to pull and inside run on them with their own search engine, Google got mad. Then they tried to get even. So far, pretty much everything they have tried has failed. Google Maps and Google Earth is the best thing since sliced bread, in my book. Gmail is my primary email access, however it has had some serious ups and downs in the past. Then Google goes after Microsoft with the gloves off. Google Docs is awesome, but with Google&#8217;s issues over privacy and the major corporations&#8217; concern over security, it will never compete seriously with Microsoft Office. By the way, OpenOffice is actually starting to kick Microsoft&#8217;s ass in a way that Google Docs never has. Then they introduced Knol, which is pretty much a flop. They also tried their hand against Second Life with Lively, which is now kaput. Should we even discuss Orkut? My point being: You shouldn&#8217;t toss your cash out the window in the hopes of distracting the other drivers in a race. It rarely works and the money could have gone to making what does work, work better.</p>
<p>(3) &#8220;Don&#8217;t be evil&#8221; Yes, that&#8217;s actually part of Google&#8217;s own credo. I am very proud of Google&#8217;s Open Source initiative. With their backing, the Open Source community has grown by leaps and bounds. As a result, Google has proven that you can give away your source code and still make money. Companies like SuSE(Novell) and RedHat make millions of dollars a year from Open Source software. Chromium OS is now available as an <a href="http://googleblog.blogspot.com/2009/11/releasing-chromium-os-open-source.html">Open Source download</a> right now, however the operating system itself will not be available to download. Unlike Open Source versions of Linux, Chromium OS will only provided to machine manufacturers for distribution only to people who buy the Netbooks. So if you have a Netbook right now and you are biting your nails in anticipation, I hate to disappoint you, but it&#8217;ll nevah happen. To me, that&#8217;s evil. You release your code to the wild, hoping to get feedback and free bug fixes by the programming community, but the only way you are going to release the results is when people pay you for it?</p>
<p><img class="alignleft size-small wp-image-345" style="float:left; padding-right:5px;" title="chromium" src="http://media.80stees.com/images/products/Superman_Chrome-BeltBuckle.jpg" alt="Chromium OS" />So go ahead and write this down for me, kay? If Google doesn&#8217;t change their mind about a few of the plans they have for Chromium, it will be appearing on shelves at your local Wal-Mart in about a year. Two years after that, after you&#8217;ve thrown out your &#8220;Chromium OS Rocks!&#8221; T-shirts and torn off your &#8220;I heart Chromium&#8221; bumper stickers, you can slap yourself in the head for that very large carbon footprint you just stomped into the local dump when you tossed the POS Netbook that booted in 7 seconds and pretty much nothing else worthwhile, and say to yourself, &#8220;I should have listened to Shane and just spent my money on that stripper instead!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2009/11/22/googles-chrome-os-chromium-headed-for-failure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>100% Protection From Hackers</title>
		<link>http://www.captaincodemonkey.com/blog/2009/11/21/100-protection-from-hackers/</link>
		<comments>http://www.captaincodemonkey.com/blog/2009/11/21/100-protection-from-hackers/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 19:45:34 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers - General]]></category>
		<category><![CDATA[Programming - General]]></category>
		<category><![CDATA[Technology - General]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=342</guid>
		<description><![CDATA[By now, every large firm and corporation has read the Washington Post article concerning the emails stolen from the top Global Warming scientists. While there is an ongoing debate over the contents of the stolen data, for most of you out there the actual concern is how to protect yourself and your colleagues from the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-345" style="float:left; padding-right:5px;" title="kevin-mitnick2" src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/11/kevin-mitnick2-200x300.jpg" alt="kevin-mitnick2" width="200" height="300" />By now, every large firm and corporation has read the <a href="http://www.washingtonpost.com/wp-dyn/content/article/2009/11/20/AR2009112004093.html?hpid=sec-nation">Washington Post article</a> concerning the emails stolen from the top Global Warming scientists. While there is an ongoing debate over the contents of the stolen data, for most of you out there the actual concern is how to protect yourself and your colleagues from the same sort of data leak.</p>
<p>Before I move on the the heart of the matter, I want to clarify a few things. First and foremost, I am a bit old school in that I believe a &#8220;hacker&#8221; is someone who hacks programs in order to make them better.</p>
<p>This hearkens back to the old days where programs were designed on paper and then punched out on cards before being physically placed into the computer for processing. In those days, virtual memory was a scarcity that would be laughable by today&#8217;s standards and as such, programmers would often &#8220;hack away&#8221; at their programs and the programs of others in order to reduce the amount of code it took for them to run.<span id="more-342"></span></p>
<p>One example of this might be the MIT efforts to hack <a href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Conway&#8217;s Game Of Life</a> in order to make the program small enough to run in the limited time available to the students. In this sense, the Hacker is a person who is interested in the underlying world of computers, the part that is hidden from the eyes of the End User and controls the outcome of various scenarios.</p>
<p>It is the curiosity and desire for control of this underlying, hidden world that causes honest men and women to &#8220;hack&#8221; the systems available to them. Second, and nearly as important, is the definition that has taken over the old school meaning of &#8220;hacker&#8221;, one that Richard Stallman and his fellow classmates would have called a &#8220;thief&#8221;, not a &#8220;hacker&#8221;.</p>
<p>These people are less interested in pursuing the goal of learning for learning&#8217;s sake than they are in learning for the sake of self-empowerment. As the old saying goes, &#8220;Just because you CAN do something doesn&#8217;t mean that you SHOULD.&#8221; If I might call back to the old MIT days; this is similar to Mr. Stallman&#8217;s work to undermine the early days of computer security, when the powers that be began locking away key components of the computer systems behind actual doors.</p>
<p><img class="alignleft size-medium wp-image-348" style="float:left; padding-right:5px;" title="Apollo-0" src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/11/Apollo-0-300x225.jpg" alt="Apollo-0" width="300" height="225" />Back then, the students of MIT worked hard to get through those doors to the components, even to the point of making copies of the keys and in one instance, they actually entered one locked room by removing ceiling tiles in an adjacent bathroom and climbing over the wall. As justified as the students thought they were in their actions, today they would be called &#8220;hackers&#8221; and carted off to jail to await trial.</p>
<p>As the Secret Service can attest, you can not prevent someone from committing an illegal act if they are determined enough to do so. Someone who is willing to throw their life away in an attempt to get what they want can rarely be stopped, and if the individual is part of a larger group of similarly determined individuals, the chances get exponentially harder as the numbers increase.</p>
<p>Let&#8217;s for a moment look at passwords. If I wanted, I could quickly gain access to anyone&#8217;s password-protected system anywhere in the world as long as that system is connected to (1) the Internet or (2) a phone line. I&#8217;m not talking about the old &#8220;brute force&#8221; hacks where you have a program running away in the background using sophisticated algorithms to randomly try series of characters and words until the &#8220;aha!&#8221; moment hits. These attacks are very old and easy enough to foil by locking out a user&#8217;s account if multiple failed password attempts are created. Instead, I would socially engineer my way in.</p>
<p>Here&#8217;s a scenario for you: Let&#8217;s say that I wanted to gain access to a computer system from a fictional company called &#8220;Allied Divestments&#8221; that is connected to the Internet and allows users to log in from home. Most user accounts only allow limited access, for instance some systems may only allow company email to be accessed if your IP or MAC address does not come from inside the company.</p>
<p>Even though IP and MAC are easily hackable, I don&#8217;t worry about that right now since the account I am really after has root permissions. Since the company I am looking at would be a publicly traded corporation, the names of the key personnel would be a matter of public record and thus I would know that &#8220;Steve Ally&#8221; is the chief security officer.</p>
<p><img class="alignleft size-medium wp-image-349" style="float:left; padding-right:5px;" title="sarah_palin" src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/11/sarah_palin-300x215.jpg" alt="sarah_palin" width="300" height="215" />A bit of digging around on MySpace, Facebook and Twitter could easily net me (1) Steve&#8217;s favorite user name or (2) the names of the people closest to him in the company. From there, I would look for and find the public email addresses of the highest possible security member on Steve&#8217;s staff. I really don&#8217;t want Steve&#8217;s information so much as that of someone right below him.</p>
<p>See, Steve may be head of security, but he may not even know how the system works, since most bosses don&#8217;t. Now, once I have the name of the underling in question, I buy a new pre-paid cell from a retailer, preferably a large store a few towns away. A bit of advance planning might have seen me purchase the phone and activated it months before. By securing the phone away from my residence, I am able to cover my tracks since I know that the FBI or police could trace my movements by looking at what towers the cell&#8217;s signal was bouncing off of.</p>
<p>Since the phone is pre-paid, I don&#8217;t even have to use a credit card or show any form of ID, thus the phone can not be traced back to me personally. Using this &#8220;black&#8221; phone, I can now locate an office where &#8220;Allied Divestments&#8221; houses accountants and make my call, impersonating the underling I had located earlier. I simply ask to speak to the branch manager, telling the switch operator my &#8220;name&#8221;, the full name that is of the underling, and tell them that it is an urgent matter of security.</p>
<p>Once on the phone with the manager, I tell him or her that a hacker is on the system and we are attempting to track them down. I give them my cell phone number, explaining that the hacker is causing disruptions all over and we believe them to be a minor employee, thus we do not want to use the internal lines for this. Speaking quickly and with confidence, I could have the branch manager reboot their computer into &#8220;safe mode&#8221; and read me the data from the command &#8220;ipconfig&#8221; from the command line in Windows.</p>
<p>This, I would explain, will tell me if the manager&#8217;s own computer were &#8220;infected&#8221; since only his IP address should be showing up. Within no time at all, this branch manager would give me his or her username and password and any other information I wanted. If &#8220;Allied Divestments&#8221; had stringent security measures in place, I might have to use an accomplice or two to help solidify the whole mess by asking the manager to call &#8220;Security Headquarters&#8221; from his or her cell phone and give them a 1-800 number that had already been set up to ring to an accomplice&#8217;s cell phone. This accomplice would back up my story and verify my credentials as needed. Now that I have the branch manager&#8217;s username and password, I have access to the system. I would ask the manager to wait about five minutes before changing their password for security reasons. I would not ask for the new password, because at this point I am already logged in from a remote location and any changes would not affect my connection.</p>
<p>Working quickly, I could have the data that I wanted, whether it be the name and company phone number of a higher individual with more access, or with luck the branch manager might have the access I need. With a high-speed Internet connection, I could download the payroll, expenditures, email and even the employee file records that I wanted before anyone could step in and sever my connection. With any luck, the branch manager would continue to call the 1-800 number I provided for any inquiries into the steps we were taking to located the &#8220;hacker&#8221; I mentioned earlier. Of course, even if the manager caught on to the deception, I would have covered my tracks enough to back out of the system and possibly even upload the data to a public server where anyone could read it at will. Of course, that is just one of countless scenarios available.</p>
<p>Even with my tracks covered as best as I could, there are countless ways for the FBI to track me down, since there are countless clues I might have dropped on my way through, such as the security camera footage at the retail location where I bought the black phone or the machine address of the laptop I used for connecting to the server. Even if I managed to cover every angle, the FBI has access to technology that can still track me down, technology that I have no idea even exists, for instance they might have a program that can detect the speed of which I hit certain keys when typing at my normal speed, given enough characters typed, this could be just as individual as a fingerprint or drop of blood.</p>
<p>The point is not whether or not I get caught, which is very likely, but whether or not I was able to access the data I wanted, which I did. In the end, I might be facing criminal and civil charges, but I accomplished what I wanted; much like an assassin might be caught but their victim is still dead. In the end, the results are that Allied Divestments lost, the hackers won.</p>
<p>The most damning information any company can lose are inter-office memos in the form of email. Much of the time, emails coming for &#8220;Headquarters&#8221; are worded in a way that is appropriate to politicians and lawyers. These emails do not generally contain sensitive information, such as upcoming fiscal reports or pending lawsuits. Instead, a hacker could find these things in the inter-office communication.</p>
<p>Many times in the corporate world, people begin to lose sight of the fact that their every <a href="http://www.thinkgeek.com/gadgets/security/c49f/">keystroke</a> could be recorded. Since Bob&#8217;s best friend Max works just down the hall, Bob feels safe enough to send Max the latest joke, rumor or fact that is circulating, with no thought to how the email might be intercepted. Some companies use large off-site servers to store emails and such, servers that are physically managed by other companies.</p>
<p>These off-site servers are easy enough to hack with the right credentials, which may in turn be easily enough hacked from the individual users. Once the server is located and opened, the attacker can use the information contained therein to literally bring a company to its knees.</p>
<p>For an example of this just look at how the so-called &#8220;Big Tobacco&#8221; companies were humbled by inter-office memos detailing the desire of some key employees to alter the chemical makeup of their product to make it more addicting. Those documents were not hacked out, but actually obtained via a court order. Imagine the damage that the companies might have suffered had a hacker located and publicly distributed this information before the court was able to seal the records from the jury&#8217;s eyes pending investigation.</p>
<p>So, now that we&#8217;ve outlined the dangers of security breaches, let&#8217;s talk about how you can protect yourself against hackers with 100% efficiency. What we are talking about is not how to keep hackers out of your system, no amount of security can protect you there. Even locked doors and the latest password encryption systems can not foil a determined attacker, since those can be broken down by attackers on the inside; the door could be bypassed by an attacker who managed to get a job on the cleaning crew and the encrypted passwords might be given away by trusted but naive employees. If you can think of a security measure, a desperate enough individual can think of a way to bypass it. Even Fort Knox can be broken into if the attackers had the resources and will to do so.</p>
<p><img class="alignleft size-medium wp-image-350" style="float:left; padding-right:5px;" title="data-pic" src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/11/data-pic-300x299.jpg" alt="data-pic" width="300" height="299" />The answer is obvious and simple: Stop worrying about the hackers and start focusing on the data. If you can&#8217;t keep flies out of the syrup, throw out the syrup. If you have employees who are sending damning information to one another via email, fire them. That&#8217;s not a joke, no single individual is worth the trouble they can cause with a few poorly worded sentences. Track them down and purge them from the system.</p>
<p>Much as a chain is only as strong as its weakest link, a company&#8217;s sensitive information is only as secure as it&#8217;s most disgruntled employee. The same guy down the hall that just sent everyone the video of the humping elephants could very well be the same guy who is about to send a colleague a copy of the transcript of the conversation he just had with a company lawyer concerning an upcoming lawsuit.</p>
<p>It&#8217;s called &#8220;Insider Trading&#8221; for a reason, insiders discover sensitive information and leak it to their &#8220;friends&#8221; or family members, or even capitalize on it themselves. In the end, it&#8217;s not the kid with the new laptop and a beef with your company&#8217;s carbon footprint that you have to worry about, it&#8217;s the data itself that is going to get you in trouble. You don&#8217;t go to jail because you got caught; you go to jail because you committed a crime.</p>
<p>In the end, you can protect yourself and your company from any hacker, no matter how determined by taking away the fuel they need to start the fire that will devastate your company. Monitor emails, record phone calls, and most importantly, fire anyone who acts in an unethical or immoral way whether it be immediately damaging or not. You can&#8217;t stop the hackers, but you can protect yourself. It&#8217;s hard and some might say impossible, but without fuel there is no fire and without damning data, the hackers can&#8217;t hurt you. Stop them? Can&#8217;t be done. Protect yourself from them? It&#8217;s hard, but it&#8217;s possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2009/11/21/100-protection-from-hackers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Life With Sleep Apnea</title>
		<link>http://www.captaincodemonkey.com/blog/2009/11/17/my-life-with-sleep-apnea/</link>
		<comments>http://www.captaincodemonkey.com/blog/2009/11/17/my-life-with-sleep-apnea/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 01:14:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Science]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[disease]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[sleep apnea]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=326</guid>
		<description><![CDATA[In The Beginning First, a little background information. I am a 25 year old male, I have put on a slight bulk since my college years, but I am not significantly overweight.  As you might guess, I am a computer programmer, so I have a somewhat sedentary lifestyle.  I try to go to the gym [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-327" style="float:left; padding-right:5px;" title="r7_cpap" src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/11/r7_cpap-300x300.jpg" alt="r7_cpap" width="300" height="300" /><strong>In The Beginning</strong></p>
<p>First, a little background information.</p>
<p>I am a 25 year old male, I have put on a slight bulk since my college years, but I am not significantly overweight.  As you might guess, I am a computer programmer, so I have a somewhat sedentary lifestyle.  I try to go to the gym on a somewhat regular basis.  I was extremely athletic in high school, and that has tapered off since college.</p>
<p><strong>The Symptoms</strong></p>
<p>I don&#8217;t know how long I had symptoms, but I believe it happened so gradually that I didn&#8217;t really notice them.  These were some of the things I just thought were normal for me:</p>
<ul>
<li>Falling asleep while driving</li>
<li>Sleeping for 10-15 hours</li>
<li>Waking up with headaches</li>
<li>Nightmares</li>
<li>Going to the bathroom 5+ times each night</li>
<li>taking naps at every opportunity</li>
</ul>
<p><strong>The Diagnosis</strong></p>
<p>My Fiancee works in the ER at the local hospital.  She noticed I would not breathe for long periods of time, she began asking me about some of the things above, and when I put the full picture together, I began to think that I might have sleep apnea.  The next step was to go talk to my doctor.</p>
<p>I was then referred to the sleep study clinic, and had to go in for an over night stay.</p>
<p><img class="alignleft size-medium wp-image-329" style="float:left; padding-right:5px;" title="me_wires" src="http://www.captaincodemonkey.com/blog/wp-content/uploads/2009/11/me_wires-225x300.jpg" alt="me_wires" width="225" height="300" />After the first visit, I was immediately sent back a few days later, they said I definitely had sleep problems, and they wanted me to try a CPAP machine.</p>
<p>So I went back for the second stay, was fitted with a mask much like in the above picture, and let me tell you.. It.Was.Amazing. I won&#8217;t say it was the best night&#8217;s sleep ever, but I slept the entire 6 hours or so without waking up.</p>
<p><strong>The Treatment</strong></p>
<p>The following Saturday, I got a letter from my doctor, with a prescription for a CPAP machine, and I immediately went to get it filled.</p>
<p>I now sleep through the entire night, I don&#8217;t wake up to go to the bathroom, and when I drive at night, I don&#8217;t get sleepy.  I feel much more focused during the day, and I have much more energy than I have in a long time.</p>
<p>If you think you may have sleep apnea, or any of my symptoms sound familiar to you, I urge you to contact your doctor, and check out <a href="http://www.mayoclinic.com/health/sleep-apnea/DS00148">This Article</a> (From Mayo Clinic) for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2009/11/17/my-life-with-sleep-apnea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Gets SPDY</title>
		<link>http://www.captaincodemonkey.com/blog/2009/11/15/google-gets-spdy/</link>
		<comments>http://www.captaincodemonkey.com/blog/2009/11/15/google-gets-spdy/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 18:34:00 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers - General]]></category>
		<category><![CDATA[Internet - General]]></category>
		<category><![CDATA[Technology - General]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.captaincodemonkey.com/blog/?p=315</guid>
		<description><![CDATA[No, the title to this entry is not a typo; that&#8217;s Google&#8217;s newest invention called SPDY, pronounced &#8220;SPeeDY&#8221;. Ostensibly, it is intended as a replacement (no, not an addition, a replacement) to the HTTP dinosaur that we laughably call the backbone of the Internet. As explained on their blog, Google claims to have invented a [...]]]></description>
			<content:encoded><![CDATA[<p>No, the title to this entry is not a typo; that&#8217;s Google&#8217;s newest invention called SPDY, pronounced &#8220;SPeeDY&#8221;. Ostensibly, it is intended as a replacement (no, not an addition, a replacement) to the HTTP dinosaur that we laughably call the backbone of the Internet.</p>
<p>As explained on their <a href="http://blog.chromium.org/2009/11/2x-faster-web.html">blog</a>, Google claims to have invented a new, mo&#8217; betta way of handling the whole mess. As a matter of fact, they actually claim that their way is actually 55% faster than the current method of loading the top 25 websites, in &#8220;simulated&#8221; home networks.</p>
<p>First, how in the hell do you &#8220;simulate&#8221; a home network? Are they realistically throttling themselves by downloading the first three seasons of Smallville via bittorrent, or are they just turning a knob and setting their router to &#8220;home network&#8221;?</p>
<p>Now, I have a lot of respect (snicker) for the folks over at Google. I mean, these are the people who brought us the awe-inspiring Chrome browser that I can&#8217;t even use, cause I actually run an operating system (Linux) and not a commercial for expensive anti-virus (Windows). But is this really a problem for most folks with broadband connections?</p>
<p>It&#8217;s been something like five years or so since I last noticed myself biting my fingernails as eBay slowly rendered itself on my screen. I really haven&#8217;t had much problems with latency since I gave up command-line ftp&#8217;ing my pr0n from badly-configured websites.</p>
<p>I think these guys should focus on getting us past Dec 12, 2012 and forget about making the internets faster. Unless of course they really wanted to make it so that I could watch four simultaneous episodes of Heroes while Googling for nude pictures of Ali Larter&#8230; In which case, I applaud their efforts and hope to see a prototype out soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.captaincodemonkey.com/blog/2009/11/15/google-gets-spdy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
