Any idiot can drive fast in a straight line

Saturday, August 17, 2002

"I can't belive this chipset isn't supported."
"Dude, it's Minix."

Friday, August 16, 2002

More quotes:

<Setups> is it a forest fire?
<SneakyPete> wtf going on setups? what state?
<Setups> its in alberta
<Setups> canada
<Raider|FIRE> must be forest fire
<travelyan> they have fire in canada?
<Setups> fuck you
<Setups> eh

<Overlord> That just pooped into my head.
<Overlord> Ack, one of my worst typos.

<faustwork> the gf wants underwear for xmas
<faustwork> i cant stand going shopping for em tho
<faustwork> i feel like a goon
<faustwork> maybe its because i rub them all on my face

<@harb> Also, the waitress at Applebee's thought we were gay.
< espo> LOL
< espo> why is that?
<@harb> Because Andy's a fag.
< espo> did she say "Are you two gay?"
<@harb> No.
<@harb> She asked if we wanted to split dessert.

<gig103> I drove by the fire department the other day, and they had a big public awareness sign that read, "Are your house numbers visible?" I thought, "Who the hell cares? How about you just stop at the house that's on fire?!"

So true. Ever since I started working 7AM - 4PM, my caffeine intake has doubled. Mind you, it was horribly high before. Now, I average about 72 ounces of pop (usually Diet Coke or Diet Pepsi) and 45 ounces of coffee. That must be how I can type so fast. I don't actually type, I just vibrate over the keyboard.

So I finally moved out of 214 N Thayer, Penthouse C, last night. I had to make three car loads back to my parents house in Livonia and one truck load to Matt's place in Ann Arbor for everything! I will definitely need to sort through my crap and sell/give away some of it. I was so worried about getting everything packed from my room that I missed a very important item I stashed downstairs: my laptop! Luckily, Matt grabbed it for me.

VH-1's list of the 100 Greatest Women of Rock & Roll. My favorites and where they rank:

36. Bjork
55. PJ Harvey
71. Tori Amos
94. Liz Phair

People on this list I have never heard of:

12. Debbie Harry
24. Dusty Springfield
25. Marianne Faithfull
26. Bessie Smith
48. Dinah Washington
50. Sarah Vaughan
52. Laura Nyro
57. Mavis Staples
60. Ruth Brown
75. Exene Cervenka
85. Petula Clark
99. Tina Weymouth

How sad is that, my unknown list is three times the size of my favorites list.

Thursday, August 15, 2002

Here is a little perl script that I wrote for work over the past couple days. Basically, our E10K (named CAD) had a hardware failure and the Oracle database struggled to come back up afterward. The senior UNIX admin was having trouble getting a Korn shell script to correctly report whether or not a process was running. Originally, this perl script would just grep the process list for one specific process and then shoot off an email to a list of admins. Now, it will look for any number of processes and send emails to any number of specified admins. The comments should explain it all. The only line that might need some explanation is this one:

