<?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/"
	>

<channel>
	<title>CodeSushi</title>
	<atom:link href="http://blog.codesushi.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.codesushi.com</link>
	<description>Raw and Tasty</description>
	<pubDate>Fri, 26 Jun 2009 16:28:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>RackspaceCloud Command Line Tool</title>
		<link>http://blog.codesushi.com/2009/06/rackspacecloud-command-line-tool/</link>
		<comments>http://blog.codesushi.com/2009/06/rackspacecloud-command-line-tool/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 16:27:23 +0000</pubDate>
		<dc:creator>danb</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Busted Loop]]></category>

		<category><![CDATA[groovy]]></category>

		<category><![CDATA[RackspaceCloud]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/?p=64</guid>
		<description><![CDATA[My business partner Josh and I have started a new venture, Busted Loop. As part of that venture, we are making stuff and blogging about it. Today was my turn and I blogged about a tool I created, The RackspaceCloud Command Line Tool.
There will be more stuff in the coming weeks. I hope some of [...]]]></description>
			<content:encoded><![CDATA[<p>My business partner Josh and I have started a new venture, <a href="http://bustedloop.com">Busted Loop</a>. As part of that venture, we are making stuff and blogging about it. Today was my turn and I blogged about a tool I created, <a href="http://bustedloop.com/blog/2009/6/26/owning-the-rackspace-cloud.html">The RackspaceCloud Command Line Tool</a>.</p>
<p>There will be more stuff in the coming weeks. I hope some of you will follow along&#8230; It won&#8217;t all be as geeky as this post&#8230; well.. pretty geeky, but not quite this geeky.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2009/06/rackspacecloud-command-line-tool/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My Stand Up Workstation</title>
		<link>http://blog.codesushi.com/2009/04/my-stand-up-workstation/</link>
		<comments>http://blog.codesushi.com/2009/04/my-stand-up-workstation/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 14:47:20 +0000</pubDate>
		<dc:creator>danb</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[DIY]]></category>

		<category><![CDATA[standing workstation]]></category>

		<category><![CDATA[work]]></category>

		<category><![CDATA[workstation]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/?p=36</guid>
		<description><![CDATA[I work from home 4 out of 5 days. For the last few years I have spent the majority of my working hours on the couch in front of the TV. About 2 months ago I decided I was going to stand up to do my work. Here is how I was set up when [...]]]></description>
			<content:encoded><![CDATA[<p>I work from home 4 out of 5 days. For the last few years I have spent the majority of my working hours on the couch in front of the TV. About 2 months ago I decided I was going to stand up to do my work. Here is how I was set up when I started standing:</p>
<p><a href="http://blog.codesushi.com/wp-content/uploads/2009/04/old_full.jpg"><img class="size-full wp-image-42" title="old_full" src="http://blog.codesushi.com/wp-content/uploads/2009/04/old_full.jpg" alt="old_full" width="300" height="400" /></a></p>
<p>And here is how I ended up:</p>
<p><a href="http://blog.codesushi.com/wp-content/uploads/2009/04/new_full_cropped.jpg"><img class="alignnone size-full wp-image-54" title="new_full_cropped" src="http://blog.codesushi.com/wp-content/uploads/2009/04/new_full_cropped.jpg" alt="new_full_cropped" width="396" height="400" /></a></p>
<p>To help with scale&#8230; the first picture is my old 15&#8243; Mac Book Pro and a 19&#8243; CRT. The second picture is my new 17&#8243; Mac Book Pro and a 24&#8243; LCD.</p>
<p>The entire setup is sitting on a standard cheapo corner desk from Staples.</p>
<p>The laptop is on a Plexiglas shelf. The LCD is mounted on the copper stand, not the wall. The keyboard and mouse stand is not attached to the laptop/monitor stand.</p>
<p>The laptop is very accessible so it&#8217;s quick and easy for me to yank it off the stand and go to the office or back to the couch for a movie.</p>
<p>The whiteboard I affixed to the tilted area in front of the keyboard has come in extremely handy a number of times.</p>
<p>I had planned on doing a detailed write up on how I built this thing&#8230;. but, it&#8217;s been a month now and the mojo is gone. I&#8217;ll just bust out some &#8220;highlights&#8221;&#8230; I&#8217;m happy to answer any questions you have.</p>
<p>I built the structure entirely out of copper pipe and rivets and I made the shelves from Plexiglas. It took me about 30ish hours to complete&#8230; Much of that time was spent experimenting and wasting materials.</p>
<p>The monitor is about 2-3 inches higher than my initial design (the top of the laptop and LCD should be flush) because I ordered the wrong mount and was too impatient to wait for a new one&#8230; so I &#8220;fabricated&#8221; an &#8220;adapter&#8221; out of some random junk&#8230; and two Isaac Asimov novels&#8230; really. I&#8217;ll get around to fixing that.</p>
<p>You may not have noticed the mood lighting&#8230; I added a small lamp behind the whiteboard which gives me decent light at night without having the overheads on.</p>
<p>Here&#8217;s a shot from during construction:</p>
<p><a href="http://blog.codesushi.com/wp-content/uploads/2009/04/construction.jpg"><img class="alignnone size-full wp-image-59" title="construction" src="http://blog.codesushi.com/wp-content/uploads/2009/04/construction.jpg" alt="construction" width="448" height="326" /><br />
</a></p>
<p>I stuck with stock plumbing parts from Home Depot&#8230; Which means I basically have elbows, t-joints and straight bits to work with&#8230; this led to lots of joints and some interesting angles for stability.</p>
<p>The End.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2009/04/my-stand-up-workstation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Moving Again</title>
		<link>http://blog.codesushi.com/2009/03/moving-again/</link>
		<comments>http://blog.codesushi.com/2009/03/moving-again/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 04:08:22 +0000</pubDate>
		<dc:creator>danb</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[cibw]]></category>

		<category><![CDATA[godaddy]]></category>

		<category><![CDATA[roller]]></category>

		<category><![CDATA[slicehost]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/?p=32</guid>
		<description><![CDATA[I&#8217;m moving all my stuff from my godaddy dedicated server to a small group of slicehost slices. This is going to save me about 50% on my hosting bill, but still allow me some scalability when I need it. I really like what I&#8217;ve seen of slicehost so far&#8230; you can pick your flavor of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m moving all my stuff from my godaddy dedicated server to a small group of <a title="slicehost" href="http://slicehost.com">slicehost</a> slices. This is going to save me about 50% on my hosting bill, but still allow me some scalability when I need it. I really like what I&#8217;ve seen of slicehost so far&#8230; you can pick your flavor of linux, create new slices that look just like the ones you&#8217;ve already set up, or start completely fresh. You get full root access and it&#8217;s hard to beat the $20/month starting price. I&#8217;m going to start out with 3 slices.. Apache, Tomcat and DB. I&#8217;ve had this move on the back burner since mid February and I finally took the plunge over the last few days and finished it up. I&#8217;ve moved all my sites and apps and I think I&#8217;ve made all the old URLs line up with the new URLs&#8230; so it should be &#8220;seamless&#8221;.</p>
<p>I am also switching off roller, and on to wordpress for this blog&#8230; wordpress is <em>much</em> more feature rich than roller. Hopefully it will inspire me to blog more than once a quarter.</p>
<p>In other news&#8230; you should check out <a title="the clark island boar works blog" href="http://clarkislandboatworks.blogspot.com">the clark island boat works blog</a>, my friend Mac does the boat and blog building and it&#8217;s pretty interesting to see what goes into one of these boats&#8230;. even if you don&#8217;t really care about boats. At least give him a click or two.. he watches the damn traffic stats like some kind of junkie.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2009/03/moving-again/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Greasemonkeying Around</title>
		<link>http://blog.codesushi.com/2008/11/greasemonkeying-around/</link>
		<comments>http://blog.codesushi.com/2008/11/greasemonkeying-around/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 23:56:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[diet]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[greasemonkey]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[sparkpeople]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/codesushi/entry/greasemonkeying_around</guid>
		<description><![CDATA[UPDATE 2: ok, this greasemonkey script is now outdated.. please use the firefox plugin instead. it has it&apos;s own url here. Everything below this point is just history now  
I have recently started using sparkpeople to track my diet and exercise (we&apos;ll see how long that lasts). It&apos;s a nice site for the most [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE 2: ok, this greasemonkey script is now outdated.. please use the firefox plugin instead. it has it&apos;s <a href="http://codesushi.com/sparkplugin/">own url here</a>. Everything below this point is just history now <img src='http://blog.codesushi.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br/><br/><br />
I have recently started using <a href="http://sparkpeople.com">sparkpeople</a> to track my diet and exercise (we&apos;ll see how long that lasts). It&apos;s a nice site for the most part, but there are a few features I&apos;d like to see&#8230; so instead of just begging for them through official channels, I&apos;ve started to create them on my own.<br />
<br/><br/><br />
The nutrition tracking page shows you your target calories, carbs, fat and protein and the number you have used for the day, but it doesn&apos;t show how many you have left of each.<br />
<br/><br/><br />
<a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> is a firefox add-on that allows you to install scripts that can interact with web pages as you surf them. You can use this to add additional functionality to web sites you use regularly or combine functionality from multiple websites together.<br />
<br/><br/><br />
I have created a greasemonkey script that adds a &#8220;remaining&#8221; stat to the nutrition page, it looks like this:<br />
<br/><br />
<img src="http://codesushi.com/gm/spark_nut_screen.png"/><br />
<br/><br />
If you have the greasemonkey add-on installed, you can <a href="http://codesushi.com/sparkplugin/">click here</a> and install the script. It should do its thing any time you are on your nutrition page.<br />
<br/><br/><br />
<b>UPDATE:</b> I am just going to update this post as I add things to this script&#8230; I have now added some summary stuff in the side bar, it looks like this:<br />
<br/><br />
<img src="http://codesushi.com/gm/spark_sidebar_screen.png"/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2008/11/greasemonkeying-around/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Calculating Inflated Prices with CPI and Groovy</title>
		<link>http://blog.codesushi.com/2008/09/calculating-inflated-prices-with-cpi-and-groovy/</link>
		<comments>http://blog.codesushi.com/2008/09/calculating-inflated-prices-with-cpi-and-groovy/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 13:28:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[cpi]]></category>

		<category><![CDATA[grails]]></category>

		<category><![CDATA[groovy]]></category>

		<category><![CDATA[inflation]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/codesushi/entry/calculating_inflated_prices_with_cpi</guid>
		<description><![CDATA[There have been a few occasions where I have wanted to express historic prices in terms of their inflated value or vice-versa.. e.g. $100 dollars in 2007 was worth about $63 in 1990.

This is actually a very simple thing to calculate&#8230; we take the CPI from 2007 (207.34) and the CPI from 1990 (130.65) and [...]]]></description>
			<content:encoded><![CDATA[<p>There have been a few occasions where I have wanted to express historic prices in terms of their inflated value or vice-versa.. e.g. $100 dollars in 2007 was worth about $63 in 1990.<br />
<br/><br/><br />
This is actually a very simple thing to calculate&#8230; we take the CPI from 2007 (207.34) and the CPI from 1990 (130.65) and do the computation thusly:<br />
<br/><br/><br />
$100.0 * (1.0 + ((130.65833333333333 - 207.3424166666667) / 207.3424166666667))<br />
<br/><br/><br />
I have written a grails service that grabs the latest CPI data and does this for me&#8230; it&apos;s just groovy, so it should be easy to use outside of a grails app.<br />
<br/><br/></p>
<pre name="code" class="java">
class InflationService {
    boolean transactional = true

    // this is where the live CPI data lives
    String cpiURL = &apos;ftp://ftp.bls.gov/pub/special.requests/cpi/cpiai.txt&apos;

    // map of year to CPI average String -> double
    def cpiMap = [:]

    // track the last time we updated from the source data,
    // for long lived apps we don&apos;t want to get stale.
    long lastLoadTime = 0;

    // always use the current year as the target year
    double calculateCurrentDollars(String fromYear, double value) {
        refreshCPIData(false)

        GregorianCalendar date = new GregorianCalendar()
        def year = date.get(Calendar.YEAR)

        // not sure what the CPI table looks like in january...
        // this should account for no record for the current year...
        // more that 1 missing year is a serious problem
        def toYear = String.valueOf((cpiMap[String.valueOf(year)] != null) ? year : year-1)

        return calculateYearDollars(fromYear, toYear, value)
    }

    double calculateYearDollars(String fromYear, String toYear, double value) {
        refreshCPIData(false)

        def toCPI = cpiMap[toYear]
        def fromCPI = cpiMap[fromYear]
        // here&apos;s the actual math...
        // pretty simple when you final get down to it <img src='http://blog.codesushi.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />         // TODO - check for nulls or zeros and throw exception.
        return value * (1.0 + ((toCPI - fromCPI) / fromCPI))
    }

    // refresh cpiMap if last update was more than 1 day ago
    // OR forceUpdateNow param is true.
    public void refreshCPIData(boolean forceUpdateNow) {
        long oneDay = (1000 * 60 * 60 * 24)
        // update once per day. (or if forced)
        if (forceUpdateNow || (lastLoadTime + oneDay) < System.currentTimeMillis()) {
            lastLoadTime = System.currentTimeMillis()

            // grab the "tabular" data right from The Man
            cpiURL.toURL().text.eachLine {yearLine ->
                // find all the lines that start with a year..
                // these are the useful bits of the doc
                if (yearLine.matches(/^\s+\d\d\d\d\s.*/)) {
                    // split the line up into individual values
                    def yearList = yearLine.split(/\s+/).findAll {it.size() > 0}
                    // the first item is the year.. hang onto that
                    def year = yearList[0]
                    // the rest of the values are CPI values for each month
                    // (some averages at the end that we ignore)
                    yearList = yearList.tail().collect {Double.valueOf(it)}
                    // average all 12 months for every year...
                    // except the current year could have less than 12 months
                    int idx = yearList.size() < 12 ? yearList.size() - 1 : 11;
                    cpiMap[year] = yearList[0..idx].sum() / (idx + 1)
                }
            }
        }
    }
}
</pre>
<p>here is a simple test.<br />
<br/></p>
<pre name="code" class="java">
class InflationServiceTests extends GroovyTestCase {
    InflationService inflationService;

    void test2007to1990Dollars() {
        assertEquals(&apos;got wrong answer&apos;, 63.01572800870056,inflationService.calculateYearDollars(&apos;2007&apos;, &apos;1990&apos;, 100.0));
    }
}
</pre>
<p><br/><br />
It shouldn&apos;t matter which direction you want to do the conversion in.. 1990 dollars to 2007 dollars or 2007 dollars to 1990 dollars. The data starts in 1913 (the year the federal reserve was created) and runs about a month behind.. so I write this in September 2008 and the CPI is available through August 2008.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2008/09/calculating-inflated-prices-with-cpi-and-groovy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Spam A Day</title>
		<link>http://blog.codesushi.com/2008/08/a-spam-a-day/</link>
		<comments>http://blog.codesushi.com/2008/08/a-spam-a-day/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 16:03:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[comic]]></category>

		<category><![CDATA[funny]]></category>

		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/codesushi/entry/a_spam_a_day</guid>
		<description><![CDATA[The aspamaday blog is a fun blog.. The author turns spam subjects into little works of art. Today I sent in a spam subject I received (Who Needs Sex When You Can Steal DNA)&#8230; less than two hours later, he made this.
]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://aspamaday.blogspot.com/">aspamaday blog</a> is a fun blog.. The author turns spam subjects into little works of art. Today I sent in a spam subject I received (Who Needs Sex When You Can Steal DNA)&#8230; less than two hours later, he made <a href="http://aspamaday.blogspot.com/2008/08/who-needs-sex-when-you-can-steal-dna.html">this</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2008/08/a-spam-a-day/feed/</wfw:commentRss>
		</item>
		<item>
		<title>xkcd++</title>
		<link>http://blog.codesushi.com/2008/06/xkcd/</link>
		<comments>http://blog.codesushi.com/2008/06/xkcd/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 05:14:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[comic]]></category>

		<category><![CDATA[philosophy]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[xkcd]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/codesushi/entry/xkcd</guid>
		<description><![CDATA[xkcd is a great web comic&#8230; nerdy, smart, creative, and fun&#8230; It&apos;s one of my favorite RSS feeds. Today&apos;s comic is brilliant as always&#8230; but I felt like I had a slight improvement to make  

]]></description>
			<content:encoded><![CDATA[<p><a href="http://xkcd.com">xkcd</a> is a great web comic&#8230; nerdy, smart, creative, and fun&#8230; It&apos;s one of my favorite RSS feeds. <a href="http://xkcd.com/435/">Today&apos;s comic</a> is brilliant as always&#8230; but I felt like I had a slight improvement to make <img src='http://blog.codesushi.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br/><br />
<a href="http://codesushi.com/images/purity_pp.png"><img src="http://codesushi.com/images/purity_pp.png" width="550" height="200" alt="nothing to say." title="nothing to say."/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2008/06/xkcd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Slicing Up Cory Doctorow&apos;s Little Brother</title>
		<link>http://blog.codesushi.com/2008/05/slicing-up-cory-doctorows-little-brother/</link>
		<comments>http://blog.codesushi.com/2008/05/slicing-up-cory-doctorows-little-brother/#comments</comments>
		<pubDate>Mon, 12 May 2008 06:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[audio]]></category>

		<category><![CDATA[book]]></category>

		<category><![CDATA[brother]]></category>

		<category><![CDATA[doctorow]]></category>

		<category><![CDATA[itunes]]></category>

		<category><![CDATA[little]]></category>

		<category><![CDATA[podcast]]></category>

		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/codesushi/entry/slicing_up_cory_doctorow_s</guid>
		<description><![CDATA[I bought the audio book (and hard cover) version of Cory Doctorow&apos;s new book Little Brother. It&apos;s delivered as a 163 megabyte MP3 file, over 11 hours of spoken word&#8230; I have listened to dozens of audio books delivered as podcasts, but I only have one &#8220;normal&#8221; audio book (The Areas Of My Expertise by [...]]]></description>
			<content:encoded><![CDATA[<p>I bought the audio book (and hard cover) version of Cory Doctorow&apos;s new book <a href="http://craphound.com/littlebrother/">Little Brother</a>. It&apos;s delivered as a 163 megabyte MP3 file, over 11 hours of spoken word&#8230; I have listened to dozens of audio books delivered as podcasts, but I only have one &#8220;normal&#8221; audio book (<a href="http://www.areasofmyexpertise.com/">The Areas Of My Expertise</a> by John Hodgman&#8230; hilarious) which I bought through iTunes, it is broken into 3 (2.5 hour) parts, which is still a bit long for an &#8220;episode&#8221;. I really prefer the podcast episode per chapter form factor because it caters to my various neurosises and gives me a feeling of progress and accomplishment even when I don&apos;t really deserve said feeling.<br />
<br/><br/><br />
I listen to my podcasts in three places, my iPhone, my Apple TV, and through iTunes on my MacBook Pro (Holy fanboy, Batman). While the synchronization between the three is pretty good, it can mess up and lose my place in an audio file. This usually isn&apos;t an issue because I rarely need more than a sitting to complete any particular file. I suspect that I&apos;m not going to finish an 11+ hour audio book in a sitting&#8230; or even 11&#8230; so there is bound to be frustration and cursing as I lose my place repeatedly somewhere in the syncing madness.<br />
<br/><br/><br />
After some Googling, I found <a href="http://audioslicer.sourceforge.net/">AudioSlicer</a>. In under 30 minutes I had the book split into 26 named sections, intro, chapters 1-21, epilogue, afterword, bibliography, and credits and copyrights. Here is my <a href="http://codesushi.com/res/lb_chapters_split.zip">.split file</a> (unzip it) which you can use with AudioSlicer to split the MP3 you purchase into the same chapters (if you have a mac). When you &#8220;Export Splitted&#8221; make sure &#8220;Filename Format&#8221; is &#8220;[trackNumber]_[title]_[album]_[artist]&#8220;.<br />
<br/><br/><br />
Now I could just import these files as a playlist in iTunes, but that&apos;s not how I roll&#8230; I want everything to be a podcast. Here is the iTunes friendly <a href="http://codesushi.com/res/little_brother.xml">RSS based podcast feed</a> i created (you&apos;ll need to follow the rest of the steps to make that useful, you can&apos;t just click that link and subscribe).<br />
<br/><br/><br />
Now, take the mp3 files you created, and the podcast feed, and put them in a directory named &#8220;lb&#8221;&#8230; now put that lb directory in &#8220;/Library/WebServer/Documents/&#8221;. If you have web sharing enabled (System Preferences ->  Sharing -> Web Sharing) you should now go to iTunes (or whatever) and go to Advanced -> Subscribe to podcast and paste in &#8220;http://localhost/lb/little_brother.xml&#8221;<br />
<br/><br/><br />
 Once the downloads are complete you should have something that looks like this:<br/><br />
<img width="500" height="350" src="http://blog.codesushi.com/codesushi/resource/Picture%203.png" /><br />
<br/><br/><br />
All the files are served up locally and should not be available on the network at-large. Once all the chapters are downloaded into iTunes (or whatever) you can delete the lb directory and disable your web sharing (if you don&apos;t need it for other stuff, obviously).<br />
<br/><br/><br />
I hope this is helpful to someone besides me&#8230; if anyone finds an easy way to split the file up on Linux or Windows, let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2008/05/slicing-up-cory-doctorows-little-brother/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Roller So Far And Some New Theme Features</title>
		<link>http://blog.codesushi.com/2008/04/roller-so-far-and-some-new-theme-features/</link>
		<comments>http://blog.codesushi.com/2008/04/roller-so-far-and-some-new-theme-features/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 21:59:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[blog]]></category>

		<category><![CDATA[bookmarks]]></category>

		<category><![CDATA[roller]]></category>

		<category><![CDATA[rss]]></category>

		<category><![CDATA[social]]></category>

		<category><![CDATA[wish]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/codesushi/entry/some_new_blog_features</guid>
		<description><![CDATA[Some technical wishes for Roller&#8230; I wish there were a generic way to pass values provided through the admin UI to the themes. For instance, analytics, adsense and google reader stuff.. I could then make this theme available to others with all those features ready to go out of the box. Not that this theme [...]]]></description>
			<content:encoded><![CDATA[<p>Some technical wishes for <a href="http://rollerweblogger.org/project/">Roller</a>&#8230; I wish there were a generic way to pass values provided through the admin UI to the themes. For instance, analytics, adsense and google reader stuff.. I could then make this theme available to others with all those features ready to go out of the box. Not that this theme is particularly good.. but I think there are some cool technical aspects to it that could make life easier for people less technically inclined&#8230;<br />
<br/><br/><br />
I wish I didn&apos;t have to restart Roller to apply theme changes. It seems like there should be at least an option to use the theme resources directly. Maybe that&apos;s just me wanting Roller to be a content management system when it&apos;s not.<br />
<br/><br/></p>
<p>I wish I had time to dig into the Roller source code.<br />
<br/><br/></p>
<p>All in all, I like it.. it&apos;s a cool system that&apos;s relatively easy to maintain and I have full control.<br />
<br/><br/></p>
<p>I&apos;ve been working on this theme a little..<br />
<br/><br/></p>
<p>I added a tag cloud on the right and a list of old posts. I&apos;ll try to tag each post pretty well so that maintains good utility.<br />
<br/><br/></p>
<p>Each post now has a few social bookmarking links under it. You most likely know what they are, and if you don&apos;t, they probably won&apos;t make your life any better. Leave a comment if there&apos;s some service you really like.<br />
<br/><br/></p>
<p>I have also added a widget from my <a href="http://google.com/reader">RSS reader</a>. I&apos;m subscribed to dozens of RSS feeds from a pretty wide variety of topics. Any I flag as &#8220;shared&#8221; will appear in that box on the right. I don&apos;t flag very many&#8230; but I think they&apos;re usually pretty good <img src='http://blog.codesushi.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2008/04/roller-so-far-and-some-new-theme-features/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TED Talks And The Amazing Wii Remote</title>
		<link>http://blog.codesushi.com/2008/04/ted-talks-and-the-amazing-wii-remote/</link>
		<comments>http://blog.codesushi.com/2008/04/ted-talks-and-the-amazing-wii-remote/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 17:11:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[education]]></category>

		<category><![CDATA[podcast]]></category>

		<category><![CDATA[ted]]></category>

		<category><![CDATA[wii]]></category>

		<guid isPermaLink="false">http://blog.codesushi.com/codesushi/entry/50</guid>
		<description><![CDATA[Check out this TED talk by Johnny Lee about how he has used the Nintendo Wii controller (just the $40 controller) to create really cheap projection touchscreens and more.

I just found out about TED fairly recently, and I&#8217;ve been watching the videos voraciously ever since. If you&#8217;re not familiar with TED it&#8217;s a yearly conference [...]]]></description>
			<content:encoded><![CDATA[<p>Check out this <a href="http://blog.ted.com/2008/04/wii_remote_hack.php">TED talk by Johnny Lee</a> about how he has used the Nintendo Wii controller (just the $40 controller) to create really cheap projection touchscreens and more.</p>
<p><!--cut and paste--><object width="432" height="285" data="http://static.videoegg.com/ted2/flash/loader.swf" type="application/x-shockwave-flash"><param name="id" value="VE_Player" /><param name="align" value="middle" /><param name="FlashVars" value="bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/JOHNNYLEE-2008_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true" /><param name="quality" value="high" /><param name="allowScriptAccess" value="always" /><param name="bgcolor" value="#FFFFFF" /><param name="scale" value="noscale" /><param name="wmode" value="window" /><param name="src" value="http://static.videoegg.com/ted2/flash/loader.swf" /><param name="name" value="VE_Player" /><param name="flashvars" value="bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/JOHNNYLEE-2008_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true" /></object></p>
<p>I just found out about <a href="http://ted.com">TED</a> fairly recently, and I&#8217;ve been watching the videos voraciously ever since. If you&#8217;re not familiar with TED it&#8217;s a yearly conference where some of the worlds most innovative and intelligent people give talks from 5 to 40 minutes in length. It&#8217;s been going on for 20+ years, and has featured household names in science, politics, entertainment and just about any field you can  think of. Most amazing are the people who most of us have never heard of, like Johnny Lee, with some incredible new invention, idea, insight or even just a great story.</p>
<p>Here are some good ones</p>
<ul>
<li> <a href="http://feeds.feedburner.com/~r/TEDTalks_video/~3/131014692/ted_russell_a_2006.mp4">Alan Russell on regenerative medicine</a></li>
<li><a href="http://feeds.feedburner.com/~r/TEDTalks_video/~3/128120644/ted_rosling_h_2007.mp4">Hans Rosling shows some amazing graphical visualizations of global historic data</a></li>
<li> <a href="http://feeds.feedburner.com/~r/TEDTalks_video/~3/http%3A%2F%2Fted.streamguys.net%2Fted_brilliant_l_2006.mp4">Larry Brilliant eradicating the last case of Small Pox, personally</a></li>
</ul>
<p>I could go on.. there are very few that I would say are not worth seeing, and there are hundreds out there, with more published all the time. The full podcast feed is <a href="http://feeds.feedburner.com/tedtalks_video">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codesushi.com/2008/04/ted-talks-and-the-amazing-wii-remote/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
