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

<channel>
	<title>Uncompatible Systems</title>
	<atom:link href="http://lee.rockingtiger.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://lee.rockingtiger.com</link>
	<description>Programming, Sound, Cycling, Art, Networks</description>
	<pubDate>Fri, 11 Jul 2008 21:40:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>EC2 cloud management front ends</title>
		<link>http://lee.rockingtiger.com/2008/07/11/ec2-cloud-management-front-ends/</link>
		<comments>http://lee.rockingtiger.com/2008/07/11/ec2-cloud-management-front-ends/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 21:40:47 +0000</pubDate>
		<dc:creator>lee</dc:creator>
		
		<category><![CDATA[/software]]></category>

		<category><![CDATA[cloud]]></category>

		<category><![CDATA[ec2]]></category>

		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://lee.rockingtiger.com/?p=101</guid>
		<description><![CDATA[There is a wealth of resources available now through Amazon Web Services. One of which is the EC2 compute cloud. But EC2 is really just a bunch of virtual machines with finite resources. To enable these to act as a render farm, performing asyncronous jobs, there needs to be some kind of management front end. [...]]]></description>
			<content:encoded><![CDATA[<p>There is a wealth of resources available now through Amazon Web Services. One of which is the EC2 compute cloud. But EC2 is really just a bunch of virtual machines with finite resources. To enable these to act as a render farm, performing asyncronous jobs, there needs to be some kind of management front end. Here&#8217;s what I&#8217;ve found so far.</p>
<p><a href="http://code.google.com/p/scalr/">Scalr</a> has nice process documents, <a href="http://scalr.googlecode.com/files/scale.swf">a screencast</a> and come flow charts. Main problem is it&#8217;s written in object oriented PHP. Suprisingly, this decision didn&#8217;t influence the developers enough to use some kind of ORM, and I&#8217;m seeing SQL in functions as high level as RunInstance. I&#8217;m going to write off Scalr for now. I wish them the best.</p>
<p>On the level of further abstraction, <a href="http://usablog.mor.ph/2008/04/morph-ruby-on-rails-and-amazon-web.html">Morph</a> is a company who&#8217;s attempting to completely abstract Ruby on Rails and offer a set of management interfaces for a complete production deployment scenario. Unfortunately this makes details like dependency management and base OS choice impossible, as well as making version conflict resolution complicated within a community (Ruby on Rails) that is currently not well coordinated, to put it nicely.</p>
<p>So&#8230;survey says&#8230;NOTHING. I&#8217;m off to generate some Rails scaffolding. Of course it will be open source. I&#8217;m actually sort of excited.</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.rockingtiger.com/2008/07/11/ec2-cloud-management-front-ends/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wheel Building</title>
		<link>http://lee.rockingtiger.com/2008/07/03/wheel-building/</link>
		<comments>http://lee.rockingtiger.com/2008/07/03/wheel-building/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 04:00:36 +0000</pubDate>
		<dc:creator>lee</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[bike]]></category>

		<category><![CDATA[building]]></category>

		<category><![CDATA[hub]]></category>

		<category><![CDATA[rim]]></category>

		<category><![CDATA[wheel]]></category>

		<guid isPermaLink="false">http://lee.rockingtiger.com/?p=100</guid>
		<description><![CDATA[For the record, it is possible to use a 32 hole hub laced to a 36 hole rim. It is by no means recommended, though it will be a wheel and it will roll. The secret lies in skipping 1 hole for every 8 on the trailing spokes and lining up the leading spokes normally, [...]]]></description>
			<content:encoded><![CDATA[<p>For the record, it is possible to use a 32 hole hub laced to a 36 hole rim. It is by no means recommended, though it will be a wheel and it will roll. The secret lies in skipping 1 hole for every 8 on the trailing spokes and lining up the leading spokes normally, so they are one hole away from the trailing on the same side of the flange. I followed this pattern and was still able to use <a href="http://www.sheldonbrown.com/wheelbuild.html">Sheldon Brown&#8217;s wheel building page</a> as an accurate reference, despite the mismatch.</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.rockingtiger.com/2008/07/03/wheel-building/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Debian Lenny Thinkpad config without Gnome - part 2</title>
		<link>http://lee.rockingtiger.com/2008/06/08/debian-lenny-thinkpad-config-without-gnome-part-2/</link>
		<comments>http://lee.rockingtiger.com/2008/06/08/debian-lenny-thinkpad-config-without-gnome-part-2/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 22:34:56 +0000</pubDate>
		<dc:creator>lee</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lee.rockingtiger.com/?p=98</guid>
		<description><![CDATA[The next step in my thinkpad drama is hardware monitoring. It&#8217;s a laptop, right? I found a way to get battery state, battery charge, system load, CPU tempurature and date/time. DWM is clever with it&#8217;s &#8220;toolbar&#8221; in that it takes a text string via stdin and shoves it into the top right status bar. So [...]]]></description>
			<content:encoded><![CDATA[<p>The next step in my thinkpad drama is hardware monitoring. It&#8217;s a laptop, right? I found a way to get battery state, battery charge, system load, CPU tempurature and date/time. DWM is clever with it&#8217;s &#8220;toolbar&#8221; in that it takes a text string via stdin and shoves it into the top right status bar. So how do I get all of this hardware info into a nicely formated single line of text? Here&#8217;s how.</p>
<p>Download and compile the <a href="http://www.thinkwiki.org/wiki/Tp_smapi#Installation_on_Debian_unstable_.28sid.29_or_testing_.28lenny.29">tp-smapi kernel modules</a>.</p>
<p>Install this script, <a href="http://www.minimalblue.com/show/projects/software/dwm_stuff">taken from minimalblue.com</a></p>
<p><code><br />
#!/bin/sh</p>
<p>battery() {<br />
    case `cat /sys/bus/platform/devices/smapi/BAT0/state` in<br />
        idle)<br />
            charge_type="="<br />
            time_left="==="<br />
            ;;<br />
        charging)<br />
            charge_type="+"<br />
            time_left=`cat /sys/bus/platform/devices/smapi/BAT0/remaining_charging_time`<br />
            ;;<br />
        discharging)<br />
            charge_type="-"<br />
            time_left=`cat /sys/bus/platform/devices/smapi/BAT0/remaining_running_time`<br />
            ;;<br />
        *)<br />
            charge_type="?"<br />
            time_left="???"<br />
            ;;<br />
    esac<br />
    echo "${charge_type}${time_left}"<br />
}<br />
temp() {<br />
    awk '{ print $2 }' /proc/acpi/thermal_zone/THM0/temperature<br />
}<br />
load() {<br />
    cut -d' ' -f1 /proc/loadavg<br />
}</p>
<p>echo "temp: `temp`C | sys: `load` | bat: `battery` | `date`"<br />
</code></p>
<p>Now you have to launch DWM with this script as an argument to DWM. This is my .xinitrc, as I&#8217;m starting my session through startx.</p>
<p><code><br />
while true; do<br />
  $HOME/.dwm/status<br />
  sleep 1<br />
done | dwm<br />
</code></p>
<p>That&#8217;ll give you a nice status display at the top.</p>
<p>Next up&#8230;capturing the thinkpad keys for suspend and brightness, as well as any other arbitrary command you&#8217;d like to call.</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.rockingtiger.com/2008/06/08/debian-lenny-thinkpad-config-without-gnome-part-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Debian Lenny on a Thinkpad X61 without Gnome</title>
		<link>http://lee.rockingtiger.com/2008/06/08/debian-lenny-on-a-thinkpad-x61-without-gnome/</link>
		<comments>http://lee.rockingtiger.com/2008/06/08/debian-lenny-on-a-thinkpad-x61-without-gnome/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 22:18:16 +0000</pubDate>
		<dc:creator>lee</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[debian]]></category>

		<category><![CDATA[dwm]]></category>

		<category><![CDATA[lenny]]></category>

		<category><![CDATA[thinkpad]]></category>

		<guid isPermaLink="false">http://lee.rockingtiger.com/?p=97</guid>
		<description><![CDATA[OMG. Epic drama. I love my new Thinkpad X61. I&#8217;m spending an inordinate amount of time configuring it to my tastes. The screen is small and it&#8217;s got a small battery, so I set out to find a nice desktop environment that&#8217;s light, functional, customizable, CPU efficient and doesn&#8217;t get in my way. I settled [...]]]></description>
			<content:encoded><![CDATA[<p>OMG. Epic drama. I love my new Thinkpad X61. I&#8217;m spending an inordinate amount of time configuring it to my tastes. The screen is small and it&#8217;s got a small battery, so I set out to find a nice desktop environment that&#8217;s light, functional, customizable, CPU efficient and doesn&#8217;t get in my way. I settled on <a href="http://www.suckless.org/wiki/dwm">DWM</a>.</p>
<p>I&#8217;m coming from OS X and Quicksilver. I never liked the OS X window manager so DWM is a real treat. But Quicksilver is pretty awesome and hard to reproduce. I found <a href="http://www.suckless.org/wiki/tools/xlib">dmenu.</a> It works in exactly the same way as I use Quicksilver. It doesn&#8217;t require any extra configuration. I binded it to the same key combo as Quicksilver, Ctrl + Space. This requires reconfiguring DWM. I also made some other changes to the config file.</p>
<p>DWM is configured by modifying a C header file and recompiling. Here&#8217;s mine:</p>
<p><code>/* See LICENSE file for copyright and license details. */</p>
<p>/* appearance */<br />
#define BORDERPX		2<br />
#define FONT			"-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*"<br />
#define NORMBORDERCOLOR		"#cccccc"<br />
#define NORMBGCOLOR		"#cccccc"<br />
#define NORMFGCOLOR		"#000000"<br />
#define SELBORDERCOLOR		"#AA3333"<br />
#define SELBGCOLOR		"#0066ff"<br />
#define SELFGCOLOR		"#ffffff"</p>
<p>/* tagging */<br />
const char tags[][MAXTAGLEN] = { "com", "cal", "kvm", "aux" };</p>
<p>Rule rules[] = {<br />
	/* class	instance	title		tags ref	isfloating */<br />
	{ NULL,		NULL,		"Pidgin",	tags[0],	True },<br />
	{ "Gimp",	NULL,		NULL,		NULL,		True },<br />
};</p>
<p>/* geometries, s{x,y,w,h} and bh are already initualized here */<br />
/*   func name  bx  by  bw  wx  wy  ww     wh  mx  my       mw  mh     tx  ty     tw  th  mox moy mow moh */<br />
#define MFACT			0.55	/* master width factor [0.1 .. 0.9] */<br />
DEFGEOM(single,  0,  0, sw,  0, bh, sw, sh-bh, wx, wy, mfact*sw, wh, mx+mw, wy, ww-mw, wh,  wx, wy, ww, wh)</p>
<p>Geom geoms[] = {<br />
	/* symbol	function */<br />
	{ "[]",		single },	/* first entry is default */<br />
};</p>
<p>/* layout(s) */<br />
#define RESIZEHINTS		True	/* False - respect size hints in tiled resizals */<br />
#define SNAP			16	/* snap pixel */</p>
<p>Layout layouts[] = {<br />
	/* symbol		function	isfloating */<br />
	{ "[]=",		tilev,		False }, /* first entry is default */<br />
	{ "[]|",		tileh,		False },<br />
	{ "><>&#8220;,		floating,	True },<br />
	{ &#8220;[M]&#8221;,		monocle,	True },<br />
};</p>
<p>/* key definitions */<br />
#define MODKEY			Mod1Mask<br />
Key keys[] = {<br />
	/* modifier			key		function	argument */<br />
	{ ControlMask,			XK_space,	spawn,<br />
		&#8220;exec dmenu_run -fn &#8216;&#8221;FONT&#8221;&#8216; -nb &#8216;&#8221;NORMBGCOLOR&#8221;&#8216; -nf &#8216;&#8221;NORMFGCOLOR&#8221;&#8216; -sb &#8216;&#8221;SELBGCOLOR&#8221;&#8216; -sf &#8216;&#8221;SELFGCOLOR&#8221;&#8216;&#8221; },<br />
	{ MODKEY|ShiftMask,		XK_Return,	spawn,		&#8220;exec uxterm&#8221; },<br />
	{ MODKEY,			XK_j,		focusnext,	NULL },<br />
	{ MODKEY,			XK_k,		focusprev,	NULL },<br />
	{ MODKEY,			XK_r,		reapply,	NULL },<br />
	{ MODKEY,			XK_h,		setmfact,	&#8220;-0.05&#8243; },<br />
	{ MODKEY,			XK_l,		setmfact,	&#8220;+0.05&#8243; },<br />
	{ MODKEY,			XK_Return,	zoom,		NULL },<br />
	{ MODKEY,			XK_Tab,		viewprevtag,	NULL },<br />
	{ MODKEY|ShiftMask,		XK_c,		killclient,	NULL },<br />
	{ MODKEY,			XK_space,	setlayout,	NULL },<br />
	{ MODKEY|ShiftMask,		XK_space,	togglefloating,	NULL },<br />
	{ MODKEY|ControlMask,		XK_space,	setgeom,	NULL },<br />
	{ MODKEY,			XK_0,		view,		NULL },<br />
	{ MODKEY,			XK_1,		view,		tags[0] },<br />
	{ MODKEY,			XK_2,		view,		tags[1] },<br />
	{ MODKEY,			XK_3,		view,		tags[2] },<br />
	{ MODKEY,			XK_4,		view,		tags[3] },<br />
	{ MODKEY,			XK_5,		view,		tags[4] },<br />
	{ MODKEY,			XK_6,		view,		tags[5] },<br />
	{ MODKEY,			XK_7,		view,		tags[6] },<br />
	{ MODKEY,			XK_8,		view,		tags[7] },<br />
	{ MODKEY,			XK_9,		view,		tags[8] },<br />
	{ MODKEY|ControlMask,		XK_1,		toggleview,	tags[0] },<br />
	{ MODKEY|ControlMask,		XK_2,		toggleview,	tags[1] },<br />
	{ MODKEY|ControlMask,		XK_3,		toggleview,	tags[2] },<br />
	{ MODKEY|ControlMask,		XK_4,		toggleview,	tags[3] },<br />
	{ MODKEY|ControlMask,		XK_5,		toggleview,	tags[4] },<br />
	{ MODKEY|ControlMask,		XK_6,		toggleview,	tags[5] },<br />
	{ MODKEY|ControlMask,		XK_7,		toggleview,	tags[6] },<br />
	{ MODKEY|ControlMask,		XK_8,		toggleview,	tags[7] },<br />
	{ MODKEY|ControlMask,		XK_9,		toggleview,	tags[8] },<br />
	{ MODKEY|ShiftMask,		XK_0,		tag,		NULL },<br />
	{ MODKEY|ShiftMask,		XK_1,		tag,		tags[0] },<br />
	{ MODKEY|ShiftMask,		XK_2,		tag,		tags[1] },<br />
	{ MODKEY|ShiftMask,		XK_3,		tag,		tags[2] },<br />
	{ MODKEY|ShiftMask,		XK_4,		tag,		tags[3] },<br />
	{ MODKEY|ShiftMask,		XK_5,		tag,		tags[4] },<br />
	{ MODKEY|ShiftMask,		XK_6,		tag,		tags[5] },<br />
	{ MODKEY|ShiftMask,		XK_7,		tag,		tags[6] },<br />
	{ MODKEY|ShiftMask,		XK_8,		tag,		tags[7] },<br />
	{ MODKEY|ShiftMask,		XK_9,		tag,		tags[8] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_1,		toggletag,	tags[0] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_2,		toggletag,	tags[1] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_3,		toggletag,	tags[2] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_4,		toggletag,	tags[3] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_5,		toggletag,	tags[4] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_6,		toggletag,	tags[5] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_7,		toggletag,	tags[6] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_8,		toggletag,	tags[7] },<br />
	{ MODKEY|ControlMask|ShiftMask,	XK_9,		toggletag,	tags[8] },<br />
	{ MODKEY|ShiftMask,		XK_q,		quit,		NULL },<br />
};<br />
</code></p>
<p>Next up&#8230;fun with menus!</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.rockingtiger.com/2008/06/08/debian-lenny-on-a-thinkpad-x61-without-gnome/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Poetry</title>
		<link>http://lee.rockingtiger.com/2008/05/21/poetry/</link>
		<comments>http://lee.rockingtiger.com/2008/05/21/poetry/#comments</comments>
		<pubDate>Thu, 22 May 2008 03:54:13 +0000</pubDate>
		<dc:creator>lee</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[drunk]]></category>

		<category><![CDATA[gentrification]]></category>

		<category><![CDATA[poetry]]></category>

		<category><![CDATA[stupid]]></category>

		<category><![CDATA[williamsburg]]></category>

		<guid isPermaLink="false">http://lee.rockingtiger.com/?p=95</guid>
		<description><![CDATA[gentrification. trillions.
pizza. hamburgers.
keep it real until it's pretend.
bike messenger		delivery
1/8th for less than a day's paycheck
adult swim but the pool is already full
]]></description>
			<content:encoded><![CDATA[<p><code>gentrification. trillions.</p>
<p>pizza. hamburgers.</p>
<p>keep it real until it's pretend.</p>
<p>bike messenger		delivery</p>
<p>1/8th for less than a day's paycheck</p>
<p>adult swim but the pool is already full</code></p>
]]></content:encoded>
			<wfw:commentRss>http://lee.rockingtiger.com/2008/05/21/poetry/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
