<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>var_dump( $blog )</title>
	<atom:link href="http://scottferg.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://scottferg.wordpress.com</link>
	<description>The drunken ramblings of a PHP developer</description>
	<lastBuildDate>Mon, 01 Jun 2009 03:45:22 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='scottferg.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/70a59149ee79cb93d10f128ced99d5ee?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>var_dump( $blog )</title>
		<link>http://scottferg.wordpress.com</link>
	</image>
			<item>
		<title>Pew pew pew! (lasers)</title>
		<link>http://scottferg.wordpress.com/2009/05/31/pew-pew-pew-lasers/</link>
		<comments>http://scottferg.wordpress.com/2009/05/31/pew-pew-pew-lasers/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 03:43:20 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=66</guid>
		<description><![CDATA[I&#8217;ve been working on a Python project lately with a friend.  The project is a notification system that relies on a pluggable interface for a fair amount of abstraction.  We recently decided that going hog wild with Python modules to run the thing probably wasn&#8217;t the best route.  After all, we&#8217;re using PyGTK to run [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=66&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve been working on a Python project lately with a friend.  The project is a notification system that relies on a pluggable interface for a fair amount of abstraction.  We recently decided that going hog wild with Python modules to run the thing probably wasn&#8217;t the best route.  After all, we&#8217;re using PyGTK to run the UI and Pysqlite2 for a database.</p>
<p>In an attempt to cleanup dependencies I recently removed an external module from the Gmail checking plugin which allowed very simple authentication on Google&#8217;s server and returned a simple response that could be parsed with little to no effort.  The task wasn&#8217;t all too difficult to pull off; essentially you need to authenticate of HTTPS and then process the XML response that Google sends back.  Here&#8217;s the gist of it:</p>
<div id="codeBlock"><code>import urllib2, base64</code></p>
<p><code>def make_request( uid, password ):</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;request = urllib2.Request( "https://gmail.google.com/gmail/feed/atom" )<br />
&nbsp;&nbsp;&nbsp;&nbsp;base64string = base64.encodestring( '%s:%s' % ( uid, password ) )[:-1]<br />
&nbsp;&nbsp;&nbsp;&nbsp;request.add_header( "Authorization", "Basic %s" % base64string )<br />
&nbsp;&nbsp;&nbsp;&nbsp;response = urllib2.urlopen( request )<br />
&nbsp;&nbsp;&nbsp;&nbsp;data_set = XMLParser.parseStream( response.read( ) )<br />
</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;response.close( )</code><br />
<code><br />
&nbsp;&nbsp;&nbsp;&nbsp;return int( data_set['fullcount'] )<br />
</code></div>
<p>It&#8217;s pretty simple overall: setup your request URI with urllib2.Request(), base64 encode a string in the format of uid:password, set the request header, then just make the request.  The return result is irrelevant here, it&#8217;s just the total count of new messages.</p>
<p>The resulting response will be an XML document.  The reference to XMLParser is a module I wrote that converts an XML stream into a Python dictionary, but that&#8217;s for another day.</p>
<p>This project is being hosted at GitHub: <a href="http://github.com/scottferg/Pew-Pew-Notifier/">http://github.com/scottferg/Pew-Pew-Notifier/</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=66&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/05/31/pew-pew-pew-lasers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>
	</item>
		<item>
		<title>More G1 Multitouch progress</title>
		<link>http://scottferg.wordpress.com/2009/01/25/more-g1-multitouch-progress/</link>
		<comments>http://scottferg.wordpress.com/2009/01/25/more-g1-multitouch-progress/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 21:04:44 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[References]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=61</guid>
		<description><![CDATA[Luke Hutch has improved on his modified Java stack method and has provided a full G1 image that has multitouch support built into the kernel.  It&#8217;s a little rough around the edges, lacking OpenGL support on the zoom features, but the idea is there.  Somebody just needs to come forward and do the necessary work on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=61&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a title="Luke Hutch" href="http://lukehutch.wordpress.com/2009/01/25/get-multi-touch-support-on-your-t-mobile-g1-today/" target="_blank">Luke Hutch</a> has improved on his modified Java stack method and has provided a full G1 image that has multitouch support built into the kernel.  It&#8217;s a little rough around the edges, lacking OpenGL support on the zoom features, but the idea is there.  Somebody just needs to come forward and do the necessary work on the hacked applications to make them run smoother.</p>
<blockquote><p>I posted recently to show that working multi-touch input is available on the T-Mobile G1 phone. Now the necessary changes to the Android software stack are finally in good shape, and the software is easily installable on your own phone. (”Easily” being a relative term of course — you have to re-flash your phone’s firmware, and that may void the warranty…)</p></blockquote>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=61&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/25/more-g1-multitouch-progress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>
	</item>
		<item>
		<title>A Plague of Tics</title>
		<link>http://scottferg.wordpress.com/2009/01/22/a-plague-of-tics/</link>
		<comments>http://scottferg.wordpress.com/2009/01/22/a-plague-of-tics/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 15:42:41 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[References]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=57</guid>
		<description><![CDATA[From David Sedaris&#8217; Naked:
When the teacher asked if she might visit with my mother, I touched my nose eight times to the surface of my desk. &#8220;May I take that as a &#8216;yes&#8217;?&#8221; she asked. 
According to her calculations, I had left my chair twenty-eight times that day. &#8220;You&#8217;re up and down like a flea. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=57&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>From David Sedaris&#8217; <em>Naked</em>:</p>
<blockquote><p>When the teacher asked if she might visit with my mother, I touched my nose eight times to the surface of my desk. &#8220;May I take that as a &#8216;yes&#8217;?&#8221; she asked. </p>
<p>According to her calculations, I had left my chair twenty-eight times that day. &#8220;You&#8217;re up and down like a flea. I turn my back for two minutes and there you are with your tongue pressed against that light switch. Maybe they do that where you come from, but here in my classroom, we don&#8217;t leave our seats and lick things whenever we please. That is Miss Chestnut&#8217;s light switch and she likes to keep it dry. Would you like me to come over to your house and put my tongue on your light switches? Well, would you?&#8221;</p>
<p>I tried to picture her in action, but my shoe was calling. <span><em>Take me off</em></span>, it whispered. <span><em>Tap my my heel against you&#8217;re forehead three times. Do it now, quick, no one will notice.</em> </span></p>
<p>&#8220;Well?&#8221; Miss Chestnut raised her faint, penciled eyebrows. &#8220;I&#8217;m asking you a question. Would you or would you not want me licking the light switches in your house?&#8221;</p>
<p>I slipped off my shoe, pretending to examine the imprint on the heel.</p>
<p>&#8220;You&#8217;re going to hit yourself over the head with that shoe, aren&#8217;t you?&#8221;</p>
<p>It wasn&#8217;t &#8220;hitting&#8221; it was tapping; but still how had she known what I was about to do?</p>
<p>&#8220;Heel marks all over your forehead,&#8221; she said, answering my silent question. &#8220;You should take a look in the mirror sometime. Shoes are dirty things. We wear them on our feet to protect ourselves against the soil. It&#8217;s not healthy to hit ourselves over the head with shoes, is it?&#8221;</p>
<p>I guessed that it was not.</p></blockquote>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=57&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/22/a-plague-of-tics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>
	</item>
		<item>
		<title>Battlestar Galactic-hotty</title>
		<link>http://scottferg.wordpress.com/2009/01/19/battlestar-galactic-hotty/</link>
		<comments>http://scottferg.wordpress.com/2009/01/19/battlestar-galactic-hotty/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 19:30:46 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[sci-fi]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=54</guid>
		<description><![CDATA[I came across this article in my RSS feed today.
As a huge fan of the re-imagined series I gave the original a shot (it&#8217;s on instant Netflix for anybody who&#8217;s feeling masochistic) and just couldn&#8217;t sit through an episode.  The character I couldn&#8217;t tolerate on the original show was Starbuck, ironically.  He was obnoxious, cheesy, and annoying. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=54&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I came across <a href="http://bighollywood.breitbart.com/dbenedict/2009/01/19/lt-starbuck-%E2%80%A6-lost-in-castration/">this article</a> in my RSS feed today.</p>
<p>As a huge fan of the re-imagined series I gave the original a shot (it&#8217;s on instant Netflix for anybody who&#8217;s feeling masochistic) and just couldn&#8217;t sit through an episode.  The character I couldn&#8217;t tolerate on the original show was Starbuck, ironically.  He was obnoxious, cheesy, and annoying.  This article just proves that I&#8217;ve got one hell of an eye for awful acting.</p>
<p>This guy seriously has the balls to ramble for way too long about how he invented Starbuck, and how his cigar smoking, womanizing, elitist pilot was the man Starbuck should have been.  Yet in this diatribe where he spends all of his time trying to justify why the new Battlestar Galactica sucks, he still can&#8217;t hide the fact that he&#8217;s a bitter, sexist old man who&#8217;s just pissed off that a couple of hot babes turned his failed show (and failed character) into a runaway success.</p>
<p>But who am I kidding?  Just click the link for the images of Tricia Helfer.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=54&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/19/battlestar-galactic-hotty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>
	</item>
		<item>
		<title>Jailbreaking is for little girls</title>
		<link>http://scottferg.wordpress.com/2009/01/17/jailbreaking-is-for-little-girls/</link>
		<comments>http://scottferg.wordpress.com/2009/01/17/jailbreaking-is-for-little-girls/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 03:57:30 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=50</guid>
		<description><![CDATA[The main difference between nerds who jailbreak their iPhones, and geeks who root their G1 is that the iPhone users jailbreak so that they can have access to new MMS applications, or trivial options like themes (note that a real keyboard or user-changable battery isn&#8217;t going to come from a jailbreak).  For us G1 owners, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=50&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The main difference between nerds who jailbreak their iPhones, and geeks who root their G1 is that the iPhone users jailbreak so that they can have access to new MMS applications, or trivial options like themes (note that a real keyboard or user-changable battery isn&#8217;t going to come from a jailbreak).  For us G1 owners, we root our devices so that we have even <em>more</em> access to the hardware.  Can I already do barcode scanning, install multiple web browsers, change my background (and battery), and extend the functionality of every app installed on my device?  Yeah, I can do that the minute I walk out of the T-Mobile store.</p>
<p>The purpose of rooting a G1 is to bring it to the freedom of an Android Dev Phone that you would purchase from Google.  It removes those last threads of cell-provider nonsense.  Even with the G1 RC30 image installed (I could have opted for an ADP1 image if I wanted) I still have the total freedom I want, and access to the Amazon Mp3 store.  Now I&#8217;ve got a device that is truly open.</p>
<p>So what&#8217;s on the horizon?  Probably tweaking of low level functionality, like custom app install locations, tethering, virtualization, etc.</p>
<p>Why do I do this?  Simple.  Because I can.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=50&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/17/jailbreaking-is-for-little-girls/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>
	</item>
		<item>
		<title>Am I blind?</title>
		<link>http://scottferg.wordpress.com/2009/01/15/am-i-blind/</link>
		<comments>http://scottferg.wordpress.com/2009/01/15/am-i-blind/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 15:45:10 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=47</guid>
		<description><![CDATA[This is less of a blog post and more of a note so that I never forget this in the future, but has anybody ever had trouble configuring PEAR on a XAMPP installation on Windows?  For whatever reason I couldn&#8217;t find the damn setup utility and by a fluke while configuring FirePHP I came across [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=47&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This is less of a blog post and more of a note so that I never forget this in the future, but has anybody ever had trouble configuring PEAR on a XAMPP installation on Windows?  For whatever reason I couldn&#8217;t find the damn setup utility and by a fluke while configuring FirePHP I came across it today. </p>
<p>So Scott, next time remember to run: xampp\php\go-pear.bat</p>
<p>Thank you.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=47&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/15/am-i-blind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>
	</item>
		<item>
		<title>Whoppinated</title>
		<link>http://scottferg.wordpress.com/2009/01/14/best-use-of-social-networking-evar/</link>
		<comments>http://scottferg.wordpress.com/2009/01/14/best-use-of-social-networking-evar/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 04:59:23 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=36</guid>
		<description><![CDATA[Last Friday, Lifehacker blogged about this piece of Burger King marketing:

That&#8217;s right.  Sacrifice 10 friends and Burger King will give you a free Whopper.  Is that not fantastic?
Unfortunately if you try to Whoppinate any more of your Hanson-loving loser vegan Scientologist friends, you will now see this:
It&#8217;s a damn shame.  Here&#8217;s what Facebook had to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=36&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Last Friday, Lifehacker blogged about this piece of Burger King marketing:</p>
<p><img class="aligncenter size-full wp-image-38" title="Whoppinator" src="http://scottferg.files.wordpress.com/2009/01/burger_king_app1.png?w=406&#038;h=344" alt="Whoppinator" width="406" height="344" /></p>
<p>That&#8217;s right.  Sacrifice 10 friends and Burger King will give you a free Whopper.  Is that not fantastic?</p>
<p>Unfortunately if you try to Whoppinate any more of your Hanson-loving loser vegan Scientologist friends, you will now see this:</p>
<p><img class="aligncenter size-full wp-image-39" title="Whoppinated" src="http://scottferg.files.wordpress.com/2009/01/burger_king_gone.jpg?w=450&#038;h=336" alt="Whoppinated" width="450" height="336" />It&#8217;s a damn shame.  Here&#8217;s what Facebook had to say about their decision:</p>
<blockquote><p>We encourage creativity from developers and brands using Facebook Platform, but we also must ensure that applications follow users’ expectations of privacy. This application facilitated activity that ran counter to user privacy by notifying people when a user removes a friend. We have reached out to the developer with suggested solutions. In the meantime, we are taking the necessary steps to assure the trust users have established on Facebook is maintained.</p></blockquote>
<p>I&#8217;ve only got one thing to say to you, Facebook.  <em>Fuck you.</em></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=36&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/14/best-use-of-social-networking-evar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>

		<media:content url="http://scottferg.files.wordpress.com/2009/01/burger_king_app1.png" medium="image">
			<media:title type="html">Whoppinator</media:title>
		</media:content>

		<media:content url="http://scottferg.files.wordpress.com/2009/01/burger_king_gone.jpg" medium="image">
			<media:title type="html">Whoppinated</media:title>
		</media:content>
	</item>
		<item>
		<title>Practical multi-touch on the G1</title>
		<link>http://scottferg.wordpress.com/2009/01/12/practical-multi-touch-on-the-g1/</link>
		<comments>http://scottferg.wordpress.com/2009/01/12/practical-multi-touch-on-the-g1/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 19:39:20 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[References]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[hacks]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/2009/01/12/practical-multi-touch-on-the-g1/</guid>
		<description><![CDATA[Head on over to Luke Hutch&#8217;s blog to check out his G1 multi-touch demo.  Unlike the previous proof-of-concept video from November, Luke has demonstrated multi-touch on a recompiled Android Java stack as opposed to a hacked kernel.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=28&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Head on over to <a href="http://lukehutch.wordpress.com/android-stuff/">Luke Hutch&#8217;s blog</a> to check out his G1 multi-touch demo.  Unlike the previous proof-of-concept video from November, Luke has demonstrated multi-touch on a recompiled Android Java stack as opposed to a hacked kernel.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=28&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/12/practical-multi-touch-on-the-g1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>
	</item>
		<item>
		<title>e^(2πi) is the loneliest number</title>
		<link>http://scottferg.wordpress.com/2009/01/10/e2%cf%80i-is-the-loneliest-number/</link>
		<comments>http://scottferg.wordpress.com/2009/01/10/e2%cf%80i-is-the-loneliest-number/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 04:27:24 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=18</guid>
		<description><![CDATA[Adobe Flex is cool and all, but why settle for one framework when you can make it more powerful with a second?  Recently I developed an application which was using all PHP on the backend, and all Javascript on the frontend.  I developed the PHP interface so that all interactions from the frontend occurred via [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=18&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Adobe Flex is cool and all, but why settle for one framework when you can make it more powerful with a second?  Recently I developed an application which was using all PHP on the backend, and all Javascript on the frontend.  I developed the PHP interface so that all interactions from the frontend occurred via AJAX calls to a gateway class which was just a list of entry functions that would in turn call library functions and then echo out a JSON encoded result.</p>
<p>Since all of the frontend functionality was focused on the gateway, and nothing past that, I figured I could really test this library by developing a second frontend with a second gateway.  Within about 2 hours I had a working frontend for the application running on Adobe AIR using AMFPHP as an interface for remoting calls to the PHP backend.  Here&#8217;s a run down of how I set this up.</p>
<p>You can grab AMFPHP from the developer&#8217;s <a href="http://www.amfphp.org/">homepage</a>.  AMF is a binary serialization format for Action Script objects to all messages to be sent to server-side services, and AMFPHP is just a PHP implementation of that format.</p>
<p>Installation is quick and easy, just drop the amfphp/ root folder into the htdocs directory of your web server.  To test out the installation, go to http://localhost/amfphp/browser/.  If all goes well, you should be presented with a Flex application.</p>
<p>For the PHP code, we can keep it simple.  Create a file with a matching classname.  I named my class AirDemo and saved it as AirDemo.php:</p>
<div id="codeBlock"><code>class AirDemo {<br />
    public function helloWorld( $a_name )<br />
    {<br />
        return "Hello, " . $a_name;<br />
    }<br />
}<br />
</code></div>
<p>Now stick that PHP file into a folder, let&#8217;s call it airdemo_library, and then stick the folder in the amfphp/services directory.  Restart the amfphp/browser/ application and you&#8217;ll now see airdemo_library in the left hand tree.  Expanding that will give you the AirDemo class, and then you will be able to test out communication by sending requests manually.</p>
<p>Setting up the Flex side is a little more involved.  First, create a services-config.xml file under your src/ directory:</p>
<div id="codeBlock"><code>&lt;services-config&gt;<br />
     &lt;services&gt;<br />
          &lt;service id="amfphp-flashremoting-service" class="flex.messaging.services.RemotingService" messageTypes="flex.messaging.messages.RemotingMessage"&gt;<br />
          &lt;destination id="amfphp"&gt;<br />
          &lt;channels&gt;<br />
              &lt;channel ref="my-amfphp"/&gt;<br />
          &lt;/channels&gt;<br />
          &lt;properties&gt;<br />
               &lt;source&gt;*&lt;/source&gt;<br />
          &lt;/properties&gt;<br />
          &lt;/destination&gt;<br />
          &lt;/service&gt;<br />
     &lt;/services&gt;<br />
     &lt;channels&gt;<br />
     &lt;channel-definition id="my-amfphp" class="mx.messaging.channels.AMFChannel"&gt;<br />
          &lt;endpoint uri="http://localhost/amfphp/gateway.php" class="flex.messaging.endpoints.AMFEndpoint"/&gt;<br />
     &lt;/channel-definition&gt;<br />
     &lt;/channels&gt;<br />
&lt;/services-config&gt;<br />
</code></div>
<p>The only thing to pay attention to here is the endpoint uri argument needs to point to your AMFPHP installation.  This essentially tells Flex where to find the remoting gateway.  We then tell Eclipse to look for this remoting gateway by adding a line to the Flex compiler options:</p>
<p><img class="aligncenter size-full wp-image-20" title="config_options" src="http://scottferg.files.wordpress.com/2009/01/config_options.jpg?w=450&#038;h=377" alt="config_options" width="450" height="377" /></p>
<p>Now we&#8217;ve got Eclipse configured to compile your Flex/AIR application so that it&#8217;s aware of AMFPHP, all that&#8217;s left is to actually use it.  This is the easiest part.  I&#8217;ve created a simple application that provides a text box and a button, and when you click the button it calls the helloWorld( ) function that I&#8217;ve already declared on the PHP backend.  So the user will type in a name, click the button, and get a message back from the server.</p>
<p>To hook up the remoting methods, add this to the top of your MXML document:</p>
<div id="codeBlock"><code>&lt;mx:RemoteObject id="airdemo_service" fault="faultHandler( event )" showBusyCursor="true" source="airdemo.AirDemo" destination="amfphp"&gt;<br />
     &lt;mx:method name="helloWorld" result="resultHandler( event )" /&gt;<br />
&lt;/mx:RemoteObject&gt;<br />
</code></div>
<p>The RemoteObject id is whatever you&#8217;d like to refer to your remote library as within your ActionScript, and the source is the library.class you are defining remote methods for.  Each mx:Method you declare uses a literal string to identify a remote function, as well as a local ActionScript function that will handle the result.  To call the function, just call it like you would any ActionScript function:</p>
<div id="codeBlock"><code>airdemo_service.helloWorld( txtName.text );<br />
</code></div>
<p>And that&#8217;s that.  Here&#8217;s a screenshot of the end result:</p>
<p><img class="aligncenter size-full wp-image-21" title="app_demo" src="http://scottferg.files.wordpress.com/2009/01/app_demo.jpg?w=327&#038;h=293" alt="app_demo" width="327" height="293" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=18&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/10/e2%cf%80i-is-the-loneliest-number/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>

		<media:content url="http://scottferg.files.wordpress.com/2009/01/config_options.jpg" medium="image">
			<media:title type="html">config_options</media:title>
		</media:content>

		<media:content url="http://scottferg.files.wordpress.com/2009/01/app_demo.jpg" medium="image">
			<media:title type="html">app_demo</media:title>
		</media:content>
	</item>
		<item>
		<title>(Insert Windows pun here)</title>
		<link>http://scottferg.wordpress.com/2009/01/09/insert-windows-pun-here/</link>
		<comments>http://scottferg.wordpress.com/2009/01/09/insert-windows-pun-here/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 06:21:25 +0000</pubDate>
		<dc:creator>scottferg</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://scottferg.wordpress.com/?p=14</guid>
		<description><![CDATA[Hold on a moment while I pour another beer.
I decided to be persistent tonight.  Rather than copy my 80 some gigs of music and additional 60+ gigs of code, documents, pictures, etc I opted to try out a full OS upgrade.  I haven&#8217;t done it in ages, and I wanted to see how [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=14&subd=scottferg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hold on a moment while I pour another beer.</p>
<p>I decided to be persistent tonight.  Rather than copy my 80 some gigs of music and additional 60+ gigs of code, documents, pictures, etc I opted to try out a full OS upgrade.  I haven&#8217;t done it in ages, and I wanted to see how it would turn out.</p>
<p>I think it&#8217;s my anal-retentive side that&#8217;s saying I&#8217;ll be doing a full re-install tomorrow when I get my beta key. This just doesn&#8217;t feel right.</p>
<p>That bit aside, I&#8217;m really enjoying this.  I tend to be a Windows sympathizer rather than a Windows fan, but this totally kicks ass.  My first impression was simply &#8220;It&#8217;s quick.&#8221;  There&#8217;s just something more there which probably stems from taking the Vista formula and washing/rinsing/repeating for the last 3 years to optimize the hell out of the core system.  I know Microsoft has been doing heavy research into lightweight kernels, but last I checked none of those were making it into Windows 7.  It seems something made it in, because this is damn fast.</p>
<p>Aside from the gentle flow that everything seems to have, most of the new features (multi-touch not included) appear to add to the simplicity of the interface.  Gadgets are no longer shackled to a sidebar, and the screen resolution is accessible by a simple right click on the desktop.  You can customize <em>every single </em>system tray icon to tell it which ones you want to hear from, and which ones you don&#8217;t.  It&#8217;s not form over function, but it&#8217;s not vice versa either.  The designers have struck a balance and it works.</p>
<p>It&#8217;s not all fun, it&#8217;s still a beta after all.  I had to work a little command-line black magic to get Chrome to run on the 64-bit version, and it appears as though Songbird wants to hijack my network connection.  I&#8217;ll have to work on some development this weekend to see how it handles under some level of stress, but I&#8217;m not holding my breath on any epic failures.</p>
<p><strong>Edit:</strong> The Chrome tweak required that I add &#8216; &#8211;in-process-plugins&#8217; to the end of the target in Chrome&#8217;s shortcut.  There&#8217;s two dashes in that first dash, not one.  Type the argument in, don&#8217;t copy and paste it.  Otherwise it won&#8217;t work.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottferg.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottferg.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottferg.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottferg.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottferg.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottferg.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottferg.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottferg.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottferg.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottferg.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottferg.wordpress.com&blog=6074804&post=14&subd=scottferg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://scottferg.wordpress.com/2009/01/09/insert-windows-pun-here/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e1a5c0d2c61f3d658900d80ea8087a40?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Scott</media:title>
		</media:content>
	</item>
	</channel>
</rss>