<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Pointless Rants &#187; Blog Post</title>
	<atom:link href="http://www.pointlessrants.com/category/blog-post/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pointlessrants.com</link>
	<description>Rants that are usually about technology</description>
	<lastBuildDate>Thu, 12 Jan 2012 23:57:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<copyright>2006-2010 </copyright>
	<managingEditor>daspecster@gmail.com (Thomas Schultz)</managingEditor>
	<webMaster>daspecster@gmail.com (Thomas Schultz)</webMaster>
	<category>Technology</category>
	<ttl>1440</ttl>
	<image>
		<url>http://www.pointlessrants.com/wp-content/uploads/2011/01/pointlesslogo144x144.png</url>
		<title>Pointless Rants</title>
		<link>http://www.pointlessrants.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:new-feed-url>http://feeds2.feedburner.com/PointlessRantsPodcast</itunes:new-feed-url>
	<itunes:subtitle>Pointless Rants about technology and everyday happenings</itunes:subtitle>
	<itunes:summary>Rants that are usually about technology</itunes:summary>
	<itunes:keywords>rants, technology, computers, programming, network, windows, mac, linux</itunes:keywords>
	<itunes:category text="Technology" />
	<itunes:category text="Technology">
		<itunes:category text="Tech News" />
	</itunes:category>
	<itunes:category text="News &#38; Politics" />
	<itunes:author>Thomas Schultz</itunes:author>
	<itunes:owner>
		<itunes:name>Thomas Schultz</itunes:name>
		<itunes:email>daspecster@gmail.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.pointlessrants.com/wp-content/uploads/2011/01/pointlesslogo600x600.png" />
		<item>
		<title>Lulzsec is back?!?</title>
		<link>http://www.pointlessrants.com/2012/01/lulzsec-is-back/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lulzsec-is-back</link>
		<comments>http://www.pointlessrants.com/2012/01/lulzsec-is-back/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 23:57:23 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[lulzsec]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1286</guid>
		<description><![CDATA[So apparently about 2 hours ago Lulzsec posted a leak to some other Dutch website&#8217;s email and phone numbers. They have a new twitter account www.twitter.com/Ingratefully. Is this the return or some group posing as lulzsec? Related Posts:Google account of &#8230;<p class="read-more"><a href="http://www.pointlessrants.com/2012/01/lulzsec-is-back/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>So apparently about 2 hours ago Lulzsec posted a leak to some other Dutch website&#8217;s email and phone numbers.</p>
<p>They have a new twitter account www.twitter.com/Ingratefully.</p>
<p>Is this the return or some group posing as lulzsec?</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2009/07/google-account-of-twitter-employee-hacked/" rel="bookmark" class="crp_title">Google account of Twitter employee hacked</a></li><li><a href="http://www.pointlessrants.com/2009/12/how-many-users-on-twitter/" rel="bookmark" class="crp_title">How many users on Twitter?</a></li><li><a href="http://www.pointlessrants.com/2009/02/facebooks-25-random-things/" rel="bookmark" class="crp_title"># Facebook&#8217;s 25 Random Things</a></li><li><a href="http://www.pointlessrants.com/2011/01/fifth-third-and-mint-com-broken-solved-for-me-at-least/" rel="bookmark" class="crp_title">Fifth Third and Mint.com Broken&#8230;(Solved!&#8230;for me at least)</a></li><li><a href="http://www.pointlessrants.com/2010/12/microsoft-phone-7-sells-1-5-million-units-official-press-release/" rel="bookmark" class="crp_title">Microsoft Phone 7 Sells 1.5 million units (Official Press Release)</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2012/01/lulzsec-is-back/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Abu.js mischievous script&#8230;</title>
		<link>http://www.pointlessrants.com/2011/10/abu-js-mischievous-script/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=abu-js-mischievous-script</link>
		<comments>http://www.pointlessrants.com/2011/10/abu-js-mischievous-script/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 19:00:47 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[slash]]></category>
		<category><![CDATA[t-shirt]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1274</guid>
		<description><![CDATA[Abu.js is an interesting delve into the depth of JavaScript's capabilities with scope. This script will randomly change your scripts variable scope. Load it up and let it fly!


https://github.com/recomputing/abu.js  

Get the t-shirt! http://www.zazzle.com/dont_fork_abu_js_tshirt-235023689340217923<p class="read-more"><a href="http://www.pointlessrants.com/2011/10/abu-js-mischievous-script/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Abu.js is an interesting delve into the depth of JavaScript&#8217;s capabilities with scope. This script will randomly change your scripts variable scope. Load it up and let it fly!</p>
<p><a href="https://github.com/recomputing/abu.js">https://github.com/recomputing/abu.js</a></p>
<p>Get the t-shirt! <a href="http://www.zazzle.com/dont_fork_abu_js_tshirt-235023689340217923">http://www.zazzle.com/dont_fork_abu_js_tshirt-235023689340217923</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2011/10/in-lieu-of-the-more-commonplace-sobriquet/" rel="bookmark" class="crp_title">In lieu of the more commonplace sobriquet&#8230;</a></li><li><a href="http://www.pointlessrants.com/2010/12/unittest-xml-reporting-multi-database-django-1-2/" rel="bookmark" class="crp_title">unittest-xml-reporting multi database django 1.2</a></li><li><a href="http://www.pointlessrants.com/2009/02/python-scripting-within-a-python-script/" rel="bookmark" class="crp_title">Python Scripting within a Python Script</a></li><li><a href="http://www.pointlessrants.com/2009/06/thumb-drive-power/" rel="bookmark" class="crp_title">Thumb Drive Power</a></li><li><a href="http://www.pointlessrants.com/2011/06/pointless-rants-android-update-v1-1/" rel="bookmark" class="crp_title">Pointless Rants Android Update! v1.1</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/10/abu-js-mischievous-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>In lieu of the more commonplace sobriquet&#8230;</title>
		<link>http://www.pointlessrants.com/2011/10/in-lieu-of-the-more-commonplace-sobriquet/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=in-lieu-of-the-more-commonplace-sobriquet</link>
		<comments>http://www.pointlessrants.com/2011/10/in-lieu-of-the-more-commonplace-sobriquet/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 01:55:32 +0000</pubDate>
		<dc:creator>Akoi Meexx</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Gallery]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Lightbox]]></category>
		<category><![CDATA[Simple]]></category>
		<category><![CDATA[Viewer]]></category>
		<category><![CDATA[Viewie]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1269</guid>
		<description><![CDATA[With no time for a proper introduction, allow me then to share a brand new jQuery plugin for your enjoyment &#8212; Viewie! Viewie for jQuery was written in response to the plethora of Lightbox-clone plugins that all do the same &#8230;<p class="read-more"><a href="http://www.pointlessrants.com/2011/10/in-lieu-of-the-more-commonplace-sobriquet/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>With no time for a proper introduction, allow me then to share a brand new jQuery plugin for your enjoyment &#8212; <a href="https://github.com/akoimeexx/jQuery-Viewie-Plugin" target="_blank">Viewie</a>!</p>
<p>Viewie for jQuery was written in response to the plethora of Lightbox-clone plugins that all do the same thing: They open a modal window, darken (or otherwise hide) the original page, and show you the content in the modal window. Everybody and their uncle has written a lightbox clone now, and I have yet to find the one that just lets me make my own choices.</p>
<p>Gone is the modal window! Gone are external style dependencies like images and stylesheets! Viewie has two dependencies. jQuery and jQuery UI. If you&#8217;re any web developer worth your salt you&#8217;re using these already so now your dependency listing just dropped to nil. So go ahead, check out Viewie now!</p>
<p>You can find Viewie in these great locations¹:</p>
<ul>
<li><a href="https://github.com/akoimeexx/jQuery-Viewie-Plugin" target="_blank">GitHub</a> (The most up-to-date location)!</li>
<li><a href="http://plugins.jquery.com/project/viewie" target="_blank">jQuery Plugins</a>!</li>
</ul>
<div>¹ <span style="font-size: x-small;">Any statements or opinions shared here are solely the views of the author and may or may not in fact be accurate. These sites may or may not in fact be all that great, but sharing code is a heck of a nice gesture so we recommend it all the same.</span></div>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2011/07/language-personalities/" rel="bookmark" class="crp_title">Language Personalities</a></li><li><a href="http://www.pointlessrants.com/2009/07/speed/" rel="bookmark" class="crp_title">Speed</a></li><li><a href="http://www.pointlessrants.com/2009/12/bing-com-blunder-page-21-goes-blank-firefox/" rel="bookmark" class="crp_title">Bing.com blunder: Page 21 goes blank (FireFox)</a></li><li><a href="http://www.pointlessrants.com/2011/03/keys-to-a-stable-application/" rel="bookmark" class="crp_title">Keys to a stable application</a></li><li><a href="http://www.pointlessrants.com/2011/05/junit-and-pyunit-ignore-and-expectedfailure/" rel="bookmark" class="crp_title">JUnit and PyUnit, @Ignore and @expectedFailure</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/10/in-lieu-of-the-more-commonplace-sobriquet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Node Ice&#8217;s Node Knockout Mostly Non-technical Postmortem</title>
		<link>http://www.pointlessrants.com/2011/08/node-ices-node-knockout-mostly-non-technical-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=node-ices-node-knockout-mostly-non-technical-postmortem</link>
		<comments>http://www.pointlessrants.com/2011/08/node-ices-node-knockout-mostly-non-technical-postmortem/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 06:14:24 +0000</pubDate>
		<dc:creator>Steve Oxley</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[postmortem]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1248</guid>
		<description><![CDATA[It all started on a dark summer night (as nights are wont to be) at the Hashrocket office in downtown Chicago. Three programmers and a designer gathered to beget the greatest Node Knockout application mankind had ever seen!<p class="read-more"><a href="http://www.pointlessrants.com/2011/08/node-ices-node-knockout-mostly-non-technical-postmortem/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>This past weekend, I participated in the 48-hour <a href="http://nodeknockout.com">Node Knockout competition</a> with <a href="http://twitter.com/calebcornman">@calebcornman</a>, <a href="http://twitter.com/endangeredmassa">@endangeredmassa</a>, and <a href="http://twitter.com/kfalter">@kfalter</a> (if you don&#8217;t know, I am <a href="http://twitter.com/xonev">@xonev</a>). It was quite the experience. We created the first iteration of what I think is a pretty cool commenting system called <a href="http://markover.nodejitsu.com/">markover</a> (feel free to click on that link, vote, and help us win the competition).</p>
<p>The reason I (and the rest of the team) think it is better than most commenting systems out there is that it <em>is</em> better than most of the commenting systems out there. Our comments are presented to you in real time alongside whatever article you are reading. Not only that, but every comment can be associated with specific parts of the article (including text and even images).</p>
<p>Of course, due to the fact that it was a 48-hour competition, we aren&#8217;t completely satisfied with all that we did, but I think that we accomplished a good amount in the time we had. Following is the story of what we did and how we did it.</p>
<p>It all started on a dark summer night (as nights are wont to be) at the Hashrocket office in downtown Chicago. Three programmers and a designer gathered to beget the greatest Node Knockout application mankind had ever seen! The only foreseeable problem was that they all weren&#8217;t in the same boat as to what exactly this application was going to be. Did they have ideas? Of course. Were some of the ideas pretty good? Absolutely. Did some of them already exist in superior forms to what these brave creators thought could be accomplished in 48 hours? Most definitely. (I think all of those were mine.) But the real problem was they had less than two hours until the competition started and they hadn&#8217;t even hashed out any of the major implementation details. Nevertheless, undaunted, they selected the idea which perched atop the pile and set forth (errr, sat down) to build a better tomorrow for commenters everywhere.</p>
<p>The first night everyone was relatively fresh and the building began at a breakneck pace. The fearless paragons of application construction split up tasks, identifying potential problem areas and tackling those first. Of course, @kfalter began design of the site, @calebcornamn decided he would tackle authentication (which turned out to be much more difficult than any of them expected), @endangeredmassa volunteered to battle with setting up the back-end, and @xonev got stuck with the UI coding (which, to his credit, he only complained about a little bit). The first night went swimmingly &#8211; the API for creation and retrieval of comments began to take shape, mock-ups of the interface were created, Facebook and Twitter authentication were investigated, and a silly little commenting pop-up dialog was formed. The courageous band even got some sleep.</p>
<p>The next day, the pace continued, but, as the day wore on, the group began to wear around the edges. @endangeredmassa mercilessly revealed bugs in @xonev&#8217;s code, @calebcornman slowly came to the realization that neither Facebook nor Twitter easily fit the needs of the application&#8217;s authentication, @xonev&#8217;s jokes began to make less and less sense (which is pretty bad considering how much sense they were making at the beginning), and @kfalter continued on merrily designing, unconcerned by the obvious downturn events were taking.</p>
<p>On the third and final day, everything started to come together. Everyone except @xonev was relatively fresh due to getting a more-or-less reasonable amount of sleep the second night. @xonev had only taken a half-hour nap. Around noon, he began to descend into delirium, singing snatches of Michael Jackson songs and often forgetting what he had been working on. Fortunately, the core of what he had been working on was already implemented and the others were able to pick up the slack. In the final hours, @kfalter, @endangeredmassa, and @calebcornman all worked furiously to put finishing touches on the application &#8211; @kfalter putting in place the demo and &#8220;splash&#8221; pages and @endangeredmassa and @calebcornman fighting with deployment issues. Meanwhile, @xonev was either wandering around from computer to computer, barely able to think straight enough to ask what he should be working on or threatening to push some nonexistent code that would supposedly break everything.</p>
<p>Fortunately, despite @xonev&#8217;s threats, everything came together in a reasonably working order. Granted, there were some desired features that were missing from the submission &#8211; things such as comment threads, closer tying of comments to context (highlighting the actual text commented on instead of just the section commented on), and IE and Firefox support (Firefox was working at some points throughout the weekend, but @xonev was too useless to remember to check it out toward the end of the competition) &#8211; but there is clearly potential displayed in what was submitted and the possibilities of future development.</p>
<p>So that&#8217;s the story of what happened with our Node Knockout experience this past weekend. I learned that sleep is important &#8211; I really was useless at the end. I should have taken naps more frequently or perhaps dedicated a chunk of time here or there for sleeping. I think that going with an hour-and-a-half nap every so often would have been beneficial. That way I could&#8217;ve gotten a full sleep cycle in, which I am sure would have assisted with refreshing the ol&#8217; noggin. I also think that we should have spent more time before the competition going over exactly what we were going to attempt to do and how we were going to attempt it. I&#8217;m actually somewhat surprised at how well it turned out considering the amount of planning that occurred beforehand. I think it speaks to the flexibility and skills of the team.</p>
<p>In conclusion, I just want to say that I would recommend this type of competition to anyone who likes to build stuff. It was a ton of fun to work with a few other people to put together an application in a frighteningly short amount of time. It was also great to build something that just might turn into something bigger in the (hopefully near) future.</p>
<p>Disclaimer: any and all opinions, jokes, and facts included in this blog post are those held, told, and perceived (respectively) by @xonev and do not necessarily reflect the opinions, sense of humor, or interpretation of events of anyone else mentioned or not mentioned in this blog post.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2009/02/os-critique-ubuntu/" rel="bookmark" class="crp_title">OS Critique: Ubuntu</a></li><li><a href="http://www.pointlessrants.com/2010/02/why-cloud-computing-doesnt-make-sense-for-me/" rel="bookmark" class="crp_title">Why Cloud Computing Doesn&#8217;t Make Sense For Me</a></li><li><a href="http://www.pointlessrants.com/2010/02/f-lux/" rel="bookmark" class="crp_title">f.lux</a></li><li><a href="http://www.pointlessrants.com/2009/09/balthasar-week-2-report/" rel="bookmark" class="crp_title">Balthasar Week 2 Report</a></li><li><a href="http://www.pointlessrants.com/2009/12/how-many-users-on-twitter/" rel="bookmark" class="crp_title">How many users on Twitter?</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/08/node-ices-node-knockout-mostly-non-technical-postmortem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s lesser known projects</title>
		<link>http://www.pointlessrants.com/2011/07/googles-lesser-known-projects/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=googles-lesser-known-projects</link>
		<comments>http://www.pointlessrants.com/2011/07/googles-lesser-known-projects/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 03:50:41 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Comedy]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1241</guid>
		<description><![CDATA[Some of you may have realized that Google is more than just searches! Google is really diversified in it's research and development. Here are some of Google's lesser known projects.<p class="read-more"><a href="http://www.pointlessrants.com/2011/07/googles-lesser-known-projects/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Some of you may have realized that Google is more than just searches! Google is really diversified in it&#8217;s research and development. Here are some of Google&#8217;s lesser known projects.</p>
<p>&nbsp;</p>
<h3>Google TiSP:</h3>
<p>Google&#8217;s free in home broadband service.</p>
<p><a title="Google TiSP" href="http://www.google.com/tisp/">http://www.google.com/tisp/</a></p>
<p>&nbsp;</p>
<h3>Google Gulp:</h3>
<p>Let Google quench your thirst!</p>
<p><a title="Google Gulp" href="http://www.google.com/googlegulp/">http://www.google.com/googlegulp/</a></p>
<p>&nbsp;</p>
<h3>Google Romance:</h3>
<p>Match.com and E-harmony.com don&#8217;t know you this well&#8230;</p>
<p><a title="Google Romance" href="http://www.google.com/romance/">http://www.google.com/romance/</a></p>
<p>&nbsp;</p>
<h3>Google Lunar Jobs:</h3>
<p>To infinity and beyond!</p>
<p><a title="Google Lunar Jobs" href="http://www.google.com/jobs/lunar_job.html">http://www.google.com/jobs/lunar_job.html</a></p>
<p>&nbsp;</p>
<h3>Google PigeonRank:</h3>
<p>Homing in on your search terms.</p>
<p><a title="Google PigeonRank" href="http://www.google.com/technology/pigeonrank.html">http://www.google.com/technology/pigeonrank.html</a></p>
<p>&nbsp;</p>
<h3>Google MentalPlex:</h3>
<p>This project has been in the works for more than 10 years!</p>
<p><a title="Google MentalPlex" href="http://www.google.com/mentalplex/">http://www.google.com/mentalplex/</a></p>
<p>&nbsp;</p>
<p>Google seems like a fun place to work!</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2009/02/the-google-bubble-bursts/" rel="bookmark" class="crp_title">The Google Bubble Bursts</a></li><li><a href="http://www.pointlessrants.com/2009/02/final-thoughts-on-google/" rel="bookmark" class="crp_title">Final Thoughts on Google</a></li><li><a href="http://www.pointlessrants.com/2011/06/google-adds-voice-search-to-homepage/" rel="bookmark" class="crp_title">Google Adds Voice Search to Homepage</a></li><li><a href="http://www.pointlessrants.com/2009/07/google-sheds-beta/" rel="bookmark" class="crp_title">Google Sheds Beta</a></li><li><a href="http://www.pointlessrants.com/2009/02/the-future-of-google/" rel="bookmark" class="crp_title">The Future of Google</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/07/googles-lesser-known-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Language Personalities</title>
		<link>http://www.pointlessrants.com/2011/07/language-personalities/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=language-personalities</link>
		<comments>http://www.pointlessrants.com/2011/07/language-personalities/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 17:37:46 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1236</guid>
		<description><![CDATA[Language Personality Jokes!
Objective C - Starts all jokes with NS.
Haskell - Tells Jokes that no one gets.
JavaScript - Tells jokes that aren't funny.
Jquery - Re-tells JavaScript's jokes so they're funny.
Clojure - Tells the punchline first.
PHP - Tells dirty jokes and then stops running.

And more!<p class="read-more"><a href="http://www.pointlessrants.com/2011/07/language-personalities/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<pre>C - Doesn't tell Jokes.
C++ - Will never tell a joke about objects.
C# - Tells jokes that only windows thinks is funny.
Java - Starts telling jokes but forgets the punchline.
Ruby - Never tells a joke the same way twice.
Perl - Tells jokes it doesn't understand anymore.
Python - Only tells peer reviewed jokes.
Objective C - Starts all jokes with NS.
Haskell - Tells Jokes that no one gets.
JavaScript - Tells jokes that aren't funny.
Jquery - Re-tells JavaScript's jokes so they're funny.
Clojure - Tells the punchline first.
PHP - Tells dirty jokes and then stops running.
MySQL - Can only tell jokes that it can find on it's indexes.
CSS - Only tells jokes that IE doesn't get.
CSS2 - Only tells jokes that IE doesn't get.
CSS3 - Only tells funnier jokes that IE doesn't get.
HTML - Tells you everything about the joke before it tells you the joke.
Django - Puts a new spin on old jokes you've heard before.
Rails - Tells one joke that's really funny but that's it.
Drupal - Calls in bomb threats.
NodeJS - Tells jokes that aren't funny on the server.

Post your language joke personalities!</pre>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2009/08/php5-cli-versus-python-cli/" rel="bookmark" class="crp_title">PHP5-CLI versus Python CLI</a></li><li><a href="http://www.pointlessrants.com/2010/05/getting-started-with-googlecode-and-mercurial/" rel="bookmark" class="crp_title">Getting Started with GoogleCode and Mercurial</a></li><li><a href="http://www.pointlessrants.com/2011/08/node-ices-node-knockout-mostly-non-technical-postmortem/" rel="bookmark" class="crp_title">Node Ice&#8217;s Node Knockout Mostly Non-technical Postmortem</a></li><li><a href="http://www.pointlessrants.com/2009/11/clojure-wheres-the-elegance/" rel="bookmark" class="crp_title">Clojure: Where&#8217;s the Elegance?</a></li><li><a href="http://www.pointlessrants.com/2009/02/threading-in-python/" rel="bookmark" class="crp_title"># Threading in Python</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/07/language-personalities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 Voice Search for your blog! (Chrome only)</title>
		<link>http://www.pointlessrants.com/2011/06/html5-voice-search-for-your-blog-chrome-only/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=html5-voice-search-for-your-blog-chrome-only</link>
		<comments>http://www.pointlessrants.com/2011/06/html5-voice-search-for-your-blog-chrome-only/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 04:19:53 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Speech Recognition]]></category>
		<category><![CDATA[Voice search]]></category>
		<category><![CDATA[W3]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1219</guid>
		<description><![CDATA[A while ago Google added their voice search to google.com.  This feature has been around for a while on Android and proven to be quite useful.

The HTML5 drafts have begun defining the api for voice search.

http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html

If you have Google Chrome and you've tried the voice search, then you might want to add it to your site!

Believe it or not, it's really simple! I added it to this website in about 30 minutes from not knowing anything about to full implementation.  Read on for Code!<p class="read-more"><a href="http://www.pointlessrants.com/2011/06/html5-voice-search-for-your-blog-chrome-only/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<img width="128" height="128" src="http://www.pointlessrants.com/wp-content/uploads/2011/06/HTML5_Logo_128.png" class="attachment-extra-featured-image wp-post-image" alt="HTML5 Logo Shield" title="HTML5 Logo" /><h2>HTML5 Voice Search How To</h2>
<p>A while ago Google added their voice search to google.com.  This feature has been around for a while on Android and proven to be quite useful.</p>
<p>The HTML5 drafts have begun defining the api for voice search.</p>
<p><a title="w3 draft html5 speech recognition" href="http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html  ">http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html</a></p>
<p>If you have Google Chrome and you&#8217;ve tried the voice search, then you might want to add it to your site!</p>
<p>Believe it or not, it&#8217;s really simple! I added it to this website in about 30 minutes from not knowing anything about to full implementation.</p>
<h2>How to do it!</h2>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;&lt;/head&gt;
    &lt;body&gt;
        &lt;script type="text/javascript"&gt;     
            function startSearch(event) {       
               document.getElementById("searchform").submit();     
            }   
        &lt;/script&gt;
        &lt;form action="#" method="get" id="searchform"&gt;
            &lt;input title="Search"  type="text" name="q"  x-webkit-speech="" x-webkit-grammar="builtin:search" onwebkitspeechchange="startSearch()" /&gt;
        &lt;/form&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre>
<h2>More Information</h2>
<p><a title="Html5 Speech Voice Search" href="http://slides.html5rocks.com/#speech-input">http://slides.html5rocks.com/#speech-input</a></p>
<p><a title="W3 HTML Voice" href="http://www.w3.org/TR/xhtml+voice/">http://www.w3.org/TR/xhtml+voice/</a></p>
<p><a title="W3 HTML5 speech recognition" href="http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html  ">http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2011/06/google-adds-voice-search-to-homepage/" rel="bookmark" class="crp_title">Google Adds Voice Search to Homepage</a></li><li><a href="http://www.pointlessrants.com/2009/09/public-ip/" rel="bookmark" class="crp_title">Public IP</a></li><li><a href="http://www.pointlessrants.com/2009/02/search-newegg-with-ubiquity/" rel="bookmark" class="crp_title">Search Newegg with Ubiquity!</a></li><li><a href="http://www.pointlessrants.com/2009/02/google-de-bursts-its-bubble/" rel="bookmark" class="crp_title">Google De-bursts Its Bubble</a></li><li><a href="http://www.pointlessrants.com/2010/11/search-engine/" rel="bookmark" class="crp_title">Search Engine Wars</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/06/html5-voice-search-for-your-blog-chrome-only/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>United Airlines Computer &#8220;Glitch&#8221; or hacked?</title>
		<link>http://www.pointlessrants.com/2011/06/united-airlines-computer-glitch-or-hacked/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=united-airlines-computer-glitch-or-hacked</link>
		<comments>http://www.pointlessrants.com/2011/06/united-airlines-computer-glitch-or-hacked/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 02:41:48 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Hacked]]></category>
		<category><![CDATA[Oops]]></category>
		<category><![CDATA[Outage]]></category>
		<category><![CDATA[United Airlines]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1210</guid>
		<description><![CDATA[In case you were flying United Airlines on Friday the 17th, you may have noticed the United Airlines staff were a bit frantic.

United said its flight departures, airport processing and reservation system, including its website, were affected by the outage.<p class="read-more"><a href="http://www.pointlessrants.com/2011/06/united-airlines-computer-glitch-or-hacked/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>In case you were flying United Airlines on Friday the 17th, you may have noticed the United Airlines staff were a bit frantic.</p>
<p><cite title="Business Week" lang="English">United said its flight departures, airport processing and reservation system, including its website, were affected by the outage.<br />
</cite></p>
<p>- http://www.businessweek.com/ap/financialnews/D9NU7J481.htm</p>
<p>My question is simply this&#8230;hacked? or did a squirrel chew through the fiber again?</p>
<p>Comment away guys!</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2011/02/save-us-from-the-nasdaq-neo/" rel="bookmark" class="crp_title">Save us from the NASDAQ Neo!</a></li><li><a href="http://www.pointlessrants.com/2011/05/authentic-jobs-uk/" rel="bookmark" class="crp_title">Authentic Jobs UK</a></li><li><a href="http://www.pointlessrants.com/2009/07/google-account-of-twitter-employee-hacked/" rel="bookmark" class="crp_title">Google account of Twitter employee hacked</a></li><li><a href="http://www.pointlessrants.com/2009/03/who-needs-some-chainlove/" rel="bookmark" class="crp_title">Who needs some Chainlove?</a></li><li><a href="http://www.pointlessrants.com/2009/11/amds-chance-to-gain-power/" rel="bookmark" class="crp_title">AMD&#8217;s chance to gain power</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/06/united-airlines-computer-glitch-or-hacked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Python import GeoIP in OS X</title>
		<link>http://www.pointlessrants.com/2011/06/how-to-python-import-geoip-in-os-x/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-python-import-geoip-in-os-x</link>
		<comments>http://www.pointlessrants.com/2011/06/how-to-python-import-geoip-in-os-x/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 01:05:45 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[C Libraries]]></category>
		<category><![CDATA[GeoIP]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[MaxMind]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Usage]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1122</guid>
		<description><![CDATA[I've recently purchased a MacBook Pro and I started doing some Python/Django development. I came to a point where I had to use some of MaxMind.com's GeoIP module.
In Ubuntu you can essentially sudo apt-get install python-geoip and things start working but it takes a slight bit more in OSX.<p class="read-more"><a href="http://www.pointlessrants.com/2011/06/how-to-python-import-geoip-in-os-x/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<img width="100" height="130" src="http://www.pointlessrants.com/wp-content/uploads/2011/05/python-powered-h-100x130.png" class="attachment-extra-featured-image wp-post-image" alt="python-powered-h-100x130" title="python-powered-h-100x130" /><p>I&#8217;ve recently purchased a MacBook Pro and I started doing some Python/Django development. I came to a point where I had to use some of MaxMind.com&#8217;s GeoIP module and setting GeoIP up on OSX was a bit more challenging than Ubuntu but it wasn&#8217;t too bad.</p>
<p>In Ubuntu you can essentially <em>sudo apt-get install python-geoip</em> and things start working but it takes a slight bit more in OSX.</p>
<p>&nbsp;</p>
<p>In order to do this on the Mac/OS X you need to install two things,<br />
1. The MaxMind GeoIP C library http://www.maxmind.com/app/c<br />
<code>./configure<br />
make<br />
make check<br />
make install</code></p>
<p>and 2. The Python MaxMind GeoIP library http://www.maxmind.com/app/python<br />
<code>python2 setup.py build<br />
python2 setup.py install</code></p>
<p>&nbsp;</p>
<p>For further information here&#8217;s a great page on MaxMind.com http://www.maxmind.com/app/geoip_resources</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2010/05/python-geoip-python-geoip-cities-tutorial/" rel="bookmark" class="crp_title">Python GeoIP (python-geoip) cities tutorial</a></li><li><a href="http://www.pointlessrants.com/2011/05/python-geoip-to-timezone-plus-daylight-savings-time-calculation/" rel="bookmark" class="crp_title">Python GeoIP to TimeZone! Plus Daylight Savings Time calculation!</a></li><li><a href="http://www.pointlessrants.com/2009/10/setting-up-for-python-development-in-ubuntu/" rel="bookmark" class="crp_title">Setting up for Python development in Ubuntu</a></li><li><a href="http://www.pointlessrants.com/2009/02/opengl-in-python/" rel="bookmark" class="crp_title"># OpenGL in Python</a></li><li><a href="http://www.pointlessrants.com/2009/02/python-scripting-within-a-python-script/" rel="bookmark" class="crp_title">Python Scripting within a Python Script</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/06/how-to-python-import-geoip-in-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Adds Voice Search to Homepage</title>
		<link>http://www.pointlessrants.com/2011/06/google-adds-voice-search-to-homepage/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-adds-voice-search-to-homepage</link>
		<comments>http://www.pointlessrants.com/2011/06/google-adds-voice-search-to-homepage/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 13:31:31 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[Voice search]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1199</guid>
		<description><![CDATA[It appears that Google has added voice search to their homepage today.

This feature has been on Android and iPhones for quite a while now, providing nearly hands free searching to it's users.<p class="read-more"><a href="http://www.pointlessrants.com/2011/06/google-adds-voice-search-to-homepage/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>It appears that Google has added voice search to their homepage today.</p>
<p>This feature has been on Android and iPhones for quite a while now, providing nearly hands free searching to it&#8217;s users.</p>
<p><a href="http://www.pointlessrants.com/wp-content/uploads/2011/06/new-google.png"><img class="aligncenter size-medium wp-image-1200" title="Google Update" src="http://www.pointlessrants.com/wp-content/uploads/2011/06/new-google-300x175.png" alt="Google homepage updated with voice search" width="300" height="175" /></a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2011/01/super-bowl-xlv-ticket-price-absurdity/" rel="bookmark" class="crp_title">Super Bowl XLV Ticket Price Absurdity!</a></li><li><a href="http://www.pointlessrants.com/2011/02/why-i-shouldnt-facebook/" rel="bookmark" class="crp_title">Why I shouldn&#8217;t Facebook.</a></li><li><a href="http://www.pointlessrants.com/2011/06/html5-voice-search-for-your-blog-chrome-only/" rel="bookmark" class="crp_title">HTML5 Voice Search for your blog! (Chrome only)</a></li><li><a href="http://www.pointlessrants.com/2011/01/android-3-0-for-the-rest-of-us/" rel="bookmark" class="crp_title">Android 3.0 for the rest of us?</a></li><li><a href="http://www.pointlessrants.com/2009/07/speed/" rel="bookmark" class="crp_title">Speed</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/06/google-adds-voice-search-to-homepage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pointless Rants Android Update! v1.1</title>
		<link>http://www.pointlessrants.com/2011/06/pointless-rants-android-update-v1-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pointless-rants-android-update-v1-1</link>
		<comments>http://www.pointlessrants.com/2011/06/pointless-rants-android-update-v1-1/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 01:30:23 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Android App]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Pointless Rants]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1197</guid>
		<description><![CDATA[Hey! I added some new stuff to the android app! You can listen to podcasts now! I know it doesn't work great but the capability is at least there.

I also added some loading messages. I hope you guys can get some use out of it! Thanks to all those who've downloaded already!<p class="read-more"><a href="http://www.pointlessrants.com/2011/06/pointless-rants-android-update-v1-1/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Hey! I added some new stuff to the android app! You can listen to podcasts now! I know it doesn&#8217;t work great but the capability is at least there.</p>
<p>I also added some loading messages. I hope you guys can get some use out of it! Thanks to all those who&#8217;ve downloaded already!</p>
<p>If for some reason you don&#8217;t have the app then you can download it with the QR code on the right sidebar of the site here or you can go here <a href="https://market.android.com/details?id=com.pointlessrants.rss">https://market.android.com/details?id=com.pointlessrants.rss</a> or you can search &#8220;pointless rants&#8221; in the android market!</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2011/01/pointless-rants-is-now-on-your-android/" rel="bookmark" class="crp_title">Pointless Rants is now on your Android!</a></li><li><a href="http://www.pointlessrants.com/2009/10/on-androids-market-share/" rel="bookmark" class="crp_title">On Android&#8217;s Market Share</a></li><li><a href="http://www.pointlessrants.com/2011/01/android-3-0-for-the-rest-of-us/" rel="bookmark" class="crp_title">Android 3.0 for the rest of us?</a></li><li><a href="http://www.pointlessrants.com/2010/11/sprint-sero-upgrade-for-new-android-phones/" rel="bookmark" class="crp_title">Sprint SERO Upgrade for New Android Phones</a></li><li><a href="http://www.pointlessrants.com/2011/06/google-adds-voice-search-to-homepage/" rel="bookmark" class="crp_title">Google Adds Voice Search to Homepage</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/06/pointless-rants-android-update-v1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python GeoIP to TimeZone! Plus Daylight Savings Time calculation!</title>
		<link>http://www.pointlessrants.com/2011/05/python-geoip-to-timezone-plus-daylight-savings-time-calculation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python-geoip-to-timezone-plus-daylight-savings-time-calculation</link>
		<comments>http://www.pointlessrants.com/2011/05/python-geoip-to-timezone-plus-daylight-savings-time-calculation/#comments</comments>
		<pubDate>Thu, 26 May 2011 23:00:36 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Datetime]]></category>
		<category><![CDATA[Daylight Savings Time]]></category>
		<category><![CDATA[DST]]></category>
		<category><![CDATA[GeoIP]]></category>
		<category><![CDATA[MaxMind]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[PyTZ]]></category>
		<category><![CDATA[TimeZone]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1181</guid>
		<description><![CDATA[Some of you may have read my article about python-geoip for mapping an IP to a city.

If you provide a service which relies on timezones or even just want to display a message at that time then being able to map an IP address to a timezone can be valuable.

This assumes that you have the GeoLiteCity.dat database and that it's all setup and working. I can show you how to do that in this article.

Once you have that all setup and working all you have to do to get the timezone is pass the country code and region to the GeoIP library function GeoIP.time_zone_by_country_and_region() function.<p class="read-more"><a href="http://www.pointlessrants.com/2011/05/python-geoip-to-timezone-plus-daylight-savings-time-calculation/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<img width="100" height="130" src="http://www.pointlessrants.com/wp-content/uploads/2011/05/python-powered-h-100x130.png" class="attachment-extra-featured-image wp-post-image" alt="python-powered-h-100x130" title="python-powered-h-100x130" /><p>Some of you may have <a title="Python-GeoIP Python" href="http://www.pointlessrants.com/2010/05/python-geoip-python-geoip-cities-tutorial/">read my article about python-geoip for mapping an IP to a city.</a></p>
<p>If you provide a service which relies on timezones or even just want to display a message at that time then being able to map an IP address to a timezone can be valuable.</p>
<p>This assumes that you have the GeoLiteCity.dat database and that it&#8217;s all setup and working. I can show you how to do that in <a title="Python-GeoIP City" href="http://www.pointlessrants.com/2010/05/python-geoip-python-geoip-cities-tutorial/">this article</a>.</p>
<p>Once you have that all setup and working all you have to do to get the timezone is pass the country code and region to the GeoIP library function GeoIP.time_zone_by_country_and_region() function.</p>
<p>Here&#8217;s an example&#8230;</p>
<p><code>&gt;&gt;&gt; import GeoIP<br />
&gt;&gt;&gt; GeoIP.time_zone_by_country_and_region(gi.record_by_addr("74.125.93.106")['country_code'], gi.record_by_addr("74.125.93.106")['region'])<br />
'America/Los_Angeles'<br />
</code></p>
<h3>PyTZ</h3>
<p><a title="PyTZ Python TimeZone Library" href="http://pytz.sourceforge.net/">PyTZ</a> is a nice library that you can use to manipulate timezones in python.</p>
<p>If you want to find out the timezone for an IP address you&#8217;ll need to pass it through PyTZ.</p>
<p><code> &gt;&gt;&gt; from pytz import timezone<br />
&gt;&gt;&gt; tz = timezone(GeoIP.time_zone_by_country_and_region(gi.record_by_addr("74.125.93.106")['country_code'], gi.record_by_addr("74.125.93.106")['region']))</code></p>
<h3>Calculating Daylight Savings Time (DST)</h3>
<p><code> &gt;&gt;&gt; from datetime import datetime<br />
&gt;&gt;&gt; loc_dt = tz.localize(datetime(2011,5,26,16,0,0))<br />
&gt;&gt;&gt; loc_dt.dst()<br />
datetime.timedelta(0, 3600)<br />
&gt;&gt;&gt; loc_dt = tz.localize(datetime(2011,12,26,16,0,0))<br />
&gt;&gt;&gt; loc_dt.dst()<br />
datetime.timedelta(0)<br />
</code></p>
<p>Here you can see that on May 26th 2011 the DST 3600 seconds (an hour), then on December 26th 2011 the DST is 0.</p>
<h3>Summary</h3>
<p>So here&#8217;s the complete code for figuring out daylight savings time from an IP&#8230;</p>
<p><code> &gt;&gt;&gt; import GeoIP<br />
&gt;&gt;&gt; from pytz import timezone<br />
&gt;&gt;&gt; from datetime import datetime</code></p>
<p><code> </code></p>
<p><code>&gt;&gt;&gt; gi = GeoIP.open("/usr/share/GeoIP/GeoIPCity.dat", GeoIP.GEOIP_STANDARD)<br />
&gt;&gt;&gt; googles_tz = GeoIP.time_zone_by_country_and_region(gi.record_by_addr("74.125.93.106")['country_code'], gi.record_by_addr("74.125.93.106")['region'])<br />
&gt;&gt;&gt; tz = timezone(googles_tz)<br />
&gt;&gt;&gt; loc_dt = tz.localize(datetime(2011,5,26,16,0,0))<br />
&gt;&gt;&gt; loc_dt.dst()<br />
datetime.timedelta(0, 3600)<br />
&gt;&gt;&gt; loc_dt = tz.localize(datetime(2011,12,26,16,0,0))<br />
&gt;&gt;&gt; loc_dt.dst()<br />
datetime.timedelta(0)<br />
</code></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2010/05/python-geoip-python-geoip-cities-tutorial/" rel="bookmark" class="crp_title">Python GeoIP (python-geoip) cities tutorial</a></li><li><a href="http://www.pointlessrants.com/2011/06/how-to-python-import-geoip-in-os-x/" rel="bookmark" class="crp_title">How To Python import GeoIP in OS X</a></li><li><a href="http://www.pointlessrants.com/2009/10/setting-up-for-python-development-in-ubuntu/" rel="bookmark" class="crp_title">Setting up for Python development in Ubuntu</a></li><li><a href="http://www.pointlessrants.com/2009/07/python-easter-eggs/" rel="bookmark" class="crp_title"># Python Easter Eggs</a></li><li><a href="http://www.pointlessrants.com/2009/02/opengl-in-python/" rel="bookmark" class="crp_title"># OpenGL in Python</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/05/python-geoip-to-timezone-plus-daylight-savings-time-calculation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Authentic Jobs UK</title>
		<link>http://www.pointlessrants.com/2011/05/authentic-jobs-uk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=authentic-jobs-uk</link>
		<comments>http://www.pointlessrants.com/2011/05/authentic-jobs-uk/#comments</comments>
		<pubDate>Wed, 25 May 2011 19:27:28 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Authentic Jobs UK]]></category>
		<category><![CDATA[Job Boards]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1153</guid>
		<description><![CDATA[AuthenticJobs.com has branched out into the United Kingdom!
http://uk.authenticjobs.com<p class="read-more"><a href="http://www.pointlessrants.com/2011/05/authentic-jobs-uk/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>AuthenticJobs.com has branched out into the United Kingdom!<br />
<a title="Authentic Jobs United Kingdom" href="http://uk.authenticjobs.com"> http://uk.authenticjobs.com</a></p>
<p>You get the same great interface but now in the United Kingdom as well.</p>
<p><a title="Authentic Jobs" href="http://AuthenticJobs.com">AuthenticJobs.com</a> has been around since 2005 and has been providing a great service for freelancers and companies looking for full-time, part-time and contract workers.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2010/10/bad-omen-for-apple/" rel="bookmark" class="crp_title">Bad Omen for Apple</a></li><li><a href="http://www.pointlessrants.com/2011/07/googles-lesser-known-projects/" rel="bookmark" class="crp_title">Google&#8217;s lesser known projects</a></li><li><a href="http://www.pointlessrants.com/2011/06/united-airlines-computer-glitch-or-hacked/" rel="bookmark" class="crp_title">United Airlines Computer &#8220;Glitch&#8221; or hacked?</a></li><li><a href="http://www.pointlessrants.com/2011/02/save-us-from-the-nasdaq-neo/" rel="bookmark" class="crp_title">Save us from the NASDAQ Neo!</a></li><li><a href="http://www.pointlessrants.com/2009/03/who-needs-some-chainlove/" rel="bookmark" class="crp_title">Who needs some Chainlove?</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/05/authentic-jobs-uk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PlayStation network turning back on!</title>
		<link>http://www.pointlessrants.com/2011/05/playstation-network-turning-back-on/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=playstation-network-turning-back-on</link>
		<comments>http://www.pointlessrants.com/2011/05/playstation-network-turning-back-on/#comments</comments>
		<pubDate>Sun, 15 May 2011 03:54:02 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Anonymous]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[PlayStation]]></category>
		<category><![CDATA[PSN]]></category>
		<category><![CDATA[Sony]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1137</guid>
		<description><![CDATA[As of earlier today Sony announced that PSN - PlayStation Network would begin to be restored .
There is an update that Sony wants you to download which will require you to change your password.
It's been 24 days since the outage began. Some suspect that the so called "hacker" group "Anonymous" was responsible but Anonymous claims the action to be rogue and that they are not involved.<p class="read-more"><a href="http://www.pointlessrants.com/2011/05/playstation-network-turning-back-on/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<img width="330" height="200" src="http://www.pointlessrants.com/wp-content/uploads/2011/05/zdnet-playstation-network-logo1-330x200.png" class="attachment-extra-featured-image wp-post-image" alt="zdnet-playstation-network-logo1" title="zdnet-playstation-network-logo1" /><p>As of earlier today Sony announced that PSN &#8211; PlayStation Network would begin to be <a title="PlayStation Network restored" href="http://blog.us.playstation.com/2011/05/14/play-on-%E2%80%93-psn-restoration-begins-now/">restored </a>.<br />
There is an <a title="PlayStation Outage Update" href="http://blog.us.playstation.com/2011/05/14/ps3-system-software-update/">update</a> that Sony wants you to download which will require you to change your password.<br />
It&#8217;s been 24 days since the outage began. Some suspect that the so called &#8220;hacker&#8221; group &#8220;Anonymous&#8221; was responsible but Anonymous claims the action to be rogue and that they are not involved.</p>
<p>Regardless of the direct or indirect involvement of Anonymous, I have to say that Sony&#8217;s response time clearly indicates a serious structural issue with their network and systems.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2009/04/big-permissions-scare/" rel="bookmark" class="crp_title">The Big Permissions Scare :O</a></li><li><a href="http://www.pointlessrants.com/2011/06/google-adds-voice-search-to-homepage/" rel="bookmark" class="crp_title">Google Adds Voice Search to Homepage</a></li><li><a href="http://www.pointlessrants.com/2011/04/what-is-lizamoon/" rel="bookmark" class="crp_title">What is LizaMoon?</a></li><li><a href="http://www.pointlessrants.com/2009/01/multi-touch-patent/" rel="bookmark" class="crp_title">Multi-Touch Patent</a></li><li><a href="http://www.pointlessrants.com/2010/05/podcast-episode-8-apple-takes-over-the-work/" rel="bookmark" class="crp_title">Podcast Episode #8 &#8211; Apple takes over the work</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/05/playstation-network-turning-back-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JUnit and PyUnit, @Ignore and @expectedFailure</title>
		<link>http://www.pointlessrants.com/2011/05/junit-and-pyunit-ignore-and-expectedfailure/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=junit-and-pyunit-ignore-and-expectedfailure</link>
		<comments>http://www.pointlessrants.com/2011/05/junit-and-pyunit-ignore-and-expectedfailure/#comments</comments>
		<pubDate>Wed, 04 May 2011 02:33:09 +0000</pubDate>
		<dc:creator>Tom Schultz</dc:creator>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[@expectedFailure]]></category>
		<category><![CDATA[@ignore]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JUnit]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[PyUnit]]></category>
		<category><![CDATA[Unittest]]></category>
		<category><![CDATA[Unittesting]]></category>

		<guid isPermaLink="false">http://www.pointlessrants.com/?p=1131</guid>
		<description><![CDATA[What's @ignore and @expectedFailure?
I think that JUnit's description says it best, "Sometimes you want to temporarily disable a test."

Here's the whole thing for JUnit...

"Sometimes you want to temporarily disable a test. Methods annotated with Test that are also annotated with @Ignore will not be executed as tests. Native JUnit 4 test runners should report the number of ignored tests along with the number of tests that ran and the number of tests that failed." - http://api.dpml.net/junit/4.2/org/junit/Ignore.html<p class="read-more"><a href="http://www.pointlessrants.com/2011/05/junit-and-pyunit-ignore-and-expectedfailure/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<img width="150" height="150" src="http://www.pointlessrants.com/wp-content/uploads/2011/05/java-logo2-150x150.gif" class="attachment-extra-featured-image wp-post-image" alt="java-logo2-150x150" title="java-logo2-150x150" /><h2>What&#8217;s @ignore and @expectedFailure?</h2>
<p>I think that JUnit&#8217;s description says it best, &#8220;Sometimes you want to temporarily disable a test.&#8221;</p>
<p>Here&#8217;s the whole thing for JUnit&#8230;</p>
<p><cite title="JUnit Annotation Type Ignore">&#8220;Sometimes you want to temporarily disable a test. Methods annotated with <a title="annotation in org.junit" href="http://api.dpml.net/junit/4.2/org/junit/Test.html"><code>Test</code></a> that are also annotated with <code>@Ignore</code> will not be executed as tests. Native JUnit 4 test runners should report the number of ignored tests along with the number of tests that ran and the number of tests that failed.&#8221; - <a href="http://api.dpml.net/junit/4.2/org/junit/Ignore.html">http://api.dpml.net/junit/4.2/org/junit/Ignore.html</a></cite></p>
<p>And for Python these two links seem to begin to explain some of the thought behind the decisions to add this feature&#8230;</p>
<p><a href="http://bugs.python.org/issue1399935">http://bugs.python.org/issue1399935<br />
</a> <a href="http://mail.python.org/pipermail/python-dev/2006-January/059503.html">http://mail.python.org/pipermail/python-dev/2006-January/059503.html</a></p>
<h2>My concern with this feature</h2>
<p>I think this is one of those features that kind of got added on a slow day rather than really thinking about the impact that it has on the code and that reflection on the language. It makes sense right? You run your tests, you see some tests failing and you make a decision in your mind that you expected those to fail for a little while during development so you want them to stop sounding the alarm and blowing whistles!</p>
<p>This seems innocent enough at first but what are the long term implications?<br />
Well firstly I think that you should really ask the question &#8220;Why do I have failing tests that I want to suppress??&#8221;  I can&#8217;t think of any good reason personally.  If you&#8217;re implementing something so huge that you&#8217;ve written tests that you can&#8217;t make pass before you test it on an integration server then you&#8217;ve probably bitten off more than you can chew and your feature will change/get removed before you can make the tests pass anyway.</p>
<p>Secondly, writing tests should be as simple as possible. Adding something extra to a testing framework, which also defeats the purpose of the framework, seems like we&#8217;re making things way more complicated than they have to be. A unittesting framework is supposed to tell you when things pass or fail. If you don&#8217;t want the tests to show up as failures and they do not indicate that something is broken then remove them.</p>
<p>Thirdly, maintenance&#8230;who&#8217;s going to clean this all up? You&#8217;ll see some places that warn the users of these features about this. Make sure that you remove this before you finally commit or merge to trunk! Why not just not worry about it by not using it?</p>
<p>If anyone has a really great use case for this please share in the comments! I may have my opinions/rants but I&#8217;m mutable <img src='http://www.pointlessrants.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Update:</p>
<map id="imgmap2011516193348" name="imgmap2011516193348">
<area shape="rect" alt="" title="" coords="384,43,505,58" href="http://bit.ly/mt5NuR" target="_blank" />
<area shape="rect" alt="" title="" coords="65,43,186,56" href="http://bit.ly/iAXdH8" target="_blank" />
</map>
<p><img src="http://www.pointlessrants.com/wp-content/uploads/2011/05/twitter_expected_failure.png" usemap="imgmap2011516193348" alt="Twitter response about @ignore and @expectedFailure" /></p>
<p>This is an interesting perspective on the use of @expectedFailure.  Basically it can allow you to manage bugs in third-party libraries. For instance if you find a new bug in some library that your&#8217;re using, you can write a test for that bug and when it gets fixed that will turn into an &#8220;unexpected success&#8221; and you can then clean up that test. </p>
<p>For me I still wonder how often this is truly useful. I haven&#8217;t seen a lot of tests written for bugs in third-party software. Also, if you have to use that part of the third-party library that has the bug then you must depend on that bug being there or not so you should have tests covering the outcome of the third-party&#8217;s bug.<br />
The tests that you have will be covering &#8220;your&#8221; use of the third-party software.  Obviously if the third-party software has a severe bug in it then you may decide not to continue using it.</p>
<p>Thanks Andrzej Krzywda! Great article on your <a href="http://andrzejonsoftware.blogspot.com/2011/05/tracking-bugs-in-external-code.html">blog</a>.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.pointlessrants.com/2010/12/unittest-xml-reporting-multi-database-django-1-2/" rel="bookmark" class="crp_title">unittest-xml-reporting multi database django 1.2</a></li><li><a href="http://www.pointlessrants.com/2011/03/keys-to-a-stable-application/" rel="bookmark" class="crp_title">Keys to a stable application</a></li><li><a href="http://www.pointlessrants.com/2009/02/python-scripting-within-a-python-script/" rel="bookmark" class="crp_title">Python Scripting within a Python Script</a></li><li><a href="http://www.pointlessrants.com/2009/02/development-vs-production-environments/" rel="bookmark" class="crp_title">Development Environments vs. Production Environments</a></li><li><a href="http://www.pointlessrants.com/2009/08/php5-cli-versus-python-cli/" rel="bookmark" class="crp_title">PHP5-CLI versus Python CLI</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.pointlessrants.com/2011/05/junit-and-pyunit-ignore-and-expectedfailure/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

