<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>S3hh&#039;s Blog</title>
	<atom:link href="http://s3hh.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://s3hh.wordpress.com</link>
	<description>Just another WordPress.com site</description>
	<lastBuildDate>Mon, 13 Feb 2012 14:48:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='s3hh.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>S3hh&#039;s Blog</title>
		<link>http://s3hh.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://s3hh.wordpress.com/osd.xml" title="S3hh&#039;s Blog" />
	<atom:link rel='hub' href='http://s3hh.wordpress.com/?pushpress=hub'/>
		<item>
		<title>gtd next-actions</title>
		<link>http://s3hh.wordpress.com/2012/01/29/gtd-next-actions/</link>
		<comments>http://s3hh.wordpress.com/2012/01/29/gtd-next-actions/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 03:10:36 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gtd]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=225</guid>
		<description><![CDATA[For years now, I&#8217;ve kept the following directory structure to support my gtd workflow: gtd/ done.otl next_actions.otl someday_maybe.otl waiting_on.otl Projects/ Reference/ tickler/ I&#8217;ve discussed the tickler folder before. But while I like having the next_actions.otl file, I feel it&#8217;s stopping &#8230; <a href="http://s3hh.wordpress.com/2012/01/29/gtd-next-actions/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=225&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For years now, I&#8217;ve kept the following directory structure to support my gtd workflow:</p>
<pre>
gtd/
   done.otl
   next_actions.otl
   someday_maybe.otl
   waiting_on.otl
   Projects/
   Reference/
   tickler/
</pre>
<p>I&#8217;ve discussed the tickler folder before.  But while I like having the next_actions.otl file, I feel it&#8217;s stopping me from really following the gtd workflow.  I tend to ignore some of the things under Projects/, as I have to manually look through those to find a next action.</p>
<p>So I&#8217;m going to try something a bit different.  I&#8217;m going to not have a next_actions file.  Rather, I&#8217;ll tag items in files under Projects/ with with &#8216;nextaction:&#8217;, and use ~/bin/nextactions which is basically just</p>
<pre>
grep -r "^nextaction" $HOME/gtd/Projects
</pre>
<p>Now that doesn&#8217;t make me look at files not having next actions, but it keeps me working under ~/gtd/Projects rather than keeping next_actions.otl open in an editor, which otherwise is the temptation.  I can also easily print out all top-level files or directories which don&#8217;t have a nextaction in or under them,</p>
<pre>
====================================================
#!/bin/bash

d=$HOME/gtd/Projects

for f in $d/*; do
	grep -rq "^nextaction" $f
	if [ $? -ne 0 ]; then
		echo $f
	fi
done
====================================================
</pre>
<p>so I can trivially see which project I&#8217;ve ignored.  Yikes, 23 of them.</p>
<p>We&#8217;ll see, I may not like it.  For instance, it may seem more awkward cut-pasting things into gtd/done.otl  But I think it could improve my workflow.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/225/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=225&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2012/01/29/gtd-next-actions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>Nested kvm guests</title>
		<link>http://s3hh.wordpress.com/2012/01/19/nested-kvm-guests/</link>
		<comments>http://s3hh.wordpress.com/2012/01/19/nested-kvm-guests/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 22:38:57 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=219</guid>
		<description><![CDATA[Yesterday, the right honorable James Page asked whether nested kvm was supported. It&#8217;s been long supported on AMD, but for a long time the answer has been &#8220;check back later&#8221; for Intel. I hadn&#8217;t checked in a while though, so &#8230; <a href="http://s3hh.wordpress.com/2012/01/19/nested-kvm-guests/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=219&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yesterday, the right honorable James Page asked whether nested kvm was supported.  It&#8217;s been long supported on AMD, but for a long time the answer has been &#8220;check back later&#8221; for Intel.  I hadn&#8217;t checked in a while though, so I took a quick look.  And lo!  It appears to have been introduced in the upstream kernel in May 2011.  It is turned off by default.  To turn it on, you must provide the &#8216;nested=1&#8242; parameter when loading the kvm_intel module.</p>
<p>I did a few tests with that parameter, and saw no instability nor performance degradation.  So as of today, qemu-kvm in precise will by default enable nesting on Intel.  If you want to turn it off, edit /etc/default/qemu-kvm and set KVM_NESTED=&#8221;".</p>
<p>The userspace qemu-kvm doesn&#8217;t need any changes to use this, however you do have to pass either &#8216;-cpu host&#8217; or &#8216;-cpu qemu64,+vmx&#8217; to the qemu command line options.  So, for instance, I was testing with:</p>
<p>	kvm -cpu host -drive file=x.img,if=virtio,cache=none,index=0 -m 1024 -redir tcp:2222::22</p>
<p>In that VM I started a nested minimal ubuntu install and compiled a tiny program, ii.  With nested kvm that took 0.8s.  With it (that is, without passing &#8216;-cpu host&#8217; to the top level qemu), it took 2.8 seconds.</p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/219/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=219&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2012/01/19/nested-kvm-guests/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>KVM performance measurements: my plan</title>
		<link>http://s3hh.wordpress.com/2012/01/11/kvm-performance-measurements-my-plan/</link>
		<comments>http://s3hh.wordpress.com/2012/01/11/kvm-performance-measurements-my-plan/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 17:07:39 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=216</guid>
		<description><![CDATA[I intend to do kvm performance comparisons of various tuning knobs in 3 sets. One to test virtual disk performance. One to test network performance. And one to test general cpu performance. For disk performance, I&#8217;m going to very closely &#8230; <a href="http://s3hh.wordpress.com/2012/01/11/kvm-performance-measurements-my-plan/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=216&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I intend to do kvm performance comparisons of various tuning knobs in 3 sets.  One to test virtual disk performance.  One to test network performance.  And one to test general cpu performance.</p>
<p>For disk performance, I&#8217;m going to very closely follow Soren&#8217;s suggestion.  I&#8217;ll use two upstart jobs, one which does heavy read activity (find / -type f and tar zvft of kernel tree) then shuts down, and one which does heavy write activity.  Start up the kvm VM and time how long until it is complete.  I intend to do all permutations of the following:</p>
<p>host fs: xfs, ext4, ext3, ext2, lvm, lvm snapshot<br />
drive: qcow2, qed, raw, lvm<br />
preallocated (for qcow and qed): yes and no<br />
interface: virtio, ide<br />
cache: unsafe, none writeback, writethrough, directsync<br />
aio: threads, native</p>
<p>For cpu performance, I&#8217;ll have an upstart job run kernbench with permutations of the following:</p>
<p>guest memory: 256M, 512M, 1024M, 2048M, 4096M (*1), 8192M (*1)<br />
overcommit: none, ksm, balloon, both<br />
guest swap: none, =memsize, =3xmemsize<br />
smp: 1, 2, 4 (*2), 8 (*2)</p>
<p>Finally, for network performance I&#8217;ll probably have an upstart job repeatedly wget kernel tarballs from apache on the host, trying the following options:</p>
<p>nic: tap, user<br />
type: virtio, rtl8139, ne2k_pci, e1000, pcnet</p>
<p>Feedback welcome!</p>
<p>*1 &#8211; I won&#8217;t do these as my target machine only has 4G ram<br />
*2 &#8211; I won&#8217;t do these as my target machine only has 4 virtual cpus</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/216/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/216/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=216&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2012/01/11/kvm-performance-measurements-my-plan/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>Some first performance tests of various kvm backing stores</title>
		<link>http://s3hh.wordpress.com/2012/01/07/some-first-performance-tests-of-various-kvm-backing-stores/</link>
		<comments>http://s3hh.wordpress.com/2012/01/07/some-first-performance-tests-of-various-kvm-backing-stores/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 01:52:49 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=212</guid>
		<description><![CDATA[There are quite a few options for backing store for kvm virtual machines. I&#8217;ve started benchmarking just a few of the possible combinations. For starters, I installed a stock headless ubuntu precise system from the mini network installer. It was &#8230; <a href="http://s3hh.wordpress.com/2012/01/07/some-first-performance-tests-of-various-kvm-backing-stores/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=212&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are quite a few options for backing store for kvm virtual<br />
machines.  I&#8217;ve started benchmarking just a few of the possible<br />
combinations.  For starters, I installed a stock headless ubuntu<br />
precise system from the mini network installer.  It was running<br />
the generic kernel, with no x-windows and only the virtualization<br />
host package set selected through tasksel.  I ran all VMs with<br />
1024M ram, vnc, and the user network &#8211; which is fine as I was<br />
only running kernbench.</p>
<p>The specific test I ran was the phoronix pts/build-linux-kernel<br />
test, which runs 3 compiles and gives you the average time and<br />
standard error and standard deviation.</p>
<p>The only thing I varied was the backing store.  I used a raw<br />
partition, and lvm partition, and raw, qcow2, and qed image<br />
files (all un-allocated, that is, sparse).  The qcow2 and qed<br />
images I tried both on ext4 and xfs filesystems.  The VM in<br />
all cases was partitioned with the default ext4 fs.</p>
<p>I ran the test (with three iterations) twice with each setup.</p>
<table border="1">
<tr>
<td> drive option </td>
<td> Average time </td>
<td> Standard error </td>
<td> Standard deviation </td>
</tr>
<tr>
<td> -drive file=raw.img,if=virtio,cache=none (raw.img on ext4) </td>
<td> 1004.07 </td>
<td> 1.24 </td>
<td> 0.21% </td>
</tr>
<tr>
<td> -drive file=raw.img,if=virtio,cache=none (raw.img on ext4) </td>
<td> 1003.54 </td>
<td> 2.48 </td>
<td> 0.43% </td>
</tr>
<tr>
<td> -hda /dev/sda7 </td>
<td> 1003.77 </td>
<td> 0.93 </td>
<td> 0.16% </td>
</tr>
<tr>
<td> -hda /dev/sda7 </td>
<td> 1006.18 </td>
<td> 1.21 </td>
<td> 0.21% </td>
</tr>
<tr>
<td> -drive file=/dev/sda7,if=virtio,cache=none </td>
<td> 1003.77 </td>
<td> 0.93 </td>
<td> 0.16% </td>
</tr>
<tr>
<td> -drive file=/dev/sda7,if=virtio,cache=none </td>
<td> 1005.66 </td>
<td> 2.08 </td>
<td> 0.36% </td>
</tr>
<tr>
<td> -drive file=/dev/schroot/kvm,if=virtio,cache=none </td>
<td> 1002.84 </td>
<td> 1.39 </td>
<td> 0.24% </td>
</tr>
<tr>
<td> -drive file=/dev/schroot/kvm,if=virtio,cache=none </td>
<td> 1008.85 </td>
<td> 1.51 </td>
<td> 0.26% </td>
</tr>
<tr>
<td> -drive file=/dev/schroot/kvm,if=virtio,cache=writethrough </td>
<td> 1002.21 </td>
<td> 2.05 </td>
<td> 0.36% </td>
</tr>
<tr>
<td> -drive file=/dev/schroot/kvm,if=virtio,cache=writethrough </td>
<td> 1004.07 </td>
<td> 1.31 </td>
<td> 0.23% </td>
</tr>
<tr>
<td> -drive file=/dev/qcow2.img,if=virtio,cache=none (qcow2.img on ext4) </td>
<td> 1007.84 </td>
<td> 1.29 </td>
<td> 0.22% </td>
</tr>
<tr>
<td> -drive file=/dev/qcow2.img,if=virtio,cache=none (qcow2.img on ext4) </td>
<td> 1011.28 </td>
<td> 1.17 </td>
<td> 0.20% </td>
</tr>
<tr>
<td> -drive file=/dev/qed.img,if=virtio,cache=none (qed.img on ext4) </td>
<td> 1018.18 </td>
<td> 0.86 </td>
<td> 0.15% </td>
</tr>
<tr>
<td> -drive file=/dev/qed.img,if=virtio,cache=none (qed.img on ext4) </td>
<td> 1012.69 </td>
<td> 1.14 </td>
<td> 0.20%  </td>
</tr>
<tr>
<td> -drive file=/dev/qcow2.img,if=virtio,cache=none (qcow2.img on xfs) </td>
<td> 1006.70 </td>
<td> 1.53 </td>
<td> 0.26% </td>
</tr>
<tr>
<td> -drive file=/dev/qcow2.img,if=virtio,cache=none (qcow2.img on xfs) </td>
<td> 1009.96 </td>
<td> 1.38 </td>
<td> 0.24% </td>
</tr>
<tr>
<td> -drive file=/dev/qed.img,if=virtio,cache=none (qed.img on xfs) </td>
<td> 1005.70 </td>
<td> 0.80 </td>
<td> 0.14% </td>
</tr>
<tr>
<td> -drive file=/dev/qed.img,if=virtio,cache=none (qed.img on xfs) </td>
<td> 1009.56 </td>
<td> 1.14 </td>
<td> 0.20%  </td>
</tr>
<tr>
<td> -drive file=/dev/qcow2.img,if=virtio,cache=writethrough (qcow2.img on xfs) </td>
<td> 1002.05 </td>
<td> 1.91 </td>
<td> 0.33% </td>
</tr>
<tr>
<td> -drive file=/dev/qcow2.img,if=virtio,cache=writethrough (qcow2.img on xfs) </td>
<td> 1003.56 </td>
<td> 1.85 </td>
<td> 0.32% </td>
</tr>
</table>
<p>I had a few snafus with reinstallations, so hopefully next time I can do<br />
this faster, but overall this took me about a week on one laptop with an<br />
intel core2 duo T6670 @ 2.20Ghz.  I&#8217;m hoping to have two of these in a few<br />
weeks so I can do more tests simultaneously.</p>
<p>I&#8217;ll leave analysis out of this post for now, and just dump these numbers.<br />
I know, I&#8217;d rather report mean+/-95%CI, for each set of 6, but the numbers<br />
I&#8217;m reporting were nicely provided (as a .png) as is by the testsuite,<br />
and I was short on time&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=212&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2012/01/07/some-first-performance-tests-of-various-kvm-backing-stores/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>Simple netboot setup</title>
		<link>http://s3hh.wordpress.com/2011/12/15/simple-netboot-setup/</link>
		<comments>http://s3hh.wordpress.com/2011/12/15/simple-netboot-setup/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 16:46:09 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=203</guid>
		<description><![CDATA[In order to do some performance comparisons of qemu with various host parameters, I will be wanting to do many installs on the same hardware. That, of course, begs for automation. Automated install perhaps should be done with orchestra, and &#8230; <a href="http://s3hh.wordpress.com/2011/12/15/simple-netboot-setup/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=203&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In order to do some performance comparisons of qemu with various host parameters, I will be wanting to do many installs on the same hardware.  That, of course, begs for automation.  Automated install perhaps should be done with orchestra, and I&#8217;ll look into that soon, but as I hadn&#8217;t implemented anything like this myself in awhile, I wanted to make sure I knew how.  Here, for my own future reference, is exactly how I did it.</p>
<p>There is nothing new or groundbreaking here.  It just records a working setup for future reference.</p>
<p>First, the &#8216;lab&#8217;.  I&#8217;m sitting away from my router.  There are two laptops involved.  A is the big one which I use for daily work.  It runs a mostly stock desktop install with unity.  B is the victim.  A is on my wireless network through wlan0.  B is connected with a crossover cable to A.  Network manager doesn&#8217;t seem happy about this, so on A I run a script which does:</p>
<pre>
	stop network-manager
	iwconfig wlan0 essid myname enc mykey
	iwconfig wlan0 ap apmacaddr
	iwconfig wlan0 freq 2.417
	ifconfig wlan0 up
	dhclient wlan0
	ifconfig eth0 10.42.43.1 netmask 255.255.255.0 up
	/etc/init.d/dnsmasq restart
	/opt/bin/share-eth0-wlan0
</pre>
<p>/etc/dnsmasq.conf has</p>
<pre>
	interface=eth0
	dhcp-range=10.42.43.2,10.42.43.100,72h
	bind-interfaces
	dhcp-boot=pxelinux.0,biglap,10.42.43.1
</pre>
<p>and /opt/bin/share-eth0-wlan0 has:</p>
<pre>
	#!/bin/sh
	# Share wlan over eth0
	echo 1 &gt; /proc/sys/net/ipv4/ip_forward
	iptables -A FORWARD -o wlan0 -i eth0 -s 10.42.43.0/24 -m conntrack --ctstate NEW -j ACCEPT
	iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
	iptables -A POSTROUTING -t nat -j MASQUERADE
	/etc/init.d/dnsmasq start
</pre>
<p>&#8216;biglap&#8217; is another name for A.</p>
<p>Packages installed on A include: dnsmasq, nfs-kernel-server, tftpd-hpa, syslinux-common, apt-cacher-ng, and etherwake.  When I do &#8216;sudo etherwake macaddr-of-B&#8217; on A, B wakes up and starts pxeboot.  It talks to dnsmasq on A, which tells B to pxeboot from biglap.</p>
<p>The install images are set up under /var/lib/tftboot as follows.  First, /var/lib/tftboot/pxelinux.cfg/ has a file &#8216;default&#8217; which contains:</p>
<pre>
# Default boot option to use
DEFAULT menu.c32
# Prompt user for selection
PROMPT 0
# Menu Configuration
MENU WIDTH 80
MENU MARGIN 10
MENU PASSWORDMARGIN 3
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW 24
MENU PASSWORDROW 11
MENU TIMEOUTROW 20
MENU TITLE Main Menu

label linux
  kernel chain.c32
  append hd0

label precise-amd64-mini-preseed
  kernel precise-amd64-mini/linux
  append initrd=precise-amd64-mini/initrd.gz ro netboot=nfs nfsroot=10.42.43.1:/var/lib/tftpboot/precise-amd64-mini boot=casper -- priority=critical locale=en_US file=/preseed-nopart.cfg

label precise-i386-mini-preseed
  kernel precise-i386-mini/linux
  append initrd=precise-i386-mini/initrd.gz ro netboot=nfs nfsroot=10.42.43.1:/var/lib/tftpboot/precise-i386-mini boot=casper -- priority=critical locale=en_US file=/preseed-nopart.cfg

label oneiric-i386-mini-preseed
  kernel oneiric-i386-mini/linux
  append initrd=oneiric-i386-mini/initrd.gz ro netboot=nfs nfsroot=10.42.43.1:/var/lib/tftpboot/oneiric-i386-mini boot=casper -- priority=critical locale=en_US file=/preseed.cfg
</pre>
<p>For each install image, I grabbed the &#8216;mini.iso from archive.ubuntu.com.<br />
For instance, for precise-amd64, I did</p>
<pre>
wget -O precise-amd64-mini.iso \

http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/mini.iso

mount -o loop precise-amd64-mini.iso /mnt
mkdir /var/lib/tftpboot/precise-amd64-mini
cp -a /mnt/. /var/lib/tftpboot/precise-amd64-mini/
umount /mnt
</pre>
<p>The &#8216;linux&#8217; target boots from local disk.  In order for this to work, I<br />
had to copy chain.c32 from a full install iso (there must be a better<br />
way?) into /var/lib/tftpboot.</p>
<p>In order to export the nfs filesystem I added the following to /etc/exports:</p>
<p>/var/lib/tftpboot/iso 10.42.43.0/24(ro,subtree_check)</p>
<p>and did &#8216;sudo exportfs -a&#8217;.</p>
<p>I created a preseed file and copied it (called preseed-nopart.cfg) into each /var/lib/tftpboot/*-mini/ directory.  Mine looks like this, obviously based on Dustin&#8217;s <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  :</p>
<pre>
# Ubuntu Server Quick Install
# by Dustin Kirkland
#  * Documentation: http://bit.ly/uquick-doc 

d-i	hw-detect/load_firmware boolean false

# mirroring
d-i mirror/country string enter information manually
d-i mirror/http/hostname string 10.42.43.1:3142
d-i mirror/http/directory string /us.archive.ubuntu.com/ubuntu

d-i	debian-installer/locale	string en_US.UTF-8
d-i	debian-installer/splash boolean false
d-i	console-setup/ask_detect	boolean false
d-i	console-setup/layoutcode	string us
d-i	console-setup/variantcode	string
d-i	netcfg/get_nameservers	string
d-i     netcfg/get_hostname string stack
d-i	netcfg/get_ipaddress	string
d-i	netcfg/get_netmask	string 255.255.255.0
d-i	netcfg/get_gateway	string
d-i	netcfg/confirm_static	boolean true
d-i     time/zone string America/Chicago
d-i 	clock-setup/utc boolean true
d-i	clock-setup/ntp	boolean true
d-i	clock-setup/ntp-server	string ntp.ubuntu.com
d-i	base-installer/kernel/image	string linux-server
d-i	passwd/root-login	boolean false
d-i	passwd/make-user	boolean true
d-i	passwd/user-fullname string Ubuntu
d-i	passwd/username string ubuntu
d-i	passwd/user-password password ubuntu
d-i	passwd/user-password-again password ubuntu
d-i     user-setup/allow-password-weak boolean true
d-i	user-setup/encrypt-home	boolean false
d-i	apt-setup/services-select	multiselect security
d-i	apt-setup/security_host	string security.ubuntu.com
d-i	apt-setup/security_path	string /ubuntu
d-i	debian-installer/allow_unauthenticated	string false
d-i	pkgsel/upgrade	select safe-upgrade
d-i	pkgsel/language-packs	multiselect
d-i	pkgsel/update-policy	select none
d-i	pkgsel/updatedb	boolean true
d-i	grub-installer/skip	boolean false
d-i	lilo-installer/skip	boolean false
d-i	grub-installer/only_debian	boolean true
d-i	grub-installer/with_other_os	boolean true
d-i	finish-install/keep-consoles	boolean false
d-i	finish-install/reboot_in_progress	note
d-i	cdrom-detect/eject	boolean true
d-i	debian-installer/exit/halt	boolean false
d-i	debian-installer/exit/poweroff	boolean false
d-i	pkgsel/include string byobu vim openssh-server
byobu	byobu/launch-by-default boolean true
d-i debian-installer/exit/poweroff boolean true
</pre>
<p>The partitioning steps were taken out of there because I wanted to keep my partitioning on B for the moment, but I&#8217;ll be adding it again soon to make the whole thing fully automated.</p>
<p>Note that I set 10.42.43.1:3142, in other words laptop A, as archive mirror.  I installed apt-cacher-ng on A, which also serves as mirror for all of my schroots, containers, VMs, and for that matter my other laptops, to save a bit of bandwidth from the house.</p>
<p>Now, with all that, I&#8217;m able to do repeated automated installs without any changes to house or lab network.  For that matter, I&#8217;ll be able to do this from a coffee shop or a car tethered over 3G.  You know, if I wanted to.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/203/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=203&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2011/12/15/simple-netboot-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>Tickler</title>
		<link>http://s3hh.wordpress.com/2011/12/10/tickler/</link>
		<comments>http://s3hh.wordpress.com/2011/12/10/tickler/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 03:21:46 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=198</guid>
		<description><![CDATA[A tickler file is a concept i learned about from the gtd methodology a few years ago. When done physically, you simply have 31+12 folders &#8211; one for each potential day of the month, and one for each month of &#8230; <a href="http://s3hh.wordpress.com/2011/12/10/tickler/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=198&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A tickler file is a concept i learned about from the gtd methodology a few years ago.  When done physically, you simply have 31+12 folders &#8211; one for each potential day of the month, and one for each month of the year.  On the first of the month, the items in that month&#8217;s folder get distributed to daily folders.</p>
<p>While all of it should be doable using a calendar, I somehow find the tickler nicer to work with.  I&#8217;ve looked several times for good tools to use for a tickler, but have never found anything that suited my needs.  In particular, I want to quickly be able to manipulate using text files, be able to specify events repeating based on day of week or day of month, and be able to very simply, on any platform I use, be able to move things back and forth between tickler files and my next-actions file.  For instance, if I decide something on my list has to be put off, I can very quickly put it into the file for next Monday.  Since I&#8217;m most proficient with vi bindings, that means I need plaintext files.</p>
<p>So a few years ago I whipped up the scripts (at lp:~serge-hallyn/+junk/tickler) which I still use today.  The README in that tree, excerpted here, shows how I use it.</p>
<p>Here is how I use this.  I have a folder (under gtd/) called &#8216;tickler.  In there, I have files named 01 through 31.  These have entries for that date, during the current month.  If I get an action item which I want to work on on the 13th, I add it to 13.  At the start of the day, I move the contents of that day&#8217;s file (i.e. 05) into my gtd/next_actions.otl file.</p>
<p>The tickler folder also has files named January through December.  If I get an action item I want to work on in September, I add it to the September file.  On September 1, I open the September file and move all items into 01-31 files (or next_actions.otl).  If I know in August that I will want to do something on September 17th, then I just prefix the item in the September file with &#8217;17: &#8216;.</p>
<p>Now here is where the scripts come in.  The tickler folder also contains a folder called &#8216;repeating&#8217;.  In there, I keep files with repeating entries.  These take the following forms:</p>
<p>D 15 Do something on the 15th<br />
A March 10 This happens anually on March 10<br />
W Monday 3pm 4pm Some meeting every monday from 3-4pm</p>
<p>Two scripts sit in my tickler/ folder.  On the first of every month, I run &#8216;update-repeating.sh&#8217;.  This inserts relevant entries for the current month into the right 01-31 files.  These entries start and end with &#8216;XXX&#8217;.  When update-repeating.sh starts, it removes any entries which start with &#8216;XXX&#8217;, but keeps other (hand-inserted) entries, so that it is safe to run update-repeating.sh repeatedly.</p>
<p>There you go, full tickler functionality in two small scripts.  I&#8217;ve used many calender apps, but for my daily activities this is still my system of choice.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/198/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=198&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2011/12/10/tickler/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8216;ii&#8217; (Irc It) irc client</title>
		<link>http://s3hh.wordpress.com/2011/12/03/ii-irc-it-irc-client/</link>
		<comments>http://s3hh.wordpress.com/2011/12/03/ii-irc-it-irc-client/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 21:33:57 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=186</guid>
		<description><![CDATA[&#8216;ii&#8217; (Irc It) irc client For years I used irssi under multiple screen sessions to connect to irc. For the past few months, I&#8217;ve been using znc and connecting to it with various clients (xchat, colloqui, irssi, quassel, etc). But, &#8230; <a href="http://s3hh.wordpress.com/2011/12/03/ii-irc-it-irc-client/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=186&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8216;ii&#8217; (Irc It) irc client</p>
<p>For years I used irssi under multiple screen sessions to connect to irc.  For the past few months, I&#8217;ve been using znc and connecting to it with various clients (xchat, colloqui, irssi, quassel, etc).  But, also for several months, I&#8217;ve been wanting to try out <a href="http://tools.suckless.org/ii/" />ii</a>.  It&#8217;s a minimalistic irc client &#8211; less than 500 lines of code &#8211; by the folks who gave us dwm and wmii.  It creates a directory ($HOME/irc/network-name) for each network, a directory for each channel and PM under there, and, in each of those as well as the network directories, an &#8216;out&#8217; file and an &#8216;in&#8217; FIFO.  So, for instance, I might</p>
<p>	irc -n nick -s irc.freenode.net</p>
<p>and join #ubuntu-server with</p>
<p>	echo &#8220;/j #ubuntu-server&#8221; &gt; ~/irc/irc.freenode.net/in</p>
<p>after which ii will create in and out under ~/irc/irc.freenode.net/#ubuntu-server/.</p>
<p>As most people I&#8217;ve mentioned this to, my first reaction was &#8220;really neat, very scriptable, but not very usable.&#8221;  But the thing is, whatever tools you would like to have to make it more useable, you can trivially write them.  Here are the ones I use (mostly taken from <a href="http://tools.suckless.org/ii/usage">http://tools.suckless.org/ii/usage</a>):</p>
<h1> <a href="https://bitbucket.org/emg/pcw">pcw</a></h1>
<p>Pcw (&#8220;popup chat windows&#8221;) uses inotify to monitor file activity by ii.  By default it creates an xterm for each channel and pm, popping up new ones if one is not already open for that channel.  Each xterm runs srw (see below) to give you a nice interface to the channel.</p>
<p>A neat thing about pcw is that it uses an external script, pcw_win.sh, to fire off the program to interact with each channel.  To change it, just write your own pcw_win.sh and make it show up first in your PATH.</p>
<p>For instance, when I use pcw, I use it with byobu-tmux.  The pcw package at ppa:serge-hallyn/vimprobable has the script needed to do that under /usr/lib/pcw/.  So I&#8217;ll open a different window for each network, and do (an alias for):</p>
<p>		PATH=/usr/lib/pcw:$PATH pcw -n nick ~/irc/irc.freenode.net</p>
<p>Now each channel and PM will show up as separate panes on the same tmux window.</p>
<h1> <a href="https://bitbucket.org/emg/srw">plain srw</a></h1>
<p>If I just want to focus on one channel (for instance a meeting on #ubuntu-meeting), I run srw by hand:</p>
<pre>
	cd ~/irc/irc.freenode.net/#ubuntu-meeting
	srw -p "#ubuntu-meeting: " cw out in
</pre>
<p>Note that pcw ships with a script, cw_color.sh, which should provide an even nicer (color-highlighted) interface, but I&#8217;ve not played with it yet.</p>
<p>I haven&#8217;t done it yet, but am considering writing a little &#8216;channel bar&#8217; gui which would list each channel along with time of last message.  Clicking on a channel would bring up srw for that channel.  (It&#8217;s too bad that inotify doesn&#8217;t work over sshfs).</p>
<h1>google chat interaction</h1>
<p>As I&#8217;ve blogged here, it&#8217;s not too much trouble having irssi or znc forward chat messages to your google chat account.  However, responding via google chat, that I&#8217;ve not figured out how to do.  With ii, it&#8217;s trivial!  The pcw package (again at ppa:serge-hallyn/vimprobable) contains both &#8216;ii-to-gmail&#8217; which forwards any private messages or channel traffic with your nick, to your google chat.  The gchat-ii.pl script does the inverse!  If I sent a message to my irc google chat account saying &#8216;i #ubuntu-server hi&#8217;, then &#8216;hi&#8217; will be sent to #ubuntu-server on freenode.  There is certainly room to improve &#8211; the scrips sending and receiving gchats should be consolidated into one.  Then when sending gchats it could create nonces for each network/channel combination sent, which you could use in responses rather than typing the full chan name.  (this is all aimed at reducing typing on my phone).  But so far it&#8217;s working, and working great!</p>
<h1>multitail+vim</h1>
<p>I generally don&#8217;t actually run pcw, at least while working.  Rather, I follow <a href="http://nion.modprobe.de/blog/archives/440-Using-the-ii-irc-client.html">this example at nion.modprobe.de</a>.  I run multitail only on the channels I feel I need to watch, and let ii-to-gmail let me know if there are PMs or activity relevant to me on another channel.  For the vimrc shortcuts, I prefix them with &#8216;;&#8217; (i.e.  &#8216;;f1&#8242; to write the line to channel 1 in freenode).  It&#8217;s actually a very nice interface!</p>
<p>Oh, one other thing &#8211; ii upstream doesn&#8217;t support ssl.  There is a tiny patch which is supposed to add that support, but it didn&#8217;t work for me.  But, that&#8217;s ok &#8211; I use it with stunnel and it works great!</p>
<p>All in all, I&#8217;m loving this.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/186/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=186&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2011/12/03/ii-irc-it-irc-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>Vimprobable web browser</title>
		<link>http://s3hh.wordpress.com/2011/12/03/vimprobable-web-browser/</link>
		<comments>http://s3hh.wordpress.com/2011/12/03/vimprobable-web-browser/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 19:40:55 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=176</guid>
		<description><![CDATA[vimprobable has been mentioned in the comments of this blog before. It&#8217;s a fast webkit-based browser navigated mainly with vi bindings based originally on vimperator. I&#8217;ve had it packaged for a while now, but it had a few bugs keeping &#8230; <a href="http://s3hh.wordpress.com/2011/12/03/vimprobable-web-browser/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=176&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://sourceforge.net/apps/trac/vimprobable/">vimprobable</a> has been mentioned in the comments of this blog before.  It&#8217;s a fast webkit-based browser navigated mainly with vi bindings based originally on vimperator.</p>
<p>I&#8217;ve had it packaged for a while now, but it had a few bugs keeping me from evangelizing it.  The worst was that, frequently, clicking on an input field would not enable insert mode, and thereafter switching to insert mode seemed impossible.  That is now fixed, and I see no remaining nuisances.</p>
<p>So, I believe the package is ready for use.  It ships with an apparmor profile, and I use this config </p>
<pre>
	set homepage=file:///home/serge/homepage.html
	set plugins=false
	set scripts=false
	set java=false
	set images=true
	set caret=true
	set proxy=false
	map &lt;C-p&gt;=:set plugins=true
	map &lt;C-s&gt;=:set scripts=true
	map &lt;C-j&gt;=:set java=true
	set defaultsearch=d
</pre>
<p>to disable javascript and plugins by default, with ctrl-s turning javascript back on.  I will probably ITP it for debian soon, but for now it is packaged at <a href="https://launchpad.net/~serge-hallyn/+archive/vimprobable">ppa:serge-hallyn/vimprobable</a>.</p>
<p>At this point, I use pentadactyl (firefox) to watch tv and for launchpad and wiki interaction.  That&#8217;s because ctrl-I brings a text field up in gvim, which is just too handy, and I&#8217;ve not coded that for vimprobable.  But I use vimprobable for everything else.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/176/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=176&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2011/12/03/vimprobable-web-browser/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>Personalizing yubikeys for passphrase management</title>
		<link>http://s3hh.wordpress.com/2011/10/28/personalizing-yubikeys-for-passphrase-management/</link>
		<comments>http://s3hh.wordpress.com/2011/10/28/personalizing-yubikeys-for-passphrase-management/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 17:24:14 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[yubikey]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=174</guid>
		<description><![CDATA[Yubikeys are small hardware tokens supporting 2-factor authentication. ykpersonalize is a very powerful tool for personalizing yubikeys. However it&#8217;s always challenging figuring out how to use it. I just tried the gui tool from http://yubico.com/personalization-tool and it&#8217;s great! I picked &#8230; <a href="http://s3hh.wordpress.com/2011/10/28/personalizing-yubikeys-for-passphrase-management/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=174&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yubikeys are small hardware tokens supporting 2-factor authentication.</p>
<p>ykpersonalize is a very powerful tool for personalizing yubikeys.  However it&#8217;s always challenging figuring out how to use it.  I just tried the gui tool from http://yubico.com/personalization-tool and it&#8217;s great!  I picked &#8220;challenge-response mode&#8221;, &#8220;HMAC-SHA1&#8243;, generated (and stored under pasaffe) a secret key, and committed that to slot 2 on two yubikeys  Then i did &#8216;ykchalresp -2 somepassphrase to generate a long random string like:</p>
<p>c7257ac92b313c98e0e77e30d02822c8a0035163</p>
<p>which i can prepend to hand-typed passphrases.</p>
<p>The things I like about this are that:</p>
<p>  * I can re-specify the same secret key later on if I need a new yubikey<br />
  * I can store the strings resulting from &#8216;ykchalresp -2 passphrase&#8217; if I ever want to stop using the yubikeys, without losing access to data protected with those keys<br />
  * if I lose the yubikey, nothing should be compromised</p>
<p>I need to think more about whether it&#8217;s worth it and whether there are any holes in my reasoning, of course.  In the end it&#8217;ll only be worth it if it&#8217;s really more convenient than alternatives.  A little pop-up gui which takes a passphrase without echoing it, feeds it to ykchalresp, and copies the output into xclip -i, and then maybe hangs around waiting for another confirmation after which it wipes it from the clipboard <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , might help a lot.</p>
<p>Heck, like this:</p>
<p>{{{<br />
#!/bin/bash</p>
<p># needs dialog, ykchalresp, and xclip<br />
pw=$(dialog &#8211;passwordbox &#8220;Yubikey challenge&#8221; 10 20 &#8211;stdout)<br />
output=`ykchalresp -2 $pw`<br />
echo -n $output | xclip -i<br />
echo &#8220;hit return to clear the clipboard&#8221;<br />
read x<br />
echo | xclip -i<br />
}}}</p>
<p>I think I may encrypt some redundant data this way and test this out on<br />
my next trip, as a test.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=174&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2011/10/28/personalizing-yubikeys-for-passphrase-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
		<item>
		<title>google chat in irssi</title>
		<link>http://s3hh.wordpress.com/2011/10/07/google-chat-in-irssi/</link>
		<comments>http://s3hh.wordpress.com/2011/10/07/google-chat-in-irssi/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 13:09:47 +0000</pubDate>
		<dc:creator>s3hh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://s3hh.wordpress.com/?p=167</guid>
		<description><![CDATA[When I&#8217;m AFK, I like to have irc PMs forwarded to google chat on my phone. However, when I&#8217;m at my laptop, I don&#8217;t want to have to type google chat messages into my phone. (And I certainly don&#8217;t want &#8230; <a href="http://s3hh.wordpress.com/2011/10/07/google-chat-in-irssi/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=167&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When I&#8217;m AFK, I like to have irc PMs forwarded to google chat on my phone.  However, when I&#8217;m at my laptop, I don&#8217;t want to have to type google chat messages into my phone.  (And I certainly don&#8217;t want to have to open up firefox for that).</p>
<p>Luckily, it&#8217;s trivial to use google chat over irssi!  It actually took me a few minutes to figure out some of the details, because noone seems to describe exactly how they do it.  So here goes:</p>
<p>Install the xmpp irssi plugin.  On ubuntu, just &#8220;sudo apt-get install irssi-plugin-xmpp&#8221;.  Start up irssi, and load the plugin with &#8220;/load xmpp&#8221;.  (Or you can put that into ~/.irssi/startup).</p>
<p>To log in, use &#8220;/xmppconnect -host talk.google.com user.name@gmail.com yourpassword&#8221;.  You can see who is on with &#8220;/roster&#8221;.  Then to talk with someone, say &#8220;/query other.name@gmail.com&#8221;.  That&#8217;s it!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/s3hh.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/s3hh.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/s3hh.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/s3hh.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/s3hh.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/s3hh.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/s3hh.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/s3hh.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/s3hh.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/s3hh.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/s3hh.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/s3hh.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/s3hh.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/s3hh.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=s3hh.wordpress.com&amp;blog=14017495&amp;post=167&amp;subd=s3hh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://s3hh.wordpress.com/2011/10/07/google-chat-in-irssi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3ecb5cf5a86116e89b6ce738bd4091e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">s3hh</media:title>
		</media:content>
	</item>
	</channel>
</rss>
