Any idiot can drive fast in a straight line

Friday, September 13, 2002

As much as I hate using this page as a place to rant, sometimes it has to be done.

The first assignment for my senior design project is due this Wednesday. Basically, it is a presentation that explains the requirements of the project. In order to do the presentation, we need to have a good idea of what the project will be. Since our project was pretty open-ended, that required meeting with the client (in this case, the biomedical engineering professor). Professors are busy people, and thus he could not meet with us until today. He found an opening in his schedule and emailed us at 11:15 AM saying he was free from noon until 2 PM. None of my other group members could make it, which is understandable given the short notice. Thus, I had to meet with the professor by myself, while still extremely sick. Luckily, I was able to be partially coherent and not spray snot all over his office walls.

Since I am poor and car-less, I took the bus from north campus back to central campus after the meeting. There was one kid standing up in front of my seat while myself and the kid next to me were trying to get off the bus. I let the kid next to me get up first, then I started to stand up. When the first kid got up, the guy that was standing slid back and was directly in front of me. Without even looking above me, I stood up. I stood up directly into the guys elbow. Crack, right on top of my head. Now my leg and my head hurts.

On top of still being very very sick, I was woken up this morning at 5:45 AM with the most excruciating charley horse in my right leg. It probably only lasted 15 seconds, but it felt more like a minute. Here we are, seven hours later, and my leg is still in pain. I need to reboot my body.

Thursday, September 12, 2002

Trojaned OpenBSD CDs. Making your own ISO of OpenBSD is a trivial exercise. Hell, I make an i386 specific ISO every time a new version of OpenBSD comes out. You can still get the latest one here. People buy the CD to support the project, and that's it. No one that has the technical knowledge to need/want/use OpenBSD would be unable to make their own CD. To all the people that bought this trojaned CD, installed it and got 0wn3d, you deserved it.

TCP/IP Sequence Number Analysis. Instead of simply stating that Mac OS 9 has a very predictable TCP/IP sequence, there are graphs that show the spread of such "random" numbers. Very enlightening.

Wednesday, September 11, 2002

A sinus infection has left me completely incapacitated. I had to skip class yesterday, and I may do the same today. I woke up this morning feeling like I had the worst hangover of my life. My stomach hurt, my head was throbbing and my muscles were sore. Yesterday, my nose was leaking like a burst water main. It was quite odd, minding my own business, playing on the computer, then feeling a hot river of snot pour from my nose with undying fury. The taste, that was what got to me the most. Today, my combination of ibuprofen, asprin, claritin, generic over-the-counter decongestant and antihistamine and mulit-vitamins might keep this sickness in check

Monday, September 09, 2002

I finally got my MDE project:

We run some large image processing tasks that run over many processors. We've developed our own code to distribute computations over several Unix systems, but it's really out of date. In particular, we need to take advantage of the compute power in Linux clusters. We have our own small cluster and we would liek to exploit the capabilities of the large cluster in the Center for Parallel Computing. One of my students provided the following request. I think this would make a great senior design project with real applicability in the commercial world....
How about a tool set for running background C code or MatLab jobs. Kind of like the launch program, but for use on our local Athlons. A script would detect what machines are idle and launch jobs in a joblist serially. Alternatively, and even better, they could get an account at the Center for Parallel Computing for the Athlon clusters. These clusters use SMP parallel computing additions to the C language. For independent C processes like our tracking, it would not be that hard to write scripts that modify the C code so it can run on these Athlon clusters, and maybe even automatically launch it and give feedback in the process. So users can run independent C code on these systems without having to learn the SMP additions or details about the parallel cluster. Automatic transfer of files without interactive authentication and big/little endian compensation may pose some challenges.
This is a seriously under-developed project description. We are going to have a meeting with the professor that suggested this project to get some solid details. The cool part about this professor is that he works in the biomedical engineering department. My bio degree will make it easier to get in his head.

Sunday, September 08, 2002

I have another project to add to my list. Hopefully I will finish one of these this semester.

For the sake of argument, I will define the "lifespan" of an operating system to be from the day it is released to the public (either for purchase or for download) to the time *two* new versions of the operating system have come out. An example would be OpenBSD 2.9. It was released on June 1st of 2001. Since OpenBSD 3.1 (the second version past 2.9) came out on May 19th of 2002, the lifespan of OpenBSD 2.9 was 06/01/2001 to 05/19/2002.

Over the lifespan of OpenBSD 2.9, there were 27 different patches. That might not seem like much, but that is over two patches a month. For a company that has many servers, that could be a lot of patching. Likewise, the current version of OpenBSD (3.1) has 14 patches already. That version had only been available for under three months when the last patch was issued.

Now that I have that cleared up, time for the actual project: An OpenBSD version of Windows Update. Since no self-respecting BSD admin would go to a website for their patches, BSDUpdate would be a command-line tool. It would check the current state of your system, verify which patches were needed, and download them. The tool can then install the patches and restart services as/if necessary. The tool could also be put in "automatic mode" and placed into a cron job for completely seamless updating.

This is actually a very easy project (but also time consuming). Nevertheless, I will be damned if I ever finish it.

School started this week, which is the main reason why my post frequency has dropped to near-zero. My classes for this term include Operating Systems, Molecular Biology and the Major Design Experience.

Operating Systems is not as cool as I thought it would be. Instead of getting an overview of the 1.9 million topics involved with operating systems, we are only learning threads and file systems. So disappointing. Molecular has been good so far, which is surprising. By now, I thought I would be horrifically sick of anything biology related. I talked to someone new in class for the first time in practically three years, so that might help. And finally, the Major Design Experience (MDE): 8 credits for a single project. We were given something like 30 projects to choose from. We got to pick our top three, then the professors will put us into groups. My choices were:

  1. Writing a set of UNIX/Linux tools to ease administration of a network that includes UNIX, Linux, Windows and Mac workstations.
  2. Add an extension to the university LDAP server so that email groups can have their list archived or sent as a digest version.
  3. Rebuild the EECS website, both the design and the database backend.
I don't care which one I get, they should all be fairly easy. Time consuming, but easy.

Once I get into the swing of things, I am sure I will be back to posting (almost) everyday. I don't even have a desk in my room yet, so it might be awhile.