<?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>CodeWord: Apokalyptik &#187; Random Thoughts</title>
	<atom:link href="http://blog.apokalyptik.com/category/random-thoughts/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.apokalyptik.com</link>
	<description>The random things that spew forth from my brain...</description>
	<lastBuildDate>Sun, 29 Aug 2010 18:53:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>OnLive on OSX over WIFI</title>
		<link>http://blog.apokalyptik.com/2010/08/29/onlive-on-osx-over-wifi/</link>
		<comments>http://blog.apokalyptik.com/2010/08/29/onlive-on-osx-over-wifi/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 18:53:06 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Funny Stuff]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[SRSLY]]></category>
		<category><![CDATA[Web Stuff]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[onlive]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=661</guid>
		<description><![CDATA[This does, in fact, work.]]></description>
			<content:encoded><![CDATA[<p><a href="http://forums.macrumors.com/showpost.php?p=10581531&#038;postcount=7">This</a> does, in fact, work.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/08/29/onlive-on-osx-over-wifi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using PHP and OpenSSH with username/password auth</title>
		<link>http://blog.apokalyptik.com/2010/08/28/using-php-and-openssh-with-usernamepassword-auth/</link>
		<comments>http://blog.apokalyptik.com/2010/08/28/using-php-and-openssh-with-usernamepassword-auth/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 19:35:57 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Stuff]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=662</guid>
		<description><![CDATA[It turns out that this is actually a tricky problem. It&#8217;s super easy to use the OpenSSH command line stuff via PHP when you have key based authentication set up, but it&#8217;s not at all easy to use when you want to go the user/pass route. This is for a couple of reasons: First you [...]]]></description>
			<content:encoded><![CDATA[<p>It turns out that this is actually a tricky problem.  It&#8217;s super easy to use the OpenSSH command line stuff via PHP when you have key based authentication set up, but it&#8217;s not at all easy to use when you want to go the user/pass route.  This is for a couple of reasons:</p>
<p>First you cannot specify the password on the command line.  Second you cannot use the php process controls directly to give the password (well this isn&#8217;t 100% true, if you want to recompile your PHP binary with pty support then you probably could bypass everything I&#8217;m about to say and just use proc_open straight). And there&#8217;s a third reason that I&#8217;ll get to in a bit.</p>
<p>OpenSSH supports getting a password from an executable program via the SSH_ASKPASS environment variable &#8212; with two notable gotchas.  First this only works if you also specify a DISPLAY environment variable, and second it does NOT work if the controlling process has a tty or pty.</p>
<p>The code below works&#8230; but if you just paste it into a script file and run it directly with php ./myscript.php it fails. Why?</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> ssh_user_pass_port_forward<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$hostname</span><span style="color: #339933;">,</span> <span style="color: #000088;">$username</span><span style="color: #339933;">,</span> <span style="color: #000088;">$password</span><span style="color: #339933;">,</span> <span style="color: #000088;">$localport</span><span style="color: #339933;">,</span> <span style="color: #000088;">$remotehost</span><span style="color: #339933;">,</span> <span style="color: #000088;">$remoteport</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$descriptorspec</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	        <span style="color: #cc66cc;">0</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;pipe&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;r&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>  <span style="color: #666666; font-style: italic;">// stdin is a pipe that the child will read from</span>
	        <span style="color: #cc66cc;">1</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;pipe&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>  <span style="color: #666666; font-style: italic;">// stdout is a pipe that the child will write to</span>
	        <span style="color: #cc66cc;">2</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;pipe&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span>   <span style="color: #666666; font-style: italic;">// stderr is a file to write to</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$script</span> <span style="color: #339933;">=</span> <span style="color: #990000;">tempnam</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'/tmp/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'askpass-'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span> 
		<span style="color: #000088;">$script</span><span style="color: #339933;">,</span> 
		<span style="color: #0000ff;">&quot;#!/bin/bash<span style="color: #000099; font-weight: bold;">\n</span>echo -n &quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">escapeshellarg</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$password</span> <span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">chmod</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$script</span><span style="color: #339933;">,</span> <span style="color: #208080;">0755</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$env</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> 
		<span style="color: #0000ff;">'DISPLAY'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'0'</span><span style="color: #339933;">,</span> 
		<span style="color: #0000ff;">'SSH_ASKPASS'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$script</span> 
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$forward</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%d</span>:<span style="color: #009933; font-weight: bold;">%s</span>:<span style="color: #009933; font-weight: bold;">%d</span>&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #000088;">$localport</span><span style="color: #339933;">,</span>
		<span style="color: #000088;">$remotehost</span><span style="color: #339933;">,</span>
		<span style="color: #000088;">$remoteport</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$command</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">&quot;/usr/bin/ssh -n -o StrictHostKeyChecking=no -l <span style="color: #009933; font-weight: bold;">%s</span> -L <span style="color: #009933; font-weight: bold;">%s</span> -N <span style="color: #009933; font-weight: bold;">%s</span>&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">escapeshellarg</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$username</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">escapeshellarg</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$forward</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #990000;">escapeshellarg</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$hostname</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">proc_open</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$command</span><span style="color: #339933;">,</span> <span style="color: #000088;">$descriptorspec</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pipes</span><span style="color: #339933;">,</span> <span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$env</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The answer is that you are running it, and you&#8217;re running it from a shell which has a tty or pty attached, and the script inherits those and OpenSSH sees this and then ignores the SSH_ASKPASS variable completely.  The trick to testing/using this code is to execute it without running it from a terminal.  If you execute the command below (roughly) it looks like it hangs. but if you open another terminal you should be able to use the port forward just created.</p>
<p>ssh myserver.com &#8220;php /path/to/myscript.php&#8221;</p>
<p>This is because since you&#8217;re sshing for the sole purpose of running that command and not using a shell the system doesn&#8217;t allocate you a pty like it would normally.  I&#8217;m guessing that executing it via an http request would do something similar.</p>
<p>Since I previously posted some hard-won advice for working with ssh2_* in php I thought I would share this equally tricky bit that I&#8217;d also figured out in the process.</p>
<p>Remember that there is ALWAYS more than one way to skin a problem, and every problem can be skinned with enough effort.</p>
<p>Again, this is itch-scratch-ware, YMMV, this is meant as a starting point on a journey to a solution and not a drop-in-works-everywhere bit of code. It&#8217;s just the hard stuff. The useful stuff is still up to you <img src='http://blog.apokalyptik.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/08/28/using-php-and-openssh-with-usernamepassword-auth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP SSH2 code</title>
		<link>http://blog.apokalyptik.com/2010/08/27/php-ssh2-code/</link>
		<comments>http://blog.apokalyptik.com/2010/08/27/php-ssh2-code/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 02:43:48 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Stuff]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=659</guid>
		<description><![CDATA[I&#8217;ve had a need to use the PHP SSH2 PECL recently (working on making a product, at work, more efficient) And thought I would share some of the preliminary code. You can find it here: vpssh.phps The most interesting thing is not vpssh_core or it&#8217;s exec (though it&#8217;s good code) the really interesting thing is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a need to use the PHP SSH2 PECL recently (working on making a product, at work, more efficient)  And thought I would share some of the preliminary code.  You can find it here: <a href="http://blog.apokalyptik.com/files/phpssh2/vpssh.phps">vpssh.phps</a></p>
<p>The most interesting thing is not vpssh_core or it&#8217;s exec (though it&#8217;s good code) the really interesting thing is the vpssh_tunnel class and the accompanying examples at the top of the file.  This really shows some advanced usage of ssh2_tunnel that you can&#8217;t really find anywhere else.</p>
<p>It&#8217;s just the beginnings of some useful code, but it&#8217;s probably a huge jumping off point for anyone seriously looking into the ssh2 pecl functionality.  Oh, it also works with both password and key based authentication.</p>
<p>This code is less than 12 hours old, and it works for me so far, YMMV. Feedback welcome &#8230; or not&#8230; Whatever.  Hope it helps someone out.  And I hope it helps me out later when I need this kind of thing again.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/08/27/php-ssh2-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Temporary files</title>
		<link>http://blog.apokalyptik.com/2010/08/12/temporary-files/</link>
		<comments>http://blog.apokalyptik.com/2010/08/12/temporary-files/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 01:29:32 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=657</guid>
		<description><![CDATA[Here&#8217;s a little tip. If you&#8217;re writing PHP code for a linux only environment and you need a temp file to write something to. You can unlink the file after you use fopen() and use it to your hearts content. Linux will keep the &#8220;file&#8221; in existence for you and you can use ftruncate(), rewind(), [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a little tip.  If you&#8217;re writing PHP code for a linux only environment and you need a temp file to write something to.  </p>
<p>You can unlink the file after you use fopen() and use it to your hearts content.  Linux will keep the &#8220;file&#8221; in existence for you and you can use ftruncate(), rewind(), fflush() and the like to churn it to your hearts content. When you close the filepointer linux will reclaim the space you used.  With this method of operation you can be sure that your code will not accidentally leave these files laying around if, for example, the process is terminated.</p>
<p> Just recently I used this trick on two tempfiles in parallel, moving data back and forth between them filtering things in and out on each pass.  Handy trick&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/08/12/temporary-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Bye My Friend</title>
		<link>http://blog.apokalyptik.com/2010/07/27/good-bye-my-friend/</link>
		<comments>http://blog.apokalyptik.com/2010/07/27/good-bye-my-friend/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 12:16:42 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=649</guid>
		<description><![CDATA[Saying good bye tonight was the hardest thing I&#8217;ve ever had to do. I always imagined a fight to the bitter end, but when it came down to it&#8230; I couldn&#8217;t let you suffer for my sake any longer. I loved you, Love you, Will love you always. My dear sweet Buddy boy]]></description>
			<content:encoded><![CDATA[<p>Saying good bye tonight was the hardest thing I&#8217;ve ever had to do. I always imagined a fight to the bitter end, but when it came down to it&#8230; I couldn&#8217;t let you suffer for my sake any longer. I loved you, Love you, Will love you always.</p>
<p>My dear sweet Buddy boy</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/07/27/good-bye-my-friend/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://blog.apokalyptik.com/2010/07/23/635/</link>
		<comments>http://blog.apokalyptik.com/2010/07/23/635/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 05:37:52 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=635</guid>
		<description><![CDATA[:&#8217;-(]]></description>
			<content:encoded><![CDATA[<p>:&#8217;-(</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/07/23/635/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Subtle Hint?</title>
		<link>http://blog.apokalyptik.com/2010/07/19/subtle-hint/</link>
		<comments>http://blog.apokalyptik.com/2010/07/19/subtle-hint/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 00:15:18 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=625</guid>
		<description><![CDATA[My wife brought back this giant sized eraser from the dollar store. Perhaps I&#8217;ve been missing more subtle hints?]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.apokalyptik.com/wp-content/uploads//2010/06/Photo-on-2010-07-19-at-17.11.jpg"><img src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/Photo-on-2010-07-19-at-17.11.jpg" alt="" title="Photo on 2010-07-19 at 17.11" width="484" height="192" class="aligncenter size-full wp-image-633" /></a></p>
<p>My wife brought back this giant sized eraser from the dollar store. Perhaps I&#8217;ve been missing more subtle hints? <img src='http://blog.apokalyptik.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/07/19/subtle-hint/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Protected: Buddy X-Ray Images 6/30/2010</title>
		<link>http://blog.apokalyptik.com/2010/06/30/buddy-x-ray-images-6302010/</link>
		<comments>http://blog.apokalyptik.com/2010/06/30/buddy-x-ray-images-6302010/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 04:21:21 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=618</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.apokalyptik.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-618">Password:<br />
<input name="post_password" id="pwbox-618" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/06/30/buddy-x-ray-images-6302010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>San Diego Zoo</title>
		<link>http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/</link>
		<comments>http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 20:10:27 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[memories]]></category>
		<category><![CDATA[pictures]]></category>
		<category><![CDATA[zoo]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/?p=567</guid>
		<description><![CDATA[Just wanted to share some of the best of our photos from our Zoo trip]]></description>
			<content:encoded><![CDATA[<p>Just wanted to share some of the best of our photos from our Zoo trip</p>

<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5393/' title='DSC_5393'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5393-150x150.jpg" class="attachment-thumbnail" alt="DSC_5393" title="DSC_5393" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5408/' title='DSC_5408'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5408-150x150.jpg" class="attachment-thumbnail" alt="DSC_5408" title="DSC_5408" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5415/' title='DSC_5415'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5415-150x150.jpg" class="attachment-thumbnail" alt="DSC_5415" title="DSC_5415" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5517/' title='DSC_5517'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5517-150x150.jpg" class="attachment-thumbnail" alt="DSC_5517" title="DSC_5517" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5519/' title='DSC_5519'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5519-150x150.jpg" class="attachment-thumbnail" alt="DSC_5519" title="DSC_5519" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5534/' title='DSC_5534'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5534-150x150.jpg" class="attachment-thumbnail" alt="DSC_5534" title="DSC_5534" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5537/' title='DSC_5537'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5537-150x150.jpg" class="attachment-thumbnail" alt="DSC_5537" title="DSC_5537" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5539/' title='DSC_5539'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5539-150x150.jpg" class="attachment-thumbnail" alt="DSC_5539" title="DSC_5539" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5553/' title='DSC_5553'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5553-150x150.jpg" class="attachment-thumbnail" alt="DSC_5553" title="DSC_5553" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5577/' title='DSC_5577'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5577-150x150.jpg" class="attachment-thumbnail" alt="DSC_5577" title="DSC_5577" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5581/' title='DSC_5581'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5581-150x150.jpg" class="attachment-thumbnail" alt="DSC_5581" title="DSC_5581" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5598/' title='DSC_5598'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5598-150x150.jpg" class="attachment-thumbnail" alt="DSC_5598" title="DSC_5598" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5630/' title='DSC_5630'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5630-150x150.jpg" class="attachment-thumbnail" alt="DSC_5630" title="DSC_5630" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5639/' title='DSC_5639'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5639-150x150.jpg" class="attachment-thumbnail" alt="DSC_5639" title="DSC_5639" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5645/' title='DSC_5645'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5645-150x150.jpg" class="attachment-thumbnail" alt="DSC_5645" title="DSC_5645" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5661/' title='DSC_5661'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5661-150x150.jpg" class="attachment-thumbnail" alt="DSC_5661" title="DSC_5661" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5696/' title='DSC_5696'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5696-150x150.jpg" class="attachment-thumbnail" alt="DSC_5696" title="DSC_5696" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5705/' title='DSC_5705'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5705-150x150.jpg" class="attachment-thumbnail" alt="DSC_5705" title="DSC_5705" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5715/' title='DSC_5715'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5715-150x150.jpg" class="attachment-thumbnail" alt="DSC_5715" title="DSC_5715" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5735/' title='DSC_5735'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5735-150x150.jpg" class="attachment-thumbnail" alt="DSC_5735" title="DSC_5735" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5749/' title='DSC_5749'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5749-150x150.jpg" class="attachment-thumbnail" alt="DSC_5749" title="DSC_5749" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5765/' title='DSC_5765'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5765-150x150.jpg" class="attachment-thumbnail" alt="DSC_5765" title="DSC_5765" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5771/' title='DSC_5771'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5771-150x150.jpg" class="attachment-thumbnail" alt="DSC_5771" title="DSC_5771" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5789/' title='DSC_5789'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5789-150x150.jpg" class="attachment-thumbnail" alt="DSC_5789" title="DSC_5789" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5794/' title='DSC_5794'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5794-150x150.jpg" class="attachment-thumbnail" alt="DSC_5794" title="DSC_5794" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5796/' title='DSC_5796'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5796-150x150.jpg" class="attachment-thumbnail" alt="DSC_5796" title="DSC_5796" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5807/' title='DSC_5807'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5807-150x150.jpg" class="attachment-thumbnail" alt="DSC_5807" title="DSC_5807" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5816/' title='DSC_5816'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5816-150x150.jpg" class="attachment-thumbnail" alt="DSC_5816" title="DSC_5816" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5818/' title='DSC_5818'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5818-150x150.jpg" class="attachment-thumbnail" alt="DSC_5818" title="DSC_5818" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5820/' title='DSC_5820'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5820-150x150.jpg" class="attachment-thumbnail" alt="DSC_5820" title="DSC_5820" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5823/' title='DSC_5823'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5823-150x150.jpg" class="attachment-thumbnail" alt="DSC_5823" title="DSC_5823" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5824/' title='DSC_5824'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5824-150x150.jpg" class="attachment-thumbnail" alt="DSC_5824" title="DSC_5824" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5826/' title='DSC_5826'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5826-150x150.jpg" class="attachment-thumbnail" alt="DSC_5826" title="DSC_5826" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5838/' title='DSC_5838'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5838-150x150.jpg" class="attachment-thumbnail" alt="DSC_5838" title="DSC_5838" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5856/' title='DSC_5856'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5856-150x150.jpg" class="attachment-thumbnail" alt="DSC_5856" title="DSC_5856" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5870/' title='DSC_5870'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5870-150x150.jpg" class="attachment-thumbnail" alt="DSC_5870" title="DSC_5870" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5879/' title='DSC_5879'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5879-150x150.jpg" class="attachment-thumbnail" alt="DSC_5879" title="DSC_5879" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5892/' title='DSC_5892'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5892-150x150.jpg" class="attachment-thumbnail" alt="DSC_5892" title="DSC_5892" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5902/' title='DSC_5902'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5902-150x150.jpg" class="attachment-thumbnail" alt="DSC_5902" title="DSC_5902" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5934/' title='DSC_5934'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5934-150x150.jpg" class="attachment-thumbnail" alt="DSC_5934" title="DSC_5934" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5939/' title='DSC_5939'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5939-150x150.jpg" class="attachment-thumbnail" alt="DSC_5939" title="DSC_5939" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5960/' title='DSC_5960'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5960-150x150.jpg" class="attachment-thumbnail" alt="DSC_5960" title="DSC_5960" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5964/' title='DSC_5964'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5964-150x150.jpg" class="attachment-thumbnail" alt="DSC_5964" title="DSC_5964" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5971/' title='DSC_5971'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5971-150x150.jpg" class="attachment-thumbnail" alt="DSC_5971" title="DSC_5971" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5982/' title='DSC_5982'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5982-150x150.jpg" class="attachment-thumbnail" alt="DSC_5982" title="DSC_5982" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5986/' title='DSC_5986'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5986-150x150.jpg" class="attachment-thumbnail" alt="DSC_5986" title="DSC_5986" /></a>
<a href='http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/dsc_5989/' title='DSC_5989'><img width="150" height="150" src="http://blog.apokalyptik.com/wp-content/uploads//2010/06/DSC_5989-150x150.jpg" class="attachment-thumbnail" alt="DSC_5989" title="DSC_5989" /></a>

]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/06/12/san-diego-zoo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>On Sunday My Wife Was Awesome!</title>
		<link>http://blog.apokalyptik.com/2010/06/08/on-sunday-my-wife-was-awesome/</link>
		<comments>http://blog.apokalyptik.com/2010/06/08/on-sunday-my-wife-was-awesome/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 18:53:12 +0000</pubDate>
		<dc:creator>apokalyptik</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://blog.apokalyptik.com/2010/06/08/on-sunday-my-wife-was-awesome/</guid>
		<description><![CDATA[She completed the San Diego Rock and Roll half marathon (13.1 miles) in 4 hours 7 minutes and 10 seconds. Despite a hurt foot and a pulled leg muscle she was determined to be a winner &#8212; and she was a winner. A big thank you to everyone who donated and offered words of encouragement. [...]]]></description>
			<content:encoded><![CDATA[<p>She completed the San Diego Rock and Roll half marathon (13.1 miles) in 4 hours 7 minutes and 10 seconds. Despite a hurt foot and a pulled leg muscle she was determined to be a winner &#8212; and she was a winner. A big thank you to everyone who donated and offered words of encouragement.  I couldn&#8217;t be more proud of her.  She was able to walk the next day amazingly, and by this morning she was feeling almost back to her normal self.  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.apokalyptik.com/2010/06/08/on-sunday-my-wife-was-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
