<?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>cat brain.log &#124; less &#187; Lessons</title>
	<atom:link href="http://log.largevoid.com/cat/lessons/feed/" rel="self" type="application/rss+xml" />
	<link>http://log.largevoid.com</link>
	<description>Getting it down on `paper`</description>
	<lastBuildDate>Mon, 06 Feb 2012 06:23:55 +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>A Balanced and Healthy Mind</title>
		<link>http://log.largevoid.com/2011/11/a-balanced-and-health-mind/</link>
		<comments>http://log.largevoid.com/2011/11/a-balanced-and-health-mind/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 00:27:10 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[balance]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[relax]]></category>
		<category><![CDATA[stress]]></category>
		<category><![CDATA[thought]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=590</guid>
		<description><![CDATA[Focus Time. When we closely focus on tasks in a goal-oriented way, taking on challenges that make deep connections in the brain. Play Time. When we allow ourselves to be spontaneous or creative, playfully enjoying novel experiences, which helps make new connections in the brain. Connecting Time. When we connect with other people, ideally in [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Focus Time</strong>. When we closely focus on tasks in a goal-oriented way, taking on challenges that make deep connections in the brain.</p>
<p><strong>Play Time</strong>. When we allow ourselves to be spontaneous or creative, playfully enjoying novel experiences, which helps make new connections in the brain.</p>
<p><strong>Connecting Time</strong>. When we connect with other people, ideally in person, or take time to appreciate our connection to the natural world around us, richly activating the brain&#8217;s relational circuitry.</p>
<p><strong>Physical Time</strong>. When we move our bodies, aerobically if medically possible, which strengthens the brain in many ways.</p>
<p><strong>Time In</strong>. When we quietly reflect internally, focusing on sensations, images, feelings and thoughts, helping to better integrate the brain.</p>
<p><strong>Down Time</strong>. When we are non-focused, without any specific goal, and let our mind wander or simply relax, which helps our brain recharge.</p>
<p><strong>Sleep Time</strong>. When we give the brain the rest it needs to consolidate learning and recover from the experiences of the day.</p>
<p>Excerpted from: <a href="http://www.psychologytoday.com/blog/your-brain-work/201106/announcing-the-healthy-mind-platter">http://www.psychologytoday.com/blog/your-brain-work/201106/announcing-the-healthy-mind-platter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2011/11/a-balanced-and-health-mind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Mint: Broken</title>
		<link>http://log.largevoid.com/2011/08/linux-mint-broken/</link>
		<comments>http://log.largevoid.com/2011/08/linux-mint-broken/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 01:53:51 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mint]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xfce]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=586</guid>
		<description><![CDATA[Here&#8217;s a nice little note to all you aspiring Linux n00bs: Avoid Linux Mint. I tried out linuxmint-11-gnome-cd-nocodecs-32bit and linuxmint-xfce-201104-dvd-32bit today, and was not impressed.  Ok, I was actually impressed once I got it to run, but only before the launcher crashed and asked to be restarted.  And then it was all down hill.  I [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a nice little note to all you aspiring Linux n00bs: Avoid Linux Mint.</p>
<p>I tried out linuxmint-11-gnome-cd-nocodecs-32bit and linuxmint-xfce-201104-dvd-32bit today, and was not impressed.  Ok, I was actually impressed once I got it to run, but only before the launcher crashed and asked to be restarted.  And then it was all down hill.  I couldn&#8217;t even get the installer to run the first time around.  I tried again with the Xfce DVD version.  This installer ran just fine, but then 800 updates required (ok, no biggie, very common).  I click to apply updates, but then I&#8217;m confronted with a package dependency error, and told to resolve dependencies first.  Next, I try to install just one thing at a time.  First up: the mint-welcome package. Does that install? Click -&gt; Apply -&gt; ok.  Looks like it was fine.  Next up, some other mint package, I don&#8217;t recall.  Anyway, this one caused the updater to crash.  Reboot, try again, crash again.  You know what? I don&#8217;t have all day.</p>
<p>Let&#8217;s try out the internet&#8230; open firefox, head to youtube for the obligatory flash test.  Video starts playing&#8230; it&#8217;s an ad.  Well, about 4 seconds before the ad finishes, the video freezes.  Page refresh: Replay the ad, and that 4 second video freeze problem again.  Ok, that means that flash support is buggy.  Well, remember how I can&#8217;t update anything with the updater software? That means I&#8217;m stuck.  I don&#8217;t feel like wading through individual packages to get this thing working.  I want a Minty out-of-box experience.  What I got was roach infested.</p>
<p>LSS (Long-Story-Short), save yourself the effort, just go xubuntu (for the xfce type).</p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2011/08/linux-mint-broken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Securing Your Internet Traffic on a Public Network</title>
		<link>http://log.largevoid.com/2010/12/securing-your-internet-traffic-on-a-public-network/</link>
		<comments>http://log.largevoid.com/2010/12/securing-your-internet-traffic-on-a-public-network/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 00:06:53 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Scripts, Tricks and Hacks]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firesheep]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[socks5]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=491</guid>
		<description><![CDATA[I was on a public WiFi hotspot and was worried about someone sniffing my passwords with firesheep. I went in search of a howto that would teach allow me to tunnel browser traffic to my secure home network over SSH. What I found was How To Tunnel Traffic With SSH. It is the easiest and [...]]]></description>
			<content:encoded><![CDATA[<p>I was on a public WiFi hotspot and was worried about someone sniffing my passwords with firesheep.  I went in search of a howto that would teach allow me to tunnel browser traffic to my secure home network over SSH.  What I found was <a href="http://www.makeuseof.com/tag/how-to-tunnel-traffic-with-ssh/">How To Tunnel Traffic With SSH</a>.  It is the easiest and one of the more straight-forward tunneling approaches.  It requires Firefox, a secure remote server running ssh, and the putty client.</p>
<p>The long and short of it is to set up a local SOCKS5 proxy with putty.  Simply open up putty, go to Connection>SSH>Tunnels.  Add a new forwarded port (say 1080), make it dynamic, then hit add.  Now log in to your remote machine and you have a local SOCKS5 proxy running on port 1080.  You can then point your browser to use this proxy for all your web traffic.</p>
<p>The link also mentions how to make Firefox tunnel DNS requests for added security, but I won&#8217;t go into that.</p>
<p>Happy safe browsing!</p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2010/12/securing-your-internet-traffic-on-a-public-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Basics</title>
		<link>http://log.largevoid.com/2010/11/python-basics/</link>
		<comments>http://log.largevoid.com/2010/11/python-basics/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 03:53:29 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[decorator]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[functools]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[iter]]></category>
		<category><![CDATA[itertools]]></category>
		<category><![CDATA[list comprehension]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[range]]></category>
		<category><![CDATA[reduce]]></category>
		<category><![CDATA[strategy pattern]]></category>
		<category><![CDATA[xrange]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=467</guid>
		<description><![CDATA[These examples have been pulled from various sources. List comprehension: Create a list from a function and filter: S = &#91;2*x for x in range&#40;101&#41; if x**2 &#62; 3&#93; Generator Define a generator: from itertools import count &#160; def generate_primes&#40;stop_at=0&#41;: primes = &#91;&#93; for n in count&#40;2&#41;: if 0 &#60; stop_at &#60; n: return # [...]]]></description>
			<content:encoded><![CDATA[<p>These examples have been pulled from various sources.</p>
<p><a href="http://en.wikipedia.org/wiki/List_comprehension#Python">List comprehension</a>:</p>
<p>Create a list from a function and filter:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">S = <span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: #66cc66;">*</span>x <span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">101</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">if</span> x<span style="color: #66cc66;">**</span><span style="color: #ff4500;">2</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">3</span><span style="color: black;">&#93;</span></pre></div></div>

<p><a href="http://en.wikipedia.org/wiki/Python_syntax_and_semantics#Generators">Generator</a></p>
<p>Define a generator:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">itertools</span> <span style="color: #ff7700;font-weight:bold;">import</span> count
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> generate_primes<span style="color: black;">&#40;</span>stop_at=<span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>:
    primes = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">for</span> n <span style="color: #ff7700;font-weight:bold;">in</span> count<span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff4500;">0</span> <span style="color: #66cc66;">&lt;</span> stop_at <span style="color: #66cc66;">&lt;</span> n:
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #808080; font-style: italic;"># raises the StopIteration exception</span>
        composite = <span style="color: #008000;">False</span>
        <span style="color: #ff7700;font-weight:bold;">for</span> p <span style="color: #ff7700;font-weight:bold;">in</span> primes:
            <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> n <span style="color: #66cc66;">%</span> p:
                composite = <span style="color: #008000;">True</span>
                <span style="color: #ff7700;font-weight:bold;">break</span>
            <span style="color: #ff7700;font-weight:bold;">elif</span> p<span style="color: #66cc66;">**</span><span style="color: #ff4500;">2</span> <span style="color: #66cc66;">&gt;</span> n:
                <span style="color: #ff7700;font-weight:bold;">break</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> composite:
            primes.<span style="color: black;">append</span><span style="color: black;">&#40;</span>n<span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">yield</span> n</pre></div></div>

<p>Using a generator:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> generate_primes<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:  <span style="color: #808080; font-style: italic;"># iterate over ALL primes</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> i <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">100</span>:
        <span style="color: #ff7700;font-weight:bold;">break</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> i</pre></div></div>

<p><a href="http://docs.python.org/library/functions.html#map">map</a> (<a href="http://docs.python.org/tutorial/datastructures.html">source</a>):</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> cube<span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span>: <span style="color: #ff7700;font-weight:bold;">return</span> x<span style="color: #66cc66;">*</span>x<span style="color: #66cc66;">*</span>x
<span style="color: #008000;">map</span><span style="color: black;">&#40;</span>cube, <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>, <span style="color: #ff4500;">11</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>  <span style="color: #808080; font-style: italic;"># outputs [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">seq = <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">8</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">def</span> add<span style="color: black;">&#40;</span>x, y<span style="color: black;">&#41;</span>: <span style="color: #ff7700;font-weight:bold;">return</span> x+y
<span style="color: #008000;">map</span><span style="color: black;">&#40;</span>add, seq, seq<span style="color: black;">&#41;</span>  <span style="color: #808080; font-style: italic;"># outputs [0, 2, 4, 6, 8, 10, 12, 14]</span></pre></div></div>

<p><a href="http://docs.python.org/library/functions.html#reduce">reduce</a> (<a href="http://docs.python.org/tutorial/datastructures.html">source</a>):</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> add<span style="color: black;">&#40;</span>x,y<span style="color: black;">&#41;</span>: <span style="color: #ff7700;font-weight:bold;">return</span> x+y
<span style="color: #008000;">reduce</span><span style="color: black;">&#40;</span>add, <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>, <span style="color: #ff4500;">11</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>  <span style="color: #808080; font-style: italic;"># outputs 55</span></pre></div></div>

<p><a href="http://docs.python.org/library/functions.html#filter">filter</a> (<a href="http://docs.python.org/tutorial/datastructures.html">source</a>):</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> f<span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span>: <span style="color: #ff7700;font-weight:bold;">return</span> x <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">2</span> <span style="color: #66cc66;">!</span>= <span style="color: #ff4500;">0</span> <span style="color: #ff7700;font-weight:bold;">and</span> x <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">3</span> <span style="color: #66cc66;">!</span>= <span style="color: #ff4500;">0</span>
<span style="color: #008000;">filter</span><span style="color: black;">&#40;</span>f, <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span>, <span style="color: #ff4500;">25</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>  <span style="color: #808080; font-style: italic;"># outputs [5, 7, 11, 13, 17, 19, 23]</span></pre></div></div>

<p><a href="http://docs.python.org/library/functions.html#iter">iter</a> (<a href="http://docs.python.org/tutorial/datastructures.html">source</a>):</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">for</span> value <span style="color: #ff7700;font-weight:bold;">in</span> sequence:
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span>value<span style="color: black;">&#41;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">for</span> key <span style="color: #ff7700;font-weight:bold;">in</span> dictionary:
    value = dictionary<span style="color: black;">&#91;</span>key<span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span>key, value<span style="color: black;">&#41;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">for</span> key, value <span style="color: #ff7700;font-weight:bold;">in</span> dictionary.<span style="color: black;">items</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span>key, value<span style="color: black;">&#41;</span></pre></div></div>

<p><a href="http://docs.python.org/library/functions.html#range">range</a> (<a href="http://docs.python.org/tutorial/controlflow.html">source</a>):</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">a = <span style="color: black;">&#91;</span><span style="color: #483d8b;">'Mary'</span>, <span style="color: #483d8b;">'had'</span>, <span style="color: #483d8b;">'a'</span>, <span style="color: #483d8b;">'little'</span>, <span style="color: #483d8b;">'lamb'</span><span style="color: black;">&#93;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>a<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span> i, a<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span></pre></div></div>

<p><a href="http://docs.python.org/library/functions.html#range">xrange</a> (<a href="http://en.wikipedia.org/wiki/One-liner_program#Examples">source</a>):</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">z = <span style="color: #ff7700;font-weight:bold;">lambda</span> x, h: <span style="color: black;">&#91;</span><span style="color: #008000;">sum</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#91;</span>i - j<span style="color: black;">&#93;</span> <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span> <span style="color: #66cc66;">&lt;</span>= i - j <span style="color: #66cc66;">&lt;</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span> <span style="color: #66cc66;">*</span> h<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span> \
<span style="color: #ff7700;font-weight:bold;">for</span> j <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>h<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> \
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span> + <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>h<span style="color: black;">&#41;</span> - <span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span></pre></div></div>

<p><a href="http://wiki.python.org/moin/PythonDecorators">Decorators:</a></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">class</span> C<span style="color: black;">&#40;</span><span style="color: #008000;">object</span><span style="color: black;">&#41;</span>:
&nbsp;
    @<span style="color: #008000;">staticmethod</span>
    @funcattrs<span style="color: black;">&#40;</span>grammar=<span style="color: #483d8b;">&quot;'@' dotted_name [ '(' [arglist] ')' ]&quot;</span>,
               status=<span style="color: #483d8b;">&quot;experimental&quot;</span>, author=<span style="color: #483d8b;">&quot;BDFL&quot;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">def</span> longMethodNameForEffect<span style="color: black;">&#40;</span>longArgumentOne=<span style="color: #008000;">None</span>,
                                longArgumentTwo=<span style="color: #ff4500;">42</span><span style="color: black;">&#41;</span>:
        <span style="color: #483d8b;">&quot;&quot;&quot;This method blah, blah.
&nbsp;
        It supports the following arguments:
        - longArgumentOne -- a string giving ...
        - longArgumentTwo -- a number giving ...
&nbsp;
        blah, blah.
&nbsp;
        &quot;&quot;&quot;</span>
        <span style="color: #ff7700;font-weight:bold;">raise</span> NotYetImplemented</pre></div></div>

<p><a href="http://en.wikipedia.org/wiki/Strategy_pattern#Python">Strategy Pattern:</a><br />
Example usage:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">class</span> Button:
    <span style="color: #483d8b;">&quot;&quot;&quot;A very basic button widget.&quot;&quot;&quot;</span>
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, submit_func, label<span style="color: black;">&#41;</span>:
        <span style="color: #008000;">self</span>.<span style="color: black;">on_submit</span> = submit_func   <span style="color: #808080; font-style: italic;"># Set the strategy function directly</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">label</span> = label
&nbsp;
<span style="color: #808080; font-style: italic;"># Create two instances with different strategies</span>
button1 = Button<span style="color: black;">&#40;</span><span style="color: #008000;">sum</span>, <span style="color: #483d8b;">&quot;Add 'em&quot;</span><span style="color: black;">&#41;</span>
button2 = Button<span style="color: black;">&#40;</span><span style="color: #ff7700;font-weight:bold;">lambda</span> nums: <span style="color: #483d8b;">&quot; &quot;</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: #008000;">map</span><span style="color: black;">&#40;</span><span style="color: #008000;">str</span>, nums<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>, <span style="color: #483d8b;">&quot;Join 'em&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Test each button</span>
numbers = <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>, <span style="color: #ff4500;">10</span><span style="color: black;">&#41;</span>   <span style="color: #808080; font-style: italic;"># A list of numbers 1 through 9</span>
<span style="color: #ff7700;font-weight:bold;">print</span> button1.<span style="color: black;">on_submit</span><span style="color: black;">&#40;</span>numbers<span style="color: black;">&#41;</span>   <span style="color: #808080; font-style: italic;"># displays &quot;45&quot;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> button2.<span style="color: black;">on_submit</span><span style="color: black;">&#40;</span>numbers<span style="color: black;">&#41;</span>   <span style="color: #808080; font-style: italic;"># displays &quot;1 2 3 4 5 6 7 8 9&quot;</span></pre></div></div>

<p>See documentation for:</p>
<ul>
<li><a href="http://docs.python.org/library/itertools.html">itertools</a></li>
<li> <a href="http://docs.python.org/library/functools.html">functools</a></li>
</ul>
<p>This post was inspired by an item on StackOverflow: <a href="http://stackoverflow.com/questions/2573135/python-progression-path-from-apprentice-to-guru/2576240#2576240">Python Progression Path from Apprentice to Guru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2010/11/python-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discounted Cash Flow (notes)</title>
		<link>http://log.largevoid.com/2010/09/discounted-cash-flow-notes/</link>
		<comments>http://log.largevoid.com/2010/09/discounted-cash-flow-notes/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 19:18:22 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[discounted present value]]></category>
		<category><![CDATA[DPV]]></category>
		<category><![CDATA[future cash flow]]></category>
		<category><![CDATA[FV]]></category>
		<category><![CDATA[risk-free rate]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=444</guid>
		<description><![CDATA[The following is taken from Wikipedia. Background Using DCF analysis to compute the NPV takes as input cash flows and a discount rate and gives as output a price; the opposite process – taking cash flows and a price and inferring a discount rate, is called the yield. Definitions FV = DPV * (1+i)^n DPV [...]]]></description>
			<content:encoded><![CDATA[<p>The following is taken from <a href="http://en.wikipedia.org/wiki/Discounted_cash_flow">Wikipedia</a>.</p>
<p><strong>Background</strong><br />
Using DCF analysis to compute the NPV takes as input cash flows and a discount rate and gives as output a price; the opposite process – taking cash flows and a price and inferring a discount rate, is called the yield.</p>
<p><strong>Definitions</strong><br />
FV = DPV * (1+i)^n<br />
DPV = FV/(1+i)^n = FV * (1-d)^n</p>
<p>DPV: discounted present value<br />
FV: future cash flow; nominal value of cache flow in future<br />
i: interest rate<br />
d: discount rate { i/(1+i) } ; interest rate subtracted from BoY; rather than added at end of year<br />
n: time in years before future cash flow</p>
<p>Summing multiple cash flows:<br />
DPV = SUM{t=0..N} of { FV[t]/(1+i)^t }</p>
<p><strong>An Example</strong><br />
&#8220;John Doe buys a house for $100,000. Three years later, he expects to be able to sell this house for $150,000.&#8221;</p>
<p>&#8220;the 3-year US Treasury Note rate is 5% per annum.&#8221;</p>
<p>&#8220;Using the DPV formula (FV=$150,000, i=0.05, n=3), that means that the value of $150,000 received in three years actually has a present value of $129,576 (rounded off).&#8221;</p>
<p>&#8220;Subtracting the purchase price of the house ($100,000) from the present value results in the net present value [(NPV)] of the whole transaction, which would be $29,576&#8230;&#8221;</p>
<p>&#8220;Another way of looking at the deal as the excess return achieved (over the risk-free rate) is (14.5%-5.0%)/(100%+5%) or approximately 9.0% (still very respectable). (As a check, 1.050 x 1.090 = 1.145 approximately.)&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2010/09/discounted-cash-flow-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning Python</title>
		<link>http://log.largevoid.com/2010/04/learning-python/</link>
		<comments>http://log.largevoid.com/2010/04/learning-python/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 01:24:23 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Synopses]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=340</guid>
		<description><![CDATA[I dove into Python yesterday. Today: I&#8217;m reading the tutorials. I like it. What did you expect? Everyone seems to like it, right? Have you met a person who learned Python that hates the language? So, I&#8217;m still n00b status, but here&#8217;s the deal: It&#8217;s got all the things I love about Javascript, the good [...]]]></description>
			<content:encoded><![CDATA[<p>I dove into Python yesterday.  Today: I&#8217;m reading the tutorials.  I like it.  What did you expect?  Everyone seems to like it, right?  Have you met a person who learned Python that hates the language?</p>
<p>So, I&#8217;m still n00b status, but here&#8217;s the deal: It&#8217;s got all the things I <em>love</em> about Javascript, the good parts of Java (no bloat), and the fundamental simplicity of C.  PHP is conspicuously absent here, but &#8230; now that I mention it, there&#8217;s something there too.</p>
<p>Let&#8217;s over go over those, since you may be flaming me already.  Hey!  I&#8217;m still a n00b.</p>
<p><strong>Javascript</strong>  I really like the function mapping aspects.  Ok, so this is more of a jQuery-type thing.  But it&#8217;s possible, and jQuery makes it obvious &#8212; in-your-face &#8212; how useful this feature is.  I could care less about lambda functions right now, but I think they&#8217;re related.  I like the way <code>zip()</code> works on arrays.</p>
<p><strong>Java</strong> Ah, the language of verbosity.  I&#8217;d rather dictate War and Peace, than write Java.  What&#8217;s so good about Java? It&#8217;s got a great package system, and the try/catch/finally construct.  Python&#8217;s equivalent: try/except/finally.  Thumbs up!  Java has a good class hierarchy that Python seems to duplicate (minus the Java overhead).</p>
<p><strong>C</strong> There&#8217;s nothing more powerful than C.  Assembly&#8217;s got nuthin&#8217; on C.  C is the ultimate speed-speed trade-off.  The speed of code development vs the speed of execution.  Everything else is derivative bloat that hinders performance.  So, how does Python act like C?  Well, the <acronym title="Benevolent dictator for life">BDFL</acronym> gives Python a coherent structure.  The Java package sprawl problem is not present.  Code bases are tight.  Syntax is rigid.  Writing Python is like clock-work &#8212; it must be precise.</p>
<p><strong>PHP</strong>  Don&#8217;t flame.  Here it is.  Python is extra-great because it&#8217;s interpreted.  PHP is interpreted.  That is all.</p>
<p><strong>Confusion says:</strong>  The n00b walks a fine line of asking and testing.  Nobody ever said learning a language was easy.  It should be fun (or interesting if you don&#8217;t like learning) though!  So here&#8217;s the deal: I&#8217;m not <a href="http://xkcd.com/353/">flying</a> yet.  I&#8217;m <a href="http://docs.python.org/py3k/tutorial/">tutorializing</a>.  Short programs are useful learning tools, but jumping in the deep end really makes you sink or swim  &#8212; strangely, I&#8217;m trying to be trite right now.  I don&#8217;t <em>get</em> lambda.   I don&#8217;t know <em>why</em> there are so many different types of lists.  I know I&#8217;ve had a need for sets, lists, hashes, tuples, queues, and the like, but is it really necessary that there be a specific data type for each?  Whatever, I&#8217;m a n00b.  I know performance is probably the real motivator, but c&#8217;mon!  It&#8217;s interpretive.   I was surprised to learn that compiled Python (.pyc) does not execute any faster than inline Python (.py) (Can&#8217;t find the reference).  The .pyc files make the module load faster, not execute faster.</p>
<p>Anyway, right now, Python makes a great calculator.  Anyone living in Hawai&#8217;i will tell you the numerous &#8220;spam and eggs&#8221; references make&#8217;s &#8216;em hungry too!</p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2010/04/learning-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git: Recovering a file that you deleted</title>
		<link>http://log.largevoid.com/2010/03/git-recovering-a-file-that-you-deleted/</link>
		<comments>http://log.largevoid.com/2010/03/git-recovering-a-file-that-you-deleted/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 21:02:36 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Scripts, Tricks and Hacks]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[checkout]]></category>
		<category><![CDATA[commit]]></category>
		<category><![CDATA[deleted]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[recover]]></category>
		<category><![CDATA[rename]]></category>
		<category><![CDATA[restore]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=304</guid>
		<description><![CDATA[You might be doing some spring cleaning to your source code, or you might move files around that you think are unnecessary. Later on, you realize that one of the files you removed was a dependency. Now what? For this, we use git checkout. If this is you: ...edit files... git add edited-file git commit [...]]]></description>
			<content:encoded><![CDATA[<p>You might be doing some spring cleaning to your source code, or you might move files around that you think are unnecessary.  Later on, you realize that one of the files you removed was a dependency.  Now what?  For this, we use <code>git checkout</code>.</p>
<p>If this is you:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">...edit files...
<span style="color: #c20cb9; font-weight: bold;">git</span> add edited-file
<span style="color: #c20cb9; font-weight: bold;">git</span> commit <span style="color: #660033;">-m</span> <span style="color: #ff0000;">&quot;made changed&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">git</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> seemingly-useless-file
<span style="color: #c20cb9; font-weight: bold;">git</span> commit <span style="color: #660033;">-m</span> <span style="color: #ff0000;">&quot;removed unreferenced dependency&quot;</span>
... edit <span style="color: #c20cb9; font-weight: bold;">file</span> ... realize you dynamically included that <span style="color: #c20cb9; font-weight: bold;">file</span> elsewhere..</pre></div></div>

<p>Then you can simply follow up with:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> checkout 0a323 <span style="color: #000000; font-weight: bold;">//</span> the previous revision <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">hash</span> from <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">git</span> log<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> seemingly-useless-file seemingly-useless-file.1
<span style="color: #c20cb9; font-weight: bold;">git</span> checkout master
<span style="color: #c20cb9; font-weight: bold;">mv</span> seemingly-useless-file.1 seemingly-useless-file
<span style="color: #c20cb9; font-weight: bold;">git</span> add seemingly-useless-file
<span style="color: #c20cb9; font-weight: bold;">git</span> commit <span style="color: #660033;">-m</span> <span style="color: #ff0000;">&quot;Restored seemingly-useless-file&quot;</span></pre></div></div>

<p>You may want to <code>git blame</code> yourself while you&#8217;re at it.</p>
<p>If you know of a better way, please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2010/03/git-recovering-a-file-that-you-deleted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Earth Icons with Heading</title>
		<link>http://log.largevoid.com/2010/01/google-earth-icons-with-heading/</link>
		<comments>http://log.largevoid.com/2010/01/google-earth-icons-with-heading/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 23:14:52 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[google earth]]></category>
		<category><![CDATA[heading]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[wind barb]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=278</guid>
		<description><![CDATA[I&#8217;ve discovered that icons given headings in Google Earth KML stopped orienting in the specified heading direction. The result is that when a user rotates the Earth so that true North is not directly &#8220;up&#8221; on the screen, the angle of the icon is misleading. For wind barbs, this could lead to dangerous decisions being [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve discovered that icons given headings in Google Earth KML stopped orienting in the specified <em>heading</em> direction.  The result is that when a user rotates the Earth so that true North is not directly &#8220;up&#8221; on the screen, the angle of the icon is misleading.  For wind barbs, this could lead to dangerous decisions being made if the viewport isn&#8217;t manually corrected to set up = true north.</p>
<p>There are several known branches of this problem.</p>
<p><strong>One involves the Google Earth browser plug-in:</strong></p>
<p>Apparently, this incorrect handling is the end result of a bug fix to &#8220;correct&#8221; icon heading behavior.<br />
<q>Google Earth Plug-in &#8211; 5.1.3506.3999</q></p>
<p><q>(Issue 131) Icon headings should now behave as expected, and consistent with the Google Earth desktop client.</q> <cite><a href="http://www.noeman.org/gsm/mac-other-oses-softwares/106515-google-earth-google-earth-plug.html">http://www.noeman.org/gsm/mac-other-oses-softwares/106515-google-earth-google-earth-plug.html</a></cite></p>
<p>More on this bug (affecting version 5.1.x): http://www.google.com/support/forum/p/earth/thread?tid=005bea9c26949e40&amp;hl=en</p>
<p>Work-arounds: GroundOverlay and use a Colada model, both ugly.</p>
<p><strong>Another instance of the icon heading bug:</strong><br />
There is another situation in which the heading of the icon is not obeyed.  This occurs when an invalid styleUrl is used in the KML.  One recommendation is to remove the &#8220;#&#8221; character.  ex: &lt;styleUrl&gt;#balloonStyle&lt;/styleUrl&gt; is no longer correct as of version 5x.  I have not confirmed this, but I&#8217;ve heard that this is correctly implemented as &lt;styleUrl&gt;balloonStyle&lt;/styleUrl&gt;.  What happend?  This isn&#8217;t very backwards-compatible nor user-friendly.  Why the change?  HTML hashes are logically sound, as they refer to a locally named entity, such as those specified by a style id.</p>
<p>What worked for me was to completely remove the styleUrl when providing a local Style.  See below.</p>
<p><strong>Broken:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;kml</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.opengis.net/kml/2.2&quot;</span> <span style="color: #000066;">xmlns:gx</span>=<span style="color: #ff0000;">&quot;http://www.google.com/kml/ext/2.2&quot;</span> <span style="color: #000066;">xmlns:kml</span>=<span style="color: #ff0000;">&quot;http://www.opengis.net/kml/2.2&quot;</span> <span style="color: #000066;">xmlns:atom</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2005/Atom&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Document<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Weather Stations<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #339933;">&lt;![CDATA[&lt;p&gt;Generated: 2010-01-19 22:03:45 UTC&lt;/p&gt; &lt;p&gt;Only stations reporting &lt;b&gt;within 3 hours&lt;/b&gt; are included in this document.&lt;/p&gt;]]&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;open<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/open<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ListStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;listItemType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>radioFolder<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/listItemType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;bgColor<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>00ffffff<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/bgColor<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;maxSnippetLines<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/maxSnippetLines<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ListStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Style</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;balloonStyle&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;BalloonStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #339933;">&lt;![CDATA[</span>
<span style="color: #339933;">   &lt;h2 style=&quot;font-size:1.1em;border-bottom:solid #333 1px;&quot;&gt;Instrument:</span>
<span style="color: #339933;">   $[name]&lt;/h2&gt;</span>
<span style="color: #339933;">   $[description]</span>
<span style="color: #339933;">   ]]&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/BalloonStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Folder<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Visibility and Avg Winds<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ListStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;listItemType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>checkHideChildren<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/listItemType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;bgColor<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>00ffffff<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/bgColor<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;maxSnippetLines<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/maxSnippetLines<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ListStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;visibility<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/visibility<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Placemark<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Any Instrument ID<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #339933;">&lt;![CDATA[ &lt;p&gt;&lt;font color=&quot;#999&quot;&gt;Sample Date&lt;/font&gt;&lt;/p&gt; &lt;div&gt;Data Table Here&lt;/div&gt;]]&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;styleUrl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>#balloonStyle<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/styleUrl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;IconStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;scale<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>3.25<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/scale<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;heading<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/heading<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Icon<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
     <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;href<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.example.com/barb.php?spd=4<span style="color: #ddbb00;">&amp;amp;</span>dir=74<span style="color: #ddbb00;">&amp;amp;</span>val=7<span style="color: #ddbb00;">&amp;amp;</span>col=65280<span style="color: #ddbb00;">&amp;amp;</span>dia=100<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/href<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Icon<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/IconStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Point<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;coordinates<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>-117.1135,32.3325,0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/coordinates<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Point<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Placemark<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Folder<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Document<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/kml<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p><strong>Working:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Placemark<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Any Instrument ID<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #339933;">&lt;![CDATA[ &lt;p&gt;&lt;font color=&quot;#999&quot;&gt;Sample Date&lt;/font&gt;&lt;/p&gt; &lt;div&gt;Data Table Here&lt;/div&gt;]]&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;IconStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;scale<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>3.25<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/scale<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;heading<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/heading<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Icon<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
     <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;href<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.example.com/barb.php?spd=4<span style="color: #ddbb00;">&amp;amp;</span>dir=74<span style="color: #ddbb00;">&amp;amp;</span>val=7<span style="color: #ddbb00;">&amp;amp;</span>col=65280<span style="color: #ddbb00;">&amp;amp;</span>dia=100<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/href<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Icon<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/IconStyle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Point<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;coordinates<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>-117.1135,32.3325,0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/coordinates<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Point<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Placemark<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2010/01/google-earth-icons-with-heading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On the Millennials and Having Children</title>
		<link>http://log.largevoid.com/2010/01/on-the-millennials-and-having-children/</link>
		<comments>http://log.largevoid.com/2010/01/on-the-millennials-and-having-children/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 21:14:19 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Quotes]]></category>
		<category><![CDATA[add]]></category>
		<category><![CDATA[adhd]]></category>
		<category><![CDATA[bored]]></category>
		<category><![CDATA[children]]></category>
		<category><![CDATA[depression]]></category>
		<category><![CDATA[emo]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[right]]></category>
		<category><![CDATA[spoiled]]></category>
		<category><![CDATA[wrong]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=273</guid>
		<description><![CDATA[Everyone wants a baby, but no one wants a kid these days. Runaway1956 Kids today get emo and suicidal because they have been given everything, never had to earn anything, never been hungry, never had anything real to fear, never been punished for their behavior and are bored with having too much entertainment. Nadaka]]></description>
			<content:encoded><![CDATA[<p><q>Everyone wants a baby, but no one wants a kid these days.</q> <cite><a href="http://science.slashdot.org/comments.pl?sid=1507380&#038;cid=30737616">Runaway1956</a></cite></p>
<p><q>Kids today get emo and suicidal because they have been given everything, never had to earn anything, never been hungry, never had anything real to fear, never been punished for their behavior and are bored with having too much entertainment.</q> <cite><a href="http://science.slashdot.org/comments.pl?sid=1507380&#038;cid=30737782">Nadaka</a></cite></p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2010/01/on-the-millennials-and-having-children/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Burning Rope for 45 Minutes</title>
		<link>http://log.largevoid.com/2009/11/burning-rope-for-45-minutes/</link>
		<comments>http://log.largevoid.com/2009/11/burning-rope-for-45-minutes/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 09:20:28 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[burn]]></category>
		<category><![CDATA[riddle]]></category>
		<category><![CDATA[rope]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=152</guid>
		<description><![CDATA[Premise: There are two ropes of equal length and physical composition. Each rope takes one hour to burn from end-to-end, but may burn at a variable rate. You are given a lighter and these two ropes. There is nothing else that can be utilized, not sand nor clock nor sun. Question: How can you determine [...]]]></description>
			<content:encoded><![CDATA[<p>Premise: There are two ropes of equal length and physical composition.  Each rope takes one hour to burn from end-to-end, but may burn at a variable rate.  You are given a lighter and these two ropes.  There is nothing else that can be utilized, not sand nor clock nor sun.</p>
<p>Question: How can you determine when 45 minutes have elapsed?</p>
<p>Answer: Light one rope at both ends.  Light the other rope at only one end.  When the rope that was burning from both ends has burnt out, 30 minutes have passed.  Light the second end of the rope that was only burning from one end.  This rope will burn out in 15 more minutes.  The total time will have been 45 minutes.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2009/11/burning-rope-for-45-minutes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Things that Kill MySQL Performance</title>
		<link>http://log.largevoid.com/2009/11/things-that-kill-mysql-performance/</link>
		<comments>http://log.largevoid.com/2009/11/things-that-kill-mysql-performance/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 01:59:19 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[pdo]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=74</guid>
		<description><![CDATA[Failing to plan for scaling out, scaling up Not using EXPLAIN (learn from your mistakes) Using the wrong data types (hint: use smallest fixed-size) Using persistent connections in PHP (leads to zombie processes) Using a heavy DB abstraction layer (hint: use PDO or custom) Using the wrong storage engine (MEMORY, ARCHIVE, InnoDB, etc.) Using indexes [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Failing to plan for scaling out, scaling up</li>
<li>Not using EXPLAIN (learn from your mistakes)</li>
<li>Using the wrong data types (hint: use smallest fixed-size)</li>
<li>Using persistent connections in PHP (leads to zombie processes)</li>
<li>Using a heavy DB abstraction layer (hint: use PDO or custom)</li>
<li>Using the wrong storage engine (MEMORY, ARCHIVE, InnoDB, etc.)</li>
<li>Using indexes improperly (hint: select in the order of the index; hint: keep primary key small)</li>
<li>Issuing SQL queries that can&#8217;t be cached easily; having too large of a query cache</li>
<li>Using stored procedures when prepared statements are better</li>
<li>Using functions on indexed columns in the WHERE clause</li>
<li>Not indexing important columns; having redundant indexes</li>
<li>Using sub-queries when joins would be better</li>
<li>Issuing avoidable deep scans</li>
<li>Doing SELECT COUNT(*) without WHERE on InnoDB table.</li>
<li>Failing to profile/benchmark your SQL</li>
<li>Not using AUTO_INCREMENT if applicable</li>
<li>Not using ON DUPLICATE KEY UPDATE (1 query vs 2)</li>
</ol>
<p>Reference:</p>
<ul>
<li><a href="http://www.slideshare.net/techdude/how-to-kill-mysql-performance">How to Kill MySQL Performance</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2009/11/things-that-kill-mysql-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Founding Statement</title>
		<link>http://log.largevoid.com/2009/11/founding-statement/</link>
		<comments>http://log.largevoid.com/2009/11/founding-statement/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 02:00:06 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Quotes]]></category>
		<category><![CDATA[beethovan]]></category>
		<category><![CDATA[exploring]]></category>
		<category><![CDATA[lesson]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[reflect]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=1</guid>
		<description><![CDATA[I have never thought of writing for reputation and honor. What I have in my heart must come out; that is the reason why I compose. Ludwig van Beethovan I wish that this noble statement were true for me as well, but that’s not often the case. When I try to be humble, I spare [...]]]></description>
			<content:encoded><![CDATA[<p><q>I have never thought of writing for reputation and honor. What I have in my heart must come out; that is the reason why I compose.</q> <cite>Ludwig van Beethovan</cite></p>
<p>I wish that this noble statement were true for me as well, but that’s not often the case. When I try to be humble, I spare the details, often at great expense to the lesson. When I try to be overly showy, I don’t get to the point.</p>
<p>In just the past month alone, I have been hesitant to write out my thoughts, and have lost any possibility of pursuing those endeavors further, as I can no longer remember them. I failed to ask questions in fear of projecting uncertainty. What I have succeeded at doing is completely passing on the opportunity to reflect later on.</p>
<p>I don’t write because I don’t re-read.  This post has already grown so long.  Will I read it later?  So let the lesson be this: <strong>Write often, write succinctly, and reflect.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2009/11/founding-statement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL DNS Caching</title>
		<link>http://log.largevoid.com/2008/12/mysql-dns-caching/</link>
		<comments>http://log.largevoid.com/2008/12/mysql-dns-caching/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 11:09:29 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[flush]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sccoos]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=25</guid>
		<description><![CDATA[On December 12, 2008, SCCOOS metadata system was broken. The error was cryptic, but the message was clear: Connection to [IP] denied. Resolution Using the MySQL command-line tool: mysql -u admin -p [-h ] [-P ] mysql> flush hosts; That&#8217;s it! Chain of Events UCSD&#8217;s DNS was polluted, identifying 132.239.123.144 as ridge2000.org for the past [...]]]></description>
			<content:encoded><![CDATA[<p>On December 12, 2008, <a href="http://www.sccoos.org/meta/">SCCOOS metadata system</a> was broken.  The error was cryptic, but the message was clear: Connection to [IP] denied.</p>
<h3>Resolution</h3>
<p>Using the MySQL command-line tool:<br />
<code><br />
mysql -u admin -p [-h <hostname>] [-P
<port>]<br />
mysql> flush hosts;<br />
</code></p>
<p>That&#8217;s it!</p>
<h3>Chain of Events</h3>
<ul>
<li>UCSD&#8217;s DNS was polluted, identifying 132.239.123.144 as ridge2000.org for the past few weeks.</li>
<li>Sandbar was restarted last week, freeing up both the OS and MySQL DNS caches, which meant all new connections will need to query a DNS server to identify whether it&#8217;s an allowed machine or not (do you see a security vulnerability?).</li>
<li>Both the OS and MySQL cached the hostname, but MySQL further rejected all connections from alfredo because MySQL thought that alfredo was ridge2000 instead.</li>
<li>The <em>mysql</em> database, <em>user</em> table identifies user <em>sccoos</em> can connect to sandbar from <em>alfredo.ucsd.edu</em>.</li>
<li>The OS cache probably cleared, but since so few machines access sandbar, the MySQL cache hadn&#8217;t filled up yet.</li>
<li>Just last night (2008-12-22), the UCSD DNS purged the ridge2000.org name from its list, so UCSD&#8217;s DNS is clean, but any caches may still be polluted.</li>
</ul>
<ul>
<li>Windows machines cycle their caches regularly, so the problem isn&#8217;t more wide-spread or commonly understood.</li>
<li>The long-lasting MySQL DNS cache is disturbing, but alternatives would cripple the imperative nature of a database.</li>
</ul>
<h3>References</h3>
<ul>
<li><a href="http://dev.mysql.com/doc/refman/5.0/en/dns.html">MySQL DNS Reference</a></li>
<li><a href="http://en.wikipedia.org/wiki/Domain_Name_System">Domain Name System</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2008/12/mysql-dns-caching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  log.largevoid.com/cat/lessons/feed/ ) in 0.69230 seconds, on Feb 8th, 2012 at 4:37 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 8th, 2012 at 5:37 am UTC -->
