<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.jameshoward.us/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en"><title type="text">James P. Howard, II's Blog</title><link rel="alternate" type="text/html" href="http://www.jameshoward.us/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.jameshoward.us/jameshoward" /><subtitle type="html">News and information from James Howard &lt;http://jameshoward.us&gt;.</subtitle><updated>1970-01-01T00:00:00+00:00</updated><generator>Tumblr (3.0; @howardjp)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.jameshoward.us/jameshoward" /><feedburner:info uri="jameshoward" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://tumblr.superfeedr.com/" /><geo:lat>39.207523</geo:lat><geo:long>-76.825277</geo:long><feedburner:emailServiceId>jameshoward</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry><title type="text">FreeGrep Now Standard in Minix</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/tMlo-YDlbaI/729382633" /><category term="freegrep" /><category term="minix" /><updated>2010-06-23T11:29:20-07:00</updated><id>http://www.jameshoward.us/post/729382633</id><content type="html">&lt;p&gt;I received an email today saying &lt;a href="http://gforge.cs.vu.nl/gf/project/minix/scmsvn/?action=browse&amp;path=%2Ftrunk%2Fsrc%2Fcommands%2Fgrep%2F"&gt;FreeGrep is now standard in Minix 3&lt;/a&gt;!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=tMlo-YDlbaI:mw1fBfCn7Jk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=tMlo-YDlbaI:mw1fBfCn7Jk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=tMlo-YDlbaI:mw1fBfCn7Jk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=tMlo-YDlbaI:mw1fBfCn7Jk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=tMlo-YDlbaI:mw1fBfCn7Jk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=tMlo-YDlbaI:mw1fBfCn7Jk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=tMlo-YDlbaI:mw1fBfCn7Jk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=tMlo-YDlbaI:mw1fBfCn7Jk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=tMlo-YDlbaI:mw1fBfCn7Jk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/tMlo-YDlbaI" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/729382633</feedburner:origLink></entry><entry><title type="text">FreeGrep v1.1</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/bgtlWjsv3Oc/678549575" /><category term="freegrep" /><category term="freebsd" /><updated>2010-06-08T19:03:07-07:00</updated><id>http://www.jameshoward.us/post/678549575</id><content type="html">&lt;p&gt;Proving no good deed goes unpunished, I left a small bug in FreeGrep v1.0.  It has been fixed and updated to 1.1 and also submitted for update in the FreeBSD Ports Tree.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=bgtlWjsv3Oc:1uBydocQyrQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=bgtlWjsv3Oc:1uBydocQyrQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=bgtlWjsv3Oc:1uBydocQyrQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=bgtlWjsv3Oc:1uBydocQyrQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=bgtlWjsv3Oc:1uBydocQyrQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=bgtlWjsv3Oc:1uBydocQyrQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=bgtlWjsv3Oc:1uBydocQyrQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=bgtlWjsv3Oc:1uBydocQyrQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=bgtlWjsv3Oc:1uBydocQyrQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/bgtlWjsv3Oc" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/678549575</feedburner:origLink></entry><entry><title type="text">FreeGrep Ported to Minix and New Release</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/2mxJDS5maDY/674821572" /><category term="freegrep" /><category term="github" /><category term="minix" /><category term="freebsd" /><updated>2010-06-07T17:55:22-07:00</updated><id>http://www.jameshoward.us/post/674821572</id><content type="html">&lt;p&gt;This morning, &lt;a href="http://github.com/gautambt"&gt;GitHub user gautambt&lt;/a&gt; ported &lt;a href="http://github.com/howardjp/freegrep"&gt;FreeGrep&lt;/a&gt; to &lt;a href="http://www.minix3.org"&gt;Minix 3&lt;/a&gt;.  While the build system leaves something to be desired, I remain resolute in my desire to never learn Autoconf.  I have pulled &lt;strong&gt;gautambt&lt;/strong&gt;’s changes into the master branch on GitHub.&lt;/p&gt;

