<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>explode into code</title>
	<atom:link href="http://jon.ursenba.ch/feed/" rel="self" type="application/rss+xml" />
	<link>http://jon.ursenba.ch</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 20 Dec 2009 00:09:01 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='jon.ursenba.ch' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/3923f0da30a217399ad378c2ba4e1152?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>explode into code</title>
		<link>http://jon.ursenba.ch</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jon.ursenba.ch/osd.xml" title="explode into code" />
	<atom:link rel='hub' href='http://jon.ursenba.ch/?pushpress=hub'/>
		<item>
		<title>amazon wishlists</title>
		<link>http://jon.ursenba.ch/2009/12/02/amazon-wishlists/</link>
		<comments>http://jon.ursenba.ch/2009/12/02/amazon-wishlists/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 23:52:48 +0000</pubDate>
		<dc:creator>jonursenbach</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jon.ursenba.ch/?p=46</guid>
		<description><![CDATA[Lot of people have been asking what to get me this holiday season so here&#8217;s a list of my Amazon wishlists:

Books: http://amzn.com/w/383TF9C6TOU06
Gadgets: http://amzn.com/w/2ZZJLUDJ12XD1
Video Games: http://amzn.com/w/3JEHFA99ZPEO0
Movies: http://amzn.com/w/2UMAOIX0FB025
Music: http://amzn.com/w/2PQNFOUJZUGUO
TV Series: http://amzn.com/w/2CRZO146E2NG5

       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jon.ursenba.ch&blog=9903775&post=46&subd=jonursenbach&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Lot of people have been asking what to get me this holiday season so here&#8217;s a list of my Amazon wishlists:</p>
<ul>
<li>Books: <a title="Amazon Wishlist - Books" href="http://amzn.com/w/383TF9C6TOU06">http://amzn.com/w/383TF9C6TOU06</a></li>
<li>Gadgets: <a title="Amazon Wishlist - Gadgets" href="http://amzn.com/w/2ZZJLUDJ12XD1">http://amzn.com/w/2ZZJLUDJ12XD1</a></li>
<li>Video Games: <a title="Amazon Wishlist - Video Games" href="http://amzn.com/w/3JEHFA99ZPEO0">http://amzn.com/w/3JEHFA99ZPEO0</a></li>
<li>Movies: <a title="Amazon Wishlist - Movies" href="http://amzn.com/w/2UMAOIX0FB025">http://amzn.com/w/2UMAOIX0FB025</a></li>
<li>Music: <a title="Amazon Wishlist - Music" href="http://amzn.com/w/2PQNFOUJZUGUO">http://amzn.com/w/2PQNFOUJZUGUO</a></li>
<li>TV Series: <a title="Amazon Wishlist - TV Series" href="http://amzn.com/w/2CRZO146E2NG5">http://amzn.com/w/2CRZO146E2NG5</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jonursenbach.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jonursenbach.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jonursenbach.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jonursenbach.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jonursenbach.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jonursenbach.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jonursenbach.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jonursenbach.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jonursenbach.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jonursenbach.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jon.ursenba.ch&blog=9903775&post=46&subd=jonursenbach&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://jon.ursenba.ch/2009/12/02/amazon-wishlists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e808ad574bee85d078fa0f3c956901ff?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">jonursenbach</media:title>
		</media:content>
	</item>
		<item>
		<title>IE Javascript Application Caveats</title>
		<link>http://jon.ursenba.ch/2009/07/18/ie-javascript-application-caveats/</link>
		<comments>http://jon.ursenba.ch/2009/07/18/ie-javascript-application-caveats/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 04:59:44 +0000</pubDate>
		<dc:creator>jonursenbach</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://jon.ursenba.ch/?p=30</guid>
		<description><![CDATA[The one and only thing that I despise with web development is having to deal with Internet Explorer. Aside from having to deal with the regular unsupported CSS bullshit, even worse is writing dynamic applications with Javascript. Generally if you are using a popular JS framework (jQuery, Prototype, MooTools), you shouldn&#8217;t have to worry too [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jon.ursenba.ch&blog=9903775&post=30&subd=jonursenbach&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>The one and only thing that I despise with web development is having to deal with Internet Explorer. Aside from having to deal with the regular unsupported CSS bullshit, even worse is writing dynamic applications with Javascript. Generally if you are using a popular JS framework (jQuery, Prototype, MooTools), you shouldn&#8217;t have to worry too much about cross-browser issues as the people running those teams have done all of the hard work for you. However, there are those few, but rare, moments where you come across an instance of IE implementing proper standards. The following are some of the more common cases that I&#8217;ve come across lately while reviewing code.</p>
<p><strong>objectName.delete();</strong></p>
<p>One of the few times where IE actually conforms to the EMCAScript standards is that you absolutely cannot have a function named &#8220;delete&#8221;. This will work in Firefox, Safari and Chrome (as far as I am aware at least), but will render an undecipherable error when loaded in IE.</p>
<p><strong>dontForgetYour;</strong></p>
<p>No butts about it, all statements must end with a semicolon.</p>
<p><strong>Give me 20 CCs of comma, stat!</strong></p>
<p>When working with JSON objects and arrays, leaving trailing commas at the end of your arrays are going to give you a bad time. Example:</p>
<p style="padding-left:30px;">var jsonObj;<br />
jsonObj = {&#8216;first&#8217;, &#8217;second&#8217;, &#8216;third&#8217;, &#8216;fourth&#8217;,};</p>
<p>Have fun tracking down that bug in a couple thousand line application!</p>
<p><strong>Var? What var?</strong></p>
<p>All variables that you&#8217;re using in functions, objects or classes must be declared with a proper var declaration. Forgetting to do this will sometimes cause your application to do some funky shit, but not always I&#8217;ve found. The randomness of bugs like this happening, though, are rare enough to deal with.</p>
<p><strong>So what can I do?</strong></p>
<p>Well the best thing you can do, since IE is notioriously difficult to debug JS applications is to properly lint your code with Douglas Crockford&#8217;s JSLint (<a href="http://jslint.com">http://jslint.com</a>). If you&#8217;re a PHP developer, or adept at running PHP CLI scripts, soon you will be able to use my JSLint-PHP program (<a href="http://code.google.com/p/jslint-php">http://code.google.com/p/jslint-php</a>).</p>
<p>Lastly, you can also install Firebug Lite (<a href="http://getfirebug.com/lite.html">http://getfirebug.com/lite.html</a>) so you have access to the standard Firebug console, allowing you to run things like console.log().</p>
<p>Hope this helps, and if you have any more tips please add them in the comments.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jonursenbach.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jonursenbach.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jonursenbach.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jonursenbach.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jonursenbach.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jonursenbach.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jonursenbach.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jonursenbach.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jonursenbach.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jonursenbach.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jon.ursenba.ch&blog=9903775&post=30&subd=jonursenbach&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://jon.ursenba.ch/2009/07/18/ie-javascript-application-caveats/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e808ad574bee85d078fa0f3c956901ff?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">jonursenbach</media:title>
		</media:content>
	</item>
		<item>
		<title>Tweet This, go fuck yourself</title>
		<link>http://jon.ursenba.ch/2009/06/24/tweet-this-go-fuck-yourself/</link>
		<comments>http://jon.ursenba.ch/2009/06/24/tweet-this-go-fuck-yourself/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 06:07:35 +0000</pubDate>
		<dc:creator>jonursenbach</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://jon.ursenba.ch/?p=28</guid>
		<description><![CDATA[Howard Beale put it best when he said that he was mad as hell and not going to take it anymore. This is how I feel right now after having to deal with the Tweet This WordPress plugin. Simply put, this plugin is the fucking worst. This plugin is so bad, that I&#8217;m writing my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jon.ursenba.ch&blog=9903775&post=28&subd=jonursenbach&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Howard Beale put it best when he said that he was mad as hell and not going to take it anymore. This is how I feel right now after having to deal with the <a href="http://richardxthripp.thripp.com/tweet-this">Tweet This</a> WordPress plugin. Simply put, this plugin is the fucking worst. This plugin is so bad, that I&#8217;m writing my first blog post in almost two years so I can publicly rant about this and get it out of my system.</p>
<p>Today, the public-facing side of our WordPress installation went down. Hard. The admin panel loaded, albeit very slowly, but was still available. At first I thought the problem was Apache acting up, as per usual. Restarted Apache, no change. Time to check the database. Database is good, off to the error logs. Ah ha!</p>
<p class="wp-caption-dd" style="padding-left:30px;">PHP Warning:  fopen(http://th8.us/ttph.php?s&#8230;&#8230;.. in plugins/tweet-this/tweet-this.php on line 29<br />
PHP Warning:  fread(): supplied argument is not a valid stream resource in plugins/tweet-this/tweet-this.php on line 30<br />
PHP Warning:  fclose(): supplied argument is not a valid stream resource in plugins/tweet-this/tweet-this.php on line 30</p>
<p>Loading up http://th8.us in my browser and it times out. I try to ping it and still nothing; it&#8217;s down for the count. My immediate thought is that this plugin is opening up HTTP connections for every post for people who want to, or are trying to, share posts on Twitter. So I load up the Settings and change the default URL shortener to TinyURL and restart Apache for good measure. Load up the error logs and it&#8217;s still coming through. Try to load up the site and nothing. Joy. Time to roll up my sleeves and dive into this code.</p>
<p>I put on a pair of 3d glasses, because apparently this developer has never heard of, or practiced, writing readable and maintainable code, and find this nugget.</p>
<p class="wp-caption-dd" style="padding-left:30px;">// Big brother is watching.<br />
function tt_phone_home($status) {<br />
global $current_site; global $wpdb; $wpv = get_bloginfo(&#8216;version&#8217;);<br />
$siteURL = $current_site-&gt;domain; $blogURL = get_bloginfo(&#8216;url&#8217;);<br />
$title = get_bloginfo(&#8216;name&#8217;); $email = get_bloginfo(&#8216;admin_email&#8217;);<br />
$description = get_bloginfo(&#8216;description&#8217;);<br />
$lang = get_bloginfo(&#8216;language&#8217;);<br />
$posts = number_format($wpdb-&gt;get_var(&#8220;SELECT COUNT(*)<br />
FROM $wpdb-&gt;posts WHERE post_status = &#8216;publish&#8217;&#8221;));<br />
$settings = $wpdb-&gt;get_var(&#8220;SELECT option_value<br />
FROM $wpdb-&gt;options WHERE option_name = &#8216;tweet_this_settings&#8217;&#8221;);<br />
$phone = tt_read_file(&#8216;http://th8.us/ttph.php?s=&#8217; . $siteURL . &#8216;&amp;b=&#8217; .<br />
$blogURL . &#8216;&amp;v=1.3.9&amp;u=&#8217; . $status . &#8216;&amp;p=&#8217; . $posts . &#8216;&amp;t=&#8217; .<br />
urlencode($title) . &#8216;&amp;d=&#8217; . urlencode($description) . &#8216;&amp;l=&#8217; .<br />
urlencode($lang) . &#8216;&amp;e=&#8217; . urlencode($email) . &#8216;&amp;w=&#8217; . $wpv .<br />
&#8216;&amp;x=&#8217; . urlencode($settings));<br />
}</p>
<p>What the fuck is this shit? tt_phone_home()? It&#8217;s sending home our site URL, blog URL, installed version of WordPress, amount of published posts, blog title, description language and the administrator email. Fan-fucking-tastic. Mention of this is nowhere to be found in the plugin readme or FAQ.</p>
<p>If you&#8217;re going to have a plugin phone home on every page load, and not tell anybody about it or have any setting to turn it off aside from commenting it out, you damned be sure to make sure that server never goes down, or at least have your file_get_contents() call in tt_read_file() timeout instead of just sitting there opening up connections to a dead host.</p>
<p>Tweet This, go fuck yourself.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jonursenbach.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jonursenbach.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jonursenbach.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jonursenbach.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jonursenbach.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jonursenbach.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jonursenbach.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jonursenbach.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jonursenbach.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jonursenbach.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jon.ursenba.ch&blog=9903775&post=28&subd=jonursenbach&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://jon.ursenba.ch/2009/06/24/tweet-this-go-fuck-yourself/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e808ad574bee85d078fa0f3c956901ff?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">jonursenbach</media:title>
		</media:content>
	</item>
	</channel>
</rss>