<?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>Cubicle Generation &#187; Nuri Hodges</title>
	<atom:link href="http://cubiclegeneration.com/author/inurinternet/feed" rel="self" type="application/rss+xml" />
	<link>http://cubiclegeneration.com</link>
	<description>omgz cubicles</description>
	<lastBuildDate>Mon, 23 Aug 2010 18:59:54 +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>PHP: Detect if Script is Running from Console</title>
		<link>http://cubiclegeneration.com/snippets/php-detect-if-script-is-running-from-console</link>
		<comments>http://cubiclegeneration.com/snippets/php-detect-if-script-is-running-from-console#comments</comments>
		<pubDate>Fri, 06 Aug 2010 06:29:53 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=188</guid>
		<description><![CDATA[I hacked together a script to import a large amount of data from a CSV file that was not very fun to work with, and I felt the need to restrict access to the command line in case there was any extra overhead in the script, or anything unforeseen quirks from running such an intensive [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fsnippets%2Fphp-detect-if-script-is-running-from-console"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fsnippets%2Fphp-detect-if-script-is-running-from-console&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I hacked together a script to import a large amount of data from a CSV file that was not very fun to work with, and I felt the need to restrict access to the command line in case there was any extra overhead in the script, or anything unforeseen quirks from running such an intensive script in the browser. (I didn&#8217;t really have to restrict access as I removed the import script after it was run, but now I needed to know.) Somehow, I needed to capture information about exactly HOW the script was being executed. It&#8217;s actually quite simple, PHP captures your console environment into a $_SERVER variable, specifically $_SERVER['CONSOLE'] and/or $_SERVER['TERM'].</p>
<pre name="code" class="php">
if(!isset($_SERVER['SHELL'])) { echo "Please run this script from the console."; exit; }
</pre>
<p>[Edit: Shortly after posting the above snippet, I found a PHP function (see: <a href="http://www.php.net/manual/en/function.php-sapi-name.php">php_sapi_name</a>) that returns the type of interface between the web server and PHP. In this case, we are looking for it to return the value 'cli' for command line interface.]</p>
<pre name="code" class="php">
if(php_sapi_name() != 'cli') {  echo "Please run this script from the console."; exit; }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/snippets/php-detect-if-script-is-running-from-console/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Hacker&#8217;s Code</title>
		<link>http://cubiclegeneration.com/hacking/the-hackers-code</link>
		<comments>http://cubiclegeneration.com/hacking/the-hackers-code#comments</comments>
		<pubDate>Sun, 01 Aug 2010 20:51:25 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Ethics]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=186</guid>
		<description><![CDATA[&#8220;A hacker of the Old Code.&#8221; Hackers come and go, but a great hack is forever. Public goods belong to the public.* Software hoarding is evil. Software does the greatest good given to the greatest number. Don&#8217;t be evil. Sourceless software sucks. People have rights. Organizations live on sufferance. Governments are organizations. If it is [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fhacking%2Fthe-hackers-code"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fhacking%2Fthe-hackers-code&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><em><a href="http://muq.org/~cynbe/hackers-code.html" target="_blank">&#8220;A hacker of the Old Code.&#8221;</a></em></p>
<ul>
<li>Hackers come and go, but a great hack is forever.</li>
<li>Public goods belong to the public.*</li>
<li>Software hoarding is evil. Software does the greatest good given to the greatest number.</li>
<li>Don&#8217;t be evil.</li>
<li>Sourceless software sucks.</li>
<li>People have rights. Organizations live on sufferance.</li>
<li>Governments are organizations.</li>
<li>If it is wrong when citizens do it, it is wrong when governments do it.</li>
<li>Information wants to be free. Information <em>deserves</em> to be free.</li>
<li>Being legal doesn&#8217;t make it right.</li>
<li>Being illegal doesn&#8217;t make it wrong.</li>
<li>Subverting tyranny is the highest duty.</li>
<li>Trust your technolust!</li>
</ul>
<p><span style="font-size: 10pt;"><strong>* Definition</strong>: A good is <strong>public</strong> if the marginal production cost is lower than the marginal billing cost.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/hacking/the-hackers-code/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AdSense Earnings RSS Feed</title>
		<link>http://cubiclegeneration.com/source-code/adsense-earnings-rss-feed</link>
		<comments>http://cubiclegeneration.com/source-code/adsense-earnings-rss-feed#comments</comments>
		<pubDate>Mon, 26 Jul 2010 05:13:50 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google AdSense]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=179</guid>
		<description><![CDATA[/* Hack Name: Adsense to RSS Version: 1.1 Hack URI: http://planetozh.com/blog/my-projects/track-adsense-earnings-in-rss-feed/ Description: Follow your Adsense earnings with an RSS reader Author: Ozh Author URI: http://planetOzh.com */ /* * Release History * * 1.1 (04/23/2006 - CGibson) * Fixed to work with recent modifications to Google AdSense * - Changed "csv" post data field to "outputFormat" [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fsource-code%2Fadsense-earnings-rss-feed"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fsource-code%2Fadsense-earnings-rss-feed&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<pre name="code" class="php">
/*
Hack Name: Adsense to RSS
Version: 1.1
Hack URI: http://planetozh.com/blog/my-projects/track-adsense-earnings-in-rss-feed/
Description: Follow your Adsense earnings with an RSS reader
Author: Ozh
Author URI: http://planetOzh.com
*/

/*
 * Release History
 *
 * 1.1 (04/23/2006 - CGibson)
 * Fixed to work with recent modifications to Google AdSense
 * - Changed "csv" post data field to "outputFormat"
 * - Changed spliting of date from "/" to "-"
 *
 * 1.0 (10/07/2005)
 * Initial Release
*/

/************ SCRIPT CONFIGURATION ***********/
/*********************************************/

$username="you@email.com";
    // your adsense username

$password="MySuPeRpAsSwOrD";
    // your adsense password

$daterange = 20 ;
    // range of days to aggregate in RSS reader

$cookie="./.cookiefile";
        // a temp file name - you mostly don't care about this
        // This will create a hidden file in the current directory. If it seems to fail,
        // replace with a full physical path (i.e. /home/you/temp/cookiefile)

/************ DO NOT MODIFY BELOW ************/
/*********************************************/

$daysbefore = mktime(0, 0, 0, date("m") , date("d") - $daterange, date("Y"));
list ($d_from,$m_from,$y_from) = split(':',date("j:n:Y", $daysbefore));
list ($d_to,$m_to,$y_to) = split(':',date("j:n:Y"));

/* Following lines are based on a script found on WMW forums */
/* http://www.webmasterworld.com/forum89/5349.htm */

$destination="/adsense/report/aggregate?"
    ."sortColumn=0"
    ."&#038;reverseSort=false"
    ."&#038;outputFormat=TSV_EXCEL"
    ."&#038;product=afc"
    ."&#038;dateRange.simpleDate=today"
    ."&#038;dateRange.dateRangeType=custom"
    ."&#038;dateRange.customDate.start.day=$d_from"
    ."&#038;dateRange.customDate.start.month=$m_from"
    ."&#038;dateRange.customDate.start.year=$y_from"
    ."&#038;dateRange.customDate.end.day=$d_to"
    ."&#038;dateRange.customDate.end.month=$m_to"
    ."&#038;dateRange.customDate.end.year=$y_to"
    ."&#038;unitPref=page"
    ."&#038;reportType=property"
    ."&#038;searchField="
    ."&#038;groupByPref=date";

$postdata="destination=".urlencode($destination)."&#038;username=".urlencode($username)."&#038;password=".urlencode($password)."&#038;null=Login";

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,"https://www.google.com/adsense/login.do");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt ($ch, CURLOPT_TIMEOUT, 20);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch); 

$result=preg_split("/\n/",$result);
array_pop($result);
array_pop($result);
array_shift($result);
$result = array_reverse($result);

header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="iso-8859-1"?>';
echo "\n";
echo '<rss version="2.0"' . "\r\n";
echo "\t" . 'xmlns:content="http://purl.org/rss/1.0/modules/content/"' . "\r\n";
echo "\t" . 'xmlns:wfw="http://wellformedweb.org/CommentAPI/"' . "\r\n";
echo "\t" . 'xmlns:dc="http://purl.org/dc/elements/1.1/"' . "\r\n";
echo ">\r\n";
echo "<channel>\r\n";
echo "\t\r\n";
echo "\t
<link>https://www.google.com/adsense/</link>\r\n";
echo "\t<description>An RSS feed of my Adsense earnings for the last " . $daterange . "days</description>\r\n";
echo "\t<language>en</language>\r\n";

$firstday=1;
foreach ($result as $line) {
	$item = array();
	$line = str_replace("\x00",'',$line);
	$line = str_replace('"','',$line);
	list($day, $pages, $clicks, $ctr, $eCPM, $income) = preg_split("/\s/",$line);
	$item['title']= "";
	$item['guid'] = '<guid isPermaLink="false">' . md5($username.$day) . "</guid>";
	$day = split('-',$day);
	$day = mktime(0, 0, 0, $day[1] , $day[0], $day[2]);
	if ($firstday == 1) {
		$day = date("D, d M Y H:i:s +0000");
		$firstday = 0;
	} else {
		$day = date("D, d M Y H:i:s +0000", $day);
	}
	$item['pubDate'] = "
<pubDate>$day</pubDate>";
	$item['category'] = "";
	$item['description'] = "<description>\$$income ($clicks clicks on $pages pages : CTR = $ctr - eCPM = $eCPM)</description>";
	$item['content'] = "<content:encoded><![CDATA[\r\n\t
<table>\r\n\t
<tr>
<td>Pages printed</td>
<td>Clicks</td>
<td>CTR</td>
<td>eCPM</td>
<td>Earnings</td>
</tr>

\r\n\t
<tr>
<td>$pages</td>
<td>$clicks</td>
<td>$ctr</td>
<td>$eCPM</td>
<td>$income</td>
</tr>

\r\n\t</table>

\r\n]]&gt;</content:encoded>\r\n";

	print "<item>\r\n";
	print $item['title'] ."\r\n";
	print $item['guid'] ."\r\n";
	print $item['pubDate'] ."\r\n";
	print $item['category'] ."\r\n";
	print $item['description'] ."\r\n";
	print $item['content'] ."\r\n";
	print "</item>\r\n";
}

echo "</channel>\r\n";
echo "</rss>";
</pre>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/source-code/adsense-earnings-rss-feed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LiveJournal Image Search</title>
		<link>http://cubiclegeneration.com/source-code/livejournal-image-search</link>
		<comments>http://cubiclegeneration.com/source-code/livejournal-image-search#comments</comments>
		<pubDate>Mon, 26 Jul 2010 01:58:12 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[LiveJournal]]></category>
		<category><![CDATA[Search]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=164</guid>
		<description><![CDATA[/* lj.php - yet another LiveJournal image getter thingy by Ryland Sanders Friday, November 24, 2006 This source code is released into the public domain, copy it and modify it as you see fit. A link and credit would be nice, though. This script gets the "latest images" XML stream from LiveJournal, parses it, filters [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fsource-code%2Flivejournal-image-search"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fsource-code%2Flivejournal-image-search&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<pre name="code" class="php">
/*
	lj.php - yet another LiveJournal image getter thingy
		by Ryland Sanders
		Friday, November 24, 2006
		This source code is released into the public domain, copy it and modify it as you see fit. A link and credit would be nice, though.
		This script gets the "latest images" XML stream from LiveJournal, parses it, filters it, and displays the resulting list as clickable links, limited to the number of images specified by the $limit parameter in the query string.
*/

echo "<html>\r\n";
echo "<head>\r\n";
echo "\t\r\n";
echo "\t
<style type=\"text/css\">\r\n";
echo "\t\tbody { font-family: sans-serif; }\r\n";
echo "\t\tp { font-size: 70%; }\r\n";
echo "\t\th1 { margin: 0; }\r\n";
echo "\t</style>

\r\n";
echo "</head>\r\n";
echo "<body>\r\n";
echo "<a name=\"topofpage\">\r\n";
echo "
<h1>LiveJournal images</h1>

\r\n";
echo '

<a href="http://www.livejournal.com/stats/latest-img.bml">LiveJournal images XML feed</a> :: <a href="lj.phps">PHP source code for this page</a>

' . "\r\n";

/* put script file name of this page in a variable (just in case you change the filename but forget to update the script with the new name) */

$thispage = getenv("SCRIPT_NAME");

/* get the 'limit' parameter from the query string. if the server is configured with register_globals turned on, it does this for you automatically, but I like to add zero to numerical values from the query string to make sure it's a number. if there's no 'limit' paramter in the query string, set it to the default, 100 images. */

$limit = $_GET['limit'] + 0;
if (!$limit) { $limit = 100; }

echo "

Number of images: " . $limit . " - Limit to: <a href=\"" . $thispage . "?limit=25">25</a> :: <a href=\"" . $thispage . "?limit=50">50</a> :: <a href=\"" . $thispage . "?limit=100">100</a> :: <a href=\"" . $thispage . "?limit=250">250</a>\r\n";
echo "

&nbsp;

\r\n";

/* this is a callback function used by array_filter() below to filter our any elements that aren't tagged as 'RECENT-IMAGE' in LJ's xml stream */

function is_img($recent_image) {
	return $recent_image['tag'] == 'RECENT-IMAGE';
}

/* open the stream and assign it to a file handle variable */

$handle = fopen("http://www.livejournal.com/stats/latest-img.bml", "r");

/* dump the stream contents into a string variable */

$ljxml = "";

while (!feof($handle)) {
	$ljxml .= fgets($handle);
}

/* close the stream */

fclose($handle);

/* create an XML parser object */

$p = xml_parser_create();

/* parse the stream data into an array $vals */

xml_parse_into_struct($p, $ljxml, $vals);

/* free the parser object, since we're done with it */

xml_parser_free($p);

/* filter the $vals array using the callback function above */

$imgs = array_filter($vals, "is_img");

/* get a subset of the array limited to the number of images in the $limit variable */

if ($limit < 250) { $imgs = array_slice($imgs, 0, $limit); }

/* loop through the array and print each array element as a clickable link */

$num_imgs = sizeof($imgs);
$ct = 1;
foreach ($imgs as $recent_image) {
	echo "

<a name=\"img$ct\"></a><a target=\"_blank\" href=\"" . $recent_image['attributes']['URL'] . "\">LJ post URL</a> ::\r\n";
	echo "<a target=\"_blank\" href=\"" . $recent_image['attributes']['IMG'] . "\">Image URL</a> ::\r\n";
	if ($ct > 1) {
		echo "<a href=\"#img" . ($ct - 1) . "\">Previous image</a> ::\r\n";
	} else {
		echo "Previous image ::\r\n";
	}
	if ($ct < $num_imgs) {
		echo "<a href=\"#img" . ($ct + 1) . "\">Next image</a> ::\r\n";
	} else {
		echo "Next image ::\n";
	}
	echo "<a href=\"#topofpage\">Top of page</a>\r\n";
	echo "\r\n<img src=\"" . $recent_image['attributes']['IMG'] . "\">

\r\n\r\n";
	$ct++;
}

echo "</body>\r\n";
echo "</html>\r\n";
</pre>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/source-code/livejournal-image-search/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Must Have List of Android Applications</title>
		<link>http://cubiclegeneration.com/mobile/must-have-list-of-android-applications</link>
		<comments>http://cubiclegeneration.com/mobile/must-have-list-of-android-applications#comments</comments>
		<pubDate>Mon, 26 Jul 2010 00:05:48 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Android Applications]]></category>
		<category><![CDATA[Google Android]]></category>
		<category><![CDATA[Mobile Applications]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=153</guid>
		<description><![CDATA[I recently purchased the Motorola Droid X (the day after release, I actually snagged the last one in my area, w00t) and squandered much time in the Google Market, the Android applications store. Here&#8217;s my results after downloading tons of apps, from project / time management apps to soundboard, and of course, the Star Wars [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fmobile%2Fmust-have-list-of-android-applications"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fmobile%2Fmust-have-list-of-android-applications&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently purchased the Motorola Droid X (the day after release, I actually snagged the last one in my area, w00t) and squandered much time in the Google Market, the Android applications store. Here&#8217;s my results after downloading tons of apps, from project / time management apps to soundboard, and of course, the Star Wars lightsaber app. Click on the names to view the QR Code that is recognized by the Barcode Scanner application.</p>
<p><strong>Fun / Useless Applications</strong></p>
<ul>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.foncannoninc.airhorn">Air Horn</span><br />Use this application to get someone&#8217;s attention or annoy them, tons of effects to choose from: vuvuzella, loudspeaker, air horn, and more!</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=as.adamsmith.etherealdialpad">Ethereal Dialpad</span><br />Random effects processor / synthesizer thingy, really fun to play with when you&#8217;re bored or drunk.</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.jbohman.droidhelm">Wilhelm Scream</span><br />You know <a href="http://en.wikipedia.org/wiki/Wilhelm_scream" target="_blank">that scream that has been used over and over in film</a>? You can make your phone scream just like that, every time you throw it up in the air!</li>
</ul>
<p><strong>Localized / Nightlife Applications</strong></p>
<ul>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.joelapenna.foursquared">FourSquare</span><br />Check into your FourSquare account, and find out where your friends are at!</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.gotime.happyhours">HappyHours</span><br />Exactly like it sounds, an app that helps you find the closest bar that is serving drinks at happy hour prices.</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.wertago">Wertago</span><br />Find out what&#8217;s going on tonight, who&#8217;s hanging out at what bar, club, or event, and check reviews of the place (even how hot it is or how much it sucks right now) before you go!</li>
</ul>
<p><strong>Music Applications</strong></p>
<ul>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=fm.audiobox.android">AudioBox.fm</span><br />Upload your MP3s from home, play them anywhere on your phone!</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.pandora.android">Pandora</span><br />Must have for any smart phone nowadays, stream radio from the cloud!</li>
</ul>
<p><strong>File Management</strong></p>
<ul>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=lutey.FTPServer">FTPServer</span><br />Create an FTP server accessible via internet or intranet to share files to and from your device.</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.pv.TMS">Twonky Server</span><br />Create a network accessible share to transfer files to and from your device.</li>
</ul>
<p><strong>Game Applications</strong></p>
<ul>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.gameloft.android.oregonTrail">Oregon Trail</span><br />Remake of the old classic, it feels a little limited, but it&#8217;s still fun!</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.androidemu.sneslite">SNESoid</span><br />SNES emulator, and it&#8217;s the best one, to say the least.</li>
</ul>
<p><strong>Blogging Applications</strong></p>
<ul>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=org.wordpress.android">WordPress</span><br />Manage your WordPress blogs anywhere, as long as you brought your phone!</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=net.kreci.wpstats">WP Stats</span><br />Keep a close eye on your WordPress blog statistics any time, anywhere!</li>
</ul>
<p><strong>Geeky Applications</strong></p>
<ul>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=vanpool.app.spotmessage">Spot Message</span><br />Leave a message for another person based on GPS location. When they get to the intended destination, they will receive your message.</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=org.woltage.irssiconnectbot">IRSSI ConnectBot</span><br />Must have for geeks, store and run ssh commands, also includes a text based IRC client.</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.pixelpipe.android.lite">PixelPipe</span><br />Post media or blog to over 110+ social networking services, or your own hosted WordPress platform.</li>
<li><span class="application" barcode="http://chart.apis.google.com/chart?cht=qr&#038;chs=135x135&#038;chl=market://details?id=com.androidfu.torrents">Torrent-Fu</span><br />Remotely manage your uTorrent or Transmission bittorrent clients.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/mobile/must-have-list-of-android-applications/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resizing DIVs On Browser Load And Resize</title>
		<link>http://cubiclegeneration.com/javascript/resizing-divs-on-browser-load-and-resize</link>
		<comments>http://cubiclegeneration.com/javascript/resizing-divs-on-browser-load-and-resize#comments</comments>
		<pubDate>Sun, 16 May 2010 01:27:24 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=145</guid>
		<description><![CDATA[I will take Jelo over jQuery any day, but I had to tread in murky waters today making an update to a theme on one of my WordPress blogs. I had a three column layout, the two sidebars were floated to the right properly, but the text in my main content div was going under [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fjavascript%2Fresizing-divs-on-browser-load-and-resize"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fjavascript%2Fresizing-divs-on-browser-load-and-resize&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I will take <a href="http://www.fatfreejelo.com/">Jelo</a> over jQuery any day, but I had to tread in murky waters today making an update to a theme on one of my WordPress blogs.</p>
<p>I had a three column layout, the two sidebars were floated to the right properly, but the text in my main content div was going under my sidebars, to the full 100% width of the page. I couldn&#8217;t find a quick CSS solution without rewriting the structure of the page, so I decided to use jQuery, which was already loaded to handle some animations in the menu.</p>
<p><code>$(document).ready(function() {<br />
&nbsp;&nbsp;$('#content').css("width", ($(window).width() - $('#sidebar1').width() - $('#sidebar2').width()) + 'px');<br />
});<br />
$(window).bind('resize', function () {<br />
&nbsp;&nbsp;$('#content').css("width", ($(window).width() - $('#sidebar1').width() - $('#sidebar2').width()) + 'px');<br />
});</code></p>
<p>Hope this was helpful to some one in some fashion!</p>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/javascript/resizing-divs-on-browser-load-and-resize/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 Dream Scene Activator</title>
		<link>http://cubiclegeneration.com/windows-7/windows-7-dream-scene-activator</link>
		<comments>http://cubiclegeneration.com/windows-7/windows-7-dream-scene-activator#comments</comments>
		<pubDate>Tue, 11 May 2010 16:31:28 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[backgrounds]]></category>
		<category><![CDATA[Freeware]]></category>
		<category><![CDATA[tweaks]]></category>
		<category><![CDATA[wallpapers]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=140</guid>
		<description><![CDATA[Some of you might remember the &#8220;Dream Scene&#8221; feature that was available in versions of Windows Vista, where you would be able to set a video in WMV/MPG format as your desktop background. Well, sadly, this feature was eighty-six&#8217;ed in Windows 7. (Well, not really, because after a registry tweak, it becomes available again.) However, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fwindows-7%2Fwindows-7-dream-scene-activator"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fwindows-7%2Fwindows-7-dream-scene-activator&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Some of you might remember the &#8220;Dream Scene&#8221; feature that was available in versions of Windows Vista, where you would be able to set a video in WMV/MPG format as your desktop background. Well, sadly, this feature was eighty-six&#8217;ed in Windows 7. (Well, not really, because after a registry tweak, it becomes available again.)</p>
<p>However, Kishan Bagaria of <a href="http://www.thewindowsclub.com/windows-7-dreamscene-activator-released">The Windows Club</a> has released a nifty little application that changes a registry value to re-enable this feature in Windows 7. Once you&#8217;ve applied this little patch, right click on any WMV/MPG and you will be able to &#8220;Set as desktop wallpaper &#8230;&#8221; from the context menu.</p>
<p>Don&#8217;t be confused by the title on the window of this application, it works for Windows 7 64 bit as well!</p>
<p>If you are looking for some neat looped videos to use as your wallpaper, or inspirational ones to make your own, look no further than <a href="http://browse.deviantart.com/customization/?q=dreamscene">DeviantART</a>!</p>
<p><strong><a href="http://www.softpedia.com/get/Tweak/System-Tweak/Windows-7-DreamScene-Activator.shtml" title="Download Windows 7 Dream Scene Activator">Download Windows 7 Dream Scene Activator</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/windows-7/windows-7-dream-scene-activator/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snow Leopard Command Line Hacks</title>
		<link>http://cubiclegeneration.com/command-line-karate/snow-leopard-command-line-hacks</link>
		<comments>http://cubiclegeneration.com/command-line-karate/snow-leopard-command-line-hacks#comments</comments>
		<pubDate>Tue, 27 Apr 2010 20:46:07 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Command Line Karate]]></category>
		<category><![CDATA[Command Line]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[OS X 10.6]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=129</guid>
		<description><![CDATA[Here are my favorite command line hacks that enable special features or views in OS X 10.6 Snow Leopard. Enable Quick Look Folder Previewsdefaults write com.apple.finder QLEnableXRayFolders 1Once you&#8217;ve entered this command, restart Finder (killall finder or ctrl+option+click Finder Dock Icon, and Relaunch), select a folder, and hit the space bar. Enable AppleScript Studio Palettedefaults [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fcommand-line-karate%2Fsnow-leopard-command-line-hacks"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fcommand-line-karate%2Fsnow-leopard-command-line-hacks&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Here are my favorite command line hacks that enable special features or views in OS X 10.6 Snow Leopard.</p>
<ul>
<li><strong>Enable Quick Look Folder Previews</strong><br /><em>defaults write com.apple.finder QLEnableXRayFolders 1</em><br />Once you&#8217;ve entered this command, restart Finder (<em>killall finder</em> or ctrl+option+click Finder Dock Icon, and Relaunch), select a folder, and hit the space bar.</li>
<li><strong>Enable AppleScript Studio Palette</strong><br /><em>defaults write com.apple.InterfaceBuilder3 IBEnableAppleScriptStudioSupport -bool YES</em><br />OS X 10.6 Snow Leopard allows you to work on AppleScript Studio Projects, but you can&#8217;t create new ones. Run the above command to add it back into Interface Builder.</li>
<li><strong>Disable Focus Follows Mouse</strong><br /><em>defaults write com.apple.Terminal FocusFollowsMouse -string NO</em></li>
<li><strong>Confine Dictionary To One Window</strong><br /><em>defaults write com.apple.Dictionary ProhibitNewWindowForRequest -bool TRUE</em></li>
<li><strong>Change iTunes Green Maximize Button Functionality</strong><br /><em>defaults write com.apple.iTunes zoom-to-window -bool YES</em><br />During the initial launch of iTunes 9, the green + icon on the window bar maximized the iTunes window instead of alternating to the mini player. Use this command line hack to enable this functionality once again.</li>
<li><strong>Automatically Play Movies in QuickTime X</strong><br /><em>defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1</em></li>
<li><strong>Keep QuickTime Full Screen While Switching Applications</strong><br /><em>defaults write com.apple.QuickTimePlayerX MGFullScreenExitOnAppSwitch 0</em></li>
<li><strong>Disable QuickTime Rounded Corners</strong><br /><em>defaults write com.apple.QuickTimePlayerX MGCinematicWindowDebugForceNoRoundedCorners 1</em></li>
<li><strong>Automatically Show Closed Captioning or Subtitles in QuickTime</strong><br /><em>defaults write com.apple.QuickTimePlayerX MGEnableCCAndSubtitlesOnOpen 1</em></li>
<li><strong>Make List View Stacks Function Like Grid View Stacks</strong><br /><em>defaults write com.apple.dock use-new-list-stack -bool YES</em></li>
<li><strong>Enable MouseOver Highlight in Stacks</strong><br /><em>defaults write com.apple.dock mouse-over-hilite-stack -boolean yes</em><br />Once typing in this command, restart Dock (<em>killall dock</em>) to view changes.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/command-line-karate/snow-leopard-command-line-hacks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Text File of Directory Contents</title>
		<link>http://cubiclegeneration.com/command-line-karate/create-a-text-file-of-directory-contents</link>
		<comments>http://cubiclegeneration.com/command-line-karate/create-a-text-file-of-directory-contents#comments</comments>
		<pubDate>Tue, 23 Mar 2010 02:02:45 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Command Line Karate]]></category>
		<category><![CDATA[cmd prompt]]></category>
		<category><![CDATA[command prompt]]></category>
		<category><![CDATA[directories]]></category>
		<category><![CDATA[windows command line]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=127</guid>
		<description><![CDATA[If you&#8217;ve ever needed to get a list of files in a specific directory for whatever purpose, maybe you need to verify files during a backup or transfer, you probably hunted for a good freeware application to do the trick. Sure, there are good options out there, but why find a download for something you [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fcommand-line-karate%2Fcreate-a-text-file-of-directory-contents"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fcommand-line-karate%2Fcreate-a-text-file-of-directory-contents&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>If you&#8217;ve ever needed to get a list of files in a specific directory for whatever purpose, maybe you need to verify files during a backup or transfer, you probably hunted for a good freeware application to do the trick. Sure, there are good options out there, but why find a download for something you can just as easily accomplish from the command line?</p>
<p>Running the following command will output a list of the contents of the current directory to your Desktop. Just replace YOU with your Windows username.</p>
<p><code>dir /b *. > C:\Users\YOU\Desktop\musicfiles.txt</code></p>
<p>It&#8217;s that easy!</p>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/command-line-karate/create-a-text-file-of-directory-contents/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enable Stacks Mouseover Highlight (OSX 10.6)</title>
		<link>http://cubiclegeneration.com/mac/enable-stacks-mouseover-highlight-snow-leopard</link>
		<comments>http://cubiclegeneration.com/mac/enable-stacks-mouseover-highlight-snow-leopard#comments</comments>
		<pubDate>Thu, 11 Mar 2010 09:06:16 +0000</pubDate>
		<dc:creator>Nuri Hodges</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Snow Leopard]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://cubiclegeneration.com/?p=124</guid>
		<description><![CDATA[Enabling automatic mouseover highlighting of icons in your grid stacks makes browsing for files that much easier, and it&#8217;s just a simple command away. It&#8217;s been changed from the original command in Leopard, so after opening Terminal, run these commands: defaults write com.apple.dock mouse-over-hilite-stack -boolean yes killall dock When the dock restarts, you can check [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcubiclegeneration.com%2Fmac%2Fenable-stacks-mouseover-highlight-snow-leopard"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcubiclegeneration.com%2Fmac%2Fenable-stacks-mouseover-highlight-snow-leopard&amp;source=TYPELiFE&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Enabling automatic mouseover highlighting of icons in your grid stacks makes browsing for files that much easier, and it&#8217;s just a simple command away. It&#8217;s been changed from the original command in Leopard, so after opening Terminal, run these commands:</p>
<ol>
<li><em>defaults write com.apple.dock mouse-over-hilite-stack -boolean yes</em></li>
<li><em>killall dock</em></li>
</ol>
<p>When the dock restarts, you can check out your fancy new highlight by clicking on your grid stack&#8217;s icon!</p>
]]></content:encoded>
			<wfw:commentRss>http://cubiclegeneration.com/mac/enable-stacks-mouseover-highlight-snow-leopard/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
