shawn is currently certified at Master level.

Name: Shawn T. Amundson
Member since: N/A
Last Login: 2009-11-20 20:21:40

FOAF RDF Share This



The one previously known as Snorfle.


Articles Posted by shawn

Recent blog entries by shawn

Syndication: RSS 2.0


I am currently working for the Digital Technology Center at the U of MN as a systems administrator. Current projects at work include getting rid of all old Red Hat 7.x machines in favor of my automated Red Hat 8.0 install, which includes a lot of custom scripts to automate things such as file distribution (based on rsync) and installation. My current favorite automation bit is an e-mail which I am sent if the machine needs to be rebooted and no one is logged in. (Useful for kernel upgrades.)

Free Software

Have done some more hacking on Fabric, and even uploaded a new version up on the ftp site, but didn't bother to announce it since competition from Apache projects makes it unlikely for Fabric to gain any real popularity. I could see this changing if we get some high-profile sites using Fabric, but otherwise there is a lack of good big-site example code, since all that James and I have written has been for commerical entities.


I bought a Canon S230. It is awesome.


I attended a peace rally at Macalester College last Saturday. I was amazed at the turnout... quite a bit larger than I would have expected. My primary interest is to attempt to gain some proficiency at using a camera at such events. I took about 69 photos and a few video clips, and wasn't happy with any of them. But, I suspect there will be plenty of time to try again...


My temporary job at the U of MN as a systems administrator is coming to an end, so again I'll be looking for work. Of course, I'm still doing EventLoop stuff part-time, but it doesn't pay the bills currently.

Free Software

I'm preparing to do a new release of Fabric in the next few days. It has been quite some time since the last release and there has been quite a bit of activity in our CVS since that time.

The Rats

Unfortunately, grep has passed away from a tumor. Awk is doing fine, although a bit lonely.


The week has been going pretty well. I've written quite a bit of our new business plan this week and will hopefully be finishing it up in the next few days. We are considering moving to a renovated warehouse place in downtown Minneapolis.

We are still looking for a contract, but haven't done so very actively yet. We will start doing this in the next week or so.


My belief in people was a bit shattered to hell this week and strengthened at the same time. A girl I was seeing did some pretty cruel, stupid, and slut-like things. Someone else did remarkably admirable things. In any case, an overall hard and stressful week.


I tell you, having gout sucks ass. I have medicine now that is supposed to prevent it, and I've actually been taking it for like 3 weeks almost now. Well, it happens that when you start taking it actually gives you gout. Suck. Suck. Suck.


The rats are growing.


EventLoop is hiring another person, who starts in one week. Expanding from two to three people is exciting! This week we are searching for new office space, since our current space gets a little cold at night when then turn off the heat. This is fine for insane business owners, but on the questionable side for building an actual staff of people.

We are looking for a contract right now doing Java, C, or C++ coding. It would be nice to work on something that is open source and visible, but I suspect that is unlikely. With the hiring of our new staff member, we will be consulting out security and general UNIX administration services as well.

Other things going on this week: ordering of new workstation, perhaps server hardware even, and revamping of website.


I received a gift of rats. Two of them, female. I named them 'grep' and 'awk'. I know, I know. But I have always wanted a reason to yell "awk, sed, grep!" in my apartment. Anyway, awk is the squeeky rat. These two rats are lovers, I'm sure of it. They are very happy. Grep is the dominate female. She steals the food and wakes up awk a lot, which I think is why awk is always squeeking.

I've been having people over on Sundays and that is fairly fun. I feel almost social at times. Maybe I should get back to coding, eh?


My foot is sore, so I'm using that as an excuse to skip the rest of ballroom dance club lessons. This usually happens when I join the BDC: I quit about three weeks into it. I think I need to find someone who engages me, and will patiently practice with me so I'm prepared when I get the chance to dance in public.


I tried to get BeOS 5 Personal Addition working last night. First, I tried to install it onto the machine I have BeOS 4.5 running on. However, the installer is for Windows and could not figure out how much disk space was available so wouldn't install on that machine.

Then I tried to install it on my iMac in Virtual PC. If I could get it working there, I could finish getting the GTK+ port integrated into mainstream at home. However, my experience was not so great. It installed fine and boots, but it is really slow and doesn't function very well at all. Ah well, it was a long shot. (It works better than 4.5 did though.)

