The Boston Diaries

The ongoing saga of a programmer who doesn't live in Boston, nor does he even like Boston, but yet named his weblog/journal “The Boston Diaries.”

Go figure.

Saturday, January 01, 2000

It's the end of the world as we know it

So with much fanfare, fireworks and music, we announced the arrival of The Year Two Thousand and depite the hype for the Year Two Thousand Bug, nothing much of not actually happened, which is a good thing.

The party was hosted by my friend Teen and her boyfriend outside their home in lovely Parkland, FL. They dig a pit for the bonfire and by the time I had arrived at 9 pm, it was pretty thick with coals already. By the time my friend Shane and I put the fire out, the coals were hot enough to melt glass.

The actual fanfare consisted of a lot of fireworks being set off by various party members. All of the fireworks consisted of variations on Roman Candles—none of the fireworks we had were capable of being fired up in the air—but we did have enough going that a large cloud of smoke was drifting its way lazily across the field and the nearby horses (the party was held near a stable) were all spooked and one broke out of its stable.

The fact that I still had a house, with power, was a plus.


The garage is over there, but you can't park there …

After getting up from the previous night's (and morning's) celebrations, I had enough time to check some email before heading out to the Ft. Lauderdale/Hollywood International Airport to pick up some friends returning from visiting family.

The Ft. Lauderdale Airport used to be a decently designed airport—three terminals in a U-shaped configuration, with a parking garage nestled between the terminals. It was an easy matter of parking, and walking to the appropriate terminal. The airport itself is accessable directly from the freeway (exit 11B on I-595 east). Nice. Simple. Easy.

Well, it used to be.

Since I last picked someone up, they've started construction on a new terminal (renumbering the original ones) and a new parking garage, in front of the old one. Driving into the airport there was one of those large digital signs used for construction pointing the entrance to the new garage was this immediate left turn from which a few cars were trying to leave the garage. Just a mess.

Once parked, I found it impossible to find a way to actually walk out of the garage and to any of the terminals, and from what I could see, there was no way to get to the terminal I needed to be at (the one farthest back) except to leave this garage, and drive to the original one next door.

Fortunately, I wasn't parked long enough to accrue a charge, but still, I had to circle back around the airport, in which I missed the pickup lanes (I ended up on the upper level reserved for dropping off passengers). I did manage to find entry to the original parking garage but that did mean I was several minutes late in picking up my friends.

I walked into the airport and immediately found Paul. Which isn't hard when you're looking for a 6'4" bald guy. His wife, Lorie was on the upper level where the gates are, looking for me. So I told him to stay put and I'll go find his wife.

I head upstairs and I don't see her. Walk down the entire length of the terminal, head downstairs and walk back to Paul.

“Didn't find her,” I said. “Which gate did you come in?”

“The one above the stairs over there,” said Paul. I took leave again, rode the escalator up and found Lorie waiting for me at the top.

“I was worried you forgot about us,” she said.

“Nope, I just got stuck in the parking vortex of Hell,” I said. We then proceeded to walk downstairs, to collect Paul and the luggage and then headed out to my car.

I drove them home, then we went out for a nice dinner.


V2_OS and other strange brews

Checked up on VS_OS today. Surprise, surprise, they finally released the source code. Immediately downloaded it and took a look.

Nothing surprising really, except that the source code to the bootsector is missing. Or rather, there is code to a boot sector, but …

BOOTIMAGE    DB 0E9H, 011H, 001H, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 02BH, 056H
             DB 032H, 05FH, 046H, 053H, 02BH, 000H, 030H, 030H, 030H, 02EH
             DB 030H, 030H, 035H, 000H, 080H, 000H, 000H, 000H, 000H, 000H
             DB 000H, 000H, 044H, 033H, 022H, 011H, 010H, 000H, 000H, 000H
             DB 000H, 000H, 000H, 000H, 000H, 000H, 00DH, 00AH, 056H, 032H
             DB 02DH, 04FH, 053H, 020H, 056H, 030H, 02EH, 031H, 020H, 028H
             DB 043H, 029H, 031H, 039H, 039H, 039H, 020H, 056H, 032H, 05FH
             DB 04CH, 061H, 062H, 02CH, 020H, 052H, 06FH, 074H, 074H, 065H
             DB 072H, 064H, 061H, 06DH, 02EH, 00DH, 00AH, 000H, 04CH, 06FH
             DB 061H, 064H, 069H, 06EH, 067H, 020H, 053H, 079H, 073H, 074H
             DB 065H, 06DH, 031H, 036H, 000H, 00DH, 00AH, 046H, 061H, 069H

And some interesting code like:

   MOV DI, OFFSET PARTLIST
   MOV AL, 'f'
   MOV DS:[DI+0], AL
   MOV DS:[DI+16], AL
   MOV AL, 'd'
   MOV DS:[DI+1], AL
   MOV DS:[DI+17], AL
   MOV AL, '0'
   MOV DS:[DI+2], AL
   MOV DS:[DI+18], AL
   MOV AL, 0
   MOV DS:[DI+3], AL         ; 'FD0',0
   MOV DS:[DI+19], AL

Two things wrong here (at least for 80x86 Assembly):

  1. Using DI instead of EDI in 32-bit mode. This causes an extra byte of opcode to be generated for a 16-bit offset.
  2. Moving individual letters into locations. If you are doing this at this level, you can do better by:
    
    		mov	eax,$00306466           ; 'fd0',0
    		mov	[edi],eax               ; DS: override
    		mov	[edi+16],eax            ; not needed
    
    	

In poking around, I found a link to RDOS, another 80x86 operating system written in Assembly. This one is impressive, if only because it's a functional OS in about 130,000 lines of Assembly (including TCP/IP). Haven't had much time to look around this one though.


We're Microsoft. We don't have to care.

Received email from a friend announcing the birth of their new child. Unfortunately that's all I know because:


Attached is an e-mail greeting created with American Greetings =
CreataCard software from Micrografx.

To view this greeting you must be running Microsoft Windows.

Sigh.

Sunday, January 02, 2000

Move along, nothing here …

Sick. Slept. Move along. Nothing here.

Monday, January 03, 2000

Sickness

Sick. Sick sick sick. That's what I am. Spent most of the day being sick in bed. I'm achy all over, but I'm not nauseus so it's not quite the flu. My nose is runny but not entirely stuffed up, so it's not quite a cold. I am coughing, but it's not continuously, so it's not quite bronchitus. I do however, get these headaches.

Last night I got ready for bed, and between the time I walked from the bathroom to the bed it felt as if someone turned the tempurature down 40 degrees (C or F, take your pick) so I ended up shivering uncontrollably for maybe five to ten minutes before I started warming up. Then I would get too hot, move and again, it would feel like someone piped an artic blast of wind down the covers and I'd be shivering again.

Going to the bathroom was fun. Get up, oh my is it cold run run shut the door start a steaming hot shower going to warm me up, do my thing, shut the steaming hot shower down, leave bathroom oh my is it @#$@# cold run run dive under covers shiver until too warm.

Sometime this morning I realized I must have been sweating up a storm because I'm drenched. Any move I do brings in fresh cold air underneath the covers. Horrible.

Sometime around 1 pm, I can actually move around without feeling cold. I get up, take a shower, dress, remove sheets from bed, combine with sleeping clothes, and proceed to put them in the wash.

The effort drained me, so I sack out on the couch.

Three hours later I get up, move the items from the wash to the dryer, and go back to sleep.

Three or four hours later I get up. I'm no longer unduely cold, my nose isn't running, I'm not coughing and I don't exactly have a headache (but I am lightheaded). I'm not exactly tired, but I'm not exactly a walking ball of energy either. It's like I want to go to sleep, but I'm to tired to. I'm still somewhat out of things right now.

Tuesday, January 04, 2000

Sickness past, but sleep still eludes …

After sleeping for something like 20 hours yesturday I'm pretty much fine, although my all ready screwed up sleeping schedule is even more screwed up than usual (here it is nearly 7 am and I'm wide awake, but for how long I don't know).

After I wrote yesturday's entry I think I fell asleep again, only to get up around 8 pm or so, pull the sheets from the dryer, made my bed and was so exausted by the effort that I fell alseep for another three hours or so.

Feeling quite light-headed, I went to the Clock for dinner (that being the closest place still open for food) and that did help some. I got home, took a shower and did other stuff to get ready for bed, but by that time I was more or less awake.

So now I find myself not tired at 7 am.

Sigh.


One potato, two potato …

From the “Oh my …” Department (via Flutterby) is the story of a woman and her love of the potato. Not for the squemish or those under 18, if you get my drift.

Wednesday, January 05, 2000

Sick, part N

Still sick. Blah. It seems that most people (if not all) that attended Friday night's little Y2K party is sick. Perhaps it was being outdoors all night long that might have done something. Or all the smoke from the bonfire. Or something.


The local Internet2 POP

Curiousity got the better of me, and I found out that my old college, FAU, is part of the Internet2. Ah, to be part of a non-commercial highspeed network.

But in looking over FAU's proposal for hooking up to the Internet2, I notice that not one of the projects requiring use of the Internet2 is from the Computer Science and Engineering Department. Sadly, I don't find that at all surprising, especially when they're having all students turn in ANSI C programs in Microsoft Word format. I kid you not.

I, or my friend Mark, could go on and on about it all, but I'll stop here.


A Clockwork Orange Owl

Now, about that logo.

[A Clockwork Orange Owl]

The mascot of FAU is the burrowing owl, a small owl (perhaps six inches in hight) that lives under ground in burrows. To say that it actually burrows is an overstatement, since it actually doesn't burrow at all, but appropriates (read: steals) already burrowed burrows.

Around FAU they are the prime target for a large population of feral cats.

I don't know who came up with the picture but somehow I can't picture a burrowing owl hanging out with his fellow droogs at the local milk bar listening to Beethoven and engaging in a bit of the old ultra-violence.

But perhaps that's just me …


Linux bite) the Watt Tripoli!

My friend Hoade just got some speech recognition software and sent me a dictated email. Part of it reads:

I wonder if I didn't go a little too fast on the speech training. It seems that anything I say is clearly Miss Understood by this bucking basedface phase space based. OK at night wasn't saying octane no not octane docking note not docking awk and known not awk and octane octane you CK e u c k d you see today got the met at up

A delete this lettersentence the descendants to the descendants please delete this sentence

It gets more incoherent if you can believe that.

I think this technology needs a bit more work. It took what? Five years or so for the handwriting recognition on the Newton to actually work most of the time?

This is almost as amusing as the time Hoade ran his novel through Microsoft Word's “Summarize” feature. He ends his letter with:

The lecture h the lecture h the laughter h a the vector eight of the let tear that tear letter and

The letter H
The letter O
The letter A
The letter D
Will air E

I'm typing this part–AIEEEEEEEEEEE!!!

Thursday, January 06, 2000

You have got to be kidding!

I'm still trying to get an operating system installed on an old laptop given to me. 4M RAM and 120M harddrive and it's proving quite difficult. I figured an older version of Slackware would work but in the limited searching the oldest version I found was 3.3, which won't install from the floppy if there's only 4M. It'll install from the harddrive, but well … that's the problem … I can't get it on the harddrive unless I install it from the floppy …

So it looks like I'm going to have to go a route I did when I tried installing Thix on the machine—make a bootable disk image on my local system, then move the image over.

It's either that, or I write my own operating system.

Not that I haven't seriously considered that.


Yes, I am clinically insane …

Just for the record, it is possible to install Linux (a 2.0 kernel even!) on a system with only 4M RAM and 120M Harddrive.

Why anyone would want to do such a thing is another story.

Friday, January 07, 2000

iApple's iCEO iNtroduces iMac's iDisk

You can talk about eye-candy (in the hardware, or in the software) all you want (and I must admit, I'm liking it too), but the word is COMPATABILITY. I want to access and use my files from anywhere - I want to remotely call programs on my mac from some PC (using rpc, I guess :) ). I want to fire up an FTP program and access my files. I don't want to think about it too hard. I just want to do it…

This bubble has already been burst

There seems to be some buzz going on about Apple's Apple' s recent announcement reguarding iDisk.

Some people are worried that Apple is trying to control both ends of the Web (and Jobs has been quoted as saying just that) but if you actually read the announcement, it seems they're going to be doing that Geocities thang of offering “free” web hosting (only in this case, it's not exactly free—you have to buy a iMac first) and making it very easy to create the site (it appears local to your machine).

Not a bad idea really. Take NFS (or Samba, or AppleTalk, or … ), add authentication to the protocol (well, NFS already required authentication but not to a user level) and the whole notion of FTP, or publishing, goes away.

You do have to be aware of security issues, so it might be better to start from scratch. Might have to check out the protocol used for iDisk.

Tuesday, January 11, 2000

I hate you, you hate me, let's be business partners!

Just because a company is transglobal in scope doesn't mean it's the same company everywhere. My friend Mark works for a large international company, Siemens.

Not to be confused with Siemens Stromberg Carlson, which is across the street from him. Nor from Siemens Rolm, which, if it still exists, is down the street from him. I don't recall exactly which Siemens he works for (and for that matter, I doubt if Mark recalls either) but while they may be all wholly owned subsidiaries of Siemens, they are in fact, vicious enemies that charge each other twice as much for the same equipment their competitors would sell them.

Why this should be remains a mystery that only PHBs can fully understand (without their heads exploding).


The Guy I Almost Was

I was able to crawl out of the debt-hole and bootstrap myself into the lower middle class. For the first time in my adult life, I can afford to eat in restaurants where I don't work.

The Guy I Almost Was

It's best to start from the beginning if you starting reading this comic. Not as outright hillarious as Sluggy Freelance but it's more subtle, a dryer form of humor.


I think programmers forget this sometimes …

Programmers do their work but once, while users are saddled with it ever thereafter.

Jef Raskin, original project lead for the Apple Macintosh

Amen!

Thursday, January 13, 2000

And this is your government on drugs

I just have to wonder how far out government will go on the “War on Drugs.” It seems now they're willing to pay for anti-drug friendly TV programming in addition to regular advertising.

I'm not sure exactly how I feel about this. On the one hand, come on, it's TV. The networks are out to make money and if someone were willing to pay even more for pro-drug programming, we'd get more pro-drug programming (remember: always follow the money). And doesn't this also following along with the “Don't Drink and Drive” campaign? I wouldn't consider the “Don't Booze and Cruise” campaign to be that bad—heck, I like that better than the Prohibition we in the United States had in the 1920s. And it applies social pressure to solve a problem than legislative pressure which to me is always a good thing.

But this is “The War on Drugs” here (or as some of my friends would say, “The War on Some Drugs”). And the government. Where does this fervor for anti-drugs come from? Certainly not from the majority of my friends. Perhaps we should follow the money?


There are drugs, and then there are drugs

The United States has this small drug problem—the government wants to outlaw the use of drugs (well, some drugs), but watch TV for any length of time and what will you see?

Advertisements for drugs.

Okay, so it's not advertisements for marijuana or cocaine or even nicotine, but if you ever feel achy, stuffy, feverish, coughy, congested, constipated, asthmatic, pimply or just plain blah, there's a pill, elixor, syrup, patch, serium, drop, spray or inhalent to make you feel all better.

I remember as a kid taking medicine to help with the achy, stuffy head, fever and coughs for all the colds and flus I got. The one thing that I distinctly remember is that no matter how much medicine I would take, I would never feel as good as quickly and for as long as the ads said I should. Over time (and for a variety of reasons) I stopped taking all those medicines when sick and just let nature run its course (except for the rare times when I would get bronchitis—then it was run to the doctor to get antibiotics).

Now I rarely get sick and when I do (usually once a year or so) it's rarely bad enough to take me entirely out (but I feel lethargic for about a month as it works its way around my body). But a few years ago I did get a nasty flu while visiting Dad out in California.

Dad gave me some over the counter medication and I was amazed that it actually seemed to work like it said it would in the advertisements.

The reason I think it worked then and not before was that I had lost any resistance I may have had to the drugs. Take drugs all year round, and your body will build up resistance to it. Forsake them, and when you need them, they'll tend to work. I suspect the ads are true for those people who have never taken drugs (or so rarely take them).

It seemed to be that in my case.

But getting back to what I was talking about. You have a slew of advertisements saying drugs are bad. Then you have another slew of advertisements saying drugs are good. Is it any wonder we have a problem here?


“Hi, I'm an annoying computer program calling you to sell … ”

Ring.

Ring.

I pick up the phone. “Hello?” I croak. See, I'm still sick.

“Hello. Did you receive a computer over the holidays?”

“No—” but even before I can finish that …

“Do you need help in setting it up?”

“No, not—”

“Let me help! My name is Mark and I'm available at your convienence to set up your computer, teach you how to use it. I can even back up your harddrive on CD. My rate is—”

Click.

This was the second solicitation I received today over the phone.


The Chairman is dead … long live the Chairman!

It was bound to happen sooner or later, but Gates resigns!

Bill Gates, CEO of Microsoft, stepped down, with Ballmer replacing him.

Was this prompted by the DOJ investigation? Possibly, but not in the way you think. Gates has been, for pretty much the late 80s and 90s, Microsoft. The two are one. Microsoft, Gates. Gates, Microsoft. Given the way Microsoft botched the DOJ trial, I almost think that this was orchestrated from the beginning as a way to allow Gates to retire from Microsoft without the stock tanking once he left.

Gates is nothing if not a brilliant (if not outright ruthless) businessman who's entire fortune is tied to a huge paper tiger. Even if he wanted to, he couldn't liquidate his stocks fast enough.

Then again, if Gates said they were splitting the company, he could pull it off without the hold DOJ thang to blame it on. He pulled the company around 180 degrees several times in the 90s to make up for missed opportunities without so much as a pause so maybe the whole DOJ thang was a blunder on their part.

I don't know.

Monday, January 17, 2000

Hi. I want to be a recovering system administrator …

Now I know why I hate system administration so much.

I've been re-hired by the company that fired me last September to fill in for their main system admin who is on vacation this week. I should have started last Thursday, but I still can't seem to shake this cold thang.

So my first day back to the office was today. And already I'm neck deep in email fires—from SPAM coming from BBN to a failing mail server running Qmail instead of Sendmail. Or maybe it's running both—I have no idea, the previous admin who worked on it no longer works here and I just found out, I have no account on the machine.

Sigh.

Delving back into the Scary Devil Monastery is always such fun.


“Uh, I think my mouth exploded … ”

I think my mouth exploded.

Wednesday, January 19, 2000

“If I tell you what I do, I have to kill you … ”

Employers are taking a harder line. They're making anyone they do business with sign contracts promising not to share company secrets. They're meeting with employees to explain exactly what should remain confidential. Some, like Starbucks, are telling even entry-level hires that they may have to abide by agreements barring them from joining competitors if they quit.

USA Today article on corporate secrets

Just a part of the plan to corporate serfdom. Not that I'm paranoid (then again, I don't work at Starbucks either).

Saturday, January 22, 2000

Dancing with the Devil

A few years later, several top-selling Marvel artists would break from the pack and form a new company called Image. In doing so, they would shift the debate from rights and principles to clout and competition, but both developments would share a common premise, one worth considering even today; that creators already have the right to control their art if they want it; all they have to do is not sign it away.

Scott McCloud, The Creator's Bill of Rights.

Remember, the next time you get that agent waving a million dollar recording contract in front of you what exactly it is you are giving up.

Wednesday, January 26, 2000

Secret agent man

The Central Intelligence Agency is vey good. So good that I had no clue I'm a CIA agent! Yes, I was caught on film in Tiajuana. I'm in the first group photo, number six. Besides, I doubt that number five is the actual head of the unit. Too obvious. No, it has to be number nine.

And yes, they are cool shades.


Tiajuana libel

I'm not sure what Spookbusters has against Jason and Wendy Simpson but whatever it is, it seems to be pretty intense.

I met them. The group photo was taken on a trip to San Diego where a large gathering from alt.society.generation-x came together to celebrate News Year's Eve for 1997. Fun trip.

But I still don't remember any CIAesque escopades I may have been involved with. Bummer.


Mild Mild Wreck

My friend Mark, Jeff and I watched Wild Wild West (or as I like to call it, “Mild Mild Wreck”). If you turn your brain off it's not that bad, but it wasn't worth the price of admission (and I paid the price of admission when it came out).

Seeing it on DVD, we played around with some of the features of the set Mark has after the movie. Mostly we zoomed in on Salma Hayek. Paused on Salma Hayek. Zoomed and paused on Salma Hayek. Ah, Salma Hayek. What can I say? Possibly the best part of the entire film.

Okay, the best part of the film.

Thursday, January 27, 2000

How do I get there from here?

On one of the mailing lists I'm on, a member posted her snailmail address, fairly confident that no one could find her place, living way out in the country like she does.

Five minutes at MapQuest and I had directions from my house in Lower Sheol to her house in Wisconsin (something like 1,750 miles door to door).

I also found another site, Etak, which does the same thing (pretty much got the same directions) plus gives out latitude and longitude information as well.

I've yet to hear back to see if the directions were any good or not.


White people with dreadlocks. What a long strange trip it's been.

So a friend comes by and takes me to this bar along the ocean (forgot the name of the bar) because a mutual friend of ours is the keyboardist for the Grateful Dead coverband Crazy Fingers (out of Ft. Lauderdale).

I'm not overly ga-ga over the Grateful Dead like most Dead Heads are, and I'm not into that whole Hippy thang either. But at the bar there were plenty of aging Hippies, neo-Hippies, HippyChicks, tie dye shirts, Birkenstocks and long flowing skirts, and white people with Dreadlocks. White people with Dreadlocks.

White people with Dreadlocks!

Typical Americans to co-opt what was a rebel statment against the whites and make it a fasion statement.

White people with Dreadlocks.

Anyway.

It was also amusing to see how many Dead Heads were into The Industry. I met at least five people who worked at various jobs within the Industry and there were probably more. My friend the keyboardist, is also in The Industry. He's also a paper millionaire, having sold his website for an ungodly amount to another company.

I think I have an easier time with a millionaire playing in a Grateful Dead coverband than I do with white people with Dreadlocks.

Friday, January 28, 2000

“We liked your site so much, we want you to submit it to us!”

First I'm a CIA agent and then I get this:

From: <Spider@BridalGowns.com>
To: Sean Conner
Date: Thu, 27 Jan 2000 18:20:37 -0800
Subject: It's Time to Submit Your Site to BridalGowns.com

Just a brief message to notify you that your site is currently not scheduled in the pending reviews for BridalGowns.com. Brides and grooms will not be able to see your site through our upcoming service unless you submit yo ur URL at http://www.bridalgowns.com It's FREE! Now's the time!

It's just so … odd that I just had to check it out. No default background color (whoever did it assumed white—little do they realize my default is still that hideous gray color that Mosaic popularized in the early 90s) so it looks like crap.

But from the name, I suppose it's a wedding related site. But I have to wonder … they probably got my email address from my web site, so why did they spam me to have me send the URL of my site back to them? Are they totally incompetent?

And why am I asking rhetorical questions?


How about an Electric Daniel Webster?

I've done the Electric King James Bible and eventually, I'll get this journal electrified as well (and maybe improve the writing style to boot!).

But in the mean time the next fairly easy thing to work on (unlike my ideas for Shakespeare) is a dictionary. I have several to choose from, and it's more usuable for more people than the Bible (but the journal/web log module I want to write it going to be big).

It seems easy.

http://literature.conman.org/webster/organization

brings up the defintion for “organization,” while

http://literature.conman.org/webster/o

Brings up all the definitions beginging with “o.”

But there's a problem. Say I want to do something like:

http://literature.conman.org/hackers.dictionary/ai

To bring up all the technical terms beginning with “ai.” Nice, only there there exists several entires starting with “ai,” including the very term “AI.” What if I just want “ai?” Or all terms starting with “ai?”

Not an easy problem then, is it?

I'm not about to get into the navigation schemes yet.


And how about an end-run around Open Source?

Create a new PC hardware architecture using a modified Transmeta Crusoe CPU at it's heart. The CPU is modified to contain an encryption/decryption engine and the code morphing software is updated to include the decryption of encrypted executable code. Code morphing is a general conversion process and there's nothing that says that the binary source has itself got to be executable on some existing CPU. As the results of code morphing appear only within an internal instruction cache it's very difficult to gain access to the unencrypted executable program code.

Geoff Lane, at osOpinion

I get this dread feeling that the Crusoe CPU from Transmeta is going to be used as an end-run around Open Source software. Just when you thought we were getting away from proprietary systems …


My celebrity match is …

My Celebrity Match is Shania Twain. Not a bad choice, even if I don't like country music all that much.

Sunday, January 30, 2000

Now that's darned rude!

It's 5:30. I'm with some friends when I get beeped. It's my home number. I call. It's my roommate. His RedHat 6.0 box was hacked. What should he do?

I mention a few things to look for, but it looks bad. Who ever broke in either got spooked, or was feeling malicious and the final two commands we found in the .bash_history file were:

rm -rf /var/log
rm -rf /*

My roommate, Rob, managed to stop it before it did more damage, but they still wiped out /boot, /bin and parts of /dev. Using Tom's RootBoot disk he was able to survey the damage and then waited until I got home.

From what I've been able to determine, it appears that some script kiddie was running a program to look for exploitable boxes (RedHat 6.0) because around noon yesturday someone tried to FTP into my box and Rob's other box from Harvard. This said script kiddie then had a list of hosts to exploit today and Rob's box was broken into and damaged around 5:30 pm EST.

Breaking in and looking around is one thing. Maliciously deleting files is another.

Monday, January 31, 2000

a visit to Obnoxico, Inc.

After lunch, Mark and I headed over to WalMart to kill some time (neither one of us had to be at work today).

“You realize,” Mark said, “that there are only four different layouts for WalMarts?”

“Easier to franchise,” I said. “Sign here, and pick layouts one, two, three or four.”

“And you realize that whenever one of these go up, the local Mom-n-Pop shops go out of business,” said Mark.

“Of course,” I replied (and yes, we did actually have this conversation), “How else can they compete with large volume cheaply made merchandise from Asia? And if a store in an area is not that profitable, who cares? The rest of the collective can support a non-profiting store for a while.”

Really, I hear these stories about communities that try to make WalMarts illegal, or otherwise make it very difficult for them to open up stores. But really, if a community really cared enough to keep a WalMart out, then the community as a whole should just boycott the store. If no one goes to WalMarts, then it brings in no money and in due time it will shut down.

Simple economics. Yet why the furvor and laws? Because a select few people think they know better than the community.

Sure, what WalMart does isn't nice. And I tend to prefer local stores over larger chains anyway. But on the flip side, for large volume cheaply made merchandise from Asia and 24-hour access, you really can't beat WalMart. And my schedule that is soemthing to keep in mind.

Although the selection in the entertainment area is pretty spotty. Unless you like Brittany Spheres or the movie “Joan of Arc” (man did that hit the video stores fast) you don't have much choice.

But they do sell Nerf guns. Of which Mark bought one for work.


Camquest

After lunch and killing some time at Walmart, Mark and I headed to Office Depot to check to see if they had any webcams.

After the experiments I did with my digital camera and using it as a webcam, Mark got the itch to do something similar. Like me, he is Microsoft free.

And that's the main problem. Most new webcams are now USB based, and the USB support for Linux is spotty at best, and with that, only with the latest development kernels. Mark and I are still running Linux 2.0 kernels (why fix it when it isn't broken?).

And the one webcam that isn't USB based, the Logitech Quickcam VC, doesn't have Linux drivers—nor is Logitech being generous with programming informtation; they're downright hostile and no information is available. The older Connectix ones (Logitech bought Connectix) are supported under Linux.

There doesn't seem to be any reason why Logitech should keep this information under wraps, unless:

  1. Logitech doesn't want others to know just how lousy the hardware is.
  2. Logitech is getting presure from some company on high not to release information that would allow other competing operating systems to use the hardware (no names, but its initials are <cough>Microsoft<cough>—seriously, many companies are afraid of doing anything which might anger the Redmond giant and giving any OS competitors any slight edge might anger them).
  3. Logitech management (or rather, the lawyers) are relunctant to release anything which might be considered Intellectual Property.

I suspect the truth is “all of the above” to some degree.


Who owns who?

In trying to find the official Nerf site, I obviously tried http://www.nerf.com. Imagine my surprise when I ended up at Hasbro Interactive | Atari!

And according to the Nerf Gun FAQ, there is no official Nerf site.

Bummer.


Repairs

I worked some more on the digital camera I have. The problem is one of focus. Or rather, the lack thereof.

The camera is a fixed-focus camera and you have to take the unit practically apart to refocus it. The lens assembly consists of two cylinders, one that slides inside another, with a screw/spring assembly on one side to adjust the position of the inner cylinder, which houses the lens, against the outer cylinder, which attaches to the mount on which the CCD rests.

When last I left it, I thought that since the screw/spring assembly was on one side, when tightened, one side was pulled in closer than the other side, thus leading to pictures that were half focused. My thought was to remove the screw/spring assembly, file down the end of the outter cylinder, allowing the inner one to adjust closer, and use some glue to hold it in place.

No avail.

During the machinations, I removed the blue filter that sits above the CCD. Interesting results. Two exceedingly blurry pictures that I find rather amusing:

Rhspdody in Red Rhapsody in Peace

Okay, so I'm not getting anywhere. I dig up the screw/spring assembly (I took the thing off back last November). The glue thing wasn't working (and I didn't have the right glue anyway, so it wasn't holding very well) so I reattached the screw/spring assembly minus one small wire piece that seemed to work against the spring (go figure).

So, with CCD filter, and newly reassembled cylinder assembly back in place, a few tweaks and finally success! (I'm holding a small Phillips screw driver in my mouth, and I'm hold up my hand to distinquish this photo from the 21 other ones I took)

Tuesday, February 01, 2000

The Purpose of Copyright

Understanding the root cause and the dangers of this shift requires exposing the most fundamental and most common misconception concerning the underlying purpose of the monopoly granted by our copyright law. The primary purpose of copyright is not, as many people believe, to protect authors against those who would steal the fruits of their labor. However, this misconception, repeated so often that it has become accepted among the public as true, poses serious dangers to the core purpose that copyright law is designed to serve.

Open Spaces Magazine - The Purpose of Copyright by Lydia Pallas Loren [via Camworld]

Are we slowing heading towards a time when only corporations can own intellectual property? I'm sure corporations wouldn't mind …


“I drove my Chevy to the levee … ”

I'm in the car waiting for lunch when I hear this new remake of American Pie by this lush female singer. Of course immediately after the song the radio station launches into this extended set of commercials that last the way home so I don't know who did the song.

But everytime I hear that song, even if it is the original version, I can't help but think of Wierd Al's version.


Databases schmatabases …

I know Mark won't agree, but the advice jwz gives about databases agrees with mine.

And his experience in mail summary files is yet another datapoint in his avoidance of databases.

Wednesday, February 02, 2000

A load of Microsoft

Some random Microsoft links from Mark. Read and enjoy.


Not a load of Microsoft

And some more random (non-Microsoft) links from Mark.


Spam spam spam spam!

I'm checking my email when I come across this:

From: <promotion_ideas@email.com>
To: Sean Conner
Date: Wed, 2 Feb 2000 13:45:01
Subject: Sean, your website…

This message is for Sean Conner
Ft. Lauderdale Sun-Sentinel

Hi Sean,

My first thought is Holy Cow! The Sun Sentinel wants to do a story on my site! And they even spelled my name right!

In my excitement I skip a crucial paragraph and pick up here:

While visiting your site I noticed your web pages could use a few simple adjustments to make them easier to find on the search engines. I also noticed your page layout and customer navigation could be optimized to increase customer responsiveness.

Okay, now I know something is wrong. My pages are already easy to find on the search engines. Heck, they're the only agents coming to my website with any regularity and any searches on “Sean Conner” or “Captain Napalm” usually bring back links to my website on the first or second page (at worse). Now, what was that paragraph I missed?

I am writing to you because you are listed as the site administrator at www.sunsent.com and I have some information that should be of interest to you.

What the … ? News to me. Quick check at Network Solutions:

Registrant:
Ft. Lauderdale Sun-Sentinel (SUNSENT-DOM)
   200 East Las Olas Blvd
   Fort Lauderdale, FL 33301

   Domain Name: SUNSENT.COM

   Administrative Contact:
      Meiners, Michael  (MM130)  meiners@SUNSENT.COM
      (305) 356-4744
   Technical Contact, Zone Contact:
      Conner, Sean  (SC47)  spc@armigeron.com
      (407) 395-6655

   Record last updated on 16-Dec-1996.
   Record created on 16-Mar-1994.
   Database last updated on 2-Feb-2000 03:18:36 EST.

   Domain servers in listed order:

   NS.GATE.NET                  199.227.0.9
   NWFOCUS.WA.COM               192.135.191.3

Ah, now it's clear. Spam.

I was most likely still working at CyberGate when this was registered. At the time, I was Head Sysadmin, Head Programmer, Head Technical Support and Chief Bottle Washer (I left shortly thereafter, that being my first real experience with the whole net.slave thang). The records never got updated.

And I know the email was spam because the site doesn't exist anymore.

Thursday, February 03, 2000

Reply-To Munging: Is it the Right Thing?

There's a major controversy on a mailing list I'm subscribed to. The list in question (about classic computers) had to change hosts and the software used to manage the list changed.

The upshot is that under the old software, the Reply-To: field was set to be the list itself. That meant that if you wanted to send a private reply, you had to change the address the message was being sent to. As a consequence, a few private messages were sent to the list by mistake.

The new software does not set the Reply-To: field. So to reply to the list, you have to ether change the address the message was being sent to, or do a group reply, which sends a copy to the list as well as to the original sender.

A subtle change, but one that has thrown the list in a tizzy. Some people (like me) like the old behavior. Some like the new behavior (and are telling the ones that like the old behavior to deal or upgrade—odd considering that most accessing the list are using computers deemed too old to use by the rest of society).

The new change was justified by the essay “Reply-To” Munging Considered Harmful by Chip Rosenthal (I think Chip is sore because he accidentally sent private mail to a public list by mistake). But then Simon Hill, in his Reply-To Considered Useful notes that RFC-822 allows munging of the Reply-To: field:


     4.4.3.  REPLY-TO / RESENT-REPLY-TO

        This field provides a general  mechanism  for  indicating  any
        mailbox(es)  to which responses are to be sent.  Three typical
        uses for this feature can  be  distinguished.   In  the  first
        case,  the  author(s) may not have regular machine-based mail-
        boxes and therefore wish(es) to indicate an alternate  machine
        address.   In  the  second case, an author may wish additional
        persons to be made aware of, or responsible for,  replies.   A
        somewhat  different  use  may be of some help to "text message
        teleconferencing" groups equipped with automatic  distribution
        services:   include the address of that service in the "Reply-
        To" field of all messages  submitted  to  the  teleconference;
        then  participants  can  "reply"  to conference submissions to
        guarantee the correct distribution of any submission of  their
        own.

(emphasis added). So. There it is.

But that still hasn't settled the list. Sigh.


More than you ever wanted to know about Reply-To munging

More info on the email snafu: Rich Lafferty replied with:

Note: The “Reply-To” field is added by the originator and serves to direct replies, whereas the “Return-Path” field is used to identify a path back to the originator. [This is from section 4.3.1 of RFC-822. But see section 4.4.3 for a different interpretation. -Sean]

Although I'm starting to wonder if this isn't symptomatic of a majordomo bug, or at least a design flaw. It would make sense to me to configure Majordomo such that the Reply-To points to the list *unless* the originator added its own Reply-To, in which case it would leave that there. That way, you'd have discussion on the list except when the original poster intended otherwise, which strikes me as something that the original poster might very well want. This would satisfy the objection of lost information (which strikes me as the only thing that isn't a question of preference or user-agent configuration – when majordomo strips a reply-to, it's *gone*) and the objection of encouraging public discussion (in that unless otherwise specified by the originator, the reply is directed to the list).

Pete Turnbull replied with:

Except that mailing lists are not what RFC 822 defined “Reply-to:” for. Its primary purpose is quite different; it's to force a reply to a valid address when the sender's “From:” is not valid.

Quote: “The 'Reply-To' field is added by the originator”

The RFC 822 method would be to set the “From:” field to [mailing list address], and set the “Sender:” field to the name of the person who originated the message (which is exactly the opposite to what majordomo is doing, I notice, but that's perfectly legitimate).

So, where does this get us? Well, I send a message to a mailing list:

From: <sean@conman.org>
To: <flamefest@lists.tld>

The mailing list software gets it, and when it sends it out:

From: <flamefest@lists.tld>
Sender: <sean@conman.org>
To: <joesixpack@somesite.tld>

But, if for some reason I want replies (to me) to go elsewhere, I send:

From: <sean@conman.org>
To: <flamefest@lists.tld>
Reply-To: <sean@randomsite.tld>

And what the mailing list software sends out:

From: <flamefest@lists.tld>
Sender: <sean@conman.org>
To: <joesixpack@somesite.tld>
Reply-To: <sean@randomsite.tld>

But we'll see …

Friday, February 04, 2000

A silly variation

“Welcome to the Bridge of Death. You must answer me these questions three 'ere the other side you see. What is your name?”

“Arthur, King of the Brittons.”

“And what is your quest?”

“I seek the Holy Grail.”

“What year was DOS 3.3 released?”

“What? What do you mean? DOS 3.3 for the IBM PC or Apple ][?”

“Uh, er … I don't know. Aiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee…”


Rebuilding Blues

My roomate Rob is rebuilding his workstation that was hacked the other day. He could repair it by rebuilding the damaged directories but he feels it's easier to resintall and I probably would do the same myself. There is stuff he wants to save but since Tom's RootBoot disk doesn't have drivers for his network card he came in asking if I had a spare IDE drive he could borrow.

Possibly, but let's see if there is something easier first. Could he just install without formatting the disks? No, there are some configuration files he wants to save. Hmmmm … he's got this swap partition that's big enough to hold what he wants. fdisk to change it to Linux native, then mke2fs to format it. Copy the files he wants, reinstall, then afterwards, copy the files off, and turn it back to swap space.

It's what I did when I installed Linux on my laptop.


This is EMAIL, not FTP …

The consensus on the mailing list from yesturday about Reply-To: munging is that Reply-To: is The Right Thing. The list is back to the old behavior and everyone has stopped complaining.

The topic now (very light traffic on this) is the removal of HTML in email. Or rather, HTML and attachments altogether, which I am in full agreement with. Attachments are evil (heck, MIME is eeeeeeeeeeeeeeeeeeeeeeeeevil but that's another rant); the worst I saw (when I worked at an ISP) was some guy who blew his disk quota by sending not only the files he was working on, but the application as well, so he could work on them from home.

The ISP allows 10M of disk space, which is quite generous for email (for the record, I currently have 14M of email saved (everything I write gets saved just in case) and it works out to 3,457 messages (or an average of 4k per message and yes, a lot of those can be deleted).

Anyway, one of the requests, from Peter Turnbull, was:

My request-for-enhancement is:

“do something” about HTML, or better still, “do something” about any “multipart/alternative” posting (which would include M$ richtext, with those application/ms-tnef attachments).

Options I can think of:

a) silently discard any such postings (probably not a good idea)
b) bounce them back to the author, with an explanation of why bounced
c) remove the non-text part
d) combination of (b) and (c)
e) accept, but warn the author (who may not realise (s)he's sent HTML)

Can't argue with those.


Under Construction

Yes, the links for other entries here are broken. I'm still working on how I want to actually store and serve all these entries up so until that is done, links for other entries will be broken.

External entries however, are fine.


The status quo must surely hate this

Normally, I just tollerate Dave Wiener and what he says and his Scripting News site comes across as one extended advertising for his software, but maybe what he has to say is worth listening to at times.

Then I realized that such an externally defined vision had already been forced on the technology industry. The standards of the Internet, HTTP, HTML and URLs; and perhaps XML, which is a simple formalization of HTML. To go to the next step the leaders of technology merely have to agree to stop struggling against these standards, and to share the knowledge they have developed around them. The web is ready-made for a shared vision.

First, you should know that there are organizations whose sole purpose is to define and patent new business processes that build on the Internet. Jay Walker, the founder of Priceline.Com, has 60 full-time people working in teams to do nothing more than generate patents. No engineering, no scaling issues, no customer satisfaction requirements (although Walker's company appears to be good at this too), they just a file a claim at various patent offices, and wait for the engineering of the Internet to catch up. A land-grab business.

If you define success in terms of continuing to do the same old thing, you will lose. This is the message that causes so much dissonance at Davos and at Seybold. The people who had a good thing going before the Internet are angry. If they draw a line in the sand, as Sumner Redstone of Viacom did so insistently, sorry it's off to glue factory. But if you're willing to risk it all on your intelligence, experience *and* your enthusiasm for the Internet, you will win. But you have to be willing to change.

Monday, February 07, 2000

There's a casino across the street …

When I moved here 12 years ago, across the street (the main street, Sample Road in Coconut Creek, Florida) was this large field. A rare site in Lower Sheol where any available piece of undeveloped land doesn't remain undeveloped for very long.

But it lasted a few years, until Wayne Hyzinga (sp?), Garbageman Billionair Extrodinaire, financed the building of an AutoNation there across the street, then sold it (for profit mind you) to one of his holding companies. Ah, the wheeling and dealing life of a billionaire.

And so it was until a few weeks ago when the AutoNation suddenly closed its doors across the street. The parking lot, once full of quality used cars at an affordable, no haggle price, was empty.

And so it was.

So I was driving home tonight when I saw these placards along the road, and in primary colors splashed across the face, I saw:

The Coconut Creek Casino! Parking—Turn here!

And all the placards were leading towards the AutoNation parking lot. Great! I thought. They built a casino across the street!

So I decide to check things out. I park the car at home, and amble my way over across the street. I see a few cars parked there, but nothing that looks remotely like a casino. I walk up to the front entrance of the now closed AutoNation and find a security-type guy there in one of those golfcart like vehicles.

“So, where's the casino?” I ask.

“Down the street. Do you know where the Toyota dealership is?”

“Yes,” I said. The Al Hendrickson Toyota Dealership is down the street from me.

“It's right behind there. The parking lot isn't finished yet so they're using this as a temporary parking lot. The shuttle bus should be here in a minute.”

“No, that's okay. I was just curious.” And I walked off.

I guessed that the Seminole Indians had the thing built, and when lo, I was right.

If this thing is open 24 hours like all other casinos I've been to, then that adds one more fine dining establishment to partake of fine food after midnight to the local Clock and Denny's.

As I see it, the Seminole Indians had the thing built.


Searching for Coconut Creek …

We are a young couple living in Coconut Creek
MAKE THOUSANDS - Coconut Creek Florida [sigh]
FLAUSA Visit Florida - Florida Tour - Southeast Florida and the Keys Attractions [horrible design - took over two minutes to load all the graphics and I have a dedicated 128kbps ISDN line but they do get some points—it looks okay in Lynx (although the HTML file itself is almost 200K in size). And Butterfly World is just down the street from me]

Wednesday, February 09, 2000

“I know I left it here somewhere … ”

I just spent the past few hours working on this journalblog, updating the pages and internal links, getting ready to get this thing live hopefully in the next few days. Internal links are still worthless, but hey, only a few people should be reading this anyway.

Now I just have to find some code I wrote a few months ago in preparation for the Electric King James site. If I can find it, and adapt it to use strings instead of integers, then I can retrofit it into mod_litbook and use it in (tenanively titled) mod_jb.

But that's the problem … I don't even remember what I called it, nor where I stuff the code. And I have a lot of code on this system.

Sigh.


“I have a bad feeling about this.”

On Monday (which I didn't report), I went to Atlantic Internet to do some consulting. One of the salespeople there is involved in some projects and I was brought in to help.

While there, the box being used, a RedHat 6.0 distribution, appeared to have been compromised. No like my roommate's box but still, syslogd wasn't running like it should, and there appeared to be an abnormal amount of httpd's running, but it's a webserver so I didn't think anything of it.

I shut off ftpd and added entries to /etc/hosts.allow and /etc/hosts.deny until it could be patched up or upgraded.

Fast forward to today (way early or way late, take your pick) and I'm reading Slashdot when I come across the article about some recent DoS attacks against some very large sites. In the discussion, I follow one of the links to an analysis of stacheldraht, a program that is suspected to have been used in the DoS. And the code seems to have been written for Solaris 2.x and Linux, specifically the RedHat 6.0 distribution.

Like TFN, C macros ("config.h") define values used for expressing commands, replacement argument vectors ("HIDEME" and "HIDEKIDS") to conceal program names, etc.:

#ifndef _CONFIG_H

/* user defined values for the teletubby flood network */

#define HIDEME "(kswapd)"
#define HIDEKIDS "httpd"
#define CHILDS 10

The box in question, like I stated, is a RedHat 6.0. What I haven't mentioned is that it's sitting behind a T3. And there were an abnormally large number of httpd's running.

I have a bad feeling about this.


No problem

Finally was able to check the machine today. It's clean.


So where are the fault-tolerant Unix systems of today?

… and by October of 1990 a complete nanokernel was running on the Omron Luna/88K. The current nanokernel contains approximately 20,000 lines of C code and less than 2,000 lines of assembler code….

In addition, the ability to recover all run-time kernel data from checkpointed state means that an interruption of power does not disrupt running programs. Typically, the system loses only the last few seconds of keyboard input. At UNIFORUM '90, Key Logic pulled the plug on our UNIX system on demand. Within 30 seconds of power restoration, the system had resumed processing, complete with all windows and state that had previously been on the display. We are aware of no other UNIX implementation with this feature today….

The paging system is tied to the checkpoint mechanism, and is discussed in the section on checkpointing, below. Persistence extends across system shutdown and power failure. Several IBM 4341 systems ran for more than three years across power failures without a logical interruption of service.

KeyKOS Nanokernel Architecture

Accordingly, KeyKOS also received a B3 security rating, and it's a multitasking, multiuser system. At best, Unix can get a C2, and Windows NT can get that if it's networking is removed. I don't think it's generally available, but one that is based upon KeyKOS, EROS, is available, and GPLed.


I'm so vain. I bet I think this website is about me.

I get curious at times. At one point I wanted to register spc.com, being my initials and whatnot, but Time Magazine registered that one on July 14, 1994. I've never bothered to ask if I could have it, but I can't imagine what they're using it for (nothing, as I can tell).

So I decide to check out spc.org, which seems to be a better domain for my use anyway. When I tried a few years ago, it was taken but I forgot who had it. The current owners registered it June 7, 1997. So I might have gotten it had I been on the ball three years ago, but I wasn't.

They seem to be using though, so I can't complain there.

And that leaves spc.net, which was registered to the Special Products Company on June 22, 1996, and they seem to be using it as well.

I can't have conman.com because that is being sit upon by a domain name speculator company, noname.com.

But the big surprise is conman.net. Last time I checked (a few weeks ago) it was being held by noname.com but that doesn't seem to be the case anymore. It is now held by Conner Huff.

Now, conner.com is owned by Seagate, the harddrive manufacturer. Understandable, Conner used to be a well-known harddrive manufacturer before being bought out by Seagate. conner.org and conner.net are owned by MailBank.com, an organization that gives out email addresses. As of today, sean@conner.org is available as an email address, but at US$9.95/month, I think I'll stick with what I have.

Thursday, February 10, 2000

“I'm fooling you and you don't like it!”

So, I'm searching through the www.spc.org website when I come to this lovely page with one of those stereograms. I have no problem in seeing the item inside the picture, but I don't think I see it “correctly” so to speak. I say that because while the object (in this case, a jack) does pop out, the parts that pop out are popped inward, not outward. For example, if the object is supposed to be a ball floating off the page, I see the object floating, but I see it as a bowl, not a ball. It's definitely a wierd experience.

I suspect that I see these objects “inside-out” (for lack of a better term) because my left eye is dominant (I'm lefthanded, by the way) wereas most people are right-eye dominant.

You can easily test this by holding your hands out in front of you, at arm's length, using your fingers to make a hole to view through. Focus on an object that's about 20 feet away (or further). Now, close one eye. If you can still see the object, that is your dominant eye (or conversely, if you can't see it, then your other eye is dominant).


Cheeeeeeeeese!

Well, Mark finally got his webcam going, completely under Linux.

Earlier today we talked and he was wondering how to get the images up to the server. He didn't want to use FTP as it seems that no one can actually write a version that isn't Swiss Cheese, nor did he want to use scp as that would require him manually typing in a password, or leaving one around in a script on his box.

I offered to write some programs, a client on his end, a server on the server end here that does nothing but copy the image up. Simple enough in theory.

But the details get pretty gory pretty quickly.

But then it hit me—he's running a webserver on his end. Easy enough to have the camera software dump the picture into a web-accessable place on his box, then have the server here use wget to download the image.

The hard part came in configuring Apache.

Problem one: restrict access on his side. Seems to be broken somewhat on his side. Might be a 1.3.3 problem. We're still working on this.

Problem two: Content expiry on the server side. Fixed after some experimentation. In the webpage he has:

<META HTTP-EQUIV="refresh" CONTENT="60">

And in an .htaccess file he has:

ExpiresActive	On
ExpiresDefault	A60
ExpiresByType	image/jpg	A60

And that seems to do the proper job.

Friday, February 11, 2000

It's not exactly a protocol …

LiveJournal.com is a free service here on the Internet that allows you to create and customize your very own “live journal” … an up-to-the-minute log of whatever you're doing, when you're doing it. It's free, it's fun, it's easy to use!

LiveJournal.com, via Flutterby

The actual link from Flutterby was to the LiveJournal protocol. The protocol itself it nothing more than a documentation of their CGI interface. It's documented with the intention of other people writing software to interface to the CGI, but a webform would work just as well (or at least support the HTTP POST method).

For the individual journals, you can only see an overview of the last X number of entries, in reverse order of course (newest to oldest, and even the entires made within a single day are newest to oldest).

The archive section lists each month, with a link per day (the text of the link is the number of individual entries that day). The day is then presented in chronological order. But, you can't request all the entries for a month. For instance: Bethany's LiveJournal Calendar. Select a day, say today.

Now, take a look at the URL:

http://www.livejournal.com/users/bethany/day?year=2000&month=2&day=11

Munging it up, I left off the day portion and got:

Errors occurred processing this page:

(nevermind that is the full text of what I got back—completely non-standard HTML). Okay, what if I change the URL to read:

http://www.livejournal.com/users/bethany/month?year=2000&month=11

Would I then get all of February's entries? Nope. Just a 404 error (and an error page that again, isn't HTML compliant). Then again, I don't think anyone is really working on the stuff I'm working on, but when I get this out there, that should raise the bar a bit (hope hope).

LiveJournal isn't a bad service but there doesn't seem to be many journals there I find worth reading (with most entries being a line or two at best).


BML … because it's better

Came across BML, a Better Markup Language. Seems promising actually. And LiveJournal uses it. I'm looking into it—it has some interesting ideas.

Saturday, February 12, 2000

Left side, right side, where do you want the couch?

So for those of you following at home, I'm playing around a bit with the layout here. There is this layout you are looking at right now.

This page has a navigation bar along the right side, pointing to the individual links for the past seven days (none of the links work by the way. It's using a URL scheme that I'm planning on using but isn't functional yet). I did it this way for users of Lynx—it lays out tables that go left to right top to bottom; not the best way to support tables, but hey, it tries. And I felt that innundating a Lynx user with a list of links is bad. Better to bring the content first then a list of (possibly) useless links.

But I did this page, and under Lynx it actually isn't too bad. The first link is to the content (if in fact, the link works). And at the default 80x24 TTY screen size, there's only two, maybe three screens full of links before you get to the content. Oddly enough, I like it.

So, what do you think, oh home audience?


“Next on Yahoo—Websites about narconecrophilaphobia!”

I finally figured out what web portals are—portals are to the web what networks are to television; they want to control what you see and would rather you didn't change the channel.

It's a weak analogy, but I think it's a good one.

(The title for this section if the fear of falling asleep and having sex with zombies, if you must know)

Sunday, February 13, 2000

Good Grief

Via Scripting News comes the news that Charles Schulz died today.

Tuesday, February 15, 2000

Spring cleaning just a tad too early …

So I finally decided to clean the Computer Room.

It's not like I have a death of projects I'm working on, but one of the projects is finally getting NetBSD installed on two HP/Apollo 400's I recieved a few years ago but couldn't because of a few problems.

The original intent was to write an OS for the things, but information about the HPs weren't that easy to get (not that I tried really hard). After a year or two I learned that NetBSD was ported.

That lead to problem number two: I had the wrong keyboard. The HP/Apollos I received had the Domain keyboard/mouse, which NetBSD doesn't support, and apparently the boot process for DomainOS is undocumented enough that no one has really bothered. Had I an HP-HIL keyboard/mouse, then I would be in business.

Well, I recently borrowed one and my friend Mark is working on getting me an HP-HIL adaptor so I can use an IBM keyboard like God intended instead of the abomination that HP calls a keyboard.

Have I mentioned I'm very picky about keyboards? That the only keyboards I use are IBM AT or PS/2 style keyboards? Anyway, I digress …

So, easy enough to proceed, right?

Nope. Problem number three: there is no more space in the Computer Room. I could barely make my way into the room. So, before I can install NetBSD I have to clean the room and rearrange it. It was so bad I didn't even recall how the network was set up (thin-net, aka cheap net. I had black cables running everywhere).

So I spent most of last night schlepping computers out to the living room and dining room. The Computer Room is now clean, but the rest of the house …

So now I'm in the process of schlepping everything back, only I don't want to schlep everything back in. I have no idea what I'm going to do with half the stuff. I don't use half the stuff and that's the problem.

Meanwhile, I'm trying to get NetBSD reinstalled and I'm having to recompile Linux on my primary server here in the Computer Room because it doesn't have RARP (Reverse Address Resultion Protocol) built in, which is needed to do an initial netboot of NetBSD.

Blah … where's a bulldozer when I need one?


Installation blues

An update on the HP/NetBSD front: and that's the only thing that's up.

The boot process requires NFS. I don't trust NFS (never have, never bothered to install it on the home system here). Sigh. Download, install, configure.

So I have rbootd and rarp working on Linus. Turn on the HP. Using some network monitoring software I wrote (a near-clone of tcpdump that outputs in a more concise mannor) I can see the HP making requests of rbootp.

And one lone NFS packet:

IPv4    208.26.72.7     255.255.255.255 UDP     1023    111

So far no luck getting past that.

Wednesday, February 16, 2000

For those complaining that Linux is too easy to install …

Well, the first of two HPs is now online and running NetBSD, thanks to the help of Mark. It seems I needed to have bootparamd running, as well as NFS. Also, the documentation neglected to mention that you might, just might, need to hook a terminal up to the machine.

Lo, there was SYS_INST, running not on the console (the wonderful 21" monitor) but on the serial port. Sigh. After that it was a painfully long process of transfering the installation program via NFS (although that may be due to the logging we were doing) then the actual install process (via FTP, much faster).

Slackware Linux was a breeze to install compared to this. The whole disk labeling is confusing—I find the PC scheme much easier to deal with (although Mark finds the PC scheme too braindead and likes the added complexity that disk labels bring. Go figure). We still haven't figured out how to get the system to boot off the drive, but it is running.

More on the exact steps later …

Thursday, February 17, 2000

Natural Languages and P—- Languages

The moral is that Perl is a great language for implementing haiku … but Python is rather better at implementing functional specs.

Via Slashdot, A comment about Python vs. Perl

A rather good comment about one of the reasons I dislike Perl. I also dislike Python (significant whitespace?) but if I had to choose between the two, I would probably use Python.


A clear and present separation

Iaijutsu sounds interesting, a web server that separates content, presentation and logic, which is what I'm trying to do. But at this time, the website seems to be down. Or rather, DNS is reporting back an error.

Maybe I'll get back to this some other time. Even if it is written in Perl.

Saturday, February 19, 2000

The Battle of the AC, Part I

Whoever designed my condo should be taken out and shot.

The AC is shot. Well, the inside portion thereof. So today it's being replaced.

To replace the unit, the workmen have to tear down a portion of the ceiling where the unit is. Oh that, and take down the front door.

This is why I didn't have the inside part replaced last year when I had AC problems.

Joy.


The Battle of the AC, Part II

“Hey Sean,” one crewmember asks. “Do you have a bucket?”

“Sure,” I said. Went outside to the utility closet and grabbed a large bucket. “Here you go.”

“Thanks.” He walks over to the unit, holds the bucket up to the unit being replaced, and several gallons of water pour forth.

Oh my.

Sunday, February 20, 2000

A method and aparatus for obtaining quantities comprised of groups of smaller quantities grouped and counted for the larger quantity.

It was never the object of patent laws to grant a monopoly for every trifling device, every shadow of a shade of an idea, which would naturally and spontaneously occur to any skilled mechanic or operator in the ordinary progress of manufactures. Such an indiscriminate creation of exclusive privileges tends rather to obstruct than to stimulate invention. It creates a class of speculative schemers who make it their business to watch the advancing wave of improvement, and gather its foam in the form of patented monopolies, which enable them to lay a heavy tax on the industry of the country, without contributing anything to the real advancement of the arts. It embarrasses the honest pursuit of business with fears and apprehensions of unknown liability lawsuits and vexatious accounting for profits made in good faith.

–U.S. Supreme Court, Atlantic Works vs. Brady, 1882

Via Technocrat.net, this article about software and business patents. One of these days I'll get around to patenting a method and aparatus for obtaining quantities comprised of groups of smaller quantities grouped and counted for the larger quantity.

Or as translated from patent-speak, addition.

Wednesday, February 23, 2000

“Uh, my mouth just exploded.”

My roommate Rob came into the Computer Room this morning and asked if I wanted to go to lunch. He was going out with some of the tech crew from Atlantic Internet (who so kindly provide my connectivity) and wanted to know if I wanted to go along. I wasn't all that hungry, having actually had breakfast before 8am (long hacking run last night, more on that later) but since I decided to stay up anyway (cleaning woman—yes I'm that lazy) why not?

We ended up going to Lucille's, a local BBQ place in Boca Raton. I was feeling a bit sluggish by the time the food arrived, and the waitress, at Shane's request, brought over not one, but two of the hottest sauces currently available.

I remember Endorphine Rush from the last time I was there. The other one was a new one they just got: Blair's After Death Sauce. I was the only one there to actually try it.

The opening was slightly crusted over with dried sauce so it took some coaxing to get a small dab out, which is all I dared. Then dipped my fork into the dab, then tried it.

“Oh—” is all I got out before slamming down my iced tea while motioning wildly at the waitress for more. She quickly returned with a glass of milk, which I slammed down, and by that time she had a refill on the iced tea, which I nearly slammed down. And when I say “slammed down,” I mean chug. Big time. Like I've never chugged before.

I was no longer tired. I was wide awake after that.

And checking the bottle after a few minutes showed the sauce had eaten away at the drived sauce crust over the end of the bottle. Yikes!

Endorphine Rush wasn't that bad. No effect for a few seconds then WHAM! It hits. Pretty hard. Blair's After Death Sauce hits fast and hard. Liquid fire this was. Ouch. Wasabi doesn't hit this hard with so little.


Those Computer Blues …

I haven't updated in the past few days. That's okay, because I have an excuse: my computer was dying.

Well, it wasn't exactly dying, but X Windows—sorry, A Windowing System Called X, was dying. It happened last week when the mouse suddenly went spastic then died. Then shortly thereafter A Windowing System Called X died too. Most horrible. Even worse, I didn't have the CD I installed Linux from (nor a CD-ROM but that's beside the point). Even worse, it was the Metrolink X Server that died.

The system was a RedHat 5.0 system. I did not want to upgrade or install RedHat 6.0 or 6.1. I wanted 5.2. Mark found his copy of RedHat 5.2.

So, I decided it was probably time to do a fresh install. I slapped a 1G drive, backed up what needed to be backed up (and missed /root and /tmp in the process—oh well, probably didn't need those files anyway) and then proceeded to the installation.

I've found out that trying to install RedHat 5.2 across the network from a RedHat 6.1 box is a futile exercise. NFS or FTP the network performance was so poor that doing a disk install of Slackware would be faster.

Then it hit me—I was reinstalling my primary nameserver. This is also the nameserver that resolves reverse lookups. Even my roommate's computer would eventually contact my machine for reverse lookups on the IP addresses.

Ooops.

Quickly fix that, but still find that installing RedHat 5.2 from a RedHat 6.1 box is a futile exercise.

I tried three CD-ROM drives in the computer and not once was it recognized. Of course I was putting the CD-ROM in the second IDE controller on the motherboard but I think the second IDE controller doesn't work. Disconnect the 1G drive and put the CD-ROM in there, and it worked (of course at first I thought it didn't since the BIOS wouldn't recognize it. Mark was like “Duh! It's not IDE! It's ATAPI. The linux kernel will find it.”

The install went smoothly. I repartitioned the drives the way I like (4M /boot, twice the RAM for swap, and the rest for /) and installed RedHat 5.2. I was expecting the Metrolink X server to install, but it didn't.

Twice more and it still didn't. Guess Metrolink stopped shipping their server with RedHat. And XFree86 doesn't support my card (or at least it didn't when RedHat 5.2 came out and like I said, I'm not going RedHat 6.x nor spending hours downloading the current XFree86 and configuring it).

I finally got X working though, and restored from the backup IDE drive.

Oh, and there was that extended hacking session last night.


Hack the Source

So I wound up at Mark's house last night. He wanted to get AppleTalk running so he could mount his Linux drives on his Macs.

He was going to do this on his primary development machine kwalitee, but was relunctant to loose the uptime on it. I suggested ortho, his primary file server.

He was overwhelmed by the sheer obviousness of the suggestion.

Compile kernel. Download userland code. Install. Reboot. Select “Chooser” on the Mac. And there is ortho, ready to serve up files. We were both amazed at how easy it was—especially given the difficulty of Samba, or the insanity that are the automounter documentation (the man pages, how-to's and other documentation for the automounter bear no relationship to the actual program that he used. It's like learning Unix from MS-DOS manuals).

Until he had to make a slight configuration change. The AppleTalk server wasn't returning the correct type or application for MP3s (I'll save the discussion of finding and uncompressing an MP3 player for the Mac for later). Okay, tweak a configuration file and restart the AppleTalk daemon.

Only it won't restart.

Nothing we do will restart it short of a reboot. So we reboot.

And reboot and reboot and reboot and reboot. Any change we make to the AppleTalk configuration file requires a reboot of Linux. Had Mark made the driver a module and unloaded it, then we wouldn't have to reboot. But having a modular kernel as a server is a potential security hole and Mark doesn't want that risk.

So it's reboot reboot reboot.

We then scour the net for updated anything.

It seems it's a known problem that you have to reboot if you change any configuration for AppleTalk.

Linux is Open Source, right?

Mark wants to reconfigure AppleTalk and not have to reboot. He's got this itch, right?

So, he hacks the kernel.

Thursday, February 24, 2000

Back from the Dead

So I finally got linus (my main computer) back in operational status after last week's little fit (starting with a dying and now dead mouse). Yea!


Netscape, version Proxy Authorization Required

Since I installed a later version of RedHat (5.2) on linus that was on there before (5.0) I have a newer version of Netscape. Instead of version 4.04 (the NOTFOUND version) I now have 4.07 (the PROXYAUTHREQ version).

Okay, so you have to be a webgeek to get the joke.


If Bill had a dollar for every blue screen …

If Bill [Gates] had one dollar for every blue screen … oh wait. He does.

Mark Grosberg

Friday, February 25, 2000

Hack the Source, Part II

Mark has written some pages about hacking the Atalk driver in Linux. Another note not noted in the note: he reported that it doesn't work on another of his Linux systems—the major difference being a different network card. Is the Linux kernel that fragile that a difference in network causes a protocol stack to fail?


DNS Woes

Mark wrote in today to say that reverse lookups for my domain weren't working properly. And lo, nslookup was having a hard time finding the machine it was running on.

At first I thought maybe it was a problem with what I was trying to do with the latest version of bind. You see, I set things up such that I control the reverse lookup on the 32 IP addresses Atlantic Internet provides me.

This is done via an interesting hack. For the appropriate in-addr.arpa file, I have:

0	IN	NS	linus.slab.conman.org.
1	IN	NS	linus.slab.conman.org.

And so on for the 32 addresses I've been assigned. Then, for the namesever here in the Computer Room, I have:

1	IN	PTR	isdn.slab.conman.org.
2	IN	PTR	area51.slab.conman.org
3	IN	PTR	linus.slab.conman.org.

32	IN	NS	ns1a.aibusiness.net.
33	IN	NS	ns1a.aibusiness.net.

253	IN	NS	ns1a.aibusiness.net.
254	IN	NS	ns1a.aibusiness.net.
255	IN	NS	ns1a.aibusiness.net.

I've also set the nameserver to think it's a master for the in-addr.arpa zone I appear in.

So anyway, I thought the latest version of bind wasn't liking that. And it turned out that was true, to a degree.

There is no such TLD as .apra. Stupid typo.


Conman Laboratories monitors at Area 51

Not that I'm inviting anyone to try, but good luck trying to break into area51.slab.conman.org. You won't get very far nor is it a very interesting box. A Compaq 486DX/2 running at 66MHz with 20M of RAM and no harddrive.

Yet it is on the network.

It's running a modifed Tom's Rootboot disk distribution with some network monitoring software I wrote. I just thought the name was cute.

Saturday, February 26, 2000

Tumblers tumbling

I'm updating my code on tumblers. Tumblers are a crucial portion of Xanadu, the hypertext system designed by Ted Nelson and still being worked on (only 40 years later).

My tumblers work differently than the Xanalogical mode. There they are true numbers on which certain operations like addition and subtraction can be applied to address nodes (and all the nodes contained therein) whereas mine are not numerical at at and the operations that are performed on them do not have mathematical relationships. At least not in the Xanalogical sense.

Both systems (mine and Ted's) do allow ranges to be specified, but the mechanics differ. I'm not going to go into how Xanalogical tumblers work since that's described elsewhere. But I am going to describe what I'm working on.

Basically, my tumblers (for lack of a better term, that's why I'm using it currently) is just a list of node identifiers, with those listed first higher up than those below it, much like USENET groups. You have comp that contain all the computer related discussion groups, and below that you have comp.lang, which contain all the articles pertaining to computer languages to finally having comp.lang.forth, dealing with a particular computer language. And you are not limited to just the period for separating nodes—I also use slash and colon (for several reasons I won't get into right now).

But another aspect is describing ranges. A range specifier consists of left and right sides separated by a dash. The left side specifies the starting node, while the right side specifies the ending node, relative to the starting node. So that:

A.b.1-3

would specify the nodes A.b.1, A.b.2 and A.b.3. Notice that there are three node segments on the left side and only one on the right. That's important. The missing segments on the right side are inherited from the left. This inheritance only takes place if the right side has fewer segments than the left side. If the right side is longer than the left, it is assumed that the right side is a full specifier, like the left side is.

And so far, the code I have in mod_litbook handles those cases (dealing with the King James Bible for now). What it doesn't handle are separate but related ranges.

For instance,

A.b.1,5

The interpretation I use would return nodes A.b.1 and A.b.5 but nothing else in between. In this case, the comma is used to specify to independant nodes, but with the same relationship rules used in ranges. So far so good, but I want to be able to handle something like:

1.2.3,4,1.5.3-5,3.8-4.1,1.2.3.4,6,9

Which is a complex specification for:

1.2.3
1.2.4
1.5.3 through 1.5.5
1.3.8 through 1.4.1
1.2.3.4
1.2.3.6
1.2.3.9

I'm close to getting the parsing done.


Files filing

I was hanging out with Mark and Jeff and one of the topics of conversation was over filesystems.

Okay, I'll admit up front we tend to be a bit geeky.

Anyway, a conversation about filesystems. I don't like the way Unix handles the filesystem, slapping everything under one tree, but I came from a rather heavy MS-DOS, VMS and AmigaOS background where you had volume labels (okay, so the support under MS-DOS was rather weak and ineffectual). Under AmigaDOS (for instance) if I have a floppy with a name of “StarControl” (which I actually do) and I insert it, I now have a volume I can look through called “StarControl:”. And if there is a program on that disk (which there is) it can reference files from the volume “StarControl:” such as “StarControl:config” or “StarControl:scenarios/galactic war”. And, copy protection concerns aside, I can copy the files off the floppy disk onto the harddrive (“Captain Napalm:”) into a games directory and then set the volume “StarControl:” to be equivalent to “Captain Napalm:games/star.control” and have everything work without problem.

“Ahha!” said Mark. “That's all great and everything but what if you insert two floppies with the same name?” Erm … ah … <cough> <cough> “And what if,” he continued, “I have a lot of volumes? There could be name clashes. Like both the C compiler and Pascal compiler looking for files from volume Compile?” Erm … uh … look! The Sweedish Bikini team!

“And why have a different syntax for the the volume name and then the rest of the filesystem?” asks Mark, avoiding my transparent attempt at changing the subject. “Do you allow slashes in the volume name?”

“Sure,” I said.

“And do you allow colons in filenames?”

“I'm sadistic enough of a programmer to say yes.”

“AAaaaaaaaaaaaaaaiiiiiiiieeeeeeeeeeeeeeeeeee,” he said. But point taken.

Mark, on the other hand, like the One Tree, Über Alles approach to a file system. Other machines on the network would appear under, say, /net. But that seems wrong to me. Each local machine is the top of their respective trees when it seems like it should be the other way around.

“But if I'm on a non-networked machine, just where should the root be? Should it be under /net/machinename?” Mark asked.

“No,” I repled. “It should have a volume name.”

Sunday, February 27, 2000

Movement

Spent the day staying up way too late this morning, getting too little sleep and then helping my friends Paul and Lorie move from their two story townhome to a second story appartment all day, then staying up way too late hanging out with other friends.

I arrived at Paul and Lorie's a bit past 10 am. I was running a bit late, but then again, I don't understand how anyone can function before noon on a daily basis.

Jeff and Sarah were already there, helping Paul and Lorie load the truck with boxes. When I arrived, the loading of furniture commensed, along with the majority of remaining boxes.

Getting the furniture downstairs was fun—having to navigate turn halfway down made it all the more fun. Paul wasn't sure what to do with the large entertainment center in the living room—it was huge and there was concern about moving it into the new apartment (remember, it's on the second floor). After a small attempt to move it and have one section separate from another (think of three shelve units bolted together and you get an idea of what this thing was like) I suggested that the unit be taken apart—just remove the top and the sides would just pop off.

No tools, so Jeff and I went to Jeff's house to pick up his tool box. Came back and spent maybe half an hour taking the thing apart. Had to remove the back (well, part of the back) as well as the top but it made it more manageable, but the truck by that point was nearly full so it was left behind (along with some other bulky furniture) for a second trip.

At the new place, the stairs leading to the second floor of the apartment went up half a flight, landing, then continued up the other direction to a walkway, where it was several hundred feet to the apartment door (around three turns no less—large apartment building). Kurt had arrived by this time so an assembly line formed—Jeff in the truck bringing boxes to the loading door, Paul carrying the boxes and lifting them to me, standing on the lower stair landing where I would walk up two or three steps and toss them on the second floor landing, where Kurt, Sarah and Lorie would then pick the a box (or two) up and carry it (or cart it) to the apartment.

After the boxes, any long item would be handed directly up to someone leaning over the second floor railing who would catch and bring it up over the railing and place it for someone to come by and cart it off to the apartment.

Lunch. Then the second trip, much like the first. Then dinner.

By that time everyone was exhausted.

So of course I hung out with Mark and Jeff (a different Jeff) that night.

Monday, February 28, 2000

just a typical monday

The world runs on a different, and worse, an alien clock, to me. I called the A/C repair people because the A/C that was just installed seems to be freezing up. I called around 3:30 pm (I got up around 2 pm) and I got voice mail. Does that mean I'm going to have to get up at some ungodly hour like 10 am or so just to make sure I get actual human beings at the A/C repair company?

It also makes it rather … interesting playing the stock market, seeing how it closes down at 4 pm EST. Supposedly there are “after market” hours but I haven't seen much evidance of that.

It's not that I'm lazy mind you—it's just that I might have a condition known as DSPS, Delayed Sleep Phase Syndrome. Don't laugh, it does exist but there are very few doctors that have heard about it. Sigh.

I also spent the day looking for a stock to invest in as well as updating the journal entry here.

Tuesday, February 29, 2000

Life in Unixland

ytalk doesn't work on linus (my home system). Nor does talk. Strange, I have it enabled, but it just isn't working and it seems to be horribly damaged.

This is Unix. So what else is new?

Seriously. There are at least two different talk protocols, neither one documented (unless you count source code to be usuable documentation, much like uuencode when you get down to it) and both incompatible with each other. Which is why ytalk is nice—it preportedly talks both so it doesn't matter.

Only it's not working.

Over the years I've found it harder and harder to find working implementations of *talk on any system but I did have a working version I could use to talk to a few friends with before the install of RedHat 5.2 on linus (it was running RedHat 5.0 before).

Now it's general braindamage all over the place.

In trying to debug the problem, I found that /etc/inetd.conf had a bogus entry for dtalk (whatever that is) so I commented it out. Still didn't work. Uncomment telnet on the advice of Mark to see if inetd is okay.

telnet isn't working. What the … ? I try killing off inetd and restarting it. Same deal.

Is it possible for a newer release to exhibit so much lossage? That isn't a Microsoft product?

Try re-enabling FTP. Same lossage.

Turns out I had neglected to install TCP-wrappers. Nice that the RedHat install program neglected to make a dependancy on that. But it includes Perl. Goes out of its way to include Perl.

Such is life in Unixland.

I should note that I get easily upset when stuff that should work doesn't. Computers don't have to be this difficult. There shouldn't be this much lossage and braindeath in dealing with computers. But I suspect that most programmers can't cope with such ideas. Programmers give programming a bad name.


Life before noon does not exist

Ring.

Ring. Eh? I thought.

Ring. Is it already time to get up? Wait a second … that doesn't sound like the alarm clock.

Ring. Crap! The phone! I hoped I wasn't too late—it'll be really annoying if the answering machine picks up. “Hello?”

“Hi. You've reached area code three zero five …” Great. Answering machine got it. Now I have to make the 30 second commute to the Computer Room and stop it. And what bloody time is it anyway? It had better be the A/C guys—I called yesturday and left a message with them. I stumbled around, turned off the machine. “Hello?”

“Hey guy! It's 9:30! We need you here!”

It was C. S., a salesdroid from Atlantic Internet. I've been helping him with some projects lately and he needed help. Good thing he was 15 miles away or he would have needed some help. “When can you come in?”

“After two,” I said. I think. I don't fully remember the conversation. Life doesn't begin before noon.

“Two?”

“grumble”

“Okay, see you then.” He sounded entirely too chippy. What is it with people being up at these ungodly hours?


Computer Art anyone?

Ring.

Ring.

“Salvation Army, can you hold?” I don't have enough time to answer before I'm put on hold. Several minutes go by. “Salvation Army, may I help you?”

“Yes, I'd like to donate some old computer equipment,” I said. I have a ton of old computer equipment I'd like to get rid of. About a dozen monitors (mostly monochrome or CGA), a dozen or so PCs (of XT or 286-AT class) and some other miscellaneous equipment I've accumulated over the years.

“Is this an office?”

“No, it's a private house.” I swear I could hear the person on the other end blinking in disbelief. “I have some older equipment I want to get rid of.” More blinking. “Can you pick it up?”

“Are they usable as home computers? If not, then we'll just throw them away and that actually costs us money.”

Interesting question. The monitors work. Most of the PCs work but are large and bulky. About the only thing you can run on them is MS-DOS, maybe up to version 3.3 or so. Throw Procomm or Qmodem and they'll make decent, if bulky, terminals. But who ya gonna call, eh?

“Probably not,” I answer.

“Okay. Thanks for calling.” We hung up.

Maybe painting the whole lot gold and selling it as art on eBay is the way to go.


Conslutting as a way of life

Conslutted with Atlantic Internet. Easy few hundred dollars for a couple of hours work. This, and investing should make it easy for me to avoid real work. Can't complain.

But I can complain that I still haven't been able to get a hold of the A/C guys. Voice mail. Answer it. Sheesh.


Patent yourself for fun and profit

LONDON (Reuters) - A British woman has become the first person to attempt to patent herself, the national patent office said Tuesday.

Woman Files Patent Application on Herself via Flutterby

Interesting concept, but does that mean after the patent expires, people can use her without paying?

Thursday, March 02, 2000

“Hi I'm stupid and I want to prove it to the world.”

“This is [techsupport], can I help you?”

“Yes. I'm viewing the stock for such-n-such a company and it's showing a price of 58 3/8 when it should be reading 59 1/32. This is a problem that I feel you should be aware of and you need to fix.”

“ … ”

Tech Support at Atlantic Internet answering a support call.

True story. I'm here at Atlantic Internet and I just talked to the tech that fielded the question. We're all speechless here.

Friday, March 03, 2000

A Separation of User Interface and Processing

I've been reading several articles about GUIs (notably the new one for MacOS-X) and it seems like there is a simple solution to the complexity plaguing them—complexity of features. Windows has both menus and toolbars, with each application having a custom menu and/or toolbar.

Now, since most modern GUIs are message (or event) driven, it would seem a much better idea to construct an application as a client/server model—the GUI being the client sending messages of what needs to be done to the application, or server.

Just document the messages and parameters required by the server and you can customize the GUI to send those messages. So one user can have a window full of those cryptic hieroglyphic iconic toolbars, another can have a traditional pull-down menu, a third can bind weird keyboard macros and a fourth can have a mixture.

This would also make applications scriptable. Imagine you could do the following with Photoshop:

directory = SELECTFILE();

FOREACH file IN directory
{
	send photoshop 'OPEN file' 'BRIGHTEN' 'SAVE YES' 'CLOSE'
}

send photoshop 'QUIT'

on a directory with 100 photos. Or even bind this sequence to a cryptic hieroglyphic toolbar image and add it to the current toolbar.


This is significant, but I don't know why …

You don't have to imagine. Just read Bellamy's Looking Backward, which was written in 1887 and describes the world of the year 2000.

–From Slashdot comentary about Bruce Sterling's predictions of the future.

I took too long in getting back to this. While I would probably want to dig up Bellamy's Looking Backward I don't recall why I find it significant, other than noting just how off it is.


I never noticed this before …

I just now noticed that the paper napkins I bought are decorated with icons of crayons, lipstick containers or bullets. I can't tell which though. I suspect crayons or lipstick because some of them give the impression of drawing another icon nearby.


PHP Woes

Mark and I tried to get PHP installed on the main webserver. Or rather, I was doing it while Mark looked on.

Snag one—when following the PHP instructions to install mod_php3 I found that it excluded the module I wrote, mod_litbok. That's when Mark took over and spent the next hour trying to get both PHP and my module compiled into the same webserver.

I remarked that had I been the only one doing it, I wouldn't even give PHP a consideration after 20 minutes—complexity for complexity's sake and the poor quality of the install documentation and all that.

But Mark, who thrives on solving problems that shouldn't exist in the first place due to poorly written software, got both modules installed. We copied the (now huge) executable to the webserver.

My module didn't work properly. Mark was upset that I put the old executable up. I consider my webserver a production server and until I find the problem, I'm not going to have a half-working module.

Saturday, March 04, 2000

Why work?

If you start asking yourself “why work?” you may discover the connection between wage slavery, misunderstandings of leisure, lifestyles based on consumption, corporate welfare, education that often amounts to little more than conditioning, and the global social and economic crises we are now facing. We hope that the materials we feature here will encourage critical thinking about such things.

Creating Livable Alternatives to Wage Slavery (CLAWS), via MonkeyFist

Why work indeed? I haven't since September, and I couldn't be happier.


Obnoxico, Inc.

Even Buckminster Fuller had a few things to say about working at large, soul sucking corporations.

Sunday, March 05, 2000

mia culpa

After spending a few hours experimenting, I figured out what the problem was in getting PHP and mod_litbook working in the same server—it was entirely my problem.

I re-extracted Apache from the archives, and proceeded to add my module first, see that it works properly, then adding PHP (paying very careful attention to the directions for adding it manually) and testing to see if both worked.

They did.

I then moved the new executable to the webserver and tried it.

mod_litbook didn't fully work, like last time. That was a clue I should have punced upon last time.

Turns out I wasn't running the latest version of mod_litbook on the primary webserver. The version I released was a bullet proof version that Mark had (at my urging) criticized for some potential bugs that I fixed. In the process I had included a few more configuration directives and it was those missing directives that was causing my module to fail.

Ooops.

Tuesday, March 07, 2000

TCP/IP over SMTP … RFC?

Via Flutterby this wonderful page about tunnelling TCP/IP over SMTP.

Yes, you read right—a way to tunnel TCP/IP over the SMTP protocol, which itself runs over TCP/IP. The author of the page states that this is for firewalls so restrictive that only email passes through. Issues of latency aside, is seems so … convoluted … to do such a thing.

But remember—the Internet sees censorship as damage and routes around it. Often times in ways people don't expect.


IN-ADDR.ARPA DNS

I've been helping someone setup DNS—more specifically, so he can control the reverse lookups. I use NS records but according to the documentation of BIND and RFC2317, you're supposed to use this horrible CNAME hack. The only thing I can think of for doing that, beyond the Complexity for Complexity's Sake Syndrome, is to avoid confusing a person over having to configure an IN-ADDR.ARPA domain they're not really delagated to serve.

I was told the trick by my friend Kelly who used it for his home network. He sat down and applied some thought as to how DNS works and came up with this method.

I like it better than the “official” way.


LASER Tag and an end of alphabet soup

Laser Tag. Much fun. Much pain. Ouch.

Thursday, March 09, 2000

Hacked, and hacked again

Rob, my roomate, got hacked yet again. Nothing bad happened, the person didn't have much of an opportunity to do anything.

I check my machines. Nothing.

Odd.


“Never make things simple when you can make them complicated.”

One of my many-years-ago friends, long since deceased, was a giant, a member of the Morgan family. He said to me: “Bucky, I am very fond of you, so I am sorry to have to tell you that you will never be a success. You go around explaining in simple terms that which people have not been comprehending, when the first law of success is, `Never make things simple when you can make them complicated.' ”

R. Buckminster Fuller

Might explain a few things …

Monday, March 13, 2000

Tumbling through Code

I'm still working on the tumbler code and it's more interesting (read: complicated) than I originally thought. Basically, I think I want too much here.

I already parse Bible notations and to that I want to add a date-based reference system for the journal here. The bible notation is of the form:

book `.' chapter `:' verse

while the date based version is:

year `/' month `/' day `.' entry

It's easy enough to specify multiple unit separators, but I do want to maintain a canonical form for the search engines—I'd rather not pollute them with multiple references to the same page, so if someone were to request Genesis.1.1 (note the period instead of a colon), they would be redirected (via a permanent redirection) to Genesis.1:1 (note the colon). Similar for the date tumblers.

So now, while I can accept multiple unit separators, I need to keep track of which are the prefered ones, and which aren't, and do redirection accordingly. Doing this without making the code a horrendous mess is not easy.

Then there is the spelling correction (at least as far as the Electric King James goes)—someone can still have a correctly formatted reference to a book, say Eklesiastics.1:3 and yet it isn't correct. It's not E-K-L-E-S-I-A-S-T-I-C-S, it's E-C-C-L-E-S-I-A-S-T-E-S (don't worry, I can't spell either). In that case, I can detect what the user was most likely trying to get to and again, send a redirection to Ecclesiastes.1:3. But that's something else I need to keep track of.

Eight versions of the tumbler code later, I think I have it working, but I decide to ask for a second opinion. So I ask Mark how he would do it.

“A single unit separator, and if a user specified the wrong unit specifier, it's an error that is reported back to the user,” he said.

“What type of error? 404? Technically it's not found,” I said.

“Maybe not a 404, but an error page should come back, possibly saying `This is how you need to form the request,' ” he said.

“I hate programs like that, Mark. They can detect the error, they can even correct for the error yet they don't.”

“I'm for strict parsing rules and if they're not correct, it's an error.”

In once sense, his way is easier for the programmer—it's this format or it's an error. The code is eaiser to write and possibly maintain but it makes more work for the user. My way is harder to write, get correct and possibly maintain but is more forgiving of human input error and tries to do the Right Thing.

Coincidently, Mark doesn't like computers that attempt to do The Right Thing. Can't say I blame him much—many programs that attempt to do The Right Thing fail miserably all around. And he does have a point in that my tumbler code may be trying too hard to be general use, what with flags being passed back and forth.

Which explains the eight versions of code.

I think I finally have it though.


“Feng shui, baby. Feng shui,” said the gratefully dead paper millionaire

Mark and I were suckered into helping our friend John unload his truck of music equipment and move some furniture in his house.

For the record, John is a paper millionaire when is dot-com company was bought for $19,000,000.00 in stock options. It's quite amusing to see him fret about gaining or loosing several million a day depending upon how the stock market plays. It's also amusing to hear him say he needs more than $10,000,000.00 for a house.

He also belongs to a local Grateful Dead cover band, hense the music equipment.

This was the first time I've been to his house. It's a beautiful house and much larger than you would expect because of the all the stuff they (John and his wife) have. George Carlin had them in mind when he did his Stuff Routine.

The furniture moving process involved moving an entertainment center about a foot to the right, then juggling the placement of exercise equipment (“No, over there. The feng shui isn't right,” his wife said) and then the movement of a filecabinet from his former home office to the den. The major problem being the racks of clothes in his former home office.

Two commercial clothes racks of clothes. Two other rooms where filled with more commerical clothes racks. And shoes. Lots of shoes (“Celine Dion has over seven hundred pairs of shoes. That's my goal,” his wife also said). Pretty much all belonging to his wife.

“Our house it too small!” they both said.

“So, get rid of all this stuff,” I said. “Just toss it.” A horrified look crossed his wife's face. “Or pack the stuff and store it. After six months if you haven't gone back, toss it. You'll never miss it.”

“But I will,” she said.

Now I can see why John needs a $10,000,000.00 house.

Tuesday, March 14, 2000

Nerd Trivia

Mark spent the time at working on Nerd Trivia!

Test your knowledge of the minituae of nerdom.

Thursday, March 16, 2000

My Dinner With Chuck

Chuck's weekly meeting was today. There are four of us working on a small web-based project that could be worth quite a bit and over the past few weeks we've been meeting on Thursdays to talk business over dinner.

Only this week, two of our four member team couldn't make it, so Chuck and I ended up going to dinner with Chuck's brother Jeff. Over dinner we talked about various topics at Lucile's, the local BBQ place with the killer hot sauces.

I was actually surprised when he said he's read R. Buckminster Fuller's Grunch of Giants, a non-political satire (as it's called and if there is such a thing) about large corporations. Once my copy from the Buckminster Fuller Institute arrives and I finish reading it, we'll have to have to have a talk about it.

We also touched briefly on the whole RIAA and MP3 fiasco. Chuck is thrilled with the developments the Internet has made possible over music distribution and absolutely loves MP3s. It doesn't hurt that he's a musician and is currently building a home studio. Although he has no idea how a musician will make money in the new market.

“There is the Street Performer's Protocol,” I said. “Musicians give away their recordings and make money by performing live and other merchandising,” I said.

“That's great if you can perform live,” Chuck said. “I've practiced as much as I can and I just can't jam. I'm more of a lyracist. I have much respect for John.”

“Guess it does screw the studio musician like you,” I said. There are no easy answers for this, other than perhaps sponsorship (which wasn't discussed but I bring up here now).

Afterwards, back at Chuck's house, I stuck around to watch Chuck get blown away in Half Life.


Gratefully Dead, and loving it.

Leaving Chuck's house I proceeded to Fisherman's Wharf to listen to my friend John, the Paper Millionaire, play in his Grateful Dead cover band. I arrived to find Mark and John's wife Lynae sitting outside listening to the band. Not as many people this week as last week but I'm guessing that might have something to do with it being St. Patrick's Day and people generally hanging out in pubs drinking.

I'm not really a Grateful Dead fan. I mean, their music is okay, I can listen to it, unlike Country or Western. But friends of mine (like Chuck) have claimed to have attended dozens, if not hundreds, of Grateful Dead concerts. I never understood the attraction that would keep people attending concert after concert, day after day, year after year.

But after hearing John's band play for the past few weeks, I think I understand the phenomenon better. They're an incredible band that jam more than play, each song lasting ten, fifteen, twenty minutes at a stretch, often blending into the next song with no clear break between them.

They'll start a song, sing a few verses, then jam out for ten minutes, resume singing a few verses (oh, they're still playing that song I think), jam a few more minutes, sing the last verse, then start the next song.

Just incredible.

But more incredible are the people. A large crowd, dancing on stage, spinning, whirling, stomping and otherwise just having a great time being abosrbed into the music, letting it take them where ever. It's effetious.

Like I said, I'm beginning to get a grasp on this whole Dead thang.


The Whirling Dervish and the Souless Man

While sitting at Fisherman's Wharf listening to the Grateful Dead coverband Crazy Fingers I was watching attractive girls dance to the music. There was one I found compelling, her dance coreographed perfectly to the music, a real joy to watch.

Unfortunately she seemed to be there with a significant other, one who didn't look like he was enjoying it there at all. Large, well muscled with the short crop hair of a Marine, sitting in an uptight position. Other than being physically large and well muscled, I couldn't see what she saw in him, but I would probably say that of any guy she was with that I didn't know.

Why him and not me?

The eternal geek question, that one.


“I'm with the band.”

It's odd doing stage work again after years of not doing it. Each Thursday, if I get to the Fisherman's Wharf early enough, and most times afterwards, I help John setup and tear down his equipment. Even though I'm not getting paid, I am getting compensated in other ways. It's not often anyone gets to say, “I'm with the band.”

Friday, March 17, 2000

Got your towel?

Spent the evening watching “The Hitchhiker's Guide to the Galaxy” with Kelly and Mark. Kelly and I have seen it before, Mark hasn't.

We ended up watching the entire six hours worth.

And of course it was worth it.

Monday, March 20, 2000

The MEGA hardware store

After attending a disapointing meeting (I thought certain issues were going to be discussed but they weren't) and lunch, I decided to head on over to Home Depot. Nearly all the light bulbs in the condo are burned out, and I needed to repair my toilet.

I spend about half an hour preparing to go. Checked what bulbs I needed. Two 36" kitchen lights. Two 48" kitchen lights. Nine regular 60W bulbs. Four decoration bulbs. One three way bulb. One colored bulb, yellow, preferrably yellow. One halogen lamp, 300W, type J. Four bulb light unit for ceiling fan, chrome. And one toilet flapper.

It used to be bookstores were dangerous territory for me. Now it seems to be home improvement, office or art stores.

Rows upon rows of items that can be used for any number of nefarious reasons. Wire. Screws. Pipes. Wood. Abstract styrofoam shapes. Pens. Pencils. Protractors. Art pads. Sewing thread. Stuff. Stuff! STUFF!

Ahem.

I was both overwhelmed and underwhelmed by the selection of light bulbs at Home Depot. Overwhelmed at the types of bulbs availble. Underwhelmed at the selection of any one type. It seems that 36" kitchen lights are only 30W, while the 48" ones are only 40W. I couldn't find a 60W yellow light bulb, so I ended up with a 25W. Found plenty of 60W bulbs. And the three way bulb only came in two different settings, 50/100/150 or 50/150/200 (or something like that). I could not find the proper halogen bulb, but I really don't need one quite yet.

Going through the ceiling fan section, I did find light units to replace the one that's shorting out in the dining room, but it was brass, not chrome. I guess chrome is out this year. And I really don't want to get a new ceiling fan because I happen to like the one I have now, with the transparent fan blades. So I still need a light unit.

And it took me a long time to find the flapper.

It was odd—I picked the correct isle but it took me a long time to actualy find the flappers. I couldn't find them, found one or two that were almost, but not quite right. I almost got a complete toilet repair kit ($7 to replace all the components in the tank—seems pretty cheap to me) when I found a partial toilet repair kit (about half the parts for about half the price) when suddenly I found all the flappers I wanted. Even five-packs of flappers. Flappers everywhere! And cheap. Only a buck.

Got out fast, not wanting to spend any more time or money there.

Got home, replaced all the light bulbs. I now have lightage. I then replaced the flapper. I now have a quiet non-leaky toilet.

I'm happy.

For now.


“Time flies like an arrow, but fruit flies like a banana.”

Noise words.

That's what I'm working on right now. Noise words.

Not words like clang or pththththt but words that can be ignored in Natural Language Processing. Interesting problem. Words like the and a can be stripped as noise words. But what else? And does frequency of occurance count?

Conjunctions, interjections, and maybe propositions can be cut. Maybe.

Doing a quick search for precompiled word lists, I came across the Language Technology Group Helpdesk FAQ which is incredible if you're into this type of thing.


Cool! How'd I do that?

So I'm compiling Eric Brill's language tagger when I see neat quotes pop up during each compilation. I'm wondering how he did that, thinking that's a pretty cool thing to do while compiling a program.

Then it hit me—it was spawning a shell for each compile, and when I spawn a shell, I have a cookie program run to spit out a quote.

Oh. It's me that was doing that.

Tuesday, March 21, 2000

WRONG WRONG WRONG WRONG WRONG

NOTE to self: Never engage Mark in a converstaion about TCP/IP.

According to Mark, TCP/IP is WRONG WRONG WRONG WRONG WRONG (did I get the correct number there, Mark?). No attempt at error recovery, much less error detection. And it has no flow control. And it seems to exhibit poor behavior across multiple slow links (i.e. from my house to his house).

Mark has experience with telephony protocols, which include things like error detection, error recovery, retransmission, duplication detection, flow control and a dozen other features that the designers of TCP/IP either left out or left to higher level protocols.

Amazingly enough, Mark actually likes the OSI Seven Layer Burrito™ protocol model.

Other NOTE to self: Don't even bring up the higher level protocols like SMTP or HTTP with Mark.


Woo hoo! Books!

My order from the Buckminster Fuller Institute arrived today! Woo hoo! Reading material. Of the six books (yikes!) I order, the following arrived:

  1. 4D Timelock
  2. Synergetics
  3. Grunch of Giants
  4. The Buckminster Fuller Reader
  5. Geodesic Domes

Synergetics 2 is backordered and will probably arrive Real Soon Now. Time to go read …


Shoot first, then ask.

Went with the roommate to play laser tag. About a dozen of us showed up, paid our money for unlimited games for several hours and ran around shooting at each other with light.

One game was played lights out. Not completely though, a few strobe lights blinking randomly provided brief glimpses of the arena (it's Laster Storm, so there are plastic barricades separating the two teams) and the red light from the gun gave your position away (even the headset lights were turned off). Very fun if you can do it.

Then dinner afterwards. Then home to read Bucky.

Wednesday, March 22, 2000

Searching for the unsearchable

I'm attempting to find a list of “noise words,” word to avoid indexing for a search. I found plenty of references to noise words, but no actual list. Half an hour I spent, and then it hits me—would a web page that lists typical noise words actually be indexed?

Hmmmmmmmmmmmmmmm indeed …


If you think sendmail.cf is bad …

Mark and I ended up helping John (the dot com paper millionaire and keyboardist for a Grateful Dead coverband) set up a new feature on his site. It involved deep hacking of both sendmail.cf and the Sendmail source code itself.

Some things we found out:

We might have actually finished had John not crashed on us.

Friday, March 24, 2000

Service with a snarl

My roommate and I, along with several of his friends, went to see Romeo Must Die, a film worth the price just for the action sequences. Afterwards we went to Sal's, an Italian chain. Bad service.

Thursday, March 30, 2000

Beekeeping in New Zealand

“Yes, of course. Adulation aplenty. So, Jeeves, you have a unique perspective on the Internet, being directly hooked in. What's it like?”

“Beekeeping in New Zealand”

Interview with the Search Engine


No longer a deadhead

I learned that John, the paper millionaire of a dotcom, is no longer part of a Deadhead cover band. It seems they want someone who can play full time, and it seems that John can't play full time due to commitments with his dotcom.

Oh well …

Friday, March 31, 2000

Bitch session

Mark called, needing some help with sendmail. He's working on a project for John the paper millionaire of a dotcom and needs to get it to do something rather silly actually. But Mark does not care for TCP/IP programming or Internet programming at all.

“I don't understand what I'm doing,” he does. “What do I get from sendmail?”

“You get the header section in RFC822 format, then a blank line, then the body of the message, on standard input to the program,” I said.

“Why do I have to concern myself with this crap?” he asked. Seems he's too used to having library code handle any lower level protocol stuff. Yes, SMTP is low level to him in this project. Parsing this crap is too much for him to handle. I can relate—databases are alien to me, what with all that SQL crap and what not.

“Sorry, no one has really bothered with making libraries for this. Something about it being too easy or something.”

He continued one bitching about the SMTP protocol and having to actually know anything about it. He's happier working with telephony protocols, which to him, work better since they have error detection and recovery, while nothing in the TCP/IP world does. At least, not to his satisfaction.

Then again, Mark will do anything for money.


Investment in the future

Investment class. Gruelling but well worth the time and the money. Had to be there at 8:30 am. I made it, but I don't know how.

Afterwards I hung out with friends till about 2:00 am, only to have to get up the next morning to meet the next class at 8:30 am. Ick.

Saturday, April 01, 2000

Even more investment

Got home late. Got up early. Went to day two of the investment class. Learned just how bizarre the stock market can be, what with stocks following entire stock markets, options, leaps, covered calls and ways to make money if the market is going up, going down or going nowhere.

This should help me invest properly in the stock market.

Afterwards, I drove over to my friend Bob's house for the weekly AD&D game, seeing how it would start in a few hours.

To say I was a zombie by the end of the night is an understatement.

Thursday, April 06, 2000

Just catching up

Mark called, still at work, around 2 am and having a hard time working on the current project under Windows NT. I drove over to his office to hang out with him and act as moral support for the loathsome job.

After he got what he needed working, we spent the next few hours checking out stocks to invest in (using the material I learned in the investment class) and around 8 am, we went to Tom Sawyer's for breakfast.

Tom Sawyer's is a local restaurant like the Cracker Barrel, only not as expensive and without the gift shop. Great food. Great prices.

Came home, and crashed.

Tuesday, April 11, 2000

The Tax Man

The big thing today—last minute updates on my 1040, Schedule D.

Man, taxes are a pain. Not hard, just tedious. Filled in some information, which affected this value, which affected that value, which … well, this is something that a spreadsheet is perfect for. Just punch in some values, wait a few moments, and you now owe Uncle Sam a large check.

Then again, knowing the way things work, it would require a Microsoft product.

Wednesday, April 12, 2000

The Bogus Paper Trail

Just had a conversation with Mark over documentation, or rather, the lack of documentation in our industry.

I thought companies didn't document their products (say, a hardware device for a computer) for one of two lame reasons:

  1. “It'll give our competition an insight into how we did things and therefore they'll steal our R&D from underneath us.”
  2. Their hardware is so crappy they don't want anyone to know just how bad it really is.

But the primary reason, so according to Mark, is that the companies are afraid of releasing the documentation because most of it is incomplete, inaccurate or just doesn't exist to begin with.

And forget trying to get documentation from programmers or engineers—they'll either quit and go elsewhere (where they don't have to document) or what they write will be so horrible that no one actually uses it (which is pretty much status quo from what I understand).

Or, even if the company can release the documentation, it does no good because chances are good that they used products from other companies that don't document what they did, or don't release documentation, or don't release documentation without a thick layer of NDAs to CYA.

So the next time you get that chip from Intel for your next hardware project? Just toss the documentation—it's totally bogus anyway.

Just don't ask about the next bridge you drive over.


invoices

I finally got around to printing an invoice for Atlantic Internet. It's a rather involved process printing out an invoice, but it's not the software that's the problem.

It's the hardware. Or rather, the lack of space for said hardware.

I use an old MS-DOS box for printing of invoices. Nothing difficult, just copy over a template file (which is nothing more than a text file), fill in the columns using a text editor, save then print to a dot matrix printer. The problem is I have no space left for the system so it's been sitting in my bedroom on the floor, waiting for the time I get around to putting it somewhere.

But I needed to print this invoice and the Computer Room is full. Well, not as full as it was, but now that it's orgranized I'd like to keep it that way.

I could hook the printer up to the Linux box, but Unix and peripherals don't mix. Or rather, don't mix well. I don't have an exotic printer. It's dot-matrix. Schlep ASCII out the parallel port and it'll print. But Unix weenies have to make something simple overly complex with half a dozen configuration files (none of which are similar, and don't even get me started on adding a modem to Unix).

Well, that and I never bothered to install the printer subsystem on Linux since I don't use the printer all that often. Last time I dug it out it was early February (when it and the MS-DOS computer were in the Computer Room).

So I quickly set up the computer in the bedroom, printed out the one page I needed, and broke everything down again.

Now I just need to submit the invoice.


So you wanna add a modem to Linux?

Friends that know me know that I tend to get very frustrated when things I think should be simple, or at least straight forward, aren't. This is especially noticible with respect to computers.

And it's one of the reasons I haven't bother to set up printer support under Linux (or Unix in general). Unix weenies chant “Simple. Simple. Simple,” but what they do is “Complex. Complex. Incomprehensible.” I'll take the case of modems under Linux, since I have more than my share of experience with what normally should be rather simple and painless.

Situation: Hook two Linux systems together via modem. Mark and I have done this several times over the years and every time it takes several hours to get it working. The first time it took like 16 hours, but that's because we wasted 12 hours on a core-dumping uugetty (that we didn't know was dumping core).

  1. Plug modem into computer. Even if it's an internal modem and you have to open the system and shove a card in, this is the simple step. But because of the PC hardware you have to make sure you don't have IRQ conflicts, but let's assume you don't. Plug the modem in.
  2. Figure out which port the modem is plugged into. Again, this should be simple and in fact, these two steps are the same reguardless if you are using MS-DOS, Windows, or Linux.
  3. Now figure out if you need to use /dev/cua* or /dev/ttyS*, but it depends upon the Linux kernel you are using. One if for dialing in, one for dialing out, but in a pinch I think you can use either as long as you don't try to have one program answering the phone and another one trying to make an outgoing call.

    For you see, while both /dev/cua* and /dev/ttyS* use the same driver, they have slightly different semantics when opening them up for use and I can never rember what those semantics are (but hey, this is Linux, I can check the source code) or which device is for dialing in or dialing out.

    But the newer Linux kernels (starting with 2.0? 2.2?) have removed that annoying aspect, thus annoying a bunch of package maintainers who content that Linux was doing the Right Thing and this new way of doing things is the Wrong Way.

    See what I mean? And we haven't even gotten the computer and modem talking yet!

  4. Select which getty program you'll be using. mingetty is only used for virtual terminals, but that still leaves:
    • mgetty
    • uugetty
    • getty
    • agetty
    • mgetty
    Don't worry, they're all equally bad. We always ended up using uugetty.
  5. Figure out what configuration file it wants. Usually you think the man page would tell you, but I've found that it's best to grep through the executable for potential configuration file names.
  6. Write the configuration file. Since we're using Hayes compatible modems, the following configuration file for uugetty seems to work:

    TIMEOUT=60
    INIT="" \d+++\dAT\r OK\r\n ATZ\r
    WAITFOR=RING
    CONNECT="" ATA\r CONNECT\s\A
    DELAY=1
    

    The INIT and CONNECT lines are commonly called “chat scripts.” The format is a series of pairs, one string for what to expect as input, the next what to send for output. Notice that if something unexpected comes up you can't do anything about it. Or maybe you can. Best to check the source code.

  7. Next, add an entry to /etc/inittab for uugetty. What I have is:

    
    S1:2345:respawn:/sbin/uugetty ttyS1 F57600
    
    

    The first paramter to uugetty is what device entry to use, minus the /dev part. The second is an entry out of /etc/gettydefsdon't edit this file! For a modem you pretty much want a fixed-baud modem entry, one that is faster than your modem supports since most modems these days can do on the fly compression.

  8. Next, you need to configure the PPP daemon. Under Linux the file you want to edit is /etc/ppp/options. There are a slew of options to configure and through plug-n-pray, Mark and I got the following working:
    -pap
    -chap
    crtscts
    deflate 15,15
    bsdcomp 15,15
    netmask 255.255.255.240		#replace with your netmask
    10.0.0.3:10.0.0.18	#replace with local IP, remote IP
    modem
    passive
    -am
    ipcp-accept-local
    ipcp-accept-remote
    mru	552
    mtu	552
    asyncmap 0
    

    You also need to configure /etc/ppp/ip-up.local with the appropriate routing information. This is a shell script, not a configuration file. Through experimentation, I've found that the shell script has the following parameters:

    1. interface name
    2. tty device
    3. speed
    4. local IP address
    5. remote IP address
    6. extra param—not sure what it's for

    So in this file, I add some commands to get the routing done:

    /sbin/route add -net 208.26.72.16 netmask 255.255.255.240 dw $4
    /sbin/route del $5
    

    You don't need the route for the one IP address so it can be removed safely.

  9. Add a user to the passwd file who has a shell of /usr/sbin/pppd so the other side can log in and establish a PPP connection.

And you're done.

Oh, I forgot to mention, that's only for one half the connection—the one that is accepting incoming calls. Doing the other side is similar but I think I got my point across—this is insane.

Now, for a printer …/p>

Thursday, April 13, 2000

work

More work done on the weblog/journal. More code written. Made a mockup archive of what I've done so far (entry wise). Much more work to be done, but it's getting there.

Updated Sunday, August 25th, 2002

There used to be a link to an archive mockup I had at one point, but I removed it as getting it to work would be a major undertaking. Besides, they layout I did have wasn't working at all, and the number of files I would have to import and fix is prohibitative at this time.


I'm surprised it's still around

It's been awhile since the last VS_O2 update. So why not?

I'm checking up on the forum and I come across this thread about a BASIC compiler for VS_O2. This sums it up pretty well:

Well C programmers have survived for years with a minumum of runtime error handling so I think it would be fine for your compiler to not worry about it either.

It just puts a burden on the programmer to check for things like being out of array bounds and such.

Shudder.


It's sooooooooooooo cute!

Some of the techs at Atlantic Internet bought the new IOpeners from Netpliance. Between two of them they managed to snag four of the devices from a CompUSA up in West Palm Beach (the ones in Miami and Ft. Lauderdale being sold out already).

They're neat devices, out of the box and given a tutorial in less than 30 seconds—a true appliance. And tiny.

The devices they got were the “non-modifiable” ones. Which in essence means they expoxied a modified BIOS to the mother board that doesn't boot from a harddrive. The IDE connector was not clipped.

One of the techs was there at the office for hours trying to get the existing software to dial up to Atlantic Internet with little success.

Friday, April 14, 2000

“That which does not kill us, hurts like hell!”

Mark and I stopped off at Atlantic Internet after a dinner meeting to find one of the techs still there fiddling with his IOpener. We fiddled around with that, then I showed Mark one of the computers a customer I'm doing work for has.

The IOpener is small. The server I showed Mark was not. This is a large machine, dual Pentium III with one gig of RAM (a gigabyte!) and some 30 gigabytes of RAID-5 storage (small these days, I know).

I'm doing some work for this customer and I had noticed that the 30G of storage wasn't mounted on the server. So, as long as I was there, might as well mount the RAID array. Mark, having a RAID array at home, was on hand to help with the consulting.

megaraid: v107 (December 22, 1999)
megaraid: found 0x101e:0x9010:idx 0:bus 0:slot 9:func 0
scsi0 : Found a MegaRAID controller at 0xd810, IRQ: 17
megaraid: [UF80:1.61] detected 1 logical drives
scsi0 : AMI MegaRAID UF80 254 commands 16 targs 1 chans 8 luns
scsi : 1 host.
scsi0: scanning channel 1 for devices.
scsi0: scanning virtual channel for logical drives.
  Vendor: MegaRAID  Model: LD0 RAID5 35000R  Rev: UF80
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 1, id 0, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 71680000 [35000 MB] [35.0
GB]
 sda: sda1 sda2 sda3 <sda5 sda6 sda7>
(scsi1) <ADAPTEC AIC-7890/1 ULTRA2 SCSI HOST ADAPTER> found at PCI 12/0
(scsi1) Wide Channel, SCSI ID=7, 32/255 SCBs
(scsi1) Downloading sequencer code... 385 instructions downloaded
scsi1 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.23/3.2.4
       <ADAPTEC AIC-7890/1 ULTRA2 SCSI HOST ADAPTER>
scsi : 2 hosts.

From that, it looked like there were two disk controllers. The system was booting from SCSI, that much was apparent. What wasn't apparent was the location of the RAID system.

The BIOS POST also gave the impression of two controllers. We went into the RAID BIOS extention, initialized the RAID controller and drives and then rebooted the system.

Turns out that the megaraid and the Adaptec SCSI controller are one in the same and that the system itself (it runs Linux) was booting off the RAID controller!

It is through our mistakes that we learn.

And it is through grovelling that we retain our customers.

Fortunately, the customer didn't loose any important data (the customer wasn't using it fully at the time), nor did he mind that much (“Next time, please consult with me before you do any irrepairable configuration changes. Okay?”).

That, and I didn't like the way Linux was installed on the box to begin with.


“Don't Panic!”

While Mark and I were doing a fast recovery of a customer machine we received a call from John, the paper millionaire of a dotcom company and former member of a Grateful Dead cover band to say he couldn't get to his servers, located in the very same co-location facility we were currently at.

Mark goes over to John's machines. All servers are up, but he can't ping out. In fact, he can't get past the first hop. Mark then heads over to the core room, I remain in the co-location room, and we all get on a conference call.

Network seems okay—link light is on at both ends of the connection. No traffic. Jiggle the cord. Oh! A few packets. Then major lossage again. Repeat.

John is freaking out because he needs to be on a plane early and it's now 3:30 am or there abouts. He finally conferences in the main sysadmin for Atlantic Internet because Mark and I can't figure out what's going on.

Neither could the sysadmin. Everything seems okay. Only there's no traffic. John, panicing is yelling at Mark. Mark is yelling back at John not to panic. Meanwhile we can barely hear the sysadmin over the conference call. Pandemonium reigns.

I quickly grab the network analyzer they have (way too cool) an hook it to John's side of the connection. It lights up like a Christmas tree. Low utilization, high collisions and an even larger rate of errors. I then take the unit to the Atlantic Internet side. Nothing. Normal traffic from John's servers.

We then plug the network analyzer into the Cisco Catalyst 5000 which is serving as the main switch. Actually, it's more like three switched hubs than a real switch—there are 24 ports grouped into three sections. Each section is a hub, but switched between sections.

The network analyzer lights up like a Christmas tree.

The consensus seems to be that the Catalyst is hosed. It probably didn't survive a DoS attack a few days previously and was slowly going bad. So it was some quick work to rerun a few cables to nearby switches and remove the Catalyst from service.

Mark and I didn't leave the office until 5 am.

Saturday, April 15, 2000

Thirty-something

My friend Tom (the architect) had his birthday party today. The Big Three-Oh. Lots of fun, and lots of toys (noise makers, bubble makers, Groucho Glasses, Nerd Glasses and other novelties).

As my friend Hoade would say, “He's now rocketing towards fourty!”

Sunday, April 16, 2000

Baby shopping

(originally written on Tuedsday, April 11, 2000)

I actually went to Babies-backwards-R-Us. My friend Lorie is having a baby shower and everyone (including guys) were invited, as I think she has more male friends than female friends.

She was registered so that helped. It was actually quite painless. Entered the store. Next to the customer service desk was a kiosk—an embeded computer with touch screen. Press here to start. Type in the name (bad point—keyboard presented was in alphabetical order not QWERTY—very annoying), found her record, hit print and a few seconds later seven sheets of printout describing what she wanted.

That was the easy part. Hard part was actually finding stuff on the list.

Now, those that know me will find it rather difficult to believe that I actually did this. But I don't hate kids. I mean, if they're cooked just right … ha ha only joking.

But I'm amazed at just the amount of stuff you can get for a baby. Special rash prevention diapers. Special formula bottles. Pacifiers. I did not realize the extent of specialization in pacifiers. Nor baby mits (now when did they become popular?).

Makes me wonder how we ever survived as a species without it?


Never fold a kangaroo

I wrapped the presents for Lorie's baby shower and I wanted to do something … different for the bow.

I have an interest in origami, and one of the books I have gives the instructions for folding a kangaroo and baby and I thought that would be a nice bow; something that is different.

So I grab the book and some origami paper. Quickly glancing through the book it looks easy enough.

Until you actually do it.

Since this is the third work in the series to be made from it, instructions for folding the bird base are not given.

Instruction between steps one and two of kangaroo and baby (nice).

I've found that the instructions for origami tend to follow the Unix man page model: it makes sense once you know how to do it. But if you don't know how it works then getting from (say) step 23 to 24 may take some time.

Step 23 is making one of the last folds for the head of the kangaroo. Okay, I see a valley fold here, a mountain fold there but how does that get from the illustration in step 23 to the illustration in step 24? That one step alone took me more than an hour to get.

My first attempt ended up looking more like an aroused male mutant kangaroo than a female kangaroo with a baby.

It only took me four hours to make the bow.


Baby shower

So I arrive at Lorie's baby shower. There's some concern that she may not show up since she wasn't feeling well the day before, but eventually she showed up with husband in tow (and baby still in womb).

I'm not sure what exactly I expected, but it was fun. And, unusual for a baby shower (I'm guessing) is that there were more males than females at the party.

And Lorie did like the origami kangaroo I used as a bow.

Monday, April 17, 2000

Titus Andronicus

My friend Kurt and I went to see Titus, a film based on the Shakesperean play “Titus Andronicus.”

Kurt mentioned the film at Lorie's baby shower and since he has the week off (being a high school English teacher and this being Spring Break) he asked if I wanted to go see it.

Sure, why not?

I started reading the play the night before, but only got about halfway through Act II. The language is particularly difficult and it was often hard to determine how the lines should be delivered. Seeing Shakespear is better than reading it.

It's not one of Shakespear's better plays, but it may very well be his bloodiest—discounting Titus' 21 dead sons at the start, the body count is twelve.

Why yes, it is a Shakespearean tragedy where everybody dies. Not only that, but Titus kills one of his sons in a fit of rage. His daughter has her tongue cut out and hand chopped off after being raped. Titus cuts his own hand off in a cruel joke. The Emporess' two sons are killed, cooked and served to her as dinner. A nurse is killed to keep secret the birth of an illegitamite baby.

Very bloody.

And the style of filming was very unique—blending Classical Rome with the Swinging 20s and an indeterminate future setting. Sounds odd but it works in the film.

And Anthony Hopkins as Titus and Jessica Lang as Tamora were excellent. Well worth seeing if you can.

Wednesday, April 19, 2000

Substance, Structure and Style

More work on mod_blog today. Had a discussion with Mark about separating the style from the module. As it stands, I'm not sure what to do about outputing the pages. Ideally I would have templates that would describe the look and feel of the pages, but I have no idea where to do.

My webserver does have PHP installed, but I don't know enough about the internals to hook into it. I'm relunctant to do this in PHP entirely, as parts of what I'm doing are messy enough in C (and no, I don't think Perl's regexs can cut it).

But it does look like I'll have to include some form of scripting language to handle what I want cleanly.

But HTML isn't exactly designed as a scripting language, nor embedding one within HTML the best idea. That's another reason why I want to stay away from PHP or MetaHTML, because of the mixing of scripting with output—any formatting in the code is lost (more or less) when you embed HTML (or any large form of output) in the middle of it. I find it difficult to follow such code.

But Mark came up with an idea I'm pursuing. Turn the problem inside out more or less, or rather, separate the large chunks of output from the scripting. So, for instance, the HTML:

<chunk name="foobar">
        <img 
                src="## graphic name ##" 
                alt="## graphic alt ##" 
                width="## graphic width ##"
                height="## graphic height ##"
        >
        Today's Date: ## today-date ##
</chunk>

And the scripting (in a hypthetical language which doesn't bear any relationship to what I may end up looking like):

object graphic
{
	string name;
	string alt;
	int    width;
	int    height;

	proc name   { print name   };
	proc alt    { print alt    };
	proc width  { print width  };
	proc height { print height };
};

proc today-date { print gettime(); };

graphic name   ="foobar.gif";
graphic alt    ="[nothing here to see]";
graphic width  =imagewidth('foobar.gif');
graphic height =imageheight('foobar.gif');

display_chunk('foobar');

Namely, in the HTML, anything between the double hash marks is a call to a scripting object (or procedure). The scripts themselves can output chunks of HTML, which may include scripting callbacks, as seen here.

Again, that's probably not how the scripting language will look ultimately, and for now I think I'm just going to embed the HTML within mod_blog just to get it out there and running. That's not to say I couldn't get this out with an embedded scripting language, but some of the tools I want to use I still have to clear before I can use them and rewriting the tools is going to take time.

The reason for rewriting the tools taking quite a bit of time has to deal with error detection and recovery, which is another aspect of conversation Mark and I are hashing out.


“And some call me … Harry!”

I borrowed J. K. Rowling's Harry Potter and the Sorcerer's Stone from my friend Jeff. Cute book and I can see why it would appeal to kids, in that “These are not my parents there must be some mistake I'm probably a prince or princess who has been kidnapped or something” way.

But I do have several questions about the underlying themes of the story so if you don't want possible spoilers about this story, skip this entry.

The first has to do with Hogwarts itself. It consists of four houses, one of which, Slytherin, is known to produce evil (or not entirely nice) wizards (the most notorius being Voldemort, the wizard responsible for killing Harry's parents.

I would think that after the whole Voldemort affair (which took place 11 years prior to the main story) that the Headmaster of Hogwarts would disband Slytherin, especially since in the main story, most of the kids in that house are of the most disagreeable sort.

The second has to do with the whole concept of Hogwarts. The wizards and witches who attend seem for the most part to exist apart from the rest of society, much like the obscenely rich seem to exist apart from the rest of society and don't participate much in the affairs of mortal men (or something to that effect). And the term the magically gifted use to describe those lacking in the magic arts—Muggles—seems a bit, dare I say, racist? Perhaps it's just me.

But on the whole, an enjoyable and fast read.

Thursday, April 20, 2000

The Day We Met Jim Davis!

It was nineteen years ago that Hoade and I met Jim Davis, creator of Garfield.

Back then, Hoade and I were huge fans of Jim Davis, and we both had asprirations of being cartoonists ourselves. When we found out that Jim Davis was going to be at the local bookstore (at the Lauderdale Lakes Mall in Lauderdale Lakes, Florida. Alas it is no longer, having been transformed over the past nineteen years to a strip mall).

We were elated until we found out that the 20th of April fell on a Monday and that our parents would most likely not let us skip school (let's see … 1981 … that would put us in the 6th grade). But fortunately, Easter that year fell on the 19th which meant we had the following monday, the 20th off and we could go meet our idol—Jim Davis!

My maternal grandfather drove us the few miles to the Lauderdale Lakes Mall, were we promptly got in line with our Garfield books (I think there were only three out by that time) and a few samples of our work.

At 2:32 pm, Eastern we met Jim Davis! He not only signed our books but our sample cartoons as well! Being the two youngest people at the signing brought us to the attention of a Miami Herald reporter and we ended up being profiled. They even printed Hoade's cartoon in the newspaper (I would link to the article, but I think being nineteen years ago it might not be available via the web).

Since then we've gone on to careers other than cartooning.


“Seven Girlfriends”

Normally I have a weekly dinner meeting with Chuck about a small side project we're working on. But this week it was canceled, and my friend Jeff's fiance was given four tickets to see a preview of Seven Girlfriends, a movie about a man who has a breakup with his girlfriend and he goes on a journey to see what went wrong with his past girlfriends.

Okay, so it sounds like High Fidelity and in some ways it is similar. Much like Deep Impact and Armageddon are similar.

But this was interesting not because of the film (which is quite good and rather funny, although at times it's a bit of dark humor) but because both the director of the film, Paul Lazarus and the main star of the film, Timothy Daly, were both at the viewing to help promote the film. Tim Daly is quite funny in person (“This film was the … latest film I've done …”) and Paul Lazarus reminded me of a younger Richard Gere.

Friday, April 21, 2000

Ring ring

There is nothing quite like waking up to a constant barrage of phone calls from a client. Sigh. How did he ever get my home phone number?

Don't answer, it's retorical anyway …

Saturday, April 22, 2000

Fried Chicken

So this week I've been picked to cook dinner for the weekly gaming session on Saturdays. No problem. Large group of people, something easy … let's see … I know … fried chicked!

And no, I did not go to KFC and buy a bucket of Extra-Crispy thank you very much. I made fried chicked from scratch. It isn't hard, and having spent many years watching my Great Aunt (Mom's aunt) Freddie (and yes, that's her real name) fry chicken I knew how to do it.

The cookbook I have, the Culinary Arts Institute Encyclopedic Cookbook, lists the recipe under Fried Prairie Chicken. The basic recipe is wash the chicken pieces in cold water, drain. Coat with milk, then coat in flour and fry for about 40 to 45 minutes, turning once halfway through.

That's it. Pretty simple.

The only problem I had was I miscalulated the time it would take to cook all the chicken I had and ended up being a bit late.

And the chicken went over well. So did the mashed potatoes (peel and boil potatoes until cooked. Drain, then mash with a bit of milk and butter to desired consistancy. Allow one potato per serving).

Tuesday, April 25, 2000

More Scripting HTML

Via Camworld is an article about JSP which from reading the article, tries to serve the same purpose as what I was talking about a few days ago.

That in turn pointed to webmacro which seems to do templating, but I'm reading further.


Associations are eeeeeeeeeeeeeeeeeeeeeeeevil!

Around this time each month I pay my bills. This is also the time I catch up on unread snail mail so it was today when I found a notice from The Association concerning an amendment to Article 20 of the Declaration of Condominium of my particular area.

The proposed amendments are actually deletions from the current Article 20, which if passed, means that Unit Owners (that's me) will no longer be allowed to lease or rent their respective units, in three legal size pages. Yes, Article 20 of the Declaration of Condominium is three legal size pages long.

It's bad enough I don't own any actual land (I don't. I own a volume of space sharply deliniated by the ground, the upstairs neighbor and the outer walls of my unit). It's also bad that I'm personally responsible for much of the additions to Rule 5 of the Rules and Regulations of the Association. Now this.

I tell you, associations are eeeeeeeeeeevil!


Rule 5.

Just in case you are curious, here is Rule 5 (of 30) from the Rules and Regulations of The Association:

(5) NO vehicles other than automobiles shall be permitted to park within the Condominium Property, except for the purpose of making deliveries or providing repair services to a Unit. For purposes of this rule, “automobile” does not include any type of van (except those vans with windows all around AND two (2) or more rows of seats), camper, truck, motorcycle, commercial vehicle, etc. No vehicle which can not operate on its own power shall remain on the Condominium Property for more than twenty four [sic] (24) hours. [I think I'm responsible for having the power clause added. -spc] No vehicle shall be repaired within the Condominium Property, except in emergencies. Head-in parking only is permitted. Please be informed that your Board of Directors in order to maintain the beauty of our village has promulgated rules so that illegally or improperly parked vehicles be ``towed off'' Association property at the expense of the Owner [Note: first reference to towing at owner's expense. -spc] of the offending vehicle and that appropriate signs indicating the above have been posted at the ingress and egress (entrance and exit) [I just love how they used fancy terms then had to go and define them. -spc] to the property in accordance with Florida Statutes. Therefore effective on or after April 1, 1989, an authorized representative of the Board of Directors or the Management Company will exercise the right of The Associations to have any unauthorized or improperly parked vehicle on Association property towed away at the expense of the owner of the vehicle involved. [Note: here it is again. Sigh. -spc] Identification of vehicles in violation as noted above should be brought to the attention of the Management Company or the Board of Directors who will then take appropriate action. [Which shall consist of a large obnoxious orange sticker adheared to the driver side window of said car that will require a razor blade to remove. Trust me, I know of which I speak. -spc] Any vehicle in violation of the above will be given twenty four [sic] (24) hours notice. Thereafter it will be towed at the owner's expense. [Third reference! “What I say three times is true!” –Lewis Carrol -spc] Please govern yourself accordingly. These rules will be strictly enforced. [And how! -spc] Vehicles will also be towed [Number four. -spc] if the vehicle is parked on the median, lawn or landscaped areas or the vehicle is parked in a parking space which is reserved for, and/or numbered for a Unit Owner/renter [sic] [Well, I guess that will have to be amended after Article 20 is amended. -spc] that has not authorized said vehicle to park in that Unit's designated parking space.

Whew!

I also particularly like Rule 16 (which I am not responsible for thankfully):

(16) No one other than persons authorized by the Board shall be permitted at any time on the roof of the Condominium Building.

I would just love to hear the story as to why Rule 16 was needed.


Speed

I should also mention that this was the day I got a speeding ticket driving home.

I knew better than to take Sample Road, which is under heavy construction, but I figured that hey, it's like 1:30 am and there is no traffic what so ever. That and well … I needed to get home. Nature calling and all that (and I mean, it was calling).

So I'm speeding home along Sample. “Just a few more miles. Just a few more miles. Just a few more miles,” was the mantra I kept saying to myself when WHAM! Off to the right side, on the shoulder, blue lights.

He caught me. Fair and square. I don't put up a fight as it only pisses off the cop and I've found that generally if you take a positive attitude you get off with a warning. But going the speed I was in the zone I was in (construction) meant I probably wasn't going to get a warning.

I didn't.

But it could have been worse. It could have been 1:30 pm (of course, I wouldn't be able to drive the speed I was if it had been 1:30 pm).

But neither did it take that long, for which I was grateful.

Wednesday, April 26, 2000

Woo hoo! Bug free the first time through …

It's always nice when code I write works the first time.

mod_blog advancing yet some more. I was going to embed the HTML within the module, but when I wrote some sample code (to make the archives on the current site) it just got real messy real quick and I didn't even bother finishing it up.

Instead, I quickly wrote code to process template files. This side works pretty much like I think I'm going to end up doing it. I set up a subdirectory containing the templates, each file containing just a portion of a much larger page. In effect, each file is a chunk of HTML code that is processed. During the processing, anything between double hash signs is taken as the name of a callback function.

So for example, in the HTML code I have:

<html>
<head>

  <title>##title## - The Boston Diaries - Captain Napalm<title>

</head>

And the callbacks are currently defined in C as such:

static void archive_callback(FILE *fpout,void *data)
{
  struct tm *ptm = data;
  char       date[BUFSIZ];

  strftime(date,BUFSIZ,"%B %Y",ptm);
  fprintf(fpout,"%s",date);
}

/***************************************************/

void do_archive(
		  FILE *fpout,
                  int   year,
		  int   month,
                  int   stday,
                  int   endday)
{
  static struct chunk_callback cb 
    = { "title" , archive_callback };
  struct tm thisday;

  /* code to set thisday properly snipped */

  ChunkProcess(fpout,"archivehead",&cb,1,&thisday);
  ChunkProcess(fpout,"bostontitle",NULL,0,NULL);
  ChunkProcess(fpout,"bartitle",&cb,1,&thisday);
  
  /* code to generate links for each day */

  ChunkProcess(fpout,"end",NULL,0,NULL);
}

The call to ChunkProcess() takes an output file, the name of the chunk to display, a structure declaring the callbacks, the size of that array, and an extra pointer that is passed to the callback, in this case, to a struct tm * to the date we're processing.

The only thing I may change is the way callbacks are registered, but the mechanics certainly work.


Walkthrough

Now, how did I go about writing 145 lines of bug-free C code to implement the chunk mechanism? Easy. I broke it down into simpler steps. The main routine, ChunkProcess() takes five parameters, an output file, the name of the chunk, the callbacks, number of callbacks, and an arbitrary pointer to data passed back to the callbacks.

So, basically, we have:

int (ChunkProcess)(
                    FILE                  *fpout,
                    char                  *name,
                    struct chunk_callback *pcc,
                    size_t                 scc,
                    void                  *data
                  )
{
  char  fname[FILENAME_LEN];
  FILE *fpin;
  int   c;

  assert(fpout != NULL);
  assert(name  != NULL);
  assert(pcc   != NULL);
  assert(scc   >  0);

  sprintf(fname,"chunks/%s",name);
  fpin = fopen(fname,"r");
  if (fpin == NULL)
    return(CHUNKERR_OPEN);

  while(1)
  {
    c = fgetc(fpin);
    if (c == '#')
    {
      c = fgetc(fpin);
      if (c == '#')
      {
        chunk_handle(fpin,fpout,pcc,scc,data);
        continue;
      }

      fputc('#',fpout);
    }
  
    if (c == EOF) break;
    fputc(c,fpout);
  }
 
  fclose(fpin);
  return(ERR_OKAY);
}

I just basically look for two consecutive hash marks, and if I find them, I call chunk_handle() to do the work for me (I should note my convention I'm using here—StudlyCaps has external linkage, visible to other modules. lower_case is local to this module). So we now have:

static void chunk_handle(
                          FILE                  *fpin,
                          FILE                  *fpout,
                          struct chunk_callback *pcc,
                          size_t                 scc,
                          void                  *data
                        )
{
  char  cmdbuf[BUFSIZ];
  char *cmd;
  char *p;

  assert(fpin  != NULL);
  assert(fpout != NULL);
  assert(pcc   != NULL);
  assert(scc   >  0);

  chunk_readcallback(fpin,cmdbuf,BUFSIZ);

  for (
        p = cmdbuf ; 
        (cmd = strtok(p," \t\v\r\n")) != NULL ; 
        p = NULL 
      )
  {
    chunk_docallback(fpout,cmd,pcc,scc,data);
  }
}

chunk_readcallback() reads the text just past the double hash mark to the following double hash mark. Then using strtok() (easy since it's there, I know how to use it and I'm not worried about threading issues yet) I break it up. This allows us to specify multiple callbacks within a single entry and for each callback, we find it and call the function.

static void chunk_docallback(
                              FILE                  *fpout,
                              char                  *cmd,
                              struct chunk_callback *pcc,
                              size_t                 scc,
                              void                  *data
                            )
{
  int i;

  assert(fpout != NULL);
  assert(cmd   != NULL);
  assert(pcc   != NULL);
  assert(scc   >  0);

  for (i = 0 ; i < SCC ; i++)
  {
    if (strcmp(cmd,pcc[i].name) == 0)
    {
      (*pcc->callback)(fpout,data);
      return;
    }
  }
  fprintf(fpout,"##processing error - can't find [%s] ##",cmd);
}

Again, since I'm just playing around and want something that works, the linear scan doesn't scale, but since I'm not planning on having a dozen or more callbacks, it doesn't hurt. It can be changed easily though since we do pass in the size of the array and as long as it's noted that the array should be sorted alphabetically we can later change to a binary search.

I'm not sure if a hash table is the way to go at this point—that might require a different way of passing in or registering the callbacks, and as it stands right now, I can use the same templates and have different code for the callbacks. The chunk “bartitle” which I defined is used all over the place, and the title itself may not be a date, so the ability to change what ##title## does depending upon what I'm displaying is crucial—I just pass in a different callback array.

The fprintf() is there for diagnostics—I can leave it out with the effect of undefined callbacks don't generate any output at all, but there is no notification of the undefined callback either. I put it in but another way of handling it might be to print out the callback as found in the text, between double hashmarks.

And that's it. The code for chunk_readcallback() is easy enough to leave it as an exercise for the reader, as well as the definition of struct callback.

The trick is just breaking it up into simple pieces.

Friday, April 28, 2000

“Plan to throw one away. You will anyway … ”

So I'm plugging away at mod_blog, slowly putting the pieces together first into a standalone program, then after that works, start the actual process of writing the Apache module.

What I'm finding is that I have a very large mess on my hands right now. I've developed the pieces pretty much in isolation and I'm finding that wasn't probably the best idea, but since I have no idea what I'm doing anyway, the point might be moot.

What I have right now are the following pieces:

  1. Code to retrieve and store the entries. It works fine, except I'm not all tha thrilled with using Standard C's struct tm to reference entries. It's one of those “it's almost useful but not quite” type problems. The definition of struct tm is:

    int tm_sec;	/* seconds after the minute (0 .. 61*)	*/
    int tm_min;	/* minutes after the hour (0 .. 59) 	*/
    int tm_hour;	/* hours since midnight (0 .. 23)	*/
    int tm_mday;	/* day of the month (0 .. 31)		*/
    int tm_mon;	/* months since January (0 .. 11)	*/
    int tm_year;	/* years since 1900		*/
    int tm_wday;	/* days since Sunday (0 .. 6)		*/
    int tm_yday;	/* days since January 1 (0 .. 365**)	*/
    int tm_isdst;	/* DST flag				*/
    

    * Allows up to two leap seconds.

    ** But the standard doesn't say anything about leap years. Sigh.

    And there are calls to convert struct tm to time_t and back again, but years since 1900? Months since January? What were they thinking? But reading the Standard is helpful. For instance, mktime() takes a struct tm * and returns a time_t. But it also normalizes the values in struct tm * so you can add say, seven days to tm_mday, call mktime() and have the structure renormalized.

    Then there's the problem of comparing dates. The Standard just says that time_t is an arithmetic type, which means it can be either an interger or floating point type. With integer types, you can do meaningful comparrisons for equality, but all bets are off for floating point values.

    Sure, you may think modern floating point hardware can give meaningful results when doing an equivalence comparrison, but you can't really. For instance, sin() is a cyclic function over the range [0 ‥ 2pi] (or is it (0 ‥ 2pi)? I can't remember if [] or () mark inclusive ranges) so that sin(0) == sin(2pi) == sin(4pi) … right?

    #include <math.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
      double pi2   = acos(0.0) * 4.0;	/* 2pi */
      double c     = sin(0.0);
      double a     = 0.0;
      double r;
      double d;
      
      for ( ; ; )
      {
        r = sin(a);
        d = c - r;
        printf("%e\n",d);
        a += pi2;
      }
      return(EXIT_SUCCESS);
    }
    

    I ran that on my system (AMD 586) and well …

    [spc]linus:/tmp>a.out | more
    0.000000e+00
    2.449213e-16
    4.898425e-16
    7.347638e-16
    9.796851e-16
    1.224606e-15
    

    I even tried using the constant 2pi and I got even worse results.

  2. Code to handle what I call tumblers. It's about the sixth or seventh revision of the code and it still isn't quite what I need. Problem here is one of solving a generalized problem. I had this discussion with Mark about the definition of a tumbler. I don't want a fixed separator for a variety of reasons (namely one, user entry. Mark hates user interface so he's like “Just pick a single character and that's that!” But that isn't that for what I want to do. And it's causing problems. Using the same code, I want it to accept

    Genesis.1:15

    and

    2000/4/5.2

    as correct, yet if you type in

    Genesis:1.15

    and

    2000.4.5/2

    Know those are valid but need to be corrected (and in this case, sent a redirect back to the user's browser). I have an idea but it requires changes for it to work. So for now I'm going with what I have. The external interface shouldn't change that much (and knowing Mark, he'll be going “I told you so!”)

    Then again, this is a person who would rather use an embedded operating system for a phone switch to do word processing rather than trust his data to an operating system doesn't even bother with error analysis, like Unix (then again, it's not like Mark does word processing either …)

  3. Code to process HTML templates. What I have works nice, but I'm thinking if I really want the ability to include other chunks in chunks. But that breaks the method I'm using now, since you can only specify a callback, but not a callback with data specified in the HTML chunk.

    I have to think about this one.

So I have the pieces. But it's pretty much a mess right now.

Then again, this is the one I'll be throwing away.

Saturday, April 29, 2000

“Does this mean he'll have seven years bad luck?”

I got a call from Lenee the other day. She's the wife of John the paper millionaire of a dotcom and she wanted to know if I would help with their garage sale to get rid of some stuff before they move into their new home.

I agreed, on the condition I didn't have to arrive at 9:00 am. She said to show up at any time, preferrably before the garage sale ended.

I managed to arrive around 1:00 pm, beating Mark. It was pretty much finished by that time; only a few items left that their neighbor bought.

While it was no one person's fault, a mirror did get broken, and Lenee was highly upset over the incident. Okay, so it would cost about $75 to replace the mirror, but no one was hurt, and the piece of furniture wasn't damaged (other than the broken mirror). It could have been a lot worse.

Afterwards we left for lunch/dinner where the topic of conversation dealt with the broken mirror. Sigh.


Lifestyles of the Paper Millionaires of Dotcoms

After dinner John the paper millionaire of a dotcom and his wife, Lenee, took us to see their new home in North Boca Raton.

To say that this house is impressive is an understatement.

Driving through the development Lenee kept pointing out “tear downs”—homes that were designated to be torn down and replaced with new homes. By “old” it was on the order of twenty or thirty years.

Why yes, this is South Florida.

Driving up to The House I was struck with the fountain out front, behind which is the covered walkway to the front door (much the same set up that hotels have). The front entry are two 10 foot doors, leading into a front entry way 50 feet high and marble.

Everywhere there is marble. Keep that in mind. Marble.

The ceilings are an average of 30 feet high. Vast expanses of rooms. And marble. Did I mention the marble?

The kitchen is fairly large, with restaurant style refridgerator and freezer (with digital readout of tempurature). Two dishwashers, a central island with sink and counter space and cabinets everywhere. Gas oven with an electric grill to one side (with attachments for deep friers, steamers, etc. etc.). A butler's pantry and a walk in pantry.

The upstairs has a central open area with three rooms, each with a full bath. Oh, that's the Kid's Wing, by the way.

A wash room with multiple sinks. Another room set aside for office records. Cooridoors everywhere. Oh, and did I mention the marble?

Now, the other side of the house. John the paper millionaire of a dotcom's office. French doors leading into the office, and on the other side of the office, another set of French doors leading outside. It's about 20 by 30 and covered with wood paneling. Cherry wood paneling. Floor to ceiling cherry wood paneling. Did I mention that the ceiling is 30 foot? Beautiful.

The master bedroom. Enter through a large archway. Oh, did I neglect to mention the archways throughout the house? The only room larger is the main living room. Off to one side is a sitting area that Lenee has appropriated. Walking back the other way leads to a hallway which the master closets and master bath sit off from.

The master closest is about the size of your average bedroom. Shelves everywhere, with rods that pull out to hang stuff on. In the center is a custom built dresser with drawers on both sides.

Oh, that's just John's closet. Lenee's used to be the one car garage on that side of the house (the other side has the three car garage).

Now, the master bath. Large room. Did I mention the 30 foot ceilings? Two smaller rooms off to one side in the bathroom—His and Her water closests (Hers contains a bidet. I did ask for a demonstration, never seeing one). Two complete sets of sinks and cabinets, a huge tub and a shower unit that they're going to convert to a steam room.

Did I mention the marble?

The house sits on the edge of lake and they do have a small dock. John is also planning on relandscaping the backyard, and installing a waterfall to cut down on the traffic noise (which you have to listen closely to even hear in the first place).

Now, this isn't your typical house. The development isn't your normal development. The cheapest house costs around $1 million, maybe. Their house was a steal (10,000 square foot house) for $2.3 million.

Did I mention the marble?

Sunday, April 30, 2000

An interactive dictionary

This is HyperFlow, an evolving hypertextual dictionary. It is in an experimental phase, and should be considered absolutely not ready for public release. However you can play with it all you like. Feel free to explore and to create! Just click on a word and see what happens!

Via a Slashdot article about interactive projects.

An interesting concept and one that I might want to play around with some more, maybe even do one myself.

I have had thoughts about doing a dictionary along the lines of what I'm working on, but there are issues dealing with a dictionary that I want to consider first.

Monday, May 01, 2000

“I know, let's make the same mistake!”

One of the mailing lists I'm on mentioned that the company that makes the Web Surfer made the same mistake as the Netpliance and neglected to make the purchase of the device conditional on the purchase of Internet service.

It's cheaper than the IOpener, but it lacks the LCD display that made the IOpener such a deal, but at US$50 it wasn't a bad deal.

So Mark, Kelly (who had taken the day off) and I (who consults so I don't have an office to go to per say) headed off to CompUSA to see if we could procure some WebSurfers.

The CompUSA near had no units left. We asked at the customer desk to check some other stores and we found another store that had eight units left. Half an hour and 20 miles later we arrived at the other CompUSA.

I wish I had checked Slashdot first, because it seems that the Internet service may or may not be enforced and it depends upon the store. The store we went to I think might have enforced the service. So we are WebSurfless.


“I've got the code. You've got the server. Let's make lots of money.”

Hanging out with Mark and Kelly we started discussing ways to make money on the web, or more specifically, with www.conman.org.

Mark and I are both programmers but with the upswell of the Open Source movement, it's getting hard to actually sell software. The only way to really make money in Open Source is service. Both Mark and I write software, and even make it available. But since we give the software away, how to we make money from it? Well, hire us to install, or adapt the code for your particular project. Sure, if you have the time or the expertise you don't have to hire us, but with a shortage of time or expertise, we're available.

Or by making this available I can become a well known webcelebrity and get asked for talks and seminars (yea, right).

But making money off a website isn't straightforward, nor easy. And I'm not expecting to make money (at least, directly) off this site. Indirectly, yes. But not directly.

Tuesday, May 02, 2000

“These are not the devices you are looking for.”

It's always interesting talking about programming with Mark. Somehow we got into a discussion about device drivers and how they should be named.

I had the notion of physical device drivers, and virtual device drivers. A physical device driver is a driver that drives a physical device, like a UART (Universal Asynchronous Receiver/Transmitter), while a virtual device driver would be something like a PPP (Point-to-Point Protocol) driver or a NULL device. So, the PPP device driver would be associated with a serial device driver.

Mark descimated that view.

There are no such thing as virtual devices (although the concept of a NULL device didn't come up actually). Only physical devices. Things I would consider a virtual device would be handlers pushed onto a physical device, much like the SysV Streams concept (although just because SysV has a bad implementation doesn't mean the idea is bad). So you open a physical device, then request a particular behavior, like a serial device with PPP.

I couldn't wrap my brain around that, since it smacks too much like the way UNIX serial drivers always contain TTY discipline code, but that's a problem I have (mantra: because a system does it poorly doesn't make it a poor idea).

Because as Mark pointed out, there might be a serial device that has PPP built into hardware. It seems that there are network cards with portions of TCP/IP built in, but, for instance, Linux can't take advantage of such hardware assistance because the way the networking stacks work.

It gets even worse—there are devices that the main CPU can't even talk with. They exist, but you can't program them or even write a device driver, but you can detect their presence. He even gave examples. So my assertion that all devices can be written to/read from is false.

The other concept is letting “things” or “objects” talk with each other and not caring. Like letting a network device “talk” with a serial device. The problem I have with that is how do these “objects” “talk?” This all smacks of automagic to me, much like the Tunes people talk about—no implementation details, it just happens. Like with COM or DCOM or CORBA implementations. No real talk about how it works. Lots of talk about this talking with that, but how?

But much of what Mark works on works like that. Even device drivers.

It's not so much a conversation as it is a discovery process of capabilities between two objects.

Like I said, talking with Mark is interesting.

And I hate it when he's right.


“Smile!”

I was given an older color Connectix webcam to use. The software compiled and worked without incident, although the first image was rather interesting.

The Connectix webcam was easy to take apart (since someone else already did that). The electronics in the unit are on two small boards and it looked like the two boards were being pressed together too close. A small piece of paper folded up provided a good spacer and the subsequent images were recognizable, although way out of focus.

It is easier to focus this one than my other one. But without sufficient light, the pictures appear very muddy and dark.

I'm torn. I like that this doesn't use batteries, but the image quality isn't quite as good. Oh well.


X-Files

So I exit out of X, then restart it.

“Now that's odd,” I thought, watching the screen awash in a non-synced image. “It worked a few seconds ago.”

Playing around with the settings didn't fix it. My monitor just suddenly stopped supporting 1024x768. Which sucks. I'm now stuck back at 800x600. I think it may be time to get a new monitor.

Sigh.

Wednesday, May 03, 2000

The JenniShow

I installed Real Video on my roommate's computer so I could see The JenniShow, staring Jennifer Ringly. Lord knows my computer can't handle the player. And Real Video runs just fine on my roommate's Linux system. It's nice to see something available for something other than Windows.

And I was curious. I wanted to see what the show was like, and it seems like it might be fun to do something like that.

Thursday, May 04, 2000

OD on RV

I've ODed on RealVideo all day today. Checked out what's available at TheSync and once I exhausted that, I found ShortBuzz, a collection of short films in RealVideo format.

I was particularly impressed with After Class, which is filmed in a sitcom format (and from the website I think that's the intention) but unlike most sitcoms found today, was well done and quite refreshing (the scene with the one roommate eating dinner with his date in the kitchen interspaced with shots of his two roommates eating dinner of toast in the living room was hilarious).

Other notable shorts are Guy Planet, a film about dating, Mike Feeny's Secrets of Success, a sendup of infomercials and File `F' for Bill Mickcloud, an action short.

I wouldn't recomend Roswell unless you turn the sound down. The visuals are stunning, but the narration … the narration weighs you down like large blue jeans that get wet when you jump into the lake so you can't swim and you try to shout out for help but the water goes down the wrong way and gasping for your last breath, you drown, wondering why you even wore the blue jeans in the first place.


What a force …

The path to the Dark Side is said to be easier than the Jedi way, closer to adult thought patterns and the everyday world. Sith masters don't have the luxury of stealing Force-talented children from their families—the Sith spent centuries one step ahead of the Jedi, and caring for a baby would be a severe impediment on the run.

Although the idea of Darth Sidious with a baby Darth Maul on his back has a certain bizarre charm, it probably didn't happen that way.

Did the Jedi Have It Coming?

The more I read about this stuff (especially stuff like Jar Jar, Hidden Jedi?) the more I have to ask just how deep is George Lucas? Or is there too much being read into his series?

Monday, May 08, 2000

The Platypus Effect.

“You have your `isa' hierarchy all thought out - let's say you have a “mammals” class and a “reptiles” class and so on - and you start to implement it, and along comes a platypus, a fur-bearing, egg-laying, duck-billed creature, which doesn't appear to fit in any of the classifications you've created. So what you often end up having to do is rethink your entire hierarchy, refactoring into a different set of basic categories, or maintaining several categorizations along different axes. A lot of your thinking ends up getting thrown out, as well as any implementation you've done up to that point.”

Via RobotWisdom, Encapsulation, Inheritance and the Platypus effect.


The Jury Lottery

I often go several days between checking my snail mail so the mail tends to accumulate a bit. And imagine my surprise when I checked it today.

I've been selected for jury duty!

They seem to keep decent records because you can be excused if you've been selected within the past twelve months because it's been some 18 months since I was last called.

And it's not like the first time I was called. Had I not used an excuse (“Hey! I'm a student at a university! I can't serve!”) I would have had to drive down to Miami every Monday for months until I was either selected for a Federal case, or dismissed after serving the full N-month term.

No, it'll probably be more like the second time I served 18 months ago—I arrive at this ungodly hour of 8:00 am at the Ft. Lauderdale Court House, sit around for most of the day, get called to a court room just prior to everyone being sent home for the day, spend a few hours being questioned by both lawyers and not get selected, and have the pleasure of driving home in rush hour traffic.

If it weren't for the 8:00 am arrival time, it wouldn't be that bad.

Friday, May 12, 2000

I wonder if this is as easy under Windows

Mark and I went to help John, the paper millionaire of a dotcom, set up his home network. He has a cable modem and no static IP addresses so it's a matter of configuring a Linux box to act as a firewall and IP masquerading.

John, being a paper millionaire of a dotcom, can afford to buy insanely high end PC equipment and his primary box, dookey is an insanely high end PC. I don't remember the details off the top of my head, but it's this large box the size of a small refriderator you'd find in a college dorm room. And it's running Linux.

The installation went fine. The only problem we encountered was a problem in getting an IP address via DHCP from his cable provider. The problem ended up being his currently assigned IP address was bound to a MAC address from his Windows system, so we swapped the ethercards (not wanting to wait for the timeout period) and instantly we had a good connection.

Three commands later and we had IP masquerading working on Linux.


Interesting data that flows through the network

So after Mark and I helped John the paper millionaire of a dotcom get connected, I downloaded a network monitor I wrote and installed it on his system (some problems due to some changes in the way dlopen() works internally that I was relying on).

It was interesting to see some of the network activity he gets at his end of the connection. It seems his cable provider uses private IP addresses for something. I'm not sure all of what was flowing through since the monitor only shows packet headers and not the data, but it would be interesting to find out.

Saturday, May 13, 2000

Battlefield Earth

Some friends and I went to the early showing of Battlefield Earth. All three of us were not expecting a good film, and in that we were not disapointed.

The small details were very well done. When the movie focused in on the human point of view, the aliens spoke in their own uncomprehensible language. And yet, when the focus shifted, the aliens then spoke “English” and the humans were then uncomprehensible, sounding like animals, which was understandable, considering that the aliens thought of humans as animals.

Another small detail were the breathing tubes. The aliens used them outside their dome, and the Humans used them inside the alien dome. Nice detail, as the two races didn't breath exactly the same atmosphere.

Yet another one: the humans breaking into a weapsons storage closet, stealing guns and when they try to use them, find they have no ammunition. “Silly humans,” goes the evil alien, “Do you honestly think we'd store the guns loaded?”

Small details like that. Good details.

It was the large details that they missed. Big time. Plot holes large enough to drive a planet through (just what are the odds that a thousand year old flight simulator will still work? Or that aliens as incompetent as those weren't wiped out sooner?)

This almost made the “It was so bad it was well worth the six bucks” list, but not quite.

Sunday, May 14, 2000

MONitoring the NETwork

I should be working on mod_blog but instead I spent the day working on monnet, my network monitor. I have problems compiling it for the latest RedHat releases, due to changes to dlopen() (more specifically, the man page states that upon opening the shared library, if you have defined _init() with external linkage it'll be called automatically by dlopen() but that doesn't seem to be the case. I'll have to explicitely call it now).

I also want to add some functionality to the program, like accumulating statistics about the number of packets and the amount of traffic. I also like its ability to view the traffic live, and in a format that easier (for me) to read then tcpdump.

Monday, May 15, 2000

More MONitoring of the NETwork

So I'm still working on monnet. I basically started over from scratch, reworking the code although the basic structure is the same from the old version. The output from the program looks like:

0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.72.81   TCP     25945    80  A    
00C07B4D7D81 0040332E103C IPv4        205.229.72.81   208.26.72.3     TCP        80 25945  AP   
00C07B4D7D81 0040332E103C IPv4        205.229.72.81   208.26.72.3     TCP        80 25945  AP  F
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.72.81   TCP     25945    80  A    
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.74.191  TCP     25944    80  A   F
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.74.190  TCP     25950    80     S 
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.72.81   TCP     25945    80  A   F
00C07B4D7D81 0040332E103C IPv4        205.229.74.218  208.26.72.3     TCP        80 25944    R  
00C07B4D7D81 0040332E103C IPv4        205.229.74.190  208.26.72.3     TCP        80 25950  A  S 
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.74.190  TCP     25950    80  A    
00C07B4D7D81 0040332E103C IPv4        205.229.72.81   208.26.72.3     TCP        80 25945  A    
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.74.190  TCP     25950    80  AP   
00C07B4D7D81 0040332E103C IPv4        205.229.74.190  208.26.72.3     TCP        80 25950  A    
00C07B4D7D81 0040332E103C IPv4        205.229.74.190  208.26.72.3     TCP        80 25950  AP   
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.74.190  TCP     25950    80  A    
00C07B4D7D81 0040332E103C IPv4        205.229.74.190  208.26.72.3     TCP        80 25950  AP   
00C07B4D7D81 0040332E103C IPv4        205.229.74.190  208.26.72.3     TCP        80 25950  A   F
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.74.190  TCP     25950    80  A    
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.74.190  TCP     25950    80  A   F
00C07B4D7D81 0040332E103C IPv4        205.229.74.190  208.26.72.3     TCP        80 25950  A    
0040332E103C 00C07B4D7D81 IPv4        208.26.72.3     205.229.74.190  TCP     26000    80     S 
02608CD87517 00C07B4D7D81 ARP         A:request ETH:IPv4 208.26.72.2     208.26.72.1    
00C07B4D7D81 02608CD87517 ARP         A:reply   ETH:IPv4 208.26.72.1     208.26.72.2    
0040332E103C 00C07B4D7D81 ARP         A:request ETH:IPv4 208.26.72.3     208.26.72.1    
00C07B4D7D81 0040332E103C ARP         A:reply   ETH:IPv4 208.26.72.1     208.26.72.3    
00C07B4D7D81 0040332E103C IPv4        208.26.72.1     208.26.72.3     ICMP    redirect host             208.26.72.4    

And the report it can generate:

Total:                                                         64,813   13.45M
    IPv4                                                       64,017   12.55M
        ICMP                                                      245   16.34K
            echo reply                                             18    1.23K
            error                                                 147   10.15K
                host unreachable                                    4     436 
                port unreachable                                  142    9.68K
                comm prohibited by filters                          1      46 
            redirect                                                8     368 
                host                                                8     368 
            echo request                                           18    1.21K
            TTL                                                    54    2.43K
                > 0 during transit                                 54    2.43K
        TCP                                                    58,998   11.66M
        UDP                                                     4,774  516.03K
    ARP                                                           796   33.38K
        A:request                                                 425   17.35K
        A:reply                                                   371   16.03K

Generating that report while the program is running was tricky. I didn't want to loose any packets so creating a thread or process (I am doing this under Unix) to handle that should minimize the number of packets lost. I'll skip threads since personally I don't like the way pthreads works (I think the API sucks but that's me and I really can't quantify it more than that) and that leaves fork() (at least under Unix).

But I don't feel that good about the code, since I'm now dealing with signals, and the semantics of signals under Unix is … well … it sucks. I'm sure I have race conditions in there.


Stripping strips from a website

I started reading a new on-line strip, Player Versus Player. Seems promising but I'd like to read the archive, of which it reaches back to May of 1998, making it two full years of archives to go through.

It's a simple enough matter to write a program that downloads the entire archive of strips:

while(1)
{
  sprintf(filename,"%d%02d%02d.gif",year,month,day);
  sprintf(url,"http://www.pvponline.com/archive/%d/pvp%s",year,filename);
  sprintf(cmd,"lynx -source %s >%s",url,filename);
  system(cmd);
  sleep(10);		/* be nice on their server */
  day ++;
  if (day > daysinmonth(year,month))
  {
    day = 1;
    month++;
    if (month > 12)
    {
      month = 1;
      year ++;
      if (isthistoday(year,month,day)) break;
    }
  }
}

I feel somewhat odd about doing that though, seeing how they get their revenue through advertising (not that I agree that's the best way to make money, but that's beside the point). Well, that and if they check their logs and see a bunch of requests for just the strips, every 10 seconds, well, in case I do end up liking the strip I don't want to be banned from their server.


Elapsed time is …

Okay, in monnet I'm keeping track of how long the program runs so when the report is printed, you can see how much time has elapsed since the program started. I want the display to look something like: 10d 14h 13m 33s. Make it easier to read than something like 915213s.

Under ANSI C, you have the various functions under time.h and the “official” way to calculate elapsed time is to call difftime() (as you portably can't assume that time_t is in sections, or even a integral type). That returns, as a double, the number of seconds between the two time values.

The problem is, you can't really take that result, stick it into a struct tm and call mktime() to renormalize it, as the value could overflow an int (which is what each field is defined as in struct tm). An int is defined as a minimum of 16 bits, which isn't even enough to record the number of seconds in a day. Sure, on modern systems ints are probably 32 bits in size, but that only leaves you some 68 years before the seconds overflow (it should be fun in 2038).

So it's more portable to do the math directly.

So, I thought I'd be cute and try to do the minimal amount of math possible, and in looking over math.h I saw modf(), which splits a double into its integral portion and fractional portion. So, I tried:

  diff = difftime(end,start);

  diff /= 60.0;
  tmp   = modf(diff,&diff);
  sec   = tmp * 60.0;

  diff /= 60.0;
  tmp   = modf(diff,&diff);
  min   = tmp * 60.0;

  diff /= 24.0;
  tmp   = modf(diff,&diff);
  hour  = tmp * 24.0;

  diff /= 365.0;
  tmp   = modf(diff,&diff);
  day   = tmp * 365.0;

  year  = diff;

only to have it fail miserably. Even several variations on that didn't work. So I bit the bullet and did it the old fasion way:

#define SECSMIN         (60.0)
#define SECSHOUR        (60.0 * 60.0)
#define SECSDAY         (60.0 * 60.0 * 24.0)
#define SECSYEAR        (60.0 * 60.0 * 24.0 * 365.2422)

  diff = difftime(end,start);

  year = (int)(diff / SECSYEAR);
  diff -= ((double)year) * SECSYEAR;

  day = (int)(diff / SECSDAY);
  diff -= ((double)day) * SECSDAY;

  hour = (int)(diff / SECSHOUR);
  diff -= ((double)hour) * SECSHOUR;

  min = (int)(diff / SECSMIN);
  diff -= ((double)min) * SECSMIN;

  sec = (int)(diff);

Wednesday, May 17, 2000

It's off to the Races

I was right, there were race conditions in monnet. Mark helped me in locating them and my only comment on the whole thing is: Unix signal semantics suck. Although Mark assures me that any form synchronization is nasty, although I still don't see why it has to be so difficult.

To be portable, the only thing you can do in a signal handler is do a simple assignment to a variable declared as volatile sig_atomic_t. Anything else could lead to problems. So, in monnet I now have:

volatile sig_atomic_t g_sigint  = 0;
volatile sig_atomic_t g_sighup  = 0;
volatile sig_atomic_t g_sigchld = 0;

static void handler_int()
{
  g_sigint = 1;
}

static void handler_hup()
{
  g_sighup = 1;
}

static void handler_chld()
{
  int status;

  g_sigchld = 1;
  wait(&status);
}

Granted, that isn't proper ANSI C function headers, but there is no real consensus as to what signal handlers take (on some systems, a single integer parameter, others, no parameters, others several parameters) so that's about the best you can do. I am taking a risk with handler_chld() in doing the wait() but POSIX lists wait() as being callable via a signal handler so hey, why not live on the edge here. Now, elsewhere, the main code:

while(1)
{
  while(1)
  {
    s = read( /* ... */ )
    if (s <= 0) break;
    /* ... */
  }

  if (g_sighup)
  {
    g_sighup = 0;
    generate_report();
  }

  if (g_sigchld)
  {
    g_sigchld = 0;
    g_child   = 0;
  }

  if (g_sigint)
    break;
}

/* ... */

static void generate_report(void)
{
  if (g_child != 0)
    return;

  g_child = fork();

  if (g_child > 0)		/* parent resumes	*/
    return;
  else if (g_child < 0)		/* error?  just resume	*/
  {
    g_child = 0;
    return;
  }

  /* ... */
}

SIGINT just breaks out of the main loop and terminates the program (with some cleanup). SIGHUP generates a call to generate_report() which creates a new process (if one hasn't already been created) to generate the actual report.

If I didn't handle SIGCHLD, I would end up with zombie processes (lovely in that even if I don't care about the child, I still have to wait() for it). Now, it is conceivable that a SIGHUP sent at the right time would fail to create a report file, but would only happen if a previous SIGHUP had been given to generate a report file and was just finishing up. But I can live with that.


Mmmmmmmmmmmmm … roasted ants …

I smelled something burning in the Computer Room. That is not a good sign. So I start investigating when I remember I had this same problem last year about this time.

Sure enough, I check the halogen lamp and there are dozens of dead roasted flying ants in the lamp. It's ant mating season again in South Florida and somehow a bunch always manage to get into the house and get roasted by the halogen lamp.

Sigh.

Thursday, May 18, 2000

Connan the Domain

I want to test my network monitor on a rather busy server colocated at Atlantic Internet. There's interesting traffic there and I want to make sure I'm properly decoding the traffic to monitor it.

So I try to transfer it from my home box via FTP. Only I get a connection refused. “What the?” I think. Then I look carefully at where I'm trying to transfer the file from: linus.slab.connan.org. Connan.

Hmmmmmm …

Check out the web page. Don't bother—it's a domain name auction site if you can believe it. Only it's not other people auctioning off domains they own—it's the auction company itself auctioning off the domains. And it looks like they've wildcarded the domain. Both “www” and “linus.slab” come up with the same web page.

I wonder if I bid for “www.connan.org” and have a friend bid for “linus.slab.connan.org” who would win? Or would we both win our respective “domains?”


“Take my ticket. Please … ”

I checked snail mail again today. Yes, I don't check it often, something like a few times a month, when I remember.

Anyway, I got spammed!

Well of course everybody gets junk snail mail, but I just love the fact when the DMV releases information about speeding tickets. Since I last checked my mail, I received seventeen (that's 17) postcards and brochures from ticket clinics, lawyers, traffic schools and one comedy club traffic school (I kid you not).

Seventeen!


It was 20 years ago today that Helen blew her top.

This is the 20th anniversary of Mount Saint Helen's first eruption.

Twenty years. I remember watching this on the news. Man it's scary how time flies.


RAID problems

Hi. My name is Agent Conner. This is my partner, Agent Grosberg. This is our story. (insert Dragnet Theme here)

At 2130 we recieved the call from John the paper millionaire of a dotcom. He has a problem. A computer problem. A major computer problem and he's calling in the experts. That's us.

It seems that there is a problem with his RAID system (Mark, I need details on the RAID system). Upon investigation it seems that the hardware is fine. It's the software that is a problem. Or rather, the operating system has a problem that leads to a corrupt file system.

Rule 1. Just because you have RAID doesn't mean your data can't get lost or corrupted.

The operating system in question is Microsoft Windows NT 4.0 Service Pack 3. There's a reason he's at Service Pack 3—it works with his RAID system, and that was hard enough to get running. His entire dotcom runs under NT. All his data, his critical data, relies upon Microsoft Windows NT to be stable.

Rule 2. No Fortune 100 Company uses Microsoft Windows NT for financial or critical applications. None.

Corollary 2: Microsoft is a Fortune 100 Company.

From our investigation we were able to asertain that Microsoft Windows NT has a problem with filesystems that contain over four million files. John the paper millionaire of a dotcom has a filesystem with over four million files. John's data is slowly being corrupted.

Rule 3. See Rule 2.

John the paper millionaire of a dotcom now knows the difficulty of using Microsoft Windows NT for a critical application. But that still doesn't help him.

Any attempt to delete, copy, move or rename the file fails with a modal dialog box popping up informing the user that the operating system cannot delete, copy, move or rename said file. You have to click “OK” to make it go away.

Rule 4. Any software that requires user intervention can't be used in a server capacity.

The backup program John uses has failed multiple times in face of said files. Therefore it is proving difficult to get a reliable backup of the four million plus files that John needs to run his business. Microsoft does have a patch available for said bug, but the time frame required to run CHKDISK is unacceptable, possibly taking up to four days to run.

Rule 5. Any backup software that cannot run in the face of errors (even if told to ignore said file and carry on) should not be used in a server capacity.

We did manage to test the GNU tar program under Microsoft Windows NT and it carried on, ignoring the corrupt files. But there doesn't seem to be a way to actually reference the tape backup unit from the command line, and there is not enough free space to backup onto disk. And the number of corrupt files seems to be relatively few, about a hundred.

But since you can't delete, move, copy or rename the files, it's hard to work around them. Another method would be to put the RAID system into read-only mode, make a backup of the RAID system (by swapping drives in and out of the hot-swappable RAID system to build a backup set of drives with the data on it, set up a separate system with said RAID backup, and go from there) but we have to see what John's bosses say to that (John became a paper millionaire of a dotcom by having his dotcom being bought out).

The case is still open …

Friday, May 19, 2000

Whiffle Golf Balls of the Rich

After doing as much as we could with John the paper millionaire of a dotcom's RAID system, Mark and I went over to John's house.

John had bought a set of whiffle golf balls and a floating pool green. You practice pitching golf balls from the side of the pool onto the floating pool green and there the three of us were, pitching whiffle golf balls into the pool and onto the floating pool green and it's 12:30 at night.


World Class Software

But how much work the software does is not what makes it remarkable. What makes it remarkable is how well the software works. This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved. Consider these stats: the last three versions of the program – each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors. Commercial programs of equivalent complexity would have 5,000 errors.

. . .

Software may power the post-industrial world, but the creation of software remains a pre-industrial trade. According to SEI's studies, nearly 70% of software organizations are stuck in the first two levels of SEI's scale of sophistication: chaos, and slightly better than chaos. The situation is so severe, a few software pioneers from companies such as Microsoft have broken away to teach the art of software creation ( see “Drop and Code me Twenty!”)

. . .

In this software morass, the on-board shuttle group stands out as an exception. Ten years ago the shuttle group was considered world-class. Since then, it has cut its own error rate by 90%.

Via Slashdot, They Write the Right Stuff.

I love stuff like this.

Saturday, May 20, 2000

Associations are Eeeeeeeeeeeeeeeeeeeevil

Every Saturday there's a group of us that meet at my friend Bob's house for a gaming session. Bob has been doing this for at least ten years (I only joined a few years ago). Well, for the past month or so he's been rennovating his house so we've been using the clubhouse in his development for our weekly gaming sessions.

So we were at our gaming session this evening when two women enter and state that we are not allowed to be there unless he's rented the clubhouse. Bob perries that as a resident, he's allowed to be there as long as he doesn't claim exclusivity and invites the two women to join in the session.

They decline the invitation and threaten to take the matter to the rest of the Board. They then leave.

Some twenty minutes later they come back, armed with the Rules and Regulations of said Association. The Rule (#2? I don't recall) specifically states that any Member of the Board can request residents to leave the “Common Areas” and said residents have to comply. There is nothing in the Rules that govern who can and can't use the clubhouse. There are rules to rent the clubhouse (a minimum of 26 people, maximum of 75, $75 rental fee plus a $250 returnable deposit, among other things).

So we left.

Associations are eeeeeeeeeeeeeeeeevil I tell ya. Eeeeeeeeeeeeeeeeevil.

Sunday, May 21, 2000

Croquette of the Rich

So it's a Sunday. At 11:30 pm. So what? I show up at John the paper millionaire of a dotcom's house along with Kelly, Jeff and Mark to play Croquette.

I missed the first game, but I showed up in time for the next one. John is wearing a headband with light attachted to it, while a flash light is being passed around the rest of us.

I think I mentined it being 11:30 pm. Okay, good.

Anyway, the game proceeds with John winning easily, Kelly making a strong comback to win second, myself narrowly beating out Mark for third with Jeff coming in last.

We then went down to the lake to play with John's radio controlled motor boat for a bit. Then we all pretty much left afterwards, as most of us have to work the next morning.

I wonder what his neighbors think of all this?

Monday, May 22, 2000

Scary revelation

I had a rather horrifying revelation today. For some reason I started thinking about my high school German teacher, Frau Humphreys (cool teacher—she used to send students on donut runs) and how she took off a year or two to have her child.

The revelation I had is that her child is now old enough to attend high school.

Man, I'm getting old.


Application of a cluestick

From my Internet spy division:

[spc]linus:/home/spc>telnet www.linux-supportgroup.com 80
Trying 208.55.66.116...
Connected to www.linux-supportgroup.com.
Escape character is '^]'.
HEAD / HTTP/1.1
Host: www.linux-supportgroup.com
Connection: close

HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Mon, 22 May 2000 20:29:35 GMT
Connection: close
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQQQQZEZ=LMILFHIANBCGKAHKJGHHCKKC; path=/
Cache-control: private
Transfer-Encoding: chunked

0

Connection closed by foreign host.
[spc]linus:/home/spc>

Someone needs a cluestick I think.

Tuesday, May 23, 2000

“We want your money, but not over the phone.”

The information I have about paying the ticket includes a day to pay by phone. Dial this number, seven days a week, MasterCard, Visa, American Express and debit cards accepted (and I have a debit card).

Cool! I think. So I pick up the phone and dial.

Busy. Only I get a recording from the ever so helpful phone company that for 75c I can have the phone company try the number for up to half an hour and ring me back. I hang up.

By the fourth try, I figure I'll take the callback option.

A few minutes later the phone rings. I pick it up, and the other phone is ringing. And ringing. And ringing. And ringing.

After 30 rings I'm beginning to think I punched in the wrong number and I wasted 75c. So I hang up, and try again, this time with the area code.

“You do not need to dial the area code when making this call. Please hang—”

Okay, dial without the area code, making sure I get the number correct.

Busy.

Try. Busy. Try. Busy. Try. Busy. Try. Ring. Whoops, don't hang up so fast. Ring. Ring. Ring. Ring. Ring. Ring.

So much for paying this ticket by phone.


Yet another free alternate operating system

Via kuro5hin is a link to AtheOS, another home brewed operating system that unlike most, actually runs and is serving up its own website. Seems promising although I haven't looked at the sources yes (multimegabyte downloads).

Wednesday, May 24, 2000

“No one expects the Spanish Inquisition!”

Oh, now that just sucks.

I'm trying to get some software I wrote released under the GPL. The software in question, developed under and for Unix, is owned by a company that no longer uses said software, being that they switched completely over from Unix to Windows NT. I've been slowly working on this for several months now. Not continuously, but as I remember to do so.

The code has an interesting history. It's a library of code I developed over a period of several years working with Armigeron Information Services, Inc. It became part of the property the above company bought when they bought us out a few years ago, but since we left, the above company has since changed to NT and the library has pretty much languished in obscurity ever since.

I was working with a friend of mine at the company who was in charge of the IT department there. He was willing to sign off on the code, but my friend Chuck, who sold the code in the first place, wants the president of said company to sign off on it.

Last week we sent a letter to the president outlining what I want to do and asking them to assign the rights back to me (or at least allow me to GPL the code and release it). I haven't heard back from them and just now decided to call my friend to see what's going on.

<RANT>

Not remembering the number of the company, I decide to check their website. What do I see?

[USEMAP:————.gif]

(Oh, did I mention I'm using Lynx? It's faster than loading up Netscape). Fine. I click the link.

[USEMAP:————.gif]

MAP: http://www.————.com/#imagemap

1. http://www.————.com/index1.html
2. http://www.macromedia.com/shockwave/download/alternates/index.html

Fine. I click on the first link, knowing that Macromedia does NOT make a plug-in for Lynx.

[EMBED]

That's it. Completely useless. All I'm trying to do is find their @#$@#$@# phone number and there is NO way to navigate that site without the proper plug-in.

In-BLOODY-sane.

So I find the number the old fasioned way, I looked it up in the phone book.

</RANT>

“Hello, the Such-n-Such Corporation. How may I help you?” inquires the receptionist.

“Yes, may I speak to So-n-So please?”

“I'm sorry, but So-n-So no longer works here,” said the receptionist. “Is there someone else that can help you?”

“ … ” I was without speech. Granted this is someone I don't normally hang out with on a day-to-day or even a month-to-month basis, but I wasn't expecting this at all.

“Sir?”

“Ahhhh … oh … ummm … no, that's quite alright. Thank you,” and I hung up.

Great. Now what?

Thursday, May 25, 2000

“And then a week later … ”

This is the 20th anniversary of the second eruption of Mount St. Helen's.


Captain Napalm vs. the Databases

I had written a rather long and involved rant on why I hate databases. Upon re-reading it I came across sounding whiny. Way to whiny so I'm scrapping it and doing a recap here.

I hate databases. Primarily because I just don't understand the mindset behind them. It seems that the concept of “dumping” a database (extracting the data in a format suitable to put into another database) is not a concept that the database boys have. My friend Mark looked at me funny when I even mention doing such a thing.

“Just question it,” he kept going. “Tell it what data you want.”

“All the data,” I kept saying.

“You don't want all the data,” he said.

“That's precisely what [the developer of the database package I was using] kept saying. ALL I WANTED WAS THE @#$!#$ DATA! What's so wrong with that?”

“Because you don't want or need all the data,” Mark kept saying. Our friend Kelly agreed with Mark. “You need to let go this silly notion of having to know the exact layout and contents of everything.”

Like I said, it's totally alien to me. They also kept asking me what package was used to create the database and that I could use SQL to obtain the data. I had no clue as to what library or package was used to create the database—all I was told was get the data. Why can't I just get the data?

Why is that so difficult for database weenies to comprehend?

This is one reason why I hate the damned things.


Captain Napalm vs. the Databases, II

To be fair, Mark did make several good arguments for databases, which is more than I got from a certain professor I had at college, or from fellow cow-orkers at various jobs, or even the devloper of a database package I had to extract data from.

But it just bugs me that most of this crap is taken “on faith” with no real explanation behind it. Something like Unix weenies when they smugly say “Unix is obviously better than everything out. Here's a nickel kid, buy yourself a real computer.”

Gee, thanks. Why, exactly, is Unix better? Certainly it's not just because modems are soooooooooooooo easy to install, right?

Better stop now before I start to sound whiny again.


Mark vs. the Evil Empire

My friend Mark hates Microsoft.

No, I mean more than most people in our industry.

Perhaps it would be best to have Mark tell you how much he hates Microsoft in his own words:

I am trying VERY hard not to tell them just how I really feel and that I would be happy to fly over to Redmond and fuck Bill Gates in the eyesocket.

I guess you could say he pretty much hates Microsoft.

Friday, May 26, 2000

email relaying

Rob, my roommate, just found a hole in sendmail. It's not an exploit that allows one to gain access to the machine, but it would potentially allow someone to use a system running sendmail as an open relay.

It's not that easy to exploit (thankfully) but theoretically it is.


Mark vs. the Redmond Behemoth

Mark, as you may know by now, hates Microsoft, yet his job requires him to program under Windows NT.

Now, why does he hate Microsoft, and Windows NT? Because it isn't reliable for what he's doing (past project—a phone switch under NT and if that doesn't make you shudder then perhaps you won't mind much if you can't dial 911) yet his job, which he has relunctantly accepted, is to make it reliable.

Towards that end he found a race condition in the NT kernel.

Huge surprise, I know.

Over the course of three hours he was able to work his way up the tech support ladder at Microsoft (“No, it's not my code you moron! I don't write in VB! It's VC++ and no, I know it's not in my code! It's in NTblahblah.DLL now transfer me to someone who can help me!”) and ended up talking to the developer of that particular piece of the NT kernel.

“Yup,” said the developer. “That's a bug in our code all right.”

“I'm not arguing that with you. I know it's your bug, but can you fix the bug?”

“Yup, that's a bug.”

“I'm not arguing that with you. I know it's your bug, but can you fix the bug?”

“Hmmmm …. nope. That would require a design change and we [Microsoft] no longer support Windows NT. I can be fixed for Windows 2000 though.”

“We can't use Windows 2000,” Mark said. “Our code requires NT.”

“Sorry, can't fix it then.”

It's nice to know that Microsoft stands behind their quality software.

Saturday, May 27, 2000

An Easy Way to Update your Webpage

I suppose I should work on the paying project but instead I am working on a fun personal project.

One of the things I want for this weblog/journal is an easy way to update it and to that end, I'm planning on writing code such that I can send in entries via email, as well as enter them on a web page.

Well, a friend of mine, Spring Dew recently lamented about the difficulties she has to endure to update her online journal.

Well, I thought. That's easy enough to fix.

So I spent an hour or two writing an email to webpage gateway for her use. I figure I can recycle the code later when I start using it for this but in the meantime I can get some feedback and experience in doing this.

Sunday, May 28, 2000

Mission Impossible II

Now balletic violence is John Woo's thing, and I'll admit there's a fluidity (if no actual realism) to the fight scenes. But there's a fluidity to sewers, too, and that doesn't make them any nicer to watch for minutes at a time. The final fight sequence was especially tedious.

Bernard Kelly in a user submitted review to The IMDB

Saw Mission Impossible II today with some friends and for a John Woo film, it was pretty dull. I kept wishing I could fast forward through parts. The action sequences were well done, but the constant slow motion effects got tiresome after awhile, and I felt like I was watching a second rate James Bond rip-off than a Mission Impossible mind-bending caper.

And like Battlefield Earth, the small details were good, like one of the heros seeing the reflection of the obligatory LED countdown from a bomb underneath the van reflected off a puddle into a rear view mirror, or the line Anthony Hopkins says to Tom Cruise: “This isn't Mission Difficult, Mr. Hunt. It's Mission Impossible.”

But the big details … totally missed.


Quaking in the office

After the movie and dinner, we headed over to my friend Greg's office and played Quake for way too many hours.

Way too many hours.

Monday, May 29, 2000

Easy day off

I spent Memorial Day at John the paper millionaire of a dotcom's house, along with Mark, Kelly and Jeff K.

Hamburgers, hotdogs, organic soda (John's wife is very big on organic food stuff) and chips, along with horse shoes, swimming and hanging out in the jacuzzi.

Wednesday, May 31, 2000

Captain Napalm Goes To Court

So today's the day I go off to the county courthouse to sit around a large room waiting to be called for a trial.

Yup, I've been called to jury duty.

I arrived a few minutes past 8:00 am and rush into the Jury Assembly Room to a video tape describing the process of jury selection and trial. I find a seat and watch. It was an okay video of the instructional type but towards the end it got rather annoying—disolves to the US Flag with “God Bless America” playing in the background and a rambling narration informing us citizens that it is our God-Given duty to enjoy jury duty for there is nothing better than upholding our Judicial System, the one with a Jury of Our PeersTM.

Only, if you bother to read the Constuitution:

The trial of all crimes, except in cases of impeachment, shall be by jury; and such trial shall be held in the state where the said crimes shall have been committed; but when not committed within any state, the trial shall be at such place or places as the Congress may by law have directed.

The U. S. Constitution, Article III, Section 2.

Nothing at all about having a jury of our peers. Nice to know some myths about our government are propagated by our government.

Anyway, I sat in the Jury Assembly Room, reading R. Buckminster Fuller's Synergentics and Synergetics II and waited for my number to be called. Around 10:30 am it was, which then meant I had to wait around for the judge to call us to his court room.

At 11:30 am we were informed that the judge who we were selected for didn't need us (case being settled out of court) and thus we were thrown back into the Jury Pool, but we could take the next hour or so off for lunch. Just be back by 1:15 pm.

I ate at the Burger King across the hall (yes, there was a Burger King in the court house). I went back to the Jury Assembly Room and napped for a bit.

Now, we were informed that if we were not selected for a case by 3:30 or 4 pm, we could then go home having served our obligations and it was with an hour left that I got called for another judge.

It seems that the jury for this judge selected earlier in the morning were all dismissed due to some legal mumbo jumbo and another jury was being selected, about 30 in all. Ten of the jurors had been selected earlier that morning (I wasn't one of them—this being a different judge than the one I had been called for) and when the judge was informed, he immediately dissmissed them before even heading down to the court room. They had difficulty finding enough remaining jurors not selected and the judge only ended up with 23 or so jurors to interview.

By 3:00 we were in the court room, sitting down and the charges of the defendant being read. Afterwards, the judge asked if anyone might be biased towards the defendant due to the charges and immediately seven people were dismissed (but not after the judge expressed some concern that the defendant might not get a trial because of insufficient jurors).

Eighteen left and over the next hour an a half we were interviewed by both sides. I was asked a question and immediately after answering it I knew, I just knew I would be selected (and I could understand why it might be difficult to select a jury for this particular trial—involving underage children).

Sure enough, after a few minutes deliberation where we potential jurors were milling about outside the court room, we were called back in and I was one of seven jurors picked. The rest were dismissed and we seven were then sworn in, and given instructions to be back at the court house on Friday at 10:00 am.

We were given official Jury PinsTM and shown where to show up on Friday.

Great. Another early morning.

Friday, June 02, 2000

Captain Napalm Goes To Court, II

I was stressing out. I left the house a bit too late and I'm stuck at a draw bridge not a quarter mile from the court house and it's 10:00 am.

Oh my God! I think. The Judge is going to throw contempt of court charges my way for being late. The bridge finally goes down, I drive to the parking garage, and by 10:15 am I show up in the Jury Reception Room where the officer tells me to wait, the bailiff will show up in a few minutes and collect me.

A few minutes later the bailiff comes around and leads me down several back corridoors behind the court room. My demeanor is one of doom—I'm sure I'm in trouble for being late, but the bailiff doesn't seem to be upset that I'm late and in fact, the impression is that I'm not late at all.

I'm releaved when I'm shown into the jury deliberation room and find the other six jurors sitting there, waiting.

So I sit down and start reading.

Around 10:40 pm, the bailiff comes in and escourts us to the court room where we take our seats. The judge then informs us he has good news and bad news.

The bad news? We are no longer required for jury duty.

The good news? We are no longer required for jury duty.

It seems the case was settled with the defendant pleading guilty and getting 15 years. The judge thanked us for our time and handed out certificates of appriciation.

I was upset that we had to return the official Jury PinsTM.

So that's that.


An Easy Way to Update your Webpage, II

After arriving home, I took a few hour nap then resumed work on the fun project for a friend. I only did the email interface and she requested a web interface as well.

Pretty easy work.

Saturday, June 03, 2000

Gurgle gurgle

Gurgle

Gurgle

Gurgle

By then the sound had finally penetrated my sleep and I thought Is something wrong with the toilet again?

Glub gurgle

Gaaah, I thought. I'll need to check this out. So I got up and headed towards the bathroom.

And stepped into a few millimeters of water pooling on the floor. Great! It apparently had just started happening so the damage to the books on the floor of the bathroom wasn't much, if any. And the rug had absorbed most of the water anyway. The toilet looked okay, so I did an experimental flush.

And watched in horror as the water filled right up to the brim before going all the way down. Very odd behavior. Then I noticed the shower stall was filled with water.

That's not a good sign.

I retrieved the plunger and started to plunge the drain in the shower stall. It didn't seem to be doing anything. Plunge plunge plunge, watch watch watch plunge plunge plunge watch watch watch. Then suddenly the water started draining out, but I'm still not convinced my plunging had anything to do with it.

I took an experimental flush of the toilet. It worked fine.

Now what was that all about?


An Easy Way to Update your Webpage, III

I finished and debugged the fun project today, and made a bunch of stupid mistakes while doing it. I have to remember to keep straight the fact which server I'm doing the testing from and compile the program appropriately.

Sunday, June 04, 2000

Everything you wanted to know …

I found Dan Berstein's website via a Slashdot discussion on exploits. His site has a lot of good technical information about the various TCP/IP protocols like SMTP, FTP and DNS. It's worth reading.


“Captain! We're being scanned!”

So I'm running monnet, a network monitor I wrote when I caught a portscan of my network, using SUNRPC. Curious, I run nmap on the offending machine and get the following:

Interesting ports on XXXXXXXX.XXXXXXXX.XXXXXXXX (XXX.XXX.XXX.XXX):
Port    State       Protocol  Service
21      open        tcp        ftp             
23      open        tcp        telnet          
25      open        tcp        smtp            
53      open        tcp        domain          
79      open        tcp        finger          
80      open        tcp        http            
98      open        tcp        linuxconf       
111     open        tcp        sunrpc          
113     open        tcp        auth            
119     open        tcp        nntp            
137     filtered    tcp        netbios-ns      
138     filtered    tcp        netbios-dgm     
139     filtered    tcp        netbios-ssn     
513     open        tcp        login           
514     open        tcp        shell           
515     open        tcp        printer         
520     filtered    tcp        efs             
655     open        tcp        unknown         
676     open        tcp        unknown         
681     open        tcp        unknown         
686     open        tcp        unknown         
1024    open        tcp        unknown         

TCP Sequence Prediction: Class=random positive increments
			Difficulty=2284334 (Good luck!)

Sequence numbers: C3909E99 C3E1B596 C3907551 C34F8007 C3F3F4E4 C3924E90
Remote operating system guess: Linux 2.1.122 - 2.1.130

Amazing. Simply amazing. I don't know what's worse—RedHat making their default installation so open (and it was RedHat, I checked the web server running on the box and it said as much) or that this person didn't realize what he (I checked finger and it reported back a masculine name as being logged in) got himself into when putting a RedHat box and the end of a cable modem.

So I wrote the person the following:

[spc]linus:/home/spc>telnet XXX.XXX.XXX.XXX smtp
Trying XXX.XXX.XXX.XXX...
Connected to XXXXXXXX.XXXXXXXX.XXXXXXXX
Escape character is '^]'.
220  XXXXXXXX.XXXXXXXX.XXXXXXXXESMTP Sendmail 8.9.3/8.9.3; Sun, 4 Jun 2000 01:29:33 -0700
helo linus.slab.conman.org
250 XXXXXXXX.XXXXXXXX.XXXXXXXX Hello IDENT:XXXXXXXXXXXXXXXXXXXXXXXXX [XXX.XXX.XXX.XXX], pleased to meet you
mail from:<sean@conman.org>
250 <sean@conman.org>... Sender ok
rcpt to:<XXXXXXXX>
250 <XXXXXXXX>... Recipient ok
data
354 Enter mail, end with "." on a line by itself
From: sean@conman.org
To: XXXXXXXX@XXXXXXXX.XXXXXXXX.XXXXXXXX
Subject: Thanks for portscanning my network ...

  I'd like to thank you for port scanning my home network, especially from
a system with FTP, TELNET, SMTP, DNS, FINGER, HTTP, LINUXCONF and a slew of
other services open and running on your freshly installed RedHat
installation
of Linux.

  If you have no idea what I'm talking about, then let me inform you that
your system may have been compromised by someone.
 Just letting you know.

  -spc

.     
250 BAA21935 Message accepted for delivery
quit
221 XXXXXXXX.XXXXXXXX.XXXXXXXX closing connection
Connection closed by foreign host.
[spc]linus:/home/spc>

I'm wondering how he'll respond.

Monday, June 05, 2000

Meet Nova Dandyplanet

My Glam Name is apparently “Nova Dandyplanet.”


Putting Down Roots in Earthquake Country

I checked snail mail today and I received a package from my Dad in the mail. Various articles about making money on the Internet (“Are you a millionaire yet?” he keeps asking) along with a brochure: “Putting Down Roots in Earthquake Country.

Dad, you see, lives in Califorina.

I wonder if he's trying to tell me something …


My Dad, the Golfer

Dad also called me today, wanting to know how I was doing (he does not, nor does he want to, own a computer) and what he's been up to.

It looks like this year he's trying out for the PGA Senior Tour. He said there are two qualifications to try out: You're over 50 (which he is) and you have a handycap of less than 3.5 (or something like that, which he does—he's a very good golfer). So if things work out, I'll get to see Dad on the TV, playing golf (which has to be the most boring thing in the world. But that's okay, because Dad considers this computer stuff the most boring thing in the world).


Freaky FreeBSD, now with LSD …

So I'm still working on this project for a client. I have the program done, I just need to recompile it for their platform, FreeBSD. No big deal, it's UNIX, right?

So I move over the two parts of the program, a library I wrote, and the main program. The library compiles fine. No problem. I then go to compile the program.

$ make
gcc -I ../lib/src -DUNIX -DFREEBSD -g -c -o obj/calclog.o src/calclog.c
gcc: src/calclog.c: No such file or directory
gcc: No input files specified
*** Error code 1

Stop.
$

Odd, I think. What's going on?

$ ls -l src/calclog.c
-rw-r--r--  1 admin  admin  3620 Jun  5 15:39 src/calclog.c
$

It's there. Let me try it by hand …

$ gcc -I ../lib/src -DUNIX -DFREEBSD -g -c -o obj/calclog.o src/calclog.c
$ ls -l obj/calclog.o
-rw-r--r--  1 admin  admin  3364 Jun  5 21:37 calclog.o
$

Okay, now I'm stumped.


Gurgle gurgle, II

My roommate Rob answered the door. An older gentleman there asks if we've been having any plumbing problems. Upon hearing this, I head towards the front door.

“Yes,” I said. “This past Saturday.”

“Okay, there's a problem with the sewer system here and we can't repair it until tomarrow, so until then if you can keep the water usage to a miminum that would help,” he says.

“Okay, will do,” I said.

Ah, so that explains the odd behavior I saw on Saturday.


make errors, not programs

Well, I found the problem with FreeBSD. It seems that make acts very oddly when a subdirectory called obj exists and it changes into that directory before doing any compilations. And since my makefile uses relative directories of course they're going to fail since the directories are relative to the parent directory, not to the one named obj.

Funny, I never encountered this problem before using make.

Then again, I never used a directory named obj before either, but I didn't think that would matter.

While the man page for make(1) under FreeBSD makes mention of obj it doesn't exactly describe this behavior. Sigh.


“I use Google … ”

Wow, lots happened today.

Anyway, I amble over to my roommate Rob's room to ask him something and see he's using GeoFind, a meta search engine I had worked on. We had the following exchange:

ROB:
Oh good, [GeoFind]'s working.
ME:
Why are you using [GeoFind]?
ROB:
Why not? I always use it for my searches as it usually finds what I'm looking for. Why? Don't you use it?
ME:
No, I use Google.
BOTH:
[Both start laughing at the situation]

I suppose it's a bad sign when even I don't use something I wrote anymore, but that's because there's no real insentive for me to work on GeoFind. I don't own the code (so I can't release it) and the company that currently owns it isn't doing anything with it right now and the search engines have changed how they work (for the most part) so it pretty much fell into disuse.

Besides, when I first started writing the program there weren't that many metasearch engines around (this was in 1996) but now … there are dozens if not hundreds.

They're not hard to write.


Being John Malkovich's Production Assistant

“Come to think of it, this whole PA thing is going to get in the way of my upcoming Mexico pharmaceutical foraging adventure. Why, I've been stretching my anal cavity for weeks! What a waste.”

So, I guess that's what it's like being John Malkovich's Production Assistant.

Tuesday, June 06, 2000

A Land Line is still superior to that wireless crap

While the phone system doesn't suck, most phones do.

My phone is an older phone, probably made during the mid 80s (around the time of the AT&T breakup—it has “BELL SYSTEM PROPERTY” stamped on the bottom) and the thing is rock solid. I've dropped the phone from desk hight plenty of times and it still looks new (if a bit yellowed).

Yet I'm talking on the phone with someone using a piece of crap and it sounds like it. Must be one of those cordless phones be cause the voice quality of the person I'm talking to is staticy and muddled and half way through the conversation the connection is lost.

And people put up with this.

He still hasn't called back, probably not aware that I've been disconnected. I can imagine him, shouting over the static, “Hello? Hello? Are you still there?”


“If you can't force it, source it!”

It seems that that latest version of sendmail doesn't like executing programs from /etc/aliases except if it's majordomo.

I'm helping my roommate Rob install some mailing list software. I use something other than majordomo which works for me and is rather simple to configure and use.

Only he's running Sendmail 8.9.3 and when we put the appropriate magic in /etc/aliases I keep getting back:


sh: mailserv not available for sendmail programs
554 "|/home/mailserv/bin/mailserv nnnnnnn-l request"... Service unavailable

Which is new to me.

So I'm downloading the source code to Sendmail to see why it's failing.

Wednesday, June 07, 2000

“Ouch. Ouch. Ouch.”

I'm watching the Discovery Channel and I see these new commercials they have advertising themselves (and their website). They're great! Cheesy costumes, bad acting and non-existant special effects. I really found the one with the meteorite one very funny.

1ST METEORITE:
[monotone voice] I learned that most meteorites burn up in the Earth's atmosphere. [All burst into flames]
2ND METEORITE:
[also monotone voice] Ah. Atmosphere. Ah.
1ST METEORITE:
Ah. Atmosphere.

Very funny stuff.


Electric Network

Reading the Slashdot thread on networking via electrical outlets there was mention of the Intelogis PassPort Powerline Adaptor which allows data transfer over existing electrical wiring and apparently available at CompUSA and other like stores. It's a bit late to head over to CompUSA, but tomarrow I'll see if I can pick it up if it's cheap enough. At 300kbps it won't be fast, but it's fast enough for what I want to use it for.

Thursday, June 08, 2000

The Persistant FAX

Ring.

Is that the alarm clock? I thought.

Ring.

Oh, it's the phone. Still half alseep I reached over and answered the phone. “Hello?”

Beep.

Beep.

Beep. Great, I thought. Someone dialed the wrong number and I'm talking to a fax machine. I hung up and went back to sleep.

A few minutes later. Ring.

Ring.

I pick up the phone. “Hello?”

Beep.

Beep.

I hung up again. Went back to sleep. A few minutes later.

Ring.

Ring.

I answer the phone.

Beep.

Beep.

I hung up.

Three more times that happened. Three! Almost made me wish I had a fax machine just to accept the fax, then fax back “WRONG NUMBER!”


The Electric Network, II

I went to CompUSA and picked up a few Intelogis PassPort units. The package included two PC units and a printer unit and the price wasn't all that bad. I was able to install the Linux drivers for the PassPort on the laptop easily enough, as the Linux kernel was compiled to support modules (because of the PCMCIA support).

Try to install the modules on the primary system here. Oops, I don't have module support in the kernel.

Recompile recompile recompile lilo reboot.

Try to install the modules on the primary system here. Oops, seems I included the parallel port driver in the kernel and that's grabbing the port. Need to remove that driver.

Recompile recompile recompile. That's where I'm at right now.


Compile Compile Compile

Now, while I'm waiting for the Linux kernel to finish compiling, I might as well review the Intelogis PassPort. Well, at least what I've worked with so far.

The package I picked up included three units—two for PCs and one for a printer. It included two cables for the PC connections and two power strips. I found the included power strips to be rather odd because you can't plug the units into the power strips, or any power strips for that matter. And I already have power strips and UPSes. Oh well.

Ah! Compile is done. Time for another test …


The Electric Network is Online

Well, it worked! Not bad at all. The only thing left to do is figure out some routing issues so I can access the outside world from the far end of the Intelogis PassPort network. And possibly move the connection from my primary machine to a secondary machine.

Oh, and rewrite the Computer Room again to resolve the Power Outlet Shortage. That's the only bad thing about the PassPort—you can't plug it into a power strip.

Or at least it recommends against doing that.

Monday, June 12, 2000

Better living through chemistry

I am a chemical and sleeping wreck right now.

Friday night (like around 11:30 pm or there abouts) my friend Greg calls. He's still at work but he wants to know if I want to head on over for a night of Quake. Sure. I head on over there.

So it's Greg, Marty and myself. 7:30 am Saturday we leave Greg's office and head to Denny's for breakfast. I'm in bed by 10 am. So therefore my sleeping schedule has been shot to hell and back.

I get up in time to meet some friends for dinner, then I get with some other friends later in the evening and I manage to get to bed around 6:00 am Sunday.

I barely manage to get up for the weekly Sunday gaming session and to help stay away, I drink a bottle of Bawls Soda. So now I'm doped up on caffeine. The Coke, Pepsi, iced tea, Oreo Double Stuffs, Tootsie rolls and other assorted junk food at the gaming session didn't help either.

By 5:00 pm I'm buzzing.

By 9:00 pm I can feel the crash coming on.

At “dinner” (at a local IHOP) I had toast and lots of water.

By 2:00 am Monday I've crashed.

Which is good, since I have a 1:00 pm meeting with a client.

Which I barely make.

The alarm clock goes off and I'm just dead. It takes me nearly an hour to get somewhat functional and off to the client's office.

By 4:00 pm (I'm home by now) I crash again. For three and a half hours.

I get up, still sluggish and get dinner with my roomate, Rob. I feel wierd. I want to sleep, yet my body feels like it could run a couple of marathons and still compete in the Iron Man Triathalon. I'm still buzzing. And tired.

Bzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!

Tuesday, June 13, 2000

What a strange attack this is …

Watching monnet again I see some odd activity coming from an IP address. Random TCP packets with the Reset bit set to random TCP ports on my primary machine. I try to trace back the connection and it goes nowhere, so the source address seems to be forged.

I might have to talk to my upstream provider on what to do.


New net-based attack?

In looking closer at the forged TCP packets I'm getting, I'm wondering if this is some very subtle attack going on.

The sequence I'm seeing is a TCP packet from the forged address with the FINISH flag set. My system then tries to repond to the packet (why? It's not a valid connection to begin with) but the data it sends back contains garbage from previous IP packets, not neccessarily just other TCP packets.

Now, could it be that somewhere along the path some host's NIC is in promiscuous mode and can read the packets, and with a long enough sample of data, might be able to determine information from the partial garbage packets sent back? For instance, I'm seeing my system send back garbage packets with part of my SNMP community string.

Monday, June 19, 2000

… and other things

Sorry for the lack of entries recently, but the past week I've been busy with installing software, installing servers, writing documentation and other things.


A Network Black Box

Just saw a program on the Discovery Channel about black boxes on airplanes. Cool stuff, even if the re-enactments were a bit gut renching.

But I started thinking about what it would take to construct a black box for a network. With large fast drives it might be possible to record packets for a network and store them for a period of time. The airline black boxes only record the previous two hours worth of material, continuously overwriting the older material.

The largest ethernet frame is 1514 bytes, so let's round that up to 2K to make it easy to record to disk. Twenty gig drives are pretty common now and fairly cheap. Well, doing the math shows that we can record 10.5 million packets to a 20G drive (using 2K per packet).

So I checked some stats at Atlantic Internet, my current ISP. I checked the primary ethernet network interface and it's currently averaging 6400 packets a second.

The math shows I can store about 27 minutes worth of traffic per 20 gigs.

That's pretty sobering. Ouch.

Monday, June 26, 2000

A Lick of Flames

Kelly, Koecher and I were at Mark's for a small BBQ. We were lighting the coals and they kept going out. We poured quite a bit of lighter fluid and I was lighting the matches to light the fire.

So I toss in the match when it ignited. The flames blew out, knocking me over, and even Koecher, standing behind me, felt it.

No one was hurt, but I did feel the heat across my face.

Oh, and the food was good.

Tuesday, August 01, 2000

Life

Sometimes life interviens, sucking up time that would normally be used for something else, like, oh, this journal. Sorry about the lack of details, but things are already … wierd enough to warrent some comments about appearing on Jerry Springer (and yes, I do see the humor in the situation).

Things are slowly backing down to normalcy.

Well, as normal as they can be.

And you either know what's been going on, and if you don't don't worry about it.

But I found this to be oddly fitting even though it has nothing to do with what's been going on for the past month. Nothing at all.


Through Windows Darkly

But that doesn't mean I can't fill you in on some of what's happened in the past month. I now have a Windows system at home, only because of a project I'm working on. The machine was supplied by the client so it's not like I paid for it.

I did, however, have to install Windows 98 on the system. And incredibly, it took only four reboots to have a functioning Windows 98 system. I think the record (amongst friends) is about eighteen reboots to get a Windows system working. I count myself lucky.

Then I installed one of the software packages I needed, only to find it needed another package before I could continue.

I did end up at CompUSA to get some of what I needed for the project, but it wasn't as bad as some people have said it could be.

I'm still trying to get the stuff working though.

It's been only about three weeks or so.


Reading palms

We were also amused that Gates suggested that there would be meetings at which people would be pointing their tablet devices at each other and beaming contact information: he may not know that this infrared handshaking has been a reality with fanatical Palm owners for some time.

Gates & Co describe long, hard code to .NET

Then there was the business lunch to discuss issues pertaining to the project I'm running Windows for. What I found amusing was that out of six people at the table, five whipped out their Palm Pilots and started exchanging contact information and data between them all.

I was the only one there without a Palm Pilot.

But I did have my Newton.


Excuse me … phone call …

Ring.

I answer the phone. “Hello?”

<click whirr> “Please don't hang up. This message could be very important to you. If you are a senior citizen … ”

I hung up.


Oh … where was I?

So that pretty much brings me up to date.

Well, somewhat.

Okay, there are still large gaps but it's either stuff I can't or won't talk about, or don't remember.

But part of the reason for the lack of updates is that I still don't have an easy method to update the journal, unlike the software I did for my friend Spring Dew. And until I get the software done, updating here is still a semi-automatic process.

I really need to get back to work on this.

Wednesday, August 02, 2000

Restart, Reboot, thankfully, no Reinstall …

There was a big thunderstorm here this morning and I think it affected the network somewhat. I turned on the Windows box (what? You think I leave that thing running all night? With all the garbage Windows spews forth on the network?) and after it finishes booting, it can't see the network.

The hub shows a connection. I remove the termination from the 10Base2 connection and half the network goes down like it should, so the hub is fine. Okay, restart Windows.

I check monnet, and I see some wierd stuff—the Windows box is sending out Ethernet packets with the broadcast address as the source! That's not right.

I shutdown Windows and powercycle the machine.

Now it's okay.

Man, Windows is just sooooooo wierd.


One out of three visitors is a robot

I found out that about 30% of my webserver traffic are robots—programs that crawl the Internet indexing webpages. Why did I calculate that?

A question on the Robots Mailing List (dealing with programs that crawl the Internet and not mechanical devices that walk about going “R2-D2, where are you?”) asking if robots skew banner impressions and click throughs. An interesting question and while 30% might seem a bit high, that's only because my server isn't a heavily trafficked site at all, despite my good placement in the search engines.


Sysadmins. I can't shoot them as I would end up with their job.

I wonder how sysadmins get their jobs. Especially those that have to administrate UNIX and yet don't quite grasp UNIX. Or directories. Or shell scripts.

Then there are those UNIX sysadmins that love complexity. They write inscrutable scripts that work most of the time yet still require a degree of micromanagment usually reserved for taking care of babies. They relish in foot high piles of network cables none of which are labeled.

What prompted this? A particular clueless UNIX sysadmin I have to work with. The sysadmin in question is nice, but is not a UNIX sysadmin and I want to vent a bit.

Sysadmins. Can't shoot them as I would end up with their job.

Friday, August 04, 2000

Out of Print

Perhaps. Works out of print and not in circulation do present a vexation, and perhaps a wrong to be remedied. Protecting the creator's right to those works gives the creator little to nothing, and deprives the public of their use; this seems an odd allocation of the public resources needed to protect the rights. Clearly a matter for legal clarification.

Some cases, though, are clear: authors make more money if they, their agents, and their publishers, agree to let a work stay unavailable for a time then reissue it. This is not so much a phenomenon of the public as it is of the distribution system, but in any event, it does work, and your scheme would destroy that stratagem. Is this your intent? Is it your right?

Jerry Pournelle on Copyright and Napster

Ninety-nine percent of what I have created in the last fifteen years is in print and available. There hasn't been a month go by since 1979 that I haven't made money on the story in Cerebus #1. Cerebus is creator-owned, yes, but more important it is creator-controlled. The critical element of control is a work being in print and available. If it is not in print and available and you would like it to be, you do not have control over it.

Dave Sim's Pro-Con '93 Speech

This is the second time I've referenced Dave Sim, the comic book artist responsible for Cerebus, but it's interesting reading the two contrasting points of view here.

Saturday, August 05, 2000

What do you get a millionaire for his birthday?

Today was John the paper millionaire of a dotcom's birthday, and the usual suspects (Mark, Jeff K, Kelly and myself were all invited to John's house.

The backyard relandscaping was finished and it was an incredible job. Two small streams, each starting from a waterfall (on either end of the back yard) and heading toward the middle. Each had a natual bridge, made of rocks, and leading to the other side of the backyard. The streams met in the middle, just behind a covered patio with an Asian feel to it. The streams were filled with koi and other aquatic plant life. It has a very pleasant and relaxing feel to it.

His wife hired two girls to come out—the first one was Christine who came out for an hour and spent it swimming and playing pool basketball topless. The second one was Vicki who posed as a pizza delivery girl but ended up giving John a lap dance.

We spent entirely too much time swimming, with Mark, Jeff and I all getting sun burns. It's to be expected from pasty white computer guys who spend entirely too much time basking in the glow of CRT screens in the dead of night.

The hamburgers that John grilled came from Sam's Club and where multi-inch thick monstronsities. They were excellent but were nearly too large. I was only able to eat half of mine; Jeff ate only half of his and only Mark was able to polish off two of them. The hotdogs were some brand (I forget) only available from New York but they were excellent. Much better than the national brands.

After swiming for several hours, John broke out the croquette set and with the help of his brother-in-law, set up the course across the entire back yard (that is, the part not taken up with the koi streams).

Croquette is a long game and one I found entirely too annoying to play. The grass was too tall and the balls wouldn't exactly go in the direction you would expect them to go, nor as far as you would expect.

It also didn't help matters that I was running dead last in the game and by the time I made it to the other side I had basically given up and decided to go after John, who was leading the game.

In croquette, if you hit an opponent's ball, you get the option of “sending them,” which means you place your ball next to theirs, put your foot on your ball, and whack it as hard as you can, sending the their ball off to parts unknown.

it's legal for the loosing player(s) (of which I was) to abandon the stated goal of getting the balls through the wickets (small metal arches set into the ground) and go after the other players. But that ment getting my ball, which was on one side of the yard, to John's ball, which at the time I got fed up, was at the other end being manouvered through the final two wickets.

I never made it. John won the game.

Afterwards, we sat in the family room watching bad movies on TV and MST3King them merclessly.

Sunday, August 06, 2000

“I'm sorry. I'm going to have to kill you now.”

There's nothing like getting slapped on the back when you have a bad sunburn.

Ouch.

Monday, August 07, 2000

Amazon? Barnes & Noble? Why pick one?

I'm reading the Jakob Nielson's Alertbox and the corresponding User Comments when an idea hit.

To explain the idea, you first need to understand what the articles are talking about. Briefly, Doc Searls switched linking to Amazon to Wordsworth and their revenue dropped; most people know how Amazon works, and don't want to bother learning how Wordsworth works, or with setting up an account there.The User Comment from Glenn Fleishman backs that up. ISBN.nu, a price commparison of on-line booksellers. I came across the site quite a while ago and it's a neat service. But he has a similar problem as Doc Searls.

So I thought—what if a website gave the user a choice as to which on-line bookseller to use? If cookies are used, a site can store the user's preference for on-line bookseller to use and a link to a book points to some CGI script that determines which bookseller to redirect to.

It can't be that hard.


Still blogging along

Despite the prevalent definition of weblogs as “links” pages, if one actually looks around at what's being published on blogs, they will find not only links and commentary, but news, diaries, photos, poetry, mini- essays, project updates, even fiction. What's consistent—and unique to the format—is a simple, approachable, and—with tools such as Blogger, GrokSoup, Manila, and Pitas—extremely convenient way to publish information to one's own web space at the “chunk” or paragraph level, versus the page, which requires much more complexity and overhead.

Evan Williams on Weblogs

I've got the creation and manipulation of “chunks” down, it's the presentation that I'm still working on and is proving to be a difficult problem.

I mean, how do you handle navigation when the user can select an arbitrary portion of text?

But I'm still working on it.


I know an author!

Some more updates from The Great Hiatus that was July.

My friend Hoade got his novel, Ain't That America published! He says that it should be available at Amazon Real Soon Now, but still, this is great news.

It's not his first novel he wrote (that would be The Act which I think is still publishable) but the first to be published.


The Electric King James in use

Also, I received email from Andrew Senger who asked if he could link to The Electric King James. He's doing a website for the Wilson Baptist Church in (or near) Rutherfordton, NC.

I'm actually thrilled that someone is putting The Electric King James to good use so of course I gave him permission.

I also used to live in the area (well, about an hour away) as a kid. It's a very beautiful part of North Carolina.

Tuesday, August 08, 2000

Do spiders feel pain when molting?

I wonder if a spider feels the same thing I'm feeling just before molting. It's painful to move my arms—the sunburn seems to have pulled the skin tight and the nerve endings are just screaming if I move them about too much.

I know spiders break their old skin and shed it, but I want to know if it's a painful process. I know sunburns are painful (ouch ouch ouch).

My nose and forhead (which aren't painful) are already peeling. I just can't wait for the pain across the shoulders to subside and I can get a good night's rest.

Ick.


“I take it you're Captain Napalm?”

So, being a bit bored I'm randomly checking links in my bookmarks when I go to SexyChyck Dot Com (no, it's not a porn site) and right there on the front page:

I take it you're Captain Napalm?

Uh … wow! How did that happen?

So I'm playing around with several complex senarios here (she saw my previous visit in her logs, decided to check out the Conman Site) when I decide to check the source code to the page in question.

Nothing quite that complex or time consuming. I told her who I was.

Visit her page for the first time and a dialog box will appear asking for your name. It's then stored in a cookie for later use.

Silly me. I'm easily amused.


Teen fasions: Straight Jackets

My roommate Rob and I went to the local T. B. O'McFlynagin's for dinner. One of the TVs hanging from the ceiling was tuned to the local Fox station and what was on but American High, a type of Real World for the high school set.

I found it amuzing at first, watching teenage angst from a decade (or so) down the road until the show focused on Morgan, who seemed to be in a straight jacket while talking about things.

It was hard to tell if he was upset or not, as the volume was turned off, but closed captions were turned on. But he seemed to be taking it all in stride, like wearing a straight jacket is normal for kids today, especially ones that take Ridalin, Prozac and other jagged little pills.

“My god,” I said. “I'm almost glad I'm not a kid today.”

“Me too,” said Rob.

Wednesday, August 09, 2000

The opposite of a misandrist is …

I'm catching up on Bruno, one of the on-line comics I follow, when I come across a series of strips about misogyny and the discussion that followed from those strips.

Any mention of mysogyny and comics in the same breath will eventually, if anyone close-by is a conneseur of comics, will lead to the infamous Issue #186 of Cerebus, created, written and drawn by Dave Sim.

I only bring this up because I've linked to Dave Sim before. Or rather, his 1993 Pro-Con Speech, which details self-publishing. He may be a mysogynist bastard, but he's a self-published artistic mysogynist bastard and while I may not agree with his views on women, he does have very good advice about self-publishing and maintaining artistic control over your own work, which is why I link to him. I also bring it up because earlier this day I was browsing some of the Cerebus related sites in a mood of just surfing around and wasn't expecting this topic to come up at all.

I've known about Issue #186 for some time, but that still hasn't decreased my interest in Cerebus. I was introduced to Cerebus by an old friend and roommate, Sean Williams, way back in 1990, nearly four years before Issue #186 hit the stands, and because of Sean Williams, I own (except for Issue #104) the complete run of “Church and State,” as individual issues, as well as “Swords of Cerebus” (which covers the first 25 issues of Cerebus) and a few other of the phone books that comprise the reprint history of the comic book. It's a phenomenal series and one that has influenced the comic book industry like none other.

You may be hearing of it for the first time, but trust me, Cerebus is to the comic book industry as Brian Eno is to recording—not many people outside the industry have heard of it (or him), but within the influences are tremendous.

It's just sad that Dave Sim comes across as such a jerk.

Then again, so does his creation, Cerebus …


Introduction

Let me 'splain. [Pause] No, there is too much. Let me sum up.

Inigo Montoya, from The Princess Bride. (1987)

My friend AnnMarie and her husband are moving to Gainsville this week. A few months ago I said I would help her move. Kelly, also her friend, also agreed to help her move.

Well, it's time. Annmarie and her husband Marcus are moving.


Prologue

I got a call from Annmarie around 6:00 pm. I was supposed to met her at 7:30 at her appartment to help her pack and move boxes into the moving truck. This was rather unexpected.

“Can you meet me at the U-Haul rental office?” she asked. “I need to meet Marcus there to rent the truck and I don't want to wait alone there.”

“Sure,” I said. The U-Haul office was close by—about fifteen minutes away from where I live. We hang up and I start preparing to leave. A few minutes later the phone rings. It's Annmarie, this time very frantic.

“I can't find the keys!” she said. “The guy at the U-Haul place is already waiting for us to show up! It's past closing time there. We won't make it!”

“Calm down,” I said. “Where was the last location you saw the keys?”

“Kitchen table.”

“Are they there now?”

“No.” Panic.

“Have you tried your pockets? Purse? Living room? Bathroom? Office?” I rattle off other locations.

“I can't find them! What should I do?”

“First thing is call the guy at U-Haul. Explain the situation to him and see if he can wait a bit longer. Then call me back.”

“Okay,” she said and hung up. A minute or so later the phone rings. “Can you pick me up? I can't find the keys, and he's only going to stay there another fifteen or twenty minutes,” she said.

“Yes, but it will take me about twenty to thirty minutes to drive to your apartment,” I said. To get there, I have to drive north about eight miles, then east about seven miles. Going north is easy, it's going east that sucks up the time.

“Really?” she asked. Panic.

“I'll hurry as fast as possible, but yes, it'll take about that long.” We hang up and I drive over there as quickly as possible. I make it there in about twenty minutes or so; traffic was pretty good. I pick her up and I start driving back west and south to the U-Haul place.

“Marcus has the keys,” she said, in reference to their other car. “Kelly saw him pick them up last night.” So that explains why she couldn't find the keys.

The conversation over there consisted of her being upset over making the U-Haul guy wait, what was taking Marcus so long to drive to the U-Haul place from work and the somewhat poor planning that has been involved. For my part, I was trying to calm Annmarie down, telling her horror stories about past moves I've been involved with (“Yea, the last time I moved it was a last minute thing with me and my friend tossing my stuff in the back of a pickup truck. What a mess.”) and to try and accept the way things are and there is no use worrying about things.

We arrive at the U-Haul office to find their 32' truck sitting in front and Marcus' car there. We enter the office as Marcus is finishing out the rental paper work. He managed to finally arrive and start the paperwork before U-Haul guy left for the evening.

Once outside Annmarie and Marcus have a discussion about the recent events; I take an unnatural interest in the U-Haul truck in question. Thirty-two feet in length and fairly new in condition. Power everything (“for your driving ease”). Pretty nice. Instructions on how to drive it clearly visible to the driver and a lower bed than normal freight trucks for easier loading. Climate control. Automatic. Really just an oversized van with an advertisement for a mining museum in New Jersey.

After their discussion, arrangements are made to drive back to their appartment. Annmarie will drive in front, Marcus in the middle with the truck and I to follow. The drive back was for the most part uneventful even though we did get slightly off track (my fault—I thought the road the office was on went straight through to a major road, only it didn't. We ended up backtracking a bit).

Then it was time to park the truck.


Interlude I

Parking lot design in South Florida is an art. A black art to be precise. A black art that the practitioners take a delightful glee in pursuing it seems.

Most parking lots are designed with a fractal dimension close to two. But the designers of the parking lot where Annmarie live have manged to outdo even themselves and have managed a parking lot with a fractal dimension close to three.

Imagine if you will a hill. I know people here in Lower Sheol might have a hard concept of hill (seeing how Lower Sheol is flat. So flat it's nearly concave), but basically, picture a hill. Now, make a nice slice out through the hill, deep enough to cut below ground level. How hollow out the hill. The slice leads down and the parking spaces are beneath the hill. It gets better though. On top of both sides of the hill are more parking spaces, open to the elements. So there is parking below and on top of these hills.

Now, place these hills hapharzardly throughout the parking lot and cram as many spaces as you can between the score of parking hills. What you end up with is a masterful Byzantine labrynth of a parking lot with a fractal dimention close to three.

The sidewalks that meander throughout this mess approach a fractal dimenstion of two. And the placement of the apartment buildings is random; there is no logic at all to the placement.

The first time Mark and I went to her apartment, it took us ten minutes of navigation through the parking lot, and another twenty of walking around to find her building. The numbers on the reserved parking spots bear no relationship to the building number and the building number has no relation to the apartment number. The building numbers are not in a consipuous place like the side of the building, no. They're embedded in the sidewalk at the entrance to each building.

So you end up with Marcus and Annmarie having parking spots 639 and 640, building 604 and apartment 38.

Their apartment complex is a fractillian hell. And the upshot of all this is:

Marcus can't park the truck near his building. The closest is on the parking hill next to his building, but that would either mean the truck is angled front to back with items threatening to fall out the back (“Watch out! The entertainment center is slipping!”) or angled left to right with items piling along one side.

The closest flat spot is a guest spot off to the right of the building, but even if Marcus managed to park the truck there (and that's a big if), he would still manage to block off part of the parking lot.

Another spot, a few hundred feet in front of the building, is in front of another building on the grass, with a third location, between the two but you have to navigate around the parking hill.

A fourth spot would be to pull down into the parking hill, but that would mean going down yet another flight of stairs (did I mention they live on the third floor?) and blocking off a large number of cars from pulling out.

So Marcus parked in spot number three.

Not a friendly place to move into or out of it seems.


Interlude II

I should mention what a fractal dimention is before I go on, least I loose any more of my small audience.

Imagine a line. That is a one dimentional object—there's only two degrees of movement along a line. Now, square the line and you end up with a plane; a two dimentional object with four degrees of movement—left, right, forward and backwards. Square a plane and you get an object that is three dimentional with six degrees of movement—left, right, forward, backward, up and down.

Pretty easy.

Fractal dimentions are those that aren't whole numbers like one, two or three.

Now imagine a one dimentional object that curves about in a plane. Technically it's not a line, but something that is made up of segments of lines, all connected yet at no point does this object intersect itself. A straight line has a dimention of one. Put a curve into it, and the dimention goes up slightly, say 1.00000000000001 or so. The more curvy it is, the more it curves about and fills up the plane, the higher the dimention goes, towards two. But it doesn't quite become a plane.

An object with a dimention between two and three is a plane that curves and folds around to define a volume.

But the other kicker is that you can only follow along the line (or plane) and can't move outside it. A being who lives along such a line might not be aware that its universe is kinked that way—for all it knows it lives in a one dimentional universe unaware that it lives in something that is higher than one, but not quite two dimentions.

Follow? Good.

If not, don't worry about it. You don't need to really know about it.


Movement I

Kelly was waiting for us at Annmarie's apartment and the between the four of us, found a place to park the truck in the Byzantine labrynth the builders jokingly call a parking lot. The four of us then went to the apartment.

Now, I've been over there before and if you were to ask me if they were packed and ready to load the truck, I would have to say no.

I was rather surprised. I could see them getting the truck tonight, loading some stuff on it now, then tomarrow loading the rest of the stuff and leaving Friday morning for the drive to Gainsville.

In fact, that's what I was rather expecting, because some travel plans I had made months ago were at hand. As I found out, they werent' expecting to leave until Saturday, which put a crimper on my travel plans. I could help them tomarrow, but I don't think I could wait around until Saturday to drive up to Gainsville.

As we talked about how to tackle the packing problem, we realized that several extra supplies were needed. The type that you can only get at Office Depot and Home Depot.


Movement II

Kelly, Annmarie, Marcus and I piled into my car (being the biggest car) and drove across the street to Office Depot.

There we bought several boxes and bubble wrap. Hmmmmmmmm … bubble wrap. Three hundred feet of bubble wrap. Enough bubble wrap to—

Oh, sorry.

Anyway, we didn't find any rope so then it was driving back across town (back towards the U-Haul office) for Home Depot.

Office Depot is bad enough, but Home Depot—three guys in a Home Depot. Those stores are dangerous if you aren't careful and even Annmarie was nearly carried away with all the stuff you can get there.

Both Kelly and I had to restrain Marcus and Annmarie from a spending spree and limit themselves to just rope. And some tape. Rope, tape and a tape dispenser. Rope, tape, tape dispenser and …

Start over.

No body expects the Spanish—

Nope, wrong sketch.

Both Kelly and I had to restrain Marcus and Annmarie from a spending spree and limit themselves to rope, tape, tape dispenser and the Spanish Inquisition.

Sorry.

Both Kelly and I had to restrain Marcus and Annmarie from a spending spree and limit themselves to rope, tape, and tape dispenser.

We then ran for the parking lot, which fortunately had a fractal dimention below two.

Afterwards, we went to Burger King for dinner.


Interlude III

I find it rather disturbing that television is infiltrating our lives so much that you pretty much can't go anywhere and not find a television.

Most T. B. O' McFlynagin's have them. And it seems several fast food restaurants, like Burger King. I find them annoying, if only because since I watch so little television I get sucked right in.

That is, if I can see it. It's also bad if I can't but the other people with whom I'm eating with can.

Television is eeeeeeeeeeeeeeeeeeeevil. But you know that already.


Movement III

Back at the apartment, Kelly and I help Marcus and Annmarie pack. I end up with the job of packing two rock water fountains, two modern lamps and a wok into their original boxes.

I was amazed that they kept the original boxes. Me, I toss the box pretty much immediately. But not Annmarie and Marcus. Much surprise there.

Kelly made runs to the truck, loading the area above the driver with light boxes, mostly clothes, which Annmarie was packing away.

On a return trip, Kelly informed the rest of us that the truck had a warning sticker slapped on it—it was illegally parked and action was immediately required.


Movement IV

And sure enough, on the driver side window of the truck was a towing sticker. Amusing since it would take an industrial sized towing truck to tow a 32 foot truck.

The sticker indicated the truck was illegally parked and the additional comment made it unclear if the truck was illegally parked because it spanned two parking spots and on the grass, or if the only questionable part was that it was parked on the grass.

This made Annmarie worried about the truck being towed so we spent the next half hour walking around the Byzantine labrynth jokingly called a parking lot trying to find a place we could park it.

We found none.

We then discussed where we could park it. Not much choices. We called Mark since he lives in an area with no association along a dead end street. He indicated that it might not be a good idea since one of his more surly neighbors was sure to call the police.

Marcus then said he would park it at his parents house as their driveway was big enough to hold the truck. We had no real choice but to do that. So he moved the truck, Annmarie drove their two cars into the guest spots the truck was parked over, and I followed Marcus to his parents house while Kelly and Annmarie stayed behind for more packing.

We dropped the truck off and drove back. Kelly and I spent another hour or so helping with the packing before leaving.


Denouement

In the parking lot, Kelly and I hung out to talk for a bit. While out there, we could see Annmarie and Marcus through the sliding glass door on their porch, still packing and at one point from their third floor apartment we even heard them.

Kelly was so amused he called them on his cell phone.

A few minutes later we both left.

I got the feeling that that was the last time I would see Annmarie in South Florida.

Thursday, August 10, 2000

Artists CAN make money

The artist once again known as Prince was onto something when he sold his five-CD set “Crystal Ball” exclusively on the Web without the help of record companies, distributors, or record stores. On his website, he advertised the album and told his fans he would release not one song until he had 100,000 pre-orders for the entire record. He sold 250,000 copies and kept 95 percent of the revenue which industry experts estimate at $5 million.

Via Scripting News, Making money in a “copyright-free” world.

While I don't agree with the notion that copyrights should be abolished outright (anyone who thinks so should bone up on their history, especially France just after the French Revolution) but it is good to hear that several experiements of direct artist-consumer marketing are working and working well.

Granted, the examples are big name artists but someone has to take the risk, and these guys can afford to do that.


Hard decisions

My friend Kurt, whom I'm travelling to North Florida with (more on this later) called. He wants to leave early Friday morning, no less than 6:00 am. Which means I won't be able to help Annmarie and Marcus move to Gainsville, which I half expected.

I talked to Annmarie about this and she understands.

I still feel a bit bad about it although there isn't much I can do, seeing how I planned this trip for several months in advance and helping Annmarie move came about only two months ago.

Friday, August 11, 2000

Introduction

Last October several friends and I saw The Blair Witch Project (like who didn't?). Kurt, my erstwhile high school English teacher of a friend, got the idea to investigate haunted houses. As a high school teacher he has the summer off so tramping through the forest won't be unbearably cold; unbearably hot yes, but not unbearably cold. And as the only other person who can take off the time as required I volunteered to join in the project.

Hello. This is Agent Conner. My partner, Agent Johnsen and I are assigned to the Paranormal Investigation Foundation.

The PI Foundation.

Our mission: to investigate reported hauntings in the northern part of Florida and make a determination as to their validity. Out planned itinnerary includes:

  1. Pensacola
    • Dorr House
    • Lear House
    • Old Christ Church
    • Lighthouse on Pensacola Bay
  2. Milton - Arcadia Archeology Project
  3. Amelia Island - Fort Clinch
  4. Fort George
    • Tabby House
    • Kingsley Plantation
  5. St. Augustine
    • Castillo De San Marcos
    • St. Francis Inn
    • 46 Ave Menendez
    • Light Keeper's House
  6. Gainsville - Devil's Mill Hopper

This is a recording of our journey into the unknown. Wish us luck. We may need it.


Day I

OBJECTIVE:

Proceed north along I-95 to Ft. Pierce. Cut across to the Florida Turnpike North to I-75 and pick up I-10 West to Pensacola. Attempt to make trip in less than twelve hours.


Departure

At 6:00 am I was in the Computer Room finishing up some last minute email when I heard what I took to be a knock on the front door. I walked to my roommate's (Rob) room.

“Rob, did you hear anything?”

Rob turned around. “No,” he said and went back to reading his book.

I could have sworn I heard something, after all, I was expecting Agent Johnsen to show up around this time. I walked to the front door and opened it just as Agent Johnsen was raising his hand to knock. “Oh,” he said. “You must have seen me.”

“Uh, no. I heard a knock,” I said.

“Now don't you get started with me! There is nothing strange going on here!” he said, pacing about the living room. “This is not the Blair Witch Project!”

I decided to leave it at that. “Can you wait a few moments? I need to finish up some email,” I said. Agent Johnsen nodded. I walked back into the Computer Room and finished up the email.

We then proceeded to transfer Agent Johnsen's luggage to my vehicle whereupon we proceeded north to Boca Raton and ate breakfast at Tom Swayer's. By 7:00 am we were on I-95 north.


Arrivals

The trip, other than being about ten hours long, meeting our objective time frame, was rather dull. The only glitch happened around Ft. Pierce were I managed to miss the exit and we ended up driving two miles north to the next exit, turned around, two miles south and caught the appropriate exit to catch the Florida Turnpike North.

By noon we were on I-10 West when we stopped off for lunch. Five hours later we arrived in Pensacola were Agent Johnsen picked up a map of the local area. We drove around for about twenty minutes before deciding to stay at the Hampton Inn just south of I-10 off of 291.

So far we have not encountered any paranormal phenomenon, but along the way I informed Agent Johnsen that Pensacola is also a known hot spot for UFO activity, given the proximity of the Eglin Air Force Base. Agent Johnsen was thrilled at the prospect of seeing possible UFO activity during our stay but it's unsure of we will see any.


“We have both types!”

After checking into the hotel and resting a bit, Kurt (Agent Johnsen for those following at home) and I then left for dinner. We drove south along 291 until it was apparent there were no eating establishments in the general vicinity. We then took a side street east then cut north along the next major road we found.

Eventually we found ourselves outside a Lone Star and a twenty minute wait.

Pensacola is basically a naval base. Pensacola is basically a rural town. Pensacola is basically in the Deep South. Therefore they listen to both types of music, Country and Western. And the Lone Star Restaurant is a hip hop happening place (but not as hip hop happening as the Olive Garden). It's so hip hop happening that every so often the wait staff break out into dance.

I'm serious. Twice while we were there, the entire wait staff broke out into a country line dance.

Stuff like that does not happen in Lower Sheol. Nor have I observed such behavior in Boston, Palm Springs or even South Bend. Then again, Lower Sheol, Boston, Palm Springs and South Bend do not have naval bases near by.

I also had the longest hair of any guy in the Lone Star. And I don't have what I consider long hair. Unlike Mark.

Saturday, August 12, 2000

Day II

OBJECTIVE:

  1. Pensacola
    • Dorr House
    • Lear House
    • Old Christ Church
    • Lighthouse on Pensacola Bay
  2. Milton - Arcadia Archeology Project

And if possible, head along I-10 back east towards Jacksonville.


Check Out & Breakfast

I awoke this morning to Kurt watching old Thundercats cartoons on the Cartoon Network. This was a uniue episode—the Mutans had managed to nearly take out the Thundercats but due to the Thundercats superior intellect and physical prowness they were able to fend off the Mutants and restore peace back to their compound.

On second thought, that sounds like most Thundercat episodes.

After showering and packing, we checked out of the Hampton. Driving along the road looking for a restaurant for breakfast we found a place called the Golden Corral, a buffet style restaurant with a western theme to it. People pile in, pay their money and gorge out on a vast array of food, helping themselves to overly generous portions of food.

It certainly had an appropriate name: Corral everybody in and make the gold (a sentiment my Dad would probably make about the place). The food wasn't bad though; it certainly beat eating at McDonald's for breakfast.

Afterwards, he headed into downtown Pensacola for the first three of our objectives.


Recon

I drove us to the Pensacola Historic Village. It just so happened that the first parking space I found was in front of the main office of the Pensacola Historical Society. I loaded up with video camera, a digital camera and a more traditional 35mm camera, along with carrying cases. As Kurt quipped, I looked like quite the tourist.

We entered the office. There we met Bob, a tour guide. Medium hight with that slighty stocky middle-age build and an easy going personality, he welcomed us to the village. Kurt told him we were there to see the Dorr House, Lear House and the Old Christ Church. Bob informed us that those were on the tour he was giving in another hour. So Kurt and I bought the tickets.

With about an hour to kill, we decided to walk around the Historic District. Looking at the map I found the three sites we were interested in, less than a block away and grouped together. We approached the Dorr House and took a look from the sidewalk, as a wooden fence blocked access to the house. The gate was closed but not locked. Across the street was a woman dressed in period clothes sitting on the porch of another old house. Kurt introduced himself and asked if we could walk through the gate. She said that if we had purchased tickets to the tour we were free to walk anywhere on the grounds but not to enter any building as they were locked.

We then spent the next hour exploring the outside of each site, then went back to the main office to start the tour with Bob.


To Build a Fire

We started the tour with Bob telling us that Pensacola is the oldest placed city in the United States, unlike St. Augustine which is the oldest continuous city in the United States, but both were started by the Spanish.

Pensacola is also the only city to fly under five flags, the Spanish, French, Brittish, Confederate and American, since the bay was very important strategically. Bob also stated that the waterfront has been expanded outward by all the ships dumping their ballast overboard when being loaded.

But our tour started with the oldest house in the Historical District—a simple box structure with a few windows owned by a freed slave woman in the late 1700s/early 1800s.

Next up was a facinating demonstration of fire building. In Florida, most of the cooking was done outside, it being way to hot to actually cook indoors for most of the year. One of the employees, dressed in period, demonstrated how they used to light fires. A patch of flax, a dry stringy material, is placed on a flat surface. On top a small piece of charred cloth is added. Then a rod of iron, curled at the ends would be placed across the top of the fingers and struck with flint. The sparks are caught by the charred cloth and the person would blow on it, catching the flax. Once the flax is burning, the bundle is then placed under the kindling of the cooking fire. The demonstration had a fire going in under two minutes, albeit with lots of smoke from the burning flax.


“Two handles to serve soup.”

Next on the tour was a duplex built in the early 1800s. The ground floor had four rooms total, two for each family living in the building. Both rooms weren't much larger than 15' by 15' and both rooms were more or less used for bedrooms (remember, all the cooking was done outside in Florida).

He also showed us the bathroom. A small stand in the corner with a pitcher, a bowl and a chamber pot. “One tourist told me,” he said, “that his grandmother used to serve soup in such a pot. I told him he should ask his grandmother how many handles were on the pot. Two handles to serve soup.”

He then showed us a bar of soap. “Made of ash and animal fat. And smells just as good too.” He handed it around the room and everybody took a whiff. Yup, smells about as good as you would think it would.

It's amazing how far we've progressed in the past two hundred years. Especially in waffle iron technology.


Dorr House

Tour guides have reported moving items only to find them moved back to their original location when they return. It is speculated that it might be one of several Dorr children, some of whom died at a young age. It might also be Clara Dorr, who had the house built. It has also been reported that people have seen a woman like figure sitting in the chair at the top of the stairs and it's speculated that the figure is Clara Dorr.

We eventually made it to the Dorr House where Bob lead us inside. Normally he isn't allowed to tell the tour group about the ghost stories in the Historical District, but since Kurt and I brought it up earlier before the tour, he threw all caution to the wind and brought up all the ghost stories.

Ms. Dorr is said to appear in the fainting chair at the top of the stairs. The fainting chair is named because at the time, women would wear corsettes and walking up a flight of stairs would leave them a bit short of breath, hence a chair for the lady to resume breathing. I took several pictures of it using both the 35mm and digital camera. I'll see if anything shows up.

It was upstairs in the daughter's room that an odd event happened. On the bed was an old book opened to this incredibly detailed illustration. I decided to take a picture of the illustration using the 35mm camera. I adjusted the camera and pressed the button, but the shutter snapped open and remained that way for nearly a minute; nothing I did would cause it to close.

I suppose it could have been a malfunction. Normally the shutter speed is adjusted automatically depending upon the apature, but quite possibly the apature was such that the shutter speed fluctuated between two choices and the electronics messed up.

Yea, that's what happened.


Old Christ Church

Three rectors (reverends) of the Church were buried beneath the church during the 1800s. During later renovation work, their graves were dug up and the three were hastily reburied just outside the church in unmarked graves. Even later, an extention of the church was built over their graves and it was only in 1988 during an archeological dig to find the missing bodies were they found.

The three bodies were then reburied beneath the church in an elaborate ceremony. There are two accounts of three men wearing white robes, carrying a black book and were barefoot also attending the ceremony.

The three rectors were buried in white robes, barefoot and each had a Bible placed with them in their grave.

We then went across the street to Old Christ Church. We couldn't go inside as there was a wedding in progress (it seems that the church is rather popular for weddings). Bob told us that the church, throughout its history, has been a church, hospital, abandoned, a library and finally a church again. Both the State of Florida and the City of Pensacola funded a restoration effort a few years ago and it was re-dedicated as a church.

Bob, again against the regulations of his post, told us about the story behind the ghosts but it wasn't much we didn't already know about and furthermore, since a wedding was in progress we couldn't investigate the inside of the building.


Lear House

The reports are mostly items being moved about with no explanation and an unknown female apparition has been sighted. No one knows who or what could be responsible for the odd occurences.

Located behind the Old Christ Church, the Lear-Rocheblave House was the last stop on the tour. It was also the last site to visit in the Pensacola Historical Village. The Pensacola Historical Society has just recently come into ownership of the house and the upstairs, where all the paranormal manifestations occur, was off limits due to restoration work. We were, however, shown about the ground floor, showing us the most modern house on the tour as of yet—around the turn of the century.

As soon as the tour was over, Kurt and I left the Historic Pensacola Village for our next planned site, the Lighthouse at Pensacola Bay.


Interlude

The next site is located on the Pensacola Naval Air Station, south of Pensacola along the coastline. We arrived at the front gate but Kurt felt that it might be better to arrive via the Back Gate as per the instructions we had to the lighthouse. That meant turning around and driving several miles around to the west and south.

We arrived at the Back Gate were we checked in, the Pensacola Naval Air Station being an open base we were allowed in with no problems. Within a few minutes we were at the Lighthouse but tours are only given on Sundays. It was quickly decided to inquire at the Naval Aviation Museum just down the road.

This museum gives the Smithsonian Air and Space Museum a run for its money. Mounted outside the front entrance is an F-14 Tomcat. Not a model mind you, a real F-14 Tomcat. Walk inside and hanging from the ceiling are four Blue Angel jet aircraft. Model aircraft carriers, several feet long, dot the front entrance hall. Walk into the main exhibit hall and you'll see various forms of prop and jet airplanes, along with helicopters. The first airplane to cross the Atlantic is housed here. A hideously ugly bi-plane, with a wingspan of 120' commands center stage.

Kurt made the inquiry and its okay to walk around the grounds of the Lighthouse but not to enter it. We decided to spend a few minutes looking around the museum and noting how several of our friends would really enjoy visiting it.

Unfortunately, not being an aviation nut like my friend Greg, I can't even remember what we saw, other than the displays being impressive.


Lighthouse at Pensacola Bay

The original lighthouse keeper, Jeremiah Ingraham (who may have been killed by his wife), is said to haunt the place. There are also reports of mysterious blood stains that can't be removed, and unexplained items being moved without cause have also been reported.

There are also locals who state that three separate ghosts haunt the lighthouse, one being Jeremiah Ingraham, and the other two being lighthouse keepers who died a normal death.

The Lighthouse at Pensacola Bay is an imposing structure, painted for the most part black. Attached to the structure on the side opposite the ocean is the keeper's house, a wooden two story structure. The Lighthouse is now fully automated so the keeper's house is no longer in use.

Kurt and I walked around the structure for a few minutes but because we could not enter the structure, we did not stay for very long.

Nor did we see any paranormal activity to investigate.


The Arcadia Project

Unexplained noises and two ghosts, possibly the orginal partners of the saw mill built on the site.

“Two men. One video camera. No map. No compass. Welcome to the Arcadia Project.”

Me, on video tape at the start of our visit to the Arcadia Archeological Project.

Several miles east of Pensacola is Milton, the location of the next site, the Arcadia Archeological Project. Looking at a local map we were able to make sense of the directions given and in the late afternoon found ourselves driving through an upscale neighborhood to a deadend.

The information given stated that appointments were required before visiting the site but both Kurt and I laughed—nothing could keep us from our appointed rounds, neither rain, nor sleet nor dark of night (well, actually, dark of night might have kept us from our appointed rounds). I parked the car next to two others there.

We walked down a trail to a T-intersection. Off to the left we could hear several people so we did something you're never supposed to do in such situations—we split the group. Kurt headed off towards the left down the path, and I headed down a boardwalk towards the right.

The boardwalk appeared to be more of a nature trail than something that leads off to an acheological dig of a potentially haunted site. Several hundred yards later the boardwalk ended, but a trail carried on. I stepped off the boardwalk, stepped around the barricade at the end and carried on. A dozen yards later I came to a set of wooden stairs, obviously older than the boardwalk behind me. I carefully made my way down the stairs, along a short walk and up some stairs leading to a ridge. From the ridge two trails snaked off through the woods and I started walking down the one to the right for a few yards before thinking better of it.

Walking back I ran into Kurt. He talked to the other people down his path and they informed him that the mill we were seeking was the other direction; the direction I picked. So we crossed back to the ridge and picked one of the paths. Each time I mentioned the current situation is similar to the Blair Witch Project Kurt would have nothing of it. Eventually we ended up on the street we came in on. Instead of walking back through the forest we walked down the street back to my car.

At the car we finally noticed a mill-like structure off to one side. Upon investigation it seemed too new—too recent to be the actual mill. We figured it must be a recreation of the mill. We then went back along the nature path to see if we could find the archeological site. We were headed towards the end of the boardwalk.

“Wait a second!” Kurt said.

“What?”

“We're looking for a mill! It won't be back in the forest. It'll be along the creek here.” He slapped his forhead. “I should have realized that.”

“Oh,” I said. “You're right.” I didn't think of that either.

Then we examined the ridge just past the end of the boardwalk. There were several stone formations that looked manmade but weathered, and covered in dirt and moss. Kurt was certain we found the foundation of the mill and the evidence was pretty compelling.

I took extensive photographs of the rock formations to bring back to our friend Tom the architect. We'll see what he has to say about them.

We then walked back along the boardwalk and took the path Kurt took earlier. This was a path, not a boardwalk but it lead to a suspention bridge made of wood planks suspended by rope strung across the creek. There were three people, two men and one girl, swimming in the stream. We exchanged hellos as we crossed and it became apparent that this was simply a nature walk as the trail lead away from the creek into the forest. We doubled back, crossed the bridge, took a side path that parelleled the creek for a score of yards then turned back towards the car.

Again, no paranormal phenomenon manefested itself in the area.

Since it was still fairly early, we decided to drive to Jacksonville on the east coast of Florida that night.


Interlude II

For dinner we stopped off at the Cracker Barrel, a predominately eastern chain of restaurants with a country theme to both the architecture and style of food and found mostly along interstates (and featured in my friend Hoade's book Ain't That America). The food is very good, if you like heavy southern cooking, which I do.

Anyway, while waiting for our food we played with the small puzzle that every table has—the Jump All Till One puzzle. A triangular piece of wood with fifteen holes drilled into it. It is populated with fourteen golf tees, leaving one hole empty. The puzzle is to leave one golf tee in the puzzle. To remove a tee you jump over it with another tee, removing the tee just jumped. I can usually get two tees left, although by “cheating” I was able to solve the puzzle. By “cheating” I started with one tee, then jumped holes and filled the puzzle in backwards.

I did that technique as well, and usually ended up with two tees I can't place.

Kurt did not fare any better.

One of these days I'll get around to writing a program to solve the puzzle once and for all.


Drivers and Computers

Kurt's driving the car and I'm in the passenger seat (weird feeling, being a passenger in my own car) typing away on the laptop, which is getting power from a transformer plugged into the cigarette lighter. It feels weird.

Just a few minutes ago we came across a small traffic jam—and it's nearly 11:30 pm. Rubberneckers, have to check out anything involving cars and flashing lights. Kurt almost ran into the car in front of us.

Our plan for tonight is to make it to Jacksonville, which is only about half an hour away.

Sunday, August 13, 2000

Day III

OBJECTIVE:

  1. Amelia Island - Fort Clinch
  2. Fort George
    • Tabby House
    • Kingsley Plantation

Prelude

I still had not managed to write about the previous day's activities and at the hotel (a Holiday Inn) the lines were busy for the BellSouth dialup lines so I couldn't update what I had to the journal. By 2:00 I still hadn't finished updating the journal but I decided I should head off to bed anyway.

In the morning we packed, checked out and after breakfast at the buffet at the hotel, we headed off towards Amelia Island.


Ft. Clinch

The fort, used by both Union and Confederate soldiers, is said to be haunted by ghosts of soldiers who haven't left the fort. There is also a report of a woman ghost who may have been a nurse at the fort. And reports of the wailings of a baby who died at the fort in the 1920s.

We drive along A1A through Fernandina Beach to the 14th St. North Extention which looks like it leads into Ft. Clinch State Park, but it turns out to be the back entrance to the park and is closed to traffic. We turn around, head back through Fernandina Beach to Ft. Clinch Road which is the main entrance.

Once through the gate, we drive along the road, lined along both sides by a deep forest of towering trees. It goes back about two miles, a dark road where one can easily imagine being chased by the Headless Horseman. It then opens up into a parking lot for the fort. I park the car and again, load up on the camera equipment and we head off towards the fort.

The fort was never finished—you can still see the foundation for the officer quarters, although the other buildings, enlisted quarters, main office, jail and guard houses, were finished, along with the outside walls and bastions. One of the bastions still had access to the top via a small twisty staircase in the wall. If you aren't careful it's easy to stumble and that's one staircase you don't want to tumble down—all stone and brick work.

Nearby the stairwell ws a window opening, a web spanning the space with a large spider sitting in the middle. I think they're known as banana spiders, a large arachnid some five inches across. Not something you want to meet in a dark alley, much less in bright daylight.

Walking around the fort we encountered, get this, no paranormal manefestations of any form.


Tabby House

Tabby House was under contruction by a local planter when he died a violent and unexpected death. His ghost is still said to haunt the house, which is just a shell. Accounts of the haunting go back to 1877.

South of Jacksonville is Ft. George, the location of the next two sites. We took A1A south, over Little Talbot Island, acorss Ft. George Inlet to Ft. George Road, just up the road from the Mayport Ferry (which crosses the St. Johns River were you pick up A1A south). A short drive up Ft. George Rd is Tabby House.

The house gets its name from the construction method. Tabby is a mixture of lime, made by burning oyster shells, sand and water. It is mixed with whole shells and poured into forms, much like concrete.

Tabby House is about 15' by 30', with two rooms, a larger room which would probably be the main living area and a smaller area that looks to be a cooking area. Throughout the walls are small holes which is a rement of the construction method—a form in which the tabby is poured and when dried, the form is extended up another foot or so and the next layer is poured. The holes are part of the frame for the forms.

We spend about half an hour investigating the site but again, no paranormal manefestations appeared.

But I guess you could guess that by now.


Kingsley Plantation

Strange feelings, poltergeist and actual sightings have been reported on the plantation. One of the apparitions appears to be the wife of the owner of the plantation, Anna Jai Kingsley, an African princess.

If I thought that the road to Ft. Clinch was looming with dark trees, then that was nothing compared to the road from Tabby House to the Kingsley Plantation. The Ft. Clinch road was paved, this wasn't; I swear the car nearly shook itself apart on the road. It was also longer than the Ft. Clinch access road. On the rare breaks in the dense forest you could see wetlands and swamp. It then finally breaks and you end up at the slave quarters.

The two dozen ruins are arranged in a semcircle. One building has been restored, but the rest are in various states of ruin, from full height to about a foot high. Each building is not much larger than 15' x 15' and most are constructed of two rooms each. The buildings themselves were all made of tabby.

While walking around the slave quarters I came across another banana spider in a web spanning two trees some ten feet apart. In my twenty years of living in South Florida I've only seen one, yet in North Florida I've seen two so far. I guess they're more common up here.

Up the road another hundred yards or so was the main plantation house, a large imposing wooden structure. It used to be two buildings, the main house and behind it a smaller kitchen house but now there was a covered walkway between the two, home to yet another banana spider. That made three.

But yet again, no paranormal manefestations.


Move Along

After leaving the Kingsley Plantation we then drove about an hour south to St. Augustine. We checked into the hotel (a Quality Inn this time) and then had dinner at a local restaurant, Schooner's. The food was good but the man at the table next to us was very annoying, mainly complaining and presenting a poor role model to his son as Kurt mentioned afterwards.

We then retired to our room to catch up on our respective journals.


Exposure

This was the first time I saw the Sci-Fi Channel. Kurt wanted to watch a particular show, Exposure. He thought the show was the one honoring George Lucas, but that was still over a week away.

But the shorts we did see where intriging, including a ten minute Die Hard in a car trunk.

Monday, August 14, 2000

Day IV

OBJECTIVE:

  1. St. Augustine
    • Castillo De San Marcos
    • St. Francis Inn
    • 46 Ave Menendez
    • Light Keeper's House

And if possible, head over to Gainsville for the last scheduled site.


A change of plans

“We made a mistake!” Kurt yelled this morning.

“What?” I was still slightly groggy from just being awakened.

“We made a mistake! One of the sites we're visiting is an inn! We should have stayed there last night,” he said.

“Oh.”

“What do you say we stay one more night in St. Augustine. We stay at the St. Francis Inn. What do you think?” Kurt asked.

We were doing well time wise; it wasn't taking the week I expected it to take. One more day wouldn't hurt us. “Why not? But better call first to see if they have any rooms available,” I said.

Kurt picked up the phone and called. He talked to the owner, Tom, for a few minutes then asked about the rooms. Then he turned to me. “They only have two rooms available,” he said to me. “But the two rooms are the haunted ones!”

“Get them,” I said, getting interested.

“Okay.” He then made arrangements for one of the rooms. I guess we'll be staying another night in St. Augustine.

We then made plans for the day. Check out of the hotel, then hit Castillo De San Marcos, the main fort in St. Augustine. Then lunch at 46 Ave Menendez, which is also known locally as Harry's Seafood Bar Grille. After lunch, check into the St. Francis Inn, then hit the Light Keeper's House.

Then, off to Castillo De San Marcos.


Castillo De San Marcos

In 1833 a sealed off section of the fort was opened up and two skeletons were found, as well as the smell of perfume. It was thought that the skeletons were the wife of one of the commanders of the fort from the 18th century and the other was her illicit lover.

Since then, reports of a glowing and the smell of perfume from that part of the fort have been numerous.

Castillo De San Marcos was easy to find—off the main street in St. Augustine; you can't miss it. It was interesting going back to the fort, for I had been there once before twelve years earlier. I remember not paying to enter the fort, nor were all the exhibits there twelve years ago.

We paid our money, and entered the fort. Kurt was worried that we might not see the part of the fort where the paranormal manefestations occured but in going through the fort we came across the site.

You enter a room from the outside, enter another room and through a doorway is a long room that was used to store munitions—this was the room, barely lit by the light of a low-wattage bulb (of course, such luxuries didn't exist back in the 1700 or 1800s). I recorded the room, but I won't know the results until I get back to Lower Sheol for a thoural examination, but while we were there, we didn't notice any paranormal manefestations.

We spent some more time examing the fort but we got what we came for.


46 Avenida Menendez

One story is that the ghost, known as Bridgette, was a victim of an earlier fire. Another story is that Bridgette hung herself in her room, years before it was a restaurant. She still manefests at times in her room, which is upstairs.

Kurt and I arrived for lunch. Seated, we discussed when we should ask the staff about the ghost; after some discussion it was felt we should order and pay for lunch first, then ask in case we were escourted off the premises.

After lunch, we approached the bar tender and Kurt asked about the haunting. We were then informed that indeed there were stories and that the ghost was floating around upstairs in her old room.

Of course, Bridgette's room is now the ladies room for the upstairs portion of the restaurant.

Kurt asked if we could check it out, and the bartender said we were free to check it out, provided we knocked on the door first. We headed up stairs and made our way back to the restrooms. Kurt knocked on the door and asked if anyone was inside. A voice from inside indicated it was being used so we backed off and waited a few minutes.

Once the restroom was vacated, we entered. It was easy to see it as a bedroom; it was big enough to be a room. But I did not bring any photographic equipment with me, and again, there were no paranormal manefestations to be seen or felt. A minute later we left.


St. Francis Inn I

At least one ghost, Lilly, possibly a young black girl dressed in white, is said to haunt room 3-A of the Inn. Multiple people have claimed to have seen a female presence in the room. There are also reports of poltergeist activity, as well as unexplained noises and voices throughout the building.

And guess what room we're staying in tonight?

When we arrived right after lunch, Tom, the current owner/manager, said the room wasn't quite ready for us but if we were to come back an hour or so later, it should be ready. We thanked him and decided to check out the last site on our list, the Lightkeeper's House.


Lightkeeper's House

Many bizarre and unexplained accidents have happened around the lighthouse. Also a ghost has been reported by several people but it's unclear if it's a man who hanged himself in the lighthouse in the 1930s or one of the earlier lighthouse keepers who died while painting the lighthouse in the 1850s.

The lighthouse can be seen from quite a distance away, but actually finding it was a bit tricky. Parking was also a bit difficult, the parking lot in front of the lighthouse being way too small.

We arrived and purchased the tickets required to climb up the lighthouse—219 steps up 165 feet. Kurt and I then started the climb. There are eight landings within the lighthouse, the stairs making a half-circle to the landing, which almost fills half the width of the lighthouse. I video taped our ascent up the stairs, pausing on each landing to take a picture downward, marking our progress upwards.

But I have a fear of hights, and at the last landing before the top had to stop. I could not make the final ascent, my vertigo nearly overtaking me. I gave Kurt the digital camera and spend the next few hellish eternities making the descent down the stairs and rushing out the entrance to sit down and spend another few hellish minutes calming down.

Ghosts, I can handle. Heights—that got to me.

I didn't stick around to experience any paranormal manefestations, but given the number of people around, I doubt there would be any and as usual at all the sites, the staff are relunctant or not allowed to talk about the hauntings unless asked first.

On the ground, I listened to a small girl, under age seven, ask her mother repeatedly why she couldn't climb the lighthouse. The mother kept telling her that she was too young to climb the stairs, seven years being the minimum age. A few minutes later her son, not much older than seven, appeared at the entrance, sweating. Like myself, he was named Sean, and he too, didn't make it to the top, it being way to high for him.

Several minutes after that, Kurt walked out, having made it to the top and taken several pictures from there that I've yet to see.

We then headed back to the St. Francis Inn.


St. Francis Inn II

We arrived back at the St. Francis Inn and were able to check in. Tom informed us that the price of the room included breakfast in the dining room, breakfast being served from 7:30 to 10:00 am. He also held a informal gathering in the dining room between 5:30 and 6:30 pm for guests to meet each other and converse. Also available to the guests are complementary coffee, tea (both hot and iced) and water. Guests can simply walk downstairs and partake of any aformentioned beverage anytime, provided they are available.

He then showed us to room 3-A, Lilly's Room.

We walked up two flights of stairs. The stairs have this odd perspective that is best not dwelled upon least you miss a step. It's more noticible going downstairs than up. Our room is at the top of the stairs.

One of the first impressions of the room is the lack of square corners. In fact, looking at the building as a whole you realize there is not one right angle corner in the building at all. Even the doors are trapezoidal in shape, but not enough to give it a true Alice in Wonderland appearence, but enough to give it an odd feeling. The room itself is trapezoidal in shape, white walls with green trim and deep red carpeting.

Kurt and I spend an hour or so relaxing in the room before going downstairs for the social.


Social Activities

Around 6:00 pm Kurt and I walk downstairs and enter the dining room for the social gathering. Provided for the guests are orderves and beer (American). There were two couples already in conversation; Kurt grabbed a bear, I an iced tea and we sit down at a nearby table to listen in.

Perhaps fifteen minutes later, the younger of the two couples excuse themselves and leave for dinner. Kurt then engages in conversation with the remaining couple, a pair of retirees on their second visit to St. Augustine from their home in Jupiter, Florida. The gentleman used to work in a television studio but it's never made clear in what capacity. I think his wife was a teacher and the talk soon turned to our themed vacation of haunted house hunting and later, to Kurt's career as a high school English Teacher.

Perhaps a half our later the older couple decided it was time for dinner and we left for dinner.


Columbia

Kurt and I went to the Columbia, a Spanish restaurant that is a central/northern Florida chain of about six restaurants, headquartered in Ybor, Florida. The food is excellent, abundant and a bit pricey but well worth it. The restaurant in St. Augustine is in the Spanish Quarter, several blocks long running parellel to the ocean, one end starting across the street from the Castillo De San Marcos.

I had trouble finding a close parking spot so we ended up parked on a residential street several blocks west of the Spanish Quarter. A fifteen minute walk brought us to the restaurant. Afterwards, we walked back to the car, finding it quite easily, but I got turned around driving back to the Inn, finding myself driving south along US-1 for about five minutes before getting my bearings and turning around.

Fifteen minutes later we were back at the Inn.


An American Experiment

While catching up with documenting the trip, Kurt and I came across an episode of Behind the Music on VH1 about the Monkeys. “Stop it here,” I told Kurt so we left it there. Afterwards was a VH1 movie about the Monkeys and we figured it was as good as anything and watched that as well.

After the segment were the Monkeys meet the Beatles in London, Kurt turned to me. “The Beatles invited the Monkeys in order to feel them out,” he said.

“What?”

“The Beatles biggest competition at the time were the Monkeys. So they invited them to feel them out, see what their strengths and weaknesses are. If they come across as unsure of themselves, then there is no competition.” Made sense, even if the Monkeys themselves didn't see that.

Later on when the segment about the Monkeys' movie Head and how Jack Nicholson was involved, Kurt turned to me again. “They were an experiment.”

“In what way?”

“To see how far they could go in making a psychadelic movie. How far they can go, to see what the limites are. Later on, Easy Rider comes out,” he said.

“Ah,” I said. “So that explains why Jack Nicholson was there.”

“Precisely.”

Tuesday, August 15, 2000

Day V

OBJECTIVE:

  1. Gainsville - Devil's Mill Hopper

Afterwards, head back to South Florida for analysis of accumulated data.


Recap

Before going to bed, I set up the video camera to record the room in case any manefestations happened. I had three extra tapes, each two hours so we could have a potential of six hours of recorded material but we both neglected to change the tapes after the first one so we only have two hours, between 1:30 and 3:30 am. But I didn't experience any paranormal manefestations. I asked Kurt.

“Sleeplessness. People were banging doors, opening and closing them. I didn't investigate though,” he said. But other than that, he didn't experience any paranormal manefestations either.

We checked out and headed back to Gainsville for our last site.


Cracker's Swamp Dirt Road

From St. Augustine we drove south alone I-95 to State 207 west, a two lane rural highway that lead us through such metropolitan areas like Elkton, Armstrong, Spuds and Palatka. And roads such as Cracker Swamp Dirt Road, not to be confused with Cracker Swamp Road.

Kurt has an account with BellSouth.Net, an ISP. In Jacksonville all the lines were busy and in St. Augustine … well … BellSouth has no point of presence in St. Augustine.

But Palatka! There's a POP in Palatka of all places. Spuds! You could hook up to the Internet in Spuds! Downtown Spuds consists of a gas station. I think. I don't know, we passed through Spuds in under a minute.

We also passed through Putnam Hall, where there is neither a hall, nor a putnam. Orange Hights was a busling megaopolis of a town—several buildings making up an obvious downtown area.

But no Internet service from BellSouth.Net in St. Augustine. Kurt's theory: “They're trying to preserve their heritage.”

Yea, right.


Devil's Millhopper

The Devil's Millhopper is a large sinkhole, 117 feet deep and about 500 feet across. The name comes from the shape of the hole, resembling the funnels used in mills to feed the grain into the millstone, and the fact that numermous bones and skeletons of animals have been found along the sides and bottom, leading many people to think that the Devil opened up a hole to suck all down to Hell.

Other than that, that's it.

The Devil's Millhopper is located in northern Gainsville and as haunts go, there are none. But as a nature walk, it's impressive. There's a boardwalk leading down about 100 feet to the bottom and halfway across. It's a large deep bowl like formation.

Sinkholes are caused by rainwater seeping through the ground, where it filters through old rotten vegetation where it turns into a very weak acid. The bedrock of Florida is primarily limestone, a rather porus rock that reacts with acid readily. The limestone is eaten away, leaving a large cavity underground that will eventually collapse under the weight of the ground above.

And that's what happened with the Devil's Millhopper. The primary sink hole was made approximately 15,000 years ago, but recent openings have happened in the last millenium, one possibly a hundred years ago.


Homeward Bound

After lunch at a nearby cafe (The Millhopper Cafe) we started on our way home, with Kurt driving the first leg. So I'm currently updating the journal on my laptop as we drive along Florida's Turnpike.

We're about three to four hours from home at this point.

Thursday, August 17, 2000

405 The Movie

So how did two filmmakers manage to land a DC-10 on a busy LA freeway?

How did they put their 89 year-old actress in the driver's seat when she had never driven before?

And how did they create this entire piece on desktop computers in just three months of their spare time?

Here's how…

405 The Movie. The story of the wrong guy—in the wrong place—at the wrong time.

Incredible. Just goes to show you what two guys, three months and several computers are capable of doing.

Saturday, August 19, 2000

An Early Call

Ring.

Something. There's something going on.

Ring.

It's slowly percolating through my head that something is going on.

Ring.

I realize it's the phone. I roll over, nearly out of bed, reach for the phone on the floor and answer it.

“Get up!” my friend Greg said. “It's noon! Time to get up!” I mumble something incoherent even to myself. “Get up! Meet me at my office at 1:00,” he said. I mumble something incoherent to myself, hang up and wonder why I even agreed to meet him for lunch at such an unreasonable hour.

It's a quarter to one and I'm just about ready to leave when the phone rings again. It's Greg. “Change two to plan B,” he said. Of course, plans change. “I'll meet you outside.”

“Where?” I said. “Here? My house?”

“Yup. Be ready.” And with that he hung up.

A few minutes later he's honking the horn and I'm stumbling out the door. “I figured it would be easier if we carpooled,” he said. So we drove off to his office to meet the rest of our group. We're late arriving to his office, but we were still the first ones to show up. I've known Greg since high school and right now he works for IBM as a system administrator. Martin shows up next. I've known Martin since high school as well, and he works for the Coast Guard as a tactical instructor. It's always fun to listen to his stories. Then Tom and his fiancé show up. And I've known Tom since elementary school. He's currently an architect but he eventually wants to enter the FBI. Kurt then showed up.

We head over to the Ft. Lauderdale Executive Airport to eat at the diner there (good food). Afterwards we head up north to Boca Raton to play miniature golf at Boomers, an arcade next to FAU.


You thought commercial airlines were cramped …

While driving to Boomers we saw an odd looking plane land at the Boca Raton Executive Airport. Greg was excited. “That's my Dad's plane,” he said, point to the landing aircraft.

“Your Dad is flying that airplane?” asked Tom.

“No, but that's his plane. Or rather, a plane he flies,” said Greg. Greg's Dad is a licenced pilot (and even flew helecopter missions in Vietnam) and now works for AvWeb, a avionics centered website. The plane we saw landing is used often by his Dad. “But it looks bigger flying than on the ground,” said Greg, refering to the plane.

After spending some time at Boomers we headed over to the Boca Raton Executive Airport just down the street. He stopped at one of the offices, got the keys to the plane, then drove out on the tarmac over to the plane.

It's not a big plane at all. A large bulb comprises the cockpit and it narrows down to a slender pipe perhaps two feet across to form the rest of the plane. The wings are below the cockpit and the plane was tied down to the tarmac, like the rest of the small planes parked there.

There are two seats in the cockpit, but its like backseats in sports cars. Yes, you technically can fit two people in there, but unless you're a horse jockey, you aren't going to be very comfortable. The cargo space consisted of a small cavity behind the two seats.

Did I mention the plane was rather small?

Tom and Kurt crammed into the cockpit for a few minutes, then Greg and I crammed in, closed the cockpit and Greg spent the next several minutes trying to get the plane started.

He got it started only to have this horrible flapping sound emenate from the plane. Outside Tom, Keller and Kurt were trying to get our attention—it seems my seatbelt was hanging outside the cockpit, flapping against the side of the plane in the backwash of the propeller. Greg stopped the engine, we opened the cockpit, I pulled the seatbelt in, and we repeated the procedure.

Not only is it cramped, but loud. Greg said the plane is used for training, which explains the two sets of pedals and joysticks and possibly the cramped conditions.

I'll fly the commercial A320s over this anyday (last year I had the opportunity to fly an A320 simulator used to train pilots. It's amazing how simple modern commercial airplanes are to take off, fly and land—something I've never been able to do on PC flight simulators).


Ceol agus craic

Later in the evening Tom, Keller, Greg, Martin and I headed down to Beach Place, a shopping center in Ft. Lauderdale located across A1A from the beach to eat at the Irish Pub there (I've forgotten the name, but it's the only Irish Pub at Beach Place). We arrived just in time for the Irish band “Fire in the Kitchen” to start playing.

Even though by that time I had a headache and wanted nothing more to do than go home and sleep, as the band started playing my spririts lifted and we had a good time. One of the waitresses there gave a demonstration of Irish Dancing, which she made seem easy but don't let that fool you—it's got to be harder than it looks.

During the band's break, a couple came up and played a few songs on bagpipes, which I think were inventedin Irland and imported over to Scotland (as a joke they haven't gotten yet, said the leader of the Irish Band). The man was wearing a kilt, and the woman was wearing jeans (I'm not sure if that's ironic or not, but it was amusing).

Bagpipes are loud. Very loud. Perhaps it's loud in order for the sound to carry across moors but in an enclosed space, and being at a table next to the couple playing the bagpipes, it was very loud.


Asault on a Federal Officer

Keller accidentally spilled some salt on Martin. He replied “You know that's a salt on a Federal Officer.”

Okay, so maybe you had to be there …


Quakefest

By 11:30 pm we left the Irish Pub and drove back to Greg's office where we met earlier in the day. Tom and Keller left for home. Martin, Greg and I then went to pick up our friend Larry and we spent the next several hours playing Quake till the wee morning hours.

Monday, August 21, 2000

Connectivity Blues

I learned last week that my connection to the Internet, my dedicated and I don't pay for it connection to the Internet, may be going away soon.

Currently, it's a sweet deal—my provider, Atlantic Internet, is kind enough to pay for my ISDN connection, 32 static IP addresses and a colocated server at their facility, and in return I help out occasionally, fixing the occasional network problem (routing, DNS, etc) and general consulting when they need it.

I use half the addresses here at my home location, and the other half are used by Mark on his home network; our two networks are connected via a dedicated PPP link. As it is, I'm the only one locally among my friends (well, except Mark) with a WAN.

But all that may change. When, I don't exactly know, but at the outside I'm looking at two months, maximum. Mark just called and said he's been looking into getting DSL. And fortunately, he just found a company that will provide him with a connection via Boca Teeca.

The problem Mark has is that while Boca Teeca is across the street (more or less) from Mark, that is not a CO. Mark's CO is Boca Main, over four miles away. A border issue, you know, the so close yet so far type thing.

So finding a company that will hook him up to Boca Teeca is real good. Yet trying to get static IPs are impossible, or very expensive. But it's not like I don't have resources available. There exists the very real possibility of us getting an entire C-block of IP addresses for our own use. A portable (i.e. one that can be rerouted and is not tied to any one provider) C-block.

Talk about rare.


Connectivity Blues II

Mark has been calling around and it seems that if we were to provide our own network block, it costs more. One place quoted him $350 a month if we provided our own IP addresses.

$350/MONTH!

I can see something like $350 to set up the routers to route the block, but once it's set that's it. It's not like it's that much overhead but since such a request falls outside the standard template that most of these companies seem to use, they probably feel they can charge outrageous fees.

And then there are the various DSL horror stories I've heard of, where it takes months to get DSL installed.


ISP Profitability

Months ago Mark and I had a conversation about ISPs and the services they offer. At the time, Atlantic Internet, my current provider, was not pursuing the home dialup market and I could understand why. While it's a steady revenue stream, it's the tech support that eats into any profit the company might get (and the tech stories that you hear about—they're true). But get mostly corporate customers, you can really charge and then the tech support doesn't eat into the profits.

But Mark kept arguing that Atlantic Internet shouldn't give up the home dialup market. But another argument against the small ISP are the likes of BellSouth.Net and Adelphia Cable. The former is a subsidiary of BellSouth, one of the BabyBells so they pretty much own the phone lines down here, and Adelphia, well, a cable company has pretty much the same coverage (more or less) as the BabyBells, and how can you compete with cable modems?

Mark and I seem to have a difference of opinion in the area of ISP profitability. I don't think they are, and Mark does.

00:31:02 [Mark]: So I don't think the ISP makes that much off you by the time they are done.

00:32:49 [Sean]: But it's not much better with regular dialup lines, what with paying the phone company and the equipment needed (not to mention the upgrades—I remember [ISP] customers screaming for 28.8 even before 28.8 was standardized between modems)

00:34:34 [Mark]: Exactly. That's what I'm talking about. So that's why there is about as much incentive to sell DSL as there is dialup lines. Which is why I never liked the “we don't do dialup” attitude. The reason being that if everybody hosts web pages it won't do much good if nobody can browse them.

01:24:16 [Sean]: Perhaps I am. But I'm still not entirely convinced a local ISP can be profitable.

01:25:31 [Mark]: My argument is that a local ISP, run with the correct know-how can be. The problem is that tech guys don't know about the know-how. That is something you need to find customer service reps for.

Something neither company probably has. Sales, Marketing and Tech aren't the only things.

01:26:25 [Mark]: I would be more tempted to hire a Wal*Mart employee for ISP tech support than a person with a clue. The person with the clue may know more than the Wal*Mart person, but the Wal*Mart person will make an angry customer a happy customer.

I don't think anybody at either company got that.

Tuesday, August 22, 2000

Connectivity Blues III

It's depressing. The more Mark and I look into DSL and/or ISDB providers, the worse it looks. I started looking for companies that service the 954 and 561 area codes, but most of them seem to be large companies with entrenched bureaucracies that charge exhorbatent fees for anything out of the ordinary, or virtual ISPs which don't exactly exist anywhere but are run by a guy out of a closet in Saranac, Michigan.

I did find one company that seemed promising, Flips.Net, out of West Palm Beach, Florida. I called, but had to leave a voice mail message. I even filled out the web form for DSL and have yet to hear back from them.


“I'm suing myself because I sued myself.”

MP3Board is currently getting sued by the RIAA for copyright infringement by distributing MP3s. MP3Board has turned around and sued AOL because their subsidiary, Nullsoft created Gnutella. MP3Board wants AOL to share some of the liability for music piracy if MP3Board is found guilty. MP3Board's reasoning is that piracy wouldn't be happening as much if AOL's subsidiary hadn't created Gnutella.

Clari fication on Slashdot story about the ongoing shenanegans about MP3.

Need I say more?


Exchange Blows

Spring reported a problem with the CGI scripts I wrote for her oneline journal. It seemed that the email interface somehow failed and bounced her entry back to her.

Upon investigation (and clarification) it seems that email sent from her job bounces back, but not from her Yahoo account. Her job uses Microsoft Exchange and for the life of me, I can't replicate the exact error.

I did update the code I wrote to strip out signatures from email (like the type that Yahoo always add to the bottom of messages) so they don't show up in the journal. Easy enough to add.

Wednesday, August 23, 2000

Exchange Blows, and here's why

I found out the problem Spring was experiencing with Exchange. Here's the email I sent her describing the problem:

It was thus said that the Great Spring Dew once stated:

Did the copy of the message that I forwarded you have the full headers on it? In case not, here it is. Maybe this will help.

Got it! I figured out what Exchange is doing that is causing this. Leave it to Microsoft to break SMTP this badly. Grab some popcorn and watch (lines with “>” are what I type, and lines with “<” are the computer's response):


  >     telnet tower.conman.org smtp
  <     Trying 208.235.96.122...
  <     Connected to tower.conman.org.
  <     Escape character is '^]'.
  <     220 conman.org ESMTP Sendmail 8.8.7/8.8.7; Wed, 23 Aug 2000 15:05:58 -0400

Okay, here I connected (manually) to my mailserver. After a quick


  >     helo linus.slab.conman.org
  <     250 conman.org Hello spc@linus.slab.conman.org [208.26.72.3], pleased to meet you

To initialize the connection, I then did:


  >     expn ------@conman.org
  <     250 <|/home/spring/bin/connected@conman.org>

Then, I did the following:


  >     mail from:<------@conman.org>
  <     250 <------@conman.org>... Sender ok
  >     rcpt to:<------@conman.org>
  <     250 <------@conman.org>... Recipient ok

Okay, this tells the mailserver who the mail is from, and where it's going to. Then the actual message itself:


  >     data
  <     354 Enter mail, end with "." on a line by itself
  >     From: ------@conman.org
  >     To: |/home/spring/bin/connected

Notice the To: line. I think what Exchange is doing is substituting the given address (——) with the expanded address (/home/spring/bin/connected), trying to be “helpful” but blowing the entire process up.


  >     Subject: This is a test
  >     
  >     This is a test.  It won't go through.
  >     .
  <     250 PAA03898 Message accepted for delivery
  >     quit
  <     221 conman.org closing connection
  <     Connection closed by foreign host.

And the message is accepted, but during processing will be rejected and a message bounced back.

Nice, eh?

-spc (Bloody Exchange … )

Informing Mark about it, he thinks (much to his regret) that Exchange might be allowed to do that as part of the SMTP protocol. I'll have to check up on that and see.


Sendmail Blows, and here's why

My my my … it looks like sendmail might be the culprit here, not Exchange. As per RFC-821:


      "User name" is a fuzzy term and used purposely.  If a host
      implements the VRFY or EXPN commands then at least local mailboxes
      must be recognized as "user names".  If a host chooses to
      recognize other strings as "user names" that is allowed.

      In some hosts the distinction between a mailing list and an alias
      for a single mailbox is a bit fuzzy, since a common data structure
      may hold both types of entries, and it is possible to have mailing
      lists of one mailbox.  If a request is made to verify a mailing
      list a positive response can be given if on receipt of a message
      so addressed it will be delivered to everyone on the list,
      otherwise an error should be reported (e.g., "550 That is a
      mailing list, not a user").  If a request is made to expand a user
      name a positive response can be formed by returning a list
      containing one name, or an error can be reported (e.g., "550 That
      is a user name, not a mailing list").

RFC-821, § 3.3. VERIFYING AND EXPANDING


         EXPAND (EXPN)

            This command asks the receiver to confirm that the argument
            identifies a mailing list, and if so, to return the
            membership of that list.  The full name of the users (if
            known) and the fully specified mailboxes are returned in a
            multiline reply.

            This command has no effect on any of the reverse-path
            buffer, the forward-path buffer, or the mail data buffer.

RFC-821, § 4.1.1. COMMAND SEMANTICS

From my reading, it seems that sendmail should not be sending back the program name, but rather, it should just return the email address passed in.

This is not good …

Thursday, August 24, 2000

Making money

During our weekly business dinner meeting (there's a group of us working on a website) Paul (one of the partners in the venture) mentioned one of his other websites that pulls in $1,500 a month revenue and he does absolutely nothing at all.

There are other people providing the content, other companies handling the billing; all he does is collect monthly checks. Mark and I pressed for details. Heck, I could stand to use an extra $1,500 a month for doing absolutely nothing.

It all derives from generating traffic through his site from your site. The more traffic you generate towards his, the more money you make. Granted, the sites are porn related, but really, the porn companies are the only ones that make any money. Sad, but true.


Street Programming

After the weekly business dinner meeting, we gathered outside the restaurant (in Mizner Park in Boca Raton, Florida) on a bench next to the valet parking, found a power outlet and plugged in Rob's laptop so he could show us some Flash-5 work he's been doing for the website we're working on.

Fairly impressive stuff and as we discussed things, Rob, Mark and I hung around working on adding some functionality to the demo. This was Mark and I's first real look at the scripting language behind Flash-5 and in the two hours we were sitting on the bench Mark managed to implement an idea that Rob wanted.

We also attracted a rather large crowd of people watching us hack away on Flash. Throughout the evening, Mark was pestered by a guy from secretSeal, trying to hire him and offering him stock options in the company.

It was only afterwards did I realize we should have placed a hat down in front of us to collect tips.

Maybe next time we do the Street Programmer thang …

Friday, August 25, 2000

Up is down, and black is a lighter shade of white

I'm trying to find out what exactly is going on with my provider, Atlantic Internet. So that end, Rob and I had lunch with Shane, a friend that still works there. I also talked to my friend Chuck (who is Shane's boss at Atlantic Internet).

After talking to the both of them (separately) I have no idea what's going on. The stories don't mesh and I'm very pessimistic about the whole thing.

Monday, August 28, 2000

“We're the phone company. We don't have to care.”

In my quest to find another provider in case I loose my current one, I finally found out who my cable company is: AT&T Cable Services.

I checked their webpage and even if I agreed with their Terms of Service, service isn't even available where I'm living.

Hah!

Velotel.com is looking better and better all the time …


Miscellaneous events at a mansion

I finally heard from John, the paper millionaire of a dotcom. I haven't seen or talked to him since his birthday (in fact, no one really heard from him since—he seemed to have just fallen off the face of the planet). I had sent him an email asking if he could host DNS for conman.org and earlier in the day finally got email from him.

He had no problem hosting DNS for me (well, me and Mark). So this evening I headed over to his house.

The re-landscaping of the backyard is done. And his 8,000 gallon salt water aquarium is nearly finished and the sound system throughout the house is nearly done—the last of the installation is scheduled for tomarrow.

Mark and I worked on setting up DNS and the plan is for me to change the nameserver records for conman.org to point to his server for primary, and kill9.org for secondary (which is my roommate's colocated server).

He also handed me and Mark a Belkin Omni View Pro 8-Port switch. It allows you to connect a single keyboard, monitor and mouse to eight PCs. To use it, I'll need to rearrange the entire Computer Room but it will shut up Mark. He's been on my case for using the Windows box to browse the web using Internet Explorer. But the monitor on my Linux box is junk and IE on the Windows box is faster and I like the way it handles bookmarks over Netscape. Besides, the monitor on the Windows box is better (and I can't move it to the Linux box because of a project I'm working on under Windows would be painful on a smaller monitor).

But now I'll have no excuses.

Tuesday, August 29, 2000

The Video Switch Yard

I spent the better part of the day reorganizing the Computer Room so I could use the Belkin Omni View Pro John the paper millionaire of a dotcom gave me yesturday. Heck, I'm still cleaning up.

So far I have three machines hooked up to it—my primary Linux machine linus, the network monitor area51 and the Windows box, killjoy. It works great but there are a few gotchas I've come across.

The first is that it will work without being plugged in, but to actually drive the monitor you need the Belkin unit plugged in. Makes sense, in that there is probably a simple embeded system in it to generate the menus and allow you to switch consoles via the keyboard.

The other glitch involves the Logitech trackball I use. With it plugged into the Belkin, the Windows box works fine, but the Linux system doesn't see the mouse at all. Annoying but everything else works wonderfully.

So I have two mice next to the keyboard—the Logitech plugged directly into the Linux system, and a regular mouse plugged into the Belkin (for the Windows system right now).

My roommate Rob is seriously considering getting one. I think he's jealous.

Wednesday, August 30, 2000

“Like, is this a trick question or what?”

I'm in the Computer Room when the phone rings. “Hello?” I answered.

“Dude,” said Jeff C, a client of mine. “Where are you?”

“I assume this is one of those rhetorical questions, right? I mean, we're talking, aren't we?”

It's nice that I have clients whose sarcasm hasn't atrophied.


Scrambled Eggs

My client Jeff C invited me out to a dinner meeting at a Japanese restaurant, Ichiban's. I normally don't care for Japanese food but as long as there's something besides miso soup and sushi (which I affectionally called “bait”) I'll go.

Especially if I'm not the one paying for it.

So we're sitting at the table, type type of table where they cook the food for you right there and the cook is standing on the other side when he tosses this egg up in the air and catches it with a spatula. It's not broken mind you. He then flicks the egg in the air and catches it again with the spatula. He does this about a dozen times, working up speed when snick the spatula goes vertically through the egg cleaving it in half and spilling the contents onto the cooking surface sending the shell to either side.

I wonder how many eggs one has to break to perform that particular cooking maneuver?


Ouch

At dinner, my client's boss is telling us various stories about being a doctor. He goes on to relate that one time while eating at a similar Japanese restaurant with table top grills that a gentleman sitting across the table from him suddenly knelled over and whap! his face hits the cooking surface. The doctor leaps up to help the man who's face is now cooking only to encounter some difficulty in getting the gentleman up as his face is stuck to the table.

Ouch.

Thursday, August 31, 2000

Greece in three lines or less

Last month (July 21st to be precise) I received an email from my cousin from Michigan wanting to know if he got the right Sean Conner. He did and I immediately wrote back to him.

Today he replies back with a three line reply informing me of his three week vacation in Greece.

Not that I expected him to respond to email while on vacation, but during the week prior to leaving I would expect someone to check their email at least once a week. Especially since he's been using computers about as long as I have.


Over fifteen million pages right here …

The publicly indexable web contains an estimated 800 million pages as of February 1999, encompassing about 15 terabytes of information or about 6 terabytes of text after removing HTML tags, comments, and extra whitespace.

Accessibility and Distribution of Information on the Web [Steve Lawrence, Lee Giles, NEC Research Institute]

I've been thinking recently about the definition of a webpage (only because the work I've done may redefine what people consider a webpage. Maybe. We'll see). A quick scan of Conman Laboratories revealed 234 files that constitute what is commonly called a webpage. 234 pages is something like 0.0000003% of the indexed web (as of February 1999). Not a significant portion.

But that's only the part you see under www.conman.org. It took awhile to calculate, but bible.conman.org has 15,620,753 pages. Yup. A lowly 486SX-33 is serving up over fifteen million pages, which works out to be almost 2% of the indexed web.

That is, if it was indexed.

But still, fifteen million pages isn't anything to sneeze at. Even more amazing is that these fifteen million pages only consume something like 5M of disk space. Uncompressed. Not bad for a bunch of two bit pages, eh? (That's a joke. A rather bad joke based upon simple math but anyway … )

Basically, those 15,620,753 pages are nothing more than 15,620,753 partial ways of viewing one single work, the King James Bible. There isn't anything else comparable to it on the web.

Sure, there are online bibles were you can pull out a verse, chapter or book, but none that I know of allow you to arbitrarily select which portions to read [1], which starts to stretch the definition of what a webpage actually is.

And for the record, one of the “pages” is a file telling the various search engine indexers not to index these pages.


But it could be more …

Technically, I don't allow any arbitrary portion of the King James Bible, otherwise I would be serving up 483,682,754 pages (which, if it was completely indexed, would constitute over 50% of the indexed web). There are reasons, mostly pragmatic reasons (it is a 486SX-33 after all) why I disallow purely arbitrary sections.


Just for old times sakes

Mark, Kelly and I, along with JeffC (a client of mine) and John the paper millionaire of a dotcom, ended up seeing Crazy Fingers for the first time since John quit the band.

It wasn't nearly as crowded as the last few times I've seem him play. And the band just sounded different, even though the only lineup difference was the keyboardist.

Friday, September 01, 2000

Flashy Interfaces

I got together with Rob (another Rob, not my roommate), a graphic designer to help him design an interface in Flash-5. One of the things we worked on was sending information from the server back to the Flash … animation? Interface? Thing-a-ma-bob? I'm not entirely sure what to call it … applet maybe but that's usually reserved for Java.

While Flash is an interesting application (even Mark is doing Flash) it really isn't suited (in my opinion) for major user interfaces like what Rob is trying to do; there are still too many bugs in the Flash-5 player (for instance, variable text can't be rescaled on the fly) and the Flash-5 development environment.

And Mark's assesment that the Flash-5 development environment as being annoying is true—I had a hard time figuring out how to navigate my way through the system (“Okay, where was that code we just wrote? No, it's not that button … @@%##$@$@# select the text box you #@#$@#$@ … okay where's the list of objects again? Okay, there's the list now where is the text box? Aaaaiiiiiiieeeeeeeeeee!”).


Impressions

Rob the Graphics Designer was amazed at two things I did while at his house. The first is my ability to log into my home computer from anywhere on the Internet (that, and the ability to retrieve files from my home computer from anywhere on the Internet). Rob has never really used a multi-user system before and I think the concept of controlling a computer remotely isn't in his experience. Then again, he is a graphics designer, not a computer programmer or admin.

The next thing he was amazed at was my writing code. He was amazed the last time Mark and I coded on the fly (as it were) and this time he was equally impressed (fifteen minutes to write a C program to feed his Flash-5 interface he was developing, including time to type the code in locally on his machine, uploading it to my server, compiling and testing).

I was equally impressed with his setup: a dual headed Windows box (I had no idea Windows could support multiple displays—X Windows has had this ability since 1987) on a nice fast machine. I was also impressed with his ability to navigate through the arcane interface of the Flash-5 development environment.

I guess it's easy to be impressed with stuff you aren't familiar with.

Saturday, September 02, 2000

Quake 2 Goodness

(Technically I left the house yesturday around 11:45 pm, but the events that transpired happened today after midnight, so they're listed under the 2nd)

The usual suspects (Greg, Larry, Martin and myself) arrived at an undisclosed location (least one of us get in trouble) for several hours of Quake 2 goodness. Out of the five games we played, I won four.

I still can't win with the crew at Atlantic Internet though.

After the games, Martin, Larry and I ended up at Denny's for food. Hey, it's the only place still open at 3:30 in the morning.


Mark's Labor Day Weekend BBQ and Swim Party

Immediately after getting up (around 2:30 pm) Mark called to inform me I was running late to his Labor Day Weekend BBQ and Swim Party at his house.

I still beat Kelly to Mark's house, even though Kelly got up earlier than I did.

While there we ate way too many hamburgers, hotdogs and Cheezy-Poofs, watched Office Space and went swiming.

Well, Mark, Kelly and Jeff went swiming. I didn't as I had other plans later on in the evening (namely, the Saturday D&D game were I was the Guest DM so I couldn't duck out of it).

Sunday, September 03, 2000

Yet another Labor Day BBQ

I was invited over to John the paper millionaire of a dotcom's house for a Labor Day BBQ. I wasn't there long enough to say hello before being forced to don a swim suit and join the festivities in the pool, where Mark, Kelly and JeffK were playing basketball (yes, in the pool—John has a net for the pool which is placed at the deep end).

After swimming and eating yet more hamburgers, hotdogs and other outdoor American holiday food we retired in the family room to watch a football game on the 72″ TV.

I wasn't all that interested in the game (at one point, nearly drifting off to sleep) so I wandered off with Kelly and John's wife where we talked about relationships. Way more interesting than the game.


Fun Geeky Stuff

After the game, we headed into John's office to play around with his home control system. Throughout his house are several small keypads with an LCD screen he uses to control the music and lights of the house. The primary controller is a program that runs under Windows and John's idea is to reverse engineer the protocol used to communicate between the two (which runs under IPX).

We downloaded Ethereal to capture and display the network packets but since everyone was pretty tired we didn't far in the engineering aspects.

Monday, September 04, 2000

“Oh, so that's what I did wrong … ”

I spent Labor Day with John the paper millionaire of a dotcom. He wanted to work some more on the reverse engineering project we started yesturday.

Today's goal was installing the IPX drivers on his Linux box, which turned into a long and arduous venture.

Normally, I don't run modular Linux kernels—aside from the security issues they bring up—they're not the most elegant thing under Linux (heck, if it wasn't in Unix V6 it's a horrible kludge that doesn't integrate well in Unix, such as threads, file locking, removable media and installable drivers at either boot or runtime but I digress … ) and a bit of a pain to use.

I initially tried:

# cd /lib/modules/2.2.14-0.5smp/misc
# insmod ipx.o

but that didn't work. Too many errors. So we then spent the next few hours trying to recompile the Linux kernel to support IPX and none of the kernels would boot (they all failed trying to mount the root filesystem from the SCSI drive).

By this time Mark arrived and after mucking about for another hour, tried:

# insmod ipx

That worked.

insmod ipx.o didn't, yet insmod ipx did. I've done the insmod module.o and it's worked when I've done it (okay, mostly under a 2.0 kernel) yet apparently there is magic done when you don't specify the .o extension.

And Linux zealots wonder why Windows is so popular …

Wednesday, September 06, 2000

Through Journals Darkly

But from this reserve of suffering, of pain, of loss and of being victimized by the selfish, the best personal writing happens. Because conflict, whether it be humorous or melancholy, is something with which an individual can trace the actions. Conflict is the pinnacle of existence and, if properly dwelled upon, it can be an absolutely powerful device to launch personal writing.

And yet why is it that today's personal writing on the Internet refrains from veering down these dark roads? Is it because we are ensnared by the conveniences of technology? Or is it because, as I suggested in Part 1 of this essay, we're simply lazy, wanting to get that blog entry up before anybody else?

the decline of personal writing, part 2

Another reason is privacy. While I would like to mention an incident that happened last week that lead to my loosing physical access to one of my client's offices (I had access to the office 24/7) it's not really the domain of this journal to record such incidents. Not everything I do is recorded here for a variety of reasons (to protect myself and/or friends).

So I make it a point to avoid the entries that go:

Something momentuous happened to me today but I really can't say what …


Through Linux Broken

% ls -w1
Segmentation fault (core dumped)
% uname -a
Linux XXX.XXX.XXX 2.0.36 #1 Tue Oct 13 22:17:11 EDT 1998 i686 unknown
%

This on a client's Linux system. w and who are similarly broken. What exactly did they do to install Linux?


Through Bars Scanning

I went to Radio Shack to pick up a PS/2-AT keyboard adaptor. The Belkin Omni View I got last week uses PS/2 connectors and I have a spare PC that uses the older AT style keyboard. The computer is not really doing anything at the moment so I figure I might want to install Plan-9 from AT&T on it.

While I was at Radio Shack, I asked if they had a :Cue:Cat I could have. It just so happened that that particular Radio Shack had one to give me.

When I got home I played around with it a bit under Linux. I'm not entirely sure what I'll do with the thing but as a diversion …


Through Hypertext Documentation

The concept of a Wiki may seem strange at first, but dive in and explore its links. Wiki is a composition system; it's a discussion medium; it's a repository; it's a mail system; it's a tool for collaboration. Really, we don't know quite what it is, but it's a fun way of communicating asynchronously across the network.

WikiWikiWeb

I've come across the site a year or two before but I never really played around with it that much. But today I came across it again and this time, I decided to play around with the concept, which seems to be what Tim Berners- Lee invisioned the web could be—one were you can view and edit the pages you see.

Okay, maybe he didn't mean to edit any pages you yourself didn't author but there aren't many sites out there that will let you arbitrarily edit their pages, yet these sites allow you to edit their pages.

But while cruising the WikiWikiWeb, I thought that such a hypertext system would be perfect for computer documentation for a group or organization—you install the documentation on an internal website (or external website if you really want to live on the edge) and as people peruse it, they can annotate (or even correct!) the documentation to acurately reflect the true state of affairs.

Thursday, September 07, 2000

Running dog imperialistic war monger

Two things about us Americans: First, those of us of U.S. citizenship are called Americans because we are the only country in either South or North America that has the word “America” in its name. It's a hell of a lot easier to say “American” than “United States citizen”, though I've always enjoyed being referred to as a Yank in Britain and a running dog imperialistic war monger by everyone else.

Don Olson on American Cultural Assumptions

Enough said.


Now this is hypertext

The WikiWikiWeb is more web than the World Wide Web. This is hypertext like Ted Nelson invisioned it.

And it's bloody addictive. My god, it's 4:43 am! Just now long have I been reading the WikiWikiWeb?

Saturday, September 09, 2000

Musings on Star Wars

(I'll apollogize in advance the the extreme linkage in this entry but think of it as an experiment in hypertext)

I was hanging out with my friends Jeff and Kurt (the erstwhile high school English Teacher I went haunted house hunting with) and the discussion primarily concerned itself with Star Wars.

Yes, we are geeks.

Where to begin … where to begin …

We've yet to actually see a true Jedi Knight in action. In Star Wars (full title: Star Wars: A New Hope, aka ANH) you have Ben Kenobi, a Jedi Knight way past his prime and Darth Vader, a Sith Lord (and for this discussion, also considered a Jedi Knight, just a bad Jedi Knight) who's a walking iron lung. Their battle in ANH is presented as an even match between the two. Why Darth Vader wasn't as aggressive in ANH as in Empire Strikes Back (ESB) and Return of the Jedi (RoTJ) could be attributed to a respect for his former mentor and an acknowledgement of Obi-Wan's mastery of the Force.

In ESB, we get the introduction of Yoda, an 800 year old Jedi Master near the end of his life and hiding out on Dagobah, so again we have a Jedi Knight in his waning years of life. We also have a Jedi Apprentice in Luke Skywalker, possibly the most whiny Jedi Apprentice we've seen yet. Which is why Darth Vader is able to wipe the walls with Luke. And Vader's aggresiveness here can be seen as a father/son abuse situation—or someone fed up with a whiny kid.

The Emperor as presented in RoTJ is again, an older person and while powerful doesn't seem to engage in battle, instead sending subordinates in his place, along with the mind games he plays. Even though Luke declares himself a full Jedi Knight towards the end of the film, Darth Vader and the Emperor still manage to wipe the walls with him, despite Darth being a walking iron lung.

The Phantom Menace (TPM) brings us plenty of Jedi Knights, but the film focuses on two, Qui-Gon Jinn, who is just past his prime as a Jedi Knight, and a younger Obi-Wan Kenobi, still an apprentice Jedi not fully vested. About the closest thing to a full Jedi Knight we have is Darth Maul, another Sith Lord. Yet, for being the overhyped bad guy of the film, we don't really get to see him in any action—the most underutilized character in the film cut down in his prime by an apprentice Jedi Knight.

It's apparent that Jedi Knights (and Sith Lords) are powerful indeed and not something you want to be on the wrong side of, yet when will the real Jedi Knights show up?

Another thing we puzzled over in TPM: Was Senator Palpatine Darth Sidious? The implications are fairly clear in both the movie and the book that the two are in fact the same person, but one has to consider why the Jedi Council didn't pick up on Senator Palpatine/Darth Sidious during the funeral pyre of Qui-Gon? In ESB, Yoda can sense the Dark Side and points it out to Luke, most notably when he sends Luke through a part of Dagobah that is steeped in the Dark Side. Two answers:

  1. (as explained in the book, never mentioned in the movie), the Sith Lords were driven underground and due to infighting, their numbers were reduced to two—a master and an apprentice. And the only way to advance is for the apprentice to forcefully take control (ahem). So with only two at any given time for well over a millenium, the Jedi Council has lost the skill of detecting the Dark Side.
  2. Why Naboo? One rumor I've heard is that it's a center for cloning. As circumstantial evidence we have Queen Amidala and her handmaidens, who look like her. In the book, it's made explicit that they often trade off as decoys for the real Queen (and they look more like Amidala than in the movie). If indeed, Naboo is a center for cloning, and according to other source material, clones do lack the Force (or the ability to use the Force) then we might have a case where Senator Palpatine is a clone of Darth Sidious. That would explain why the Jedi Council don't detect the Dark Side in Senator Palpatine.

And Senator Palpatine's plan to seize power was subtle and very effective. So subtle it was actually wasted in the film. No matter the outcome, he won. He (or his evil twin Darth Sidious) was manipulating the Trade Federation so if they won, he had power. If they lost (and they did) he still got power since he became Chancellor of the Senate. Very smooth.

Another point of discussion centered on Anakin's fall to the Dark Side. The popular rumor is in a duel between the young Obi-Wan and a recently turned Darth Vader, Vader falls into a pit of lava. He barely survives but has to become a walking iron lung to survive. Another point brought up by Jeff is that possibly Darth Sidious isn't nearly as strong with the Force as Anakin/Vader and manipulates the newly fallen Sith Lord to take out the Jedi Knights and it's these battles where he slowly looses his body—loosing parts of his body during the battles. As implied in series, machines aren't part of the Force. In TPM we learn that Anakin is probably the strongest person with the Force yet. In this way, Darth Sidious ensures he's the strongest with the Force.

The question of the Jedi Mind Trick being the baliwik of the Dark Side came up. In the role playing game, any Jedi character using the Jedi Mind Trick automatically gains a Dark Side Point (if any player accumulates six such points, they automatically turn to the Dark Side and become a non-player character under control of the Game Master). Yet so far, the only characters to actually use the power are the Jedi Knights. Obi-Wan in ANH uses it several times—the most notorious being “These aren't the 'droids you are looking for” bit. The other times are very subtle—when leaving the tractor beam he distracts the guards and possibly, just possibly, he tries it on Luke (“Come with me.” “Okay—wait! I can't just leave … ”). Qui-Gon attempts it in TPM, and Luke tries in RoTJ.

In contrast, none of the Sith Lords have. Well, a possible exception might be Darth Sidious and the Trade Federation but neither the movie nor the book go into that. Darth Vader prefers to teleketically choke people, the Emperor just plays mind games and if pissed off, goes for the lightening strike. Darth Maul (“The most underutilized character in TPM!” “SHUT UP SEAN!”) just goes for the attack. If the role playing game is true, then most of the Jedi Knights would have turned long ago.

There was more we talked about (the Jedi Telekentic Power) but I figure I've geeked out enough already.


Independant Film Making

Every Saturday evening I play D&D with a group of friends, the oldest being in his mid-30s and the youngest, Marco, being 18.

Tonight Marco brought a video tape he and a friend made last year for extra credit. The project was a board game with a math theme and his group decided to adapt D&D. The video tape was a commercial they made of their “game,” mostly made by Marco's friend.

He popped the video in and hit play. Professional credits appeared and the music, while “borrowed” from another movie, was a good choice. Then the first scene: a mid shot from behind of a person wearing medival type garb walking. I wonder what film they took that shot from, I thought. Then a cut to a medium shot of Marco, wearing the outfit. Whoa! I thought. His friend is good with the cinematography!

Except for the occasional telephone pole (“It's a tree!” Marco would shout at us when we pointed it out) the setting was perfect.

“Hey Marco,” I said. “Where exactly did you film this?” This is South Florida. No palm trees and hills were visible.

“Hill Park in Coral Springs,” He said. Ah ha!

Even though the dragon was this cheesey computer generated dragon, it was impressive to realize that it was a high school student working on a home PC. I've seen B-movies with worse special effects.

Medium closeup of Marco, off to one side of the screen. Behind him is a thick forest of trees off in the distance when the dragon lands behind him, cutting him off from the forrest. “That was shot in front of a blue screen,” said Marco.

“Blue screen?”

“Yea, my friend made a blue screen.”

On video, Marco pulls out his sword; it glints in the sunlight. Next shot, medium long shot from above looking down. Marco in the upper left, the dragon taking up the rest of the screen. It starts attacking and Marco is reacting to it—decent job actually. Then it ends with a joke about there only being a dragon and no dungeons but that Bibo (the character Marco played) did die. It got a laugh.

An excellent job. I was seriously impressed.

Monday, September 11, 2000

Jumping the Shark

Now here is a concept I can't get enough of a man and his monkey! I am waiting for the TBS monkey movie short using a human as the part of the monkey.

When BJ and the Bear Jumped the Shark.

Jumping the Shark is that point in a television series when you know, you just know, the series has peaked and can only go down from there. The reference is from the time the Fonz jumped over a shark tank on “Happy Days.”

FYI, WKRP in Cincinnati never jumped the shark.


“There they go again, looking for alklghlkjhslkj.kljhqleuyoqivmqkjuht.hjeh.com again!”

It was bad enough when you could tunnel TCP/IP over SMTP, but now it seems you can tunnel TCP/IP over DNS.

When will it ever end?


“Look Ma! No wires!”

Technocrat has an article about wireless networks and the ISPs that are implementing them. consume.net, The Eugene Free Community Network, SFLan, and SeattleWireless are a few of the ISPs in the States working on providing this technology.

And MIT is working on The Grid Ad Hoc Mobile Networking Protocol to help route all this new wireless technology.

I just wished South Florida wasn't so darned flat! It's hard to get wireless networks going with a lack of hills (or mountains) and tall buildings.


The Great Worm Wizard

This person is part of the group working on The Grid Ad Hoc Mobile Networking Protocol. Could this be the rtm?

If you don't know who rtm is, then you obviously don't know your Internet History.


It's the End Of The World As I Know It

“Hey, kid!” the voice on the other end of the phone said. “How are you doing?” It's Dad. His timing is getting better. It's midnight my time and I'm wide awake. Good thing Dad lives out in California—it's only 9:00 pm there.

“I'm fine. How are you?”

“Can't complain. Hey, I've got a question for you,” he said. “What's your email address?”

WHAT?

The universe suddenly turned ninety degrees on me. Dad. My Dad. My Dad who hates computers and will have nothing to do with them, asking me for my email address.

Next thing you know, a coke head will be running for President.

Hey, wait a minute …

Tuesday, September 12, 2000

Guaranteed Used Music

I just noticed this. I've only owned the CD for several years yet it never struck me just how odd the sticker on it is.

Guaranteed Use Music

Yup. The music on this CD is used. This isn't any old fresh music, this is used music, guaranteed!

Used indeed.


Reply-To: Munging Considered Harmful Considered Harmful

Great! Reply-To: Munging has reared its ugly head again on the mailing list.

Sigh.

Wednesday, September 13, 2000

Just because they have a generator …

One of my clients is panicing because the company he colocates his server with had a power outtage. The colocation company provides UPSes, and even has a large generator outside good for three weeks of power. But the generator only kicks in if the power to the building goes down. It does no good of power to just their office goes down, or a circuit braker trips.

I told my client not to totally rely on the colocation company for things like UPS—he should provide his own just in case. Besides, with his own UPS, he can have his server monitor the UPS and if it trips, send out a message and shut itself down cleanly (if the power goes down too low).

Thursday, September 14, 2000

The new technical editor at DaveWorld (you just wouldn't get it)

A mailing list I'm on has its own website which is a collaborative journal.

Because of life, the current technical editor of the site (he who actually puts the entries up) had to take a leave of absence from the position and I volunteered to take over.

First thing first, reorganize the site. There currently is no organization, or rather, it's a flat structure where all the pages are in the top level directory. Not a good thing long term.

Then there's the matter of the HTML …


Expanding on EXPN

Once again Spring is having problems with mailing her journal entries, only this time it's with Yahoo.

What is it? EXPN is all the rage now? Must expand email addresses?

Sigh.

So I decide to fix it once and for all. I check the configuration file for Sendmail and don't see any obvious way to disable the EXPN command. Not wanting to hack the source code to remove the EXPN command I figure the next easiest way is to hack the actual binary and change any occurence of E-S-P-N-NULBYTE such that sendmail will no longer be able to actually respond to the EXPN command. I have some software I wrote years ago that makes this relatively easy to do.

So, I find the occurences of E-X-P-N-NULBYTE and make the changes.

No go. Sendmail still reponds to the EXPN command.

Okay, so next it's occurrences of e-x-p-n-NULLBYTE and that's when I find the curious string “noexpn” in the executable. Hmmmmmmmm … I think to myself. Might there actually be a way to disable the EXPN command?

So I search the site for noexpn and I find this:

PrivacyOptions=opt,opt,…

Set the privacy options. “Privacy” is really a misnomer; many of these are just a way of insisting on stricter adherence to the SMTP protocol. The options can be selected from:

public
Allow open access
needmailhelo
Insist on HELO or EHLO command before MAIL
needexpnhelo
Insist on HELO or EHLO command before EXPN
noexpn
Disallow EXPN entirely
needvrfyhelo
Insist on HELO or EHLO command before VRFY
novrfy
Disallow VRFY entirely
restrictmailq
Restrict mailq command
restrictqrun
Restrict -q command line flag
noreceipts
Don't return success DSNs
goaway
Disallow essentially all SMTP status queries
authwarnings
Put X-Authentication-Warning: headers in messages

The goaway pseudo-flag sets all flags except restrictmailq and restrictqrun. If mailq is restricted, only people in the same group as the queue directory can print the queue. If queue runs are restricted, only root and the owner of the queue directory can run the queue. Authentication Warnings add warnings about various conditions that may indicate attempts to spoof the mail system, such as using an non-standard queue directory.

I don't know if it's A Good Thing or A Bad Thing that you can learn more about a program from scanning the executable than you could probably get reading the documentation.

Friday, September 15, 2000

A Good Idea Marred by Hideous Implementations

Since I took over the technical editorship of DaveWorld I took it upon myself to clean up not only the organization of the site, but to clean up the HTML on the pages themselves. I downloaded the site, cleaned up the HTML and put it back up on a private site and asked for comments from the more technically and designed oriented members of DaveWorld.

Number one complaint: What did I do to the fonts?

All I did was remove all the <FONT> tags, leaving the font to be the browser default. That alone peeved the graphic designers on the list. Back to the drawing board.

I then decided, for whatever reason, to use style sheets. Exclusively. Despite the warnings. Meaning, no tables for layout, no <FONT> tags, no alignment attributes. Just simple HTML.

I've come to the conclusion that Cascading Style Sheets (CSS), defined way back in 1997, is a lot like Java: A Good Idea Marred By Hideous Implementations.

My intent was to use correct typographical conventions, one of which was that the leading paragraph is not indented but succeeding ones are. Easy enough to specify, along with font information and other stylistic concerns.

Internet Explorer (IE) managed to center the text correctly, although the paragraphs with leading (indented) were shifted to the right. Netscape had the paragraphs aligned correctly, but neglected to actually center them on the page. Also, the interline spacing between paragraphs was off, making the page look horrible. Adjusting the interline spacing to 1 fixed that problem, but now the lines were bunched up. Livable. But it still refused to center the paragraphs on the page.

The only way to get Netscape to center the paragraphs was to use a table. Which kind of defeats the purpose of CSS. But I tried anyway.

Netscape now aligned the paragraphs correctly, but that just triggered a bug in IE—the paragraphs where aligned correctly, but selecting a link would cause the page to jump to the right. What the—?

Try as I might, I couldn't get a stylesheet alone that worked properly between the two.

Sigh.


Dark Side of Oz

For the past few years I've heard the rumor about Pink Floyd and “The Wizard of Oz.” You know, the rumor that their album “Dark Side of the Moon” syncs up to the 1939 MGM release of “The Wizard of Oz,” staring Judy Garland and Ray Bolger.

Not having much to do this night, Mark and I decided see if that rumor is true. I have a copy of “Dark Side of the Moon” and we can rent “The Wizard of Oz.”

At Blockbuster it took us a while to find a copy. Let's see … musicals, no. Classics? No. Drama? No. Family? Yes. So with video in hand, we head back to Mark's house, cue up the video and at the MGM lion's third roar, cue up the CD.

Despite about 30 seconds of added text to the credits (gee, thanks. Like the video distributor couldn't add that before the film?) the CD synced up just enough to convince us that there possibly is something there. Track 5 starts up when Dorothy is leaving the house to enter Oz. “Fool on the Hill” when she meets up with the Scarecrow. Something about keeping your balance she's walking along the top of the fence. The lyric “Is she black? Is she blue?” syncs up—“Is she black?” you see the Wicked Witch of the West. “Is she blue?” the film immediately cuts to Dorothy.

There's enough there that both of us were convinced that something was up. But our primary question is Why? Why did they do this? And other than Pink Floyd, who would ever know? I mean, until the advent of video tapes, it would be nearly impossible to get this to work (say, on television broadcasts interspaced with commercials) unless you could get a print of the film, which I doubt just anybody could do.

Then again, on second thought, I've only heard this rumor in the past few years. Maybe it is just coincidence.

Sunday, September 17, 2000

Unreal

We decided to try something different at the weekly Quakefest my friend Greg hosts (at his company, shhhhh). He had upgraded the video system on several of the PCs and they could run Unreal Tournament.

Wow. The graphics are gorgeous and the gameplay is much nicer than Quake. Or rather, it's a bit more realistic. I will miss the Cataclysm Device though.

But wouldn't you know it, just when I get comfortable with a game, it's off to a new one.

Life goes on.


I don't do windows

There is a downside to using computers—people expect you to know everything about them, especially the ones they use.

The knock on the door proved to me one of my neighbors, a woman in her late 40s/early 50s taking care of her elderly mother. She wanted to know if I had a copy of Windows 98 she could borrow (shhhh). I don't but my roommate Rob does. He was currently using the CD but he would lend it to her once he was finished.

About an hour later he was finished. We were on our way to Shane's house for a bit of Half-Life and I decided to drop off the CD to my neighbor. I would meet up with them later.

I had intended to drop off the CD.

I ended up being stuck for an hour trying to troubleshoot a Windows problem and not wanting to install Windows 98 on a 16M 486 that was barely running Windows 95.

“Should I install Windows 98?” she would ask.

“It's really up to you,” I said. “If you really want to, it's up to you.”

“Funny,” she said. “Everybody I talked to said the same thing.” She peered closer. “Nobody wants the responsibility if it fails, right?”

“Yup. And I don't even use Windows.” Not that she believed me for a minute. I use computers. I have computers. Therefore I know Windows.

Sigh.

I never did end up at Shane's house.


Is there anybody in there?

I knew I wouldn't be making it to Shane's so I decided to call to let them know.

“Hello?”

“Is this Shane?” I said.

“No, this is Glen. Who is this?”

“This is Sean. Tell Shane I can't make it.”

“Hold on, I'll get him,” Glen said, and put the phone down. I heard him walk into another room and mention to someone that I was on the phone. A minute goes by. I can hear several people over there talking and moving about. Another minute.

“Hey!” I yell. “Pick up the phone!” I can still hear several people talking. “Yo! Hey! Shane?” I hear shouting over there, seems like they're deep into Half-Life. After a few minutes I simply hang up, figuring they'll figure it out.


The Watcher

I ended up seeing “The Watcher” with Mark, Kelly and JeffK. Interesting premise, and refreshing to see Keanu Reeves play a bad guy for a change, but overall, I didn't really care all that much for the film—it was your standard Hollywood fare.

Monday, September 18, 2000

Not one browser fully suports CSS

Mark heard my tales of woe about style sheets and mentioned Amaya, the reference implementation by the W3.

I check, and indeed, Amaya supports HTML 4.0, MathML, CCS1, XML and a host of other WWW alphabet soup standards. The source code requires Motif, and lacking that, I decided to download the precompiled version.

It works, in that it runs on my system.

.

But it doesn't support CSS correctly either.

Sigh.


Scanning bit loss

The :Cue:Cat I picked up the other day doesn't seem to work that well under Linux. I tried it both plugged into the Belkin and the computer directly and it still seems to loose bits as it scans.

Oh well, it was free, can't really complain all that much.


Hidely Ho, Neighbor

My neighbor who asked for help the other night came by to drop off the Windows 98 CD she borrowed and some cookies she made.

It turned out she got Windows 95 fixed and didn't need Windows 98. She also wanted to thank me for the help (what help?) I gave her.

The cookies were good. Yum.

Tuesday, September 19, 2000

DEU problems

Every student who takes a course in the NWE has a UNIX account with almost totally unrestricted Internet access. Students can make Web pages in one of the five NWE classrooms using one of several HTML editors available through our X-Windows interface. However, many students find the transition between the online environment and their home computer very unsettling. NWE technical staff encourage students to work from home and suggest that instructors teaching in the NWE do the same, and we provide copious documentation designed to make the transition more comfortable. There are no firewalls or access restrictions barring file transfer protocol (FTP) access or remote login with a secure shell client (SSH). However, most students just don't seem to know how to tackle the problem of getting access to their work outside of the classroom labs.

Via Flutterby, The Ideology of Ease

I've heard stories of users, when given a floppy with a file on it, say an Excel spreadsheet, stick the floppy in the computer, launch Excel, load the file from the floppy, then save it to the harddrive, never realizing they could just copy the file directly.

Then again, most users don't really organize their files, saving the files where ever the default location is; their main document directory containing hundreds of files.

Then again, people are amazed when I can access my computers from home; they think it's miraculous but it's something I've been doing for nearly 10 years now at various levels. Not to say that it isn't miraculous—it is, but in the same way it's miraculous that I can receive phone calls no matter where I go with a cell phone (which is now so ubiquitious that no one really notices anymore).


EXPN Problems still

I don't know what it is, but Spring is still having problems with Yahoo. Seems Yahoo has cached the expantion of the address she uses to update her journal. So I created a secondary alias for her to try.

We'll see if that works.

Wednesday, September 20, 2000

The solid animal waste product, as they say, hit the external rotary thermal cooling unit.

My client CS called this morning about DNS problems he was having with his colo facility. I logged into the name server there and didn't see any problems; I had set things up correctly there. I checked his webserver—again, things were fine.

He then had me call the colo facility to resolve the issue.

The solid animal waste product, as they say, hit the external rotary thermal cooling unit.

Okay, technically, perhaps I should not have had access to the nameserver there, but I did, and I saved the colo facility staff time in adding DNS entries on behalf of my client. It might also be said I might have been lead into believing that my client and the colo facility in question had an arrangement and they didn't mind me adding the entries—it's not like they would have had any difficulty in figuring out what I was doing by checking the various logs (like utmp, wtmp and sulog for indeed it was a Unix server) and configuration files (it seemed at one point they fixed a typo on my part).

But it seems that in these uncertain financial times of the colo facility company any revenue is welcome and I found out that by bypassing them I was costing them $50 per domain.

PER DOMAIN!

They were charging $50 per domain to add a simple zone file to their DNS server. I told my client a few weeks before he should register his colocated box as a DNS server to the root DNS servers but he didn't follow through on it, otherwise this would have never happened.

It was shortly thereafter I learned that my access to the name server was removed. Inconvient for my client, but fortunately I had removed any reliance I had upon that nameserver.

$50 per domain. Riiiiiiiiiiiiight.


The Conner-Seattle Connection

I found out why Dad requested my email address for today I recieved email from his cousin (I think that makes him my second cousin) Walter, who works for AskMe out of Seattle.

I never knew I had family out there. Granted, I never really met much of my family on my Dad's side. But it's nice to know I have family out there if I ever decide to visit 8-)


Moving a tower

Given recent developments with my current provider, I think it is prudent to move away from them, which is really a pain (given that currently, they provide service to me gratis). I had originally thought the connection part would be hard to handle and I didn't really worry about my colocated server (a 33MHz 486SX with a ridiculous 17G harddrive).

On second thought, I may find it difficult to handle both the colocation and connectivity issues. Connectivity only because of price (of ISDN, I already have the circuit so I don't have to wait for that to be installed) or type of service (I can get DSL, but I've heard horror stories about isanely long wait times for it to be installed incorrectly, let alone correctly).

But the colocation may prove to be a bit tougher. I have plenty of options if I want to use a current webserver, but the problem there is the rather specific nature of my current Apache configuration (seeing how I have a module I wrote in there, along with some specialized email options and a couple of mailing lists.

Oi.

Moving all that to a new server will be a pain.

Ideally, I'd like to drop the server somewhere and avoid having to reconfigure a webserver, five sites, four mailing lists and one special email address. But I may have to (remember, always mount a scratch monkey).

Thursday, September 21, 2000

Mysterious early morning phone calls

Years ago my Mom forbade me to answer the phone before I was fully awake. I would forget the call and often times I would come across as being rude.

Nowadays, it really depends upon how sleepy I am (and if I actually hear the phone). This morning the phone rang several times; I heard it but actually felt like not answering it (being way to early for my tastes). If it was important, the person calling would leave a message.

Not one person who called left a message.

Hmmmmmmmmmmmmmmmm …


Amazing! It's void here!

I'm waiting for one of my clients to call (he said he'd call at 2:00 pm, it's a bit past 2:00 pm) so I'm killing some time as I usually do—browsing the web.

While browsing, I came across the TiVo Giveaway, where you submit an essay of upto 250 words why you should receive one. Not that I watch all that much TV anymore, but it might be fun. I check the rules:

1. THE PURCHASE OF TIVO SERVICE FOR 1 MONTH ($9.95) IS REQUIRED TO ACCEPT A PRIZE IN THIS CONTEST. CONTEST VOID IN ARIZONA, FLORIDA, MARYLAND, NORTH DAKOTA AND VERMONT AND TO THE RESIDENTS OF THESE STATES.

So much for entering the contest.


More mysterious phone calls

Phone just rang. Once. When I picked it up, dial tone.

Grrrrrrrrr …


More annoying phone calls

Ring.

I pause, not wanting a repeat of the previous phone call.

Ring.

I pick up the phone. “Hello?”

Long pause. “Please do not hang up for I have some very important information of vital concern,” the voice droned. A recording. “If you are a senior citizen—”

I hung up.

Friday, September 22, 2000

Bug reports for Windows?

From this Slashdot article about new Microsoft Windows screen shots comes this wonderful view. You have just got to love the “File Bug Report” icon there. How thoughtful.


I bet I think this website is about me.

In checking my webserver log files, I came across a referer from one of the search engines. Seems someone did a search on “Sean Conner” and I was curious to see what else is out there on “Sean Conner.”

Seems there's a Sean Conner from Indiana who is a school principal. Cool.


A high ranking Bible

Another thing I noticed is that the Electric King James Bible has a very high ranking at AltaVista. I must be doing something right to get that.


Cue the scanner

In browsing the web (under Windows. Darn it, IE is faster than Netscape, and it handles bookmarks much better) I came across a site that decodes the :Cue:Cat bar code scanner. Since I have the scanner hooked up to the Belkin OmniView, I decided to try it under Windows on that site.

It worked. Unlike last time.

I then logged into the Linux box from Windows, and tried it. Again it worked.

Then I tried from another Linux box in console mode. It worked again.

I think the problem is that X Windows is affecting or misinterpreting the keyboard scan codes, causing problems with the :Cue:Cat. But it's nice to know it works.

Just not under X Windows.

Saturday, September 23, 2000

The Electric Talmud anyone?

I'm reading Synergetics by R. Buckminster Fuller, and as I'm reading, I'm noticing that each paragraph is numbered and I'm thinking that applying the techniques I did to the King James Bible would be appropriate for this as well. At the same time I'm making notes in a notebook, prefaced by the paragraph number I'm making notes on.

But I've also been reading the WikiWikiWeb, which allows anyone to edit the text.

My mind then wanders to the Talmud, used by Jewish scholars to study the first five books of the Old Testament (aka the Pentarch). The Talmud not only contains the text of the books, but commentary added by various scholars and authors over the years as they interpret and reinterpret the passages.

So then I got this idea—mix the Electric King James Bible and the WikiWikiWeb to allow people to leave commentary on the Bible. Or maybe set it up with the Constitution of the United States. The actual text from the work in question (the Bible or the Constitution) can't be edited, but the commentary (like the WikiWikiWeb) can.

I like the idea but there are details to work out. For instance, there's a lot that could be said for Genesis 1.1, yet the commentary for just that verse might not be appropriate for Genesis 1 as a whole. So the problem is how to handle commentary that is particular to specific portions of the work, with portions that might overlap. I have a few ideas but I need to think on this a bit more.

As well as finish some of the work I've already started.

Monday, September 25, 2000

Black Monday

What a way to start a Monday.

What a way to start the week, actually.

First off, the phone rang off the hook again this morning. Not that I answered it. But one call I could hear the person leaving the message on the answering machine, which is across the house (couldn't be much further from me in fact). Poor Rob. His room is next to the computer room—he must have gotten the full force of it. I suspected at the time it was my client CS.

I finally got up, showered and ready to go to Lou Bachrodt Chevrolet (regularly scheduled maintenance on my car). I check my answering machine and yes, it was CS screaming about his colo facility—they shut down his server and what the hell was going on?

It's not like I would have been of much help even if I did pick up the phone; I no longer have access to the colo facility like I used to and while I still know the people there, I suspect I'm on the outs there (for a variety of reasons, one of which my working with CS but that's something I don't want to get into here). And CS is definitely on the outs over there.

There was another message or two but I don't know what they are as the phone started ringing. It was CS, much calmed down. He told me to ignore the earlier message and went on to fill me in on what's been going on. Meanwhile, the machine I still use for email was rebooted so I had to log back in to check my email.

Only I couldn't log in. Wonderful! I'm planning on going to Lou's and all this crap starts coming down on me.

It just so happens that the machine I check my email on is located at the colo facility mentioned above. I knew I was on the outs, but this? This wasn't even a machine associated with the company in question. CS was amused by the news and even offered to pay for my connectivity when (it's not a question of if) I loose it (again, being provided by the colo facility in question—not like I should still refrain from mentioning the company but hey …).

Once we're done talking I call the colo facility and talk to CW, who runs the box I check my email on.

“There was a security incident,” he said when I asked why I lost my shell. “You can still FTP in and get your mail.”

“It's not quite that easy,” I said. “I still use the account—it's still my primary email address.”

“I thought you were getting your email elsewhere. Can't you FTP your email?”

“Can't you enable secure shell? FTPing my mail isn't really an option.”

“Okay, I'll enable your shell,” CW said and hung up.

A few minutes later I try logging in.

/bin/spc: no such file or directory
Closing connection.
%

Well, proof CW is no longer in the technical realm, I thought. I phone back, only to get the message CW will call me back in a few minutes. Grrrrrrrrr. Might as well forget Lou's today.

Surprisingly enough CW did call back in a few minutes. He fixed the problem, then laid the next bomb shell on me: “Your ISDN. You still using that?” Not for much longer I suspect. “Do you want to keep it?”

“How much will it cost me to keep it?”

“$129 a month.” Gee, Velotel only charges $50/month for the same service.

“How long do I have to think this over?”

“Send me an email by the end of the week,” CW said. I can only hope I still have access to email by the end of the week to inform him of my decision.


Calming Down

It's actually not bad sitting here at Lou's. It's an open environment, fairly quiet despite me sitting the main showroom, pleasantly decorated and they're playing 80s pop. Not bad at all.

And no one has yet asked me what I'm doing, sitting here typing away on a laptop.


Busy all right.

“I'm so busy here … ” she said. She being the lunch counter lady. Busy? I've been her only customer since 3:00 pm. In fact, the two other times I've been here at Lou's I've been the only person at the “cafe.”

Busy? Must be her sarcasm.

Tuesday, September 26, 2000

Moving on

Spent the day moving email to my server, to avoid the problems I had yesturday. It's a major pain as I've been using the current email address for six years, almost seven now. But perhaps it's time to move on.

Sigh.

Wednesday, September 27, 2000

“We want people perpetually paying premiums.”

I'm doing bills, which means I check my snail mail (which means, I usually check my snail mail once a month. Ah the joys of being on the digital edge) and I get this letter from a credit card agency. I think I actually applied when they caught me half asleep when they called me one morning.

Anyway, I got the rejection letter today:

Dear Sean P. Conner:

Recently we called you about the XXXXXXXXXXXXXXXXXX Platinum Plus XXXXXXXXXXX. We have given your application individual attention and have made every attempt to approve it.

After careful review, we are unable to approve your request at this time. We have determined that you do not have a sufficient amount of credit references and you do not have sufficient established revolving credit accounts. This decision was based on information obtained from your application as well as the credit reporting agency indicated below.

If you have any additional information that would allow us to reconsider our decision, please write to us at etc., etc.,

Emphasis added

I do not have sufficient established revolving credit accounts.

Am I the only one that finds revolving credit accounts horrifying?


Moving Day

Today was the day Mark and I moved tower from Atlantic Internet to our new colocation site, DinNet, owned by our friend Kelly.

We arrived and started our preparations for the move. We basically changed the IP address to use upon startup, the IP address used by Apache and double checked the configuration of NTPD, the daemon that maintains the correct time. I also made the appropriate DNS changes and pushed them out to the primary servers (as listed with the various registars).

It was then the moment of truth: we shut the server down.

It was then a matter of disconnecting two cables (power and network), picking up the box, and driving from Boca Raton down to Pomapano Beach.

We ended up at Kelly's house (where we are colocating the box for now) and had to wait a few minutes for him to show up from work. He lead us in, we plopped the box down, connected power and network and turned the box on.

Worked with no problems.

Total down time: one hour.

No one else that uses the box (I run several mailing lists on it) even noticed it was down.

If only everything is this easy.

Thursday, September 28, 2000

Too much Flash, not much substance

More work with Flash 5 for the web project I'm working on. I headed over to Rob's house (the graphic designer) and ended up finding the entire experience very frustrating—I don't like IDEs (Integrated Development Environments) very much and the metaphore that Flash uses for development is very confusing to me.

There doesn't seem to be a beginning or ending to the creation.

I mean, there probably is one, but the manual isn't exactly clear on anything. For instance, the _root object is an alias for the current layer, say _layer0, you are working on. But while the language manual lists _layer0, _layer1, _layer2, etc, you can't actually refer to them as such.

What the?

Another problem: we want to automate the creation of dynamic text objects yet it's not very clear how you do that, if you indeed can. Nor is it very clear that you can create arrays out of anything other than simple types like integers or strings.

While the scripting language might seem adequate to a graphic artist, to a programmer it's very limiting and annoying. I know how this stuff should work yet the scripting language seems very ad-hoc and tacked on. Which it is to a degree.

But the environment gets in the way of my creative endevours.

Friday, September 29, 2000

Adventures in Shopping

My friend Tom is getting married. Last month I received an invitation to the wedding shower (I think that's what it is). It's a BBQ being held at what looks like a friend's house (possibly a friend of his fiancé Keller (yes, that is her real name)). Of course, being the procrastinator that I am, it wasn't until today that I actually RSVPed, seeing how the party is tomarrow.

The invitation had them registered with Home Depot Dillards and Macys. Being a guy, I figured a trip to Home Depot would be my best best.

The fact that there's a Home Depot just down the street from me had nothing to do with my decision. I swear.

I enter the store and find the customer service desk. I'm not terribly familiar with this whole registry thing, having only done it once before.

“My friend is getting married and he's registered here,” I said.

“What's his name?” asked the service rep. I gave Tom's name and the rep typed it into the computer.

“Is he registered at this store,” asked the other rep behind the counter.

“It doesn't matter,” answered the first rep before I could answer. “This is a nation wide registry.”

“Really?” answered the second rep.

“Yes,” said the first rep.

“Good thing,” I said. “He lives up in West Palm Beach.” The other two nodded in agreement. It was a good thing the Home Depot registry was nation wide—otherwise I would have had to drive about an hour north.

The first rep was still working at the computer. “It looks like the computer isn't working,” she said, poking the keyboard like it was dead. “You may have to go to another store.”

Nice. “Okay, I'll try,” I said. I then left the store.

I figured it would be quicker to head over to Dillards than to drive all the way to another Home Depot. It wasn't until I actually arrived at the Dillards in Coral Springs that it might have been farther to drive there than to drive to the Home Depot in Pompano (don't worry if you don't know where any of this is—this is South Florida where there are a bazillion towns crowded together). But I entered Dillards, and located the Customer Service Department on the store map.

“Hi, my friend Tom is registered here for—”

“Oh, I'm sorry,” said the service rep before I could finish. “The computer system is down right now, and even if it wasn't, we don't have a house wares department. The store at the Galleria Mall is the one you want.” The store at the Galleria Mall is another fourty-five minutes to the south and I'm already twenty minutes from home. “But you can also view and print out the registry at our website,” she said.

“Thanks,” I said. “I'll do that.” And I left that store.

At this point, I'm beginning to think I should have gone shopping ealier than waiting until the last minute (well, not the absolute last minute—I mean, I still had over 24 hours until the party). So I drive back across town to another Home Depot. My initial idea was Home Depot, and by God I'll get something from Home Depot.

Fortunately, this store had a working computer system and I was able to get the registry list and buy the gifts for Tom and Keller.

Saturday, September 30, 2000

The Gold Coast, da'lin!

Last month sometime I received an invitation to my friend Tom and his fiancé Keller's wedding shower—a BBQ. Cartoon pig, B-B-Q in a large font and stuff with real straw. So I'm thinking this is a BBQ—a cook out. Jeans, tee-shirt, sneakers. Pretty low-key—mostly close friends (I've known Tom for twenty years now) and what not, being held at (most likely one of Keller's) a friend's house in West Palm Beach.

The address is along the Intracostal. In West Palm Beach.

In other words, just down the street from the Kennedy Compound (more or less).

I didn't quite realize this until I was actually driving along the road to their house and I'm passing the Breaker's Country Club. This is an exclusive place here. Absolutely georgeous. I turn down the final street and about a hundred yards down a man in a valet uniform flags me down.

“You here for the party?” he asks. I get this sinking feeling in the pit of my stomache. I'm wearing sneakers, jeans and a tee-shirt and here's this guy in a freshly pressed valet uniform, in front of a beautiful home on the Intracoastal of West Palm Beach (the Gold Coast, da'lin!). I'm seriously underdressed here. Seriously.

But not much I can do. “Yes,” I said, getting out of the car. I head up to the front door and enter.

I enter a West Palm Beach social function. Beautiful people in a beautiful place eating beautiful (and catered) food and being served drinks (full wetbar) by a crisply uniformed bar tender.

I felt so out of place.


Greenlight

It seems that my other friends that were invited to Tom and Keller's party were informed of the rather … upscale nature … of the party (with the except of my friend Jeff, who showed up in sneakers, shorts and a tee-shirt. At least I had company.

We hung out in our own little clique talking about various topics. One of them was Project Greenlight, a website for aspiring screen writers (of which several of my friends are) to submit a screen play in a contest, the winner to have a million dollars to make their film for theatrical release and a documentary made about their film to be shown by HBO.


I feel so much better

After the party a few of us ended up at Denny's (yes, we're a high class of people here). I mentioned that I felt seriously underdressed for the occasion.

“That's okay,” said Martin. “I told people there you were a computer genius who invented screen savers.”

Gee. Thanks Martin. I feel so much better now.

Monday, October 02, 2000

Resumés

My roommate, Rob, had mentioned a job openening for third shift (midnight to 8:00 am) at the company he works for, The Company (that's not the real name of the company, and in no way refers to The Company from Alien, but I wish to refrain from actually naming the company, in tradition of other online journalists doing the same. Primarily it's to protect themselves (and myself) from possible retribution from The Company). I whipped up a resumé (which is fairly plain I admit). I told Rob about it last night and he said he would mention it to E, the head of the department with the job opening.

Human Resources from The Company called me this morning at like 9:30 am to give me an initial interview. I managed to talk my way through it and they said they'd get back to me in a few days.

One hour later they called back, wanting to schedule an interview Wednesday at 9:00 am.

I manged to get it pushed back to 10:00 am.

Why such insane hours, I don't know.


Wanted Man

When I talked to Rob about HR calling me and I already had a job interview he was somewhat amazed. Rob thought I was way over-qualified for the job in question and that I might not get hired, but that E, the manager of the department, said he didn't care. He wants me for the position.

I have the feeling I have the job already.


Microsoft Secondary? Yea, right …

I set up my client Chris with DNS on his server so he can handle DNS himself and went through the trouble of re-registering his domains to use his server for primary, and his hosting company for secondary.

But it seems that his hosting company, being a Microsoft Solutions Company that it is, uses Microsoft for everything, including DNS.

And the Microsoft DNS server can't (or won't, which amounts to the same thing really) do secondary DNS. And of course they add primary records with the wrong IP address for his domains.

That kind of defeats the purpose of them handing secondary DNS if they can't query my client's DNS server for the info.

Sigh.

Wednesday, October 04, 2000

An interview at a company

I arrived at the ungodly hour of 10:00 am for my interview at The Company. I ended up parking my car on the grass next to some other cars as the parking lot in front was filled to capacity. I figured that as long as there were other cars on the grass I was as safe as they were.

The security guard just inside the door handed me both a visitor's badge and the job application to fill out. I sat in a plush chair filling out various forms when C from HR showed up. She was the person I talked to the other day and she would be conducting the preliminary interview and tests before handing me off to E, the department head.

She introduced herself and then lead me inside the bowels of The Company. After walking around the maze for a bit she sat me down at a computer, started Netscape and loaded a page.

“This

Update on Tuesday, April 12th, 2022

Hmm … it seems I didn't finish this entry. Heh!


captain-napalm.com

Update on Tuesday, April 12th, 2022

Yet another unfinished entry. At the time I was writing these entries, the blog wasn't quite public yet (if you knew the address, you could get to it, but I not many people had the link). So now, twenty-one years later, I have no idea what I was thinking of doing with the domain name captain-napalm.com.

Go figure.

Monday, October 09, 2000

called at 9 — hired, get in here now

Tuesday, October 10, 2000

more orientation—learned I'm on first shift for the rest of the week

Wednesday, October 11, 2000

general killingnesss of first shift.

uhg.

Friday, October 13, 2000

learned I work first shift next week. uh.


learned from Kim I have a rep as hating Windows at The Company. Funny thing is, I haven't, to my recollection, said or done anything that would warrent this.

My reputation preceeds me, and is larger than life

Sunday, October 15, 2000

An Economic Theory of Moore's Law to win Nobel Prize

But the rate at which we approached these thresholds and correspondingly how quickly we will move past them is a question of Moore's law. While it may seem as if it took forever to get to this point, innovation will accelerate exponentially. The music industry should take heed of the following: “If you think it's bad now, you ain't seen nothing yet.”

Digital Music: The Real Law Is Moore's Law

In a little over a decade I could have a copy of every piece of music ever made in human history. Let's say 15 to get vinyl records that won't be converted to CD online.

My prediction (along an entirely different line): the first economist to describe a credible theory of making money in an environment of overabundance will win the Nobel Prize.

Scratch that: the winner will be the first economist to propose what amounts to a potlatch economy to the global scale will be the one to win the Nobel Prize.


Potlatch, the New Economy

Potlatch is a system of giving to obtain social status. It was a system practiced by the Native Americans in the Pacific Northwest (and possibly elsewhere, although I'm only familiar with it in the Pacific Northwest).

It's not the accumulation of wealth that conveys importance to a person or family in a potlatch system, but distribution (or destruction in some cases) of wealth that makes a person or family influential.

This was an actual survival mechanism, those who had the fortune to obtain large amounts of tradable goods would give out to those that were not so fortunate (say, due to flood, drought, or other natural disaster) with the implication that when times turn bad for them, there will be some other “big man” (to borrow a term) to give stuff out.

Note that this is an economic system based upon abundance or overabundance and might be another way for people like musicians to make a living: the more they give away, the more influence they gain.

Something to think about.

Tuesday, October 17, 2000

tcp/ip training at The Company

Wednesday, October 18, 2000

mark looses job

Thursday, October 19, 2000

DNS training

Friday, October 20, 2000

lunch with Kim and Friend—-Friend's boyfriend who taught DNS class was very impressed and wants to talk to me more.

I have this incredible rep at The Company and I've only been there two weeks.

Sunday, October 22, 2000

I catch Rob and friend just before they leave for work at The Company. I already have a rep on 3rd shift and I've yet to actually work 3rd shift.

I'm wondering if I can live up to my reputation. Perhaps I can have my rep work and I collect the paychecks.


know hoade for 20 years

Update on Tuesday, April 12th, 2022

Actually, I first met my friend Sean Hoade back in Octover of 1979, so it's actually 21 years, not 20. I just thought I should clarify that.

Tuesday, October 24, 2000

You know, I'm thinking that maybe I should start reading journals in a different way. I should assume that they're all fiction. After all, I never write Scarlett O'Hara or Buttercup or Rincewind to tell them what they're doing wrong or to offer advice.

So all of you are fictional characters, and if I meet any of the journal page authors in real life, I can think “Hey, that's the woman on which the main character in `Bad Hair Days' is based. Cool.” I won't feel like I have some sort of bizarre one-sided relationship where I know all sorts of things about you. We start from scratch, but as Columbine said somewhere else, with the equivalent of a letter of introduction.

Jette— When it's time to go. (links added)

Wednesday, October 25, 2000

The first day on the night shift and I walk into a fire storm. The entire network is doing the yo-yo fadango.

Nice.


The only job more potentially boring than the one I have is the security guard that sits in the same office as I do, watching the camera monitors.

I mean, it's somewhat interesting to watch the monitors from time to time, but for hours on end? Without a computer?


I'm under a wierd network attack. I'm seeing the following:

S:00C07B4D7D81 D:00806981001F  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00806981001F D:00C07B4D7D81  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00C07B4D7D81 D:00806981001F  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00806981001F D:00C07B4D7D81  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00C07B4D7D81 D:00806981001F  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00806981001F D:00C07B4D7D81  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00C07B4D7D81 D:00806981001F  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00806981001F D:00C07B4D7D81  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00C07B4D7D81 D:00806981001F  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038
S:00806981001F D:00C07B4D7D81  IPv4        S:163.153.172.6   D:208.26.72.31     ICMP    echo request	1038

Ad nasuem. 00:C0:7B:4D:7D:81 is the ISDN unit, and 00:80:69:81:00:1F is the terminal server I have, which Mark used to dial into, until he got IDSL. I turned the terminal server off, and I'm still seeing echo requests from 163.153.172.6 coming in, every three seconds or so. There's nothing in the packets (just zeros) which is odd. I can't traceroute to 163.153.172.6 so it's probably forged source packets.

The destination IP address is interesting—it was Mark's broadcast address, which leads me to think this is a so called smurf attack.

Thursday, October 26, 2000

Just before my shift ended yesturday I asked E what happens if the power goes out. I knew there was a generator so the primary data center won't lose power but I was curious about the rest of the building.

E answered that the entire building was covered with the generator and that nothing goes down.

I only bring this up because the power flickered off and on briefly this morning.

Friday, October 27, 2000

Mark picked up Writing Apache Modules in Perl and C. Or rather, as Mark pointed out, it should be called Writing Apache Modules in Perl, because you know Perl and Perl is great. By the way, Perl is written in C (of course, that title may put too much emphasis on C).

Saturday, October 28, 2000

security guard and the bible

Update on Tuesday, April 12th, 2022

You got me. This is yet another unfinished entry.

Sigh.


quiet night at work

Sunday, October 29, 2000

a wired Jamison


busy night — three cases


turning back the clock and our internal trouble tracking system problem


http://www.shanghaisteve.com/fortune/4t6-31.htm

bad day for “use cats for shark bait”

www.plif.com the comic with attitude

Monday, October 30, 2000

got source code to its

Wednesday, November 01, 2000

Updates

Yes, I realize the journal has been lacking. Yes, I need to make updates. And yes, I have notes for the past month. I'll be slowly updating the previous entries. It'll just take some time.

And I should have plenty of time at this new job of mine.


I've heard of red tape, but blue tape?

I noticed blue masking tape placed around the florescent lights at The Company. Not everywhere, but in enough places to pique my interest.

In my office, there is no tape.

Hmmmmm …


Blue Tape Incidents

Found out what the tape is for—there's work being done on the roof and the tape is to keep either dust out, or the lights up.

I'm now hearing reports of debris falling on peoples's desks in other parts of The Company and increased levels of noxious dust. Oh, and migrains, I suspect from the noise. Or dust.


The Non-schizophrenic

“Yes, but what about the pommegranites?” he asked. I looked over the gas pump to the fellow on the other side. No one near him, and he certainly wasn't talking to me. “I need the pommegranites,” he said, really needing the pommegranites it seems.

I peered into his car. Couldn't be one hundred percent sure, but there seemed to be no one in the car. What an odd fellow, I thought.

“Okay, maybe we cam substiture kwumquates,” he said, replacing the gas nozzle to the pump and turning his head just enough for me to catch the ear piece and the wire snaking down to a unit on his belt. “But people are going to notice.” I just noticed that he wasn't schizophrenic.

Thursday, November 02, 2000

More Blue Tape

Come into work to find blue tape around the lights here in my office.

This bodes not well.


“It's aliens. I seen them.”

5:00 am. There's this horrible noise eminating from the ceiling through out The Company here. Horrible. Building shattering. Threatening. Frighening. I ask Rob (my roommate and now fellow cow-orker) what's up with the noise.

“It's alien super models come to kill us,” he said.

“Are you sure they're not going to abduct us and make us sex-slaves on their planet?”

“Nope,” said Rob. “They're here to kill us.”

“Darn!” I said as the noise got louder.


Rainbow Series

Wow! The entire Rainbow series is available online!

Although I would still like to order the deadtrees version of the books.

Friday, November 03, 2000

Still missing the bus it seems

On my drive home I'm seeing a number of school busses (and I pass through three school zones on the way home). It's been thirteen, maybe fourteen years since I last rode a school bus, yet I still have nightmares where I miss the bus, or I get on the wrong bus, or can't find my bus.

Yes, I am still emotionally scared from my time spent in the American Educational System.

Saturday, November 04, 2000

Hamless ham and cheese without the cheese.

For lunch there isn't much of a choice—it's either the Vending Machines O' Death at The Company, or a 24 hour gas station with a very good deli section.

It's pretty much no contest.

So I walk into the gas station with the very good deli section and place my order: “Ham and cheese, half size on white.”

The clerk behind the counter grabs the break and asks, “What type of meat do you want?”

This isn't an isolated case either. Years ago I used to stop off at Subway since it was on the way to work and the following exchange would routinely happen:

Opening move. “Yes, I'd like a foot long ham and cheese on white.”

Counter move: “What type of bread?”

“White.” What, like I'm going to say, No, I'd like my white bread to be wheat please.

“You want cheese with that?”

No, I want my ham and cheese without cheese, thank you. “Yes please.” Sometimes “American.” Depends on the cheese selection and the store.

And the killer move: “What type of meat?” Check and mate!

Uh, hold the ham. Yes, I'll have a hamless ham and cheese without the cheese. Yes, that would be great. Sigh.


BBQ Potato Chip Goodness in a Can

I couldn't belive it! Right there, at the gas station with a deli, was a rack of Charles Chips! Okay, so they were bagged instead of canned, but … Charles Chips!

Years and years ago (and we're talking at least twenty years here) I remember Alice (who used to watch me after school) buying these huge tins of BBQ Charles Chips and I would sit in front of the TV and gorge myself on them. Wonderful BBQ potato chip goodness in a can. I couldn't get enough of them.

But that was then, and this is now. And I haven't seen a Charles Chip in over twenty years. But now … there it is … a rack of Charles Chips!

They're as good as I remember them to be.

Tuesday, November 07, 2000

A hellish workplace

A programmer's work environment should be a supremely comfortable place to sit, look at information on a screen, and type. At ArsDigita we accomplish this via providing Aeron chairs, the keyboard of the programmer's choice, and at least two monitors. In the summer, the place should air-conditioned [sic] 24 hours per day, 7 days per week. In the winter, the office should be heated and humidified (often neglected). The air should be cleaned year-round with high-efficiency mechanical filters and electronic cleaners so that allergy sufferers are not discouraged from working.

If you see one of your best people walking out the door at 6:00 pm, try to think why you haven't challenged that person with an interesting project. If you see one of your average programmers walking out the door at 6:00 pm, recognize that this person is not developing into a good programmer. An average programmer's productivity will never be significant in a group of good programmers. If you care about profits, you must either come up with a new training program for the person or figure out the best way to terminate his or her employment with your organization.

ArsDigita Systems Journal:  Managing Software Engineers

I'm not sure if the working environment described here is heaven or hell or some unholy mixture of the two.

Wednesday, November 08, 2000

Neck and neck

I'm sitting here at work watching the election results. As my fellow cow-orker S. just said, “This is as much fun as watching a football match.”

Current score: Bush leading Gore with less than 1,000,000 popular votes, and both are tied with 242 Electoral College votes, five states remaining, including Florida and all five states are very close.

Simply incredible. Much more interesting than the '80 and '84 elections (where Regan won with 49 states ('80) and 50 states ('84)).


Talking Heads

[Setting: modern newsroom with thousands of TVs in the background. Talking heads abound the newsroom. The camera focuses in on one of them.]

TALKING HEAD #1

So I think at this point a tie in the Electoral College is impossible and it will never get to the House. Is that correct? Is a tie impossible?

[Turns to another talking head]

TALKING HEAD #2

[Picks up paper and pen and starts scribbling]

Well, right now it's two fourty two to two fourty two and you need twenty-eight to win but if you take Florida with twenty-five, you carry the one over and then if you add in Nevada and Wisconsin you …

TALKING HEAD #1

[Talking over TALKING HEAD #2]

I'm sorry I asked the question. I must apologize to the American public about this. I'm so sorry I asked the question.


Dead Men tell no tales, but do get elected

Well that's a first! A dead guy (Mel Carnahan) was just elected to the Senate.

Now isn't that special.


Fall down, go boom

My God! The buiding is falling down! There's a rain of debris falling among the crew here! Help! Help!

Seriously.

The guys are now working on the root right above my office and it's just horrible! My god I'm expecting a working to come falling through the ceiling any second now.


This bodes not well

Good lord! It sounds like the ceiling is caving in!

Jesus Christ! Where's my hard hat?

Thursday, November 09, 2000

Jewish coalition elects Pat Buchanan

But Palm Beach County Commissioner Bert Aaronson, who represents the West Boca and West Delray areas, disagreed. "I don't think we have 3,000 Nazis in Palm Beach County," he said.

So me Florida ballots illegal

Heh.


W Dance

And in the tradition of Hampster Dance comes Dubya Dance. It's even funnier with “Flashdance” (which is on the radio as I write up this entry).


Voting methods

“Exports, scholars, deep thinkers could make errors on electoral reform,” Natapoff decided, “but nine-year-olds could explain to a Martian why the Yankees lost in 1960, and why it was right. And both have teh same underlying abstract principle.”

Math Against Tyranny

Why the electoral college is A Good Thing.

For example, if all Democrats rank Gore first and Bush last, and all Republicans rank Bush first and Gore last, voters might wake up the next morning with a surprise winner—Ralph Nader, say, or Pat Buchanan—thanks to all the second-place votes. The system would clearly take some getting used to. (The problem of insincere voting was pointed out to Borda himself. His response was characteristic of a more optimistic age: “My system is only for honest men.”)

May the Best Man Lose

Alternative methods of voting than simple majority or plurality.


“ … or blown out candles or colored marbles depending on the county.”

As of this writing, the new President of these United States isn't known. The initial results of Florida's general election gave Bush the state by only 2000 votes. Because this slim lead easily falls within the margin of error, the home state of Mikey Mouse and German tourist murderers is recounting the ballets – or blown out candles or colored marbles depending on the county. Whoever is declared the winner there will surely go on to claim "a clear mandate from the people". Considering the source, that mandate will likely include Geritol and cheap stool softners for all.

Funny commentary on election from a Slashdotter


“… I don't know where the hell we went now …”

Light flashing on the answering machine. I punch the button.

Incoherent mumblings. Then an old woman: “ … I guess the number you know … ”

Another, older sounding woman, sounding a bit distant: “he's—he's out which … I don't know where the hell we went now … ”

End of message.

I'm not sure if I want to *69 them or not …

Friday, November 10, 2000

Play with the Electoral College

Now this is a cool Java Applet. It's the Electoral College Calculator and it allows you to play “What if” games, selecting different states to either Republican, Democratic or Independant (read: other). It also has data from the elections from 1980 through 1996.

Using it, I found that it only takes 11 states to win the election: California, New York, Texas, Florida, Pennsylvania, Illinois, Ohio, Michigan, New Jersey, North Carolina and one of either George or Virginia. That alone will get you 270 Electoral votes. All other states combined only add up to 268.

Very fun program.


Topiary

I'm talking to Spring, and she informed me that the wierd alien thing I photographed is in fact a topiary. I checked an online dictionary and it's not quite that—it's topiary-like, but it's not a live plant.

And here I though the thing couldn't be classified.


The Dreaded Comfy Chair

I swear, I was getting ready to hang out with my friends. Okay, so I got up when I was supposed to meet them (7:00 pm) but hey, they're my friends, they'll understand.

I then made a big mistake: I sat down in The Comfy Chair!

The Comfy Chair is this cusiony-sink-down-into-it type chair that is all too easily to fall asleep in. Deep asleep in. My intention was to put on my shoes, but I think I sat back to relax for a second because the next thing I remember is my roommate Rob going “Sean! It's eleven o'clock. Sean! Get up!”

Just in time to make it to work. Sigh.

Saturday, November 11, 2000

Topiary Hell

Spring wrote more about topiaries, and sent the following links:

Potpourri Easter Egg Topiary
Valentine's Day Topiary Centerpiece
Sweet Treats Topiaries
Classic Duet

Oh the horror! The horror! Mommy! Make it stop!


Architectureal Heaven

I mentioned to Spring the other day about this Greek Orthodox church I drive by everyday to and from work.

I'm interested in architecture. And this church is one of the most beautiful (if not the most beautiful) churches in the area; I think it has a neoclassical design—you have your gold domes, the cross at the apex, a bell tower, but out front it has this stand of free-standing columns that give it a unique look. Simply gorgeous.

So when I discribed it to Spring she was very intrigued and wished she could see it. So I brought my digital camera to work so that on the way home in the morning, I could photograph it. [will add photos when I get a chance to]


Urban Decay

Also on the way home from work I pass what used to be Solar Testing Service Inc. Used to be because either it moved locations or went out of business. I remember there being hundreds of solar panels mounted about two feet off the ground in the field next to the building but now there is nothing left but an abandonded building and a field of posts.

Nothing like the beauty of urban decay.


Birthday Party

Today was Mark's birthday party and John, the paper millionaire of a dotcom, was hosting it for us. Unlike the last party John threw, there were no strippers.

It was just Mark's very close friends and family (his father). We sat around, eating freshly grilled burgers, warmed macaroni salad and cold baked beans (their maid is from another country and doesn't quite have our cuisine down pat), soda and beer. All of it good. And one delicious chocolate cake that was to die for.

Later on, we marveled at John's 800 gallon salt water aquarium, home to a few dozen fish, a dozen snails, live coral, some shrimp and two suicidal fish that kept wanting to be sucked into the filtration system. Mark and John spent some time keeping the fish from suicide runs (or who knows, meybe they get a rush from doing that) until they seemed to stop it.L

Afterwards, we ended up watching a forgettable film (Milk Money) and American Beauty on a digital HBO broadcast on John's 72" HDTV. Wow. HDTV, if you've never seen it, is simply incredible—it's like being in a movie theater.


Work Agony

What I didn't mention last week was that it was the Week From Hell. After getting home from work (remember, I work the midnight shift), I got a call from my friend Jeff Cuscutis (I know entirely too many Jeffs) called me up around noon to remind me we were getting together.

This only after two hours of sleep.

So I ended up spending the entire day over at his house and leaving in time to drive to work and spend eight hours there.

I must have been up for 28 of the previous 30 hours. It was horrible (and is one reason why there isn't an entry from last Sunday).

Anyway, this week was similar, except that I got twice as much sleep (four hours) and I spent it at someone else's house (John the paper millionaire of a dotcom).

Sigh.

On the plus side, like last week, I was able to (electronically) chat with a friend.

Monday, November 13, 2000

A very odd occurrence

Very odd. Yesturday I got up quite late (9:00 pm) feeling rather bad; very tired and somewhat nauseous because of this incredibly bad headache. I either slept too much, or had yet to catch up on sleep. I chatted with a few friends (no, I didn't mind chatting) then watched Desperado, listening to the director's commentary (I had watched El Mariachi last week, borrowing the DVD from my friend Jeff Cuscutis and all I have to say on both is “the DVD with both films is worth it if you're into making low-cost films”) and fell asleep by 4:00 am. I woke up at 9:00 am this morning.

That's what I found very odd.

Not only that, but I felt like getting up; I wasn't sleepy at all.

Odd.


Me? Bitter?

I spend my second day off from work (my logical Sunday, even if phyically it's Monday—sorry, old computer joke there) with a client, doing the work any competent Unix sysadmin should be able to do.

Me, bitter? Naaaaaaaaaaaaaaaaaaaaaah.

At least I had lunch at Byblos, a local mid-Eastern restaurant in Boca Raton and I really like.


Farewell Dinner

Mark has been at his job for less than a week, and not only is the expert on the project he's been thrown on, but he's being shipped out to Texas on a business trip tomarrow.

So tonight JeffK and I took him out to dinner to wish him well on the trip. We went to the Road House Grill. It's a steak house where they have buckets of peanuts on the table and you can toss the shells on the floor. The food is good and the atmosphere tolerable (in that while they do play country music, it's not loud enough to be truely annoying).

Afterwards I showed Mark the pictures from his birthday party and then we rented Frequency, a time travel story without the travel.

After the movie, JeffK and I kicked ourselves out to allow Mark time to pack, even if it was after midnight.


Frequency

Frequency, a movie staring Dennis Quaid and James Caviezel, is a time travel story without the travel. Basically, a freak solar storm in 1969 and 1999 allow a father (in 1969) to speak to his son (in 1999) over a short-wave radio set (the same set as it turns out). Given that leap of faith, and the the belief that changes made in the past change the future, it's fairly consistent in its treatment and an interesting twist to the time travel genre. Worth seeing if you into that type of film.

Tuesday, November 14, 2000

Teleselfconscience

More times than not, I find myself being very self-conscience when on the phone, where I think I come across very badly. I've been assured that this is not the case, but still, I feel this is the case quite often.


An early thanksgiving

Thank God for email and instant messaging. Else my phone bill would be ballooning right now.

Thursday, November 16, 2000

The Quiet Zone

I'm sitting here at work, things are quiet and nothing is really happening. I'm watching the security guard, who sits in our office at night because of the video recording equipment is here and his head is doing that sleep bobbing thing. In fact, I think he's asleep right now.

It's very quiet in here, except for the clacking of my IBM PS/2 keyboard (which I brought in specifically for use on the machine here at work. Accept not substitutes).


Scenes from a Gas Station Deli at 3:30 am

“My God it takes forever to get a sub in the place,” she said. Thick soled sandals, ends that justified the blue jeans and a white form fitting tank top. Facial structure similar to Juliette Lewis only cuter and with brown wavy hair. She turned around and faced me. “Hey, you finish work or something?”

I looked up from the magazine I was browsing through waiting in line. “Actually,” I said, “I'm on my lunch break.”

“What?” said Cute Girl.

“Yea, lunch break. It's what? 2:30 am? 3:30 am?”

“Wow.” She seemed so impressed that I was working such wierd hours.

“Yea, I work midnight to—” But not enough to actually listen to me.


Scenes from a Gas Station Deli at 3:31 am

Cute Girl was still fighting for her subs to be made, I was still standing in line browsing a magazine when a girl, maybe mid 20s walks up, carrying a case of beer. “Excuse me,” she said. “Are you in line?”

I look up. “Yes.” I now notice that her dress is a thin nearly translucent material and that she isn't wearing much else. Somewhat cute.

“Excuse me,” she said. This time to the guy behind the counter. “Excuse me?” He finally clues in that someone else is calling for his attention and stares at her. “Where is the wine?” He just stands there in incomprehension. “Wine!”

This time Cute Girl interceeds. “Wine!” she said, louder so that he could understand English better. He finally clues in, and points to a set of coolers on the other side of the store.

It's by this time I realize this newcomer is rather tipsy, because I had been standing in front of a rack of wine all this time.


Scenes from a Gas Station Deli between 3:35 am to 3:45 am

The deli clerk behind the counter is working on Cute Girl's subs when he wanders off for about ten minutes. I presume to handle the alcohol purchases of Tipsy Girl. He eventually makes his way back and starts on another sub.

“Uh, excuse me,” said Cute Girl. “I'm not done with that sub yet.” She points behind the counter to another sub. The guy doesn't seem to understand. “I'd like some banana peppers on that sub.” He stands there. “I'm not done with that sub. Banana peppers. That sub!” He finally clues in.


Scenes from a Gas Station Deli at 3:50 am or Another hamless ham and cheese without the cheese

“Yes, I'd like a big ham and cheese please,” I said to the deli clerk.

“What type of meat?” he asked me.

Sigh.


Scenes from a Gas Station Deli at 4:00 am

Another clerk had worked his way out from the back of the store and was handling the register to help Cute Girl with her sub purchases. She was still at the register when my sub was finished so I stood in line behind her. The clerk looked perplexed over what the register was telling him, then took Cute Girl's credit card to another machine. This one had multiple levers on it, apparently to set the price of the transaction, and he took out a carboned credit form. He puzzled over the intracate workings of a credit card machine from the 70s and after ten minutes decided that it too, must be down. He then turned towards Cute Girl. “The computers, they are down.”

“It didn't accept my card?” she asked.

“The machines, they are down.”

“You know,” she said, digging through her purse for money, ”I could have gone to the ATM and be back in the time that took.” He spent another five minutes writing her order down on the back of an envelope and ringing up the price on a calculator.


Scenes from a Gas Station Deli at 4:05 am

On the way out, I ran into JB from The Company making a food run. “Hey Sean,” he said. “If you had but asked, I would have gladly taken your order for food.”

“Sorry,” I said. “But alas, I was hungry and I needed sustenance.”

“Then will you join me in my quest for food for our fellow cow-orkers?”

“I have been here already half an hour and I fear that your quest shall take a fair amount of time of which I do not wish to partake in.”

“Please, just a few minutes,” JB said. His tone was such that I relented.

We bantered for the few moments it took us to walk to the deli counter. “Please, sir, I would like to order four subs,” JB said to the deli clerk.

“Sir, four subs please.” The deli clerk made some motion with his head. “Do you not do the subs?”

The deli clerk perked up. “Yes,” he said.

“Then four subs.”

“I shall see you back in the comfort of The Company offices,” I said to JB, not willing to endure any more of this deli tonight.

Friday, November 17, 2000

Incuring the wrath of a sysadmin

I got into some mild trouble at The Company yesturday for some email I sent out on Wednesday.

I'm supposed to be on a department mailing list but I haven't received anything. My boss E said I was supposedly added, so I sent the following message to the list:

I hate subjugating all of you with a test message, but I just have to know if I am actually getting email that is being sent to —-@—-.— and this is the only way I know of testing that. Well, short of breaking into the mail server and checking the alias file myself and I certainly don't want to incure the wrath of SA by doing that.

I thought the list would only go to our department.

Well, make assumptions and all that.

Apparently the head sysadmin, sorry, Chief Technical Resource is also on the list and got miffed at the slight I make towards SA:

Could you please discuss the e-mail below with Sean. The comments that he makes are inappropriate.

The Chief Technical Resource then forwarded it my my boss's boss, who said (to my boss):

I agree, if he was serious in his comments I consider this a serious issue. E, we need to address this with him and also talk to your group about security emphasis. Let me know when we talk to him.

My boss wan't that upset—he himself got “a talk” about a comment he made during my interview. Nice to know some people around here have a sense of humor.


Time adjustment

The other day the security guard asked if (or when) I had time, could I reset the clock on the security recorders, as they were about two hours fast. I got into work a bit early, the security guard was making his rounds and I had nothing better to do, so I dug out the manual and made the time change.

A few minutes later the phone rings. It's the security guard. He was me playing around with the time on another set of monitors by the front door and wanted to know what was going on …


That Much

I am seriously bummed. I missed talking to her by that much! on AIM.


Crying Wolf

Information wants to be free, but information providers want to be paid.

Scripting News, Let's cough up the cash for Web content

While I like the idea in general, I love the quote.


More Urban Decay

Lights started flashing and this annoying buzzing sound filled the office. I looked over to my fellow cow-orker. “It's the fire alarm,” he said.

“Does that mean we have to lock our workstations before leaving?”

“Yes.”

Work stations thus locked, we ambled out with the rest of the night crew into the early morning air. The entire building is abuz with the fire alarm and the security guard is running around getting everybody out and trying to locate the the cause. The skeletal crew mill about, joking about what the cause might be.

Some ten minutes later a fire truck arrives, pulls into the parking lot, does a U-turn and leaves. A minute later the alarms go silent. The crew start their migration back inside The Company.

Our enforced break is now over.


I'm glad I took pictures of Solar Testing Services Inc. As I drove home the field was clear of the posts and workmen were demolishing the building.

Sunday, November 26, 2000

foggy night


fire alarm at 4:30 am again

Tuesday, November 28, 2000

drive back

Friday, Debtember 15, 2000

TA DECYZJA ZNAJDUJE SIE W REKACH URZEDNIKOW.

I received the following email today:

Return-Path
<LISTY@SKRZYNKA.PL>
To
<spc@armigeron.com>
Date
Fri, 15 Dec 00 00:19:58 Europa rodkowa (czas stand.)
Subject
KTO ZAROBI 150 MLN $.....

KTO ZAROBI 150 MILIONOW DOLAROW W PRZYSZLYM ROKU? TA DECYZJA ZNAJDUJE SIE W REKACH URZEDNIKOW.

ODWIEDZ NOWY WORTAL WWW.HERC.PRV.PL

ten adres e-mail zostal znaleziony na stronie internetowej

Yea, I don't understand it much myself.

Monday, Debtember 18, 2000

No DSL Horror story here …

I'm am still being amazed with the level of service that Velotel provides. IDSL is supposed to be installed sometime between 10:00 a.m. and 2:00 p.m. I arrive home around 9:00 a.m. (traffic on the way home delayed me) to find my roommate had already let in the installation guy.

Wow!

He even beat the equipment here! (That's scheduled to arrive later on today). He had an extra unit to test with and everything seems fine for the actual equipment when it comes in.

Woo hoo! I can't wait!

Velotel. Remember them. Go with them. They are so cool!


30 Lbs. in 30 Days

Oh my. Would you gain 30 pounds to earn $3,000? These two people did.

And for some reason, I find the girl cuter at the end than at the beginning. Then again, I like women who have curves.


That's Billonaire, with a “B”

I'm poking around TheSpark when I view the explanation for their Bone-EasyTM Pickup Line software when I'm selected to win a billion dollars! Of course the fine print states the offer is void in Florida.

Of course!

So even if I were stupid enough to give away my email address (sheay, right. I'd give them a throw-away one) I would still be unable to play.

Update on Wednesday, October 31st, 2012

Someone has emailed me several times offering a link to replace the broken links on this page. Unfortunately, said person has obviously neglected to read this entry and is trying to blindly get me to link to some random website somewhere to improve their website's search engine placement.

Um … no.

So I removed the links (now long past dead) from this page.


5 Minutes to a Speedier Internet

So I close the lottery window and pop! Another window pops open (WARNING: do you really want to click on the link below?):

Your Internet connection is too slow.

Go to netsetter right now to speed it up (free).

Click here to fix your connect for free.

So I click …

Gee, all they seem to do is either install a browser, or munge the settings on your current browser to go through their web proxie servers, and send the content down to your computer compressed. Meanwhile, they collect valuable browsing data and sell it. Oh, they won't sell your name to anyone, just your demographics.


Looking a gift page in the browser

As I'm trying to leave the site I'm currently sucked into, more windows pop up! This time offering me a free gift! Just for stopping by.

Blah.


Okay, ONE DSL Horror Story here …

A primal scream fills the air as I realize I won't get my IDSL connection up until tomarrow.

I write this note [Knock Loudly!  Knock like you've never knocked before!] to stick on the door so the delivery person would knock loud enough for my roommate Rob would hear. Don't want to miss this deliver. Only to find a ticket on the doorknob—I already missed the delivery!

At 11:54 a.m. a delivery person came by my condo, and not finding anyone here, despite the fact that there were three people in the condo at the time, left, leaving a notice on the door.

I called the delivery company and since it's the Holiday SeasonTM and all, the driver can't stop by again today, but another attempt at delivery will be made tomarrow.

I suppose I should have left the Post-ItTM Note on the door earlier. Sigh.


Double checking

I called Velotel to double check the IP addresses I have so once the IDSL unit comes in, I can plug it in and go. Got an IP address, along with the gateway address. An IP address. As in one.

I had ordered 13 (a block of 16—two can't be used, one is used for a gateway on their side, leaving me with 13). I asked about this, since on the form I had asked for a block of 13. It seems they don't give out such large blocks to residential customers, but I could get 5 (block of 8, two can't be used, one for gateway). Okay, sign me up for 5 IP addresses. They should be ready by the end of the day, we'll call you back.

Tuesday, Debtember 19, 2000

Nondelivery

So I'm still waiting for my IDSL unit to come in.

All day.

I call the delivery company only to find a recording telling me that the office closed and to call back during normal business hours.

Wednesday, Debtember 20, 2000

Yet another day spent waiting

I have both the notice they left on Monday and the post-it note saying to knock loudly. Still no IDSL unit. Only this time I call the delivery company before they close.

“What's the tracking number?” the person on the other end asks. I give the number. “Please hold.” I hold. “Oh, that package is in the redelivery room. It'll be on the truck tomarrow. If you aren't going to be there, have the notice signed so they can leave it.”

Sigh.

Thursday, Debtember 21, 2000

Nipply

It's cold. It's beyond brisk. It's beyond nipply (as Spring would say). It's cold! As in, in the 30s, with a wind chill expected to get down to the 20s. In Florida!

Brrrrrrrrrr.


Cult of Kibu

The Face of Animals took her unhiring gracefully (she had a day job at the local zoo), but the Face of Advice immediately burst into tears. This was followed by pleading ("The girls need me!"), hysteria (hiccupy sobbing), threats ("I want my image taken off the site immediately!") and although I'm no therapist, what seemed like suicidal ideation ("This job meant everything to me! It was my life!"). To make matters worse, I canceled the Face of Advice's upcoming story, "How to Deal With Rejection." A couple days later, I called to see how she was doing. "I still can't believe I'm being fired!" she wailed. "Oh, no," I assured her. "You're not being fired. You're just being, you know, unhired." It didn't sound that strange at the time.

Via CamWorld, Inside the Cult of Kibu

I just can't believe the depths of stupidity that .coms hit. I mean, how where they expecting to make money anyway?


But not as nipply as Bismark

Driving home from work I hear that winter officially starts at 8:37 am (Eastern it seems) this morning. It was also reported that Bismark, North Dakota reported -12 degress with a wind chill factor of -51. At those temperatures, it doesn't make that much of a difference between Celcius or Fahrenheit.

My god it's cold!


More DSL woes

The IDSL unit finally arrived! Giddy with excitement, I rip open the package and start hooking it up. I tell Rob (my roommate) to call up Velotel to get the IP addresses assigned for me (they didn't call me back. No big deal).

The IDSL unit isn't syncing up. I still don't have my 5 IP addresses. I think I'm slowly sinking into DSL horror territory. I call up Velotel and report the problem. They call North Point (who is providing the actual circuit). North Point is calling Bell South.

And the circuit still isn't syncing up.


helping rob wrap presents

Obligatory Picture

Trying to get into the festive mood this year

Obligatory Contact Info

Obligatory Feeds

Obligatory Links

Obligatory Miscellaneous

Obligatory AI Disclaimer

No AI was used in the making of this site, unless otherwise noted.

You have my permission to link freely to any entry here. Go ahead, I won't bite. I promise.

The dates are the permanent links to that day's entries (or entry, if there is only one entry). The titles are the permanent links to that entry only. The format for the links are simple: Start with the base link for this site: https://boston.conman.org/, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

https://boston.conman.org/2000/08/01

You can also specify the entire month by leaving off the day portion. You can even select an arbitrary portion of time.

You may also note subtle shading of the links and that's intentional: the “closer” the link is (relative to the page) the “brighter” it appears. It's an experiment in using color shading to denote the distance a link is from here. If you don't notice it, don't worry; it's not all that important.

It is assumed that every brand name, slogan, corporate name, symbol, design element, et cetera mentioned in these pages is a protected and/or trademarked entity, the sole property of its owner(s), and acknowledgement of this status is implied.

Copyright © 1999-2024 by Sean Conner. All Rights Reserved.