<?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>Chris Pitzer</title>
	<atom:link href="http://blog.christopherpitzer.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.christopherpitzer.com</link>
	<description>web development, games, business, optimism</description>
	<lastBuildDate>Tue, 09 Feb 2010 22:50:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ssh-copy-id</title>
		<link>http://blog.christopherpitzer.com/2010/ssh-copy-id/</link>
		<comments>http://blog.christopherpitzer.com/2010/ssh-copy-id/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 22:44:53 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=91</guid>
		<description><![CDATA[ssh-copy-id is a great little bash script.  Basically, you run:

ssh-copy-id myuser@someserver.com

And ssh-copy-id will copy your public key into the authorized_keys  file of your user on that remote system.  From now on when you ssh to  that system, you won&#8217;t need to enter a password.
The only problem is, the site that used to host [...]]]></description>
			<content:encoded><![CDATA[<p>ssh-copy-id is a great little bash script.  Basically, you run:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ssh-copy-id myuser<span style="color: #000000; font-weight: bold;">@</span>someserver.com</pre></div></div>

<p>And ssh-copy-id will copy your public key into the authorized_keys  file of your user on that remote system.  From now on when you ssh to  that system, you won&#8217;t need to enter a password.</p>
<p>The only problem is, the site that used to host the ssh-copy-id script has gone down.  I can&#8217;t find it anywhere any more.  So&#8230; I&#8217;m  going to put it up here!  Enjoy!</p>
<p>To install ssh-copy-id on Linux or Mac:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>blog.christopherpitzer.com<span style="color: #000000; font-weight: bold;">/</span>wp-content<span style="color: #000000; font-weight: bold;">/</span>uploads<span style="color: #000000; font-weight: bold;">/</span>ssh-copy-id <span style="color: #660033;">-O</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>ssh-copy-id
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> +x <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>ssh-copy-id</pre></div></div>

<p>That&#8217;s it.  Have fun.  Here are <a href="http://man-wiki.net/index.php/1:ssh-copy-id">the docs</a> if you&#8217;d like some more reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2010/ssh-copy-id/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Timebook &#8211; command line time tracking</title>
		<link>http://blog.christopherpitzer.com/2009/timebook-command-line-time-tracking/</link>
		<comments>http://blog.christopherpitzer.com/2009/timebook-command-line-time-tracking/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 00:10:53 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=62</guid>
		<description><![CDATA[What is Timebook?
Timebook is a command line utility that tracks your time without costing you any of it.
Preface
There are a few time tracking tools out there.  I&#8217;ve used SlimTimer in the past, but having an extra window open is a pain, especially a browser window.  As much as I love Firefox, I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<h3>What is Timebook?</h3>
<p><a href="http://bitbucket.org/trevor/timebook/">Timebook</a> is a command line utility that tracks your time without costing you any of it.</p>
<h3>Preface</h3>
<p>There are a few time tracking tools out there.  I&#8217;ve used <a href="http://slimtimer.com/">SlimTimer</a> in the past, but having an extra window open is a pain, especially a browser window.  As much as I love <a href="http://getfirefox.com">Firefox</a>, I don&#8217;t want my paycheck to count on it not crashing.</p>
<p>So, I usually end up keeping a big Google Docs spreadsheet.  I have different pages for different clients and columns for date, task, clock in time, clock out time, etc.  It&#8217;s not a bad system, but it means clocking in takes me 30 seconds.  Too much overhead.</p>
<p>So I was talking to <a href="http://bitbucket.org/trevor/timebook/">Trevor</a> about two weeks ago, and mentioned my frustration.  &#8220;I wish there was a way I could track time by just entering &#8220;timer start &#8216;client&#8217; &#8216;task-description&#8217; on the command line.&#8221;  He shot me a link to a python script he&#8217;s been using for a few years that does just that (though the syntax is a little different)!  And ever since, we&#8217;ve been refining it and adding features.  I find it incredibly useful &#8211; take a look!</p>
<h3>Using Timebook</h3>
<p>First, let&#8217;s take a look at the Timebook commands.  Note that the base for timebook is &#8220;t&#8221; and you can use 1 letter shortcuts for every one of the timebook commands.  So in the examples below, I&#8217;m going to use &#8220;t s&#8221; instead of &#8220;t switch&#8221;, etc.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ t <span style="color: #660033;">--help</span>
Usage: t <span style="color: #7a0874; font-weight: bold;">&#91;</span>OPTIONS<span style="color: #7a0874; font-weight: bold;">&#93;</span> COMMAND <span style="color: #7a0874; font-weight: bold;">&#91;</span>ARGS...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
where COMMAND is one of:
    alter - alter the description of the active period
    backend - open an the backend´s interactive shell
    display - display the current timesheet
    format - <span style="color: #7a0874; font-weight: bold;">export</span> a sheet to csv format
    <span style="color: #000000; font-weight: bold;">in</span> - start the timer <span style="color: #000000; font-weight: bold;">for</span> the current timesheet
    <span style="color: #c20cb9; font-weight: bold;">kill</span> - delete a timesheet
    list - show the available timesheets
    now - show the status of the current timesheet
    out - stop the timer <span style="color: #000000; font-weight: bold;">for</span> the current timesheet
    running - show all running timesheets
    switch - switch to a new timesheet</pre></div></div>

<p>Timebook will start you off on a timesheet called &#8220;default&#8221;.  You&#8217;ll probably want to have different timesheets for different groups of tasks; say, different clients.  Let&#8217;s say you have one for your client Acme.  Switch to the Acme timesheet like this (it will be created as you start using it).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ t s Acme</pre></div></div>

<p>Now let&#8217;s say you&#8217;re going to spend an hour tightening widgets.  Punch in like this.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ t i tightening widgets</pre></div></div>

<p>Pretty easy!  Let&#8217;s say you&#8217;ve been working for a while and you wanted to be reminded what task you were on and how long you&#8217;d been on it.  Try this command.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ t
Acme: <span style="color: #000000;">0</span>:<span style="color: #000000;">40</span>:<span style="color: #000000;">48</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>tightening widgets<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Clock out like this.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ t o</pre></div></div>

<p>Now let&#8217;s start a new task, and display our timesheet so far.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ t i running errands
$ t d
Timesheet Acme:
Day            Start      End        Duration   Notes
Mar <span style="color: #000000;">19</span>, <span style="color: #000000;">2009</span>   <span style="color: #000000;">14</span>:<span style="color: #000000;">47</span>:<span style="color: #000000;">59</span> - <span style="color: #000000;">16</span>:<span style="color: #000000;">30</span>:<span style="color: #000000;">28</span>   <span style="color: #000000;">1</span>:<span style="color: #000000;">42</span>:<span style="color: #000000;">29</span>    tightening widgets
               <span style="color: #000000;">16</span>:<span style="color: #000000;">30</span>:<span style="color: #000000;">33</span> -            <span style="color: #000000;">0</span>:00:03    running errands
                                     <span style="color: #000000;">1</span>:<span style="color: #000000;">42</span>:<span style="color: #000000;">32</span>    
Total                                <span style="color: #000000;">1</span>:<span style="color: #000000;">42</span>:<span style="color: #000000;">32</span></pre></div></div>

<p>Play around with some of the other commands.  You can list your timesheets, display which ones are active, export your timesheet (even given a particular date range) as a csv (hopefully soon an excel doc).</p>
<p>Lots of fun stuff to play with.  And it&#8217;s definitely the lightest weight timekeeping app I know of.</p>
<h3>Installing Timebook</h3>
<p><strong>Linux</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> mercurial <span style="color: #666666; font-style: italic;"># if you don't already have mercurial</span>
$ hg clone http:<span style="color: #000000; font-weight: bold;">//</span>hg<span style="color: #000000; font-weight: bold;">@</span>bitbucket.org<span style="color: #000000; font-weight: bold;">/</span>trevor<span style="color: #000000; font-weight: bold;">/</span>timebook<span style="color: #000000; font-weight: bold;">/</span>
$ <span style="color: #7a0874; font-weight: bold;">cd</span> timebook 
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> python setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p><strong>Windows</strong><br />
coming soon<br />
<strong>OS X</strong><br />
First get mercurial.  Here&#8217;s one option: <a href="http://mercurial.berkwood.com/">http://mercurial.berkwood.com/</a></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ hg clone http:<span style="color: #000000; font-weight: bold;">//</span>hg<span style="color: #000000; font-weight: bold;">@</span>bitbucket.org<span style="color: #000000; font-weight: bold;">/</span>trevor<span style="color: #000000; font-weight: bold;">/</span>timebook<span style="color: #000000; font-weight: bold;">/</span>
$ <span style="color: #7a0874; font-weight: bold;">cd</span> timebook 
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> python setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2009/timebook-command-line-time-tracking/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>turn off trackpad taps while typing</title>
		<link>http://blog.christopherpitzer.com/2008/turn-off-trackpad-taps-while-typing/</link>
		<comments>http://blog.christopherpitzer.com/2008/turn-off-trackpad-taps-while-typing/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 20:35:33 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=23</guid>
		<description><![CDATA[So I have this Macbook I&#8217;m running Ubuntu 8.10 on.  I have taps turned on as a way to click on things because that&#8217;s my general preference&#8230; but it can get me in trouble.  The thing about Macbooks is that they have huge trackpads.  It&#8217;s pretty easy to touch the trackpad while you&#8217;re typing, which [...]]]></description>
			<content:encoded><![CDATA[<p>So I have this Macbook I&#8217;m running Ubuntu 8.10 on.  I have taps turned on as a way to click on things because that&#8217;s my general preference&#8230; but it can get me in trouble.  The thing about Macbooks is that they have huge trackpads.  It&#8217;s pretty easy to touch the trackpad while you&#8217;re typing, which will cause you to jump around mid-sentence.  Annoying.</p>
<p>Wouldn&#8217;t it be nice if we could disable touchpad taps while typing?</p>
<p>Here we go&#8230; from the terminal, try out this command:</p>
<blockquote><p>syndaemon -dti 1</p></blockquote>
<p>That will turn off tapping on the keypad for 1 second each time you press a key on the keyboard. What do those flags mean?</p>
<blockquote><p>-d    Start the process as a daemon (in the background)</p>
<p>-t    Only disable tapping, not mouse movements.</p>
<p>-i #  how many seconds to disable tapping after the last keypress.</p></blockquote>
<p>So, play with it and figure out your preferred settings.  1 second?  2 seconds?  When you are happy with how you have it set up, go to <span style="color: black;"> <strong>System -&gt; Preferences -&gt; Sessions</strong> (in Ubuntu) and add the command so it will run every time you start your computer.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2008/turn-off-trackpad-taps-while-typing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>these are a few of my favorite things</title>
		<link>http://blog.christopherpitzer.com/2008/these-are-a-few-of-my-favorite-things/</link>
		<comments>http://blog.christopherpitzer.com/2008/these-are-a-few-of-my-favorite-things/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 03:22:13 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[joy]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/2008/these-are-a-few-of-my-favorite-things/</guid>
		<description><![CDATA[I know these videos are a few years old, but they still make me smile.  Enjoy!
(two more after the bump)
Schweppervescence


Cog

Bravia Balls

]]></description>
			<content:encoded><![CDATA[<p>I know these videos are a few years old, but they still make me smile.  Enjoy!</p>
<p>(two more after the bump)</p>
<h3>Schweppervescence</h3>
<p><object width="425" height="349"><param name="movie" value="http://www.youtube.com/v/_Uzc1HKLHMA&#038;hl=en&#038;fs=1&#038;rel=0&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/_Uzc1HKLHMA&#038;hl=en&#038;fs=1&#038;rel=0&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="349"></embed></object><br />
<span id="more-20"></span></p>
<h3>Cog</h3>
<p><object width="425" height="349"><param name="movie" value="http://www.youtube.com/v/EEF0cg1j35o&#038;hl=en&#038;fs=1&#038;rel=0&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/EEF0cg1j35o&#038;hl=en&#038;fs=1&#038;rel=0&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="349"></embed></object></p>
<h3>Bravia Balls</h3>
<p><object width="425" height="349"><param name="movie" value="http://www.youtube.com/v/2Bb8P7dfjVw&#038;hl=en&#038;fs=1&#038;rel=0&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2Bb8P7dfjVw&#038;hl=en&#038;fs=1&#038;rel=0&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="349"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2008/these-are-a-few-of-my-favorite-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu&#8217;s crappie fonts</title>
		<link>http://blog.christopherpitzer.com/2008/ubuntus-crappie-fonts/</link>
		<comments>http://blog.christopherpitzer.com/2008/ubuntus-crappie-fonts/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 20:41:02 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[web-development]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=19</guid>
		<description><![CDATA[If you develop websites on Ubuntu, you may have noticed the horrible fonts it uses.  You want Times New Roman?  It gives you some quasi Courier-New mutant.  Microsoft&#8217;s Truetype fonts, though free, are not open source, so Ubuntu cannot offer them as part of its default package.
You can, however, install them yourself.
sudo apt-get install msttcorefonts
That&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>If you develop websites on Ubuntu, you may have noticed the horrible fonts it uses.  You want Times New Roman?  It gives you some quasi Courier-New mutant.  Microsoft&#8217;s Truetype fonts, though free, are not open source, so Ubuntu cannot offer them as part of its default package.</p>
<p>You can, however, install them yourself.</p>
<blockquote><p>sudo apt-get install msttcorefonts</p></blockquote>
<p>That&#8217;s it!  Reboot your browser and you will now see fonts (at least the common ones) the way the rest of the world does.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2008/ubuntus-crappie-fonts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bad coffee</title>
		<link>http://blog.christopherpitzer.com/2008/bad-coffee/</link>
		<comments>http://blog.christopherpitzer.com/2008/bad-coffee/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 13:53:21 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[stories]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=18</guid>
		<description><![CDATA[It was 2pm and I was stalling at my desk.  I decided I needed some coffee but was too lazy to walk to any of the several coffee shops 2 blocks from my office.  And thus the following saga was set in motion&#8230;
I put a french press filled with water in the microwave [...]]]></description>
			<content:encoded><![CDATA[<p>It was 2pm and I was stalling at my desk.  I decided I needed some coffee but was too lazy to walk to any of the several coffee shops 2 blocks from my office.  And thus the following saga was set in motion&#8230;</p>
<p>I put a french press filled with water in the microwave for 2 minutes.  I don&#8217;t know if there&#8217;s anything technically wrong with microwaving a french press&#8230; but it just <em>feels</em> wrong.</p>
<p>When the microwave chimed, I started spooning coffee grounds into the french press.  I should point out the the coffee was pre-ground &#8220;Uban&#8221; brand coffee in a pop-top can.  The 30 ounce can cost me something like $6.  Less than premo, one might say.</p>
<p>Now when I went to stir the grounds I realized that the water was not nearly as hot as I had assumed.  It was less like hot tea than it was like warm milk.  &#8220;No big deal,&#8221; I thought, &#8220;I&#8217;ll just give it an extra few minutes to steep before I drink.  It will all even out.&#8221;</p>
<p>Ten minutes later I realized that I had completely forgotten about the coffee.  I tossed aside my keyboard, pressed down the filter on the french press, grabed a mug off of my desk and poured.  At this point I realized two more things:</p>
<ol>
<li>My coffee had the pallor of a light beer.</li>
<li>The mug I had found sitting on my desk was the one I had used the previous day to eat chicken noodle soup.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2008/bad-coffee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Euler</title>
		<link>http://blog.christopherpitzer.com/2008/project-euler/</link>
		<comments>http://blog.christopherpitzer.com/2008/project-euler/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 03:17:16 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[education]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=17</guid>
		<description><![CDATA[If you&#8217;re into puzzles and enjoy some light coding, you should check out Project Euler.  It&#8217;s a site devoted to problems (mostly mathematical) which require a computer to be solved.

Problem 35
The number, 197, is called a circular prime because all rotations of the digits: 197, 971, and 719, are themselves prime.
There are thirteen such [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re into puzzles and enjoy some light coding, you should check out <a href="http://www.projecteuler.net">Project Euler</a>.  It&#8217;s a site devoted to problems (mostly mathematical) which require a computer to be solved.</p>
<blockquote>
<h2><a href="http://projecteuler.net/index.php?section=problems&amp;id=35">Problem 35</a></h2>
<p>The number, 197, is called a circular prime because all rotations of the digits: 197, 971, and 719, are themselves prime.</p>
<p>There are thirteen such primes below 100: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, and 97.</p>
<p>How many circular primes are there below one million?</p></blockquote>
<p>Sure, you <em>could</em> solve that kind of problem on paper, but it would take you a lifetime.  On the other hand, it is pretty simple if you attack it with a computer.</p>
<ol>
<li>Find all the prime numbers under a million.</li>
<li>Split each number into a string and recombine it using all possible rotations.</li>
<li>Test each rotation, if all are prime, add 1 to the tally.</li>
</ol>
<p>When you have the answer, you can go back to ProjectEuler.net and punch it in.  The site will keep track of which problems you&#8217;ve solved, and if you have lots of time on your hands, you might even make it on to a list of the top 1000 problem solvers.</p>
<p>If you like mulling over a problem in the back of your mind all day, Project Euler is worth a look.</p>
<p>Have fun, and let me know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2008/project-euler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>favorite SF short story</title>
		<link>http://blog.christopherpitzer.com/2007/favorite-sf-short-story/</link>
		<comments>http://blog.christopherpitzer.com/2007/favorite-sf-short-story/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 09:05:32 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[SF]]></category>
		<category><![CDATA[philosophical]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=15</guid>
		<description><![CDATA[Years ago I read this short SF story that has hung with me ever since&#8230; long after I forgot what book it was in or who wrote it.  Today, thanks to several awkward google searches (aliens + probes + AI = the dark side of the internet) I found the story again!  And [...]]]></description>
			<content:encoded><![CDATA[<p>Years ago I read this short SF story that has hung with me ever since&#8230; long after I forgot what book it was in or who wrote it.  Today, thanks to several awkward google searches (aliens + probes + AI = the dark side of the internet) I found the story again!  And the frosting on the cake is that the author has it freely readable on his website!!</p>
<p>The story is called <a href="http://www.davidbrin.com/lungfish1.html" title="Lungfish" target="_blank">Lungfish</a>.  It was written by David Brin, and falls into the category of hard SF.  In other words, no faster than light travel, no super-mega-death-rays, no monsters.  The story centers around this strange culture made up of million year old, <a href="http://en.wikipedia.org/wiki/Self-replicating_spacecraft" target="_blank">self replicating probes.</a></p>
<p>The idea is simple, it takes hundreds of thousands of years to travel to even nearby stars.  So why not let machines do it for you?  If the destination proves interesting or habitable, the probe will build a society, replicate itself as necessary, and when ready will clone beings of your race from DNA data in its memory banks.  It can then teach the clones about your culture, and bingo &#8211; autonomous space colonization.</p>
<p>Now imagine a universe where many alien societies (over the last 100 million years) have launched probes like this, but with differing intent&#8230; some for colonization, some for exploration, but some are simply xenophobic.  They send out probes to self-replicate, and then detect and destroy other societies.</p>
<p>So some probes meet and form alliances.  Some lay in wait to trap and destroy predatory probes&#8230; some will simply orbit a planet waiting for the life there to evolve so it can make contact!</p>
<p>The story is only about 20 pages when printed in trade paperback, so it&#8217;s a quick read, but the idea is truly amazing.  Like I said, it&#8217;s one of my favorites&#8212;but don&#8217;t take my word for it&#8230;</p>
<p style="text-align: center"><img src="http://blog.christopherpitzer.com/wp-content/uploads/2007/11/levar-burton.jpg" alt="LeVar Burton" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2007/favorite-sf-short-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sync folders across multiple machines</title>
		<link>http://blog.christopherpitzer.com/2007/sync-folders-across-multiple-machines/</link>
		<comments>http://blog.christopherpitzer.com/2007/sync-folders-across-multiple-machines/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 06:07:23 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=13</guid>
		<description><![CDATA[
I work from all over, on many machines.  In the past I&#8217;ve just had to be absurd about carrying my files with me and always killing the old versions that stack up on whatever machine I didn&#8217;t use that day&#8230; in other words, a huge pain.
You&#8217;d think there would be an easy way to [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img src="http://blog.christopherpitzer.com/wp-content/uploads/2007/10/syncbig.thumbnail.gif" alt="syncbig.gif" border="0" height="96" width="96" /></p>
<p>I work from all over, on many machines.  In the past I&#8217;ve just had to be absurd about carrying my files with me and always killing the old versions that stack up on whatever machine I didn&#8217;t use that day&#8230; in other words, a huge pain.</p>
<p>You&#8217;d think there would be an easy way to just automatically have your computers make sure that the most recent version of all your necessary files are on every computer &#8211; and that the files you&#8217;ve deleted are removed from every computer.</p>
<p>Well, you&#8217;ve guessed it, there is!</p>
<p>Today I found <a href="http://www.foldershare.com" title="FolderShare.com" target="_blank">FolderShare,</a> a free little app by our friends over at Microsoft (hey &#8211; they can&#8217;t be all bad).  You install a tiny app on your computers, go to foldershare.com and create a free account, and then you can just log in through foldershare.com to tell your account (which then tells the apps on your computers) what folders you want synced!</p>
<p>It&#8217;s super easy, and once it&#8217;s set up FolderShare works in the background to sync your folders any time the content in one of them changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2007/sync-folders-across-multiple-machines/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>adding a Slideshow feature to a SimpleViewer gallery</title>
		<link>http://blog.christopherpitzer.com/2007/adding-a-slideshow-feature-to-a-simpleviewer-gallery/</link>
		<comments>http://blog.christopherpitzer.com/2007/adding-a-slideshow-feature-to-a-simpleviewer-gallery/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 22:59:17 +0000</pubDate>
		<dc:creator>Christopher Pitzer</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[how-to]]></category>

		<guid isPermaLink="false">http://blog.christopherpitzer.com/?p=12</guid>
		<description><![CDATA[SimpleViewer is a great, easy to impliment, polished little gallery written in flash that lets you tie your photos and thumbnails in with XML.  It&#8217;s got a decent feature set as far as changing the aesthetic of the viewer, but no option for an automated slideshow.
One of my clients wanted this option, and it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.airtightinteractive.com/simpleviewer/" target="_blank">SimpleViewer</a> is a great, easy to impliment, polished little gallery written in flash that lets you tie your photos and thumbnails in with XML.  It&#8217;s got a decent feature set as far as changing the aesthetic of the viewer, but no option for an automated slideshow.</p>
<p>One of my clients wanted this option, and it took me a while to figure it out &#8211; so for those of you who are wondering <strong>how to incorporate a slideshow into simpleviewer, here&#8217;s how</strong>!</p>
<p>My finished project can be seen at <a href="http://www.sixeightythreephoto.com" title="Six Eighty Three Photo - St Louis Wedding Photographer" target="_blank">SixEightyThreePhoto.com</a></p>
<p>(note &#8211; if you&#8217;re going for the free version of SimpleViewer this won&#8217;t help you &#8211; you need access to the source code, so you will need SimpleViewer Pro for this)</p>
<p><strong>Step one &#8211; simpleviewer.fla</strong></p>
<ol>
<li>Open simpleviewer.fla</li>
<li>Create a new layer in the timeline.</li>
<li>Create a keyframe by selecting frame 30 on your new timeline and hitting F6.</li>
<li>Create your start/stop button and put it here, on this keyframe, on this layer.  I&#8217;m calling mine ssButton.   (for those in the know, I&#8217;m not really using a &#8220;button&#8221; element&#8230; I find them awkward to work with&#8230;  I&#8217;m using a MovieClip as a button&#8230; but really, either way should work)</li>
<li>Now we&#8217;re going to need a bit of code.  This is all pretty simple stuff.  A setInterval to iterate the slideshow, and instead of having a boolean to look at to determine whether or not the slideshow is playing, I&#8217;m just looking at whether the &#8220;play&#8221; layer of the button is visible.  Open up the actions panel (F9) and copy this&#8230;</li>
</ol>
<blockquote><p>var nInterval:Number;</p>
<p>ssButton.onRelease = function():Void {<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssButton.mcPlay._visible = !ssButton.mcPlay._visible;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;clearInterval(nInterval);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;if(!ssButton.mcPlay._visible) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nInterval = setInterval(slideshow, 3000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sm.ssNext();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p>
<p>function slideshow():Void {<br />
&nbsp;&nbsp;&nbsp;&nbsp;sm.ssNext();<br />
}</p></blockquote>
<p><strong>Step two &#8211; StageManager.as</strong><br />
I wish I knew a better way to do this, but I guess  it&#8217;s not too painful&#8230; What we&#8217;re going to do here is pass our function call right on to another class instance.  So at the bottom of StageManager, right before the last close brace, add this function&#8230;</p>
<blockquote><p>public function ssNext() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;mImageArea.ssNext();<br />
}</p></blockquote>
<p><strong>Step three &#8211; ImageArea.as</strong><br />
Here&#8217;s where we actually, finally, DO something.   Place this function right before the last close brace at the  end of the file&#8230;</p>
<blockquote><p>public function ssNext():Void {<br />
&nbsp;&nbsp;&nbsp;&nbsp;var nStart:Number = mCurrentImageIndex;<br />
&nbsp;&nbsp;&nbsp;&nbsp;mThumbArea.selectedThumbIndex++;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;if(nStart == mCurrentImageIndex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mThumbArea.selectedThumbIndex = 0;<br />
}</p></blockquote>
<p>Ta-Da!!  If you built your button right, you now have working slideshow button in SimpleViewer!  You&#8217;ll have to publish the simpleviewer.fla file again to get the updated version of your viewer.swf,  and then you&#8217;ll probably have to tinker a bit to get the button in the right place &#8211; but that&#8217;s kid stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christopherpitzer.com/2007/adding-a-slideshow-feature-to-a-simpleviewer-gallery/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