I'd really like to get BeOS working on a notebook. It seems like the Sony VIAO's might be supported, but I only infer that from support for the VIAO CDROM drive. A list of known supported laptop models would be useful.

I'm going to try and get it running on my oldish Toshiba notebook. I would have tried last night but unfortunately I need a floppy to boot and the floppy was, of course, at work and not at home where the notebook and I were. I do not know if there will be enough room to even test BeOS on my notebook, since it's a 1GB drive.

The biggest problem with working on the GTK+ port for BeOS right now is that the BeOS box is at work and I need to do work when at work. So, it's been getting ignored. I've considered taking that machine home so I can work on it there.

Ideally though, I could work on it on a notebook so I could do things requiring high-bandwidth connection at work and then the real work off-line. Ah well.


I have LinuxPPC installed on my iMac now. I don't know the secret to using a one button mouse in X yet, so I can't configure any of the GNOME stuff. I think I might have to install a different X server, but I haven't even looked into the options yet.

Macs have the same firmware as Sun machines, which really kicks ass. I've set my iMac to stop at the firmware before booting, once flaggz figured out how to do that on his new powerbook.

GNOME on the iMac is incredibly slow. It could be partially due to the speed of the framebuffer X server, but I think it probably has more to do with one of the panel's applets sniffing everything that happens in a very inefficient and slow ass manner. To put it mildly, out of the box GNOME on LinuxPPC sucks. I had a similar performance issue on Intel Debian as well before I got rid of the majority of the applets. By default, it was also using Enlightenment and not Sawmill - duh. And the default theme obscured the corners of windows. Who's bright idea was it to make that default?

Switching between text consoles and X when using the framebuffer X is almost unbearably fast and cool. It's freaky. You expect the normal slow video switch to happen and instead it's there ready for you to type. It's really very cool.

Once I have GNOME configured to a minimum of crappiness (as opposed to the default), and have correctly set up the framebuffer or other X server on the iMac, and either get a multibutton mouse or figure out the command keys to do a click, I think I'll actually be able to do some programming on that machine. Cool.

Photo Exibits

Now here is a cool thing. Check out the Photo Exibit System. It's done by Xach on Basically, it allows you to comment all those photographs you have up on the web. If I had any photos online, I'd enter them (and not only because Xach would be twisting my arm). I think you should enter yours.

Perhaps Advogato needs the ability to let a hacker upload a photo, to display on his public page.

Crappy APIs

At work, flaggz and I are discovering just how poor APIs can get. We are working with a vendor who is giving us Java APIs written by someone's first chance to code with Java. These APIs are simply horrible! They now have new people coding on this stuff, but we are stuck working with this crap.

For example, it allows you to create an object. This object has a phone number associated with it. The object has a method getPhoneNumber() which returns a String. That method is only valid right after you create the object for the first time. When you look it up again, it isn't valid to use that function. That's right, depending on state, it isn't valid to use the function. You heard me. Ok, maybe a code sample (this isn't the real code, just illustrating what I mean):

    // Next line creates an object with a lot of non-working
    // functions.
    Foobar foobar = new Foobar(); 

    // Set some attributes of foobar here/ ...

    // The next line takes the attributes we set and creates it foobar.create();

    // this is the only time the next method is valid phone_number = foobar.getPhoneNumber();

    // Then, if you look it up later: FoobarParent parent = new FoobarParent(); Foobar foobar = parent.getFoobar();

    // The next line is an error, we can only do this after a // create(). Stupid, eh? phone_number = foobar.getPhoneNumber();

    This is just insanity. It would be better if it were something usable, like:

      // Create object in one step, never allow an object you
      // can't use. This could just return an object Foobar too,
      // depending the expense of creating the object.
      int foobar_id = Foobar.create(...);

      // Look up given the ID, all functions are *always* valid. Foobar foobar = Foobar.find(foobar_id); String phone_number = foobar.getPhoneNumber();

      Oh well.

      Flaggz will be wrapping all of their API inside a sane one as we wouldn't want to taint the rest of our code with this API. Unfortunately, we will have to keep the phone number information around in our own database since we can only get it once. What a great design decision on their part.

      Hiring People

      Our company is trying to expand from 2 people to like 5 or so. I thought this would be fairly straight forward. Apparently, it's more difficult than that. I'm now convinced that people we want to hire are not only good at what they do, but also intelligent enough to have already landed them in a situation they find acceptable. So, the few friends we wanted to come work for us don't want to leave their jobs. Of course, there is a lot of risk involved in working for a company this small, which I think has a lot to do with it.

      If they wanted to leave their current job, they would have done so already. There seems to be a significant barrier to leaving someplace that isn't that horrible. If nothing else, this has proved interesting. Perhaps the good people end up with jobs they like; that's kind of a nice thought anyway.

      The main disappointment here is that we really want to hire on people we know, so that when we grow more that we have a solid base of people that we can trust and that we know can help us lead and manage the company in the correct manner. Instead, we might end up just hiring people we don't know to do Java coding and fill in our management later on.


      Ok, I've finally watched Das Boot. This movie is 3.5 hours long. That's long enough to require you to flip of the DVD part way through. It is an very good movie. Watched Wallace and Gromit as well... kick ass. Next in the queue to watch are Grey Owl and Summer of Sam, which are sitting on my speaker at home.

      I watched the new Jet Li movie in the theater, Romeo Must Die. It's not all that great. flaggz hated it. Jet Li is pretty cool, but this movie's fight scenes were unrealistic and the script could have been better.

