<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Al Hoang &#187; tech</title>
	<atom:link href="http://blogs.law.harvard.edu/hoanga/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.law.harvard.edu/hoanga</link>
	<description>Just another weblog</description>
	<lastBuildDate>Wed, 09 Sep 2009 06:52:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
		<item>
		<title>Spamassassin SIGPIPE errors and the zero file mail message mystery</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/09/09/spamassassin-sigpipe-errors-and-the-zero-file-mail-message-mystery/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/09/09/spamassassin-sigpipe-errors-and-the-zero-file-mail-message-mystery/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 06:52:48 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[fixes]]></category>
		<category><![CDATA[gripe]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=756</guid>
		<description><![CDATA[Awhile back I was noticing I was definitely losing emails.  As one can might imagine, this is a scary experience since this brings into doubt if the mail system under use is doing something funny to the mail.
My first place to look was in the mail logs for the SMTP server and other associated [...]]]></description>
			<content:encoded><![CDATA[<p>Awhile back I was noticing I was definitely losing emails.  As one can might imagine, this is a scary experience since this brings into doubt if the mail system under use is doing something funny to the mail.</p>
<p>My first place to look was in the mail logs for the SMTP server and other associated daemons.  However, I saw nothing in the maillogs which was not a very comforting thought.</p>
<p>After more investigation I would notice empty files like this every once in awhile&#8230;</p>
<blockquote>
<pre>
~/Maildir)  ls -la new/
total 4
drwx------   2 al  al   512 Jun  8 00:25 .
drwx------  69 al  al  2048 Jun  8 00:25 ..
-rw-------   1 al  al     0 Jun  8 00:22 1244388142.30600_.myserver.net
</pre>
</blockquote>
<p>This gave me more clues on where to look next.  So next I looked in my Procmail logs for this particular mail id and noticed the process handling this message was killed by SIGPIPE</p>
<blockquote>
<pre>
procmail: Executing "/usr/local/bin/spamassassin"
[84028] warn: spamassassin: killed by SIGPIPE
procmail: [84026] Tue Apr 14 21:45:26 2009
</pre>
</blockquote>
<p>Googling dug up the following links that explain it all:</p>
<p>&nbsp;<a href="http://www.nabble.com/Zero-exit-code-after-SIGPIPE-td21630266.html" title="http://www.nabble.com/Zero-exit-code-after-SIGPIPE-td21630266.html" target="_blank">http://www.nabble.com/Zero-exit-code-aft&#8230;</a><br />
&nbsp;<a href="https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6033" title="https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6033" target="_blank">https://issues.apache.org/SpamAssassin/s&#8230;</a></p>
<p>Verdict:<br />
Upgrade Spamassassin</p>
<p>Since I have upgraded Spamassassin, the zero byte email mystery has resolved itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/09/09/spamassassin-sigpipe-errors-and-the-zero-file-mail-message-mystery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Getting Ruby 1.9.1p243 to work on OS X 10.5.8 with Japanese input support on irb</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/09/08/getting-ruby-191p243-to-work-on-os-x-1058-with-japanese-input-support-on-irb/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/09/08/getting-ruby-191p243-to-work-on-os-x-1058-with-japanese-input-support-on-irb/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 08:47:13 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[fixes]]></category>
		<category><![CDATA[japan]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=761</guid>
		<description><![CDATA[Awhile back I installed Ruby 1.9.1 in such a way as to co-exist with my current Ruby installation [1], [2] (I should use rvm [3] these days&#8230;)
However, one issue that cropped up during an IRB session was I could not copy and paste Japanese characters into the IRB repl.  This is very very painful [...]]]></description>
			<content:encoded><![CDATA[<p>Awhile back I installed Ruby 1.9.1 in such a way as to co-exist with my current Ruby installation [1], [2] (I should use rvm [3] these days&#8230;)</p>
<p>However, one issue that cropped up during an IRB session was I could not copy and paste Japanese characters into the IRB repl.  This is very very painful for my day to day use with Ruby (Imagine not being able to use the &#8216;|&#8217; character while writing UNIX pipelines). </p>
<p>Below is an example of me trying to enter the character あ into IRB and watching it fail.</p>
<blockquote>
<pre>
$ irb
irb(main):001:0&gt; ab = "?"    &lt;---- Tried entering the character あ
SyntaxError: (irb):1: invalid multibyte char (UTF-8)
(irb):1: unterminated string meets end of file
from /usr/local/bin/irb19:12:in `'
</pre>
</blockquote>
<p>After a lot of head scritching I was able to narrow it down to something with readline:</p>
<blockquote>
<pre>
$ irb --noreadline
irb(main):002:0&gt; ab = "あ"
=&gt; "あ"
irb(main):003:0&gt;
</pre>
</blockquote>
<p>After some more digging into the issue.  The root cause seems to be the lack of GNU readline.  By default, Ruby will link in the system installed readline library on OS X which is called <a href="http://thrysoee.dk/editline/">editline</a> [4].  Unfortunately, editline does not support UTF8 or multi-byte character sets which makes this a no-go for daily usage.</p>
<p>Most of the other references suggest downloading readline from source and installing into <em>/usr/local</em> however I believe this defeats the purpose of using something like <a href="http://www.macports.org">MacPorts</a>.  After a bit of finagling I found that this is the invocation to get things working.</p>
<blockquote>
<pre>
wget&nbsp;<a href="ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz" title="ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz" target="_blank">ftp://ftp.ruby-lang.org/pub/ruby/1.9/rub...</a>
tar xvzf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
# Don't trust MacPorts version of autoconf because it somehow nuked the
# --with-readline-dir option
/usr/bin/autoconf
./configure --with-readline-dir=/opt/local --enable-shared --program-suffix=19 --enable-pthread
make
sudo make install
</pre>
</blockquote>
<p>I have it wrapped up in a script which you can <a href="http://gist.github.com/180805">see here</a>.</p>
<p>References</p>
<p>[1]&nbsp;<a href="http://wonko.com/post/how-to-compile-ruby-191" title="http://wonko.com/post/how-to-compile-ruby-191" target="_blank">http://wonko.com/post/how-to-compile-rub&#8230;</a><br />
[2]&nbsp;<a href="http://frozenplague.net/2009/01/ruby-191-rubygems-rails/" title="http://frozenplague.net/2009/01/ruby-191-rubygems-rails/" target="_blank">http://frozenplague.net/2009/01/ruby-191&#8230;</a><br />
[3]&nbsp;<a href="http://rvm.beginrescueend.com/" title="http://rvm.beginrescueend.com/" target="_blank">http://rvm.beginrescueend.com/</a><br />
[4]&nbsp;<a href="http://thrysoee.dk/editline/" title="http://thrysoee.dk/editline/" target="_blank">http://thrysoee.dk/editline/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/09/08/getting-ruby-191p243-to-work-on-os-x-1058-with-japanese-input-support-on-irb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Using a non-standard port for Capistrano SSH gateways</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/06/02/using-a-non-standard-port-for-capistrano-ssh-gateways/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/06/02/using-a-non-standard-port-for-capistrano-ssh-gateways/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 13:10:13 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[fixes]]></category>
		<category><![CDATA[gripe]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=731</guid>
		<description><![CDATA[I have a love-hate affair with Capistrano.   It is a great tool if you are a Ruby person and need to do something NOW on a bunch of machines.  But the docs are in a constant state of suck from my point of view.
The&#160;Capify.org website helps for remembering the &#8217;simple&#8217; details on [...]]]></description>
			<content:encoded><![CDATA[<p>I have a love-hate affair with Capistrano.   It is a great tool if you are a Ruby person and need to do something NOW on a bunch of machines.  But the docs are in a constant state of suck from my point of view.</p>
<p>The&nbsp;<a href="http://Capify.org" title="http://Capify. " target="_blank">Capify.org</a> website helps for remembering the &#8217;simple&#8217; details on what Capistrano can do.  But where I waste a lot of my time is asking questions like, &#8220;How do I set the Capistano SSH gateway to a non-standard port?&#8221;.   Luckily, Capistrano is written in Ruby so it is easy enough to glance through the code and finally find out where it is but this is why good tech docs exist.  To give enough context to answer those questions.</p>
<p>To answer my own question, below is a snippet you can add to your capfile to use a non-standard port if you need to deploy through a SSH gateway that lives on a non-standard port</p>
<blockquote><p>
# Add this to your Capfile<br />
# This sets the SSH gateway to a machine called&nbsp;<a href="http://mysshgateway.com" title="http://mysshgateway. " target="_blank">mysshgateway.com</a> on port 22222<br />
set :gateway, &#8216;mysshgateway.com:22222&#8242;
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/06/02/using-a-non-standard-port-for-capistrano-ssh-gateways/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Automating Zone creation in OpenSolaris 2009.06</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/06/02/automating-zone-creation-in-opensolaris-200906/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/06/02/automating-zone-creation-in-opensolaris-200906/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 13:02:14 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=737</guid>
		<description><![CDATA[With the announcement of OpenSolaris 2009.06 I thought it would be appropriate to blog a little about a tool I had been writing to help myself play with Zones a bit easier.  
My overall goals were the following:

Have each zone configured with its own virtual NIC (Crossbow)
Allow easy creation of zones without having to [...]]]></description>
			<content:encoded><![CDATA[<p>With the <a href="http://www.sun.com/aboutsun/pr/2009-06/sunflash.20090601.1.xml">announcement of OpenSolaris 2009.06</a> I thought it would be appropriate to blog a little about a tool I had been writing to help myself play with Zones a bit easier.  </p>
<p>My overall goals were the following:</p>
<ul>
<li>Have each zone configured with its own virtual NIC (<a href="http://opensolaris.org/os/project/crossbow/">Crossbow</a>)</li>
<li>Allow easy creation of zones without having to type zonecfg crap over and over again</li>
<li>Make it a stepping stone to automatically creating zones</li>
<li>See how well ipkg branded Zones work</li>
<li>Allow a Zone to get its IP and DNS configuration from DHCP</li>
</ul>
<p>I had tried going through tutorials that I found on the web (See references below) for setting up Zones but sadly none of them worked to my frustration.  After a lot of experimentation I finally pieced together a way to create zones quickly and (almost) automatically for simple configurations.</p>
<h3>Howto</h3>
<ol>
<li>Create a template zone that will be used as the main clone Zone</li>
<li>Download <a href="http://gist.github.com/122220">setup-zone-exclusive.sh</a> and modify lines 34-35 to match the name of your template zone and the real interface you want the zones to bind to</li>
<li>Download the DHCP event hook script from <a href="http://www.linuxtopia.org/online_books/opensolaris_2008/SYSADV3/html/extkj.html">here</a> and name it dhcp-client-event.sh if you want DHCP configuration</li>
<li>Run setup-zone-exclusive with the zonename and the virtual nic interface that you want</li>
</ol>
<p>In more detail here are the steps below</p>
<h4>First create a template zone (I call it barebones here)</h4>
<blockquote><p>
# Create /zones as its own ZFS filesystem<br />
$ pfexec zfs create rpool/zones<br />
$ pfexec zfs set mountpoint=/zones rpool/zones<br />
$ pfexec zfs create rpool/zones/barebones<br />
$ pfexec chmod 0700 /zones/barebones<br />
$ pfexec dladm create-vnic -l $REAL_IF vnic0<br />
$ pfexec zonecfg -z barebones<br />
barebones: No such zone configured<br />
Use &#8216;create&#8217; to begin configuring a new zone.<br />
zonecfg:barebones&gt; create<br />
zonecfg:barebones&gt; set zonepath=/zones/barebones<br />
zonecfg:barebones&gt; set ip-type=exclusive<br />
zonecfg:barebones&gt; add net<br />
zonecfg:barebones:net&gt; set physical=vnic0<br />
zonecfg:barebones:net&gt; end<br />
zonecfg:barebones&gt; exit</p>
<p>$ pfexec zoneadm -z barebones install
</p></blockquote>
<h4>Get the script</h4>
<p>I would suggest you create a project directory to hold things such as <em>zonecreations</em>.</p>
<p>Download from Github gists <a href="http://gist.github.com/122220">here</a>.   Name it setup-zone-exclusive.sh. Don&#8217;t forget to chmod +x the file so you can execute it</p>
<h4>Download the DHCP event hook script</h4>
<p>You can get that <a href="http://www.linuxtopia.org/online_books/opensolaris_2008/SYSADV3/html/extkj.html">here</a>.  Make sure this script is in the same directory as wherever you saved setup-zone-exclusive.sh</p>
<h4>Create a zone</h4>
<p>You can now create zones like this:</p>
<blockquote><p>
cd zonecreations<br />
pfexec ./setup-zone-exclusive.sh mycoolnewzone  virtualnic1
</p></blockquote>
<p>Have fun!</p>
<p>Update:  Fixed an error in the example for using dladm.  It should be correct now.  Thanks!</p>
<h3> References </h3>
<h4>Downloads</h4>
<p><a href="http://gist.github.com/122220">http://gist.github.com/122220 (setup-zone-exclusive.sh)</a><br />
<a href="http://www.linuxtopia.org/online_books/opensolaris_2008/SYSADV3/html/extkj.html">A DHCP event script to make sure DNS is configured when DHCP acquires an IP</a></p>
<h4>Older docs on setting up Zones on Solaris</h4>
<p><a href="http://www.mail-archive.com/zones-discuss@opensolaris.org/msg04174.html">How to use sysidcfg file in OpenSolaris 2008.11</a><br />
<a href="http://docs.sun.com/app/docs/doc/819-2450/z.login.ov-14?a=view">Internal Zone Configuration docs</a> <br />
<a href="http://docs.sun.com/app/docs/doc/819-2450/z.login.task-31?a=view">Performing the Initial Zone configuration</a> <br />
<a href="http://docs.sun.com/app/docs/doc/819-5776/6n7r9js2j?a=view">Preconfiguring with sysidcfg file</a> <br />
<a href="http://opensolaris.org/os/community/zones/faq/#cfg_sysidcfg">OpenSolaris FAQ on sysidcfg</a> <br />
<a href="http://www.cuddletech.com/blog/pivot/entry.php?id=751">Ben Rockwood&#8217;s blogpost on Zone creation</a>  <br />
<a href="http://docs.sun.com/app/docs/doc/819-2450/gbrmi?a=view">About /etc/.UNCONFIGURED</a> </p>
<h4>Helpful for understanding Zones and Crossbow</h4>
<p><a href="http://blogs.sun.com/stw/entry/crossbow_is_delivered_traveling_vnics">Crossbow on vnics</a></p>
<h4>Finding out that there is a change in policy for setting root_password in sysidcfg files</h4>
<p><a href="http://opensolaris.org/os/community/on/flag-days/pages/2008111501/">PASSREQ is enforced</a> <br />
<a href="https://www.opensolaris.org/jive/thread.jspa?messageID=329028&amp;#329028">zlogin failure after zone setup</a> </p>
<h4>The following helped in understanding the role of IPS and ipkg inside a non-global Zone</h4>
<p><a href="http://blogs.sun.com/jerrysblog/entry/updating_zones_on_opensolaris_2008">Updating Zones in OpenSolaris 2008.x</a> <br />
<a href="http://blogs.sun.com/dp/date/20080512">A field guide to Zones in OpenSolaris 2008.05</a> <br />
<a href="https://www.opensolaris.org/jive/thread.jspa?threadID=102287&amp;tstart=15">OpenSolaris forum on sysidcfg and Zones</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/06/02/automating-zone-creation-in-opensolaris-200906/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>The role of loghost entry in /etc/inet/hosts for OpenSolaris</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/06/02/the-role-of-loghost-entry-in-etcinethosts-for-opensolaris/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/06/02/the-role-of-loghost-entry-in-etcinethosts-for-opensolaris/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 11:47:11 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=734</guid>
		<description><![CDATA[After looking at /etc/inet/hosts I noticed a loghost entry.
Being a Solaris newbie I was curious to see why this entry was there.  A quick Google brought up this nice discussion:
&#160;http://opensolaris.org/jive/thread.jspa?&#8230;
Summary, don&#8217;t delete it.
]]></description>
			<content:encoded><![CDATA[<p>After looking at /etc/inet/hosts I noticed a loghost entry.</p>
<p>Being a Solaris newbie I was curious to see why this entry was there.  A quick Google brought up this nice discussion:<br />
&nbsp;<a href="http://opensolaris.org/jive/thread.jspa?threadID=47166" title="http://opensolaris.org/jive/thread.jspa?threadID=47166" target="_blank">http://opensolaris.org/jive/thread.jspa?&#8230;</a></p>
<p>Summary, don&#8217;t delete it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/06/02/the-role-of-loghost-entry-in-etcinethosts-for-opensolaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Enabling ZeroConf / Bonjour DNS resolution in OpenSolaris</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/05/06/enabling-zeroconf-bonjour-dns-resolution-in-opensolaris/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/05/06/enabling-zeroconf-bonjour-dns-resolution-in-opensolaris/#comments</comments>
		<pubDate>Wed, 06 May 2009 07:20:09 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[fixes]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[fixes tech opensolaris sysadmin]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=724</guid>
		<description><![CDATA[On small LAN networks that do not have an internal DNS server.  There is a nice technology called ZeroConf that uses multicast to enable name lookup resolution.  It has been baked into OS X for quite some time now.  Linux and other UNIX flavors have been picking this up as well.  [...]]]></description>
			<content:encoded><![CDATA[<p>On small LAN networks that do not have an internal DNS server.  There is a nice technology called ZeroConf that uses multicast to enable name lookup resolution.  It has been baked into OS X for quite some time now.  Linux and other UNIX flavors have been picking this up as well.  OpenSolaris also includes this but enabling it is not on by default (At least with 2008.11).  Here is a quick howto.</p>
<p>Edit the file /etc/nsswitch.conf and make sure that the line that begins with</p>
<blockquote><p>
hosts:
</p></blockquote>
<p>contains the following</p>
<blockquote><p>
hosts:       files dns mdns
</p></blockquote>
<p>Then you should be able to ping any machine that uses Bonjour.  For example, if you have a Mac that is named mycoolmac then you should be able to ping mycoolmac.local</p>
<h4>References</h4>
<ul>
<li>
<a href="http://opensolaris.org/os/community/on/flag-days/pages/2007082001/">Heads-up Multicast DNS and discovery</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/05/06/enabling-zeroconf-bonjour-dns-resolution-in-opensolaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Good Systems Administration should be boring</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/04/30/good-systems-administration-should-be-boring/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/04/30/good-systems-administration-should-be-boring/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 15:27:57 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windoze]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=712</guid>
		<description><![CDATA[Tom has a great summary on why.
One challenge for the cowboy sys admin is on how to keep oneself engaged while making their job basically&#8230; a walk in the park.
One thing I have found helpful in creating lists is to be dogmatic about writing docs as you are doing something somewhere, anywhere and collect all [...]]]></description>
			<content:encoded><![CDATA[<p>Tom has a great summary on <a href="http://everythingsysadmin.com/2009/01/transforming-art-into-science.html">why</a>.</p>
<p>One challenge for the cowboy sys admin is on how to keep oneself engaged while making their job basically&#8230; a walk in the park.</p>
<p>One thing I have found helpful in creating lists is to be dogmatic about writing docs as you are doing something somewhere, anywhere and collect all of this later.  (You are writing documentation as you do your job, aren&#8217;t you?)</p>
<p><a href="http://everythingsysadmin.com/2009/01/transforming-art-into-science.html">Read More</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/04/30/good-systems-administration-should-be-boring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Life not as a Game Developer / Porn Star</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/04/26/life-not-as-a-game-developer-porn-star/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/04/26/life-not-as-a-game-developer-porn-star/#comments</comments>
		<pubDate>Unknown, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=721</guid>
		<description><![CDATA[After reading Game Developers and Porn Stars I started recollecting an earlier time in my life.  At that point in time I was considering a life as a game developer.  I had heard the rumors that life as a game developer was a meat grinder and had really long hours.   I [...]]]></description>
			<content:encoded><![CDATA[<p>After reading <a href="http://www.killtenrats.com/2009/04/13/game-developers-and-porn-stars/">Game Developers and Porn Stars</a> I started recollecting an earlier time in my life.  At that point in time I was considering a life as a game developer.  I had heard the rumors that life as a game developer was a meat grinder and had really long hours.   I spent time reflecting on the choice I had.   I really like video games and think they a great form of entertainment that has had a large influence on my life.  But I still feel, at its core, video games are just entertainment.  Sometimes, they can educate along with delight but that is all.</p>
<p>Ultimately, I took a different path than becoming a game developer.   After reading <a href="http://www.killtenrats.com/2009/04/13/game-developers-and-porn-stars/">Kill Ten Rat&#8217;s blog post on Game developers</a>  I am glad about my choices.  I have pretty much erased almost any regrets on not taking that path in life.  Although I AM sad to read such a story in 2009 because the decisions I made were over a decade ago and it is disappointing to hear the state of the game industry for a game programmer as a whole seems so soul crushing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/04/26/life-not-as-a-game-developer-porn-star/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Glad I&#8217;m not the only one who prefers monit over god</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/04/25/glad-im-not-the-only-one-who-prefers-monit-over-god/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/04/25/glad-im-not-the-only-one-who-prefers-monit-over-god/#comments</comments>
		<pubDate>Unknown, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[gripe]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=720</guid>
		<description><![CDATA[Seems someone else ran into issues while trying to deploy god.
While, I don&#8217;t think god sucks I definitely don&#8217;t endorse it.  At this point I would only use it under the following conditions:

Need for a process monitor tool with more dynamic configuration setups.  This is where god really shines against monit&#8217;s simpler understanding [...]]]></description>
			<content:encoded><![CDATA[<p>Seems someone else <a href="http://blog.bradgessler.com/use-monit-with-rails-not-god">ran into issues</a> while trying to deploy god.</p>
<p>While, I don&#8217;t think god sucks I definitely don&#8217;t endorse it.  At this point I would only use it under the following conditions:</p>
<ul>
<li>Need for a process monitor tool with more dynamic configuration setups.  This is where god really shines against monit&#8217;s simpler understanding of what process management is about.</li>
<li>The host that needs monitoring can easily spare at least 16MB for a monitoring process.  See below on why.</li>
<li>I really want an all Ruby solution for all the tools in a system</li>
</ul>
<p>In general, I am into the whole &#8216;It is Open Source.  If you&#8217;re having issues, fix it&#8217; deal so I am not nearly as angry sounding as Brad is about god.  However, after having issues with god, I switched to <a href="http://mmonit.com/monit/">monit</a> for simple process monitoring and restarting.  I had far less troubles and got on with other tasks that I considered more important than perfection in a process monitoring system.</p>
<p>For those that are curious here are the issues that I ran into with god:</p>
<ul>
<li>Daemonized Ruby took at least 8MB of RAM for the monitoring process.  With RAM the way it is, this is not as big a deal.  However, if you are trying to get by on a 128MB VPS host every kilobyte counts.</li>
<li>God itself had <a href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=13474&amp;group_id=3845&amp;atid=14814">issues just randomly dying after some time</a>.   Tom promptly fixed it after it was reported and that was great.  However, it was a little disappointing that a monitoring process just died.</li>
<li>Sparse documentation compared to monit&#8217;s.   Then again this is typical from many Ruby projects and luckily Ruby code is readable enough</li>
<li>Digging up known issues for god required noodling through groups, forums, and blog posts.   Would have been nice to just have a <a href="http://mmonit.com/wiki/Monit/FAQ">friggin&#8217; FAQ</a> like <a href="http://cr.yp.to/daemontools/faq.html">other</a> sys admin-targeted software I have seen.</li>
</ul>
<p>I also DO agree as has been said in <a href="http://blog.bradgessler.com/use-monit-with-rails-not-god">the comments on  Brad&#8217;s post</a> that it is the responsibility of the deployer of software to handle the issues with whatever they deploy and just deal with it.  The reason I say this is because I fell for the hyped up description of god in the beginning and ultimately paid the price when it sucked up my time.  I dealt with it but definitely am less impressed with overhyped marketing descriptions of software these days.   Personally, I am not a fan of that type of marketing for software since it seems a little disingenuous to me.   But that is just me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/04/25/glad-im-not-the-only-one-who-prefers-monit-over-god/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Insert the current filename into current edited file in vim</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/03/12/insert-the-current-filename-into-current-edited-file-in-vim/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/03/12/insert-the-current-filename-into-current-edited-file-in-vim/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 07:32:22 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[fixes]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=717</guid>
		<description><![CDATA[I had a need for inserting the name of the current file into a bunch of files I was editing.  I was pretty sure there was a function to do this in vim and after some searching I was right.
To insert the current filename.  In Insert Mode, type CTRL-r % and it will [...]]]></description>
			<content:encoded><![CDATA[<p>I had a need for inserting the name of the current file into a bunch of files I was editing.  I was pretty sure there was a function to do this in vim and after some searching I was right.</p>
<p>To insert the current filename.  In Insert Mode, type <em>CTRL-r</em> <em>%</em> and it will insert the current filename.</p>
<p>Thanks to <a href="http://mamchenkov.net/wordpress/2006/08/15/vim-tip-quickly-insert-current-filename/">blog post</a> for the tip!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/03/12/insert-the-current-filename-into-current-edited-file-in-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Writely, years in the making, months in execution</title>
		<link>http://blogs.law.harvard.edu/hoanga/2009/01/02/writely-years-in-the-making-months-in-execution/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2009/01/02/writely-years-in-the-making-months-in-execution/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 19:31:23 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=710</guid>
		<description><![CDATA[A nice back story on Writely (what is now known as Google Docs) via HN.  I particularly like this snippet

[The creators] have been in the application software business for nearly 20 years&#8230;   they understand the user problem so deeply that they can blend the advantages of each new platform with ‘document authoring [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://earlystagevc.typepad.com/earlystagevc/2006/03/sam_steve_and_j.html">nice back story</a> on Writely (what is now known as Google Docs) via <a href="http://news.ycombinator.com/item?id=417323">HN</a>.  I particularly like this snippet</p>
<blockquote><p>
[The creators] have been in the application software business for nearly 20 years&#8230;   they understand the user problem so deeply that they can blend the advantages of each new platform with ‘document authoring problem’ to really build a platform-native solution, not a clone of someone else’s work.
</p></blockquote>
<p><a href="http://earlystagevc.typepad.com/earlystagevc/2006/03/sam_steve_and_j.html">Read more</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2009/01/02/writely-years-in-the-making-months-in-execution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>On the origins of the name Akihabara</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/12/22/on-the-origins-of-the-name-akihabara/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/12/22/on-the-origins-of-the-name-akihabara/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 02:37:11 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[japan]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=707</guid>
		<description><![CDATA[Akihabara as many people in Japan know was originally the home for buying electronic goods in the Tokyo area.   It still holds that reputation however the Anime Otaku crowd have changed the face of Akihabara to also accomodate their needs and desires.
One thing that is interesting is the origin of place name Akihabara. [...]]]></description>
			<content:encoded><![CDATA[<p>Akihabara as many people in Japan know was originally the home for buying electronic goods in the Tokyo area.   It still holds that reputation however the Anime Otaku crowd have changed the face of Akihabara to also accomodate their needs and desires.</p>
<p>One thing that is interesting is the origin of place name Akihabara.   A friend of mine has an excellent post <a href="http://www.iknow.co.jp/users/xaky/journal/2008/11/21/105542-where-does-the-name-akihabara-come-from">here</a></p>
<p><a href="http://www.iknow.co.jp/users/xaky/journal/2008/11/21/105542-where-does-the-name-akihabara-come-from">Read more!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/12/22/on-the-origins-of-the-name-akihabara/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Getting X working again after swapping hardware on Open Solaris nv100</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/12/07/getting-x-working-again-after-swapping-hardware-on-open-solaris-nv100/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/12/07/getting-x-working-again-after-swapping-hardware-on-open-solaris-nv100/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 15:18:50 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[fixes]]></category>
		<category><![CDATA[gripe]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=705</guid>
		<description><![CDATA[After having dain bramaged myself for years with Linux usage.  I had gotten spoiled into believing an OS should make it simple to do the following:
1. Shutdown computer
2. Swap around hardware components
3. Restart
4. Life is good
However any techie should tell you this is a pipe dream on Windows.  Mac users probably have no [...]]]></description>
			<content:encoded><![CDATA[<p>After having dain bramaged myself for years with Linux usage.  I had gotten spoiled into believing an OS should make it simple to do the following:</p>
<p>1. Shutdown computer<br />
2. Swap around hardware components<br />
3. Restart<br />
4. Life is good</p>
<p>However any techie should tell you this is a pipe dream on Windows.  Mac users probably have no clue since they never change hardware components and just buy new Macs to solve their problems.  Which leaves the lucky OSS *nix variants to try stunts like this.</p>
<p>Being the stubborn person I am,  I attempted this with OpenSolaris by swapping out my motherboard.  I wanted to do this in order to take advantage of the E7400 Core 2 Duo that I bought awhile back.  Things almost worked however on reboot I was given the dreaded console login screen with a useless keyboard.  The following as far as I know don´t work&#8230;</p>
<p>1. CTRL-ALT-BACKSPACE<br />
2. CTRL-ALT-Fn<br />
3. CTRL-ALT-DEL</p>
<p>Your best bet is to ssh somehow and try to look for clues.  Here is what I did&#8230;</p>
<p>1. Swap motherboard and stare at dark screen<br />
2. Find out how to <a href="http://mail.opensolaris.org/pipermail/opensolaris-discuss/2007-September/034748.html">boot into single user mode</a> and make sure the kernel isn&#8217;t PO-ed or something and find my IP address<br />
3. Move away the X11 configuration that I configured  (dual-display) and try rebooting<br />
4. Reboot and find out it isn&#8217;t working<br />
5. ssh in and realize it still isn&#8217;t working.   Move the old dual display X11 config back to /etc/X11/xorg.conf<br />
6. Try restarting gdm with svcadm restart gdm and watch it fail<br />
7. Scritch head some more<br />
8. Try starting X from the SSH session and whoah it works<br />
9. Restart gdm (svcadm restart gdm) and now I get a login screen<br />
10. Realize that I disconnected the left monitor (VGA) to help debug and want it back<br />
11. Logout and log back in.  I now have dual screens and a working Solaris install again!</p>
<p>References</p>
<ul>
<li><a href="http://mail.opensolaris.org/pipermail/opensolaris-discuss/2007-September/034748.html">How to boot into Single User Mode for OpenSolaris</a></li>
<li>
<li><a href="//opensolaris.org/jive/thread.jspa?messageID=234143¨">Finding device faults with Fault Manager</a></li>
<li><a href="//opensolaris.org/jive/thread.jspa?messageID=311678¨">Debugging problems with nvidia driver on bootup</a></li>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/12/07/getting-x-working-again-after-swapping-hardware-on-open-solaris-nv100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Understanding what an L2ARC is</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/11/29/understanding-what-an-l2arc-is/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/11/29/understanding-what-an-l2arc-is/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 15:13:41 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=703</guid>
		<description><![CDATA[I&#8217;ve been silently scanning some Solaris blogs and skimming some of the appropriate websites for documentation on some of the more interesting features of Solaris for awhile now.  One thing that requires time to adjust to is the number of acronyms that the Solaris community has to describe their technologies.  One of these [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been silently scanning some Solaris blogs and skimming some of the appropriate websites for documentation on some of the more interesting features of Solaris for awhile now.  One thing that requires time to adjust to is the number of acronyms that the Solaris community has to describe their technologies.  One of these is called <a href="//blogs.sun.com/brendan/entry/test¨">L2ARC</a>.</p>
<p>At first I thought it was some hardware device however after a bit more searching it turns out that it is part of the <a href="//en.wikipedia.org/wiki/ZFS¨">ZFS</a> technology suite.  L2ARC stands for second level ARC where ARC is a read cache system for ZFS that uses a system´s main memory for holding the cache.  While ARC uses the hardware´s main memory, L2ARC is designed to take advantage of faster I/O media such as SSD devices to provide faster read throughput than what a typical hard drive can offer.</p>
<p>Brendan Gregg has an <a href="//blogs.sun.com/brendan/entry/test¨">excellent overview</a> explaining what the L2ARC is and some of the benefits it can give in accelerating random reads.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/11/29/understanding-what-an-l2arc-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Getting KDE 4.1.0 on a Fedora 8 machine when KDE 3 is already there</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/11/29/getting-kde-410-on-a-fedora-8-machine-when-kde-3-is-already-there/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/11/29/getting-kde-410-on-a-fedora-8-machine-when-kde-3-is-already-there/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 14:32:26 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[fixes]]></category>
		<category><![CDATA[gripe]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[stupid]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=690</guid>
		<description><![CDATA[According to the Fedora FAQ one should be able to update with just this

sudo yum --enablerepo=updates-testing groupupdate "KDE (K Desktop Environment)"

However when I did, I ran into some icons from packages kdepim-3.5.9 and kdegraphics-4.1.0 conflicting with packages crystalsvg-icon-theme and libkipi.  Here is a log&#8230;

  file /usr/share/icons/crystalsvg/48x48/apps/kpalmdoc.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file [...]]]></description>
			<content:encoded><![CDATA[<p>According to the Fedora FAQ one should be able to update with just this</p>
<pre>
sudo yum --enablerepo=updates-testing groupupdate "KDE (K Desktop Environment)"
</pre>
<p>However when I did, I ran into some icons from packages kdepim-3.5.9 and kdegraphics-4.1.0 conflicting with packages crystalsvg-icon-theme and libkipi.  Here is a log&#8230;</p>
<pre>
  file /usr/share/icons/crystalsvg/48x48/apps/kpalmdoc.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_contacts.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_date.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_journal.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_mail.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_news.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_notes.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_summary.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_summary_green.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/kontact_todo.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/crystalsvg/64x64/actions/rss_tag.png from install of kdepim-3.5.9-10.fc9.i386 conflicts with file from package crystalsvg-icon-theme-4.0.4-1.fc9.i386
  file /usr/share/icons/hicolor/16x16/apps/kipi.png from install of kdegraphics-4.1.0-3.fc9.i386 conflicts with file from package libkipi-0.1.5-4.fc9.i386
  file /usr/share/icons/hicolor/22x22/apps/kipi.png from install of kdegraphics-4.1.0-3.fc9.i386 conflicts with file from package libkipi-0.1.5-4.fc9.i386
  file /usr/share/icons/hicolor/32x32/apps/kipi.png from install of kdegraphics-4.1.0-3.fc9.i386 conflicts with file from package libkipi-0.1.5-4.fc9.i386
  file /usr/share/icons/hicolor/48x48/apps/kipi.png from install of kdegraphics-4.1.0-3.fc9.i386 conflicts with file from package libkipi-0.1.5-4.fc9.i386

Error Summary
-------------
</pre>
<p>I tried deleting these packages manually but that led into an even deeper&#8217;s rats nest of dependency hell.  So one thing I tried was </p>
<pre>
$ sudo yum groupremove "KDE (K Desktop Environment)"
$ sudo yum --enablerepo=updates-testing groupinstall  "KDE (K Desktop Environment)"
</pre>
<p>However I still got conflcts so ran </p>
<pre>
$ sudo yum remove libkipi
$ sudo yum remove crystalsvg-icon-theme
$ sudo yum --enablerepo=updates-testing groupupdate  "KDE (K Desktop Environment)"
</pre>
<p>And finally I have got KDE 4.1.0 to install in way too many steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/11/29/getting-kde-410-on-a-fedora-8-machine-when-kde-3-is-already-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Linux is a woman</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/11/10/linux-is-a-woman/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/11/10/linux-is-a-woman/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 10:06:22 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=698</guid>
		<description><![CDATA[I love this quote

It&#8217;s obvious that GNU/Linux is a woman. She&#8217;s high maintenance, expects
everything to be given to her for free, and no matter what goes wrong&#8230;
it&#8217;s your fault.

]]></description>
			<content:encoded><![CDATA[<p>I love this quote</p>
<blockquote><p>
It&#8217;s obvious that GNU/Linux is a woman. She&#8217;s high maintenance, expects<br />
everything to be given to her for free, and no matter what goes wrong&#8230;<br />
it&#8217;s your fault.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/11/10/linux-is-a-woman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Handling user reviews on a website</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/09/30/handling-user-reviews-on-a-website/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/09/30/handling-user-reviews-on-a-website/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 06:10:58 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[scaling]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=696</guid>
		<description><![CDATA[Scott Ru gives us some insights on the process Amazon uses to handle user reviews on their site.

You start with some philosophical rules, and you try to make them stick. Providing guidelines is the only way to start.

References

Read more
Scott Berkun&#8217;s Blog Post on User Reviews

]]></description>
			<content:encoded><![CDATA[<p>Scott Ru gives us <a href="http://scottru.com/2008/09/13/on-apple-amazon-reviewing-and-large-companies/">some insights</a> on the process Amazon uses to handle user reviews on their site.</p>
<blockquote><p>
You start with some philosophical rules, and you try to make them stick. Providing guidelines is the only way to start.
</p></blockquote>
<h4>References</h4>
<ul>
<li><a href="http://scottru.com/2008/09/13/on-apple-amazon-reviewing-and-large-companies/">Read more</a></li>
<li><a href="http://discussionleader.hbsp.com/berkun/2008/09/draft-on-apple-amazon-spore-an.html">Scott Berkun&#8217;s Blog Post on User Reviews</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/09/30/handling-user-reviews-on-a-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>When Despair.com meets Stackoverflow</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/09/23/when-despaircom-meets-stackoverflow/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/09/23/when-despaircom-meets-stackoverflow/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 14:24:36 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=695</guid>
		<description><![CDATA[
Via Kvardek-du through Planet Lisp
]]></description>
			<content:encoded><![CDATA[<p><a href="http://1.bp.blogspot.com/_RNP4gnlxdnU/SM_w2igx10I/AAAAAAAAAKc/PWQq2hoOKTY/s1600-h/automotivator.jpg" title="poster adapted from Jeff Atwood's announcement, built with Xach's Auto Motivator"><img style="margin:0px auto 10px;text-align:center" src="http://1.bp.blogspot.com/_RNP4gnlxdnU/SM_w2igx10I/AAAAAAAAAKc/PWQq2hoOKTY/s400/automotivator.jpg" border="0" alt="Stack Overflow, none of us is as dumb as all of us" /></a></p>
<p>Via <a href="http://kvardek-du.kerno.org/2008/09/lisp-at-stack-overflow.html">Kvardek-du</a> through <a href="http://planet.lisp.org">Planet Lisp</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/09/23/when-despaircom-meets-stackoverflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>O&#8217;Reilly nudging Web 2.0ers to build something real</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/09/19/oreilly-nudging-web-20ers-to-build-something-real/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/09/19/oreilly-nudging-web-20ers-to-build-something-real/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 15:03:25 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=693</guid>
		<description><![CDATA[CNet reports that Tim O&#8217;Reilly keynoted a message to the Web 2.0 community that they should stop building SuperPoke and try to challenge more real problems.
The CNet article jabs at O&#8217;Reilly Media itself helped to spawn some of these SuperPoke applications with all of these tech conferences that they have held but overall O&#8217;Reilly&#8217;s main [...]]]></description>
			<content:encoded><![CDATA[<p>CNet reports that Tim O&#8217;Reilly <a href="http://news.cnet.com/8301-17939_109-10045321-2.html">keynoted</a> a message to the Web 2.0 community that they should stop building <a href="http://www.facebook.com/apps/application.php?id=2357179312">SuperPoke</a> and try to challenge more real problems.</p>
<p>The CNet article jabs at O&#8217;Reilly Media itself helped to spawn some of these SuperPoke applications with all of these tech conferences that they have held but overall O&#8217;Reilly&#8217;s main message in the keynote resonates with me:</p>
<blockquote><p>
And you have to conclude, if you look at the focus of a lot of what you call &#8216;Web 2.0,&#8217; the relentless focus on advertising-based consumer models, lightweight applications, we may be living in somewhat of a bubble, and I&#8217;m not talking about an investment bubble. (It&#8217;s) a reality bubble
</p></blockquote>
<ul>
<li>
<a href="http://news.cnet.com/8301-17939_109-10045321-2.html">Read more at CNET</a> (<a href="http://news.ycombinator.com/item?id=308555">Courtesy of Hacker News</a>)
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/09/19/oreilly-nudging-web-20ers-to-build-something-real/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Fixing that svn: Unrecognized format for the relative external URL</title>
		<link>http://blogs.law.harvard.edu/hoanga/2008/09/18/fixing-that-svn-unrecognized-format-for-the-relative-external-url/</link>
		<comments>http://blogs.law.harvard.edu/hoanga/2008/09/18/fixing-that-svn-unrecognized-format-for-the-relative-external-url/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 11:22:51 +0000</pubDate>
		<dc:creator>hoanga</dc:creator>
				<category><![CDATA[fixes]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blogs.law.harvard.edu/hoanga/?p=692</guid>
		<description><![CDATA[So recently I saw this when doing a svn checkout of a project and ran into the following:

$ svn co&#160;http://svn.somewhere.com/svn/projects 
svn: Unrecognized format for the relative external URL &#8221;.

Wonderful.  This indicated to me there was a problem with the svn externals somewhere.  After noodling a little I decided to Google around and found [...]]]></description>
			<content:encoded><![CDATA[<p>So recently I saw this when doing a svn checkout of a project and ran into the following:</p>
<blockquote><p>
$ svn co&nbsp;<a href="http://svn.somewhere.com/svn/projects" title="http://svn.somewhere.com/svn/projects" target="_blank">http://svn.somewhere.com/svn/projects</a> <br />
svn: Unrecognized format for the relative external URL &#8221;.
</p></blockquote>
<p>Wonderful.  This indicated to me there was a problem with the svn externals somewhere.  After noodling a little I decided to Google around and found <a>this</a>.  Basically, duplicate listings in your svn:externals is a bad thing.</p>
<p><a href="http://hasno.info/2008/7/22/subversion-1-5-and-unexpected-format-errors-with-blank-info">Read more</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.law.harvard.edu/hoanga/2008/09/18/fixing-that-svn-unrecognized-format-for-the-relative-external-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>
