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

<channel>
	<title>codeblog &#187; General</title>
	<atom:link href="http://www.outflux.net/blog/archives/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.outflux.net/blog</link>
	<description>code is freedom -- patching my itch</description>
	<lastBuildDate>Tue, 07 Feb 2012 00:49:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>5 years with Canonical</title>
		<link>http://www.outflux.net/blog/archives/2011/09/12/5-years-with-canonical/</link>
		<comments>http://www.outflux.net/blog/archives/2011/09/12/5-years-with-canonical/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 17:58:04 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.outflux.net/blog/?p=511</guid>
		<description><![CDATA[This month, I will have been with Canonical for 5 years. It&#8217;s been fantastic, but I&#8217;ve decided to move on. Next week, I&#8217;m going to start working for Google, helping out with ChromeOS, which I&#8217;m pretty excited about. I&#8217;m sad to be leaving Canonical, but I comfort myself by knowing that I&#8217;m not leaving Ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p>This month, I will have been with Canonical for 5 years. It&#8217;s been fantastic, but I&#8217;ve decided to move on. Next week, I&#8217;m going to start working for Google, helping out with ChromeOS, which I&#8217;m pretty excited about. I&#8217;m sad to be leaving Canonical, but I comfort myself by knowing that I&#8217;m not leaving Ubuntu or any other projects I&#8217;m involved in. I believe in Ubuntu, I use it everywhere, and I&#8217;m friends with so many of its people. And I&#8217;m still core-dev, so I&#8217;ll continue to break^Wsecure things as much as I can in Ubuntu, and continue working on getting similar stuff into Debian. :)</p>
<p>For nostalgic purposes, I dug up my first <a href="https://launchpad.net/ubuntu/+source/krb5/1.4.3-5ubuntu0.1">security update</a> (sponsored by pitti), and my first <a href="https://lists.ubuntu.com/archives/ubuntu-security-announce/2006-October/000413.html">Ubuntu Security Notice</a>. I&#8217;m proud of Ubuntu&#8217;s strong security record and <a href="https://wiki.ubuntu.com/Security/Features/Historical">how far the security feature list has come</a>. The Ubuntu Security Team is an awesome group of people, and I&#8217;m honored to have worked with them.</p>
<p>I&#8217;m looking forward to the new adventures, but I will miss the previous ones.</p>
<p style='text-align:left'>&copy; 2011, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2011/09/12/5-years-with-canonical/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>fun with game memory</title>
		<link>http://www.outflux.net/blog/archives/2011/02/05/fun-with-game-memory/</link>
		<comments>http://www.outflux.net/blog/archives/2011/02/05/fun-with-game-memory/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 01:15:31 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Reverse Engineering]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.outflux.net/blog/?p=456</guid>
		<description><![CDATA[So, I was testing a (closed source) single-player offline game recently and thought this exercise might be fun to document. I didn&#8217;t want to spend any time actually earning in-game money since I&#8217;d played it before and I wanted to just skip ahead to other aspects of the game. I was curious how straight-forward adjusting [...]]]></description>
			<content:encoded><![CDATA[<p>So, I was testing a (closed source) single-player offline game recently and thought this exercise might be fun to document. I didn&#8217;t want to spend any time actually earning in-game money since I&#8217;d played it before and I wanted to just skip ahead to other aspects of the game. I was curious how straight-forward adjusting my cash might be. So, noting the in-game &#8220;bank account number&#8221; of <strong>219393</strong> and account balance of <strong>3000</strong>, I dived right in.</p>
<p>First up, what&#8217;s the memory layout of the heap look like? I looked at the brk and the mmap regions without a mapped library or file, marked with &#8220;w&#8221; in the permissions column, from <code>/proc/PID/maps</code>:</p>
<blockquote><p>0827e000-08282000 rw-p 00000000 00:00 0<br />
<strong>0a22e000</strong>-<strong>0b08a000</strong> rw-p 00000000 00:00 0                                  [heap]<br />
efa59000-efd00000 rw-p 00000000 00:00 0<br />
efd00000-efd21000 rw-p 00000000 00:00 0
</p></blockquote>
<p>Knowing these, I could use gdb&#8217;s &#8220;find&#8221; command, after attaching to the process:</p>
<blockquote><p>
$ gdb /some/cool/game<br />
&#8230;<br />
(gdb) attach PID<br />
&#8230;<br />
(gdb) find /w 0x0827e000, 0&#215;08282000, <strong>219393</strong><br />
(gdb) find /w <strong>0x0a22e000</strong>, <strong>0x0b08a000</strong>, <strong>219393</strong><br />
0xaf03d08<br />
<strong>0xaf06ca8</strong>
</p></blockquote>
<p>No hits in the first region, but I see two hits for the account number value in the second region. Let&#8217;s start there and see what&#8217;s near them&#8230;</p>
<blockquote><p>
(gdb) x/8x 0xaf03d08<br />
0xaf03d08:	0&#215;00035901	0&#215;00000000	0&#215;00000000	0x0af06ce0<br />
0xaf03d18:	0x0af06be0	0&#215;00000059	0x0af03d98	0x0af041e8<br />
(gdb) x/8x <strong>0xaf06ca8</strong><br />
0xaf06ca8:	0&#215;00035901	<strong>0x00000bb8</strong>	<strong>0x00000bb8</strong>	0x0820b148<br />
0xaf06cb8:	0&#215;00000001	0&#215;00000000	0&#215;00000000	0&#215;00000000
</p></blockquote>
<p>In that second hit, I see the value <strong>0xBB8</strong>, which is <strong>3000</strong>, and matches our account balance. Let&#8217;s see what happens if we just change both of those to add a bit a few orders of magnitude above the current value&#8230;</p>
<blockquote><p>
(gdb) set var *0xaf06cac = 0x00100bb8<br />
(gdb) set var *0xaf06cb0 = 0x00100bb8<br />
(gdb) x/32x 0xaf06cac<br />
0xaf06cac:	0x00100bb8	0x00100bb8	0x0820b148	0&#215;00000001<br />
(gdb) continue
</p></blockquote>
<p>And presto, clicking on the bank account details in-game shows a huge account balance of 1051576 now. No need to reverse-engineer any saved games, whew.</p>
<p style='text-align:left'>&copy; 2011, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2011/02/05/fun-with-game-memory/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Achievement Unlocked</title>
		<link>http://www.outflux.net/blog/archives/2010/07/23/achievement-unlocked/</link>
		<comments>http://www.outflux.net/blog/archives/2010/07/23/achievement-unlocked/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 13:45:00 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.outflux.net/blog/?p=371</guid>
		<description><![CDATA[I think it would be fun to add an achievement system to the Ubuntu Desktop, like is done on Steam and XBox. The tricky part is tracking various events and finding amusing correlations. For example, if your screen-saver kicks in 40 times in a single 24 hour period, you could earn the &#8220;Alternating Current&#8221; achievement, [...]]]></description>
			<content:encoded><![CDATA[<p>I think it would be fun to add an achievement system to the Ubuntu Desktop, like is done on <a href="http://steamcommunity.com/stats/TF2/achievements/">Steam</a> and <a href="http://www.xbox360achievements.org/">XBox</a>.</p>
<p>The tricky part is tracking various events and finding amusing correlations.  For example, if your screen-saver kicks in 40 times in a single 24 hour period, you could earn the &#8220;Alternating Current&#8221; achievement, indicating that you&#8217;re being repeatedly interrupted all day long:</p>
<p><img src="http://www.outflux.net/ac.jpg" alt="achievement unlocked: alternating current" /></p>
<p>There are all kind of things to track and correlate.  Miles moved with the mouse, clicks taken, keys pressed, files opened, applications installed, buddies added, IMs received, sent, etc.  There are all kinds of achievements that could be designed that could be used to help people discover how to use Ubuntu, or for just plain humor.  &#8220;Achievement Unlocked: Application Deficit Disorder&#8221; when you uninstall 100 applications you installed in the prior week.</p>
<p>I&#8217;ve been told this might all be very easy to implement with the <a href="http://live.gnome.org/GnomeActivityJournal">Gnome Activity Journal</a> (Zeitgeist), but I haven&#8217;t had a chance to investigate further.</p>
<p><strong>UPDATE</strong>: I can easily imagine this being tracked in CouchDB, synced between systems via UbuntuOne, and could be linked to any other remote APIs that people could dream up, including Launchpad, Forums, REVU, Identi.ca, etc.</p>
<p style='text-align:left'>&copy; 2010, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2010/07/23/achievement-unlocked/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Google is wardriving</title>
		<link>http://www.outflux.net/blog/archives/2010/01/24/google-is-wardriving/</link>
		<comments>http://www.outflux.net/blog/archives/2010/01/24/google-is-wardriving/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 04:28:56 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.outflux.net/blog/?p=292</guid>
		<description><![CDATA[So, a while back, Google started providing location services. This seemed pretty cool, but I kind of ignored it until recently when I was playing with my Android&#8217;s location API. With the GPS off, and no cell towers visible (my basement gets terrible cell service), my phone knew within about 500 feet of where it [...]]]></description>
			<content:encoded><![CDATA[<p>So, a while back, Google started providing <a href="http://google-latlong.blogspot.com/2009/07/blue-circle-comes-to-your-desktop.html">location</a> <a href="http://www.google.com/latitude/apps">services</a>.  This seemed pretty cool, but I kind of ignored it until recently when I was playing with my Android&#8217;s <a href="http://developer.android.com/reference/android/location/package-summary.html">location API</a>.  With the GPS off, and no cell towers visible (my basement gets terrible cell service), my phone knew within about 500 feet of where it actually was.  All I was connected to was my wifi.</p>
<p>Bottom line: it seems that Google, among other methods, is likely <a href="http://en.wikipedia.org/wiki/Wardriving">wardriving</a> while photographing for <a href="http://maps.google.com/help/maps/streetview/">Street View</a>.  They are now able to pinpoint wifi access points if they happened to see it while driving through your city.</p>
<p>I&#8217;m really rather astonished that no one is freaking out about this; I&#8217;m a bit unnerved.  I <a href="http://outflux.net/software/shorts/geoloc.py">implemented the location-of-your-wifi</a> <a href="http://code.google.com/p/gears/wiki/GeolocationAPI">API</a> quickly, so I could terrify myself further.  You can do lookups via my <a href="http://outflux.net/geoloc/">location website</a> too, if you want.</p>
<p><strong>UPDATE</strong>: yeah, it would seem to be crowd-sourced wifi and cell tower triangulation data.  I should say &#8220;Google is WarCrowding&#8221;.</p>
<p style='text-align:left'>&copy; 2010, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2010/01/24/google-is-wardriving/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>recording from PulseAudio</title>
		<link>http://www.outflux.net/blog/archives/2009/04/19/recording-from-pulseaudio/</link>
		<comments>http://www.outflux.net/blog/archives/2009/04/19/recording-from-pulseaudio/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 19:42:59 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.outflux.net/blog/?p=184</guid>
		<description><![CDATA[Every PulseAudio &#8220;Sink&#8221; has a &#8220;Source&#8221; named &#8220;monitor&#8221;. This lets you attach to a given Sink and chain more stuff to it, for example, recording the audio that is playing through PulseAudio at any given moment. This is very handy for creating, for example, PubQuiz-style clips of songs, movies, etc. Here is a script to [...]]]></description>
			<content:encoded><![CDATA[<p>Every PulseAudio &#8220;Sink&#8221; has a &#8220;Source&#8221; named &#8220;monitor&#8221;.  This lets you attach to a given Sink and chain more stuff to it, for example, recording the audio that is playing through PulseAudio at any given moment.  This is very handy for creating, for example, PubQuiz-style clips of songs, movies, etc.</p>
<p>Here is a script to find the monitor for the most recently added Sink, record from it, and shove it through &#8220;sox&#8221; to get a WAV instead of raw sound data (requires recent sox, Pulse, etc):</p>
<pre class="brush:bash">#!/bin/bash
WAV="$1"
if [ -z "$WAV" ]; then
    echo "Usage: $0 OUTPUT.WAV" >&#038;2
    exit 1
fi
rm -f "$WAV"

# Get sink monitor:
MONITOR=$(pactl list | egrep -A2 '^(\*\*\* )?Source #' | \
    grep 'Name: .*\.monitor$' | awk '{print $NF}' | tail -n1)
echo "set-source-mute ${MONITOR} false" | pacmd >/dev/null

# Record it raw, and convert to a wav
echo "Recording to $WAV ..."
echo "Close this window to stop"
parec -d "$MONITOR" | sox -t raw -r 44k -sLb 16 -c 2 - "$WAV"
</pre>
<p style='text-align:left'>&copy; 2009 &#8211; 2011, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2009/04/19/recording-from-pulseaudio/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>phrase from nearest book meme</title>
		<link>http://www.outflux.net/blog/archives/2008/11/11/phrase-from-nearest-book-meme/</link>
		<comments>http://www.outflux.net/blog/archives/2008/11/11/phrase-from-nearest-book-meme/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 20:42:13 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.outflux.net/blog/?p=172</guid>
		<description><![CDATA[Meme from Jono: Grab the nearest book. Open it to page 56. Find the fifth sentence. Post the text of the sentence in your journal along with these instructions. Don&#8217;t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST. My result: &#8220;The term linear just means that each output [...]]]></description>
			<content:encoded><![CDATA[<p>Meme from <a href="http://www.jonobacon.org/?p=1378">Jono</a>:</p>
<ul>
<li>Grab the nearest book.</li>
<li>Open it to page 56.</li>
<li>Find the fifth sentence.</li>
<li>Post the text of the sentence in your journal along with these instructions.</li>
<li>Don&#8217;t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.</li>
</ul>
<p>My result:</p>
<p><em>&#8220;The term linear just means that each output bit of the mixing function is the XOR of several of the input bits.&#8221;</em> &#8211; <a href="http://www.librarything.com/work/157621">Practical Cryptography</a>, Niels Ferguson, Bruce Schneier.</p>
<p style='text-align:left'>&copy; 2008, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2008/11/11/phrase-from-nearest-book-meme/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>how to drain your entropy and have fun with ssh fingerprint ASCII-art</title>
		<link>http://www.outflux.net/blog/archives/2008/10/30/how-to-drain-your-entropy-and-have-fun-with-ssh-fingerprint-ascii-art/</link>
		<comments>http://www.outflux.net/blog/archives/2008/10/30/how-to-drain-your-entropy-and-have-fun-with-ssh-fingerprint-ascii-art/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 18:48:22 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu-Server]]></category>

		<guid isPermaLink="false">http://www.outflux.net/blog/?p=169</guid>
		<description><![CDATA[SSH&#8217;s new &#8220;VisualHostKey&#8221; option (in Ubuntu Intrepid and Debian Lenny) is great fun. Normally it is disabled, but it seems that &#8220;ssh-keygen&#8221; turns it on when generating new keys. In celebration of the Ubuntu release, here is a script to entertain yourself with RSA ASCII-art, care of SSH and your system&#8217;s entropy pool: #!/bin/sh set [...]]]></description>
			<content:encoded><![CDATA[<p>SSH&#8217;s new <a href="http://www.screenage.de/blog/2008/10/15/having-fun-with-openssh-on-ubuntu-intrepid-ibex-visual-host-keys/">&#8220;VisualHostKey&#8221; option</a> (in Ubuntu Intrepid and Debian Lenny) is great fun.  Normally it is disabled, but it seems that &#8220;ssh-keygen&#8221; turns it on when generating new keys.  In celebration of the Ubuntu release, here is a script to entertain yourself with RSA ASCII-art, care of SSH and your system&#8217;s entropy pool:</p>
<pre><code>
#!/bin/sh
set -e
DIR=$(mktemp -t -d rsa-art-XXXXXX)
trap "rm -f $DIR/key*; rmdir $DIR" EXIT HUP INT QUIT TERM

while :
do
    ART=$(ssh-keygen -t rsa -f $DIR/key -N "" | tail -n 11)
    rm -f $DIR/key
    /bin/echo -e "\x1Bc"
    echo "$ART"
done
</code></pre>
<p>Makes me feel like I&#8217;m watching <a href="http://en.wikipedia.org/wiki/Conway's_Game_of_Life">Life</a>.  (Use control-C to stop it.)</p>
<p style='text-align:left'>&copy; 2008, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2008/10/30/how-to-drain-your-entropy-and-have-fun-with-ssh-fingerprint-ascii-art/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>detecting space-vs-tab indentation type in vim</title>
		<link>http://www.outflux.net/blog/archives/2007/03/09/detecting-space-vs-tab-indentation-type-in-vim/</link>
		<comments>http://www.outflux.net/blog/archives/2007/03/09/detecting-space-vs-tab-indentation-type-in-vim/#comments</comments>
		<pubDate>Fri, 09 Mar 2007 18:36:17 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2007/03/09/detecting-space-vs-tab-indentation-type-in-vim/</guid>
		<description><![CDATA[I edit a lot of other people&#8217;s code. Dealing with indenting depth has always plagued me, and I&#8217;ve tried all sorts of things to try to address it, but the &#8220;real&#8221; problems I have are when tabs are mixed into code. I personally use &#8220;4 spaces&#8221; for code indentation, and if I&#8217;m working on code [...]]]></description>
			<content:encoded><![CDATA[<p>I edit a lot of other people&#8217;s code.  Dealing with indenting depth has always plagued me, and I&#8217;ve tried all sorts of things to try to address it, but the &#8220;real&#8221; problems I have are when tabs are mixed into code.</p>
<p>I personally use &#8220;4 spaces&#8221; for code indentation, and if I&#8217;m working on code that uses 8, I just hit &#8220;tab&#8221; twice, and if I&#8217;m working on code that uses 2, I can just backspace over the 2-too-many spaces.  When the code has actual tabs, things break.  When the code has a <em>mix</em> of tabs and spaces, it becomes a serious head-ache.</p>
<p>I wrote some vim insanity to detect which indentation type was being used &#8220;the most&#8221; in a given source file.  If anyone has a simpler way to solve this (without switching to a different editor), I&#8217;m all ears.  What follows are some bits from my .vimrc.</p>
<p>First, my space-indentation defaults:</p>
<pre>
set noai ts=4 sw=8 expandtab
</pre>
<p>Next, Makefiles and debian/rules files always use tabs, so I have a base set of overrides:</p>
<pre>
" Makefile sanity
autocmd BufEnter ?akefile* set noet ts=8 sw=8
autocmd BufEnter */debian/rules set noet ts=8 sw=8
</pre>
<p>Finally, define a function that compares the number of lines that start with a tab to those that start with a space.  If the tabs outnumber the spaces, disable my defaults, and don&#8217;t expand tabs:</p>
<pre>
function Kees_settabs()
    if len(filter(getbufline(winbufnr(0), 1, "$"), 'v:val =~ "^\\t"')) &gt; len(filter(getbufline(winbufnr(0), 1, "$"), 'v:val =~ "^ "'))
        set noet ts=8 sw=8
    endif
endfunction
autocmd BufReadPost * call Kees_settabs()
</pre>
<p style='text-align:left'>&copy; 2007, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2007/03/09/detecting-space-vs-tab-indentation-type-in-vim/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>OSDL drops staff coders</title>
		<link>http://www.outflux.net/blog/archives/2006/12/04/osdl-drops-staff-coders/</link>
		<comments>http://www.outflux.net/blog/archives/2006/12/04/osdl-drops-staff-coders/#comments</comments>
		<pubDate>Tue, 05 Dec 2006 06:33:39 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2006/12/04/osdl-drops-staff-coders/</guid>
		<description><![CDATA[News clippings about OSDL&#8216;s RIF: first official report, another other early report, as seen on Slashdot, some more details, and the most brutal. Two months ago, I jumped on a fantastic opportunity and took a job with Canonical (leaving OSDL none too soon, it seems). I&#8217;m disappointed that OSDL laid off so many of my [...]]]></description>
			<content:encoded><![CDATA[<p>News clippings about <a href="http://www.osdl.org/">OSDL</a>&#8216;s <a href="http://en.wikipedia.org/wiki/Reduction_in_Force">RIF</a>:</p>
<ul>
<li><a href="http://news.com.com/Linux+lab+cuts+staff%2C+focuses+on+legal+issues/2100-7344_3-6140514.html?tag=st_lh">first official report</a>, </li>
<li><a href="http://www.eweek.com/article2/0,1895,2067433,00.asp">another other early report</a>,</li>
<li><a href="http://www.linux.com/article.pl?sid=06/12/04/194206">as seen on Slashdot</a>,</li>
<li><a href="http://www.infoworld.com/article/06/12/04/HNosdl_1.html">some more details</a>, and</li>
<li><a href="http://www.theregister.co.uk/2006/12/04/osdl_cuts/">the most brutal</a>.</li>
</ul>
<p>Two months ago, I jumped on a fantastic opportunity and took a job with <a href="http://www.canonical.com/">Canonical</a> (leaving OSDL none too soon, it seems).  I&#8217;m disappointed that OSDL laid off so many of my friends.  I had been visiting the office on and off so I could continue to participate in the daily lunchtime board games.  It&#8217;s the end of an era.</p>
<p>Games played during lunch:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/UNO_%28game%29">UNO</a></li>
<li><a href="http://www.boardgamegeek.com/game/339">Quiddler</a></li>
<li><a href="http://www.boardgamegeek.com/game/4390">Carcassonne: Hunters and Gatherers</a></li>
<li><a href="http://www.boardgamegeek.com/game/553">Chez Geek</a> (and <a href="http://www.boardgamegeek.com/game/2797">2</a> and <a href="http://www.boardgamegeek.com/game/2741">3</a>)</li>
<li><a href="http://www.boardgamegeek.com/game/6250">Chez Grunt</a></li>
<li><a href="http://en.wikipedia.org/wiki/Dominos">Dominos</a></li>
<li><a href="http://www.boardgamegeek.com/game/3076">Puerto Rico</a></li>
<li><a href="http://www.boardgamegeek.com/game/1927">Munchkin</a></li>
<li><a href="http://www.boardgamegeek.com/game/116">Guilloitine</a></li>
<li><a href="http://www.boardgamegeek.com/game/258">Fluxx</a></li>
<li><a href="http://www.boardgamegeek.com/game/2204">Kill Doctor Lucky</a></li>
<li><a href="http://www.boardgamegeek.com/game/9825">Early American Chrononauts</a></li>
<li><a href="http://en.wikipedia.org/wiki/Texas_hold_%27em">Poker</a></li>
<li><a href="http://www.boardgamegeek.com/game/380">Polarity</a></li>
<li><a href="http://www.boardgamegeek.com/game/859">Illuminati</a></li>
<li><a href="http://www.boardgamegeek.com/game/14996">Ticket to Ride Europe</a></li>
<li><a href="http://www.boardgamegeek.com/game/2455">India Rails</a></li>
<li><a href="http://www.boardgamegeek.com/game/21790">Thurn and Taxis</a></li>
<li><a href="http://www.boardgamegeek.com/game/5457">Dread Pirate</a></li>
<li><a href="http://www.boardgamegeek.com/game/98">Axis + Allies</a></li>
<li><a href="http://www.boardgamegeek.com/game/2689">British Rails</a></li>
<li><a href="http://www.boardgamegeek.com/game/19671">BattleStar Galactica</a></li>
</ul>
<p style='text-align:left'>&copy; 2006, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2006/12/04/osdl-drops-staff-coders/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>bleeding-edgeness matrix</title>
		<link>http://www.outflux.net/blog/archives/2006/05/18/bleeding-edgeness-matrix/</link>
		<comments>http://www.outflux.net/blog/archives/2006/05/18/bleeding-edgeness-matrix/#comments</comments>
		<pubDate>Fri, 19 May 2006 07:22:38 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2006/05/18/bleeding-edgeness-matrix/</guid>
		<description><![CDATA[At least two times in recent history, I&#8217;ve wondered &#8220;is this the most recent version&#8221; of some piece of software, immediately followed by &#8220;which distro has the most recent version?&#8221; As I recall, these were for: mdadm f-spot I had discovered both to be woefully behind &#8220;most recent&#8221; for a number of distributions. In my [...]]]></description>
			<content:encoded><![CDATA[<p>At least two times in recent history, I&#8217;ve wondered &#8220;is this the most recent version&#8221; of some piece of software, immediately followed by &#8220;which distro has the most recent version?&#8221;  As I recall, these were for:</p>
<ul>
<li><a href="http://www.cse.unsw.edu.au/~neilb/source/mdadm/ANNOUNCE">mdadm</a></li>
<li><a href="http://f-spot.org/">f-spot</a></li>
</ul>
<p>I had discovered both to be woefully behind &#8220;most recent&#8221; for a number of distributions.  In my mind popped a vision of a chart/table/matrix of software on one axis and distros on the other, showing which had what versions of things.  And little boxes where I could rank the &#8220;bleeding-edgeness&#8221; of a distro.</p>
<p>While hunting around, I found something almost like my vision.  The <a href="http://distrowatch.com/">distrowatch</a> website is pretty damn cool.  It wasn&#8217;t really set up to compare bleeding-edgeness between different distros, just different versions <em>of</em> a distro.  For example, here&#8217;s <a href="http://distrowatch.com/table.php?distribution=ubuntu">Ubuntu&#8217;s matrix</a>.</p>
<p>I exchanged some email with the author, and it sounds like he just uses a mess of custom scripts to poll version numbers of some of the more &#8220;big-name&#8221; software packages, common to most distros.  Needless to say, mdadm and f-spot did not make the cut.  I&#8217;d love to be able to add more &#8220;tracked packages&#8221; via some kind of web UI.  A URL plus a regex to extract a version from; almost the same as what&#8217;s needed for <a href="http://sourceforge.net/project/showfiles.php?group_id=47517&#038;package_id=187301">WWW-PkgFind</a> to operate.  :)</p>
<p>From the <a href="http://svn.sourceforge.net/viewcvs.cgi/crucible/WWW-PkgFind/scripts/pkgfind?view=markup&#038;rev=HEAD">pkgfind</a> man page description:</p>
<blockquote><p>&#8230; scans a web or ftp site for newly posted files and<br />
downloads them to a local filesystem. &#8230; The motivation for this script is to poll places where developers post patches to software we&#8217;re testing.</p></blockquote>
<p style='text-align:left'>&copy; 2006, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2006/05/18/bleeding-edgeness-matrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>lvm article</title>
		<link>http://www.outflux.net/blog/archives/2006/04/28/lvm-article/</link>
		<comments>http://www.outflux.net/blog/archives/2006/04/28/lvm-article/#comments</comments>
		<pubDate>Fri, 28 Apr 2006 22:14:37 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2006/04/28/lvm-article/</guid>
		<description><![CDATA[Bryce wrote a great article on LVM and disk management that I helped do some technical editing on. Hopefully stuff like this will help other people get more comfortable with LVM, and make it less of a dark art. :) &#169; 2006, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.]]></description>
			<content:encoded><![CDATA[<p><a href="http://bryceharrington.org/blosxom.cgi">Bryce</a> wrote a great <a href="http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html">article on LVM</a> and disk management that I helped do some technical editing on.  Hopefully stuff like this will help other people get more comfortable with LVM, and make it less of a dark art.  :)</p>
<p style='text-align:left'>&copy; 2006, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2006/04/28/lvm-article/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>smallville, as measured in lana-minutes</title>
		<link>http://www.outflux.net/blog/archives/2006/04/26/smallville-as-measured-in-lana-minutes/</link>
		<comments>http://www.outflux.net/blog/archives/2006/04/26/smallville-as-measured-in-lana-minutes/#comments</comments>
		<pubDate>Wed, 26 Apr 2006 15:00:48 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2006/04/26/smallville-as-measured-in-lana-minutes/</guid>
		<description><![CDATA[I enjoy watching Smallville. I found Lana tiresome almost immediately. Recently, the writers teased us by showing an alternate future where she died. Struck with the possibility of not having to deal with her while watching the show, I became very excited. Then they brought the character back, and I couldn&#8217;t bear to continue watching [...]]]></description>
			<content:encoded><![CDATA[<p>I enjoy watching <a href="http://epguides.com/Smallville/">Smallville</a>.  I found Lana tiresome almost immediately.  Recently, the writers teased us by showing an alternate future where she died.  Struck with the possibility of not having to deal with her while watching the show, I became very excited.  Then they brought the character back, and I couldn&#8217;t bear to continue watching the show.  Every minute she&#8217;s on the screen is a minute stolen from me through the dark arts of terrible acting.  If I didn&#8217;t so enjoy the rest of the plots and characters, I could so easily just stop watching.  (I am also starting to run low on <a href="http://epguides.com/StargateSG1/">SG-1</a> episodes&#8230;)</p>
<p>To help combat my annoyance with Lana, I think I&#8217;m going to measure her screen-time.  I&#8217;m going to count every minute that she&#8217;s on-screen and not dead, or when the on-screen plot is a direct result of her idoicy.  (i.e. Clark complaining about something Lana did.)  The goal will be to reach a &#8220;perfect episode&#8221; Lana-minute score of ZERO.</p>
<p>As a bonus, I figure I should also track <a href="http://www.kryptonsite.com/thirstgallery6.htm">Chloevage</a> minutes.  I figure Lana and <a href="http://www.televisionwithoutpity.com/story.cgi?show=81&#038;story=5101&#038;limit=50&#038;sort=">Chloevage</a> timers shouldn&#8217;t run if they&#8217;re both on screen at the same time &#8212; they cancel eachother; I am neither frowning nor smiling.  The Chloevage-minutes would be a tie-breaker for episodes with nearly the same Lana-minutes value.</p>
<p>Ah, the physics of abstract television analysis.</p>
<p style='text-align:left'>&copy; 2006, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2006/04/26/smallville-as-measured-in-lana-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>grub, yaird, mdadm, and missing drives</title>
		<link>http://www.outflux.net/blog/archives/2006/04/23/grub-yaird-mdadm-and-missing-drives/</link>
		<comments>http://www.outflux.net/blog/archives/2006/04/23/grub-yaird-mdadm-and-missing-drives/#comments</comments>
		<pubDate>Mon, 24 Apr 2006 03:54:49 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2006/04/23/grub-yaird-mdadm-and-missing-drives/</guid>
		<description><![CDATA[This is basically a rant. I spent all my energy tracking down the problems, so I never did get things actually fixed. :P I have my machines configured for software RAID between my primary and secondary drives. I always have. LILO supported this configuration back in RedHat 5.2 days. I&#8217;ve been doing RAID1 for a [...]]]></description>
			<content:encoded><![CDATA[<p>This is basically a rant.  I spent all my energy tracking down the problems, so I never did get things actually fixed.  :P</p>
<p>I have my machines configured for software RAID between my primary and secondary drives.  I always have.  LILO supported this configuration back in RedHat 5.2 days.  I&#8217;ve been doing RAID1 for a long time now.  About a year ago, I changed my preference for boot loaders to GRUB, and just kind of assumed it handled mirroring.  Well, much to my surprise, grub totally and completely does not handle mirrored configurations.  Even the <a href="http://www.dur.ac.uk/a.d.stribblehill/mirrored_grub.html">proclaimed fix</a> didn&#8217;t work.</p>
<p>As a result of this &#8220;discovery&#8221;, I&#8217;ve switched back to LILO, which, I think, is a pain in the ass because it doesn&#8217;t actually have any filesystem-smarts built into it.  (i.e. I have to re-run &#8220;lilo&#8221; every time I change a kernel or initrd.)  I may see if <a href="http://www.dirigo.net/tuxTips/avoidingProblems/GrubMdMbr.php">another fix</a> works as expected, but I don&#8217;t have a lot of hope considering the device map in the filesystem is the same for both grub drives, which is what causes the problems in the first place.  (&#8220;Ieee!  Where did the other drive go?!&#8221;)</p>
<p>So, moving forward, assuming my bootloader works, all kernels from 2.6.13 forward don&#8217;t support devfs, and the older initrd tools can&#8217;t handle that.  Debian invented &#8220;yaird&#8221;.  I had assumed they used the /sys filesystem and did other smart things.  As it turns out, it&#8217;s fairly brain-dead.  I booted without one of my mirrored drives, and yaird totally freaked out.  As I discovered while digging through the initrd yaird generated, it just statically builds device nodes, based on what the running system used to look like.</p>
<p>There are two problems with this:</p>
<ol>
<li>DM devices (LVM, crypto, etc) are dynamically assigned.  They may not have the same numbers after rebooting.  This is mostly worked around by waiting for stuff to show up in /sys, so I&#8217;ll only complain about Ubuntu&#8217;s practice of encoding the major/minor numbers for the root device.  (e.g. 0xFF00 &#8212; my root partition may not always be detected first)  I don&#8217;t understand this, since the loader handles string-based paths for the root partition.  But that&#8217;s not the bug I ran into for this rant.</li>
<li>If a device goes missing, yaird assumes this is a bad thing.  It has no concept of quorum.  It could be argued that it shouldn&#8217;t, but in that case, it shouldn&#8217;t drop me to a prompt every time a device goes missing.  It should only do that in &#8220;debug&#8221; mode.  (I should send my patch for that in.)</li>
</ol>
<p>While digging to open a Debian Bug report <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=350861">against yaird</a>, I discovered that yaird, while annoyingly dropping me to a prompt (which I can &#8220;exit&#8221; out of), isn&#8217;t the real problem.  The real problem is that &#8220;mdadm&#8221; incorrectly thinks it can&#8217;t start up the mirror with only 1 drive.  There&#8217;s actually a counting bug where it just flat out thinks it needs 2 drives to start.  Once I found this, I got pissed, &#8220;What?  How could this bug exist?&#8221;</p>
<p>I proceeded to find the current <a href="http://www.cse.unsw.edu.au/~neilb/source/mdadm/">source for mdadm</a>, so I could write a patch to fix it.  Only then did I discover that <a href="http://packages.debian.org/unstable/admin/mdadm">Debian&#8217;s version of mdadm</a> is 5 REVISIONS BEHIND (including a major version jump)!  AAAGGGh!</p>
<p>At this point I got in line <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=337903">reporting</a> <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347644">how</a> <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363592">old</a> mdadm is, installed a <a href="http://alioth.debian.org/tracker/index.php?func=detail&#038;aid=303011&#038;group_id=30832&#038;atid=412162">work-around-mdadm patch</a> to my yaird templates, and switched back to LILO.  Ugh.  And before someone yells &#8220;Run Gentoo!&#8221;, I checked already.  The <a href="http://packages.gentoo.org/search/?sstring=mdadm">Gentoo mdadm version is old</a> too.  But at least they have a masked ebuild of the modern versions.</p>
<p>I hate choosing between stability and bleeding edge, but I don&#8217;t usually complain because I recognize the costs associated with stabilizing new stuff.  But, come on, the mdadm 2.x series came out in AUGUST.  That&#8217;s 8 months ago.  I think that&#8217;s pretty stable!  *sob*</p>
<p>I wish I had enough time to be a Debian maintainer instead of just sitting here and moaning, but hopefully my bug reports will do some good.  :)</p>
<p style='text-align:left'>&copy; 2006, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2006/04/23/grub-yaird-mdadm-and-missing-drives/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>amd64 is okay</title>
		<link>http://www.outflux.net/blog/archives/2006/03/23/amd64-is-okay/</link>
		<comments>http://www.outflux.net/blog/archives/2006/03/23/amd64-is-okay/#comments</comments>
		<pubDate>Fri, 24 Mar 2006 04:36:15 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2006/01/03/amd64-is-okay/</guid>
		<description><![CDATA[I&#8217;m fairly happy with my amd64 box, but it has some bothers. It reminds me of switching from 16bit to 32bit applications back in the day. Since the SATA drivers were busted on every distro I tried to install, I ended up with Debian Unstable &#8212; probably because I know how to dance around needing [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m fairly happy with my amd64 box, but it has some bothers.  It reminds me of switching from 16bit to 32bit applications back in the day.  Since the SATA drivers were busted on every distro I tried to install, I ended up with <a href="http://www.debian.org/ports/amd64/">Debian Unstable</a> &#8212; probably because I know how to dance around needing a more recent kernel.</p>
<p>Audio <a href="https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1678">wasn&#8217;t working</a> right away, but it looks like ALSA has resolved the issues finally.  These fancy new 6-channel chips are silly.  Maybe in 5 years I&#8217;ll actually have something other than stereo speakers on my computer.  :)</p>
<p>Switching to 64bit has really shown me all the non-free software I use, since I can&#8217;t run these 32bit-compiles natively anymore:</p>
<ul>
<li>acroread</li>
<li>various proprietary A/V codecs (DLLs via MPlayer)</li>
<li>Flash plugin</li>
<li>Wine</li>
<li>OpenOffice.org</li>
</ul>
<p>Okay, so <a href="http://winehq.org/">Wine</a> and <a href="http://openoffice.org/">OpenOffice.org</a> don&#8217;t run because of porting issues, but still.  There have been two ways to solve these problems:</p>
<ul>
<li>32bit versions of various libraries</li>
<li>chroot to a 32bit environment</li>
</ul>
<p>Installing 32bit libs is nice, but Debian isn&#8217;t smart enough to let me install .i386.deb files along with my .amd64.deb files.  There&#8217;s got to be a way, but I haven&#8217;t figured it out.  So, I followed the <a href="http://process-of-elimination.net/wiki/Ubuntu_32bit_CHROOT_for_AMD64">Ubuntu instructions</a>, and built a 32bit chroot environment.  Any time I want to watch something in Flash, I run &#8220;bash32&#8243; and run Mozilla in there, which has the Flash plugin.  Same for OOo, etc.  With the mount bindings (e.g. &#8220;mount -o bind /home /chroot/sid/home&#8221;) it&#8217;s like I never left home.  Audio even works.  Pretty slick solution.</p>
<p style='text-align:left'>&copy; 2006, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2006/03/23/amd64-is-okay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>open source as prior art</title>
		<link>http://www.outflux.net/blog/archives/2006/01/14/open-source-as-prior-art/</link>
		<comments>http://www.outflux.net/blog/archives/2006/01/14/open-source-as-prior-art/#comments</comments>
		<pubDate>Sun, 15 Jan 2006 01:41:31 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2006/01/14/open-source-as-prior-art/</guid>
		<description><![CDATA[I&#8217;m involved in the Open Source as Prior Art initiative. The goal being to more readily make FOSS available as prior art for the US Patent and Trade Office to use while examining software patent applications, reducing the number of poorly issued software patents. This is a rather touchy area given the fact that most [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m involved in the <a href="http://developer.osdl.org/dev/priorart/">Open Source as Prior Art</a> initiative.  The goal being to more readily make <a href="http://en.wikipedia.org/wiki/FOSS">FOSS</a> available as <a href="http://en.wikipedia.org/wiki/Prior_art">prior art</a> for the <a href="http://www.uspto.gov/">US Patent and Trade Office</a> to use while examining software patent applications, reducing the number of poorly issued software patents.</p>
<p>This is a rather touchy area given the fact that most FOSS proponents (myself included) would rather see software patents go away completely.  However, in the US, this is not likely to happen any time soon, since it&#8217;s not up to the USPTO, it&#8217;s up to the US Legislature; the USPTO has to implement the law, which puts them in a bind since they&#8217;re not very successful right now at finding prior art (and the laws surrounding prior art discovery aren&#8217;t that helpful either).  In my opinion, if the USPTO could reliably find prior art, they would start rejecting almost all software patent applications, and the futility of software patenting would become clear to those that didn&#8217;t already recognize it.  If I&#8217;m wrong, then I&#8217;d hope that with the very few patents issued, innovation really would return to the system.</p>
<p><a href="http://www.groklaw.net/">Groklaw</a> has already <a href="http://www.groklaw.net/article.php?story=20060113032759944">discussed the OSaPA project</a> and the overall <a href="http://www.groklaw.net/article.php?story=2006011009141979">&#8220;Patent Quality Improvement&#8221; initiatives</a> announced by the USPTO.  I&#8217;ve read these and several other articles, each ranging from praise to scepticism, looking for more thoughts on subject, trying to help me shape my opinions.</p>
<p>One of the most sceptical was written by Greg Aharonian from the <a href="http://www.bustpatents.com/ipns.htm">Internet Patent News Service</a> (which ironically has no online archives for me to link to).  His scepticism is mostly aimed at the USPTO and IBM, and not directly at the various initiatives, past or present.  His fundamental point is that the USPTO doesn&#8217;t appear to have manged to use the (voluminous) resources it already has at its fingertips, so why would adding more help the situation?  This approach didn&#8217;t work in the past, and there&#8217;s no indication that anything has changed in the USPTO to make it a success this time around.</p>
<p>I don&#8217;t have the historical background to know if it&#8217;s a fair assessment, but I enjoyed his analogy:</p>
<blockquote><p>&#8220;[...] IBM is Lucy, PTO management is Charley [<em>sic</em>] Brown, and these fake initiatives to improve patent quality are the football that the PTO keeps on trying to kick, only to be fooled again and again.&#8221;
</p></blockquote>
<p>One thing I think he may have missed, though, was that the OSaPA initiative contains another player.  The initiative itself may again be the football, and the USPTO and IBM may again be playing, just as with prior (seemingly failed) initiatives.  However, this time, the FOSS community is involved.  I like to think that in Greg&#8217;s analogy, the FOSS community is <a href="http://en.wikipedia.org/wiki/Charles_Schultz">Charles Schultz</a>.  We can draw any damn comic we want, and we&#8217;ll still be around after the initiatives, IBM, and the USPTO are long forgotten.  The FOSS community is on the multi-<a href="http://www.google.com/search?q=%22hundred+year%22+plan">hundred year plan</a>, the same as any other sustainable cultural plan.  If Greg&#8217;s predictions come to pass, and it really does turn out to be a waste of time, I still have faith that it&#8217;ll only be the USPTO (and, unfortunately, the US) getting hurt.  To borrow from <a href="http://en.wikiquote.org/wiki/John_Gilmore_%28advocate%29">John Gilmore</a>, FOSS will treat this as a defect, and route around it.</p>
<p>Regardless of history, I sincerely hope the USPTO takes this novel chance to harness the power of the FOSS community.  We&#8217;re interested in helping them solve their problems, and if the USPTO drops the ball, it&#8217;s unlikely the FOSS community will ever look back.</p>
<p style='text-align:left'>&copy; 2006, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2006/01/14/open-source-as-prior-art/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>historical exchange rates</title>
		<link>http://www.outflux.net/blog/archives/2005/12/12/historical-exchange-rates/</link>
		<comments>http://www.outflux.net/blog/archives/2005/12/12/historical-exchange-rates/#comments</comments>
		<pubDate>Tue, 13 Dec 2005 06:07:31 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/12/12/historical-exchange-rates/</guid>
		<description><![CDATA[Tonight I discovered that finding out the historical worth of money is a little tricky to calculate. :) On Poirot tonight, he bought 19 pairs of silk stockings in order to trap a thief. The clerk kept warning him that they were &#8220;very expensive&#8221;. The final bill was 35 shillings per pair. I thought this [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight I discovered that finding out the historical worth of money is a little tricky to calculate.  :)  On <a href="http://en.wikipedia.org/wiki/Hercule_Poirot">Poirot</a> tonight, he bought 19 pairs of silk stockings in order to trap a thief.  The clerk kept warning him that they were &#8220;very expensive&#8221;.  The final bill was 35 shillings per pair.  I thought this was rather odd that a value not involving pounds would be considered &#8220;very expensive&#8221;.  Feeling very detective-oriented, I had to investigate.</p>
<p>First of all, I found a nice conversion chart for <a href="http://web.staffs.ac.uk/schools/humanities_and_soc_sciences/resprac2/oldmoney.htm">British currency</a>.  35 shillings is 1.75 pounds.  The story took place in roughly 1928, but that doesn&#8217;t change the shillings calculation because even after the decimalization in 1971, shillings and pounds kept their 20-to-1 ratio.</p>
<p>Trying to find &#8220;current worth&#8221; of historical monies was a little more difficult.  I found the <a href="http://eh.net/hmit/">How Much Is That?</a> site, and it seems that 1.75 pounds is worth about $95 in present day.  Good stockings are about $15 a pair now, and since <a href="http://en.wikipedia.org/wiki/Nylon">nylon</a> was invented in 1935, it doesn&#8217;t seem unreasonable that good stockings would be about 10 times more expensive in 1928.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/12/12/historical-exchange-rates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>gcc extensions</title>
		<link>http://www.outflux.net/blog/archives/2005/10/28/gcc-extensions/</link>
		<comments>http://www.outflux.net/blog/archives/2005/10/28/gcc-extensions/#comments</comments>
		<pubDate>Fri, 28 Oct 2005 14:30:08 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/10/28/gcc-extensions/</guid>
		<description><![CDATA[Robert Love wrote up a great summary of GCC extensions. Recommended reading! This is exactly the kind of summary I&#8217;ve been hoping to run into. Maybe I can go through Inkscape adding all sorts of fun tags to functions and variables now. :) &#169; 2005, Kees Cook. This work is licensed under a Creative Commons [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://rlove.org/">Robert Love</a> wrote up a great <a href="http://rlove.org/log/2005102601">summary of GCC extensions</a>.  Recommended reading!  This is exactly the kind of summary I&#8217;ve been hoping to run into.  Maybe I can go through <a href="http://inkscape.org/">Inkscape</a> adding all sorts of fun tags to functions and variables now.  :)</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/10/28/gcc-extensions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>freaky screen locking</title>
		<link>http://www.outflux.net/blog/archives/2005/10/06/freaky-screen-locking/</link>
		<comments>http://www.outflux.net/blog/archives/2005/10/06/freaky-screen-locking/#comments</comments>
		<pubDate>Fri, 07 Oct 2005 03:54:57 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/10/06/freaky-screen-locking/</guid>
		<description><![CDATA[This afternoon, for no reason at all, I was annoyed that my music didn&#8217;t pause when I locked my screen. So I fixed that. Tonight, I checked my RSS feeds and discovered that Corey did exactly the same thing today. I think that&#8217;s really freaky. Inter-city Open Source Mind-Meld. Only I did mine with xscreensaver [...]]]></description>
			<content:encoded><![CDATA[<p>This afternoon, for no reason at all, I was annoyed that my music didn&#8217;t pause when I locked my screen.  So I fixed that.  Tonight, I checked my RSS feeds and discovered that <a href="http://staff.osuosl.org/~cshields">Corey</a> did <a href="http://staff.osuosl.org/~cshields/?p=119">exactly the same thing</a> today.</p>
<p>I think that&#8217;s really freaky.  Inter-city Open Source Mind-Meld.  Only I did mine with xscreensaver and xmms:</p>
<blockquote><p>#!/bin/bash<br />
xmms &#8211;pause<br />
xscreensaver-command lock
</p></blockquote>
<p>What I want now is a way to get xmms to unpause after I unlock my screen.  :)  I thought of a horrible hack for xscreensaver to do this, but I&#8217;m hoping there&#8217;s some other way.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/10/06/freaky-screen-locking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>art thoughts on aug 16, 2005</title>
		<link>http://www.outflux.net/blog/archives/2005/08/16/art-thoughts-on-aug-16-2005/</link>
		<comments>http://www.outflux.net/blog/archives/2005/08/16/art-thoughts-on-aug-16-2005/#comments</comments>
		<pubDate>Wed, 17 Aug 2005 02:11:03 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/08/16/art-thoughts-on-aug-16-2005/</guid>
		<description><![CDATA[I saw a mention of the Portland Time-Based Art festival. Looks to be a pretty wild mix of all kinds of performance art. I&#8217;ve got to check it out, but it looks a bit pricey (minimum: $125). Portland&#8217;s 94.7FM &#8220;alternative&#8221; radio station is great. (They even have live streaming.) I&#8217;ve been especially impressed with the [...]]]></description>
			<content:encoded><![CDATA[<p>I saw a mention of the Portland <a href="http://www.pica.org/">Time-Based Art</a> festival.  Looks to be a pretty wild mix of all kinds of performance art.  I&#8217;ve got to check it out, but it looks a bit pricey (minimum: $125).</p>
<p>Portland&#8217;s <a href="http://947.fm/">94.7FM</a> &#8220;alternative&#8221; radio station is great.  (They even have <a href="mms://wmc1.liquidviewer.net/KNRK">live streaming</a>.)  I&#8217;ve been especially impressed with the 6PM &#8220;<a href="http://947.fm/showdj.asp?DJID=25991">Cocktail Mix</a>&#8221; by Gustav.  His personal collection of electronica is very nice.  I&#8217;ve never heard <a href="http://www.mp3.com/messiah/artists/31845/biography.html">Messiah</a> played anywhere other than my stereo or very rarely at clubs.  A few weeks ago, he played it.  So cool.  They&#8217;re also running a <a href="http://947.fm/Article.asp?id=103926">NIN remix contest</a> I&#8217;m pondering entering.  I&#8217;m not really sure what sort of open software I should use to cook it, though.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/08/16/art-thoughts-on-aug-16-2005/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>1 second film</title>
		<link>http://www.outflux.net/blog/archives/2005/08/15/1-second-film/</link>
		<comments>http://www.outflux.net/blog/archives/2005/08/15/1-second-film/#comments</comments>
		<pubDate>Mon, 15 Aug 2005 22:18:57 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/08/15/1-second-film/</guid>
		<description><![CDATA[I found the 1 Second Film project today while trying to remember the name of the movie I saw this weekend. All I could remember was the dude was from Hackers. His name turns out to be Jesse Bradford. (The movie was Happy Endings, which I thought was pretty fun.) I was surprised to see [...]]]></description>
			<content:encoded><![CDATA[<p>I found the <a href="http://www.the1secondfilm.com/">1 Second Film</a> project today while trying to remember the name of the movie I saw this weekend.  All I could remember was the dude was from <a href="http://imdb.com/title/tt0113243/">Hackers</a>.  His name turns out to be <a href="http://imdb.com/name/nm0103038/">Jesse Bradford</a>.  (The movie was <a href="http://imdb.com/title/tt0361693/">Happy Endings</a>, which I thought was pretty fun.)  I was surprised to see Jesse Bradford listed as a Producer on another film, so I followed the link only to discover that <a href="http://imdb.com/title/tt0448975/fullcredits">everyone is a producer</a> for the <em>1 Second Film</em>.</p>
<p>Anyone can become a Producer (and get listed on IMDB) by sending them money.  The film itself is going to be 1 second of 12 doubled frames of animation (which will be auctioned off after the movie opens).  <a href="http://www.the1secondfilm.com/Producers.html">The credits</a> will then roll for 60 minutes, playing next to a &#8220;The Making Of&#8221; movie.  The profits are going to charity, and celebrities seem to have started a bidding war.  Their <a href="http://www.the1secondfilm.com/Credit_SALE.html">credit-purchasing page</a> is linked to PayPal, so it looks super-easy to support them.  Crazy.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/08/15/1-second-film/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>oscon 2005 doppelganger</title>
		<link>http://www.outflux.net/blog/archives/2005/08/04/oscon-2005-doppelganger/</link>
		<comments>http://www.outflux.net/blog/archives/2005/08/04/oscon-2005-doppelganger/#comments</comments>
		<pubDate>Thu, 04 Aug 2005 17:52:54 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/08/04/oscon-2005-doppelganger/</guid>
		<description><![CDATA[Wednesday I met my doppelganger. I had people walking up to me all day saying, &#8220;Hi Zak!&#8221; and I&#8217;d look at them and explain that I was someone else less famous, named Kees. Normally I think I&#8217;m just being paranoid thinking people are looking at me all the time. However, today, it seemed to be [...]]]></description>
			<content:encoded><![CDATA[<p>Wednesday I met my <a href="http://zak.greant.com/">doppelganger</a>.  I had people walking up to me all day saying, &#8220;Hi Zak!&#8221; and I&#8217;d look at them and explain that I was someone else less famous, named Kees.  Normally I think I&#8217;m just being paranoid thinking people are looking at me all the time.  However, today, it seemed to be true.  People would kind of slowly orbit me, trying to get a look at my face and my name badge.  Eventually I started telling people &#8220;Hi!  I&#8217;m not Zak.&#8221;  By the end of the day, I had finally met him, and we had a good laugh.  There is also Dan at the LTC that shares similar features, and all three of us had our picture taken together.  (I hope they read this blog and send me photos!)</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/08/04/oscon-2005-doppelganger/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>oscon 2005 mid week report</title>
		<link>http://www.outflux.net/blog/archives/2005/08/03/oscon-2005-mid-week-report/</link>
		<comments>http://www.outflux.net/blog/archives/2005/08/03/oscon-2005-mid-week-report/#comments</comments>
		<pubDate>Thu, 04 Aug 2005 04:33:06 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/08/03/oscon-2005-mid-week-report/</guid>
		<description><![CDATA[Day 1 of OSCON was spent recovering from DefCon. I didn&#8217;t go to either of my scheduled tutorials. I really wish I could have gotten to see Conway present his Presentation Aikido, since the notes for it are terrific. I also really wish I could have spent some more time with Snort, especially given all [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://conferences.oreillynet.com/pub/w/38/monday.html">Day 1 of OSCON</a> was spent recovering from DefCon.  I didn&#8217;t go to either of my scheduled tutorials.  I really wish I could have gotten to see Conway present his <a href="http://conferences.oreillynet.com/cs/os2005/view/e_sess/6439">Presentation Aikido</a>, since the notes for it are terrific.  I also really wish I could have spent some more time with <a href="http://conferences.oreillynet.com/cs/os2005/view/e_sess/6581">Snort</a>, especially given all the attention I gave to Snort Inline over the last few weeks.</p>
<p><a href="http://conferences.oreillynet.com/pub/w/38/tuesday.html">Day 2 of OSCON</a> was spent in the <a href="http://conferences.oreillynet.com/cs/os2005/view/e_sess/6794">RT</a> and <a href="http://conferences.oreillynet.com/cs/os2005/view/e_sess/6989">Aterisk</a> tutorials.  The RT one was very interesting, but more geared towards people wanting to do something MORE than ticket tracking.  I was glad to see that 3+ has a much better commandline query tool.  That&#8217;ll speed up autokees&#8217;s &#8220;-rt&#8221; responses.  (&#8220;autokees&#8221; is my IRC bot that reports OSDL&#8217;s open &#8212; and closed &#8212; RT tickets for the Core Services group.)  The Asterisk presentation was fantastic.</p>
<p>Capouch really knows his stuff, and his Asterisk demo was very impressive.  For the last part of his demo his showed off his home X10 turning on a light in his living room that triggered a motion detector running against his webcam, watching his prized Robert Crumb original, which dropped an Asterisk call file into the server and called him.  Time between &#8220;X10 on&#8221; and his phone ringing: 2 seconds, if that.  That tutorial was well organized, and detailed.  I think I could probably set up an Asterisk server right now if I didn&#8217;t need to go to bed so badly.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/08/03/oscon-2005-mid-week-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plan B sucked!</title>
		<link>http://www.outflux.net/blog/archives/2005/08/01/plan-b-sucked/</link>
		<comments>http://www.outflux.net/blog/archives/2005/08/01/plan-b-sucked/#comments</comments>
		<pubDate>Tue, 02 Aug 2005 00:16:09 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/08/01/plan-b-sucked/</guid>
		<description><![CDATA[Well, our team of 3 didn&#8217;t do so well at CTF this year (4th in teams). But, I guess, holding our own against teams with 20+ people on them is kind of good. The game&#8217;s network was organized very differently from years past, and we had no way for inline Snort to work. They held [...]]]></description>
			<content:encoded><![CDATA[<p>Well, our team of 3 didn&#8217;t do so well at CTF this year (4th in teams).  But, I guess, holding our own against teams with 20+ people on them is kind of good.  The game&#8217;s network was organized very differently from years past, and we had no way for inline Snort to work.  They held the machines locally (in a FreeBSD jail), and we just got a network drop so we could share the network with our server.  That was pretty disappointing, but I think it made the game much more pure.  This year&#8217;s focus was on code auditing and binary analysis.</p>
<p>Both of my basic goals were achieved though:</p>
<ul>
<li>Not come in last</li>
<li>Modify the token scoring tool to play <a href="http://outflux.net/sounds/exclamations/">victory WAV</a>s any time we scored a point.  That worked very well and was a great motivator.</li>
</ul>
<p>I guess I&#8217;m going to have to really get cracking with some gdb programming work.  Jesse&#8217;s auto-stack-overflow-detector rocks, and I think that can be seriously expanded, if not hooked up to Metasploit directly.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/08/01/plan-b-sucked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>google maps</title>
		<link>http://www.outflux.net/blog/archives/2005/06/29/google-maps/</link>
		<comments>http://www.outflux.net/blog/archives/2005/06/29/google-maps/#comments</comments>
		<pubDate>Wed, 29 Jun 2005 16:37:24 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/06/29/google-maps/</guid>
		<description><![CDATA[Literally an hour after I finished figuring out how to build a Google Maps site (and having Ken help me with CSS hell), Google goes and changes the API and releases documentation. Aagh. Google retains the right to put advertising on the map in the future. Like, as a second overlay? Because I can&#8217;t see [...]]]></description>
			<content:encoded><![CDATA[<p>Literally an <em>hour</em> after I finished <a href="http://stuff.rancidbacon.com/google-maps-embed-how-to/">figuring</a> <a href="http://jgwebber.blogspot.com/2005/02/mapping-google.html">out</a> how to build a <a href="http://maps.google.com/">Google Maps</a> site (and having Ken help me with CSS hell), Google goes and <a href="http://groups-beta.google.com/group/Google-Maps/browse_thread/thread/82d1cf5f1d0ccddf/af3b025430f2607b#af3b025430f2607b">changes the API</a> and <a href="http://www.google.com/apis/maps/">releases documentation</a>.  Aagh.</p>
<blockquote><p>Google retains the right to put advertising on the map in the future.</p></blockquote>
<p>Like, as a second overlay?  Because I can&#8217;t see how this would work in the main overlay, considering users can define their own &#8220;info&#8221; contents for their XSLT.  In-map advertising seems like a silly idea.  Since everything is currently rendered in the browser, Google is going to have a hard time controlling what people display.  I was hoping they&#8217;d go the route of making money off this by making people&#8217;s sites really really awsome, and then those people would buy advertising from Google directly due to their huge volume of traffic.  I guess we&#8217;ll see&#8230;</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/06/29/google-maps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>serenity</title>
		<link>http://www.outflux.net/blog/archives/2005/06/23/serenity/</link>
		<comments>http://www.outflux.net/blog/archives/2005/06/23/serenity/#comments</comments>
		<pubDate>Thu, 23 Jun 2005 15:12:31 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/06/23/serenity/</guid>
		<description><![CDATA[We won two tickets to tonight&#8217;s screening of Serenity. I&#8217;m so excited! I am such a SciFi junkie. So much, in fact, I have to share the SciFi Ship Size Comparison website. &#169; 2005, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.]]></description>
			<content:encoded><![CDATA[<p>We <a href="http://homepage.mac.com/merussell/iblog/B835531044/C738019243/E1445985961/">won two tickets</a> to tonight&#8217;s screening of <a href="http://www.fireflymovie.com/news.html">Serenity</a>.  I&#8217;m so excited!  I am such a SciFi junkie.  So much, in fact, I have to share the <a href="http://www.merzo.net/">SciFi Ship Size Comparison</a> website.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/06/23/serenity/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ask a stupid question</title>
		<link>http://www.outflux.net/blog/archives/2005/05/25/ask-a-stupid-question/</link>
		<comments>http://www.outflux.net/blog/archives/2005/05/25/ask-a-stupid-question/#comments</comments>
		<pubDate>Wed, 25 May 2005 14:58:43 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/05/25/ask-a-stupid-question/</guid>
		<description><![CDATA[Well, it seems that my stupid questions and bad starts have actually been useful. In learning all the right ways to write patches for the Wine project, I got corrected a lot by the various developers. This is a much better situation to be in than the dreadful dead-air you can sometimes find on other [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it seems that my stupid questions and bad starts have actually been useful.</p>
<p>In learning all the right ways to write patches for the <a href="http://winehq.org/">Wine</a> project, I got corrected a lot by the various developers.  This is a much better situation to be in than the dreadful dead-air you can sometimes find on other development mailing lists where the more experienced project members just ignore questions and don&#8217;t bother to critique patch submissions.  That case is so much more frustrating.</p>
<p>On the <a href="http://winehq.org/site/forums">Wine devel list</a>, there was never a shortage of people trying to show me how to make my patches better.  It took me several weeks to get a large chunk of code into the project, but in the end, it was well documented, had a test suite, used the correct debug channels, handled memory management correctly, and generally did everything the <em>right way</em>.  On top of that success was the fact that the <a href="http://wiki.jswindle.com/index.php/Coding_Hints">Wine Wiki FAQ</a>, which is studiously kept up to date, ended up recording a lot of my questions (or more importantly, their answers).  You&#8217;ll find a lot of &#8220;K. Cook&#8221; in the Coding Hints section now.</p>
<p>While there may be no such thing as a stupid question, they&#8217;re clearly newbie questions if everything you ask ends up in the FAQ.  :)  Hopefully my bumbling will be useful to other folks in the future.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/05/25/ask-a-stupid-question/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>writing for OSCon</title>
		<link>http://www.outflux.net/blog/archives/2005/05/16/writing-for-oscon/</link>
		<comments>http://www.outflux.net/blog/archives/2005/05/16/writing-for-oscon/#comments</comments>
		<pubDate>Tue, 17 May 2005 01:56:15 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/05/16/writing-for-oscon/</guid>
		<description><![CDATA[Aaaagh. I&#8217;ve got 30 days to write two full presentations for OSCon! AAaaaaa! In other news, I got a few crash bug patches accepted into Wine. That was cool. &#169; 2005, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.]]></description>
			<content:encoded><![CDATA[<p>Aaaagh.  I&#8217;ve got 30 days to write two full presentations for <a href="http://conferences.oreillynet.com/cs/os2005/view/e_spkr/2205">OSCon</a>!  AAaaaaa!</p>
<p>In other news, I got a few crash bug patches accepted into Wine.  That was cool.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/05/16/writing-for-oscon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hey, it&#8217;s thursday</title>
		<link>http://www.outflux.net/blog/archives/2005/05/12/hey-its-thursday/</link>
		<comments>http://www.outflux.net/blog/archives/2005/05/12/hey-its-thursday/#comments</comments>
		<pubDate>Thu, 12 May 2005 23:29:11 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/05/12/hey-its-thursday/</guid>
		<description><![CDATA[On my way to work Today the odometer in my car rolled across 223344. That was pretty cool. RSS for kernel.org I was bothered that I couldn&#8217;t add the kernel.org list of latest Linux kernel versions to my RSS aggregator, so I modified the detection scripts to spit out an RSS feed. Whee! Bug fixes [...]]]></description>
			<content:encoded><![CDATA[<p><strong>On my way to work</strong><br />
Today the odometer in my car rolled across 223344.  That was pretty cool.</p>
<p><strong>RSS for kernel.org</strong><br />
I was bothered that I couldn&#8217;t add the <a href="http://kernel.org/">kernel.org</a> list of latest Linux kernel versions to my RSS aggregator, so I modified the detection scripts to spit out an <a href="http://kernel.org/kdist/rss.xml">RSS feed</a>.  Whee!</p>
<p><strong>Bug fixes</strong><br />
I got a small patch against <a href="http://outflux.net/software/pkgs/mp3cd/">mp3cd</a> yesterday.  So I took the moment to release a &#8220;stable&#8221; version, since I&#8217;ve been using the &#8220;devel&#8221; branch for about 6 months now.  That sounds pretty stable to me.  :)</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/05/12/hey-its-thursday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>learning autoconf</title>
		<link>http://www.outflux.net/blog/archives/2005/01/28/learning-autoconf/</link>
		<comments>http://www.outflux.net/blog/archives/2005/01/28/learning-autoconf/#comments</comments>
		<pubDate>Sat, 29 Jan 2005 03:09:17 +0000</pubDate>
		<dc:creator>kees</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://outflux.net/blog/archives/2005/01/28/learning-autoconf/</guid>
		<description><![CDATA[I think I&#8217;ll never actually learn all the various functions in autoconf. It feels like this endless road that I can&#8217;t see the end of. Any time I do something new in autoconf, I have to go re-read some part of the autoconf manual, and try things a few times before I get the desired [...]]]></description>
			<content:encoded><![CDATA[<p>I think I&#8217;ll never actually learn all the various functions in <a href="http://www.gnu.org/software/autoconf/">autoconf</a>.  It feels like this endless road that I can&#8217;t see the end of.  Any time I do something new in autoconf, I have to go re-read some part of the autoconf manual, and try things a few times before I get the desired result.  Today, for example, I got <a href="http://inkscape.org/">Inkscape</a> to identify which version of <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc">libgc</a> is on the system.</p>
<p style='text-align:left'>&copy; 2005, <a href="http://www.outflux.net/blog/">Kees Cook</a>. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-ShareAlike 3.0 License</a>.<br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.outflux.net/blog/archives/2005/01/28/learning-autoconf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