12 older entries...


shawn certified others as follows:

  • shawn certified Slow as Journeyer
  • shawn certified xach as Journeyer
  • shawn certified timj as Master
  • shawn certified tigert as Journeyer
  • shawn certified lewing as Master
  • shawn certified yosh as Master
  • shawn certified hp as Master
  • shawn certified Adrian as Journeyer
  • shawn certified federico as Master
  • shawn certified maswan as Apprentice
  • shawn certified jmacd as Journeyer
  • shawn certified nether as Journeyer
  • shawn certified stric as Journeyer
  • shawn certified vicious as Journeyer
  • shawn certified Centove as Journeyer
  • shawn certified sjburges as Journeyer
  • shawn certified raph as Master
  • shawn certified shaver as Journeyer
  • shawn certified clahey as Journeyer
  • shawn certified alan as Master
  • shawn certified kelly as Journeyer
  • shawn certified cameron as Apprentice
  • shawn certified tml as Master
  • shawn certified mitch as Master
  • shawn certified chrisd as Journeyer
  • shawn certified neo as Master
  • shawn certified sopwith as Master
  • shawn certified davidr as Master

Others have certified shawn as follows:

  • raph certified shawn as Journeyer
  • lewing certified shawn as Journeyer
  • timj certified shawn as Journeyer
  • flaggz certified shawn as Journeyer
  • yosh certified shawn as Journeyer
  • frb certified shawn as Journeyer
  • sjburges certified shawn as Journeyer
  • garrett certified shawn as Journeyer
  • Slow certified shawn as Master
  • Centove certified shawn as Journeyer
  • ole certified shawn as Journeyer
  • goran certified shawn as Journeyer
  • terral certified shawn as Master
  • cameron certified shawn as Journeyer
  • xach certified shawn as Journeyer
  • Radagast certified shawn as Journeyer
  • egad certified shawn as Journeyer
  • nether certified shawn as Journeyer
  • Raphael certified shawn as Journeyer
  • Acapnotic certified shawn as Journeyer
  • kelly certified shawn as Master
  • andrei certified shawn as Journeyer
  • Iain certified shawn as Master
  • mitch certified shawn as Master
  • scottj certified shawn as Journeyer
  • timg certified shawn as Journeyer
  • neo certified shawn as Journeyer
  • mjs certified shawn as Journeyer
  • duncan certified shawn as Journeyer
  • bernhard certified shawn as Journeyer
  • lupus certified shawn as Journeyer
  • plundis certified shawn as Journeyer
  • odaf certified shawn as Journeyer
  • jrennie certified shawn as Journeyer
  • asmodai certified shawn as Journeyer
  • harinath certified shawn as Journeyer
  • jae certified shawn as Journeyer
  • nixnut certified shawn as Journeyer
  • timur certified shawn as Master
  • davidr certified shawn as Journeyer
  • sh certified shawn as Journeyer
  • pcburns certified shawn as Journeyer
  • DerekRader certified shawn as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page