foreach $recipient_number (@{$process_recipient_bridge[$process]}) {
process_recipient_bridge is an array of arrays (or list of lists, if you will). I want to get access to one of those internal lists. To get a single element in an array of arrays, you would use $array[index1][index2]. To get a whole array out, you still use $array[index1], but then you have to cast that as an array: @{$array[index1]}.

If you want to run this on a BSD, OS X or Linux system, make sure that you change "ps -ef" to "ps -ax" and "mailx" to just "mail".
#! /usr/bin/perl
#    CAD Process Alert Script                             #
#    ------------------------                             #
#                                                         #
#  Usage:                                                 #
#    Run as a cron job.  The script will verify that      #
#    specific processes are running on CAD.  If any       #
#    of the processes are not running, emails and         #
#    pages will be sent to specified admins.  There       #
#    will be no output to log files or the terminal.      #
#                                                         #
#  Configuration:                                         #
#    Process list:  This is an array of arrays.  The      #
#    syntax is ["process_name", "alert"] for each         #
#    item.  Process name is what the script will          #
#    look for in the process list.  The alert is          #
#    a description of the problem that will be sent       #
#    to the admins.                                       #
#                                                         #
#    Recipient list:  This is an array of email           #
#    accounts that will be sent an email when there       #
#    is a problem with a process on CAD.  Make            #
#    sure to place a slash ("\") before the "@"           #
#    sign in all email addresses.                         #
#      Example: "email\@CENSORED"                         #
#                                                         #
#    Process to recipient bridge:  This is a list         #
#    of lists.  Each list corresponds to a specific       #
#    process (thus, the first list corresponds to         #
#    the first process).  Said list contains the          #
#    indices for the email recipients (thus if a          #
#    list contains [4,7,10], the recipients at the 4,     #
#    7, and 10 indices of the recipient list will be      #
#    sent an email.                                       #
#                                                         #

@process_list = (
	["ora_pmon_citrix", "The ora_pmon_citrix process is not running on CAD.\n\n
Please check the status of your Citrix servers"],
	["ora_pmon_prod", "The ora_pmon_prod process is not running on CAD.\n\n
Please check the status of your Iman services"],
	["LISTENE", "The Oracle listener process is not running on CAD.\n\n
Please check the status of your Citrix servers."],

@recipient_list = (

@process_recipient_bridge = (

sub process_check {
	my $process = shift(@_);
	$process_name = $process_list[$process][0];
	$ps_text = `ps -ef | grep $process_name | grep -v grep`;
	if ($ps_text =~ /$process_name/) {
		return (0);
	return (1);

sub send_alert {
	my $process = shift(@_);
	$alert = $process_list[$process][1];
	foreach $recipient_number (@{$process_recipient_bridge[$process]}) {
		$recipient = $recipient_list[$recipient_number];
		open (MAIL, "|mailx -s \"CAD Process Check Failed\" $recipient");
		print MAIL $alert;
		close MAIL;

for ($lcv=0; $lcv<@process_list; $lcv++) {
	if ( process_check($lcv) == 1) {

Wednesday, August 14, 2002

So, my favorite field is finally starting to produce fruit: I Can See (Wired cover). Ever since I read all 5 pages of this article this morning, my mind has been awhirl.

First, the techology behind this is amazing. The camera, not amazing. The computers, not amazing. The software, not amazing. The neural implant, bingo. If you have read the article, you will know that this implant sits directly atop the visual cortex. The resolution is not that high, but it does allow the user to perceive objects.

Second, I am rethinking my future plans again. Cybernetics is now, the proof is here! This is just the beginning, this is just what the public knows. I am sure that many of my dreams will be realized by the end of my lifetime (which should hopefully coincide with the end of this century). Why should I limit myself to basic computer support work my entire life? Why should I try to get an MBA and join the management track before I am 28? Technology and cybernetics are two true loves. Repairing vision (of this fashion) is simple in comparision to what is possible! Maybe I should have stuck with my plan to become a biomedical engineer. Too bad UMich didn't offer a BME undergraduate degree when I was applying.

Third, I really want to watch Ghost in the Shell again.

Never, under penalty of death*, should you order the clam chowder at Quizno's.

*Death by viscous, oil-layer-covered, hard-clam-chunk soup. Best described as melted butter with ripped pieces of boiled spam.

Monday, August 12, 2002

My Fall 2002 schedule is now available. All 400 level courses from here on out.

When I meet someone new, eventually the conversation will turn toward basic formalities. One of these formalities is usually in the form of the question "What are you majoring in?", asked after they find out I am in college. My answer, "Biology and computer science.", is always countered with one of two responses:

  1. ::Hesitation, look of confusion:: "Really... That's different."
  2. -OR-
  3. ::Hesitation, look of interest:: "Wow, that's pretty cool. What are you going to do?"
The people that are just confused, I basically ignore. There is no point trying to explain the purpose of my life to people that could not care less. As for the second camp, they might get an explanation if they are lucky. So, are you interested? Let's hope so:

Since I was about 10, I always wanted to be a doctor. First it was a trauma surgeon, then it was a neurosurgeon, then I finally decided to pursue a surgery tract when I finally got to med school and to find what I liked once I got there. As the years rolled by, more and more factors disuaded my dreams of cutting people up.
  1. First, there were some complications with surgery and a close family member.
  2. Second, the significant other of a different close family member was going through his rotation and all I ever heard were horror stories.
  3. Third and finally, I got rejected when I attempted to apply to the honors pre-med program at UMich.
When I got to UMich as a generic honors undergrad, I was still considered undeclared but with a slant toward pre-med. My freshman year was filled with a very bland assortment of classes, nothing that would lock me into pre-med. These classes were:

First Semester:
  • Spanish 232 (Spanish IV)
  • Great Books 191 (honors writing, ancient Roman and Greek texts)
  • Chem 210 (Organic Chemistry I)
  • Chem 211 (Organic Chemistry I lab)
  • Math 215 (Calculus III)
Second Semester:
  • Spanish 275 (Spanish Grammar)
  • Great Books 222 (honors writing, ancient and current Japanese texts)
  • Chem 215 (Organic Chemistry II)
  • Chem 216 (Organic Chemistry II lab)
  • Math 216 (Differential Equations)
By my second year, I had started working at the Daily doing basic computer support. That summer, we embarked on moving our single email/web/file/dns/dhcp server on a 9600 Powermac running Linux to a small handful of x86 OpenBSD machines. As cheesy as it may sound, that changed my life. I was hooked on UNIX and BSD and systems administration. The very next semester, I started taking computer science classes. At that point, I was already very close to finishing my biology degree, so I decided to pursue both.

As of now, I doubt I will ever use the biology degree. My future is filled with computers (whether it be administration or programming or web work, we shall see). I might combine the two degrees by working in the emerging field of bioinformatics, or maybe I will pursue an earlier dream of working in cybernetics.