<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jathanism &#187; General</title>
	<atom:link href="http://jathan.com/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://jathan.com</link>
	<description>computers, robots, and other cool things.</description>
	<lastBuildDate>Thu, 20 Oct 2011 01:50:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Loki: A Python Infrastructure Protocol Suite</title>
		<link>http://jathan.com/2011/03/25/loki-a-python-infrastructure-protocol-suite/</link>
		<comments>http://jathan.com/2011/03/25/loki-a-python-infrastructure-protocol-suite/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 16:29:46 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://jathan.com/?p=323</guid>
		<description><![CDATA[It&#8217;s been a while since I last posted, so I&#8217;m going back in time to write briefly about an awesome talk I attended at Black Hat 2010 in Las Vegas (last year, duh). The toolkit is (poorly) named Loki. There are so many packages out there named Loki already, but I get where they were [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I last posted, so I&#8217;m going back in time to write briefly about an awesome talk I attended at Black Hat 2010 in Las Vegas (last year, duh). </p>

<p>The toolkit is (poorly) named <a href="https://www.c0decafe.de/loki.html">Loki</a>.  There are so many packages out there named Loki already, but I get where they were going with it.  </p>

<p>It was written by three brilliant German fellows: Daniel Mende, Rene Graf and Enno Rey of <a href="http://www.ernw.net/">ERNW</a>.  The primary focus is manipulating and exploiting infrastructure (layer 2/3) protocols, but of course these are all based on the entire protocol stack, so they have laid a nice framework that is way easier to use than other packet manipulation modules out there like <a href="http://www.secdev.org/projects/scapy/">Scapy</a>, albeit more specialized.  As of right now it has support for BGP, OSPF, ARP, ISIS, RIP, HSRP (v1 and v2), VRRP (v2 and v3), BFD, LDP, and MPLS.  And it can spoof all of them!</p>

<p>Loki itself is pure Python, although it does have some system level dependencies.  It centers mostly around <tt>loki.py</tt>, which is a GUI application that is its bread and butter.  This app is effectively a router emulator that allows you to establish peerings and execute brute force attacks.  For example all you need is a single BGP packet from the wire and you can then perform your brute-force agains the authentication key offline. </p>

<p>In some cases for protocols with no authentication such as VRRP&#8211;which is commonly used for providing redundant default gateways for Internet egress&#8211;you can push out another peer as a default gateway and take over that role with mind-blowing ease. </p>

<p>If you poke around you&#8217;ll see that they&#8217;ve encapsulated each protocol into its own module making almost of all of it reusable outside of the GUI. Additionally if you go to the <a href="https://www.c0decafe.de/">main page of their site</a> and scroll down to Tools, you&#8217;ll see a few other packages they&#8217;ve released.</p>

<p>For a more technical read, check out a <a href="http://www.packetstan.com/2011/02/running-loki-on-backtrack-4-r2.html">recent blog post</a> by <a href="http://twitter.com/#!/mike_poor">Mike Poor</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2011/03/25/loki-a-python-infrastructure-protocol-suite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tcprstat, a TCP Response Time Tool</title>
		<link>http://jathan.com/2010/09/09/tcprstat-a-tcp-response-time-tool/</link>
		<comments>http://jathan.com/2010/09/09/tcprstat-a-tcp-response-time-tool/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 15:08:13 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[tcp]]></category>
		<category><![CDATA[timing]]></category>

		<guid isPermaLink="false">http://jathan.com/?p=320</guid>
		<description><![CDATA[This looks promising: http://www.mysqlperformanceblog.com/2010/08/31/introducing-tcprstat-a-tcp-response-time-tool/]]></description>
			<content:encoded><![CDATA[<p>This looks promising:</p>

<p>http://www.mysqlperformanceblog.com/2010/08/31/introducing-tcprstat-a-tcp-response-time-tool/</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2010/09/09/tcprstat-a-tcp-response-time-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Friday Cutions</title>
		<link>http://jathan.com/2010/04/23/friday-cutions/</link>
		<comments>http://jathan.com/2010/04/23/friday-cutions/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 14:51:58 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[cution]]></category>
		<category><![CDATA[friday]]></category>
		<category><![CDATA[lame]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[stupid]]></category>
		<category><![CDATA[words]]></category>

		<guid isPermaLink="false">http://jathan.com/?p=296</guid>
		<description><![CDATA[Words ending with -cution are surprisingly similar! allocution noun a formal speech giving advice or a warning. elocution noun the skill of clear and expressive speech, esp. of distinct pronunciation and articulation. electrocution verb [ trans. ] a formal &#8220;speech&#8221; giving &#8220;advice&#8221;, esp. of &#8220;distinct&#8221; lightning bolts. I don&#8217;t think that last one means what [...]]]></description>
			<content:encoded><![CDATA[<p>Words ending with -cution are surprisingly similar!</p>

<p>
<strong>allocution</strong><br />
<em>noun</em><br />
a formal speech giving advice or a warning.
</p>

<p>
<strong>elocution</strong><br />
<em>noun</em><br />
the skill of clear and expressive speech, esp. of distinct pronunciation and articulation.
</p>

<p>
<strong>electrocution</strong><br />
<em>verb</em> [ trans. ]<br />
a formal &#8220;speech&#8221; giving &#8220;advice&#8221;, esp. of &#8220;distinct&#8221; lightning bolts.
</p>

<p>I don&#8217;t think that last one means what I think it means.</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2010/04/23/friday-cutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamically Determining the Variables for a Django Template</title>
		<link>http://jathan.com/2009/12/08/dynamically-determining-the-variables-for-a-django-template/</link>
		<comments>http://jathan.com/2009/12/08/dynamically-determining-the-variables-for-a-django-template/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 15:21:24 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[serious business]]></category>
		<category><![CDATA[stackoverflow]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[variables]]></category>

		<guid isPermaLink="false">http://jathan.com/?p=240</guid>
		<description><![CDATA[This is something that came up on StackOverflow, and I took the time to provide a very detailed answer. I haven&#8217;t posted in a while, and since I spent time on this answer, here it is verbatim. Enjoy! Original Question I&#8217;d like to be able to instantiate a template from a file (presumably using the [...]]]></description>
			<content:encoded><![CDATA[<p>This is something that came up on StackOverflow, and I took the time to provide a very detailed answer.   I haven&#8217;t posted in a while, and since I spent time on this answer, here it is verbatim.  Enjoy!</p>

<p><strong><a href="http://stackoverflow.com/questions/1843324/query-a-template-for-the-variables-it-needs">Original Question</a></strong></p>

<p>I&#8217;d like to be able to instantiate a template from a file (presumably using the django.template.loader.get_template(filename) ), and then determine the set of variables that should be defined in whatever context it is passed.</p>

<p>(snip)</p>

<p>I tried synack&#8217;s answer and found that (with the replacement of filter<em>expression.token by filter</em>expression.var, to get the actual name of the variable without tags and so on) it returned the variables that are defined locally in the template, but did not work for variables that are defined in the parent that it extends.</p>

<p>So for example, suppose I have templates in two files:</p>

<p>toyparent.html:</p>

<pre><code>{%block base_results%}
Django is {{adjective}}
{%endblock base_results%}
</code></pre>

<p>toychild.html:</p>

<pre><code>{% extends "toyparent.html" %}

{%block base_results%}
{{block.super}}
I {{verb}} it.
{%endblock base_results %}
</code></pre>

<p>And I load the child template:</p>

<pre><code>&gt;&gt;&gt; toy=django.template.loader.get_template('toychild.html')
</code></pre>

<p>This renders properly:</p>

<pre><code>&gt;&gt;&gt; toy.render(django.template.Context(dict(adjective='cool',verb='heart')))
u'\n    \nDjango is cool\n\n    I heart it.\n\n'
</code></pre>

<p>But I can&#8217;t get the two variables from it:</p>

<pre><code>&gt;&gt;&gt; v=toy.nodelist.get_nodes_by_type(VariableNode)
&gt;&gt;&gt; for k in v: print k.filter_expression.var
...
block.super
verb
</code></pre>

<p><strong><a href="http://stackoverflow.com/questions/1843324/query-a-template-for-the-variables-it-needs/1843657#1843657" target="_blank">My Answer</a></strong></p>

<p>You are able to visually inspect a template and observe the presence of any &#8220;Variable Node&#8221; objects in that template&#8217;s nodelist:</p>

<pre><code>&gt;&gt;&gt; from django.template import Template, Context
&gt;&gt;&gt; t = Template("Django is {{ adjective }} and I {{ verb }} it.")
&gt;&gt;&gt; t.nodelist
[&lt;Text Node: 'Django is '&gt;, &lt;Variable Node: adjective&gt;, &lt;Text Node: ' and I '&gt;, &lt;Variable Node: verb&gt;, &lt;Text Node: ' it.'&gt;]
</code></pre>

<p>These are of the type <code>VariableNode</code>, which is a class that can be directly imported for use in comparisons. Any <code>Node</code> instance has a <code>get_nodes_by_type()</code> method that can be called against a nodelist, which return all nodes of that type for the template.  Example:</p>

<pre><code>&gt;&gt;&gt; from django.template import VariableNode
&gt;&gt;&gt; varnodes = t.nodelist.get_nodes_by_type(VariableNode)
&gt;&gt;&gt; varnodes
[&lt;Variable Node: adjective&gt;, &lt;Variable Node: verb&gt;]
</code></pre>

<p>So now you have a list of the variables for the template.  This will need to be taken a step further to extract the actual name of each variable without peforming stupid string-slicing tricks on their <code>repr</code> names.</p>

<p>The variable name itself is stored in <code>filter_expression.token</code> for each <code>VariableNode</code>:</p>

<pre><code>&gt;&gt;&gt; varnodes[0].filter_expression.token
u'adjective'
</code></pre>

<p>And so a simple list comprehension gets us all of the variable names for the template:</p>

<pre><code>&gt;&gt;&gt; template_vars = [x.filter_expression.token for x in varnodes]
&gt;&gt;&gt; template_vars
[u'adjective', u'verb']
</code></pre>

<p>So, not the simplest solution, but if there is a better way I don&#8217;t know about it.</p>

<p><strong>Bonus:</strong> A function!!</p>

<pre><code>from django.template import VariableNode
def get_template_vars(t):
   varnodes = t.nodelist.get_nodes_by_type(VariableNode)
   return [x.filter_expression.token for x in varnodes]
</code></pre>

<p>Ok, it&#8217;s not so complex after all!  </p>

<p><strong>Follow-up Edit: Getting variables from parent templates</strong></p>

<p>(This follow-up is using the information from the updated question).</p>

<p>This is where it does actually get complex because the nodelist of the toy template is a single <code>ExtendsNode</code> (in this case).  </p>

<pre><code>&gt;&gt;&gt; toy.nodelist
[&lt;ExtendsNode: extends "mysite/toyparent.html"&gt;]
</code></pre>

<p>I would imagine that in larger templates there could be multiple <code>ExtendsNode</code> objects. Anyhow, if you inspect the <code>ExtendsNode</code>, and extract the parent template from it, you are able to treat the parent the same as my original example:</p>

<pre><code>&gt;&gt;&gt; enode = toy.nodelist[0]
&gt;&gt;&gt; enode.parent_name
u'mysite/toyparent.html'
&gt;&gt;&gt; parent = enode.get_parent(enode.parent_name)
&gt;&gt;&gt; parent
&lt;django.template.Template object at 0x101c43790&gt;
&gt;&gt;&gt; parent.nodelist.get_nodes_by_type(VariableNode)
[&lt;Variable Node: adjective&gt;]
</code></pre>

<p>And there is your <code>adjective</code> variable extracted from the parent template. To perform a test against an <code>ExtendsNode</code> you can import the class from <code>django.template.loader_tags</code>:</p>

<pre><code>&gt;&gt;&gt; from django.template.loader_tags import ExtendsNode
&gt;&gt;&gt; ext = toy.nodelist.get_nodes_by_type(ExtendsNode)
&gt;&gt;&gt; ext
[&lt;ExtendsNode: extends "mysite/toyparent.html"&gt;]
</code></pre>

<p>So, you could do some tests against templates for the presence of an <code>ExtendsNode</code> and walk backwards to the parent template and individually get those variable names.  However, this is starting to seem like a can of worms.  </p>

<p>For example, if you were to do this:</p>

<pre><code>&gt;&gt;&gt; toy.nodelist.get_nodes_by_type((ExtendsNode, VariableNode))
[&lt;ExtendsNode: extends "mysite/toyparent.html"&gt;, &lt;Variable Node: block.super&gt;, &lt;Variable Node: verb&gt;]
</code></pre>

<p>Now you&#8217;ve got the <code>ExtendsNode</code> and <code>VariableNode</code> objects and it just starts to get confusing. What do we do then?  Do we attempt to ignore any <code>block</code> variables returned from such tests?  I don&#8217;t know!!</p>

<p>In any case, this is the information you wanted, but I don&#8217;t think that this is a practical solution.  I insist that there is still probably a better way.  It might be worth looking into what you are trying to solve and see if there is another approach you can take.</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2009/12/08/dynamically-determining-the-variables-for-a-django-template/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Virginia Blows</title>
		<link>http://jathan.com/2009/10/02/virginia-blows/</link>
		<comments>http://jathan.com/2009/10/02/virginia-blows/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 22:06:52 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[hate]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[mkdong]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[prison]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[suck]]></category>
		<category><![CDATA[virginia]]></category>

		<guid isPermaLink="false">http://jathan.com/2009/10/02/virginia-blows/</guid>
		<description><![CDATA[That is all. Been here a week and while I&#8217;ve had fun, it feels like it&#8217;s been a month. I miss my friends and my family that are in this area, but that&#8217;s still not enough for me to want to stay here for any meaningful length of time.  But hey, it&#8217;s been like 13 [...]]]></description>
			<content:encoded><![CDATA[<p>That is all.  Been here a week and while I&#8217;ve had fun, it feels like it&#8217;s been a month.</p>

<p>I miss my friends and my family that are in this area, but that&#8217;s still not enough for me to want to stay here for any meaningful length of time.  But hey, it&#8217;s been like 13 months since last time, so it&#8217;s not all bad.  I have a gracious host, fun coworkers, and also the internet.</p>

<p>But despite that, when I&#8217;m here it feels like I&#8217;m not living my own life. Maybe it has something to do with the fact that I couldn&#8217;t wait to leave when I moved away over two years ago, and now every time I come back that feeling quickly returns.</p>

<p>Blah&#8230; Whatever, bitches.</p>

<p>Actually, I think it&#8217;s your fault.  Yes, you!</p>

<p>Here enjoy this: <a href="http://jathan.com/2009/09/04/blue-dongs-for-a-friday-afternoon/comment-page-1/#comment-21" target="_blank">Someone ported mkdong to Perl.</a> Not sure how I feel about that.  Bittersweet?</p>

<p>Taking over the internet, one dong at a time.</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2009/10/02/virginia-blows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oh God Why Does This Turn Me On?!</title>
		<link>http://jathan.com/2009/09/23/oh-god-why-does-this-turn-me-on/</link>
		<comments>http://jathan.com/2009/09/23/oh-god-why-does-this-turn-me-on/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 20:32:20 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[awesomeness]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[my little pony]]></category>
		<category><![CDATA[ponies]]></category>
		<category><![CDATA[princess lea]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[sex]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://jathan.com/2009/09/23/oh-god-why-does-this-turn-me-on/</guid>
		<description><![CDATA[I got nothin&#8217;.]]></description>
			<content:encoded><![CDATA[<p>I got nothin&#8217;.</p>

<div class="wp-caption alignnone" style="width: 493px"><img alt="So wrong, yet oh so right." src="http://00bliss.com/shared/skitched-20090923-125505.jpg" title="Princess Lea My Little Pony" width="483" height="390" /><p class="wp-caption-text">So wrong, yet oh so right.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2009/09/23/oh-god-why-does-this-turn-me-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Did Glenn Beck Rape and Murder a Young Girl in 1990?</title>
		<link>http://jathan.com/2009/09/10/did-glenn-beck-rape-and-murder-a-young-girl-in-1990/</link>
		<comments>http://jathan.com/2009/09/10/did-glenn-beck-rape-and-murder-a-young-girl-in-1990/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 15:03:48 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[domain names]]></category>
		<category><![CDATA[editorial]]></category>
		<category><![CDATA[glenn beck]]></category>
		<category><![CDATA[ignorance]]></category>
		<category><![CDATA[jokes]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[poop]]></category>
		<category><![CDATA[rape]]></category>

		<guid isPermaLink="false">http://jathan.com/?p=206</guid>
		<description><![CDATA[That&#8217;s a good question. I read an article on Ars Technica today posing the question of whether of registering domain names such as didglennbeckrapeandmurderayounggirlin1990.com in the name of parody or satire can be considered slander or defamation. To me the answer is clearly no, because the only way someone would register a domain like that [...]]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s a good question.</p>

<p>I read an <a href="http://feeds.arstechnica.com/~r/arstechnica/index/~3/vn4s5qaafIQ/can-a-mere-domain-name-be-defamation-glenn-beck-says-yes.ars" target="_blank">article on Ars Technica</a> today posing the question of whether of registering domain names such as <a href="http://didglennbeckrapeandmurderayounggirlin1990.com/" target="_blank">didglennbeckrapeandmurderayounggirlin1990.com</a> in the name of parody or satire can be considered slander or defamation.  To me the answer is clearly no, because the only way someone would register a domain like that in the first place is if you were a total douchebag. Of course whether or not someone is truly a douchebag would hardly hold up in court, and that is why I am not a lawyer.</p>

<p>But come on&#8230; We&#8217;re talking about Glenn Beck here, the dude who called <a href="http://www.youtube.com/watch?v=MI_0Kt_e3Go" target="_blank">Obama a racist</a>.  He is one of the largest proponents of all of the unfounded idiocy and willful ignorance (two things I really can&#8217;t stand) driving the ridiculous frenzy of misinformation that you have to go out of your way to avoid lately, ranging from cries of &#8220;democracy&#8221; equating to &#8220;communism&#8221; and comparing Obama to Hitler.  <em>facepalm</em></p>

<p>On one hand I frown on giving someone like him more publicity and&#8211;indirectly&#8211;more relevance.  But on the other hand, I just can&#8217;t pass up a perfectly good opportunity to keep this gag going strong as long as possible.</p>

<p>They&#8217;re poking fun at the fact that he makes these baseless statements and then says things like &#8220;prove me wrong&#8221;.  So the joke is now on him and he is being challenged to address allegations that he may or may not have raped and murdered a young girl in 1990.</p>

<p>Folks, the word is out.  Did he or did he not?  You decide!</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2009/09/10/did-glenn-beck-rape-and-murder-a-young-girl-in-1990/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stride: Lost</title>
		<link>http://jathan.com/2009/09/03/stride-lost/</link>
		<comments>http://jathan.com/2009/09/03/stride-lost/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 20:39:49 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[blah]]></category>
		<category><![CDATA[distracted]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[lost]]></category>
		<category><![CDATA[poop]]></category>

		<guid isPermaLink="false">http://jathan.com/2009/09/03/stride-lost/</guid>
		<description><![CDATA[With all of the visitors and crap coming into town during the month of August, I totally lost all of my steam for blogging. Just wanted to post something, because it&#8217;s been irking the crap out of me. Speaking of which, I have to poop.]]></description>
			<content:encoded><![CDATA[<p>With all of the visitors and crap coming into town during the month of August, I totally lost all of my steam for blogging.</p>

<p>Just wanted to post something, because it&#8217;s been irking the crap out of me.  Speaking of which, I have to poop.</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2009/09/03/stride-lost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quaker&#8217;s Original Oatmeal Tastes Like Original Crap</title>
		<link>http://jathan.com/2009/08/13/quakers-original-oatmeal-tastes-like-original-crap/</link>
		<comments>http://jathan.com/2009/08/13/quakers-original-oatmeal-tastes-like-original-crap/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 15:22:59 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[breakfast]]></category>
		<category><![CDATA[oatmeal]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jathan.com/?p=119</guid>
		<description><![CDATA[Strolled into work today at zero-dog-thirty, which I think translates roughly to &#8220;seven-thirty-four&#8221; in human terms. Waltzed into the kitchen to make myself a bowl of Maple &#38; Brown Sugar flavored oatmeal only to discover in horror and shock and also awe that there was nothing but Original flavor left! The place where there is [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 132px"><img title="Maple &amp; Brown Sugar Oatmeal: WANT" src="http://00bliss.com/shared/quaker-oatmeal-maple-med.jpg_%28JPEG_Image%2C_294x400_pixels%29-20090813-080204.jpg" alt="I would so kill for some of this right now." width="122" height="167" /><p class="wp-caption-text">I would so kill for some of this right now.</p></div>

<p>Strolled into work today at zero-dog-thirty, which I think translates roughly to &#8220;seven-thirty-four&#8221; in human terms.</p>

<p>Waltzed into the kitchen to make myself a bowl of Maple &amp; Brown Sugar flavored oatmeal only to discover in horror and shock and also awe that there was nothing but Original flavor left! The place where there is normally an even distribution of each flavor was clandestinely filled with Original flavor by someone who I&#8217;m sure is of ill repute.  As if I wouldn&#8217;t notice!</p>

<p>That&#8217;s when panic set in.</p>

<p>&#8220;Is there a plot against me?&#8221;</p>

<p>&#8220;Are they trying to get me to quit?!&#8221;</p>

<p>I checked all the cabinets, rifled thru the packets of Original and after doing that four or five times, concluded that if I was going to eat breakfast this was my only chance.  So made myself the usual double helping thinking, &#8220;Ah, fuck it, how bad can it be?&#8221;  How bad can it be indeed!</p>

<div class="wp-caption alignright" style="width: 189px"><img title="Original Flavor Oatmeal: DO NOT WANT" src="http://00bliss.com/shared/oatmeal112408.jpg_%28JPEG_Image%2C_300x236_pixels%29-20090813-080855.jpg" alt="Please God, make it stop." width="179" height="140" /><p class="wp-caption-text">Please God, make it stop.</p></div>

<p>I proceeded to my desk, ate a big bite, and found that it&#8217;s like spooning mouthfuls of mushy, wet toilet paper into my face.  Sustenance must prevail!!</p>

<p>No way can I do this.  This shit sucks!  Who eats this crap?!  Because that&#8217;s what it is.  Crap. I needs my maple &amp; brown sugar!!  But I&#8217;m so hungry&#8230; UGHHH&#8230;</p>

<p>This isn&#8217;t breakfast.  This is punishment!</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2009/08/13/quakers-original-oatmeal-tastes-like-original-crap/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Feeling Fine.  I SAID FINE!</title>
		<link>http://jathan.com/2009/08/04/feeling-fine-i-said-fine/</link>
		<comments>http://jathan.com/2009/08/04/feeling-fine-i-said-fine/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 20:59:16 +0000</pubDate>
		<dc:creator>jathan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cat shit]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[loved ones]]></category>

		<guid isPermaLink="false">http://jathan.com/?p=54</guid>
		<description><![CDATA[We had company in town for four days and it was fun, but disruptive. That&#8217;s pretty much always the case. It&#8217;s like life goes on hold for the duration of their visit. That&#8217;s what is weird. You&#8217;re having a good time enjoying yourself and the company of the people close to you and you don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>We had company in town for four days and it was fun, but disruptive.  That&#8217;s pretty much always the case.  It&#8217;s like life goes on hold for the duration of their visit.</p>

<p>That&#8217;s what is weird.  You&#8217;re having a good time enjoying yourself and the company of the people close to you and you don&#8217;t want it to end, but at the same time you can&#8217;t wait for them to leave.  I guess it&#8217;s part of that fantasy world you live in when you&#8217;re suspending the crap that really needs to get done (like work or laundry or scooping the cat shit) so you can show them a good time and have a good time yourself.</p>

<p>You know because when they leave fun time is over and it&#8217;s back to reality.  Just the same your friends know that when they leave they have to do the same damn thing.  Not counting the long-ass flight back to wherever they came.</p>

<p>Something to think about.</p>
]]></content:encoded>
			<wfw:commentRss>http://jathan.com/2009/08/04/feeling-fine-i-said-fine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