&lt;p&gt;In related news, I figured that after 12 years, it was time to let this thing graduate.  So I cut a new release and have blessed it as version 1.0.  The release should build cleanly on FreeBSD, NetBSD, OpenBSD, and Minix 3.  Compiling by hand, it will also build on OS X.  You can download FreeGrep 1.0 from &lt;a href="http://github.com/howardjp/freegrep/downloads"&gt;GitHub&lt;/a&gt; and &lt;a href="ftp://ftp.jameshoward.us/pub/howardjp/grep/."&gt;ftp://ftp.jameshoward.us/pub/howardjp/grep/.&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=2mxJDS5maDY:eIgthV6ValU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=2mxJDS5maDY:eIgthV6ValU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=2mxJDS5maDY:eIgthV6ValU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=2mxJDS5maDY:eIgthV6ValU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=2mxJDS5maDY:eIgthV6ValU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=2mxJDS5maDY:eIgthV6ValU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=2mxJDS5maDY:eIgthV6ValU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=2mxJDS5maDY:eIgthV6ValU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=2mxJDS5maDY:eIgthV6ValU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/2mxJDS5maDY" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/674821572</feedburner:origLink></entry><entry><title type="text">New FTP Site</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/89WYWN6ayF8/657347238" /><category term="ftp" /><category term="services" /><category term="software" /><updated>2010-06-02T03:29:00-07:00</updated><id>http://www.jameshoward.us/post/657347238</id><content type="html">&lt;a href="ftp://ftp.jameshoward.us/pub/howardjp"&gt;New FTP Site&lt;/a&gt;: &lt;p&gt;I have set up a small FTP site for numerous small programs I either wrote or was once responsible for.  Or still am.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=89WYWN6ayF8:IzBBmsHFU04:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=89WYWN6ayF8:IzBBmsHFU04:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=89WYWN6ayF8:IzBBmsHFU04:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=89WYWN6ayF8:IzBBmsHFU04:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=89WYWN6ayF8:IzBBmsHFU04:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=89WYWN6ayF8:IzBBmsHFU04:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=89WYWN6ayF8:IzBBmsHFU04:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=89WYWN6ayF8:IzBBmsHFU04:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=89WYWN6ayF8:IzBBmsHFU04:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/89WYWN6ayF8" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/657347238</feedburner:origLink></entry><entry><title type="text">Waterfall Charts in R</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/4VsDu0cDEAM/625295781" /><category term="finance" /><category term="graphics" /><category term="r" /><category term="statistics" /><category term="waterfall" /><category term="rstats" /><updated>2010-05-23T09:07:00-07:00</updated><id>http://www.jameshoward.us/post/625295781</id><content type="html">&lt;p&gt;It is often hard to wrap your head around the finances of organizations and the unusual accounting rules of public organizations make that even more difficult.  When I read &lt;a href="http://books.google.com/books?id=UtNZZU6JLiQC&amp;lpg=PP1&amp;dq=mckinsey%20way&amp;pg=PP1#v=onepage&amp;q&amp;f=false"&gt;The McKinsey Way&lt;/a&gt; several years ago, I saw the value in using waterfall charts to analyze and understand the finances of public organizations.  So I created functions for plotting waterfall charts using both traditional and grid graphics in &lt;a href="http://www.r-project.org/"&gt;R&lt;/a&gt;.  Here’s an example using the sample data from &lt;em&gt;The McKinsey Way&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_l2tyqg9LdU1qzy7qe.png" alt="Example from Rasiel (1999)"/&gt;&lt;/p&gt;

&lt;p&gt;More advanced examples are available in the package demo.  I had intended to write the documentation and submit it as a code snippet to the &lt;a href="http://www.jstatsoft.org/"&gt;Journal of Statistical Software&lt;/a&gt;.  However, I have yet to actually write the documentation and it is probably not appropriate for JSS, anyway.  Otherwise, the package is complete and is &lt;a href="http://cran.r-project.org/web/packages/waterfall/index.html"&gt;now available from CRAN&lt;/a&gt;.  The source code &lt;a href="http://bitbucket.org/howardjp/waterfall"&gt;is available from Bitbucket&lt;/a&gt;.  The code repository contains the outline of an &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; project using &lt;a href="http://www.walware.de/goto/statet"&gt;StatET&lt;/a&gt;, which I recommend for working with this and all other R packages.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=4VsDu0cDEAM:-z216q4ReuE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=4VsDu0cDEAM:-z216q4ReuE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=4VsDu0cDEAM:-z216q4ReuE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=4VsDu0cDEAM:-z216q4ReuE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=4VsDu0cDEAM:-z216q4ReuE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=4VsDu0cDEAM:-z216q4ReuE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=4VsDu0cDEAM:-z216q4ReuE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=4VsDu0cDEAM:-z216q4ReuE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=4VsDu0cDEAM:-z216q4ReuE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/4VsDu0cDEAM" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/625295781</feedburner:origLink></entry><entry><title type="text">Minimal: Simplify: Tips for a minimal wallet</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/oG3F4r8COwA/592267157" /><category term="personal" /><category term="gtd" /><category term="minimal" /><updated>2010-05-12T04:58:00-07:00</updated><id>http://www.jameshoward.us/post/592267157</id><content type="html">&lt;a href="http://mnmal.tumblr.com/post/500796511/simplify-tips-for-a-minimal-wallet"&gt;Minimal: Simplify: Tips for a minimal wallet&lt;/a&gt;: &lt;blockquote&gt;
&lt;p&gt;This post will be short since there’s only one way to simplify your wallet: &lt;strong&gt;Get a smaller wallet&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Here you have some samples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.eaglecreek.com/product/40264"&gt;Eagle Creek Slim Wallet&lt;/a&gt; (my fav, it’s the one I use)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.koyono.com/SlimSlimmy-Minimalist-Ultra-Thin-Wallet-p/u27546.htm"&gt;Slim Slimmy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.brookstone.com/ultra-thin-credit-card-wallets.html?bkeid=compare%7Cmercent%7Cgooglebase%7Csearch&amp;mr:trackingCode=A7724051-0F89-DE11-9EF7-0019B9C2BEFD&amp;mr:referralID=NA"&gt;Ultra Thin Card case&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have a smaller wallet, then:&lt;/p&gt;
&lt;p&gt;Bring&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Your picture ID&lt;/li&gt;
&lt;li&gt;One…&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=oG3F4r8COwA:6pjW1Nia-4A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=oG3F4r8COwA:6pjW1Nia-4A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=oG3F4r8COwA:6pjW1Nia-4A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=oG3F4r8COwA:6pjW1Nia-4A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=oG3F4r8COwA:6pjW1Nia-4A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=oG3F4r8COwA:6pjW1Nia-4A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=oG3F4r8COwA:6pjW1Nia-4A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=oG3F4r8COwA:6pjW1Nia-4A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=oG3F4r8COwA:6pjW1Nia-4A:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/oG3F4r8COwA" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/592267157</feedburner:origLink></entry><entry><title type="text">Shell Script for Remember the Milk</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/0rVBZJXzvL4/526729497" /><category term="gtd" /><category term="remember the milk" /><category term="geekery" /><updated>2010-04-16T16:00:00-07:00</updated><id>http://www.jameshoward.us/post/526729497</id><content type="html">&lt;p&gt;A couple of weeks ago, the &lt;a href="http://www.rememberthemilk.com"&gt;Remember the Milk&lt;/a&gt; blog posted about &lt;a href="http://blog.rememberthemilk.com/2010/03/tips-tricks-tuesday-two-quick-ways-to-add-tasks-to-remember-the-milk-unix-command-line-automator-service-in-snow-leopard/"&gt;adding tasks at the command line&lt;/a&gt;.  A simple way to handle task generation, but a bit too complex for even your average Unix hacker.  This script makes it easy and gives you an option to add a note!  Just set RTMADDR and PROG to be your Remember the Milk email address and your local script name, i.o.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/sh

