<?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>magnanimous antics</title>
	<atom:link href="http://letsneverdie.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://letsneverdie.net/blog</link>
	<description>pictures of some things - music about some things</description>
	<lastBuildDate>Tue, 10 Aug 2010 22:10:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>i fixed comments</title>
		<link>http://letsneverdie.net/blog/?p=89</link>
		<comments>http://letsneverdie.net/blog/?p=89#comments</comments>
		<pubDate>Tue, 10 Aug 2010 22:10:05 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=89</guid>
		<description><![CDATA[sorry, i should treat this blog a little better.]]></description>
			<content:encoded><![CDATA[<p>sorry, i should treat this blog a little better.</p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=89</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIP Max :(</title>
		<link>http://letsneverdie.net/blog/?p=87</link>
		<comments>http://letsneverdie.net/blog/?p=87#comments</comments>
		<pubDate>Tue, 15 Jun 2010 04:09:19 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=87</guid>
		<description><![CDATA[Little Macky passed away today. I hope you are not in pain anymore, buddy.]]></description>
			<content:encoded><![CDATA[<p>Little Macky passed away today.  I hope you are not in pain anymore, buddy.</p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=87</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>irssi follow-up: identd</title>
		<link>http://letsneverdie.net/blog/?p=84</link>
		<comments>http://letsneverdie.net/blog/?p=84#comments</comments>
		<pubDate>Sat, 16 Jan 2010 01:52:25 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=84</guid>
		<description><![CDATA[All my people on the irc, if the undernet is the place you be, let me see, let me hear you get FIRED UP&#8230;.because of that QUOTE PASS BULL SHIT! Did you know that if you provide an IDENT response, then irc servers will not bug you to type any quote pass stuff? If you [...]]]></description>
			<content:encoded><![CDATA[<p>All my people on the irc, if the undernet is the place you be, let me see, let me hear you get FIRED UP&#8230;.<strong>because of that QUOTE PASS BULL SHIT!</strong></p>
<p>Did you know that if you provide an IDENT response, then irc servers will not bug you to type any quote pass stuff?  If you use irssi as mentioned in <a href="http://letsneverdie.net/blog/?p=75">my previous post</a>, then you may discover that it doesn&#8217;t include any sort of ident daemon.  </p>
<p>Luckily, it&#8217;s a pretty easy fix.  Aside from making sure port 113 is reachable on your Mac from the outside world, you also have to install a working ident daemon (identd for short).  This cool french fellow <a href="http://www.macmax.org/rubrique.php3?id_rubrique=21">has made one</a> that is controllable via a Prefpane!  Cool! </p>
<p>Just follow that link and install.  Next, go to the Apple Menu > System Preferences, and click &#8216;IdentD&#8217; down under the &#8216;Other&#8217; row.  Click the lock to authorize yourself to make changes, then click &#8216;Activate&#8217;.  Now, here&#8217;s the problem I&#8217;ve had sometimes, and how to repair it.  If it appears as though identd is deactivating almost immediately after you click &#8216;activate&#8217;, then it&#8217;s affecting you.</p>
<p>You&#8217;ll have to edit a config file to fix this issue.  If you&#8217;re a vi guy, simply type &#8216;<strong>sudo vi /etc/hostconfig</strong>&#8216; at a prompt and take a look at the file.  We&#8217;re looking for the line that starts with &#8230; yep, IDENTD.  If you notice that it seems to run into the next line (sometimes it does), then simply add a carriage return after it.  Even if you don&#8217;t have this problem, it might be a good idea to add said carriage return, in the event that another line is added later.</p>
<p>You&#8217;ll be glad you did!</p>
<p>Here&#8217;s the current content of my /etc/hostconfig file.  I also had a leading extra carriage return that I removed to tidy things up:<br />
<code><br />
# This file is going away</p>
<p>AFPSERVER=-NO-<br />
AUTHSERVER=-NO-<br />
TIMESYNC=-NO-<br />
QTSSERVER=-NO-<br />
PARALLELS=-YES-<br />
IDENTDSERVER=-YES-<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=84</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling Irssi for Mac OS X 10.6</title>
		<link>http://letsneverdie.net/blog/?p=75</link>
		<comments>http://letsneverdie.net/blog/?p=75#comments</comments>
		<pubDate>Sat, 07 Nov 2009 05:04:12 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=75</guid>
		<description><![CDATA[When upgrading from 10.5 to 10.6, I noticed that my laboriously-compiled (okay, okay, I&#8217;m being dramatic, but it WAS a pain) irssi broke, due to some funkiness with Perl and 64-bit. Unfortunately, recompiling Irssi for 10.6 proved to be even more of a pain, and I know that I myself will have a hard time [...]]]></description>
			<content:encoded><![CDATA[<p>When upgrading from 10.5 to 10.6, I noticed that my laboriously-compiled (okay, okay, I&#8217;m being dramatic, but it WAS a pain) <a href="http://irssi.org/">irssi</a> broke, due to some funkiness with Perl and 64-bit.  Unfortunately, recompiling Irssi for 10.6 proved to be even more of a pain, and I know that I myself will have a hard time with it if I don&#8217;t write down exactly what I did here.  I&#8217;m assuming this&#8217;ll be useful for other folks, too.</p>
<p style="min-height: 14.0px;">
<p>I&#8217;ll try to provide notes and reasoning for each step in the directions below.  Keep in mind that you&#8217;ll need the developer tools installed (from the &#8216;Additional Installs&#8217; folder on the Snow Leopard install disc), and that I am NOT using <a href="http://www.finkproject.org/">Fink</a> or <a href="http://darwinports.com/">DarwinPorts</a> (it would be much easier if I did, however I am not a fan of package managers and separate library paths, etc).  I also assume that you&#8217;re familiar with basic terminal commands (cd, ls, etc) and navigating filesystem paths (mostly to downloaded/untarred folders in your &#8216;Downloads&#8217; folder).</p>
</p>
<p><span id="more-75"></span></p>
</p>
<p><strong>Ingredients:</strong></p>
<p>(numbers in parenthesis are the latest versions as of the time of this posting)</p>
</p>
<p><a href="http://irssi.org/download#sources">Irssi</a> (0.8.14)</p>
<p><a href="http://ftp.gnome.org/pub/gnome/sources/glib/2.22/">Glib</a> (2.22.2)</p>
<p><a href="http://pkgconfig.freedesktop.org/releases/">pkg-config</a> (0.23)</p>
<p><a href="http://www.gnu.org/software/gettext/gettext.html#TOCdownloading">Gettext</a> (0.17)</p>
<p><a href="http://www.gnu.org/software/libiconv/">Libiconv</a> (1.13.1)</p>
</p>
<p>If you&#8217;re using Safari, it should not only place the downloaded tarballs into your Downloads folder (/Users/yourname/Downloads or ~/Downloads), but it should transparently remove the gzip compression, as well.  In this case, untar each file so you have a directory of the source code for each.  If you&#8217;re using Firefox, you may need to unzip, as well, and your files may not be in Downloads.</p>
</p>
</p>
<p><strong>Directions:</strong></p>
</p>
<p><strong>1. Compile and install pkg-config:</strong></p>
<p><em>(which is a program used to retrieve information about installed libraries)</em></p>
</p>
<p>Open Terminal.app and navigate to the newly-created pkg-config folder.  Then, run the following commands in order, after the prior command has completed.  If you&#8217;ve ever compiled anything from source in the command line before, this may be familiar (and will be, by the time we&#8217;re through):</p>
</p>
<p style=" padding-left: 30px;">./configure</p>
<p style=" padding-left: 30px;">make</p>
<p style=" padding-left: 30px;">sudo make install <em>(be prepared to provide your password)</em></p>
<p style=" padding-left: 30px;">
</p>
<p><strong>2.  Compile and install gettext:</strong></p>
<p><em>(which is a set of tools for multilanguage support in GNU applications)</em></p>
</p>
<p>Navigate to the gettext folder, and follow the same steps as before:</p>
</p>
<p style=" padding-left: 30px;">./configure</p>
<p style=" padding-left: 30px;">make</p>
<p style=" padding-left: 30px;">sudo make install</p>
<p style=" padding-left: 30px;">
</p>
<p><strong>3. Compile and install libiconv:</strong></p>
<p><em>(which is a text encoding converter, used to convert between various character encodings in international text)</em></p>
</p>
<p>As before, navigate to the libiconv folder in your Downloads folder, and run your favorite three commands, entering your password for the third: ./configure, then make, then sudo make install.</p>
</p>
<p><strong>4. Recompile gettext:</strong></p>
</p>
<p>Yes.  Believe it or not, but libiconv and gettext have circular dependencies and depend upon each other for certain features.  While libiconv needed certain features from gettext to compile with crucial functionality enabled, gettext also requires libiconv to be installed in order to enable yet more features.  This time, we have to clean out any trace of prior compilation, so we&#8217;re going to prefix a command like so:</p>
</p>
<p style=" padding-left: 30px;">make distclean</p>
<p style=" padding-left: 30px;">./configure</p>
<p style=" padding-left: 30px;">make</p>
<p style=" padding-left: 30px;">sudo make install</p>
<p style=" padding-left: 30px;">
<p style=" padding-left: 30px;">
<p><strong>5. Compile and install Glib:</strong></p>
</p>
<p>GLib is a core suite of libraries for unix- and or gnome-style applications written in C.  This one is a bit bigger than the others, and also requires a bit of source code hacking to get installed.  If you haven&#8217;t grabbed a snack yet, now&#8217;s a good time to, unless you are one of those people with an impeccably-clean keyboard and desk.  First, we start the configuration process by navigating to the glib folder and running:</p>
</p>
<p style=" padding-left: 30px;">./configure</p>
<p style=" padding-left: 30px;">
<p style=" padding-left: 30px;">
<p>Once this is complete, we&#8217;ll need to replace 3 lines in a certain source file.</p>
<p>From what I understand, apple&#8217;s included libiconv doesn&#8217;t support 64bit, and I happen to be building a 64bit irssi.  So, let&#8217;s make the changes below to make sure the libiconv that we&#8217;ve built is used.  Navigate to the &#8216;glib&#8217; folder (just plain glib, the one INSIDE of the main glib source folder), and open &#8216;gconvert.c&#8217; with your favorite editor.</p>
</p>
<pre>#if defined(USE_LIBICONV_GNU) &amp;&amp; !defined (_LIBICONV_H)</pre>
<pre>#error GNU libiconv in use but included iconv.h not from libiconv</pre>
<pre>#endif</pre>
<pre>#if !defined(USE_LIBICONV_GNU) &amp;&amp; defined (_LIBICONV_H)</pre>
<pre>#error GNU libiconv not in use but included iconv.h is from libiconv</pre>
<pre>#endif</pre>
<p style="min-height: 14.0px;">
<p>replace the last 3 lines, like so:</p>
<p style="min-height: 14.0px;">
<pre>#if defined(USE_LIBICONV_GNU) &amp;&amp; !defined (_LIBICONV_H)</pre>
<pre>#error GNU libiconv in use but included iconv.h not from libiconv</pre>
<pre>#endif</pre>
<pre>#if !(defined(__APPLE__) &amp;&amp; defined(__LP64__)) &amp;&amp; !defined(USE_LIBICONV_GNU) &amp;&amp; defined (_LIBICONV_H)</pre>
<pre>#error GNU libiconv not in use but included iconv.h is from libiconv</pre>
<pre>#endif</pre>
<div><span><span style="line-height: normal;"> </span></span></div>
<p>Save and close the file in place.  Now you&#8217;re ready to compile and install glib:</p>
</p>
<p style=" padding-left: 30px;">make</p>
<p style=" padding-left: 30px;">sudo make install</p>
<p style=" padding-left: 30px;">
<p style=" padding-left: 30px;">
<p><strong>6. Compile and install Irssi (finally):</strong></p>
</p>
<p>Irssi is a&#8230;is he fucking serious?  No, I&#8217;m not; you know what irssi is or you would not be here.  Let&#8217;s continue.  We&#8217;re going to configure irssi with perl support, because perl is the language used for lovely irssi plugins such as <a href="http://dau.pl/">dau.pl</a>, which is an irssi script that helps you find and keep friends.  I&#8217;m kidding, very much so.  Anyhow:</p>
</p>
<p style=" padding-left: 30px;">./configure &#8211;with-perl=yes</p>
<p style=" padding-left: 30px;">
<p style=" padding-left: 30px;">
<p>Unfortunately, if you tried to compile with this configuration, there would be issues.  Linking to Apple&#8217;s included perl libraries proves problematic, because compilation tries to create Universal Binaries and for some reason, you&#8217;re not allowed to do this, in this case.  That&#8217;s fine, though &#8211; we&#8217;re only compiling for our specific machines, here.  In my case, I&#8217;m creating an x86_64 build, so I&#8217;ll need to run the following two commands to strip out any compiler flags to the contrary:</p>
</p>
<p style=" padding-left: 30px;">find . -type f -exec sed -i &#8220;&#8221; -e &#8220;s/-arch i386//g&#8221; {} \;</p>
<p style=" padding-left: 30px;">find . -type f -exec sed -i &#8220;&#8221; -e &#8220;s/-arch ppc//g&#8221; {} \;</p>
<p style=" padding-left: 30px;">
<p style=" padding-left: 30px;">
<p>If you have a 32 bit Intel (i.e. Core Duo or earlier),or a PPC mac, you&#8217;d want to replace the appropriate string in one of those lines with &#8216;x86_64&#8242;.  I&#8217;ll leave that for you to figure out, but it should be obvious.  This is a guide for the preferred 64 bit code path.  All we have to do now is proceed with the compilation and install:</p>
</p>
<p style=" padding-left: 30px;">make</p>
<p style=" padding-left: 30px;">sudo make install</p>
<p style=" padding-left: 30px;">
<p style=" padding-left: 30px;">
<p>That&#8217;s it!  You&#8217;re done; open a new terminal and type &#8216;irssi&#8217; to begin!</p>
<p style=" padding-left: 30px;">
</p></p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=75</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello blog!  And todo.sh</title>
		<link>http://letsneverdie.net/blog/?p=66</link>
		<comments>http://letsneverdie.net/blog/?p=66#comments</comments>
		<pubDate>Fri, 03 Jul 2009 05:04:54 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=66</guid>
		<description><![CDATA[Hello blog. I am currently unemployed. We&#8217;ll maybe delve into that some other time. Recession. Remember this post? Well, I&#8217;ve been modifying bands.sh to become todo.sh and to be displayed on my desktop via GeekTool. It looks something like this. So far, I&#8217;ve basically changed it so that you can delete a numbered line like [...]]]></description>
			<content:encoded><![CDATA[<p>Hello blog.</p>
<p>I am currently unemployed.  We&#8217;ll maybe delve into that some other time.  Recession.</p>
<p>Remember <a href="http://letsneverdie.net/blog/?p=62">this post</a>?  Well, I&#8217;ve been modifying bands.sh to become <b>todo.sh</b> and to be displayed on my desktop via <a href="http://projects.tynsoe.org/en/geektool/">GeekTool</a>.  It looks something like <a href="http://letsneverdie.net/blogphoto/mydesktop.png">this</a>.</p>
<p>So far, I&#8217;ve basically changed it so that you can delete a numbered line like this:</p>
<p>&#8216;todo -d 4&#8242; would delete post 4.  Works for me!  I&#8217;ve also written it in a way so that I can add re-ordering or re-prioritizing of items in the list.  When I figure out how.  Hehe.</p>
<p>Here&#8217;s the code:</p>
<div style="text-align:left;color:#ffffff; background-color:#000000; border:solid black 1px; padding:0.5em 1em 0.5em 1em; overflow:auto;font-size:small; font-family:monospace; "><span style="color:#91dc93;">#!/bin/bash<br />
</span><br />
<span style="color:#91dc93;"># you can change the textfile variable to anything you want<br />
# this allows you to make various lists and have different scripts<br />
# for each. &nbsp;simple but useful.<br />
# I use it to make a list of albums I wanna get.<br />
# THIS VERSION: has been modified to work as a TODO type script<br />
# p.s. I killed most of the comments. &nbsp;Ask me if you wanna know <br />
# what something does. &nbsp;Like the sed and the awk. &nbsp;Fuck that shit.<br />
</span><br />
&nbsp;<br />
textfile=/Users/ryan/Documents/todo.txt &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;">#edit this line!!<br />
</span>filename=<span style="color:#dd77ff;">`basename $textfile`</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;">#short version<br />
</span>&nbsp;<br />
<span style="color:#ec77b4;">if</span> [ ${<span style="color:#91dc93;">#} -lt 1 ] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# if you are not adding something,<br />
</span><span style="color:#ec77b4;">then</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># assumes you want to see file<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;&nbsp;&nbsp;&nbsp;.:[</span><span style="color:#f5933b;">$filename</span><span style="color:#f0898f;">]:.&quot;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># let&rsquo;s make a nice header/footer <br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">cat</span> -n <span style="color:#f5933b;">$textfile</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># show the file with line numbers &nbsp;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span><br />
<span style="color:#ec77b4;">elif</span> [ <span style="color:#f0898f;">&quot;</span><span style="color:#f5933b;">$1</span><span style="color:#f0898f;">&quot;</span> = <span style="color:#f0898f;">&quot;-d&quot;</span> ] &nbsp;&nbsp;&nbsp;&nbsp;<br />
<span style="color:#ec77b4;">then</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;showline=<span style="color:#dd77ff;">`awk &quot;NR==$2&quot; $textfile`</span> &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;`basename </span><span style="color:#f5933b;">$0</span><span style="color:#f0898f;">`: Removing &#8216;</span><span style="color:#f5933b;">$showline</span><span style="color:#f0898f;">&#8216; from </span><span style="color:#f5933b;">$filename</span><span style="color:#f0898f;">&#8230;&quot;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">mv</span> <span style="color:#f5933b;">$textfile</span> <span style="color:#f5933b;">$textfile</span>.tmp &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">sed</span> <span style="color:#f0898f;">&quot;</span><span style="color:#f5933b;">$2d</span><span style="color:#f0898f;">&quot;</span> <span style="color:#f5933b;">$textfile</span>.tmp &gt; <span style="color:#f5933b;">$textfile</span> &nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># dumb way to do it<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;Done!&quot;</span><br />
<span style="color:#ec77b4;">else</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;</span><span style="color:#f5933b;">$1</span><span style="color:#f0898f;">&quot;</span> &gt;&gt; <span style="color:#f5933b;">$textfile</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># add a task &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;`basename </span><span style="color:#f5933b;">$0</span><span style="color:#f0898f;">`: added &lsquo;</span><span style="color:#f5933b;">$1</span><span style="color:#f0898f;">&lsquo; to </span><span style="color:#f5933b;">$filename</span><span style="color:#f0898f;">!&quot;</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<span style="color:#ec77b4;">fi</span>
</div>
<p>Damn, I found/fixed so many bugs while getting ready to post this entry.  Cool, I guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=66</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>logrotate/apache and web hosting</title>
		<link>http://letsneverdie.net/blog/?p=63</link>
		<comments>http://letsneverdie.net/blog/?p=63#comments</comments>
		<pubDate>Fri, 14 Mar 2008 22:52:37 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[organization]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=63</guid>
		<description><![CDATA[Logrotate is a simple program that can perform simple but much-needed features, such as keeping log files from growing to 5gb. Heh. Anyhow, usually, it&#8217;s a simple matter of pointing it to the files and letting it do it&#8217;s thing. What if you are a hosting company and you like to allow each user/domain you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://iain.cx/src/logrotate/">Logrotate</a> is a simple program that can perform simple but much-needed features, such as keeping log files from growing to 5gb.  Heh.  Anyhow, usually, it&#8217;s a simple matter of pointing it to the files and letting it do it&#8217;s thing.</p>
<p>What if you are a hosting company and you like to allow each user/domain you host access to their own logfiles in their own log directory?  Well, without rotation, it&#8217;s possible that their logs can grow to gargantuan proportions, for a variety of reasons.</p>
<p>Manually adding and deleting the four or five line entries for each domain could get cumbersome, if your users add/delete domains as often as ours do.  This shell script I wrote yesterday helps.  It&#8217;s got a static section for the &#8216;main&#8217; apache logs (like most non-hosting apache server setups), and then it dynamically generates the rest given a listing of directories in the main &#8216;www&#8217; directory.  This is not foolproof, and picks up some directories that do not correspond to domains, but there&#8217;s also a flag that tells logrotate not to bitch if it encounters them.</p>
<div style="text-align:left;color:#ffffff; background-color:#000000; border:solid black 1px; padding:0.5em 1em 0.5em 1em; overflow:auto;font-size:small; font-family:monospace; "><span style="color:#91dc93;">#!/usr/bin/sh<br />
#<br />
# ask ryan how this works<br />
# or blame him if it&#8217;s broken<br />
# <br />
# if this script is to be cron&#8217;d<br />
# just comment out the 3 lines with # SILENT after them<br />
# so the script doesn&#8217;t spit out crap<br />
</span><br />
<span style="color:#91dc93;"># various variables, only edit the one beginning with &#8216;file&#8217;<br />
</span><span style="color:#ff77ff;">file</span>=/www/test2.txt &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># edit this to match logrotate file<br />
</span>backup=/tmp/test2-bak &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
short=<span style="color:#dd77ff;">`basename $file`</span><br />
wwwdir=<span style="color:#dd77ff;">`ls -Ap /www/ | grep &quot;/&quot;`</span></p>
<p><span style="color:#91dc93;"># backup old logrotate file, create new one<br />
</span><span style="color:#ff77ff;">mv</span> <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span> <span style="color:#f5933b;">$backup</span><br />
<span style="color:#ff77ff;">touch</span> <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span></p>
<p><span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;&#8212;&#8211; populating </span><span style="color:#f5933b;">$short</span><span style="color:#f0898f;"> &#8212;&#8211;&quot;</span> &nbsp;<span style="color:#91dc93;"># SILENT<br />
</span><br />
<span style="color:#91dc93;"># add static header information<br />
# this is constant between updates<br />
</span><span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;### Apache Access Log&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;/www/logs/*log {&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;&nbsp;&nbsp;missingok&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;&nbsp;&nbsp;postrotate&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/bin/killall -HUP httpd 2&gt; /dev/null || true&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;&nbsp;&nbsp;endscript&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;}&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;### WebSite Access Logs&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span></p>
<p><span style="color:#91dc93;"># now to read all the apparent directories in<br />
# /www/ and treat them like domains, add them <br />
# to the list! &nbsp;note to ryan: further filter later<br />
</span><span style="color:#ec77b4;">for</span> domain <span style="color:#ec77b4;">in</span> <span style="color:#f5933b;">$wwwdir</span><br />
<span style="color:#ec77b4;">do</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;/www/&quot;</span><span style="color:#f5933b;">$domain</span><span style="color:#f0898f;">&quot;logs/access_log {&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;missingok&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;postrotate&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/bin/killall -HUP httpd 2&gt; /dev/null || true&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;endscript&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;}&quot;</span> &gt;&gt; <span style="color:#f5933b;">$</span><span style="color:#ff77ff;">file</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &nbsp;`basename </span><span style="color:#f5933b;">$0</span><span style="color:#f0898f;">`: Added &#8216;</span><span style="color:#f5933b;">$domain</span><span style="color:#f0898f;">&#8216; to log rotation!&quot;</span> <span style="color:#91dc93;"># SILENT<br />
</span><span style="color:#ec77b4;">done</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><span style="color:#ff77ff;">rm</span> -f <span style="color:#f5933b;">$backup</span><br />
<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;&#8212;&#8211; all done! &#8212;&#8211;&quot;</span> &nbsp;<span style="color:#91dc93;"># SILENT<br />
</span></div>
<p>Where I work, after we were satisfied that it was doing it&#8217;s job when we ran it manually, it was added to cron.weekly.   </p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=63</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>bands script (bash scripting tutorial of sorts)</title>
		<link>http://letsneverdie.net/blog/?p=62</link>
		<comments>http://letsneverdie.net/blog/?p=62#comments</comments>
		<pubDate>Wed, 16 Jan 2008 21:30:32 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[lifestyle]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=62</guid>
		<description><![CDATA[I like to keep little lists, lately. It keeps me organized, sort of. If anyone has heard of or used the GTD (getting things done) system, they know what I am talking about. Anyhow, I am sick of forgetting bands that I find online that I really like, and would like to keep a wish [...]]]></description>
			<content:encoded><![CDATA[<p>I like to keep little lists, lately.  It keeps me organized, sort of.  If anyone has heard of or used the GTD (getting things done) system, they know what I am talking about.  Anyhow, I am sick of forgetting bands that I find online that I really like, and would like to keep a wish list of albums to buy, so they are fresh in my mind and I can refer to the list if I get any disposable income.  </p>
<p>So I wrote this script:</p>
<div style="text-align:left;color:#ffffff; background-color:#000000; border:solid black 1px; padding:0.5em 1em 0.5em 1em; overflow:auto;font-size:small; font-family:monospace; "><span style="color:#91dc93;">#!/bin/bash<br />
</span><br />
<span style="color:#91dc93;"># you can change the textfile variable to anything you want<br />
# this allows you to make various lists and have different scripts<br />
# for each. &nbsp;simple but useful.<br />
# I use it to make a list of albums I wanna get. <br />
</span></p>
<p>textfile=/Users/ryan/Music/bands-to-<span style="color:#ff77ff;">find</span>.txt &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;">#edit this line!!<br />
</span>filename=<span style="color:#dd77ff;">`basename $textfile`</span></p>
<p><span style="color:#ec77b4;">if</span> [ ${<span style="color:#91dc93;">#} -lt 1 ] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# if you are not adding something,<br />
</span><span style="color:#ec77b4;">then</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># assumes you want to see file contents<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;&#8212; Contents of </span><span style="color:#f5933b;">$filename</span><span style="color:#f0898f;">: &#8212;&quot;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># let&#8217;s make a nice header/footer and<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">cat</span> -n <span style="color:#f5933b;">$textfile</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># show the file with line numbers <img src='http://letsneverdie.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;&#8212; End of </span><span style="color:#f5933b;">$filename</span><span style="color:#f0898f;"> &#8212;&quot;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot; &quot;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;Usage (to add a line)&quot;</span> &nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># then tell the dummy how to use it &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;$ `basename </span><span style="color:#f5933b;">$0</span><span style="color:#f0898f;">` &#8216;line of text to add&#8217; (use quotes!)&quot;</span><br />
<span style="color:#ec77b4;">else</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;</span><span style="color:#f5933b;">$1</span><span style="color:#f0898f;">&quot;</span> &gt;&gt; <span style="color:#f5933b;">$textfile</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># the actual simple command &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#ff77ff;">echo</span> <span style="color:#f0898f;">&quot;`basename </span><span style="color:#f5933b;">$0</span><span style="color:#f0898f;">`: added &#8216;</span><span style="color:#f5933b;">$1</span><span style="color:#f0898f;">&#8216; to </span><span style="color:#f5933b;">$filename</span><span style="color:#f0898f;">!&quot;</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#91dc93;"># be proud!<br />
</span><span style="color:#ec77b4;">fi</span></p>
<p>&nbsp;</p></div>
<p>Basically it allows you to add a line to a text file easily and quickly, and if you just call the program up without wanting to add anything, it organizes the list and shows it to you prettily.  This doesn&#8217;t have to be used for an album wish list (yet)..I could see someone modifying it for any sort of list&#8230;upcoming birthdays, baby names (haha babies), to-do list, videogame wishlist, etc.  This is a super simple, but well-commented script that might be a good tutorial for anyone who wonders what good a shellscript can do, or wants to learn.</p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=62</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Top 3 Albums of the Year</title>
		<link>http://letsneverdie.net/blog/?p=61</link>
		<comments>http://letsneverdie.net/blog/?p=61#comments</comments>
		<pubDate>Fri, 28 Dec 2007 06:31:03 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=61</guid>
		<description><![CDATA[I was asked in a last.fm community I am a part of so I thought about it. I figured, if I answered them there, I may as well post my answers here and on my lj. 1.) Architecture in Helsinki &#8211; Places Like This These guys just sound like they are having a lot of [...]]]></description>
			<content:encoded><![CDATA[<p><i>I was asked in a last.fm community I am a part of so I thought about it.  I figured, if I answered them there, I may as well post my answers here and on my lj.</i></p>
<hr />
<p><div align="center">
<img src="http://letsneverdie.net/blogphoto/album1.png" valign="middle" border="3"></div>
<h1>1.) Architecture in Helsinki &#8211; Places Like This </h1>
<p>These guys just sound like they are having a lot of fun.  To see what kind of fun I am talking about, watch this video:</p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/bNIpTbVMOnk&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/bNIpTbVMOnk&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<hr />
<p><div align="center">
<img src="http://letsneverdie.net/blogphoto/album2.png" valign="middle" border="3">
</div>
<h1>2.) The Fiery Furnaces &#8211; Widow City</h1>
<p>I have always liked the fiery furnaces.  For some reason, this time especially, I feel like a big overarching story is trying to come across&#8230;and I can almost piece it together.</p>
<hr />
<p><div align="center">
<img src="http://letsneverdie.net/blogphoto/album3.png" valign="middle" border="3">
</div>
<h1>3.) A Place to Bury Strangers &#8211; A Place To Bury Strangers</h1>
<p>This is more a collection of remastered songs that are much older, but it&#8217;s a great collection of great noise and shoegaze style tracks.  </p>
<hr />
<p>
There we go.  Short, to the point, badly formatted, with a youtube video.  Goodnight.</p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=61</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ruby</title>
		<link>http://letsneverdie.net/blog/?p=60</link>
		<comments>http://letsneverdie.net/blog/?p=60#comments</comments>
		<pubDate>Sun, 23 Dec 2007 08:16:36 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=60</guid>
		<description><![CDATA[Ruby is a great language. It&#8217;s object-oriented in all the right ways, and the syntax is so simple, it reads like pseudocode. I&#8217;ve been creating my very own roguelike using ruby. It took me a few false starts, but I am now using ruby&#8217;s built-in curses bindings. Click here to see the window setup I [...]]]></description>
			<content:encoded><![CDATA[<p>Ruby is a great language.  It&#8217;s object-oriented in all the right ways, and the syntax is so simple, it reads like pseudocode.  </p>
<p>I&#8217;ve been creating my very own roguelike using ruby.  It took me a few false starts, but I am now using ruby&#8217;s built-in curses bindings.  <a href="http://letsneverdie.net/blogphoto/dongrel.png" rel=”lightbox”>Click here</a> to see the window setup I have decided to stick with.  The big blank spot in the upper left is where the actual gameplay map will show up.  The bottom is for narration/log of encounters and whatnot.  The upper right is for character status, hp/mp/poisoned/hungry, that sort of thing.  The lower right is for inventory, and the contents of chests/bags/etc.  </p>
<p>For those interested in how I got that stuff to appear, it was as easy as this:</p>
<div style="text-align:left;color:#ffffff; background-color:#000000; border:solid black 1px; padding:0.5em 1em 0.5em 1em; overflow:auto;font-size:small; font-family:monospace; "><span style="color:#7d9ffa;">def</span> draw_windows<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@map_win</span> = Window.new(<span style="color:#4afc5b;">16</span>, <span style="color:#4afc5b;">60</span>, <span style="color:#4afc5b;">0</span>, <span style="color:#4afc5b;">0</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@map_win</span>.refresh<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win = Window.new(<span style="color:#4afc5b;">12</span>, <span style="color:#4afc5b;">20</span>, <span style="color:#4afc5b;">0</span>, <span style="color:#4afc5b;">60</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win.box(<span style="color:#4afc5b;">0</span>,<span style="color:#4afc5b;">0</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win &lt;&lt; <span style="color:#f48700;">&#8216;Status&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win.refresh<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@stat_win</span> = Window.new(<span style="color:#4afc5b;">10</span>, <span style="color:#4afc5b;">18</span>, <span style="color:#4afc5b;">1</span>, <span style="color:#4afc5b;">1</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@stat_win</span>.refresh<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win = Window.new(<span style="color:#4afc5b;">12</span>, <span style="color:#4afc5b;">20</span>, <span style="color:#4afc5b;">12</span>, <span style="color:#4afc5b;">60</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win.box(<span style="color:#4afc5b;">0</span>,<span style="color:#4afc5b;">0</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win &lt;&lt; <span style="color:#f48700;">&#8216;Stuff&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win.refresh<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@stuff_win</span> = Window.new(<span style="color:#4afc5b;">10</span>, <span style="color:#4afc5b;">18</span>, <span style="color:#4afc5b;">13</span>, <span style="color:#4afc5b;">61</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@stuff_win</span>.refresh<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win = Window.new(<span style="color:#4afc5b;">8</span>, <span style="color:#4afc5b;">60</span>, <span style="color:#4afc5b;">16</span>, <span style="color:#4afc5b;">0</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win.box(<span style="color:#4afc5b;">0</span>,<span style="color:#4afc5b;">0</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win &lt;&lt; <span style="color:#f48700;">&#8216;Travel Log&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;border_win.refresh<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@log_win</span> = Window.new(<span style="color:#4afc5b;">6</span>, <span style="color:#4afc5b;">58</span>, <span style="color:#4afc5b;">17</span>, <span style="color:#4afc5b;">1</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@log_win</span>.scrollok(<span style="color:#7d9ffa;">true</span>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#6699cc;">@log_win</span>.refresh<br />
<span style="color:#7d9ffa;">end</span></div>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=60</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>midines mod complete</title>
		<link>http://letsneverdie.net/blog/?p=59</link>
		<comments>http://letsneverdie.net/blog/?p=59#comments</comments>
		<pubDate>Thu, 11 Oct 2007 14:10:07 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://letsneverdie.net/blog/?p=59</guid>
		<description><![CDATA[I forget if I posted pictures detailing the adding of gold-plated stereo rca jacks to my NES. Either way, this is the type of stuff I can do now]]></description>
			<content:encoded><![CDATA[<p>I forget if I posted pictures detailing the adding of gold-plated stereo rca jacks to my NES.  Either way, this is the type of stuff I can do now </p>
]]></content:encoded>
			<wfw:commentRss>http://letsneverdie.net/blog/?feed=rss2&amp;p=59</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://letsneverdie.net/aud/midinesmodtest.mp3" length="1463723" type="audio/mpeg" />
		</item>
	</channel>
</rss>
