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

<channel>
	<title>My Delusional Dream &#187; computer</title>
	<atom:link href="http://patrick.wagstrom.net/weblog/category/computer/feed/" rel="self" type="application/rss+xml" />
	<link>http://patrick.wagstrom.net/weblog</link>
	<description>Thoughts of a Cautious Technocrat</description>
	<pubDate>Tue, 16 Dec 2008 01:28:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Time Synchronization with VMWare</title>
		<link>http://patrick.wagstrom.net/weblog/2008/02/15/vmware-time-synchronization/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/02/15/vmware-time-synchronization/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 01:49:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[computer]]></category>

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

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

		<category><![CDATA[system administration]]></category>

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

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=337</guid>
		<description><![CDATA[One of the major issues with utilizing a virtual machine for a server is that of time synchronization.  VMWare normally has access to a real time clock handler that helps to synchronize time, but even that causes time to skew.  This issue becomes more prominent with modern processors that support CPU frequency scaling. [...]]]></description>
			<content:encoded><![CDATA[<p>One of the major issues with utilizing a virtual machine for a server is that of time synchronization.  VMWare normally has access to a real time clock handler that helps to synchronize time, but even that causes time to skew.  This issue becomes more prominent with modern processors that support CPU frequency scaling.  However, there are many cases where even the VMWare custom kernel module can&#8217;t manage the time skew properly.  Such was the case with my updated VMWare virtual machine &#8212; to put it simply, time had stopped.</p>
<p>Looking around, it appears that some of the problem may be to the new tickless features in the linux kernel.  Basically, this feature allows the system to stop waking up periodically if there is nothing to do. On desktop and laptop machines this saves a lot of power and is a key feature that has helped the <a href="http://www.laptop.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.laptop.org');">OLPC</a> be such a power miser.  However, it also really screws with the clocks in virtual machines, and may be cause of other issues.  I&#8217;ve also read that there are issues with heavy disk I/O and Gutsy in VMWare Server &#8212; which is my virtualization platform of choice.</p>
<p>Previously, with the time issue, I would fix problems by adding in a cron job to periodically synchronize the date with a remote system. It&#8217;s important to note, that ntp won&#8217;t work because it tries to gradually synchronize the time &#8212; so it will never catch up.  However, using a cron job on the virtualized system relies on the virtualized system eventually hitting even minute marks.  Last night in the course of 12 hours, my time advanced 32 seconds; <span class="program">cron</span> is not an option. The solution is to have the host operating system, which can keep time, periodically SSH into the virtualized machine and synchronize the time.  Getting started, you&#8217;ll need to activate the time service in <span class="program">xinetd</span> on the host operating system.  Open up <span class="pathname">/etc/xinetd.d/time</span> and change the lines that say</p>
<pre>disable = yes</pre>
<p>to say &#8220;no&#8221;.  Restart xinetd by running <span class="program">/etc/init.d/xinetd restart</span> and you&#8217;ll now be able to <span class="program">rdate</span> to your host machine.</p>
<p>The next step is to create the <span class="program">ssh</span> key and setup the cron job to connect to guest operating system.  These commands should do it for you.  Hit enter to leave it without a passphrase.  Then, copy the key to the guest operating system.</p>
<pre>root@host:~# ssh-keygen -t dsa -C "automated RDATE ssh key" -f id_dsa.rdate
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_dsa.rdate.
Your public key has been saved in id_dsa.rdate.pub.
The key fingerprint is:
d4:5f:01:83:ee:df:e0:e4:ea:ff:0a:6e:50:d1:e2:d3 automated RDATE ssh key
root@host:~# scp id_dsa.rdate.pub USERACCOUNT@GUEST:</pre>
<p>Now that the key is on the guest, it&#8217;s time to enable a passwordless login.  First, login to the guest machine, and open up a root shell using <span class="program">sudo -s</span>.  Then run the following command to add the new key to your <span class="pathname">~/root/.ssh/authorized_keys</span>.</p>
<pre>echo 'command="rdate -s HOST"' $(cat id_dsa.rdate.pub) &gt;&gt; ~root/.ssh/authorized_keys</pre>
<p>The final step is to edit your <span class="pathname">/etc/crontab</span> on your host system, and make the time synchronization happen every five minutes or so.</p>
<pre>*/5 * * * * root ssh -i ~root/.ssh/id_dsa.rdate root@GUEST "rdate -s HOST"</pre>
<p>Now, you should have a nice infrastructure set up where your VMWare virtual machine will never be more than five minutes away from the actual time.  It&#8217;s important to note that there are a few alternative ways of doing this.  For example, one could bypass the usage of <span class="program">rdate</span> entirely through some clever shell scripting that passes the time on the host system to the <span class="program">time</span> command on the remote system.  In my experience, this works in a homogeneous environment, but not every system can interpret times in the same way, so sticking with <span class="program">rdate</span> seems like a good compromise.</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/02/15/vmware-time-synchronization/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Goodbye OpenBSD</title>
		<link>http://patrick.wagstrom.net/weblog/2008/01/03/goodbye-openbsd/</link>
		<comments>http://patrick.wagstrom.net/weblog/2008/01/03/goodbye-openbsd/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 05:37:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[computer]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=105</guid>
		<description><![CDATA[My servers have run OpenBSD since sometime in 1998.  I still have a few really ancient official CD sets laying around for OpenBSD 2.3 (May 1998), 2.5 (May 1999), and 2.7 (June 2000).  My name can be found on the OpenBSD Donations page, and I think that PF is one of the sweetest [...]]]></description>
			<content:encoded><![CDATA[<p>My servers have run <a href="http://www.openbsd.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.openbsd.org');">OpenBSD</a> since sometime in 1998.  I still have a few really ancient official CD sets laying around for OpenBSD 2.3 (May 1998), 2.5 (May 1999), and 2.7 (June 2000).  My name can be found on the <a href="http://www.openbsd.org/donations.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.openbsd.org');">OpenBSD Donations page</a>, and I think that <a href="http://www.openbsd.org/faq/pf/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.openbsd.org');">PF</a> is one of the sweetest pieces of software I&#8217;ve seen.   I&#8217;ve ran OpenBSD on x86, PPC, and Sparc on both physical and virtual hardware.  I&#8217;ve used it as a mail server, spam filter, firewall, web server, database server, and even an X11 terminal.  OpenBSD is just a well engineered piece of software that works well and doesn&#8217;t need much maintenance.</p>
<p>Last year, in an effort to reduce clutter in my house and ease my power bill, I <a href="/weblog/computer/virtualized-server.txt">changed from a physical to virtual OpenBSD box as my main Internet server computer</a>.  For the most part I had some good luck, it worked pretty well once I changed the virtual NIC from a PCNet to an E1000. Back in October I decided that this holiday season I would upgrade to the 4.2 release of OpenBSD, which contained a lot of features I was looking forward to such as a port for Python 2.5 and the new <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vic&amp;sektion=4" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.openbsd.org');">vic VMWare network driver</a>.  About a week after I made this decision, my Apache server process began to randomly segfault when using gzip compression to serve web pages &#8212; as someone who runs their website off a cable modem, this was a hit that I really didn&#8217;t want to take. I disabled gzip compression and decided to look at it again over the holidays.</p>
<p>The process of bringing up a new virtual machine with <a href="http://www.vmware.com/products/server/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.vmware.com');">VMWare server</a> is nearly brain dead.  I can create multiple virtual machines in a matter of minutes.  For this upgrade the choice was made to start fresh to avoid some of the botched installs from previous versions of tools in the original virtual machine.  My strategy was to install the basics for the machine, then compile the ports I needed &#8212; apache2, subversion (with apache support), python 2.5, screen, and irrsi &#8212; were at the top of my list.  Wait, you may say, OpenBSD offers compiled packages for these &#8212; no need to compile.  This is true, but the Python setup includes the tkinter libraries, which no ones uses anymore and forces X on my system.  Subversion also links to some packages I&#8217;ll never use again.</p>
<p>After some fighting the build process got running, but I almost immediately hit a snag.  Programs were complaining about <a href="http://expat.sourceforge.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/expat.sourceforge.net');">expat</a> not being present, and the port kept on telling me it was included as of OpenBSD 4.2.  As I had OpenBSD 4.2 installed, I could tell that it was not included.  My first strategy was to lie and build the package regardless.  While this allowed me to build some software, it quickly caused problems.  I was soon modifying my <span class="verbatim">FLAVOR</span> environment variable with reckless abandon.  In the end, I broke enough things that I needed to start over.  Luckily, VMWare makes that simple.</p>
<p>A little sleuthing discovered that for some reason in OpenBSD, expat is currently a part of the <span class="verbatim">xbase</span> package, and if I wanted the development headers I also needed the <span class="verbatim">xshare</span> package too.  What?  Why I do need X for everything all the sudden.  Whatever, I installed those packages, rebuilt the software, but still needed to fudge around with lots of environment variables to keep it from installing TCL with anything that had optional TCL bindings.  Don&#8217;t even get me started on the headache of keeping Ruby off my system.  After about six hours of actual work at fighting with it, much more if you count compilation, I had the software I thought I needed installed.  A little testing revealed that all of my web services still worked.  Great! Then I turned on gzip and the segmentation faults returned.  I returned to the default configuration, and the segmentation faults continued.  I debugged the program, realized I need to do some nasty patching, and concluded that this wasn&#8217;t going to be the proper choice.</p>
<p>It was time to consider something else.  I really wanted to run a BSD system still, I figured I&#8217;d give <a href="http://www.freebsd.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.freebsd.org');">FreeBSD</a> a shot again.  For some reason their automatically discovered mirror for me was ungodly slow, worse than dialup.  Going through <a href="http://tor.eff.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/tor.eff.org');">tor</a> actually managed to speed things up.  Wow, that&#8217;s strange isn&#8217;t it?  I also noticed they were close to a release &#8212; I don&#8217;t want to run pre-release software and I didn&#8217;t want to have to upgrade, and I&#8217;m really impatient.  Crap.  By this point it was the 27th, and I was supposed to leave for a week in just a few days.</p>
<p>Suck it up, install <a href="http://www.ubuntu.com/server" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ubuntu.com');">Ubuntu Server</a>.  I really didn&#8217;t want to run Linux, and Ubuntu Server may have a bit too much stuff on it in the default install.  I was already starting to feel dirty.  A little more digging revealed a nifty project, <a href="http://www.ubuntu.com/products/whatisubuntu/serveredition/jeos" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ubuntu.com');">Ubuntu JeOS</a> (Just Enough Operating System), a specialized and stripped down version of Ubuntu that has the core software and an optimized VMWare kernel.  The download was pretty small, at about  50MB or so. Installation was a breeze and incredibly straightforward.  As an added bonus, VMWare tools compiles for Linux, to further improve performance.  A few apt-get commands later and my system was running. What&#8217;s better is that the packaging system didn&#8217;t require me to install X11, TCL, Ruby, PHP, or MySQL for my server setup.  I was able to get just the tools I needed.  Total installation time for everything, 41 minutes.  That includes the time to copy all my web files over, port the <span class="pathname">httpd.conf</span> file to the  Ubuntu style of multiple configuration files, and update some absolute paths in scripts.</p>
<p>Next up was to see how fast it was.  I always loved how few processes I&#8217;d see running in my OpenBSD machine.  Hammering the machines over and over an testing the speed of response with <a href="http://developer.yahoo.com/yslow/" onclick="javascript:pageTracker._trackPageview('/outbound/article/developer.yahoo.com');">YSlow</a> showed the Linux box to complete requests in about 40% of the time of the OpenBSD box when requested from the local LAN.  Furthermore, the responses were compressed, which means a great saving of time over the line.  I was hooked &#8212; sorry OpenBSD, you&#8217;ve been replaced.</p>
<p>Of course, there is a potential cost here.  What about the security of my new server?  What about stability?  What about updates?  As far as security goes, I&#8217;m already being fairly smart by running it in as a virtual machine.  The main filesystems are backed up nightly to both local and remote systems, and about once a month, a <a href="http://dev.riseup.net/backupninja/" onclick="javascript:pageTracker._trackPageview('/outbound/article/dev.riseup.net');">backupninja</a> script shuts down the machine, creates a snapshot of the full machine, then restarts it.  That gives me about 10 minutes of downtime every month &#8212; I&#8217;m sure the spiders will understand.  I also am not running any unnecessary servers &#8212; just apache2, an instance of <a href="http://www.cherrypy.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cherrypy.org');">CherryPy</a> for <a href="http://pennave.sf.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/pennave.sf.net');">PennAve</a>, and very restricted <a href="http://www.openssh.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.openssh.com');">OpenSSH</a> for remote access &#8212; that&#8217;s it.  I&#8217;m hoping I&#8217;m in good shape with that, but security is something you can never guarantee unless the machine is off, has no drives, and lacks any sort of persistent memory (of course, I&#8217;m sure that even then there may be a way to find some sort of electromagnetic residue in the RAM).  Stability wise, I&#8217;m not entirely certain.  Ubuntu Dapper on my MythTV machine has been excellent, while Gutsy on my laptop is sometimes flaky &#8212; but that may also be because of a long upgrade chain going back up to March of 2005 on this machine.  Finally, I&#8217;m pretty sure that using APT makes upgrades, especially security related upgrades, even easier.  I don&#8217;t need to worry about seeing that a patch was released and installing it by hand.  It just happens &#8212; yes I&#8217;m placing trust in a remote entity, but I can handle that.  I just want my machine to work.</p>
<p>So, after two days of mucking around with OpenBSD, I finally got Ubuntu JeOS to just work, and I&#8217;m very happy with it.  I&#8217;m sorry to see OpenBSD go, but it was just too difficult to work with.  In particular, here&#8217;s some issues that really need to be addressed to make it competitive with what JeOS offers:</p>
<ul>
<li>If you say you include expat, really include it, don&#8217;t place it in two different packages for X.  I don&#8217;t need X on my server.</li>
<li>Finer grain package control.  Some packages are getting pretty good at creating subpackages for optional components &#8212; subversion is a good example of this.  Other packages, such as Python, could really use some help here.</li>
<li>Inheritance of the <span class="verbatim">FLAVOR</span> environment variable.  If I compile subversion as NO_TCL or NO_RUBY, that should cascade down to swig.  I had to literally watch every dependency as it was compiled to make sure that it was going to decide I needed TCL, TK, and Ruby.</li>
<li>Automated checking for security patches.  I&#8217;m not sure if OpenBSD has this, but it wasn&#8217;t obvious how to do it.  But, then again, it&#8217;s not immediately obvious how to use apt either.</li>
</ul>
<p>For the time being, OpenBSD and I have parted ways.  In a few years when it comes time to upgrade my server again, we may again join forces.  Of course, with the continual increase of software as a service, in a few years, there may be no need for me to run my own server anymore</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2008/01/03/goodbye-openbsd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I&#8217;m now virtualized</title>
		<link>http://patrick.wagstrom.net/weblog/2006/05/21/virtualized-server/</link>
		<comments>http://patrick.wagstrom.net/weblog/2006/05/21/virtualized-server/#comments</comments>
		<pubDate>Sun, 21 May 2006 20:48:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[computer]]></category>

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

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

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=106</guid>
		<description><![CDATA[To my loyal reader (or perhaps readers, who knows) &#8212; you probably noticed some issued with the accessibility of this site over the past few days.  It seems like two different things were conspiring to take down my site.  The first is that my uplink connection has been a little flunky &#8212; I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>To my loyal reader (or perhaps readers, who knows) &#8212; you probably noticed some issued with the accessibility of this site over the past few days.  It seems like two different things were conspiring to take down my site.  The first is that my uplink connection has been a little flunky &#8212; I&#8217;ve got a WRT54Gv1 that I use for my net access and that&#8217;s been acting really strange.  The second is that my server, <a href="http://scissors.wagstrom.net/" >scissors</a> has been acting a bit flunky.  Before I go too far, a little description of the box is necessary.</p>
<p>The machine is a circa 1997 AMD K6-200 with 96MB of RAM and Quantum Fireball 4.3GB hard disk &#8212; this was pretty hot stuff when I went to college in 1997.  Yes, that&#8217;s right, it&#8217;s my first computer from undergraduate.  The machine first started to have problems in the fall of 1999.  At the time I thought it was disk issues, so I bought a new disk.  That didn&#8217;t fix the problems, in fact, I think I threw out at perfectly good 8GB disk at the time because of the issues.  Really, it was just problem with the IDE cables in the machine, but I digress. That year I was working more or less full time and going to school, so I had money to burn. I plunked down some cash for an Athlon 700 machine, and that machine became my backup server machine (replacting a Pentium 60).  This is also where the machine got the name scissors, for scissors.dtd.iit.edu.  I used some of the original parts in my newer machines, this left scissors with a black and with text only video card, and a couple of ISA ethernet cards (at least they&#8217;re 3com).  Yup, 10mbps is the max ethernet rate on the machine.</p>
<p>This point was also the first time that I installed OpenBSD on it.  I believe it was OpenBSD version 2.5 or thereabouts - I actually paid for the CDs and have them laying around.  Since then, the machine has been upgraded to newer operating systems twice, first to OpenBSD 2.9, then again to OpenBSD 3.3.  It&#8217;s served as a mail server, online game server, and most importantly my personal web server for the last few years.  At some point, probably in early 2003 the fan on the CPU died, but it didn&#8217;t seem to affect performance, so I didn&#8217;t care.  At some point later the fan on the power supply died &#8212; once again it didn&#8217;t seem to affect performance so I didn&#8217;t care.  I now had a basically entirely silent machine.  Cool.  As an added bonus, according to my Kill-a-watt device, it sips power at a consumption of 33 watts.  This makes it nice and affordable to run.</p>
<p>However, the machine is now approaching it&#8217;s ninth birthday.  It&#8217;s had a good run &#8212; but all good things must come to an end.  I&#8217;ve been getting rid of my old stuff and well scissors, it&#8217;s time for you to go.  You&#8217;ve been replaced by the forward marching tide of technology. However, it&#8217;s a real pain to reinstall web servers all the time.  My solution?  Virtualization.</p>
<p>Thanks to <a href="http://www.vmware.com/products/server/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.vmware.com');">VMWare Server</a> and my copy of <a href="http://www.vmware.com/products/ws/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.vmware.com');">VMWare Workstation</a>, I&#8217;ve created a very nice little <a href="http://www.openbsd.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.openbsd.org');">OpenBSD</a> virtual machine.  Best of all, I&#8217;ve got all the services that previously were running between a couple of different servers consolidated onto this single box.  That means this virtual machine now acts as my trac, subversion, dav, and person web server.</p>
<p>Virtualization has quite a few benefits.  One of the biggest ones is that I can just copy the virtual machine from one physical computer to another.  This makes upgrades a breeze.  (As an aside, it also makes me wonder why I don&#8217;t just install VMWare Server on my <a href="http://www.mythtv.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mythtv.org');">MythTV</a> box in the living room and drop down to a single computer that is on 24/7.  Probably has something to do with the printer we never use I guess.)  Also, being virtualized, it let&#8217;s me test other configuration changes easier.  I can take a snapshot of the server in workstation and try an upgrade or change in software with no risk to the live machine.  The VMWare Server console lets me manage everything from my laptop too.  Wow.</p>
<p>I know that someone out there will believe that I&#8217;m a sellout because VMWare is closed source.  Which is probably partially true.  However, I&#8217;ve been using VMWare since it first came out.  Back at <a href="http://www.lecltd.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.lecltd.com');">LEC Ltd</a>, we used VMWare on the developer workstations to see how the web pages would look on different platforms.  Of course, we never thought about using it for server use &#8212; but now it seems that&#8217;s what the cool kids are doing.  An astute reader might wonder why I didn&#8217;t choose <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cl.cam.ac.uk');">Xen</a> or <a href="http://fabrice.bellard.free.fr/qemu/" onclick="javascript:pageTracker._trackPageview('/outbound/article/fabrice.bellard.free.fr');">QEMU</a>.  With regards to Xen, I&#8217;ve heard that Theo considers Xen to be more of a toy, however he might be coming around to it (this was a year or more ago now).  I did notice that there is a <a href="http://archives.neohapsis.com/archives/openbsd/2006-05/0260.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/archives.neohapsis.com');">Summer of Code request to make OpenBSD a native Guest OS</a>.  That might be really interesting, but it&#8217;s not here yet.  For QEMU, the big issue is that if you want native performance you need to the unfree accelerator program.  That, and it&#8217;s not as feature rich as VMWare.  Given that I have extensive VMWare experience too, it seemed like this was the fastest way to get running again.</p>
<p>So what is all this saying?  Basically, if you&#8217;re reading this weblog entry you&#8217;re connected to my VMWare server instance, now called &#8220;<a href="http://donkey.wagstrom.net/" >donkey</a>&#8221; running OpenBSD 3.9.  Well, if this post is recent that&#8217;s what happening.  In the future I should be able to upgrade pretty easy.  For now, the host machine for Donkey is a Pentium 3/900 with 640MB of RAM.  So far, so good.  I took extensive notes about the whole process and will be putting together a nice writeup soon.  If you&#8217;ve got questions about the process, feel free to email me in the mean time.</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2006/05/21/virtualized-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SunFire T2000 Setup</title>
		<link>http://patrick.wagstrom.net/weblog/2006/04/07/t2000-setup/</link>
		<comments>http://patrick.wagstrom.net/weblog/2006/04/07/t2000-setup/#comments</comments>
		<pubDate>Fri, 07 Apr 2006 15:55:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[sun]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=111</guid>
		<description><![CDATA[
This week I managed to unpack the T2000 server.   It&#8217;s a pretty large box,
but not overly huge.  The hard disks are nice little 73GB SAS drives that
pull right out of the box.  The CD/DVD drive is a sleek slot loading drive.
I do have to say, Sun did a good job making
this [...]]]></description>
			<content:encoded><![CDATA[<p>
This week I managed to unpack the T2000 server.   It&#8217;s a pretty large box,<br />
but not overly huge.  The hard disks are nice little 73GB SAS drives that<br />
pull right out of the box.  The CD/DVD drive is a sleek slot loading drive.<br />
I do have to say, <a href="http://www.sun.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sun.com');">Sun</a> did a good job making<br />
this box look really nice and sleek.  A datacenter of these things would<br />
be quite cool (literally and figuratively).
</p>
<p>
My initial hope was to commandeer a monitor, plug in a USB keyboard, and go<br />
at it.  One major proble, there is no video card installed on the box, although<br />
if I had an extra PCI-E card, it would be interesting to see what happens with<br />
one.  Initial system boot-up and installation is done via the serial console.<br />
Okay, find a null modem and a laptop with a serial port (my new T43p does not<br />
have a serial port).  Wrong.  Even if I could have found a null modem, the<br />
regular serial port is not the serial console, instead you need to use an<br />
RJ45-&gt;DB9 dongle to get a serial terminal.  Of course, these things were no<br />
where to be found around <a href="http://www.cmu.edu/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cmu.edu');">Carnegie Mellon</a>.
</p>
<p>
Luckily, an email went off, and a schmeatic of the circuit came back.  Thinking<br />
for a bit, I remembered that <a href="http://www.makezine.com/">Make Magazine<br />
vol 1</a> had an article on how to build a<br />
<a href="http://www.ossmann.com/5-in-1.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ossmann.com');">5-in-1 network cable</a>.  Off to<br />
Radio Shack for some parts.  Unfortunately, Radio Shack has slowly turned<br />
itself into &#8220;crappy overpriced cell-phone shack&#8221;.  Not a single RJ45-DB9<br />
connector was to be found.  The only DB9 connectors I could find were just<br />
a single snap in port.  In fact, they didn&#8217;t even have a coupler for RJ45.  So I picked up two of them.  The next step was to<br />
mangle an ethernet cable, and have some breadboard fun.  After about 30 minutes,<br />
I had my circuit.
</p>
<p><center><a href="/resources/images/blog/t2000SetupConverter.jpg"><img src="/resources/images/blog/t2000SetupConverter.thumb.jpg"><br />The Ghetto RJ45-&gt;DB9 Converter</a></center></p>
<p>
Luckily, after a little bit of tweaking the circuit, and reseating some wires<br />
on my breadboard, the ALOM on the T2000 started up and spit out data to the<br />
Hyper Terminal running on <a href="http://kristina.wagstrom.net/" >Kristina&#8217;s</a><br />
laptop.  It was pretty straight forward to get the network console running<br />
after this point, and yes, it can DHCP an address, but be very careful about<br />
putting the network admin port on a public network because the VxWorks OS that<br />
runs ALOM does NOT support SSH.  Suckage.  Here&#8217;s another shot of getting<br />
everything going.  I&#8217;ve got the serial terminal up on the HP laptop and the<br />
network terminal up on the T43p.  After booting into Solaris, it&#8217;s much better<br />
to use SSH to connect to the OS than go over the network terminal.
</p>
<p><center><a href="/resources/images/blog/t2000SetupComputers.jpg"><img src="/resources/images/blog/t2000SetupComputers.thumb.jpg"><br />Getting the T2000 Up and Running</a></center></p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2006/04/07/t2000-setup/feed/</wfw:commentRss>
		</item>
		<item>
		<title>T2000 Has Arrived</title>
		<link>http://patrick.wagstrom.net/weblog/2006/04/03/t2000-the-arrival/</link>
		<comments>http://patrick.wagstrom.net/weblog/2006/04/03/t2000-the-arrival/#comments</comments>
		<pubDate>Mon, 03 Apr 2006 17:52:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[sun]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=109</guid>
		<description><![CDATA[
After a long series of delays and communication problems, the T2000 server from
Sun has finally arrived.  Apparently there was an issue with my original submission back in February.  Once I
resubmitted my request I was approved in fairly short order and received some pretty good responses from folks at Sun.  Kudos to them [...]]]></description>
			<content:encoded><![CDATA[<p>
After a long series of delays and communication problems, the <a href="http://www.sun.com/servers/coolthreads/t2000/test/over.jsp" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sun.com');">T2000 server</a> from<br />
<a href="http://www.sun.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sun.com');">Sun</a> has finally arrived.  Apparently there was an issue with my original submission back in February.  Once I<br />
resubmitted my request I was approved in fairly short order and received some pretty good responses from folks at Sun.  Kudos to them for making the<br />
most out of an annoying situation.
</p>
<p>
I do have a few critiques about the process.  First of all, the sales people were, for lack of a better term, sales people.  I started to get<br />
random messages from people I had no knowledge of and seemed to have no relation to me.  I was sent an invoice with a subject line of &#8220;INVOICE&#8221;,<br />
which of course usually goes right to the spam filter.  Finally, I got some helpful documents under a subject line of &#8220;[Fwd: [Fwd: cool tool FYI]]&#8221;,<br />
with no explanation of why I was getting it.  So let me provide a few suggestions to make the process nicer to people like me:
</p>
<ul>
<li>Use informative subject lines that are not all capitalized.  Remove all those &#8220;Fwd&#8221; headers too.  Instead write &#8220;Helpful Sun T2000 Documents&#8221;.</li>
<li>If you&#8217;re going to send me an email from an address that looks real, make sure you reply to it when I ask a question about it.  This goes for<br />
	you, Rebecca Lukens.  I received an Invoice which said I needed to take some action regarding it, I replied to it with a few questions and never<br />
	got a response.  I tried again, and never got a response.  There was also no contact information in the message, which I&#8217;ve reproduced in verbatim here:</p>
<pre>Try &amp; Buy quote attached.  Thanks!</pre>
</li>
<li>Take some time to say why you&#8217;re emailing me.  For example Instead of the above message, I would have appreciated something like this:
<pre>Mr. Wagstrom,

Attached you'll find a quote for your recent Sun Microsystems T2000 Try and Buy request.
Should you choose to keep the machine beyond 60 days, you'll be required to pay the full
amount of the invoice unless other arrangements have been made.  For right now, please
enjoy the machine and we hope it sits your needs well.

If you have questions, you can contact me at:
[CONTACT INFORMATION HERE]</pre>
<p>	You&#8217;ll notice it&#8217;s a form letter.  They don&#8217;t even have to think more than pasting in the current text, but it would be very helpful to me. Also, the change would give it a chance of evading the <a href="http://www.cmu.edu/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cmu.edu');">Carnegie Mellon</a> spam filters.
	</li>
<li>When sending out unsolicited attachments via email, also include a web link to a site on sun.com where I can retrieve these documents.<br />
	I trust documents coming from sun.com more than I do general email that is sent to me from unknown individuals.</li>
</ul>
<p>
But like I said, the process was actually relatively painless.   A few frustrations, but I&#8217;m happy with the opportunity to test out this technology.<br />
We&#8217;ll start benchmarking it soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2006/04/03/t2000-the-arrival/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Phone Call From Sun</title>
		<link>http://patrick.wagstrom.net/weblog/2006/03/03/sales-call/</link>
		<comments>http://patrick.wagstrom.net/weblog/2006/03/03/sales-call/#comments</comments>
		<pubDate>Fri, 03 Mar 2006 21:50:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[sun]]></category>

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=108</guid>
		<description><![CDATA[
Last week I submitted a
try and buy request to Sun for some equipment to us on some research
projects at school.  In particular, I&#8217;m excited about using it to scan the
network for spyware.  I was a little worried that my information was not
processed properly as I got a brief error message upon submission of [...]]]></description>
			<content:encoded><![CDATA[<p>
Last week <a href="/weblog/computers/sun/sun-fire-t2000.xml">I submitted a<br />
try and buy request to Sun</a> for some equipment to us on some research<br />
projects at school.  In particular, I&#8217;m excited about using it to scan the<br />
network for spyware.  I was a little worried that my information was not<br />
processed properly as I got a brief error message upon submission of the<br />
request.  No problem, email my <a href="http://blogs.sun.com/roller/page/pwags"><br />
personal Sun representive</a> (aka my brother), and see what&#8217;s going on.<br />
After a few messages were passed around, I got an phone call from Sun today<br />
about the project.
</p>
<p>
As I thought, the machines are way backed up because of the massive response<br />
to their admittedly very cool offer.  I explained our situation to their<br />
educational sales person for the Pittsburgh area (note to Sun web folks, I<br />
could not easily find this information on your web site.  Instead Phil had to<br />
contact the sales person for the University of Minnesota who forwarded my<br />
information to the nice person here in Pittsburgh) and she seemed quite<br />
receptive and reassured me that Sun was processing the stuff and that our<br />
purpose seemed pretty novel and interesting.  So, we&#8217;re still in the queue,<br />
but it should be all good from here.
</p>
<p>
She could have just left it at that, but she didn&#8217;t.  She also was helpful<br />
enough to provide us information about Sun matching grants for hardware.  This<br />
drops the price of a 4 core box down to a more reasonable $3800 or so.  Pretty<br />
nice.  However, we still don&#8217;t have that much money, at least not yet.  Anyway,<br />
if this can run on $3800 hardware, I&#8217;d think that it makes things a whole lot<br />
more attractive for doing some sustained testing on the system.  We&#8217;ll just have<br />
to see how well everything actually runs on it.
</p>
<p>
Once this thing shows up I&#8217;ll be sure to blog some more and provide some<br />
photos of the system along with preliminary benchmarks.</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2006/03/03/sales-call/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sun Fire T2000 - Try Before You Buy</title>
		<link>http://patrick.wagstrom.net/weblog/2006/02/25/sun-fire-t2000/</link>
		<comments>http://patrick.wagstrom.net/weblog/2006/02/25/sun-fire-t2000/#comments</comments>
		<pubDate>Sat, 25 Feb 2006 21:44:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[sun]]></category>

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

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

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=110</guid>
		<description><![CDATA[
Last week, Phil sent me
an email about Sun Microsystem&#8217;s new
T2000 series
of servers, based on their Niagara core.  Basically, this is a 4, 6, or 8
core system, each of which can execute up to four threads in parallel.  It&#8217;s
supposed to be great for highly threaded, low FPU applications &#8212; like
web serving and database serving.


As [...]]]></description>
			<content:encoded><![CDATA[<p>
Last week, <a href="http://blogs.sun.com/roller/page/pwags" onclick="javascript:pageTracker._trackPageview('/outbound/article/blogs.sun.com');">Phil</a> sent me<br />
an email about <a href="http://www.sun.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sun.com');">Sun Microsystem&#8217;s</a> new<br />
<a href="http://www.sun.com/servers/coolthreads/t2000/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sun.com');">T2000</a> series<br />
of servers, based on their Niagara core.  Basically, this is a 4, 6, or 8<br />
core system, each of which can execute up to four threads in parallel.  It&#8217;s<br />
supposed to be great for highly threaded, low FPU applications &#8212; like<br />
web serving and database serving.
</p>
<p>
As part of their promotion, they&#8217;re doing this cool <a href="https://www.sun.com/emrkt/trycoolthreads/index.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sun.com');">Try before you Buy</a> thing.  Basically,<br />
you given them your information, they send you a server free for 60 days &#8212; they<br />
even cover postage.  You evaluate it, if you like it, you pay for it.  If it<br />
doesn&#8217;t work well for your field, send it back &#8212; once again, on Sun&#8217;s dime.  Pretty cool stuff.  What&#8217;s cooler, is that according to <a href="http://blogs.sun.com/roller/page/jonathan?entry=niagara_benchmarks" onclick="javascript:pageTracker._trackPageview('/outbound/article/blogs.sun.com');">Jonathan Schwartz</a>, they&#8217;re looking for people to benchmark these guys.  Specifically, if you<br />
do a good enough job on the writeup, they may let you keep it.
</p>
<p>
So, being the graduate student I am, I immediately realized a couple of<br />
different applications that I&#8217;d like to work on with this little guy.  Firstly,<br />
we&#8217;re going to see how well he works as a spyware monitoring box &#8212; run multiple<br />
instances of snort on him and a database to log everything to.  Should be<br />
kinda interesting to see.  Secondly, I&#8217;m going to try and use it for some of<br />
my network analysis stuff.  Specifically, seeing if it&#8217;s faster to run ORA on<br />
it, or at the very least what&#8217;s the overall throughput.
</p>
<p>
I&#8217;m a little skeptical about it&#8217;s performance on some of the measures in ORA<br />
because the cores share an FPU.  However, the integer measures should run quite<br />
nicely.  I&#8217;ll also put it through the mixer by running Automap on a large amount<br />
of text obtained from some of my open source reserach to evaluate how it&#8217;s able<br />
to build a network based on all that data.
</p>
<p>
So if folks from <a href="http://www.sun.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sun.com');">Sun</a> are reading this, please<br />
let me get the machine.  I&#8217;ve got real research to be doing here, and I&#8217;m even<br />
willing put down that I got cool hardware from Sun in my papers.  It&#8217;ll be even<br />
cooler if you let me keep the box.  Here&#8217;s hoping for some interesting results<br />
once it ships!</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2006/02/25/sun-fire-t2000/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gizmo - It&#8217;s like Skype, but without the suck</title>
		<link>http://patrick.wagstrom.net/weblog/2005/09/15/gizmo/</link>
		<comments>http://patrick.wagstrom.net/weblog/2005/09/15/gizmo/#comments</comments>
		<pubDate>Fri, 16 Sep 2005 01:25:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[computer]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=112</guid>
		<description><![CDATA[
When all the cool kids were raving about
Skype, I went and signed up for an
account.  I haven&#8217;t used it much.  I think I got maybe two calls on it, and
both times I didn&#8217;t have a microphone handy to actually take the call.
Something about Skype always made me a little uneasy.  Maybe it [...]]]></description>
			<content:encoded><![CDATA[<p>
When all the cool kids were raving about<br />
<a href="http://www.skype.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.skype.com');">Skype</a>, I went and signed up for an<br />
account.  I haven&#8217;t used it much.  I think I got maybe two calls on it, and<br />
both times I didn&#8217;t have a microphone handy to actually take the call.<br />
Something about Skype always made me a little uneasy.  Maybe it was the<br />
fact that they didn&#8217;t reveal just how it worked.  What encryption was in<br />
use?  Could they drop in on your calls?  Well, now that <a href="http://www.ebay.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ebay.com');">eBay</a> bought Skype, I don&#8217;t think I&#8217;ll use them much anymore.<br />
eBay is known for not being a very privacy friendly company, and let&#8217;s face<br />
it, their customer support sucks.
</p>
<p>
So what&#8217;s a guy like me to do?  Well, luckily Michael Robertson (the same<br />
guy behind MP3.com and <a href="http://www.linspire.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.linspire.com');">Linspire</a>), has<br />
started a cool toy called <a href="http://www.gizmoproject.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.gizmoproject.com');">Gizmo</a>,<br />
which is based on standard SIP technology. That&#8217;s nice.  They also have clients<br />
available for Windows, Mac, and Linux (linspire based debs, but whatever, it<br />
works fine on <a href="http://www.ubuntulinux.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ubuntulinux.com');">Ubuntu</a>).
</p>
<p>
What makes this really nice is that first, you get a free quarter to make<br />
phone calls.  At 1.8 cents a minute to the US this won&#8217;t go really far, but<br />
it should be enough for me to make a phone call or two.  Second, because it&#8217;s<br />
SIP based, you can dial into your client from any regular phone.  There&#8217;s a<br />
<a href="http://www.gizmoproject.com/access-numbers.html">list of access<br />
numbers</a> for a large number of cities.  Just pick an access number, press 1, and then<br />
type the SIP Phone number you&#8217;d like to dial (my SIP number is 1-747-617-4120).  With free long distance dialing<br />
on cell phones, this means that it&#8217;s no problem to call my computer from<br />
your cell phone.  That&#8217;s cool.
</p>
<p>
They&#8217;ve also got a slew of other nifty features, mainly made possible by using<br />
a real standard.  For example, if I get a voice mail, it gets emailed to my<br />
GMail account as a wav file.  Then I can download the file and listen to the<br />
message at my leisure.  I would also think that in theory that it should be<br />
compatable with <a href="http://www.zen13655.zen.co.uk/mythphone.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.zen13655.zen.co.uk');">MythPhone</a>, so you can easily integrate a phone into your MythTV box.  I&#8217;m just<br />
in a state of wow right now.  Maybe one of these days I&#8217;ll need to find a way<br />
to hook up <a href="http://www.asterisk.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.asterisk.org');">Asterisk</a> too.</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2005/09/15/gizmo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jesus makes an appearance in Unreal Tournament</title>
		<link>http://patrick.wagstrom.net/weblog/2005/03/23/mindebending/</link>
		<comments>http://patrick.wagstrom.net/weblog/2005/03/23/mindebending/#comments</comments>
		<pubDate>Wed, 23 Mar 2005 17:14:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[computer]]></category>

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

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

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

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

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=104</guid>
		<description><![CDATA[
MindBending Software produces nifty
products that inserts subliminal messages into games.  This is accomplished by
intercepting GL calls and layering new graphics on top of it.  They also
can perform some trippy transformations to get your zen on.  Unfortunately, it&#8217;s
really expensive, most modules will run you between $700 and $1100.  Ouch.


In particular, take a [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://www.mindbending.us/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mindbending.us');">MindBending Software</a> produces nifty<br />
products that inserts subliminal messages into games.  This is accomplished by<br />
intercepting GL calls and layering new graphics on top of it.  They also<br />
can perform some trippy transformations to get your zen on.  Unfortunately, it&#8217;s<br />
really expensive, most modules will run you between $700 and $1100.  Ouch.
</p>
<p>
In particular, take a look at some of the <a href="http://www.mindbending.us/videos.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mindbending.us');">videos</a> they have online.  I dunno if putting images of Jesus in<br />
a kids game of Grand Theft Auto is really going to help them.  Interesting<br />
technology none the less.</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2005/03/23/mindebending/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Network Construction at CSCW</title>
		<link>http://patrick.wagstrom.net/weblog/2004/11/18/networkconstruction/</link>
		<comments>http://patrick.wagstrom.net/weblog/2004/11/18/networkconstruction/#comments</comments>
		<pubDate>Fri, 19 Nov 2004 04:06:00 +0000</pubDate>
		<dc:creator>Patrick Wagstrom</dc:creator>
		
		<category><![CDATA[computer]]></category>

		<guid isPermaLink="false">http://patrick.wagstrom.net/wp/?p=107</guid>
		<description><![CDATA[
I&#8217;ve just finished working CSCW at
the Chicago Hilton hotel.  My role there was as both as student volunteer and
as the computing chair.  As computer chair my role was to ensure that the
attendees had network access and were able to connect to the Internet during
the main sessions to participate in back channel conversations.  [...]]]></description>
			<content:encoded><![CDATA[<p>
I&#8217;ve just finished working <a href="http://www.acm.org/cscw2004/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.acm.org');">CSCW</a> at<br />
the Chicago Hilton hotel.  My role there was as both as student volunteer and<br />
as the computing chair.  As computer chair my role was to ensure that the<br />
attendees had network access and were able to connect to the Internet during<br />
the main sessions to participate in back channel conversations.  My role as<br />
a student volunteer was to help out whenever possible.  I didn&#8217;t need to do<br />
a whole lot in that respect because most of my time was taken up by working on<br />
the network issues.
</p>
<p>
So let&#8217;s talk the original vision for the network.  Originally the conference<br />
was going to provide wireless access in the Marquette room on the third floor<br />
of the hotel for use as a email room.  We had a few computers that we rented<br />
and were connected by a wired network to the internet.  Downstairs the main<br />
sessions for the conference were to take place in the Continental ballrooms.<br />
This was one large room that could be separated into three different rooms.<br />
The original plan called for us to use the hotels wireless at their rather<br />
exoborant rate.
</p>
<p>
However, that would have been far too easy.  A week before I was supposed to<br />
arrive in Chicago, I received an email informing me that the hotel would be<br />
unable to provide the wireless access we requested.  Furthermore the contact<br />
for the hotel would not be in for the next few weeks (the email was<br />
conventiently sent at 7pm on a Friday evening).  Furthermore,  I was also<br />
informed that we now had to plan wireless access for another large ballroom<br />
on Wednesday.  This was due to another failure on the part of the hotel as<br />
they had &#8220;accidentally&#8221; given rooms we were contracted for to another group.<br />
At first the thought was that I could probably just ignore the other room<br />
and not provide access, then I was told that <a href="http://www.lessig.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.lessig.org');">Lessig&#8217;s</a><br />
talk would be in the new room.  Joy.
</p>
<p>
So, it went from being a very easy job to a rather difficult job.  I now needed<br />
to plan a full network for 500 people in about four days.  Did I<br />
mention I was really annoyed with the hotel by this point in time?<br />
Well, if not, I was.
</p>
<p>
So, I got a hold of Jim on Saturday afternoon to discuss what we<br />
should do.  The decision was made to give me the go ahead to purchase<br />
whatever else I needed.  I estimated that on the low end I would need<br />
about $700 worth of equipment to do the job and that on the high end I<br />
would need about $2000.  It&#8217;s hard when you can&#8217;t say what the power<br />
of the wireless signals will be or if you&#8217;re going need to buy a<br />
computer to serve as a DHCP server or not.
</p>
<p>
I ended up just upping my original order a little bit.  I had<br />
originally planned to order about 1000 feet of cable to wire whatever<br />
I really needed to wire, along with a crimper and some heads.  I also<br />
had already planned on getting four WRT54Gs and using those for the<br />
bandwidth upstairs.  I just upped the order by three and picked up a<br />
total of seven WRT54Gs.  In addition I ordered a 16 port wired switch<br />
for the Internet room.  Total bill for all the equipment (cable,<br />
crimper, heads, WRT54Gs, and switch) was just under $800.  I went with<br />
CDW because they were local and if stuff started blowing up they had<br />
same day delivery in downtown Chicago.  Plus, it wasn&#8217;t my money so I<br />
wasn&#8217;t concerned about saving $3 a router by going with some obscure<br />
website I had never heard of.
</p>
<p>
I arrived on Saturday morning and found that the equipment had arrived<br />
without any difficulties.  Everything was there in nice little boxes.<br />
Shortly after lunch time the tech from the hotel met me and we went to<br />
turn on all of the internet jacks in each of the rooms.  Brian, the AV<br />
chair went with me to make sure everythin went smoothly and to ensure<br />
I remembered where everything was.  That afternoon I set up the<br />
internet room.  I used two WRT54Gs for the room.  One was the primary<br />
connection and the other just served as a switch/access point.  They<br />
were put on two different frequencies, away from the Hilton&#8217;s<br />
channels.  I also made the decision to use the custom <a href="http://www.sveasoft.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sveasoft.com');">Sveasoft</a> firmware.  I&#8217;m not big on<br />
the fact that the guy behind it seems to be a dick, but I run an old<br />
version on my router and it seems to work well.  This just worked, no problem at all, it seems like everyone<br />
was able to utilize everything just fine.
</p>
<p>
The next day I set up everything in the ballrooms downstairs.  I had<br />
originally planned on doing one wireless network with a central DHCP<br />
server that I would have to purchase.  However, due to Chicago fire<br />
code, I was unable to do this as we&#8217;d have ethernet cable running<br />
across a doorway or two, which is verboten in Chicago.  Instead I made<br />
three different networks, each with a different SSID and on a<br />
different channel.  Fearing that I would run out of IP addresses, I<br />
limited the leases to 45 minutes.  Later this would come back and bite<br />
me in the ass.
</p>
<p>
On Monday the conference began.  It was not pretty.  While some people<br />
could get on the network just fine, others were having a horrible<br />
time.  There were a couple of reasons that first day.  One reason was<br />
just bandwidth.  I hadn&#8217;t blocked any services.  I did a little bit of<br />
sniffing on the network and found that there were people doing<br />
streaming video and BitTorrent.  At a conference you just can&#8217;t have<br />
this sort of thing going on.  Luckily, the firmware has a layer 7<br />
packet classifier that is able to block just those services without me<br />
blocking the ports.  This helped out considerably.
</p>
<p>
But we still had the problem with people not being able to get IP<br />
addresses.  It seemed like going up to the machines and rebooting them<br />
&#8220;fixed&#8221; the problem.  In the sense that it allowed people to get IP<br />
addresses, but it also sometimes caused address collisions.  People<br />
seemed okay with the network at this point, but they weren&#8217;t happy.  I<br />
decided to lower the lease time on the addresses, thinking that may<br />
have had something to do with it.  So I dropped the time to 15<br />
minutes, this only made the problem worse.  Sigh.
</p>
<p>
I didn&#8217;t get the problem figured out on Monday.  I could still<br />
associate with the access points if I gave myself a static address,<br />
but this was not practical for everyone.  Just to make sure that <a href="http://www.messyboard.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.messyboard.org');">Messyboard</a> kept running, I ran a<br />
200 foot ethernet cable to Adam&#8217;s display and gave him a couple of<br />
static addresses.
</p>
<p>
Tuesday rolled around and I was able to pinpoint the problem down to<br />
the DHCP server on the WRT54Gs dying.  There was pretty simple<br />
solution to this, just put something in cron to automatically restart<br />
the DHCP server.  The problem is where to put it.  Entries that were<br />
put in crontab just seemed to disappear at random, they were not<br />
reliable.  I found I could write a script and place the cron entry in<br />
/etc/cron.d and that would do the trick.  However, if the machine was<br />
rebooted then I would loose the script.  I made a copy of the script<br />
on my disk and proceeded to put it on each of the machines.  It<br />
worked like a charm.  I also realized that to minimize traffic on the<br />
DHCP server I should put the lease time at 2 hours, as the is the<br />
amount of time between sessions.  Important note for conference<br />
planners, put your lease times at the length of time of the sessions<br />
and no less.
</p>
<p>
Wednesday proved to be my biggest challenge.  There was session on<br />
backchannel communication in the morning that <a href="http://www.interrelativity.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.interrelativity.net');">Joe</a> asked me to attend to<br />
make sure everything worked fine.  I arrived down there early in the<br />
morning to drop another access point in the room.  Both were set to<br />
restart the DHCP server every 5 minutes.  Overall the backchannel<br />
session worked like a charm.  The presenters were all in the<br />
backchannel as were many people in the audience.  The two access<br />
points were serving 120 different wireless devices at the same time<br />
(70 on one, 50 on the other).  Yes, these little boxes kept going<br />
after I fixed the DHCP issues.
</p>
<p>
The backchannel session was the most stressful, but also the most<br />
rewarding.  After a while, I just stopped watching the routers because<br />
I become comfortable in knowing that they were going to keep on<br />
working.  Instead I just started searching for naughty pictures to<br />
make <a href="http://mamamusings.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/mamamusings.net');">Liz Lawley&#8217;s</a> instance of<br />
EtherPeg show funny stuff on the projector.
</p>
<p>
If I had it to do over, I would make a few changes.  First, I would<br />
definately find a way to wire all the access points together.<br />
Originally, this had been a possibility for us if I would have gotten<br />
one of the wedge things that your put in a doorway and run cables<br />
under.  This would have made everything much more seemless.  This<br />
would have also required a computer to manage all the addresses.  A<br />
little box from <a href="http://www.soekris.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.soekris.com');">Soekris</a> would<br />
probably do the trick.  This would also allow me to create a larger<br />
subnet, so I wouldn&#8217;t have to worry about running out of addresses.<br />
However, because we had to move upstairs on Wednesday, and thus the<br />
conference was split between floors, this turned out to be a<br />
non-option anyway.
</p>
<p>
The other thing I would do is give more thought to backchannel.  Most<br />
importantly, mandate compensation for <a href="http://www.freenode.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.freenode.net');">FreeNode</a> as part of the deal.<br />
They are great folks and really helped us out a lot.  Secondly, get a<br />
bot that is able to post the logs and an archive of the links on a web<br />
page.  Lots of people have asked for the logs, which have <a href="http://patrick.wagstrom.net/research/cscw/" >been posted</a> to<br />
my webpage.  I&#8217;m not entirely sure about the need for a wiki during<br />
the conference, but post conference, it seems like it would have been<br />
helpful.  During the conference it was great to have Messyboard<br />
running in a highly visible location.  I can&#8217;t stress that enough.
</p>
<p>
Finally, one last thought is that it might be nice to have a <a href="http://planetplanet.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/planetplanet.org');">Planet</a> style weblog aggregator for<br />
people who are blogging at the conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://patrick.wagstrom.net/weblog/2004/11/18/networkconstruction/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