RTMADDR='user+NNN@rmilk.com'
PROG='rtm'

TEMP=`getopt -o n --long note -n $PROG -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." &gt;&amp;2 ; exit 1 ; fi
eval set -- "$TEMP"
while true; do
        case "$1" in
                -n|--note) NOTE='true'; shift;;
                --) shift ; break ;;
                *) help;
        esac
done

if [ x$NOTE == 'x' ]; then
    mailx -s "$1" $RTMADDR &lt; /dev/null &gt; /dev/null
else
    mailx -s "$1" $RTMADDR
fi
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;From RTM’s example,&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;rtm "Test code changes committed by Bart. ^tom @ 9a \!1 #Testing #na @Work"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And use &lt;code&gt;-n&lt;/code&gt; if you’d like it to ask for a note.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=0rVBZJXzvL4:ZGt4y02Ox_0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=0rVBZJXzvL4:ZGt4y02Ox_0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=0rVBZJXzvL4:ZGt4y02Ox_0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=0rVBZJXzvL4:ZGt4y02Ox_0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=0rVBZJXzvL4:ZGt4y02Ox_0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=0rVBZJXzvL4:ZGt4y02Ox_0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=0rVBZJXzvL4:ZGt4y02Ox_0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=0rVBZJXzvL4:ZGt4y02Ox_0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=0rVBZJXzvL4:ZGt4y02Ox_0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/0rVBZJXzvL4" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/526729497</feedburner:origLink></entry><entry><title type="text">Review of the CA's Business Plan</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/9oT5RpgLKGY/516812967" /><category term="columbia" /><category term="columbia association" /><category term="financial advisory committee" /><category term="budget" /><updated>2010-04-12T16:58:20-07:00</updated><id>http://www.jameshoward.us/post/516812967</id><content type="html">&lt;p&gt;The CA’s Financial Advisory Committee has completed it’s requested review of the CA’s proposed business plan.&lt;/p&gt;

&lt;p&gt;&lt;a title="View Columbia Association - Review of the Business Plan on Scribd" href="http://www.scribd.com/doc/29820720/Columbia-Association-Review-of-the-Business-Plan" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;Columbia Association - Review of the Business Plan&lt;/a&gt; &lt;object id="doc_562096049464718" name="doc_562096049464718" height="600" width="100%" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;"&gt;      &lt;param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf"&gt;
&lt;param name="wmode" value="opaque"&gt;
&lt;param name="bgcolor" value="#ffffff"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowScriptAccess" value="always"&gt;
&lt;param name="FlashVars" value="document_id=29820720&amp;access_key=key-di3gp1j1e11hpt7mlcm&amp;page=1&amp;viewMode=list"&gt;
&lt;embed id="doc_562096049464718" name="doc_562096049464718" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=29820720&amp;access_key=key-di3gp1j1e11hpt7mlcm&amp;page=1&amp;viewMode=list" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="600" width="100%" wmode="opaque" bgcolor="#ffffff"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=9oT5RpgLKGY:J0Bi9XDYa4A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=9oT5RpgLKGY:J0Bi9XDYa4A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=9oT5RpgLKGY:J0Bi9XDYa4A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=9oT5RpgLKGY:J0Bi9XDYa4A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=9oT5RpgLKGY:J0Bi9XDYa4A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=9oT5RpgLKGY:J0Bi9XDYa4A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=9oT5RpgLKGY:J0Bi9XDYa4A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=9oT5RpgLKGY:J0Bi9XDYa4A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=9oT5RpgLKGY:J0Bi9XDYa4A:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/9oT5RpgLKGY" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/516812967</feedburner:origLink></entry><entry><title type="text">Review of the Columbia Association's Fiscal Targets</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/anGm5dFbazM/440054423" /><category term="columbia association" /><category term="finance" /><category term="financial advisory committee" /><category term="columbia" /><updated>2010-03-10T17:11:49-08:00</updated><id>http://www.jameshoward.us/post/440054423</id><content type="html">&lt;p&gt;&lt;a title="View Review of the Columbia Association's Fiscal Targets on Scribd" href="http://www.scribd.com/doc/28177860/Review-of-the-Columbia-Association-s-Fiscal-Targets" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;Review of the Columbia Association’s Fiscal Targets&lt;/a&gt; &lt;object id="doc_820600170132535" name="doc_820600170132535" height="600" width="100%" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;"&gt;     &lt;param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf"&gt;
&lt;param name="wmode" value="opaque"&gt;
&lt;param name="bgcolor" value="#ffffff"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowScriptAccess" value="always"&gt;
&lt;param name="FlashVars" value="document_id=28177860&amp;access_key=key-uwtmvjnei8skfr1343b&amp;page=1&amp;viewMode=list"&gt;
&lt;embed id="doc_820600170132535" name="doc_820600170132535" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=28177860&amp;access_key=key-uwtmvjnei8skfr1343b&amp;page=1&amp;viewMode=list" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="600" width="100%" wmode="opaque" bgcolor="#ffffff"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=anGm5dFbazM:U1qcWNkg5kU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=anGm5dFbazM:U1qcWNkg5kU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=anGm5dFbazM:U1qcWNkg5kU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=anGm5dFbazM:U1qcWNkg5kU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=anGm5dFbazM:U1qcWNkg5kU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=anGm5dFbazM:U1qcWNkg5kU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=anGm5dFbazM:U1qcWNkg5kU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=anGm5dFbazM:U1qcWNkg5kU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=anGm5dFbazM:U1qcWNkg5kU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/anGm5dFbazM" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/440054423</feedburner:origLink></entry><entry><title type="text">Bad Math from Wow Containers</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/ug7tSX7XrWs/430778651" /><category term="math" /><category term="commercials" /><updated>2010-03-06T12:09:00-08:00</updated><id>http://www.jameshoward.us/post/430778651</id><content type="html">&lt;p&gt;I just saw an advertisement for something called &lt;a href="https://www.wowcontainers.com/"&gt;Wow Containers&lt;/a&gt; which allows the tops and bottoms of containers to be interchangeable with each other.  So far, this seems sensible.  Then the commercial says, “with four different sizes, the possibilities are endless.”  And by endless, they mean sixteen.  You can see the commercial at the link above.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ug7tSX7XrWs:VaH31GxTF0A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ug7tSX7XrWs:VaH31GxTF0A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=ug7tSX7XrWs:VaH31GxTF0A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ug7tSX7XrWs:VaH31GxTF0A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=ug7tSX7XrWs:VaH31GxTF0A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ug7tSX7XrWs:VaH31GxTF0A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ug7tSX7XrWs:VaH31GxTF0A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=ug7tSX7XrWs:VaH31GxTF0A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ug7tSX7XrWs:VaH31GxTF0A:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/ug7tSX7XrWs" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/430778651</feedburner:origLink></entry><entry><title type="text">Working with Mediawiki</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/i4NkaeQTII8/365265643" /><category term="mediawiki" /><category term="short course" /><category term="wikipedia" /><category term="howto" /><category term="technology" /><updated>2010-02-01T08:13:00-08:00</updated><id>http://www.jameshoward.us/post/365265643</id><content type="html">&lt;div style="width:425px;text-align:left" id="__ss_3019305"&gt;
&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/jameshoward/working-with-mediawiki" title="Working with Mediawiki"&gt;Working with Mediawiki&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wwm-jph-100128202804-phpapp02&amp;rel=0&amp;stripped_title=working-with-mediawiki"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowScriptAccess" value="always"&gt;
&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wwm-jph-100128202804-phpapp02&amp;rel=0&amp;stripped_title=working-with-mediawiki" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/div&gt;

&lt;p&gt;Above are the slides/handout from a short course I prepared in 2008 called “Working with Mediawiki.”  The slides give a very brief overview of &lt;a href="http://www.mediawiki.org"&gt;Mediawiki&lt;/a&gt; then gives an overview of the Mediawiki syntax.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=i4NkaeQTII8:Ho7vSTa63KE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=i4NkaeQTII8:Ho7vSTa63KE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=i4NkaeQTII8:Ho7vSTa63KE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=i4NkaeQTII8:Ho7vSTa63KE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=i4NkaeQTII8:Ho7vSTa63KE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=i4NkaeQTII8:Ho7vSTa63KE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=i4NkaeQTII8:Ho7vSTa63KE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=i4NkaeQTII8:Ho7vSTa63KE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=i4NkaeQTII8:Ho7vSTa63KE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/i4NkaeQTII8" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/365265643</feedburner:origLink></entry><entry><title type="text">PWCrypt is Now at Bitbucket</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/-9G98ySQJh0/357967476" /><category term="mercurial" /><category term="bitbucket" /><category term="pwcrypt" /><category term="hash" /><category term="password" /><category term="netscape" /><category term="source code" /><updated>2010-01-28T06:52:00-08:00</updated><id>http://www.jameshoward.us/post/357967476</id><content type="html">&lt;p&gt;As part of my plan to rescue data from old &lt;a href="http://www.nongnu.org/cvs/"&gt;CVS&lt;/a&gt; repositories, &lt;a href="http://bitbucket.org/howardjp/pwcrypt/"&gt;PWCrypt is now available at Bitbucket&lt;/a&gt;.  PWCrypt provides command line access to the Unix &lt;a href="http://en.wikipedia.org/wiki/Crypt_%28Unix%29#Library_Function"&gt;crypt library function&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This program and an accompanying article were written in response to a problem I had in 1999 with Netscape Enterprise Server.  After taking over administration of a Windows NT-based Netscape server, I discovered I did not know the administrator password for NES.  I hunted down the password file and saw it hashed passwords using the same format at the password file for Unix-like systems.&lt;/p&gt;

&lt;p&gt;So I needed a hashed value for a known password to drop into NES’s password database and used this program to create that value.  It’s seen no substantive changes since the original publication eleven years ago.&lt;/p&gt;

&lt;p&gt;Nota bene:  This is a &lt;a href="http://mercurial.selenic.com/"&gt;Mercurial&lt;/a&gt; repository stored on &lt;a href="http://www.bitbucket.org"&gt;Bitbucket&lt;/a&gt;, not Git/GitHub like I’ve made available the past few weeks.  I chose Mercurial for this project so I could get a better feeling for it vis-à-vis Git.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=-9G98ySQJh0:fX5WWHQrF7g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=-9G98ySQJh0:fX5WWHQrF7g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=-9G98ySQJh0:fX5WWHQrF7g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=-9G98ySQJh0:fX5WWHQrF7g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=-9G98ySQJh0:fX5WWHQrF7g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=-9G98ySQJh0:fX5WWHQrF7g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=-9G98ySQJh0:fX5WWHQrF7g:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=-9G98ySQJh0:fX5WWHQrF7g:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=-9G98ySQJh0:fX5WWHQrF7g:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/-9G98ySQJh0" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/357967476</feedburner:origLink></entry><entry><title type="text">Policy Entrepreneurship at the Dorr Foundation</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/CZjdlPD56Ds/356568644" /><category term="nonprofit" /><category term="management" /><category term="traffic" /><updated>2010-01-27T01:26:00-08:00</updated><id>http://www.jameshoward.us/post/356568644</id><content type="html">&lt;div style="width:425px;text-align:left" id="__ss_3007731"&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jameshoward-dorrfoundation20080505-100127141549-phpapp02&amp;stripped_title=policy-entrepreneurship-at-the-dorr-foundation"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowScriptAccess" value="always"&gt;
&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jameshoward-dorrfoundation20080505-100127141549-phpapp02&amp;stripped_title=policy-entrepreneurship-at-the-dorr-foundation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;

&lt;p&gt;In 2008, I gave this presentation to the University of Baltimore course on nonprofit management about how the Dorr Foundation’s research led to the outside lines on highways in the United States.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=CZjdlPD56Ds:HHn6tQi1C8E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=CZjdlPD56Ds:HHn6tQi1C8E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=CZjdlPD56Ds:HHn6tQi1C8E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=CZjdlPD56Ds:HHn6tQi1C8E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=CZjdlPD56Ds:HHn6tQi1C8E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=CZjdlPD56Ds:HHn6tQi1C8E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=CZjdlPD56Ds:HHn6tQi1C8E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=CZjdlPD56Ds:HHn6tQi1C8E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=CZjdlPD56Ds:HHn6tQi1C8E:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/CZjdlPD56Ds" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/356568644</feedburner:origLink></entry><entry><title type="text">Why Tumblr is kicking Posterous’s ass « PEG on Tech</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/HBGGmaYvVE4/355056926" /><category term="tumblr" /><category term="design" /><updated>2010-01-26T15:38:00-08:00</updated><id>http://www.jameshoward.us/post/355056926</id><content type="html">&lt;a href="http://pegontech.wordpress.com/2010/01/19/why-tumblr-posterous-ass/"&gt;Why Tumblr is kicking Posterous’s ass « PEG on Tech&lt;/a&gt;: &lt;p&gt;&lt;a href="http://www.chrisbusse.com/post/344243167/why-tumblr-is-kicking-posterouss-ass-peg-on-tech" class="tumblr_blog"&gt;chrisbusse&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://www.ziked.com/post/343274967/why-tumblr-is-kicking-posterouss-ass-peg-on-tech"&gt;mirza&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Short answer: Design.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I also think Tumblr is a more fluid experience — not sure I can describe it beyond that, but it just feels so easy. That might relate back to “Design” though.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s more fluid, but it’s more than that.  Compare Tumblr to Wordpress or Blogger to really understand it.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=HBGGmaYvVE4:TnDcFdUBiWw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=HBGGmaYvVE4:TnDcFdUBiWw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=HBGGmaYvVE4:TnDcFdUBiWw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=HBGGmaYvVE4:TnDcFdUBiWw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=HBGGmaYvVE4:TnDcFdUBiWw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=HBGGmaYvVE4:TnDcFdUBiWw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=HBGGmaYvVE4:TnDcFdUBiWw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=HBGGmaYvVE4:TnDcFdUBiWw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=HBGGmaYvVE4:TnDcFdUBiWw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/HBGGmaYvVE4" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/355056926</feedburner:origLink></entry><entry><title type="text">Dennis Lane's 1,000th Blog Post</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/mUSyupd54ho/346129427" /><category term="howard county" /><updated>2010-01-21T08:27:00-08:00</updated><id>http://www.jameshoward.us/post/346129427</id><content type="html">&lt;a href="http://writing-the-wrongs.blogspot.com/2010/01/1000th-blog-post.html"&gt;Dennis Lane's 1,000th Blog Post&lt;/a&gt;: &lt;p&gt;I want to say congratulations to Mr. Lane on his 1000th post.  He may be ambivalent, but he is Howard County’s most consistent blogger and you have to admire that.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=mUSyupd54ho:Ag2-nRiEXzc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=mUSyupd54ho:Ag2-nRiEXzc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=mUSyupd54ho:Ag2-nRiEXzc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=mUSyupd54ho:Ag2-nRiEXzc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=mUSyupd54ho:Ag2-nRiEXzc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=mUSyupd54ho:Ag2-nRiEXzc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=mUSyupd54ho:Ag2-nRiEXzc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=mUSyupd54ho:Ag2-nRiEXzc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=mUSyupd54ho:Ag2-nRiEXzc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/mUSyupd54ho" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/346129427</feedburner:origLink></entry><entry><title type="text">Privatizing BWI</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/jdvExbpajew/336284342" /><category term="bwi" /><category term="economics" /><category term="maryland" /><updated>2010-01-15T13:28:00-08:00</updated><id>http://www.jameshoward.us/post/336284342</id><content type="html">&lt;a href="http://writing-the-wrongs.blogspot.com/2010/01/airport-for-sale.html"&gt;Privatizing BWI&lt;/a&gt;: &lt;p&gt;Dennis Lane blogs about the possible privatization of BWI airport and suggests this doesn’t make sense since the airport generates positive revenue for the State of Maryland.  This isn’t quite true.&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://www.marylandaviation.com/content/aboutthemaa/commission.html"&gt;Maryland Aviation Commission reports&lt;/a&gt; revenue and expenses for FY2008 and FY2007 on their website.  Generally, airport revenue and expenses are attributed to the Transportation Trust Fund (certain fees go in and out of a general fund).  In 2007, BWI and Martin airports lost $25M in FY2007 and earned $3M in FY2008.  And this does not include capital expenditures, which I am not going to sort through since they are collected in the Maryland budget.  Income is broken down by airport, though expenses are not, so it is difficult to determine exactly what BWI’s financial position would be independently.  However, it is clear BWI’s profits are not going to be a barn-burner unless costs can be cut across the entire enterprise and/or a better management agreement is negotiated with BAA Maryland, which manages the airport on behalf of the Maryland Aviation Administration.  This is unlikely given BAA’s ongoing tenuous financial position.&lt;/p&gt;

&lt;p&gt;Regardless, BWI is an interesting candidate for privatization.  Selling off assets in a downturn is difficult to recommend as the State of Maryland will likely use the proceeds to offset costs in the  operating budget.  Sell it and spend it budgeting does not bode well for the future.  The state would be better off selling the airport to a private interest or on public markets and using the proceeds to recapitalize the &lt;a href="http://www.washingtonexaminer.com/local/Another-woe_-Maryland-pension-system-underfunded-8738786-81039197.html"&gt;woefully underfunded pension system&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;BAA Maryland is a subsidiary of BAA Airports, the British firm that also manages Heathrow, Gatwick, and Stansted in London.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=jdvExbpajew:z7rKIv94Un4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=jdvExbpajew:z7rKIv94Un4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=jdvExbpajew:z7rKIv94Un4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=jdvExbpajew:z7rKIv94Un4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=jdvExbpajew:z7rKIv94Un4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=jdvExbpajew:z7rKIv94Un4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=jdvExbpajew:z7rKIv94Un4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=jdvExbpajew:z7rKIv94Un4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=jdvExbpajew:z7rKIv94Un4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/jdvExbpajew" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/336284342</feedburner:origLink></entry><entry><title type="text">Why I am howardjp</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/ns74ZCBqGQE/297964013" /><category term="facebook" /><category term="miami university" /><category term="personal" /><category term="technology" /><category term="twitter" /><category term="openvms" /><updated>2009-12-23T21:14:00-08:00</updated><id>http://www.jameshoward.us/post/297964013</id><content type="html">&lt;p&gt;A few weeks ago, someone asked on Facebook why my &lt;a title="James Howard's Facebook" href="http://www.facebook.com/howardjp"&gt;username is howardjp&lt;/a&gt;.  Off to the left on this blog, you will see links to my accounts on Facebook, LinkedIn, GitHub, and Twitter.  All of them use the username “howardjp.”  Also, my Google account is “howardjp.”  And this is on my Mac:&lt;/p&gt;
&lt;pre&gt;howardjp@thermopylae:~$ whoami&lt;br/&gt;howardjp&lt;br/&gt;howardjp@thermopylae:~$&lt;/pre&gt;
&lt;p&gt;And here is my personal server:&lt;/p&gt;
&lt;pre&gt;howardjp@byzantine:~$ whoami&lt;br/&gt;howardjp&lt;br/&gt;howardjp@byzantine:~$&lt;/pre&gt;
&lt;p&gt;When I can select my username, I will pick howardjp.  The reason is that when I was 16, I received an account on the Miami University network and in 1996, they were an OpenVMS-intensive campus (both Alpha and VAX, Linux was making some inroads, however).  So usernames were limited to eight characters and the standard was the first six letters of your last name, your first initial, and your second initial.  I was howardjp.  And ever since, if I can pick my username, it will be howardjp.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ns74ZCBqGQE:kedEtm8-6rY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ns74ZCBqGQE:kedEtm8-6rY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=ns74ZCBqGQE:kedEtm8-6rY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ns74ZCBqGQE:kedEtm8-6rY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=ns74ZCBqGQE:kedEtm8-6rY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ns74ZCBqGQE:kedEtm8-6rY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ns74ZCBqGQE:kedEtm8-6rY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=ns74ZCBqGQE:kedEtm8-6rY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=ns74ZCBqGQE:kedEtm8-6rY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/ns74ZCBqGQE" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/297964013</feedburner:origLink></entry><entry><title type="text">Source Code for LX, a Link Shortener</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/lkrsKJaIOpQ/286614416" /><category term="php" /><category term="cakephp" /><category term="source" /><category term="links" /><category term="web" /><category term="google" /><category term="facebook" /><updated>2009-12-16T14:54:43-08:00</updated><id>http://www.jameshoward.us/post/286614416</id><content type="html">&lt;p&gt;Last August, I began work on a link shortening service as a me-too kind of project.  In my case, I wanted to provide custom domains, so that, for instance, &lt;i&gt;The Washington Post&lt;/i&gt; could be wp.ly.  However, I had been displeased in the user interface I had created and had not taken it live.&lt;/p&gt;
&lt;p&gt;On Monday, the jig was up when both &lt;a title="Making URLs shorter for Google Toolbar and FeedBurner" href="http://googleblog.blogspot.com/2009/12/making-urls-shorter-for-google-toolbar.html"&gt;Google&lt;/a&gt; and &lt;a title="Facebook Testing New URL Shortener, fb.me" href="http://www.insidefacebook.com/2009/12/14/facebook-testing-new-url-shortener-fb-me/"&gt;Facebook&lt;/a&gt; pushed their own link shorteners into the arena.  Additionally, bit.ly announced &lt;a title="Announcing bit.ly Pro" href="http://blog.bit.ly/post/284009728/announcing-bit-ly-pro"&gt;bit.ly Pro&lt;/a&gt; which will provide the custom domain I had been interested in.  Rather than being steamrolled by these behemoths, I will instead open source my code under a &lt;a href="http://en.wikipedia.org/wiki/BSD_licenses"&gt;BSD License&lt;/a&gt;.  It is now available at &lt;a title="lx at GitHub" href="http://github.com/howardjp/lx"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;From the readme:&lt;/p&gt;
&lt;p&gt;lx is a URL-shortening application created in CakePHP.  The Git repository is a top-skimming of the &lt;code&gt;/app&lt;/code&gt; directory from CakePHP v1.2.4.  Also included in &lt;code&gt;/sql&lt;/code&gt; is a database template for PostgreSQL.  &lt;i&gt;It is important to note, this code does not work and will need significant revision before being functional.&lt;/i&gt; However, here is a partial list of partially implemented features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;URL addition&lt;/li&gt;
&lt;li&gt;URL deletion&lt;/li&gt;
&lt;li&gt;URL redirection&lt;/li&gt;
&lt;li&gt;URL favoriting (through the “stars” concept)&lt;/li&gt;
&lt;li&gt;User accounts&lt;/li&gt;
&lt;li&gt;User verification&lt;/li&gt;
&lt;li&gt;URL renaming (title, not target)&lt;/li&gt;
&lt;li&gt;Some jQuery-based AJAX&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please use this as the basis for your own work.  If you wish to contribute changes back, please do.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=lkrsKJaIOpQ:gmWmDoC9G6w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=lkrsKJaIOpQ:gmWmDoC9G6w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=lkrsKJaIOpQ:gmWmDoC9G6w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=lkrsKJaIOpQ:gmWmDoC9G6w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=lkrsKJaIOpQ:gmWmDoC9G6w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=lkrsKJaIOpQ:gmWmDoC9G6w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=lkrsKJaIOpQ:gmWmDoC9G6w:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=lkrsKJaIOpQ:gmWmDoC9G6w:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=lkrsKJaIOpQ:gmWmDoC9G6w:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/lkrsKJaIOpQ" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/286614416</feedburner:origLink></entry><entry><title type="text">More Old Code at GitHub</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/RhZWwX1JdYE/276811812" /><category term="uwatch" /><category term="write" /><category term="unix" /><category term="bsd" /><category term="m-net" /><category term="utilities" /><updated>2009-12-09T17:09:53-08:00</updated><id>http://www.jameshoward.us/post/276811812</id><content type="html">&lt;p&gt;I have recovered from an old &lt;a title="http://en.wikipedia.org/wiki/Iomega_Zip_drive" href="http://Iomega%20Zip%20drive"&gt;Iomega Zip disk&lt;/a&gt; a few more programs I wrote in the 1997-1998 time frame which may be of some interest:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a title="Daemon at GitHub" href="http://github.com/howardjp/daemon"&gt;daemon&lt;/a&gt;&lt;br/&gt;Daemon was originally written for FreeBSD to use the 4.4BSD library function, &lt;a title="Daemon manual page" href="http://www.freebsd.org/cgi/man.cgi?query=daemon&amp;apropos=0&amp;sektion=0&amp;manpath=4.4BSD+Lite2&amp;format=html"&gt;daemon(3)&lt;/a&gt; to launch a command after disassociating itself from the controlling TTY.  I originally saw such an application on &lt;a title="http://www.arbornet.org" href="http://Arbornet%20/%20M-Net"&gt;M-Net&lt;/a&gt; which ran BSD/OS 3.1 at the time.  The source was unavailable, but it was easy to reimplement.  Modern Linux implementations now include daemon(3), so it should be usable on Linux today.&lt;br/&gt;&lt;br/&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="rpt at GitHub" href="http://github.com/howardjp/rpt"&gt;rpt&lt;/a&gt;&lt;br/&gt;Rpt was based upon the source from daemon, above but instead of disassociating from the controlling terminal, rpt reruns the command at a specified interval.  This allows the user to monitor the output of a program over time.&lt;br/&gt;&lt;br/&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="uwatch at GitHub" href="http://github.com/howardjp/uwatch"&gt;uwatch&lt;/a&gt;&lt;br/&gt;Uwatch was also born of M-Net.  M-Net is an interactive BBS system dating back to 1983, which has always allowed users to communicate directly in real time.  As a result, someone once developed a program to notify users when their friends logged in or out.  However, it was always spotty at best, especially during a long session.  I worked extensively on it back in 1997 to solve some memory management issues.  This is what remains of that effort.&lt;br/&gt;&lt;br/&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="write at GitHub" href="http://github.com/howardjp/write"&gt;write&lt;/a&gt;&lt;br/&gt;When I was a student at Miami University, we had several Linux systems spread across three (of four) campuses and we occasionally used &lt;a title="write manual page" href="http://www.freebsd.org/cgi/man.cgi?query=write&amp;apropos=0&amp;sektion=0&amp;manpath=Unix+Seventh+Edition&amp;format=html"&gt;write(1)&lt;/a&gt; to talk to each other.  This implementation of write honors MIT’s &lt;a title="Project Athena at Wikipedia" href="http://en.wikipedia.org/wiki/Project_Athena"&gt;Project Athena&lt;/a&gt;’s network-aware write protocol and allows users to send message to users on other systems.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=RhZWwX1JdYE:y7-NkIjoajA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=RhZWwX1JdYE:y7-NkIjoajA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=RhZWwX1JdYE:y7-NkIjoajA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=RhZWwX1JdYE:y7-NkIjoajA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=RhZWwX1JdYE:y7-NkIjoajA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=RhZWwX1JdYE:y7-NkIjoajA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=RhZWwX1JdYE:y7-NkIjoajA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=RhZWwX1JdYE:y7-NkIjoajA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=RhZWwX1JdYE:y7-NkIjoajA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/RhZWwX1JdYE" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/276811812</feedburner:origLink></entry><entry><title type="text">My Geek Code</title><link rel="alternate" type="text/html" href="http://feeds.jameshoward.us/~r/jameshoward/~3/wx8mOvdxC-M/264349534" /><category term="geekery" /><updated>2009-11-30T19:27:52-08:00</updated><id>http://www.jameshoward.us/post/264349534</id><content type="html">&lt;p&gt;&lt;pre&gt;-----BEGIN GEEK CODE BLOCK-----&lt;br/&gt;Version: 3.1&lt;br/&gt;GCM/M/SS d++ s:+ a C++++$ UBLS*++++$ P--- L+$ E$ W+++@ N++ o+++ K w++$ O&lt;br/&gt;M++ V PS+++ PE+++ Y+$ PGP+++$ t+++ !5 !X !R tv b++++ DI++ D++ G+&lt;br/&gt;e+++$&gt;++++ h---- r+++ y++++&lt;br/&gt;------END GEEK CODE BLOCK------&lt;br/&gt;&lt;/pre&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=wx8mOvdxC-M:DrN_s1y6BiE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=wx8mOvdxC-M:DrN_s1y6BiE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=wx8mOvdxC-M:DrN_s1y6BiE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=wx8mOvdxC-M:DrN_s1y6BiE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=wx8mOvdxC-M:DrN_s1y6BiE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=wx8mOvdxC-M:DrN_s1y6BiE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=wx8mOvdxC-M:DrN_s1y6BiE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?i=wx8mOvdxC-M:DrN_s1y6BiE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jameshoward.us/~ff/jameshoward?a=wx8mOvdxC-M:DrN_s1y6BiE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jameshoward?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jameshoward/~4/wx8mOvdxC-M" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.jameshoward.us/post/264349534</feedburner:origLink></entry></feed>
