<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Micah Elliott &#187; FOSS</title>
	<atom:link href="http://micahelliott.com/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://micahelliott.com</link>
	<description>Stories from my Startup Journey</description>
	<lastBuildDate>Mon, 29 Nov 2010 07:46:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
<image>
  <link>http://micahelliott.com</link>
  <url>http://micahelliott.com/mde-gravatar7.png</url>
  <title>Micah Elliott</title>
</image>
	<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.6.3" -->
	<copyright>Copyright &#38;#xA9; 2012 Micah Elliott </copyright>
	<managingEditor>mde@micahelliott.com</managingEditor>
	<webMaster>mde@micahelliott.com</webMaster>
	<category>posts</category>
	<image>
		<url>http://micahelliott.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Micah Elliott &#187; FOSS</title>
		<link>http://micahelliott.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Stories from my Startup Journey</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &amp; Culture" />
	<itunes:author></itunes:author>
	<itunes:owner>
		<itunes:name></itunes:name>
		<itunes:email>mde@micahelliott.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://micahelliott.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Customizing the GNOME System Monitor</title>
		<link>http://micahelliott.com/2010/09/customizing-gnome-system-monitor/</link>
		<comments>http://micahelliott.com/2010/09/customizing-gnome-system-monitor/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 22:13:54 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://micahelliott.com/?p=397</guid>
		<description><![CDATA[I probably glance down at my system&#8217;s status displays way too often; surely graphs are addicting. But it really is handy to know what&#8217;s going on all the time. If I&#8217;m ever on a machine without this info, I just feel lost. Oh, if only my Android had one! I&#8217;ve been able to make faster [...]]]></description>
			<content:encoded><![CDATA[<p>I probably glance down at my system&#8217;s status displays way too often; surely graphs are addicting. But it really is handy to know what&#8217;s going on all the time. If I&#8217;m ever on a machine without this info, I just feel lost. Oh, if only my Android had one! I&#8217;ve been able to make faster and more sense out of the <strong>System Monitor</strong> since tweaking the colors, so I&#8217;m writing this to encourage my Linux compatriots to do the same.<span id="more-397"></span></p>
<p>First off, if you haven&#8217;t yet enabled the System Monitor, just right-click on your Panel and you should see it on the list. (Othewise: <em>apt-get install gnome-system-monitor</em> first)</p>
<p><img class="alignleft size-full wp-image-400" title="GNOME System Monitory with pretty colors" src="http://micahelliott.com/wp-content/uploads/2010/09/monitor1.png" alt="GNOME System Monitory with pretty colors" width="282" height="133" />By default the colors are all pretty similar. The first important tweak is to <strong>differentiate the <em>Processor</em> colors</strong>. Use whatever you want, but make sure they have enough contrast. (Not shown: I just fixed my green <em>User</em> color to contrast a little better.) Watching the Processor usage can show you a bit about the sites you spend time on (among several other things). If you&#8217;ve got a constant green bar (hmm, that sounds backwards to TDDers; maybe I should stay away from green), you might want to hunt down the tab hosting the unruly flash widget. Ideally, your system at rest should most often show a beautiful black box.</p>
<p>The second tweak I just made recently &#8212; and it&#8217;s growing on me &#8212; is to <strong>make outgoing network traffic red</strong>, and incoming yellow. Now I can see my backups to S3 in full swing when they kick in. And I might notice if anything is unexpectedly drifting outbound.</p>
<p>I also recently added the fourth <em>Swap Space</em> indicator just in case it ever kicks in, at which point I&#8217;ll know something is really awry. This one is probably not too important to have showing if you&#8217;re shy on Panel space.</p>
<p>Great! Now I can watch Firefox and a Mongrel take off with all my memory and know when to kill them. The monitor is also handy to see when something you&#8217;ve been running is (too often unexpectedly) finished. (I like using <em>beep</em> at the end of a long command for this too.)</p>
<p>I do still use top on occasion for its light weight. But sometimes it&#8217;s a bit more convenient to have a one-click GUI view of your system. Please share if you&#8217;ve got a more effective color scheme or if you use another light-weight tool for continuous monitoring.</p>
]]></content:encoded>
			<wfw:commentRss>http://micahelliott.com/2010/09/customizing-gnome-system-monitor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Focus on Why, not What</title>
		<link>http://micahelliott.com/2009/03/focus-on-why-not-what/</link>
		<comments>http://micahelliott.com/2009/03/focus-on-why-not-what/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 17:50:16 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Startup]]></category>
		<category><![CDATA[customers]]></category>
		<category><![CDATA[elevator pitch]]></category>
		<category><![CDATA[entrepreneurship]]></category>

		<guid isPermaLink="false">http://micahelliott.com/?p=329</guid>
		<description><![CDATA[I just started in on the Kauffman Foundation&#8217;s TechVenture program, being facilitated by Steve Morris at OTBC to about 10 of us entrepreneurs.  This was the first session, with a really useful focus: why, not what &#8212; at least that&#8217;s how I digested it.  I&#8217;ll try to record my learnings here from the class over [...]]]></description>
			<content:encoded><![CDATA[<p>I just started in on the <a href="http://www.fasttrac.org/techventure.cfm">Kauffman Foundation&#8217;s TechVenture</a> program, being facilitated by Steve Morris at <a href="http://otbc.org">OTBC</a> to about 10 of us entrepreneurs.  This was the first session, with a really useful focus: <strong>why, not what</strong> &#8212; at least that&#8217;s how I digested it.  I&#8217;ll try to record my learnings here from the class over the next few months.  There was a nice lecture from a source I&#8217;ll keep anonymous; details are irrelevant for this.  It was the long personal story of a 12-year business experience, summed up into a single lesson: we shouldn&#8217;t be focusing on <em>what we build</em>, but rather on <em>why it benefits customers</em>.<span id="more-329"></span></p>
<p>More concretely, it&#8217;s really easy for entrepreneurs &#8212; particularly developers &#8212; to fall into the trap of focusing on <em>what</em> their product does.  This gets reflected in presentations and messages, and ultimately in the shape of the product.  For example, in my case I could be saying that uGraph is a technology stack that does round-the-clock data mining, processing, and analytics to produce novel, real-time visualizations about health.  But that tells nothing about <em>why the product is compelling to customers</em>.  I&#8217;ve made that mistake, almost so blatantly.  The <em>why</em> message should be more like: Our product enables medical detectives to understand sickness so that they can detect and avoid it.  (That&#8217;s a bit simplistic, but at least the right emphasis.)  Focusing on the <em>why</em> seems pretty obvious now, right?  Wonder why nearly all of the recent 30 elevator pitches I&#8217;ve heard have been <em>what</em>-focused.  Maybe it&#8217;s not so obvious.</p>
<p>That brings up the next point: <em>who</em>.  As we started working through <a href="http://oregonstartups.com/blog/2009/02/15/how-to-create-an-elevator-pitch/">elevator pitches</a>, we had some confusion about who our customers are.  For many at this stage it&#8217;s hard to exclude any potential markets.  But there needs to be a focus on a near-single customer; not the world at large.  Of course our technologies can be tailored or generalized for various markets.  It&#8217;s hard to throw out so many opportunities, but the bottom line is that we need to narrow in on a specific customer, or at least differentiate for disparate groups.  We still have a few potential markets since we&#8217;re still testing the waters, but now I&#8217;m simply lumping them all into a &#8220;medical detective&#8221; class, which I now define as Epidemiologists.  It turns out that a lot of types of end-users (news companies and sickos) would like to wear Amateur Epidemiologist hats, and we&#8217;ll target them too (though most may not even know what epidemiology is).  We are now building <em>Epidemiological visualizations</em> &#8212; that&#8217;s pretty specific.  This narrowing really helps to simplify my elevator pitch (which we&#8217;ll work more on next week), and really the grand vision (which may be different next week <img src='http://micahelliott.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>With that in mind, I&#8217;ll expand our <em>who</em> and <strong>why</strong> to: We provide tools the <em>CDC</em> uses to <strong>immediately see an </strong><span id="split_3451405"><strong>illness spread and take necessary action</strong>, or what the <em>news companies</em> use to <strong>captivate their audience so they stick around through the next commercial</strong>, or what <em>end-users</em> use to <strong>avoid getting sick and understand why they&#8217;ve been sick</strong>.  The <em>why</em> is now addressing the real needs/pain points of our actual </span><span id="split_3451405"><em>who</em>: </span><span id="split_3451405">customers.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://micahelliott.com/2009/03/focus-on-why-not-what/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From E-book to Real Book</title>
		<link>http://micahelliott.com/2008/12/from-e-book-to-real-book/</link>
		<comments>http://micahelliott.com/2008/12/from-e-book-to-real-book/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 18:53:17 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
				<category><![CDATA[Copy]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://micahelliott.com/?p=220</guid>
		<description><![CDATA[I find myself printing out PDFs frequently.  Call me old fashioned, but I prefer the comfort of a recliner while I read, and my idea of portability is something printed.  Maybe this is why I spend all my money on real books.  But that has got to stop!  I&#8217;ve noticed a trend that most of [...]]]></description>
			<content:encoded><![CDATA[<p>I find myself printing out PDFs frequently.  Call me old fashioned, but I prefer the comfort of a recliner while I read, and my idea of portability is something printed.  Maybe this is why I spend all my money on real books.  But that has got to stop!  I&#8217;ve noticed a trend that most of the documents (or e-books) I&#8217;m printing are less than 100 pages &#8212; pretty small.  I don&#8217;t like to print at full scale; it wastes paper and makes it harder to tote around.  So I print at 25% (4 minipages per physical page), double-sided, to get 8-to-1 economy.  This all on my $100 Linux-compatible printer.  Today I have <a href="http://www.amazon.com/The-Bootstrappers-Bible-Volume-1/dp/B00005R2F8">The Bootstrapper&#8217;s Bible</a> (TBB)  folded and tucked away nicely into my pocket.  It&#8217;s 64 pages, but the way I printed it makes it only 8 physical (did Seth plan that?).  The problem is that it&#8217;s really awkward to make page turns, or navigate, or find things later, or see any obvious linearity, or even lay the thing down, or insert a bookmark.  And I&#8217;ve got them lying all over the place; how can I organize these??</p>
<p><span id="more-220"></span></p>
<p><em><strong>UPDATE:</strong> I now do almost all my reading on an Android, using Aldiko or Kindle apps. Amazing what two years have done for books! I haven&#8217;t printed a book according to this post in a while. I&#8217;m finally publishing this post (sans the pictures that would have been helpful) in case it&#8217;s still useful to anyone to be able to print sub-120-page e-books on their own printers. And I&#8217;m posting the script as a <a href="https://gist.github.com/719699">gist</a> in case anyone wants to use it.</em></p>
<p>So I did my usual routine of over-thinking a problem (held probably only by myself), and decided I should be able to print TBB just like a publisher.  It should have linear flow, be bound in the middle (with a couple staples); basically equivalent to a real book.  Hmm, now how to lay out those pages?  Just a <a href="http://www.catb.org/jargon/html/S/SMOP.html">SMOP</a>, right?  Almost.</p>
<p>After messing around with various printer utilities (cups, lp, lpr, lpoptions, foomatic, and more) and being teased that I was close, I ultimately was not able to invoke the printer the way I needed from a script.  But even if I could, it would be a pretty system-specific solution.  Probably better would just be to print out a list of page numbers that could be pasted into any print-wizard&#8217;s &#8220;page range&#8221; prompt.  I don&#8217;t need to automate this completely (yet).</p>
<p>If you&#8217;ve given any thought to what such a page arrangement would look like you&#8217;ll realize it&#8217;s slightly complex.  But I got a little script working that does the job well.  I&#8217;ll spare the details unless you ask for them.  <a href="https://gist.github.com/719699">Download it here</a>.  Basically, the order for an 8-page book is: 8,1,6,3,2,7,4,5.  You can print out your pages in that sequence, cut them vertically in half (hopefully you&#8217;ve got a honking-blade paper cutter, but scissors will do), put the pages on top of each other, and squeeze off two staples in the middle for the binding.  Wrapping in 100-lb cover is optional.</p>
<p>There&#8217;s one remaining hurdle.  Say you want to print a 7 page book.  Now the order is *blank*,1,6,3,2,7,4,5.  Does your printer allow that?  How about 9 pages?  b,1,b,3,2,b,4,b,b,5,b,7,6,b,8,9?  (I think that came out right; time to try it out.)</p>
<p>If you run the script you&#8217;ll simply get a one-line listing of page numbers. These can be pasted right into your browser&#8217;s &#8220;print&#8221; menu (if you&#8217;re lucky enough to be using GNOME).</p>
<p>And I should mention the other minor issue: a standard USA stapler has about a 4 inch (actually 9 cm) arm reach.  But you need 4¼ inches (obviously for 8½-inch wide paper).  So get creative or get an extended-arm stapler.</p>
<p>My vision is that the burgeoning class of new authors writing 100-page e-books can print-publish their own books basically for free.  Maybe it costs them a quarter to print each book, and two stamps to send it in the mail.  But for about $1 USD a new author can hit quite an audience without a publisher or bank account.  Yes, much of the world will just read e-books and manuals online, but there is still a broad group who doesn&#8217;t want to read more than a blog post-length article at their screen.  They can still benefit from printed copy.  I&#8217;m planning on devoting a whole shelf just for my own crude-bound &#8220;books&#8221;.  Next step is to find a clean way to have a quarter-inch flat binding that will take a label-maker sticker.</p>
<p>BTW, printer ink is a scam:http://www.csmonitor.com/2008/0109/p14s01-stct.html</p>
<p><a href="http://oreilly.com/store/series/sc.csp">O&#8217;Reilly&#8217;s Short Cuts</a> are a great for printing.  And O&#8217;Reilly is also supporting ePub by releasing 400 commercial books for the format.</p>
<p><em><strong>ALSO NEW</strong>: You can use <a href="http://www.fbreader.org/">FBReader</a> or <a href="http://calibre-ebook.com/">Calibre</a> for desktop reading: apt-get install fbreader calibre</em></p>
<p><em> <strong>ALSO NEW</strong>: I  also just bought a handful of Pragmatic Programmers books in  e-format,  as .epub, .mobi, and .pdf. Those are looking great on both my  Android  and desktop. Some PDFs are still worth printing.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://micahelliott.com/2008/12/from-e-book-to-real-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some gnome-terminal Power Tips</title>
		<link>http://micahelliott.com/2008/12/some-gnome-terminal-power-tips/</link>
		<comments>http://micahelliott.com/2008/12/some-gnome-terminal-power-tips/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 19:24:00 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[kiss]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.micahelliott.com/?p=76</guid>
		<description><![CDATA[If I&#8217;m going to have a productive day, it usually means spending it in a shell. I use GNOME Terminal as my xterm clone of choice, simply because it&#8217;s a default. If you don&#8217;t know what terminal you&#8217;re using, it&#8217;s probably gnome-terminal if you&#8217;re running GNOME. I recently started making some productivity tweaks to my [...]]]></description>
			<content:encoded><![CDATA[<p><em>If I&#8217;m going to have a productive day, it usually means spending it in a shell.  I use <a href="http://en.wikipedia.org/wiki/GNOME_Terminal">GNOME Terminal</a> as my xterm clone of choice, simply because it&#8217;s a default.  If you don&#8217;t know what terminal you&#8217;re using, it&#8217;s probably <span style="font-family: courier new;">gnome-terminal</span> if you&#8217;re running GNOME.  I recently started making some productivity tweaks to my setups that I thought were worth sharing.</em></p>
<p><em><img class="alignleft size-full wp-image-147" title="taskbar" src="http://micahelliott.com/wp-content/uploads/2008/12/taskbar.png" alt="taskbar" width="178" height="34" /><br />
</em></p>
<p><em><br />
</em></p>
<p><span id="more-76"></span></p>
<p>I do most of my development work (bash, ipython, vim) in a terminal.  Some of it involves working remotely on other machines, and demonstrating things for others (e.g., pair programming).  I need different setups for each of these.  I spend most of my time hacking away in a local shell, so for that I want optimized font, color, size, etc.  Then when I share I need to make the font way bigger.  And when I&#8217;m on a different machine I like to have a different color window (in addition to a custom prompt color) so I don&#8217;t forget where I am.  So those are the three basic tweaks that are critical for most people.  You can probably make those tweaks with most xterm-clones.</p>
<p>I&#8217;ll assume you&#8217;re using <a href="http://www.gnome.org/">GNOME</a> already.  You can get a feel for the gnome-terminal feature set by simply firing up an instance: <span style="font-style: italic;">Applications -&gt; Accessories -&gt; Terminal</span>.  But I suggest you right-click it instead, and &#8220;<span style="font-style: italic;">Add this launcher to Panel</span>&#8220;.  In fact, do that a few times; we&#8217;ll customize each differently.</p>
<p>Now from an open instance, you can explore the options by invoking:</p>
<p><span style="font-family: courier new;"> $ gnome-terminal &#8211;help</span></p>
<h2>Profiles</h2>
<p>There are profiles.  Create a few.  This is pretty important.  If you&#8217;ve only got a &#8220;Default&#8221; profile, every time you change it, you&#8217;ll affect every other open window.</p>
<h2>Font</h2>
<p>I&#8217;m very picky about having the tiniest font that will work.  I can actually look at 380 lines of code at a time on a humble (1920&#215;1200) 15&#8243; laptop screen.  To achieve this I have to go with a non-antialiased (bitmap?) font.  The generically named &#8220;Monospace-7&#8243; is not beautiful, but works well for optimizing screen real estate.  It&#8217;s also the only bitmap font I&#8217;ve seen that renders italic/oblique well.</p>
<p>Monospace is also the only font I&#8217;ve seen able to scale down to 6-point and render readably.  Try it &#8212; pretty amazing!  I can now look at 570 lines of code (if I cheat and narrow the last window a bit) in 15&#8243;! I&#8217;ve got great near vision, but I have to be really close to the screen to read it at 6, so I&#8217;ll go back to 7.  You could also easily install other more appealing bitmap fonts like Terminus (<span style="font-family: courier new;">apt-get install xfonts-terminus</span>).  In fact, terminus at 8-point fits the same number of characters as Monospace at 7-point.  Too bad Terminus doesn&#8217;t do 6!</p>
<p>Remember to stop all running gnome-terminal instances to get a new font to show up in the list.</p>
<h2>CLI Options</h2>
<p>Customize the CLI options with <span style="font-style: italic;">right-click</span>, <span style="font-style: italic;">Properties</span>.  Look at the <span style="font-style: italic;">Command</span> field and start adding options there.  The first I like to add is <span style="font-family: courier new;">&#8211;geometry=80&#215;50</span> to set the window size; the default of 80&#215;25 is always too small.  I like to start out with a meager 80 columns to make it obvious when I&#8217;m exceeding the <a href="http://www.sowbug.org/mt/2005/07/join-the-80column-camp.html">good</a> <a href="http://www.python.org/dev/peps/pep-0008/">old</a> <a href="http://ask.slashdot.org/article.pl?sid=07/07/07/1931246">rule</a>.   Of course I often widen manually if I&#8217;m not in code.</p>
<h2>Automatic Remote Login</h2>
<p>My favorite trick is to automate logging in to remote machines.  It&#8217;s as simple as adding another option: <span style="font-family: courier new;">&#8211;execute ssh YOU@SOMEHOST</span></p>
<h2><em><img class="aligncenter size-full wp-image-146" title="xterm2" src="http://micahelliott.com/wp-content/uploads/2008/12/xterm2.png" alt="xterm2" width="502" height="213" /></em></h2>
]]></content:encoded>
			<wfw:commentRss>http://micahelliott.com/2008/12/some-gnome-terminal-power-tips/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My APT Package Meme</title>
		<link>http://micahelliott.com/2008/05/my-apt-package-meme/</link>
		<comments>http://micahelliott.com/2008/05/my-apt-package-meme/#comments</comments>
		<pubDate>Fri, 23 May 2008 01:40:00 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[simplicity]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.micahelliott.com/?p=27</guid>
		<description><![CDATA[A look at automating setup for every new Ubuntu; and maybe even a meme. Linux distros these days tend to be pretty minimal in their default install mode. Many of us used to be in the habit of checking the &#8220;Install Everything&#8221; box in the earlier Red Hat days. But then the box disappeared, and [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-style: italic;">A look at automating setup for every new Ubuntu; and maybe even a <a href="http://en.wikipedia.org/wiki/Meme">meme</a>.</span></p>
<p>Linux distros these days tend to be pretty minimal in their default install mode.   Many of us used to be in the habit of checking the &#8220;<span style="font-style: italic;">Install Everything</span>&#8221; box in the earlier Red Hat days.  But then the box disappeared, and it became a pain to get everything you needed, and most people moved on to use apt or yum, or some equivalent, to get their systems to a usable state.  The modern idea is that you start out with the bare minimum to simply enable yourself to boot, fumble around, and install more stuff.  Then you just use apt-get, aptitude, synaptic, or whatever, to install to your particular needs.  On a fresh new Ubuntu 8.04 installation I see only ~300 packages.</p>
<p>After some time on a machine you probably find that <span style="font-weight: bold;">you&#8217;ve manually installed hundreds (or thousands!) of packages to satisfy all your development needs</span>.  Here&#8217;s a great way to get that critical, comprehensive package list and make sure your other oft-used machines have everything you need.  (You might even want this in the crontab of your primary machine; it can be helpful for recovery purposes.  I&#8217;ll discuss cron optimizations in a future post.  And another future post will discuss why apt-get is Ubuntu&#8217;s killer feature.)</p>
<p><span style="color: rgb(0, 153, 0);font-family:courier new;" >    <span style="color: rgb(153, 0, 0);">mocushla$</span> dpkg &#8211;get-selections | grep -v ^lib <span style="color: rgb(102, 102, 102); font-style: italic;">[>/some/backed/up/place/packages.log]</span></span></p>
<p>The list on my primary machine shows nearly 2,000 packages now.  That&#8217;s a lot!  Note that I&#8217;m excluding the libraries since they tend to just be dependencies.  Including them can actually make an upgrade/rebuild/recovery more difficult.<br /><span style="font-size:130%;"><br />A Minimal Package Set</span></p>
<p>You may also find yourself needing to get onto freshly installed machines with some frequency.  Maybe it&#8217;s a new web host, or some lab machine you need to do some work on.  <span style="font-weight: bold;">For time and space reasons, it&#8217;s probably not practical to start off by immediately installing your full 2,000-package set, so you&#8217;ll want to come up with a minimal set which at least makes you dangerous</span>.</p>
<p>As someone who regularly sits down at other people&#8217;s machines, or at fresh new machines, I&#8217;ve found the need to have <span style="font-weight: bold;">a small set of essential packages that I install</span>, just to be productive.  Here&#8217;s my list (the green).</p>
<p><span style="color: rgb(0, 153, 0);font-family:courier new;" ><span style="color: rgb(153, 0, 0);">    <span class="blsp-spelling-error" id="SPELLING_ERROR_1">newbox</span>$</span> <span style="color: rgb(102, 102, 102);"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">sudo</span> apt-get install</span> build-essential screen <span class="blsp-spelling-error" id="SPELLING_ERROR_3">zsh</span> corkscrew mercurial subversion python <span class="blsp-spelling-error" id="SPELLING_ERROR_4">ipython pychecker pylint</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_5">ctags</span> </span><span style="color: rgb(0, 153, 0);font-family:courier new;" >vim </span><span style="color: rgb(0, 153, 0);font-family:courier new;" >vim-scripts xfonts-terminux <span class="blsp-spelling-error" id="SPELLING_ERROR_6">sqlite</span>3 tree <span class="blsp-spelling-error" id="SPELLING_ERROR_7">ntp mailx postfix mutt autofs nfs-common</span></span></p>
<p>This will install some other dependencies, of course, but it&#8217;s a pretty quick operation, requiring less than 100 <span class="blsp-spelling-error" id="SPELLING_ERROR_8">MiB</span>.  There are various other essential packages not listed there, but they tend to be part of the basic install.  Now you can just use something like &#8220;<span style="font-family:courier new;"><span class="blsp-spelling-error" id="SPELLING_ERROR_9">hg</span> clone ssh://<span style="font-style: italic;">your-<span class="blsp-spelling-error" id="SPELLING_ERROR_10">mocushla</span></span>.com/<span style="font-style: italic;"><span class="blsp-spelling-error" id="SPELLING_ERROR_11">yourhome</span></span></span>&#8221; to pull in your well-organized, minimal <span style="font-family:courier new;">$HOME</span> setup &#8212; but I&#8217;ll talk about that in a future post.</p>
<p><span style="font-style: italic;">Related tip of the day:</span>  Did you know you have tab-completion for apt-get?  Try this:</p>
<p><span style="color: rgb(0, 153, 0);font-family:courier new;" ><span style="color: rgb(153, 0, 0);"><span class="blsp-spelling-error" id="SPELLING_ERROR_12">newbox</span>$ <span style="color: rgb(0, 153, 0);"><span class="blsp-spelling-error" id="SPELLING_ERROR_13">sudo</span> apt-get install python-</span><span style="color: rgb(102, 102, 102);"><tab><tab><tab><tab>[tab][tab]y</tab></tab></tab></tab></span></span></span></p>
<p>How many of those have you had to discover by searching?<br /><span style="font-size:130%;"><br />The Meme</span><br /><span style="font-weight: bold;"><br />What&#8217;s on your Minimal APT List?</span>  Or do you have a Yum List?  Does it look different?</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_DzStaE_3-vk/SDTFOu2dnZI/AAAAAAAAAA4/vTL7qxtIvrM/s1600-h/patch-mgmt.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 191px;" src="http://bp1.blogger.com/_DzStaE_3-vk/SDTFOu2dnZI/AAAAAAAAAA4/vTL7qxtIvrM/s200/patch-mgmt.jpg" alt="" id="BLOGGER_PHOTO_ID_5203000326405070226" border="0" /></a><span style="font-style: italic;"></span><span style="font-style: italic; color: rgb(102, 102, 102);">If you found this post interesting, you may be interested in some related book s: <a href="http://www.amazon.com/gp/product/0132366754/102-8171041-1883345?ie=UTF8&amp;tag=micaelli-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0132366754">Linux Patch Management</a>, and <a href="http://www.amazon.com/gp/product/0596527209/102-8171041-1883345?ie=UTF8&amp;tag=micaelli-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0596527209"><span class="blsp-spelling-error" id="SPELLING_ERROR_14">Ubuntu</span> Hacks</a>.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://micahelliott.com/2008/05/my-apt-package-meme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use your local library</title>
		<link>http://micahelliott.com/2008/04/use-your-local-library/</link>
		<comments>http://micahelliott.com/2008/04/use-your-local-library/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 20:57:00 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Living]]></category>
		<category><![CDATA[Startup]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[neighborhood]]></category>

		<guid isPermaLink="false">http://blog.micahelliott.com/?p=7</guid>
		<description><![CDATA[Contrary to the notion that books are dead, I&#8217;ve recently been making great use of my local library. While I agree that learning is best accomplished by doing, I still like to start exploring subjects by amassing a bunch of relevant dead-tree books. I like to prop back in an old La-Z-Boy and get real [...]]]></description>
			<content:encoded><![CDATA[<p>Contrary to <a href="http://www.joelonsoftware.com/items/2008/04/16.html">the notion that books are dead</a>, I&#8217;ve recently been making great use of my local library.  While I agree that <a href="http://www.codinghorror.com/blog/archives/001108.html">learning is best accomplished by doing</a>, I still like to start exploring subjects by amassing a bunch of relevant dead-tree books.  I like to prop back in an old La-Z-Boy and get real comfortable with a book.  I just can&#8217;t replicate that experience with a laptop or any other device.  I also get a good chunk of time to read while commuting.  Again, I don&#8217;t want to use any kind of gadget there.  Reading is also a great way to just sit around the house and not watch TV (or your moral equivalent).  I&#8217;ve recently been able to convert ~10 hours per week of tube time over to book time.  With our (young) kids, my wife has even started a <span style="font-style: italic;">curl-up-with-a-book-before-dessert</span> routine.  Sometimes bribery just works!  In other words, I&#8217;m still bullish on books for a lot of reasons, and I can&#8217;t imagine it will change much in my lifetime.</p>
<p>Unfortunately, books are not generally free.  Publishers are finally seeing some light and letting some of their books be free online.  Some of the best books I&#8217;ve read are free downloads.  I still often buy those anyway, for the benefits mentioned above.  But having them searchable and copy-paste-able is a huge boon for quick use.  I hope the trend continues.</p>
<p>Amazon has proven to be a great way to find and explore any book.  Through their review system I usually have a pretty good idea whether any given book is worth purchasing.  The conundrum is that I find <span style="font-style: italic;">a lot</span> of books are worth it! I spend way too much money there.  I haven&#8217;t very well kept track of what my family gives to Amazon in a year, but I&#8217;m sure I don&#8217;t want to know.  My <a href="http://www.amazon.com/gp/registry/wishlist/2DM1G3VWLQE4O">wish-list</a> is out of control.  So what can I do?</p>
<p>I&#8217;ve been in the habit of avoiding my <a href="http://www.beavertonlibrary.org/">local library</a>, since my wife&#8217;s late fees have become a sensitive matter.  But she spends so much time <a href="http://www.wccls.org/polaris/search">browsing around for books</a> there that I was compelled to check out the system.  Although the site is some ASPX crap, it actually works okay once you&#8217;ve figured out how to work around some oddities.  All you really need is to be able to search and request.  So <span style="font-weight: bold;">I went through the exercise of wading through my Amazon wish-list to see what the library actually had.  Surprisingly, there were a lot.</span>  My searches included: <span style="font-style: italic;">blog, blogging, python</span> (already got this one covered; just for fun), <span style="font-style: italic;">django, lisp, javascript, seth godin</span>, and a few other recommended titles.  The most popular Amazon blogging books were in, and the Django book was on its way &#8212; a couple copies!  There was even a lisp book, but it didn&#8217;t look much good.  Guess I&#8217;ll still have to drop the $44 on <a href="http://www.amazon.com/Practical-Common-Lisp-Peter-Seibel/dp/1590592395">Practical Common Lisp</a>.  But in general, the library will likely become my first stop before clicking Amazon&#8217;s dreaded &#8220;Place your order&#8221; button.</p>
<p>The library system is set up to share books among some 10 locations.  All you have to do is reserve a book, and they ship it to your local station.  Their calling system is pretty cool.  We get phone calls almost nightly in the robotic festival voice: <span style="font-style: italic;">You have&#8230; 3&#8230; items being held for you</span>.  Can&#8217;t wait to get those <a href="http://sethgodin.typepad.com/">Seth Godin</a> books.</p>
<p>Be sure to check out your local library system and see what they&#8217;ve got.  You should even think about <span style="font-weight: bold;">donating some of your books</span> so you can be a part of feeding this useful public system.<span style="display: block;" id="formatbar_Buttons"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://micahelliott.com/2008/04/use-your-local-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

