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.

Thursday, January 01, 2004

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

And I feel fine.

Resolutions for this year?

  1. Do not make resolutions I cannot keep.
  2. … um …

So. There you go.

Friday, January 02, 2004

It was a dark and stormy night …

I say, bleah. Brevity is the soul of wit, and this goes on and on and on and then it goes on and on and on some more and then it goes on for a bit after that. Long, long, long. Much funnier, sez I, is the likes of this:

Jennifer stood there, quietly ovulating.

The Lyttle Lytton Contest

The Bulwer-Lytton Fiction Contest requires one to write the most horrible opening sentance to a novel; the Lyttle Lytton Contest is the same, only you are restricted to 25 words or less, which makes for funnier openings, such as:

Monica had exploded, and I had a mystery, and pieces of her pancreas, on my hands.

B. Otter

or

For centuries, man had watched the clouds; now, they were watching him.

S. Sachs

Great stuff here. Now I just need to come up with a horrible opening line to a novel.


Yet another blogging award type thang

And speaking of contests, there is also BlogMadness 2003, where participants enter what they consider to be their best entry of 2003. Sounds interesting, so I combed through the entries for 2003.

It's sobering that I didn't really find that many entries I liked. It was quickly narrowed down to two entries, a three line entry (six lines if you include the title) and the Fourth of July entry, with pictures.

As much as I liked the three line entry, it was this picture that won out, so that was the entry I entered. I can only hope I at least I get some technical award or something.

Sunday, January 04, 2004

Referrer spam

It appears, b!X pointed out, that “Joe Lieberman is advertising his website by hitting unrelated websites to which it does not link, passing along false referer information that points people to the joe2004.com website.”

Doc Searls Weblog

I've checked my own referer logs for this month (January) and I haven't seen the Joe Leiberman referer spam, although I did see Wesley Clark referer spam (I guess if it's good for one, it's good for the other) and plenty of sites hawking the Paris Hilton (although why the Paris Hilton needs such advertisements is beyond me—are they going bankrupt there or something?). And in an incredible display of tackiness or cluelessness (or both!), I got referer spam from StarProse Corporation which has an article about how bad referer spam is.

And Andrew Jackson is still the most popular thing being linked to here.


Why I did what I did during a DDoS attack

While looking for referer spam I found that my entry about fending off a DDoS attack has been quite popular, but upon rereading I found it rather terse. So I figure I might as well clear up some details of what exactly I did.

netstat -an to check the state of all network connections, and given that there were an enormous number of connections in the SYN_RECV state is an indication that a SYN flood (where hundreds of connections are initiated but not completed, thus flooding out legitimate traffic) is underway.

Normal TCP/IP networking is open to an attack known as “SYN flooding”. This denial-of-service attack prevents legitimate remote users from being able to connect to your computer during an ongoing attack and requires very little work from the attacker, who can operate from anywhere on the Internet.

SYN cookies provide protection against this type of attack. If you say Y here, the TCP/IP stack will use a cryptographic challenge protocol known as “SYN cookies” to enable legitimate users to continue to connect, even when your machine is under attack. There is no need for the legitimate users to change their TCP/IP software; SYN cookies work transparently to them. For technical information about SYN cookies, check out <http://cr.yp.to/syncookies.html>.

If you are SYN flooded, the source address reported by the kernel is likely to have been forged by the attacker; it is only reported as an aid in tracing the packets to their actual source and should not be taken as absolute truth.

Help from the Linux Kernel 2.4 Configuration screen

sysctl -w net.ipv4.tcp_syncookies=1 is the command used to enable SYN cookies in the Linux kernel. This helps some with the type of attack we were experiencing.

sysctl -w net.ipv4.tcp_max_syn_backlog=2048 increases the number of incomming connections the kernel can keep track of. Increasing this value is a bit of a double edged sword in such an attack—on the one hand, we allow more connections, thus hopefully allowing legitimate connections through, but on the other hand, we allow more connections, thus allowing more machines to SYN flood the machine. Given some of the other steps I took, this was probably a good idea overall.

sysctl -w net.ipv4.tcp_syn_retries=2 (which I forgot to mention in the original entry) decreases the amount of time the kernel spends trying to establish a TCP/IP connection (from a default value of 5 attempts to two) which helps to flush the bad connections from the system quicker.

route add -host <ip-addr> reject which causes the kernel to ignore packets from the given IP address, and also flushes current connections from said IP addresses from the system. This was the thing I was doing that kept the system up and running during the attack. I ended up writing a script to continuously check the connections, then once a certain threshhold of bad connections was exceeded, ban all the addresses.

The site was eventually taken down dispite all the attempt I made to keep it up since the network traffic to the site in question was swamping the rest of the network the machine was on (it was the colocation facility that said enough is enough and shut the site down). Other than that, I was fairly successful in keeping the website accessible.


Some notes on being a writer

… how do you become an author?

I always give the same answer: it's easy to be an author, whether of fiction or nonfiction, and it's a pleasant profession. Fiction authors go about making speeches and signing books. Computer authors go to computer shows and then come home to open boxes of new equipment and software, and play with the new stuff until they tire of it. It's nice work if you can get it.

The problem is that no one pays you to be an author.

To be an author, you must first be a writer …

The secret of becoming a writer is that you have to write. You have to write a lot.…

I am sure it has been done with less, but you should be prepared to write and throw away a million words of finished material. By finished, I mean completed, done, ready to submit, and written as well as you know how at the time you wrote it. You may be ashamed of it later, but that's another story. [emphasis added]

Jerry Pournelle: How to get my job

I would think that after four years of doing this I would have a million words done by now, but nooooo. I only have about 340,000 words of material here.

Heh. Only.

Only 660,000 bad words left to write.

By contrast, I suspect that Atlas Shrugged (by Ayn Rand) has about half a million words (only it feels twice as long). And Jerry Pournelle's The Mote in God's Eye (okay, him and Larry Niven) has about 224,000 words in it.

Can you tell I'm trying to pad my count with worthless entries?


Finally I get to see it

I finally got to see Return of the King today, and I found it well worth the price of admission and not at all did it feel like a three and a half hour film.

However, the Coke and popcorn was not worth the $9 I paid. Ouch.

Monday, January 05, 2004

More stuff

I came downstairs to find the Computer Room had exploded and a distraught Spring trying to piece it together again.

Okay, it didn't literally explode—just that the stuff in there finally got to Spring so she started tossing items out of the Computer Room. In this case, pretty literally tossing items out of the Computer Room (I'm still finding bits and pieces of a former mouse that didn't survive—not that it deserved to live anyway).

To calm her down, I gave her the task of sorting through a box of papers, tossing out the garbage, keeping the important stuff. She didn't quite understand why I had her do that when the rest of the room (and the front entry hall way) was still in a state of mess, but there was method to my madness; basically, get her out of the room and concentrating on something else while I finished cleaning up the area around the Computer Room.

Once she was done with the sorting, I had her file everything in the box. She still wasn't clear why I was having her do such seemingly inconsequential tasks, but such inconsequential tasks (which weren't all that inconsequential) were calming her down.

In the mean time, I had pretty much finished with cleaning up the Computer Room and front entry hall and the mountain of stuff seemed more managable. And it's certainly more roomy in the Computer Room now.


The rest of Dillinger's desk is not far behind

The VKB attaches to handhelds and projects the image of a full-size keyboard onto the surface of the desk where the handheld is placed, allowing the user to input text without a physical keyboard.

Via Vidicon, First Virtual Laser Keyboard Coming in a Few Months

Not quite in the same league as Dillinger's desk in Tron, this is still quite cool (and amazingly enough, there doesn't seem to be a picture of Dillinger's desk on the Internet—wierd because it's such a cool desk).


There are all kinds

It's 2004, and we aim to make it the YEAR OF HEADPHET! We're really starting to see more and more images appearing in popular culture featuring our favourite subject—sexy ladies in headphones, headsets, ear defenders and all the rest of that good stuff. Of course, the only way this can continue is for each and every one of you to do your part to ensure this site—and its sister sites—grows during this year.

Via Michael Duff, Headph0ne Phet1sh

While I find this surprising, at the same time, I don't find it surprising at all.

Tuesday, January 06, 2004

He failed to fail.

On 2003 April 5th, a Saturday, at the age of 33, I threw away my dignity, mocked my Ivy League education, disgraced my Master's degree, and proved, in just over three hours, that humans can do things “The System” didn't anticipate. Things didn't turn out exactly as planned, but it was a crazy experience!

Via Kisrael, Scholastic Aptitude Test: Answering All Questions Incorrectly

A most amusing tale of a man who set out to fail, and failed!

Well, he didn't exactly achieve his goal of getting the absolutely lowest score on the SAT but you'll have to read it to find out where he failed to fail.

Wednesday, January 07, 2004

Tell me again how easy Windows is to keep running …

My goal was to see how much time I waste in a typical month on computer problems/maintenance. Prior to this experiment, I had a vague notion that I was spending a fair amount of time on this kind of stuff. This experiment has brought the actual amount of time into sharp focus.

Having done the experiment, it is amazing to me how many problems a tiny home network can create. Over the course of one month, I logged 21 different errors/problems/activities that wasted time.

Via The Gus, Marshall Brain's Blog: Amazing Amount of Time Wasted Repairing Computers in December

I've been using the same computer now for … um … six years or so and I haven't had nearly the amount of problems that Marshall had in one month. Then again, I'm running Linux (RedHat 5.2 in case you were wondering, and probably weren't) and except for the times I masochistically torture myself, I haven't had any problems with Linux (or Unix for that matter).

To be fair, I haven't had as many problems with Windows as Marshall, but when I do, they tend to be rather spectacular and no amount of swearing, blasphomy or sacraficing small furry animals will fix the problem (even reinstalling Windows would fail—I don't mean fail to fix the problem, I mean the installation itself would fail). That's why I pretty much stick with what I have.

Saturday, January 10, 2004

How AOL handles their email

A discussion Mark and I were having turned towards email—specifically, sending email to AOL. He's communicating with some people who use AOL and is concerned about his email getting through. He heard that AOL had proposed some new DNS record and was curious if I heard anything about it. I had not, but I started doing a Google search.

Going through the results, I came across a link to the AOL Postmaster Info page, a document that describes how AOL handles email and the criteria they use to accept or reject email. There is some very good information here (for all the ribbing AOL gets from the rest of the Internet, their infrastructure and networking architecture is incredible and they certainly know what they're doing technically, if only to handle the millions of subscribers).

Monday, January 12, 2004

A huge ever growing pulsating bee that rules from the center of the bedroom

[This is mostly true. Mostly.] The alarm clock went off as usual, and as usual, I rolled out of bed, crossed the gulf of the room where the clock was and slapped the snooze button, rolled back into bed. It's a ritual I've been doing for the past decade or so. I purposely put the clock out of arms reach from the bed in the hopes that the physical act of climbing out of bed would help wake me. It doesn't work; I can not only navigate the treacherous waters of the bedroom floor with my eyes closed, but with my mind closed as well. I've also learned to sleep through other noises that would wake most people, including the dead. Yet there is one sound that can penetrate the deep fog of sleep—that of an insect flying.

Odd how the sound of a leaf blower won't disturb me even if it's inside the same room, yet the soft buzzing of a mosquito drives me insane. Yet the buzzing I heard this morning after the first hitting of the snooze button didn't sound like a mosquito.

My initial thought was those XXXX kids, what are they up to now? but for some reason I rejected that answer. I then thought that perhaps this was some far off lawn mower or leaf blower but the pitch didn't seem quite right.

Nine minutes of pondering later, I do the roll-snooze-roll routine.

More buzzing. More pondering. Perhaps one of the neighborhood kids on one of those motorized scooters, I thought. Or if it is one of The Kids, they're going to get it! Yet more buzzing. It sounds too much like an insect thought. Like a bee or something. I could delude myself into thinking it was something else, but the buzzing …

Not even nine minutes have passed and I'm out of bed, turning off the alarm clock and slowly tracking the buzzing noise. Sounds like its coming from behind the blinds. Definitely coming from behind the blinds. Carefully I reach towards the chain to rotate the blinds and right there—

BEE!

staring at me, my visage repeated thousands of times across the facets of its compound eyes as it cooly reguarded me staring at complete horror at this … this … invader of my sanctuary. It fluttered its wings, as if to confirm that yes, I am the one responsible for this buzzing sound, mind if I sting you to death now? I quickly closed the blinds and fled the room, screaming like a little girl.

Quick digression: I should mention that I do not know if I am allergic to bee stings or not—I've never been stung or bitten (except by the occasional mosquito) and at this late stage of the game, I'm not too keen about finding out the hard way. Okay, back to the story.

“Um … Spring,” I said.

“Yes?” said Spring.

“Could you do me a huge favor?”

“What is it?”

“There's this huge ever growing pulsating bee that rules from the center of the bedroom,” I said. “Could you take care of it?”

Spring gave me this rather odd look. “A huge ever growing … ?”

“Bee.”

“Bee.”

“That rules from the center of the bedroom,” I said.

“A bee?”

“Yes.”

“I see. And you want me to take care of this huge ever growing pulsating bee that rules from the center of the bedroom?”

“Please?” I said. Bambi eyes.

A giggle from Spring as she got up from the couch. “Yes, I can take care of it,” she said.

“You're not allergic, right?”

“To bees, no. Wasps, yes,” she said. We headed up the stairs. Spring carefully cracked the door to the bedroom open and slipped in. “Where did you last see it?”

“Behind the blinds.”

“You might want to close the door,” she said. “We don't want it to get loose in the house.”

“Good idea,” I said. I still don't fully understand how I ended up on the other side of the door, outside the bedroom. But the door was closed—the bedroom sealed off, along with Spring. Mano a aguijón. May the best combatant win. I stood there, just outside the door, anxiously awaiting; listening to the muffled sounds of the epic struggle filtered through the door, refusing to imagine what must be going on inside the bedroom.

Minutes pass. More muffled sounds of an epic struggle.

The door suddenly opens, Spring springs out, door shut. Took longer to read that than it took for the action to actually happen. Spring looks concerned. “There are now two huge ever growing pulsating bees that rule from the center of the bedroom,” she said. “And I don't think they're bees. I think they're—

WASPS!

It doesn't look good,” she said. I went to The Kids' bedroom and looked out. To my horror I saw a swarm of huge ever growing pulsating wasps engulfing the Facility in the Middle of Nowhere, blanketing the place; the din of buzzing rising in my ears as my mind tried to retreat into its Happy Place. “We're going to have to call The Office,” she said. “Maybe they can do something.”

Nuke the site from orbit. A stray thought fired in my mind. It's the only way to make sure, was the other stray thought. Guess I won't be grocery shopping, a third thought that crashed into the other two. But then we're out of food! forced its way throught the other three struggling thoughts and I knew we were in trouble.

A few minutes later and it's worse than it appears. “Tomorrow?” asked Spring. She was on the phone to The Office, informing them of the huge ever growing pulsating swarm of killer wasps that rules from outside Facility in the Middle of Nowhere. “The exterminators can't come until tomorrow? I see. Thank you.”

I leave these notes so that future generations may know the horror that was unleased here at the beginning of the 21st century.


Breaking the law! Breaking the law!

Ah … wierdness in law. It seems that Adobe® added code to Adobe® Photoshop® to prevent images of currency to be manipulated using said program. In the discussion on Slashdot, USC Title 18 Part I Chapter 25 §504 came up. Relevent bits:

(i) all illustrations shall be in black and white, except that illustrations of postage stamps issued by the United States or by any foreign government and stamps issued under the Migratory Bird Hunting Stamp Act of 1934 may be in color;

(ii) all illustrations (including illustrations of uncanceled postage stamps in color and illustrations of stamps issued under the Migratory Bird Hunting Stamp Act of 1934 in color) shall be of a size less than three-fourths or more than one and one-half, in linear dimension, of each part of any matter so illustrated which is covered by subparagraph (A), (B), (C), or (D) of this paragraph, except that black and white illustrations of postage and revenue stamps issued by the United States or by any foreign government and colored illustrations of canceled postage stamps issued by the United States may be in the exact linear dimension in which the stamps were issued; and

(iii) the negatives and plates used in making the illustrations shall be destroyed after their final use in accordance with this section. The Secretary of the Treasury shall prescribe regulations to permit color illustrations of such currency of the United States as the Secretary determines may be appropriate for such purposes.

USC Title 18, Part I, Chapter 25, §504

I may be breaking the law.

According to (i) above, all illustrations have to be in black and white, except for certains stamps that fall under the Migratory Bird Hunting Stamp Act of 1934 (code). But (ii) above states that all illustrations have to be larger or smaller than actual size, unless they are in black and white! at which case, they can be actual size.

Blink. Blink.

(iii) is pretty explicit, although I'm now concerned I may have to destroy my scanner.

You see, it all comes down to the most linked image on my site—that of Jeff Conaway Andrew Jackson. I scanned the image off the new US $20 bill (well, not so new now) and while I don't have the full US $20 bill being displayed, I do have the portrait that is fairly close to actual size (at least on my monitor) and it's in color (okay, black and green). So, I'm either violating provision (i) above (by having it in color) or (ii) above (by having it near actual size) and (iii) by virtue of not having destroyed the image or scanner, although technically speaking, the scanner does not have plates, and the concept of a “negative” is pretty tenuous, so I may not have to destroy my scanner.

But the size issue does concern me. I could check against a real US $20, but my wallet is currently in the bedroom, and there's this huge ever growing pulsating bee wasp that rules from the center of the bedroom so the actual check will have to wait.

But if the check does prove that the image of Andrew Jackson is smaller or larger than actual size (“Really officer! Check out the image here on my 72″ monitor—see! That doesn't match the actual size at all!”) I'm still probably violating provision (i) above by having it in color. I suppose I could just delete the image entirely and solve this and other problems but that still doesn't actually answer the question of “Am I breaking (or have I broken) the law?”

And it sucks that it would cost me $400 to have a lawyer go “Don't know, but delete it anyway just to make sure, unless you really want to test this in a court of law in which case hand over your bank account.”

Update

According to Adobe®, I need to include trademark information whenever I mention Adobe® or any Adobe® products, like Adobe® Photoshop®. Thanks to Kisrael for the heads up.

Adobe and Photoshop are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Tuesday, January 13, 2004

I, for one, welcome our new Vespoidea masters

“Those aren't wasps,” said the exterminator. “They're yellow jackets!”

Idiot, thought Spring. Yellow jackets are wasps. “Can you do anything about them?”

“Let me suit up,” he said. He walked out to his truck. A few minutes later he comes back. “Sorry, we don't do yellow jackets.”

“Excuse me?”

“We don't do yellow jackets. We need to refer you to another company.”

Another company? You don't do wasps?”

“Yellow jackets.”

“Wasps, yellow jackets, who cares? You don't exterminate them?”

“Nope. Those things are dangerous!

So we are stuck with our Vespoidea friends until Thursday!

Thursday!

Lovely.

This was the news I got upon waking (the bit above is a reconstruction of events that happened earlier in the day). Spring had also bought some wasp spray, one can with a range of 15′ and one with a reach of 22′, just in case. She also checked out our bedroom, which yesturday was being lordered over by a pair of Paravespula vulgaris. Several minutes pass as I wait outside the closed door.

“They don't appear to there anymore,” said Spring.

“Did you check by the closet?” Outside the building, they're swarming around the portion of the Facility in the Middle of Nowhere that corresponds to our closet.

“No, let me check.” Spring went back into the bedroom for several minutes, then came out. “I was afraid to mess too much with the right side of the closet. I could hear them.”

“That's not good,” I said.

“Buzzing around, and what sounds like some scratching from inside the wall,” she said.

Inside the wall?

“Yes,” she said. “It didn't sound like wasps; more like a scratching noice, like mice or something.”

“In the deaththrows of being stung to death, I don't doubt.” Great! They may be inside a section of wall!

But they don't appear to be inside the room, and Spring did spray around the areas most likely for them to crawl through. So the room should be safe.

Should.

And they don't appear to bother anyone coming or going in or out of the Facility in the Middle of Nowhere so several much needed trips to the grocery store ensued.

Thursday.

Inside the wall.

Can I scream now?

On the plus side, The Office is paying for this. Not us.

Update on Wednesday, January 14th, 2004

Spring presents her side of the yellow jacket story.

In my defense, I have such a horrible memory for dialog (so of course I became a Drama Geek in high school), unlike some friends of mine, like Gregory, who can recite whole swaths of diaglog verbatim from a film he's only seen once while for the life of me I can't remember what was said to me mere moments before.

Thus, the embellishments.

But then again, all you need do is read The Demonic Creature that Invaded Bill's Room to see just how wild my embellishments can get.


The Johnson Automatic Perspective Machine

Mark hired me to do some HTML work for his company. Basically, jazz up some pages for a demo of his product, Seminole. So I figured some graphic images, a logo-type deal, would be nice for the hypothetical, Internet enabled toaster we're doing for a demonstration (later on, we might add a consumer grade router type device, but I'm still getting used to his templating system and working with what he's done so far). I'm not that graphically savvy to create logos and whatnot so I decided to check the net to see if there were public domain clip art that could be appropriated.

There does exist a nice body of public domain clip art, but not much that is accessible by website. Sure, there are websites that will sell you CDs and books of public domain clip art (such as Dover Publications), but they don't make it directly available via their sites.

But I did find two sites that had some Victorian/Edwardian era clip art.

I have a thing for late 1800/early 1900 line art.

During the 80s, Wendy's design motif was turn-of-the-century and all the counter and table tops where decorated in old advertising. I used to love reading the various advertisements and gaze at wonder at the line art. The intricate detail. The cross hatching. The various line weights. Beautiful stuff.

And now I'm drooling over Heck's Pictorial Archive of Nature and Science (which inspired many of the O'Reilly book covers), Heck's Pictorial Archive of Military Science, Geography and History and Heck's Pictorial Archive of Art and Architecture.

Drool. Drool. Drool.

But guess what Ftrain should showcase (besides the Johnson Automatic Perspective Machine, write for particulars to Shaw & Johnson, Tampa, Fla) but hundreds of magazines from the late 1800s to early 1900s, with tons and tons of public domain Victorian/Edwardian clip art. All online.

Drool.

Wednesday, January 14, 2004

“There is a multilegged creature crawling on your shoulder … ”

It's dark outside. The temperature is falling (64°F currently, expected low of 51°F) so the threat of our Vespoidea masters should be less. Or so I thought. The Kids were outside tearing apart an old scooter they found and asked for some help in removing some bolts.

I'm kneeling on the ground, hunched over, holding a wrench steady on one bolt while The Younger attempts to remove another one lower down on the bolt when The Older one said “Sean?”

“Yes?” I notice he has this crazed look in his eye.

“There's a wasp,” he said.

I felt a slight tickling on my back. “It's on my back, isn't it?” The Older, not blinking, staring in horror as Paravespula vulgaris crawls around my back. The Older starts to get up. “For the love of God and all that is Holy don't do anything!” I calmly said.

The Kids were frozen in their tracks, staring at my back as Death Incarnate crawled around on my shirt. I for one stopped breathing, least I invoke an attack of aggression.

Time stood still.

The seconds stretched into eons.

Eventually, I heard the buzzing of a wasp flying away.

“Is it gone?” I asked.

“Yes—”

I was already inside, door shut tight.

“Hey! What about us?”

Oops.

Thursday, January 15, 2004

We leave them alone, they leave us alone

It seems I was a mistaken the other day about how long our Vespoidea master will be around. The original exterminator said he'd be back on Thursday but then backed out, claiming another company will handle our little friends. So there's no telling when this other company will actually get around to kicking some Paravespula vulgaris butt. We'll have to remember to call The Office to get updates.

It's not too bad—the wasps are no longer getting inside our bedroom, and the other good thing about this is that The Kids are no longer climbing on top of the storage area, that being right below Vespoidea central.


Hide the Remote

One of the little games The Kids play is “Hide the TV Remote.” One of the little games I play is “Find the XXXX Remote That The Kids Have XXXXXXX Hid Yet Again!” The Kids assure me that their hiding of the TV remote is a purely unconscience act on their part. They just … loose it from time to time.

So far, I've found the remote under the chair, under either of the two couches we have, under the cusions of the chair or the couches, underneath pillows, behind the TV, behind the sterio, on the dining room table, under the dining room table, on the kitchen counter, in the freezer and their closet, which is upstairs.

They just … loose it.

This came up yet again, tonight, because I wanted to watch Real Genius (which a friend of Spring gave to us). Twenty minutes of “Find the XXXX Remote That The Kids Have XXXXXXX Hid Yet Again!” and I've had enough.

“I believe it's time to forbid The Kids from using the TV remote,” I said to Spring.

“Why not hide it on them?” she asked.

“Good question,” I said. “Why not?”

So I did.

Muahahahahahahaha!

Friday, January 16, 2004

“That's the fifth dragon I killed in one shot! What are the chances of that happening?”

For several months now, Bob has been attempting to run his weekly D&D game partially online—that is, former members who now live in other states are now “attending” the weekly gaming session online. To help facility this, Bob bought enough licences so we all can use kLoOge.Werks, a program that allows a DM to run his campaing online. And being written in Java, it does indeed run on multiple platforms (which is why I can run the thing under Linux; everybody else in the game uses Windows).

It's not perfect, but since the introduction of kLoOge.Werks (for several months we were trying other technologies) the gaming sessions have gotten a bit smoother and aren't quite as annoying as when Bob first started this little experiment. But the one thing I really dislike about this online gaming thang is the dice rolling.

You see, you use the kLoOge.Werks program to do your dice rolling.

As a programmer, I know that computerized dice rolling is anything but random. Pseudorandom, yes. But as random as real dice? Not by a long shot. It's actually difficult to get decent random numbers out of a computer; Knuth spent about 300 pages of rigorous material covering the generation of random numbers in his Art of Computer Programming. And I've told Bob as much.

But he is insistent on using kLoOge.Werks.

Durring a protracted combat session where the fighters are slugging it out, “rolling” the dice, I decided to poke around the kLoOge.Werks program. The Knoppix live-CD I'm using on my laptop not only has Java, but quite a few Java development tools, including a Java disassembler. So I start poking around the .class files that comprise kLoOge.Werks, telling Bob that it wouldn't be that much effort to replace a few of the classes dealing with dice rolling with a special version where I can “roll” what I want, including the DM-eyes-only rolls.

Muhahahahahahahaha.

Which brings up another point about running a game online—trust. Forget the random number generators for a second, how can the master program (which the DM runs) trust that the “dice rolls” of the players are legit? Now you are getting into cryptography, digital signatures and verification, which aren't easy to do right and all too easy to get wrong. Bruce Schneier took over 700 pages to cover computerized cryptographic systems and even then, it's just an overview.

In the end though, I think this actually comes down to trust—that Bob will hae to trust his players not to muck around with kLoOge.Werks, and be suspicious if we all start rolling critical hits each time we attack.

Saturday, January 17, 2004

Porn porn porn porn

A week or so ago, Mark, JeffK and I ended up talking about “porn.” Not necessarily the topic of pornography, but the term “porn” itself. I had mentioned that CNN was “news porn.” Mark and JeffK had never heard of porn in that context, and I had to explain that in the context of “porn” is an excessive repetative content on a single topic. Hence, CNN is news porn, FoodTV is food porn, Cartoon Network is 'toon porn.

I first encounted that usage of “porn” in Synners, by Pat Cardigan (way back in the early 90s) and I found the concept both intriguing and quite on target. And while such usage of “porn” is still somewhat rare, it's not uncommon:

1990s moviegoers who have sat clutching their heads in both awe and disappointment at movies like “Twister” and “Volcano” and “The Lost World” can thank James Cameron's “Terminator 2: Judgment Day” for inaugurating what's become this decade's special new genre of big-budget film: Special Effects Porn. “Porn” because, if you substitute F/X for intercourse, the parallels between the two genres become so obvious they're eerie. Just like hard-core cheapies, movies like “Terminator 2” and “Jurassic Park” aren't really “movies” in the standard sense at all. What they really are is half a dozen or so isolated, spectacular scenes—scenes comprising maybe twenty or thirty minutes of riveting, sensuous payoff—strung together via another sixty to ninety minutes of flat, dead, and often hilariously insipid narrative.

Via kisrael.com, F/X Porn

Which makes a good a generic definition of “porn” as anything. And puts CNN into a whole new light …

Monday, January 19, 2004

“Your poutfoo is no match for me!”

It seems that The Kids found out where I hid the remote. The Younger strode into the Computer Room and headed straight for it. “No,” I said. “You are not to get the remote.”

“But why not?” said the Younger. “I need it!” He gave me his angry pouting stare, and sat down on the other chair in the room. Well, it's not actually sitting per se, more of a squirming ever moving sitting.

“Do you know why I'm hiding it?”

“Yea,” he said. “Mom told us earlier.”

“So you realize it's because I hate playing ‘Find the Remote’ every single night. So no more remote for you.”

The Younger then switched to his pouty-angry stare, sat there whining and squirming for another few seconds, then ran off. Two minutes later he completely forgot about the remote and was yelling at his brother to switch the channel.

And to think I was worried that The Kids just didn't care about the remote and my actions would have no effect.

Muahahahahahahaha.

Tuesday, January 20, 2004

The next wave in web advertising, only it doesn't seem to work

Unicast is extremely proud to introduce the long-awaited Video Commercial—the new online ad format that delivers full screen, television-quality video for advertisers.

The 2 MB, 30-second spots exhibit broadcastnot broadband—quality video larger than any other format and allows advertisers to build interactivity into their sophicsticated offline assets.

Delivered via our patented, fully pre-cached method, the Video Commercial is the only formst that plays perfectly for every consumer, every time up to 8 times faster than broadband video.

Unicast

If there are typos in the above quote, it's my fault, since the text is being rendered by Flash, which of course means you can't cut-n-paste.

Okay, who let the marketers out? And why does anyone listen to them? Every consumer? Every time?

Now I'm curious. I read further into the site:

30-seconds of pure video and expanded interactivity shown perfectly to every consumer every time.

Use full-screen, broadcast quality video to bring your advertising messages online. The [2 MB] Video Commercial plays without any ‘freezing’ or ‘buffering’ and up to 8 times faster than most broadband video units to ensure your campaigns play as well on the Internet as they do on Television.

Unicast Formats

Somebody better call John Ashcroft—these people are obviously smoking something illegal. Eight times faster than broadband, and at broadcast quality? Okay, this I have to see. I selected the “View Examples” link:

Warning

Your browser does not accept cookies. You must enable cookies to continue with this demo.

Video Commericial

Okay, so there goes their claim of “every consumer, every time.” Didn't work for me. So it's not “every time.” And I could have sworn I had cookies enabled. Yup. I do. Okay, I enabled cookies based upon privacy settings of “medium,” so I crank the setting down to the lowest setting possible and reload the page.

Warning

Your browser does not accept cookies. You must enable cookies to continue with this demo.

Video Commericial

Okay … damn the security, full cookies ahead!

Warning

Your browser does not accept cookies. You must enable cookies to continue with this demo.

Video Commericial

Well heck!

If they can't get this to work under Windows XP and Mozilla, then there is no way they can claim “every consumer, every time.” No XXXXXXX way. I tried all the formats, all the demos, and not one worked for me. Not one!

I hope no one paid these jokers any money.

Then again, I'm not using IE

Like I said, who let the marketers out? And who's responsible for listening to them?


Can you verb a noun? Or even a website?

I've been LiveJournaled!

Spring setup the account. Surprising, to say the least.

Actually, I had given it some thought to mirror my entries here in my own LiveJournal account (which I use to leave comments, and my friends page is a handy way to keep up with a dozen or two friends who also have LiveJournals) but really, I like the idea that I only post to my LiveJournal once a year.

The only problem I see is that now it's all too easy to see when I actually write these entries (I tend to predate entries quite often).

Wednesday, January 21, 2004

How to measure 5/6 cup of oil and other math follies

I'm not quite sure how to approach this subject. Spring is home schooling The Kids and has spent quite a bit of money on school books (captive audience, much like college textbooks). But on the other hand, The Kids would have these textbooks if they were going to regular school, so I figure it would be fair (if expensive) game to write about the quality. It's not like there are other text books out there Spring could get.

Like I said, captive audience.

[Evaluating schoolbooks] was a pretty big job, and I worked all the time at it down in the basement. My wife says that during this period it was like living over a volcano. It would be quiet for a while, but then all of a sudden, “BLLLLLOOOOOOWWWWW!!!!”—there would be a big explosion from the “volcano” below.

The reason was that the books were so lousy. They were false. They were hurried. They would try to be rigorous, but they would use examples (like automobiles in the street for “sets”) which were almost OK, but in which there were always some subtleties. The definitions weren't accurate. Everything was a little bit ambiguous—they weren't smart enough to understand what was meant by “rigor.” They were faking it. They were teaching something they didn't understand, and which was, in fact, useless, at that time, for the child.

Finally, I come to a book that says, “Mathematics is used in science in many ways. We will give you an example from astronomy, which is the science of stars.” I turn the page, and it says, “Red stars have a temperature of four thousand degrees, yellow stars have a temperature of five thousand degrees …”—so far, so good. I continues: “Green stars have a temperature of seven thousand degrees, blue stars have a temperature of of ten thousand degrees, and violet stars have a temperature of … (some big number).” There are no green or violet stars, but the figures for the others are roughly correct. It's vaguely right—but already, trouble! That's the way everything was: Everything was written by somebody who didn't know what the hell he was talking about, so it was a little bit wrong, always! And how we are going to teach well by using books written by people who don't quite understand what they're talking about, I cannot understand. I don't know why, but the books are lousy; UNIVERSITY LOUSY!

Anyways, I'm happy with this book, because it's the first example of applying arithmetic to science. I'm a bit unhappy when I read about the stars' temperatures, but I'm not very unhappy because it's more or less right—it's just an example of error. Then comes the list of problems. It says, “John and his father go out to look at the stars. John sees two blue stars and a red star. His father sees a green star, a violet star, and two yellow stars. What is the total temperature of the stars seen by John and his father?”—and I would explode in horror.

“Judging Books by Their Covers,” “Surely You're Joking, Mr. Feynman!” by Richard Feynman.

So I see one of The Kid's math book on the desk and I remember Richard Feynman's rant on text books from the 60s. Universally bad then, are they still just as bad now?

Gazpacho

From a math text book no less!

Ingredients:

That's it! That's all the recipe they give!

Sigh.

It's certainly more colorful than math books I had in school (although to tell the truth, I don't really remember any prior to sixth or seventh grade—this might be a fifth grade book, which marks it as The Older's book) and it's very Politically Correct with kids of all nationalities and ethnicities present. Scanning through the Table of Contents, I see that Chapter 10 (“Working With Fractions”) has a “food” theme. Fractions, food. Yea, I can kind of see that … maybe. I flip to Chapter 10 and start paging through it.

I get to the section about dressing the salad, which is about adding fractions with different (“unlike”) denominators:

Paul likes to mix his own salad dressing. He adds 5/6 cup of olive oil and ¼ cup of vinegar to the contents of a packet of seasoning to complete the mixture. How much liquid does Paul add?

My first thought was, I usually mix equal parts oil and vinegar. Interesting to see what the actual recipe is. Then, as I looked at the picture, my next thought was, Five sixths? How the hell did Paul measure out five sixths? Okay, slight digression. 2/6 is 1/3, and 1/3 cup measures I have. So 2/3 brings us almost there, but the final 1/6? I had to pour through several cookbooks to find five tablespoons and one teaspoon is equivalent to 1/3 cup, so to halve that you need … 2½ tablespoons and ½ teaspoon. I have ½ teaspoon measures, multiple in fact, but a ½ tablespoon? I have a single 1½ tablespoon measure. So Paul here uses a 1/3 cup measure (or 2/3 cup measure if he has one) a tablespoon measure, a 1½ tablespoon measure (if he has one) and a ½ teaspoon measure to get 5/6 cup of oil. And Paul, who is anal enough to dirty four measuring devices in order to get exactly 5/6 a cup of oil, resorts to using prepackaged seasonings? Some chief!

Or rather, out of sixteen authors, not one can cook! Or even cares enough to use realistic measurements if they're going to bother to use cooking as a theme!

Lourdes wants to learn to cook Portuguese soup. Her grandmother said that the chorizos—spicy Spanish sausages—are the secret to making this soup. Chorizos can be bought at markets that have Spanish or Latin American foods.

About how many cups of beans are needed for Portuguese soup?

Portuguese Soup

Ingredients

What? You expect cooking directions from a math book?

We never hear about chorizos again, so why put it in? Remember, this is a math book, not a cook book, so that first paragraph appears to be a non-sequitur.

Anyway … getting back to about how many cups of beans are in Portuguese Soup. Notice in the recipe how you have to have 1 1/8 c dried kidney beans, but oh … 3 or 4 sausages. Not 3 1/3 sausages. 3 or 4. But never five. And not two. Unless you then proceed to three, or four, your choice. But remember to measure out an additional 1/8 cup of dried kidney beans (hint: two tablespoons).

Now, the point of this section is to teach rounding of fractions. And yes, while I can immediately see that 1 1/8 + 1 7/8 is about 3 (for exact values of 3) but a fifth grader might not see that, so I can see the value in learning estimation. But a soup recipe is already a bunch of estimates! I bet the original recipe called for a cup of kidney beans and two cups pea beans and one of the sixteen authors fudged the numbers a bit to make this example, obviously oblivious to the fact that 1/8 cup measures don't exist and even if they did, the margin of error in measure beans exceeds the exactness of the very measure!

I can begin to see where Feynman was going. At first thought, using cooking to teach fractions does seem like a good idea, so I'm happy there. But I'm a bit unhappy that the authors pick unrealistic measures for some of the ingredients, and I'm very unhappy that if they are going to waste space listing ingredients at least finish up the recipe so that if a student is intrigued enough to try the food, they can (and learn just how unrealistic this math book—which on second thought, is probably why they didn't include the rest of the recipes!).

Also, if I were writing the text, I'd ask how much cabbage is needed; it's a trick question since broccoli is a type of cabbage (muahahahahahaha—methinks I've been watching too much Real Genius lately).

  1. Suppose you need to make 6 pounds of fruit salad.
    1. You already have 2¼ pounds of strawberries, melon, and grapes. How much more fruit do you need?
    2. You decide to buy blueberries, kiwi, and raspberries. You buy 1½ pounds of blueberries and 3/4 pounds of kiwi. How many pounds of raspberries do you need to buy?
    3. You want to double the recipe. How much will you have of each kind of fruit?
  1. Okay …
    1. Trick question—you already have too much, you need to remove fruit.
    2. Is this instead of the existing fruit? In addition? You still have either way too much, or you really like raspberries.
    3. Let's see … you have equal parts strawberries, melon and grapes, but we haven't fully established if we are adding blueberries, kiwi and raspberries or not, so it's hard to establish rations of these additions; who the hell wrote this question anyway?

What finally clinched it, and made me ultimately resign, was that the following year we were going to discuss science books. I thought maybe the science books would be different, so I looked at a few of them.

The same thing happened: something would look good at first and then turn out to be horrifying. For example, there was a book that started out with four pictures: first there was a wind-up toy; then there was an automobile; then there was a boy riding a bicycle; then there was something else. And underneath each picture is said, “What makes it go?”

I thought, “I know what it is: They're going to talk about mechanics, how the springs work inside the toy; about chemistry, how the engines of the automobile works; and biology, about how the muscles work.”

I turned the page. The answer was, for the wind-up toy, “Energy makes it go.” And for the boy on the bicycle, “Energy makes it go.” For everything, “Energy makes it go.”

Now that doesn't mean anything. Suppose it's “Wakalixes.” That's the general principle: “Wakalixies make it go.” There's no knowledge coming in. The child doesn't learn anything; it's just a word!

“Judging Books by Their Covers,” “Surely You're Joking, Mr. Feynman!” by Richard Feynman.

Update on Thursday, January 22nd, 2004

“Sean,” said Spring, “what did you mean by there being too much fruit?” She obviously just finished reading this entry.

“There were 2¼ pounds each of strawberries, melon and grapes,” I said.

“I think they meant 2¼ pounds total of strawberries, melon and grapes,” she said. “Other than that, you were spot on.”

“Oh,” I said. “I guess I need to work on my reading comprehension skills.”

“And your spelling. There were quite a few mistakes.”

“Well, I didn't take them to task for spelling; it was a math book after all.”

So the question about the fruit salad does make some sense now, but still, the third part is quite involved—there is no indication of how much each of strawberries, melon and grapes you have, so you have to assume an equal portion of each, and is a fifth grader smart enough to divide 2¼ by 3 and get 3/4?

Update on Wednesday, February 20th, 2019

D.J. wrote in with a simpler way to measure ⅚ cups. It's better than what I have above.

Update on Saturday, May 11th, 2024

Somebody used this entry to help measure out ⅚ cups. Yeah, I couldn't believe it either, but there it is. I have also found much better way to measure out ⅚ cups if you ever need to.

Update on Thursday, August 22nd, 2024

And yet, there's an even simpler method!

Friday, January 23, 2004

For all your computing commuting needs …

Very cool! A mobile computing lab is up for auction at eBay (link received via a mailing list I'm on). And since I expect that the page won't last very long, I snagged some pictures for future prosperity.

And there are some pretty cool features:

And if that weren't enough, someone else sent in a link to the Steelwheels Project, the ultimate in offroad winnebago living. The electrical system alone is impressive:

Oh, and the communication system:

The bus is a bit less expensive ($15,000 starting) than the Steelwheels Project ($549,000.00, delivery in Canada or Continental United States included) but it looks so sweet …

Saturday, January 24, 2004

A twisty passage of Windows, all fragile

The HLT instruction tells the CPU to shut itself down until the next hardware interrupt. This is a big win on laptops since it reduces power consumption and thereby saves your lap from third-degree burns.

We (well, specifically, Jeff) had this implemented and working in Windows 95 but discovered to our dismay that there were many laptops (some from a major manufacturer) which would lock up unrecoverably if you issued a HLT instruction.

So we had to back it out.

Then the aftermarket HLT programs came out and people wrote, “Stupid Microsoft. Why did they leave this feature out of Windows.” I had to sit quietly while people accused Microsoft of being stupid and/or lazy and/or selfish.

Hardw are Backwards compatibility

From Mark come a pointer to Raymond Chen's weblog, a developer from Microsoft. An amazing insight into Microsoft development, covering why they did what they did, and >why they do what they do.

Even if you aren't a developer for Microsoft Windows, it's still facinating reading, such as this little bit:

CreateMenu creates a horizontal menu bar, suitable for attaching to a top-level window. This is the sort of menu that says “File, Edit”, and so on.

CreatePopupMenu creates a vertical popup menu, suitable for use as a submenu of another menu (either a horizontal menu bar or another popup menu) or as the root of a context menu.

If you get the two confused, you can get strange menu behavior. Windows on rare occasions detects that you confused the two converts as appropriate, but I wouldn't count on Windows successfully reading your mind.

What' s the difference between CreateMenu and CreatePopupMenu?

From reading Raymond's blog, it seems that Microsoft goes to great lengths to protect mediocre programmers and keep their programs running; their backwards compatibility legacy is quite impressive (I can still run an editor written in 1982 under MS-DOS 1.0 on Windows XP, some twenty-two years later). With so much legacy code (MS-DOS versions 1.0 (1981) through 7.x (1995) and Windows 1.0 (1985) through Windows XP) it's no wonder Windows is such a mess, much less that it still runs.

Monday, January 26, 2004

Technobabble technobabble technobabble

It took awhile, but I finally finished revamping my homepage. Perhaps the major reason it took so long was my enthusiam for dealing with XSLT waxed and waned over the past year. I got most of the way there by January of last year, but the resulting XML files of my site were not that well organized, and the XSLT file was a huge mess I could barely understand a few hours after writing it; it doesn't help that XSLT is quite verbose.

Just how verbose?

Before I can get there, I have to be a bit verbose myself and explain that the XML format I created looks a bit like:

<site directory="/">
  <section directory="writings/">
    <subsection directory="murphy/"> … </subsection>
    <subsection directory="hypertext/"> … </subsection>
    …
  </section>

  <section directory="photos/">
    <subsection directory="top10/"> … </subsection>
    …
  </section>
  …
</site>

The “site” (which is considered a “node”) is composed of several “sections” (again a “node”), each of which is composed of “subsections” (yet another type of “node”). Each node has a “directory” attribute, where the resulting HTML files will reside. There's a bit more (like individual pages) but that's enough to hopefully explain this wonderful bit of XSLT verbosity:

<li> <a href="../{preceding-sibling::subsection[@listindex != 'no'][position()=1]/attribute::directory}" title="{preceding-sibling::subsection[@listindex != 'no'][postition()=1]/child::title}"> Previous </a> </li>

That's one line of XSLT code there (broken up over several so you won't have to scroll all the way to the right). The nasty bit:

{preceding-sibling::subsection[@listindex != 'no'][position()=1]/attribute::directory}

comes into play when we're processing a template for a <subsection>, and in English (as best as I can translate it is):

Of the list of subsections that come prior to you in the current section, select those that do not have an attribute of listindex equal to “no” then select the first one in that list, then retrieve the value of the directory attribute.

Because if you don't specify the position(), you get the last one (which in this case would be the first subsection in the section that does not have the listindex attribute set to “no”) not the first node (even though technically it's the last node in the list of preceding nodes, and following-sibling works as expected—which makes a perverse type of sense in a Zen like way). Got it? Good. Because I barely grok it myself.

What it generates is something like:

<li> <a href="‥/murphy/" title="Murphy's Law"> Previous </a> </li>

Which is a link (within an HTML list) to the previous subsection.

That line comes in the middle of a section of XSLT code that, loosely translated into pseudocode, reads:

when in a subsection
  choose
    when listing nodes in order
      if there exists a following node that is not hidden
        print "... Next ... "
      end-if
      if there exists a  preceding node that is not hidden
        print "... Previous ... "
      end-if
    end-when
    ...
  end-choose
end-when

Only not as succinctly (I'm viewing the code in a window 144 characters wide, and each line still wraps around). COBOL is terse compared to XSLT. And imaging writing about a thousand lines like that.

I did give serious consideration to using something else other than XSLT to convert my site from XML to HTML, but the alternatives weren't much better; I could have used Perl and XML::Parser, but then I would have to explicitely crawl the resulting tree for appropriate nodes (the addressing methods in XSLT, while verbose and sometimes inexplicably odd, do make it easy to grab nodes) and the logic for generating the pages, but code to dump out nodes verbatim. For instance, I have sections like:

	
<body>
... HTML formatted as XML ... 
</body>

and to avoid having to write endless templates for things like <P> and <BLOCKQUOTE>, in XSLT, I just dump such sections out like:

<xsl:copy-of select="./node()"/>

Which does a literal copy of all the children nodes of the current node. If I were to use Perl, I would have to code this myself (the same consideration for using any other programming language with an XML parser really). Kind of six of one, half-dozen the other.

And seeing how I already had written a few thousand lines of XSLT (previous versions, revisions, etc., etc.) I decided to stick with what I started and see it through.

But now that I have this massive XSLT file, I don't really have to mess with it anymore. I can now just add content to the XML file that represents my site (I was able to add a photo gallery in about fifteen minutes of work, mostly spent typing the descriptions, without having to worry about adding navigation and images), then regenerate the site.

And speaking of navigation—back when I last overhauled my site, it was to add navigation links (thanks to Eve, who convinced me to add them), about half the XSLT I wrote was to support the navigation links (as you can see from the examples above). I have an extensive array of navigation links mostly hidden behind the <LINK> tags; if you have Mozilla, you can see them by enabling the “Site Navigation Bar” (View → Show/Hide → Site Navigation Bar). Quite a bit of work for something of perhaps dubious value? We'll see …


Swapping disks

Tonight Mark and I replaced a bad disk on swift, the colocated server currently serving up our sites. The bad disk is the system disk; the websites themselves (along with some other services we have) all reside on another disk.

There was much discussion before heading over there as to the best way to approach the problem of copying the data off the bad drive. The first method would to be install the new disk into the machine and do a disk-to-disk copy. The downside is that swift is a 1U system with no room for a third drive (no matter how temporary). Also, the unit is designed to run with the cover on—we were unsure how it would deal running uncovered. The other option would be a network based copy, from swift to another machine with the new drive in it. The problem here was speed—even though we could hook the second machine directly to swift (on the secondary ethernet port) at 100Mbps it would still take a while to copy over several gigs worth of files. We decided to take a second computer (the Windows box Spring and I share) as we decided to decide when we got to the colocation facility.

When we got there and examined swift, it was decided to use the temporary computer and do a network copy. We had some difficulty in getting the Windows box to recognize the new SCSI disk (Mark had some extra SCSI controllers and disks); it was certainly news to me that the BIOS setup was on the harddrive instead of on the ROM (much like the very old days of PCs). Once we straightened that out, it was pretty straightforward to boot Gentoo from a live CD, partition and format the new drive.

Then it was time to copy the files. It took some work to figure out how to use rsync using the rsync protocol and it still took us two attempts to get everything (first time rsync ran without root priviledges which limited the number of files copied). Once that finished (and still on the temporary machine) we recompiled the kernel to support SCSI, then set about to make the drive bootable.

The problem here was that Gentoo was a bit too aggressive in identifying hardware, and since the Linux kernel sticks USB storage devices under the SCSI layer, the harddrive ended up with an ID that it wouldn't have in the swift. We ended up having to reboot the Gentoo CD, remove the loaded USB drivers, then mount the SCSI drive, then make the drive bootable. Once that was done, the temporary system booted up without a problem.

We then removed the drive and controller, cleaned the area (so we could have room to move about) and spent a few minutes making a game plan of swapping the bad drive for the new one. The physical swap went fairly smoothly. It was reconfiguring the BIOS that proved to be rather difficult. We couldn't get into the BIOS configuration. A search of possible key sequences to get into the BIOS configuration revealed:

  1. DEL
  2. F1
  3. F2
  4. F10
  5. Ctrl-Alt-Esc
  6. Ctrl-Esc
  7. Alt-Esc
  8. INS
  9. Esc
  10. Ctrl-Alt-Ins

We ran down the entire list, and not one worked. Mark then had the brainstorm to hold down the keys as the machine was powered up. First key he tried, DEL got us into the BIOS.

Talk about having plenty of time to get into the BIOS configuration.

Once the BIOS was configured with the new drive, it rebooted without a problem.

All told, we spent maybe five hours doing the drive swap, with the websites unavailable for maybe fifteen minutes tops. It was a bit scary at times though, watching the copying go with numerous disk errors. But so far, nothing important seems to have been corrupted, unlike most of the files in Mark's home directory (but he had current backups of that data anyway).

Tuesday, January 27, 2004

Hello world! Care to read your email?

Yes, this really is the classic program that prints “Hello, world!” when you run it. Unlike the elementary version often presented in books like K&R, GNU hello processes its argument list to modify its behavior, supports internationalization , and includes a mail reader.

hello - GNU Project - Free Software Foundation

Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.

Law of Software Envelopment

I didn't even realize GNU had a “Hello world” program available for downloading, much less one that succumbed to the Law of Software Envelopment. Granted, GNU then goes on to say:

The primary purpose of this program is to demonstrate how to write other programs that do these things; it serves as a model for all of the GNU coding standards.

It's quite amusing that GNU can turn this:

#include <stdio.h>

main()
{
	printf("hello, world\n");
}

into a 400k compressed download, complete with its own configuration script, m4 macros (who uses m4 anymore?), man pages (and here I thought GNU was big on info pages) along with documentation in TeX, plus the various language files for Russian, Slovanian, Japanese and I even think English is included in there somewhere.

Quite amusing.

Note: technically, the code should be written as:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	printf("hello, world\n");
	return(EXIT_SUCCESS);
}

to be fully ANSI compliant, but hey, who am I to argue with the authors of C?

Then again, if you really want to be anal retentive about it, then:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	(void)printf("hello, world\n");
	return(EXIT_SUCCESS);
}

But that's just being silly …


Oops

Yet another SYN flood to contend with, and yet again, it's the same extortionists that took this company last year for quite a bit of money (and I have to wonder—how do they note this in their financials? “Unexpected hiring of Russian Security Consultants”?) that “promised” protection for (I think) a year or so against such attacks. One it was brought to their attention, the attack subsided.

But in the mean time, I was tasked to move several of the larger sites still on the Boca Raton servers to the ones down in Miami. The intent of the Miami servers is for each to act as a backup of the other (and the Boca Raton servers will eventually act as a backup for the Miami servers) so in the process of creating the accounts needed on the two servers I made a slight mistake. Nothing bad, like an errant rm -rf * or attempting to restart the network remotely. Nope. Just a simple overwriting of /etc/passwd with the wrong file.

Nothing major. It just meant that no one could log into the system. I didn't notice until I attempted to copy over some more files and they failed. Or rather, I think scp or rsync started asking for passwords when I explicitely set up a trust mechanism between the two servers on their private network interfaces. I started poking around on the server with the munged /etc/passwd file and it came quite apparent what happened.

Fortunately, I still logged into the server with the munged /etc/passwd file.

Unfortunately, I was not root. Nor could I become root. This was not good.

Can't ssh since the authentication was blown. Which meant that scp wouldn't work either. I thought maybe rsync would work, but then I realized I set up rsync to use ssh and since authentication didn't work … (not that I realized until after trying rsync).

That's when I realized that a trip down to Miami might be required. Several hours worth of driving for less than a minutes worth of work to restore /etc/passwd. It was then I had a brainstorm … why not hack my way back to root? Wasn't illegal—I was, after all, the administrator for the system, and I had local access, which would make it easier than a remote exploit.

One Google search later, and I'm perusing 0day-exploits. Downloaded a few, got the code to the borked server, compile, run and nothing. Download another one, get it on the server, compile, run, and nothing.

Damn you, Gentoo, I thought, and your custom compiliation installs! I can't even hack my way back into the system!

I supposed I could have kept at it, but at there comes a time of diminishing returns, which would be the time it would take me to drive to Miami, reboot the server into single user mode, restore the file, reboot and drive back home. The drive and reboot is the simpler solution in this case (if a bit tedious); had the server been on the other side of the country, then yes, maybe I would have stuck with the hacking attempt a bit longer …

Wednesday, January 28, 2004

What type of data center doesn't have a crash cart?

Dispite my trying to avoid it, I had to drive down to Miami to reboot a server into single user mode, copy a file, then reboot it back into normal operations. To make it even more surreal, I was informed that the Miami NAP does not have a crash cart on the premises.

What type of data center does not have a crash cart?

And in case you are wondering what a “crash cart” is, it's a cart that has a monitor, keyboard and mouse that you can push around to hook up to a computer in case you need to locally check a server. A top of the line crash cart can't cost more than a grand, and given that the Miami NAP is nothing more than a six story data center you would expect (okay, I would expect) them to have at least one crash cart.

So not only did I have to drive an hour south to Miami to reboot a server, but I had to carry along a monitor and keyboard with me.

Sheesh.

I ended up lashing a monitor and keyboard with rope to The Kids' luggage cart (since the bungee cords have long since been lost). Servicable, but still took about twenty minutes to do the lashing. The drive down to Miami wasn't bad, but as I eyed northbound I-95 I knew I would be in for a long drive home.

Once I arrived at the Maimi NAP, it took over half an hour to locate the appropriate cabinet. I knew the cabinet was on the second floor, but past that, it was a maze of twisty passages, all alike. There were two of us, myself and a security guard, walking up and down rows of racks. Eventually the security guard found the right cabinet.

Several minutes to set up the monitor and keyboard. Reboot twice, since I found out the hard way that the timeout value to boot into single user mode was about two seconds, if that. Then it was a matter of copying a backup of /etc/passwd into place, reboot, test, and two minutes later, done. Then fifteen minutes or so lashing the monitor and keyboard back to the cart, finding my way out of the labrynth and a long slow drive home.

And I ask again: what type of data center doesn't have a crash cart?

Thursday, January 29, 2004

Aspirin for computers

Difference of expectations.

Not once in nearly 20 years of computing have any of my computers received a virus. Oh sure, I captured and disassembled a few computer virii during an outbreak at FAU in 1988 (and I still have the disks—amusing to think they might still work after all this time) but an actual outbreak on any system I've owned?

Nope.

So it was rather surprising to find Spring installing Norton Anti-Virus on the system we both share.

But Spring has had the rather unfortunate experience of having her computer infected with a virus. And she was installing Norton because she was scared of what would happen if I found the computer infected. I have to remind myself it's the thought that counts, because afterwards, I found the computer nearly unusable (and I was definitely being too snarky over this).

I have a hard time wrapping my brain around the fact that a 2.2 GHz machine can feel slow. But that's what happened after Norton was installed.

And it started pimping for Microsoft Passport for some odd reason, and tossed in the Microsoft Messenger in the system tray, which is damn impossible to turn off because, and I quote:

There are other applications currently using features provided by Windows Messenger. You must close these other applications before you can exit Windows Messenger. These applications may include Outlook, Outlook Express, MSN Explorer, and Internet Explorer.

Lord knows what's using it, because Outlook, Outlook Express, MSN Explorer or Internet Explorer sure aren't running, as far as I can tell. I got it to shut up about getting Passport, but that's about it.

And did I mention the system feels sluggish?

It's the thought that counts.

That, and I can disable Norton, which seems to help.

Friday, January 30, 2004

Non testing of old features

Switching SMTP servers will always cause problems. When we first switched to Postfix, I had problems with the email interface for mod_blog. It turned out that postfix set the default permissions of child processes to be restrictive and the patch was to relax the default permissions.

Of course, I forgot about that with the software I wrote for Spring.

But it didn't really matter since she rarely, if ever, used the email interface.

Until today.

It took me quite a while to track down the problem and add a one line fix.


A Toy Party

Spring is now a distributor for Discovery Toys, and tonight was her first party, where toys are displayed and sold. The toys themselves are educational in nature, and I found myself having quite a bit of fun with the Markbleworks Raceway Construction Set.

The party itself was small, Spring's sponsor, Kelly, Gus and Angel but quite successful given the small turnout.

Saturday, January 31, 2004

The difference between a bad hair cut and a good hair cut

What's the difference between a bad haircut and a good one?

Two weeks.

Thank you. I'll be here all week. Try the veal!

[Enough hair to make a cat] [Or supply the Hairclub for Men]

I finally got fed up enough to take the professional clippers we have, snap on the inch guide, and weigh the consequences between having this horrible feathered hair from the 70s or removing several pounds of hair from the top of my head and get it out of my eyes.

I stood there for several seconds, knowing that once I started there was no going back.

What the heck! It's only two weeks!

And no, no pictures until I have a good haircut.


Drawing economics

Mark Lombardi (1951–2000) was an artist whose studio practice involved the obsessive tracking of just such mass corporate and political malfeasance. Pursuing his stories through various public-domain sources, Lombardi created exquisitely geometrical, airily complex pencil drawings that trace the connections and chronologies underlying corporate fiascoes like the failure of the Bank of Credit and Commerce International (BCCI), the looting of the Savings and Loan industry, the internecine duplicity of the Banca Nazionale del Lavoro and the Vatican, or the affairs of Bill Clintons Arkansas cronies the Lippo Group. Blending pop assumptions with conceptualist technique, and approaching the art/life divide as if it were a panel of mirrored glass, Lombardi made a practice of updating his drawings when new facts in a given story came to light. Were he alive now, he would surely be composing a new version of a small work begun in 1999 called George W. Bush, Harken Energy and Jackson Stephens, c. 1979-90, 5th Version (1999).

Via racoon: notes and scavagings, Relatable: Mark Lombardi Draws Economics

Very cool art. Who thought one could draw economics?


Is the Superbowl over yet?

I will be so glad when Superbowl Sunday is over.

Yet more attacks against the servers.

Sigh.

Wednesday, February 04, 2004

A taste of things to come

I am so far behind on entries it's not even funny. I currently have over a dozen entries in various states of editing that I need to finish. Topics include the GNU Hello World program, several more SYN floods, data centers without crash carts, spam, virii, software development, Windows flakiness (and I don't mean a nice golden brown crust type of flakiness either) and hair cuts, among other things.

Just consider this a teaser of things that are yet to come …

Friday, February 06, 2004

Science Term of the Day: fistulated cow

One of the nice things about the Internet is coming across some topic or concept you've never heard of before and learning something new. And one of the bad things about the Internet is coming across some topic or concept you've never heard of before and wishing you hadn't.

I'm reading jwz's Live Journal where he points to a picture of a fistulated cow (WARNING! RATHER DISTURBING PICTURE! Don't say I didn't warn you!).

“A fistulated cow?” I hear you asking.

Yes, a fistulated cow. It's a technique to study the cow's digestive system that's been in use for over 150 years, and it's something that quite frankly, I could have lived the rest of my life not knowing about.

Yes, I'm a bit squeemish about such things.

Then again, I'm a suburban weenie and probably wouldn't last ten minutes on a farm.

Monday, February 09, 2004

Mini DNS rant

I realize that Bind was first written in 1983 and that its continued existence must be a surprise to Paul Mockapetris, but still, would it have all that difficult to include some provisions in Bind such that you don't have to maintain two configuration files?

Basically, DNS information is stored in zone files (why was the configuration format for a particular instance of a DNS server codified up as a standard? But that's a rant for another time) which are referenced by a DNS server, like:

zone "conman.org" IN {
	type master;
	file "pri/conman.org";
};

Okay, but for backup DNS servers, you configure them as:

zone "conman.org" IN {
	type slave;
	file "sec/conman.org";
	masters { 216.82.116.251; };
};

Hence, two configuration files you need to maintain. This is insane. Most sites I know simply copy all the configuration files to all the DNS servers and run them all as masters. Wouldn't it be easier to configure backup DNS servers as:

options {
	slave-directory "/var/bind/sec";
	accept-zones-from { 216.82.116.251; };
	...
}

That would make my life (and I suspect, a whole bunch of other sysadmins' lives) all that much easier.

Then again, this functionality could already exist in bind for all I know.

I should probably check.

Thursday, February 12, 2004

A huge ever growing pulsating swarm that rules from the Facility in the Middle of Nowhere

I'm sitting here in the Computer Room wearing my pajamas, sneakers, a leather jacket and leather work gloves, waiting for a phone call at the ungodly hour of 10:30 am.

What?

Why am I wearing sneakers, a leather jacket and leather work gloves in addition to my normal pajamas? Because I just got up to the sound of ominous buzzing in the Master Bedroom.

Yup. Theeeeeeeeeeeeeeeeey'rrrrreeee baaaaaaaaaaaaaaack!

I suited up in whatever protective gear I had around outside the Master Bedroom, grabbed a can of wasp spray (“For use, outdoors only. Do not inhale.”) and went back inside the bedroom to do battle.

Apparantly whatever Paravespula vulgaris had crawled inside left the room before I got back. After a failed search to find our uninvited guest I called The Office to find out what exactly they supposedly did to evict our Vespoidea visitors.

“Um … we'll get back to you,” they said. “In a few minutes.”

That was half an hour ago.

Update a few minutes later

Apparently, the person I spoke to half an hour ago is no longer in the office! And the woman I spoke to has no idea what I'm talking about.

Wonderful!

Update later today

From: Spring Dew <spring@springdew.com>
To: Sean Conner <sean@conman.org>
Subject: yellowjacket update
Date: Thu, 12 Feb 2004 15:17:20 -0500

The special contractor is coming out tomorrow (Friday) to take a look at the colony to discern whether it's actually yellowjackets or paper wasps, as the creatures look the same, but the treaments differ vastly. From my research, I seem to remember that for one of the species, you have to rip the whole wall out. I hope this is the other one.


Donald Sutherland refuses to screetch at me

I've been slightly off-center all week—tired mostly, and taking cat naps when I can get them (and the wasps didn't help matters at all today). I've also been having “disturbing” dreams and what's worse, I can remember these “disturbing” dreams.

Now, while I consider these “disturbing” dreams as nightmares, I don't think most would actually consider them “nightmares” per se—to me the stereotypical nightmare is one you are being chased by a fire-accident victim in a cheap sweater with nine-inch finger nails or being subjected to the friendly advances of rednecks while being serenaded by banjo music in the backwoods of the Apalachian mountains. I could only wish to have such nightmares. No, the “nightmares” I have, the reason they're disturbing, is that the situations are so frighteningly normal. Think of The Stepford Wives, or Invasion of the Body Snatchers. Things seem normal, but there's this undercurrent where things just aren't right and even in the cases when I can pin down where things aren't right, there isn't much I can do about them, like the dream where the trust-fund frat-boy scion of a powerful family is placed into a position of absolute power.

Oh wait … that isn't a dream.

But it does give you an idea of just how “disturbing” my dreams are (if only Donald Sutherland would screetch at me … ).


I FEEL GREAT!

You know, this was just what I needed (via 0xDECAFBAD).

I feel great!

In fact, I don't care at all if Donald Sutherland will never screetch at me. I feel great!

Friday, February 13, 2004

A sticky situation

Well.

Deep subject.

But I digress.

The Wasp Situation took a rather surreal turn today. The special contractor arrived this morning to assess the situation, and like the cliché there was Good News™ and Bad News™.

The Good News™? They are not wasps like we originally thought. Nope. No Paravespula vulgaris here.

The Bad News™? We have a honey factory inside our wall!

They're bees.

Honey bees.

And they've set up shop in the Facility in the Middle of Nowhere.

The exterminator said that the wall has to be ripped open to remove the hive, and that he would try to keep the honey from getting all over everything.

Yes. Honey.

Buzz buzz.

So before he comes back we have to clear out the area in the corner of the bedroom so he can work.

Looks like we'll be taking out that wall after all …


Cutting into the heart of the problem

We really didn't expect him back quite so soon, but there he was, the exterminator, knocking at our door around 6:00 pm. He said he called The Office that he'd be back tonight, but in their infinite wisdom, The Office decided not to inform us that he would be returning today.

Spring and I quickly cleared out the corner of the bedroom while the exterminator suited up for battle with Apis mellifera. Once the area was clean and our bee warrior was suited up, I left the area, closing the door behind me.

Some fifteen minutes later, he comes back down the stairs. “Seems we have a problem,” he said, removing his hood. “I cut down the dry wall only to find plywood immediately beneath it. I don't have the tools to cut through that and I won't be able to return later tonight to finish the job.”

“When can you finish?”

“Well, let me get with The Office to see if there's more construction surprises,” he said. “It will most likely be Monday evening.”

“Do you think it's okay to leave the drywall cut?”

“Once I get out of this suit,” he said, “I'll go back up and patch the drywall temporarily. Don't want to leave you folks all worried.”

About half an hour later he had finished temporarily taping the drywall sections back up. Like he said, the bees are apparently between the plywood and the concrete exterior and will most likely not get through inside the Facility in the Middle of Nowhere.

So now we wait …

Monday, February 16, 2004

The Sean Conner(y) Fan Club

From: "XXXXXXXXXXXXXXXXXXX" <XXXXXXXXXXXXXXXXXXX>
To: <sean@conman.org>
Subject: Fan
Date: Mon, 16 Feb 2004 11:12:09 +0100

Hi! My name is XXXXX I'm XX and I'm your fan Sean .I watch all your movies since when I was child, you are so charmous and elegant.I will be happy if you send me a email with photos. I'm brasilian but I live in XXXXXXXXXXXXXXXXX for a litle time I LOVE YOU !

Sean, I LOVE YOU so much, so much.......
Kissssssssssssssssssssssssssssssssss

I wait you......

I was always surprised at how few people ever made the connection between my name, Sean Conner, and that of the only true James Bond, Sean Connery (and even more so, how many people misspell my first name, given that S-E-A-N Connery is so well known). I suppose that missing “y” is enough to throw the connection off and thus, about one stranger a year (if that) will make the connection.

Looks like I have this year's connection; seems that a woman just sent me email thinking I'm Sean Connery! Even weirder is that I won't come up for a search for Sean Connery, and I'm not even the first result on on my own name! Oh … hold on … yes, I am first for a Google search from where she currently lives (somewhere in Europe).

Well, that's assuming she even used Google—I think there are other search engines out there, but don't quote me on that.

Whoa!

She even sent pictures!

Gee … I hate to break it to her that I'm not Sean Connery … it definitely took some guts to not only send an email, but to include the pictures as well (not that there's anything revealing in them). Who knows, maybe the next time she's in Lower Sheol here we can get together for coffee and have a laugh over this.


Just another surreal day at the Facility in the Middle of Nowhere

I was getting a bit worried about The Bee Situation. When last left off, the exterminator said he'd be back on Monday and when I called his office in the afternoon there was no indication that he would be by. I ended up calling twice before I got a call back from the technician (as the office called him).

He was on his way, along with his supervisor (!) and would be here at the Facility in the Middle of Nowhere any minute.

About half an hour later I hear a knock on the door. Standing there were the exterminator and his supervisor, both wearing bee suits and carrying equipment. I led them upstairs into the Master Bedroom and left them to do their work.

Over the next half hour or so I could hear various loud noises coming from upstairs, then followed by a few minutes of silence. Then the exterminator comes downstairs, asking if I had my camera ready. I had mentioned the other day that I wanted to get pictures of the resulting hive and now I had my chance.

[Apis mellifera Warriors] [The Honey Factory in the Wall] [The Hive in the Wall] [The Hive Situation in Hand]

Quite impressive, given that the bees had only been there for maybe a month or so. I asked if bees really could build hives that fast and the supervisor said yes—he then said that he recently removed a 200 pound (!) hive that took about two to three months for the bees to construct. As hives go, this appears to have been a rather small one—there appeared to be only two large combs plus some smaller ones.

Before sealing the holes with the old drywall and duct tape (they're exterminators, not carpenters) the supervisor set off a bug bumb in the large cavity, to ensure no bee survives. Now all that's left is getting The Office (the rental office that is) to send a crew out to repair the walls.

It could have been worse.

I was talking to Hoade, telling him of the Bee Situation, when he related a tale that happened to one of his ex-girlfriends. Seems when his ex was still living at home, a hive had set up shop in their walls. A rather large hive. We're talking tens of thousands of bees. The exterminator they called apparently thought that just plugging up the hole they used would effectively handle the situation.

That is, if you don't mind having tens of thousands of bees slowly dying in the walls.

Anyway, the bees didn't think much of slowly dying in the walls, so they found another way “outside” which involved going through the “inside” of the “house.” And once found, the tens of thousands of bees did much rejoice, since they swarmed out of their newly found exit “outside” and the mother managed to get a way with only a few hundred stings.

So yeah, I'm glad the Bee Situation wasn't as bad as it could have been.

Very glad.

Friday, February 20, 2004

Swimsuit porn, and not even very good swimsuit porn at that …

At the D&D game tonight, we critiqued the The Sports Illustrated 2004 Swim Suit Edition and the general consensus around the table was … eh.

Some of the models were nice, most were downright scary but nearly every model was way too thin for anyone's tastes at the table. It says something about the allure of these super models that we found some of the bakini babes in other advertising to be more alluring than the supposed “supermodels” presented.

Now, for each picture in the magazine, the make and price of the bathing suit were listed, but in nearly half the images, the model wasn't wearing the suit or otherwise couldn't see it very well, which, if you're actually trying to sell or otherwise promote the bathing suit, is not a good thing!

Granted, the issue is really about very soft-core porn (according to Spring), but then, why even bother to mention the maker and price of the bathing suits that half the models aren't even wearing?

Guess Sports Illustrated needs to maintain the fiction of a non-porn related issue.

They even featured Anna Kournikova on the cover only she only got three pictures. Three! The first one is a rather silly pose, while the other two were a bit better. I also thought it was pretty interesting that they featured couples, which was new to me.

But overall, the entire issue was rather … eh.

Sunday, February 22, 2004

Spam poetry (just because … )

I've been doing some research on Racter, a program that supposedly wrote The Policeman's Beard Is Half Constructed, and I came across a site where a person used spam titles for poetry.

So today, I opened my spam folder, and lo, there was poetry:

Two voices were
anything to stop
homeless as they were

Drew with them,
the prisoner glanced
time there soared

Starting from sometime
into a pool
Do you know what is Cailis?

Well … the actual subject lines were:

Re: %RND_UC_CHAR[2-8], two voices were (from Torres Jerald)
Re: %RND_UC_CHAR[2-8], anything to stop (from Abraham)
Re: %RND_UC_CHAR[2-8], homeless as they (from Montano)

So these people had problems running their script, and I added a word to the last one to make it more poetic, and I love the names of the supposed senders.

Re: GFDGSKD, drew with them (from Wilkes)
Re: HBJMGLQ, the prisoner glanced (from Chelsea)
Re: GRBPLJ, time there soared (Crawford Paula)

Crawford Paula must be from the Deep South™.

Re: WADOZK, starting from sometime (from Cash Araceli)
Re: IAKNIE, into a pool (from Cooper)
Do You Know What Is -Cialis-? hevzj (from Kitty Jarvis)

Actually, I think Crash Araceli is a better sounding name than just Cash. Kitty Jarvis though, nice, but sounds like a porn starlette.

Monday, February 23, 2004

Better lock up those seditious historians!

It's a pity that history isn't taught better in school. Perhaps I've been somewhat fortunate in my schooling that I learned that not everything was Mom, apple pie and blue skies above in US history, but never did I realize just how wild our history has been. While it's a known triva fact that President James Buchanan was the only bachelor President of the US, there may have been a very good reason why he was a bachelor.

Oh my.

Of course his term in the Oval Office was spent in a near futile attempt to keep the peace between the North and South, and thus endorsed slavery in as much to keep the States balanced. So I suppose that if he was gay, the Gay Community have to take the good (one of their own as the Chief Executive of the United States, and a Democrat no less!) with the bad (one of their own condonded slavery, thus leaving the freeing of slaves to a Republican).

Okay, I guess that's why it's not taught that well.

But those historians … they just keep at it. For instance, historian Gary Leupp's Open Letter to Massachusetts Govornor Mitt Romney:

But this is just not true, Governor. You invoke “History” as though it's some source of authority, but you really don't know much about it, do you? “No investigation, no right to speak,” I always say, and if you want to talk about homosexual unions in recorded history you should do some study first. First I recommend you read John Boswell's fine book Christianity, Social Tolerance, and Homosexuality (University of Chicago Press, 1980), in which he documents legally recognized homosexual marriage in ancient Rome extending into the Christian period, and his Same-Sex Unions in Premodern Europe (Villard Books, 1994), in which he discusses Church-blessed same-sex unions and even an ancient Christian same-sex nuptial liturgy. Then check out my Male Colors: The Construction of Homosexuality in Tokugawa Japan (University of California Press, 1995) in which I describe the “brotherhood-bonds” between samurai males, involving written contracts and sometimes severe punishments for infidelity, in the seventeenth and eighteenth centuries. Check out the literature on the Azande of the southern Sudan, where for centuries warriors bonded, in all legitimacy, with “boy-wives.” Or read Marjorie Topley's study of lesbian marriages in Guangdong, China into the early twentieth century. Check out Yale law professor William Eskridge's The Case for Same-Sex Marriage (1996), and other of this scholar's works, replete with many historical examples.

What the study of world history will really tell you, Governor, is that pretty much any kind of sexual behavior can become institutionalized somewhere, sometime.

Via Burningbird, On Marriage in “Recorded History,” an Open Letter to Gov. Mitt Romney

Ouch!

History. It's so seditious …

Gotta love it …

Tuesday, February 24, 2004

Happy Leap Day

Once, every four years we have a leap day. And no, it's not the 29th like most would assume, but today, the 24th:

2.7.1. How did the Romans number days?


The Romans didn't number the days sequentially from 1. Instead they had three fixed points in each month:

“Kalendae” (or “Calendae”), which was the first day of the month.

“Idus”, which was the 13th day of January, February, April, June, August, September, November, and December, or the 15th day of March, May, July, or October.

“Nonae”, which was the 9th day before Idus (counting Idus itself as the 1st day).

The days between Kalendae and Nonae were called “the 5th day before Nonae”, “the 4th day before Nonae”, “the 3rd day before Nonae”, and “the day before Nonae”. (There was no “2nd day before Nonae”. This was because of the inclusive way of counting used by the Romans: To them, Nonae itself was the first day, and thus “the 2nd day before” and “the day before” would mean the same thing.)

Similarly, the days between Nonae and Idus were called “the Xth day before Idus”, and the days after Idus were called “the Xth day before Kalendae (of the next month)”.

Julius Caesar decreed that in leap years the “6th day before Kalendae of March” should be doubled. So in contrast to our present system, in which we introduce an extra date (29 February), the Romans had the same date twice in leap years. The doubling of the 6th day before Kalendae of March is the origin of the word “bissextile”. If we create a list of equivalences between the Roman days and our current days of February in a leap year, we get the following:

7th day before Kalendae of March 23 February
6th day before Kalendae of March 24 February
6th day before Kalendae of March 25 February
5th day before Kalendae of March 26 February
4th day before Kalendae of March 27 February
3rd day before Kalendae of March 28 February
the day before Kalendae of March 29 February
Kalendae of March 1 March

You can see that the extra 6th day (going backwards) falls on what is today 24 February. For this reason 24 February is still today considered the “extra day” in leap years (see section 2.3). However, at certain times in history the second 6th day (25 Feb) has been considered the leap day.

Why did Caesar choose to double the 6th day before Kalendae of March? It appears that the leap month Intercalaris/Mercedonius of the pre-reform calendar was not placed after February, but inside it, namely between the 7th and 6th day before Kalendae of March. It was therefore natural to have the leap day in the same position.

So Happy Leap Day, everyone!

Thursday, February 26, 2004

Asteroid Appreciation Day Party

From: Mike Taht <XXXXXXXXXXXXXXXXXXXXXXX>
To: sean@conman.org
Subject: Party Feb 28-29
Date: Thu, 26 Feb 2004 02:16:18 -0800
Organization: PicketWyre Labs

Wish you weren't on the other coast.

invite at: http://www.picketwyre.com/party

blog about it (as always: http://the-edge.blogspot.com)

since you can't make it, take a moment out of feb 29th and shake your fist at the stars for me.

Wish I could attend but like he said, I'm on the other side of the continent from him. But hey, anyone who reads this and will be in the Santa Cruz area (Lompico Valley) might want to RSVP with Mr. Taht.

In any case, I'll shake my fist at the stars on the 29th.

Saturday, February 28, 2004

It's 8:00 am! Do you know where your DDoS is coming from?

The job I have of monitoring several servers is not that bad of a job, except when getting a call at 8:00 am (only three hours after going to bed) because the servers seem to be down.

Long story short, can't get to the servers. Call the Miami NAP and we've pegged the circuit with so much traffic that nothing is getting through. Eventually the machine being attacked is located (there are several candidates to choose from) and it's shut off from the network; the traffic clears and access to the other servers is established.

Since there is a private network between the machines, I'm still able to get to the affected machine (by going through the one machine still connected, then going through the private network—the affected machine was removed from the public network) and check the logs:

Feb 28 09:27:37 nap1 kernel: NET: 2263 messages suppressed.
Feb 28 09:27:37 nap1 kernel: TCP: drop open request from 80.222.46.192/3755
Feb 28 09:27:42 nap1 kernel: NET: 1114 messages suppressed.
Feb 28 09:27:42 nap1 kernel: TCP: drop open request from 81.132.246.235/3921
Feb 28 09:27:47 nap1 kernel: NET: 1022 messages suppressed.
Feb 28 09:27:47 nap1 kernel: TCP: drop open request from 217.44.49.238/3751
Feb 28 09:27:52 nap1 kernel: NET: 1090 messages suppressed.
Feb 28 09:27:52 nap1 kernel: TCP: drop open request from 195.158.129.15/4371
Feb 28 09:27:57 nap1 kernel: NET: 1071 messages suppressed.
Feb 28 09:27:57 nap1 kernel: TCP: drop open request from 80.183.81.226/3244

And so on and so on …

New to me—looks like some other form of DDoS attack than the typical SYN flood. Some research later in the day revealed that is is probably a SYN flood, I had just never seen the logs produced during a SYN flood (these are servers I set up; the other servers that typically get SYN flooded were configured differently than how I would so that would explain why I didn't initially recognize this as a SYN flood). The “X messages suppressed” message is the previous message repeated X times but not logged. Going through the log file, I found 572 unique IP addresses making over 1,750,000 fake connection requests over the span of one hour, 53 minutes and 47 seconds, or over 250 connections per second (ouch).

It got me thinking about the problem. Supposedly SYN cookies help, but in this case, I would think that having the kernel check incoming SYN requests and seeing if it is already in a SYN receive state from a given IP address/port number, then simply drop the connection and optionally ban the IP address. I mean, come on, 6,886 requests from 81.56.107.105:3588 and something weird isn't going on? Sure, it's a bit of extra processing, but such a scheme would help with SYN floods of this severity (the five lowest connection requests per second were 256/sec, 238/sec, 201/sec, 180/sec and 78/sec; a threshhold of 10/sec SYN requests from a single IP/port would be generous enough).

Hmmm … on second thought, that would help in the short run, until the script kiddies change their tactics and just start picking random port numbers, so you would end up with 5,000 connection requests from 81.56.107.105 from 5,000 different port numbers. More code to limit the number of connections per IP address per second (reguardless of port number) but that then means more processing, but would be a better longer term solution. This is something that might exist in the Linux kernel—I know it can rate shape network traffic.


Too much ado about an interface to photographs, but outside of that, much ado about nothing—in fact, this title is almost as long as the entry it titles, and quite self-referential at that!

SLOWER.NET has an interesting interface for presenting photos (link via kottke.org). Not much else to say really—the interface is incredible, the photos range from incredible to eh.

In fact, this is much ado about nothing, really.

Sunday, February 29, 2004

Haven't I seen this before?

The typical American worker felt under pressure. Wages were dropping faster than prices. Foreigners were arriving to take jobs from “real Americans”. The price of new technology components fell relentlessly, prompting waves of mergers. Cheap goods flooded the market.

Serious people feared the collapse …

isen.blog

I do wish that history was taught better. I really do. The above quote? Sounds like it could be talking about today, right? But it does have that “we're talking about past events” vibe to it. And no wonder, since the author is talking not about our current economic condition, but that of 1900.

Which is why, oddly enough, I don't have an overwhelming sense of dread about what's happening in the US right now, since this is basically a reply of the early 1900s. An Imperial President in bed with corporate interests invading soverign countries and presiding over a recovering economy.

Monday, March 01, 2004

If I could have chucked olives through the phone, I would have …

For any of this to make any sense, I have to explain my current job situation. I work for a company, Φ which hosts a website for Σ, which is the site that is always getting slammed with SYN floods. R, who runs Φ and usually fields calls from Σ is out of town this week, so now I get to field calls from Σ.

Now, my entire weekend was punctuated with calls from Σ, usually at ungodly morning hours when I'm still unconscience in bed. The upshot of the recent SYN flood is that the site in question, Σ.com was moved to a new hosting facility in Canada, which, from talking to the owner of the company α (I would have named this company, but I never did get a clear audibly distinct name for this company other than it starting with an “ah” type sound), is apparently right off several major backbones so they're able to quickly respond to DDoS attacks more effectively than I by myself. Not that it bothers me any, for as interesting as SYN floods are in theory, in practice, they usually happen when I'm sleeping and there isn't much I can do to if I can't get to the server.

So Saturday and Sunday were spent fielding calls and changing IP addresses for Σ.com. First I was given the new IP address. Then it turns out to be the wrong IP address, so change it. Then a backhoe incident took out a fiber at α and the redunant circuits weren't cutting in fast enough so yet another IP address change. There is also some confusion on my part about who to actually talk to at Σ; I have at least four contact names and it isn't clear to me what the relationship between these four people are. So any change is followed by a round of phone tag and catch-up.

Sigh.

The silliness didn't end this weekend though. I get a call at some ungodly hour this morning from V, who works for Σ saying he couldn't get to the site, and asking what the IP address for Σ.com was.

First of all, Φ is no longer hosting Σ.com, so why am I even getting this call. Second—

“Why don't you do an nslookup up of the IP address?” I said to V.

“Okay,” said V, “tell me what to do. How do you do this en-es-look-up?”

It was all I could do to keep from screaming. “What type of system are you using?”

“What? I'm using a PC!”

“No, are you using a Mac, a Unix system—”

“No, I'm using a PC!”

“Or Windows?”

“Windows!”

Of course. I would have banged my head against the desk, but I was still in bed, and banging my head against the matress just doesn't have the same affect. Okay, quickly, what's the easiest way to find out the IP address of a website under Windows? “Okay,” I said. “Can you bring up the DOS command line?” Pleeeeeeeeease be able to do this. Pleeeeeeeeease. I figure at worst, I can smother myself with the pillows.

“Yes,” said V.

“Okay, type P-I-N-G space, then Σ.com,” I said.

“Okay,” said V. “But it doesn't respond! That's the problem!”

“Right, I know that,” I said. “But what does it say the IP address is?” V rattles off the IP address. “Yes, that's the IP address I was last given. That's the correct IP address.”

“But can you do anything? The site doesn't come up!”

“You'll have to call the Canadian data center,” I said, not at all remembering the name.

“But why?”

“Because Φ is not longer hosting the site, and I don't have access to the servers in Canada.” Doesn't Σ tell its employees anything? This is one of my contacts for the website?

“Oh, so I should call α then?”

Brillant deduction.


It's about 3:30pm and I'm leaving for the grocery story when I think L from Σ calls. Or it may be T from Σ. It's one of the four contacts I've talked to, and it isn't V. I have to change the IP address yet again because of problems with α. I haven't actually left yet, and it takes only a minute to do. Not a problem. Then I rush out the door to the grocery store.

Half an hour later, I'm in isle 2 (condiments) when my cell phone rings.

It's V, from Σ.

Can't get to Σ.com. What's the IP address?

“I don't know,” I said. “I'm currently in isle 2 of the grocery store.”

“But it was changed, right? To .umpteen?”

“Yes. I got a call a bit ago to change the address, and that sounds right.”

“But I can't get to it.”

DNS propagation. It may take up to three hours for you to see the changes, unless you restart your name server.”

“How do I do that?”

I will be so glad when R returns from vacation and he can field the calls from Σ.


“Now you too can add life and breath to any romantic novel.”

“So what's with the boxes out there?” I asked Spring. Outside in the courtyard were a pile of boxes, blocking view of the gate.

“You'll have to read my LiveJournal to find out,” she said.

“You can tell me,” I said. “I'll still read it.”

“I brought them in so we can keep them.”

“Boxes?”

“Yes,” she said.

“All those boxes?”

“There's only three,” she said.

I looked outside to the court yard. “There's more than three it looks like.”

“What?”

“Outside. In the court yard.”

“Oh, those. Those are boxes the Kids found; I'm not sure what they're there for.”

“Um … okay,” I said. “What are you talking about?”

“The ones over there,” she said, pointing to the dining room. “The ones filled with books.”

“Oh.”

Spring found a lot of books, three boxes worth of books. And an interesting collection too. In one box are books mostly dealing with history, generally European from 1500 onwards, with a specific viewpoint of Victorian England. The second box contains books about writing, with specific books on romance and mystery writing. The last box contains books about movie making, mostly the business side and script writing.

From looking at these books, and assuming they all come from the same person, one would think that the person was attempting to produce a movie about a romantic mystery set in Victorian England. Perhaps a movie version of Saucy Jack?

The best of the lot though, has to be the Romance Writers' Phrase Book, a collection of over 3,000 “descriptive tags” to use in your romance novel. Stock phrases you can use to describe her body:

she was slender, dark, and fiery with eyes that glowed and pierced

a slim waist which flared into agilely rounded hips

her hose felt like sheaths of clammy cloth on her exceptionally pretty legs

Or a discription of him:

his well-groomed appearance was incongruous with his suntanned skin

he had an air of authority and the appearance of one who demanded instant obedience

his cold urbanity was only slightly disturbed [“I find your lack of urbanity … disturbing!”]

the tantalizing smell of his after-shave [Hai Karate!]

(Okay, sorry. But these are so asking for the MST3k treatment).

Then there are emotions of dispair!

she felt a wretchedness of mind she'd never known before

he spoke so viciously that she wondered how she could ever have thought him kind

her throat was raw with unuttered shouts and protests

And one must never forget the money shots:

he paused to kiss her, whispering his love for each part of her body

his lips traced a sensuous path to ecstasy

together they found the tempo that bound their bodies together

she lay drowned in a floodtide of the liberation of her mind and body [meanwhile, he had to clean up afterwards]

she exalted at the male strength, the cleanliness and beauty of him [Aren't you glad you used Dial?]

Throw these phrases into something like my Quick and Dirty B-Movie Plot Generator and man, I could crank out scores of romance novels.

Hmmm … might be a decent project for the next NaNoWriMo.

Tuesday, March 02, 2004

The Gilded Age, Part II

In June 2003, Bill Moyers said that “Karl Rove has modeled the Bush presidency on that of William Mckinley (1897-1901) and modeled himself on Mark Hanna, the man who virtually manufactured McKinley. Mark Hanna saw to it that Washington was ruled by business, railroads, and public utility corporations.” President Bush's tax cuts have given over 93% of their benefits to large corporations and well-to-do households with over 250,000 dollars of annual income (about 10% of the U.S. households). Moreover, President Bush's tax cuts are abolishing taxes on such asset-based income as stock dividends and capital gains.

Via 0xDECAFBAD, President George Bush and the Gilded Age

Seems like I'm not the only one to see parallels between McKinley and Bush. And according to William Straus and Neil Howe it was the Lost Generation of the Gilded Age that helped America pull out of its corporate death sprial (or something like that).

Just more proof to me that we don't really study history here in the US and we're worse off because of it.

Wednesday, March 03, 2004

FYI

From: support@conman.org
To: sean@conman.org
Subject: Notify about your e-mail account utilization.
Date: Wed, 03 Mar 2004 13:39:43 -0500

Dear user of e-mail server “Conman.org”,

Our antivirus software has detected a large ammount of viruses outgoing from your email account, you may use our free anti-virus tool to clean up your computer software.

For further details see the attach.

For security reasons attached file is password protected. The password is “36847”.

Kind regards,
  The Conman.org team http://www.conman.org

Yea, like any virus has escaped from this email account. Quite possibly forged email, but none directly from me. Never mind the fact that the email client I use doesn't support attachments, I don't use Windows to check my email—I use Unix (okay, technically Linux). And running Windows executables just isn't possible (well, it is possible but it isn't easy to do, thankfully).

But what gets me is that this is supposedly from support@conman.org, which doesn't exist here at Conman Laboratories. And even if it did, it would either be myself or Mark doing the support role. I don't send attachments, and if Mark did, I suspect it wouldn't be in zip format (we're both more tar.gz users than zip users). And Mark would never send a password in email.

Oh, and we don't run anti-viral software on the server—it's just not an issue here.

Sigh.

Update later today

This is an identical message that we were getting at work. It is spam/trojan virus. It uses your domain name. Very clever too. Variations of it use different wording and spacing, making filtering difficult. Also, the .zip file contains a trojan .exe and is uaually “Readme.zip” or “TextFile.zip” and is password protected. Why? No virus scanner can take a peek inside and quarrantine it.

I give these bozos points for this one. Looks like they have been saving up many ideas for one blow.

Too bad they pissed me off—it hit us at about 11:20am. I had a 12:00 lunch appointment. I ended up being 15 minutes late to this lunch appointment after tracing the source to somewhere in Houston, TX and setting up sufficient blocks to keep it out. It's a good thing they assigned the email filter system to the UNIX group (of which I am currently the ONLY member of) (simply because it runs on a Linux black box—completely contained, but Linux backend)—that way I was the “Jr. Admin” who blocked the trouble in less than an hour. PFffft!

Kelly Fallon

I was wondering about the password protection but this does make sense. Too much.

Blah.

Thursday, March 04, 2004

No need for satire anymore

Turns out one Thorkild Grosboel, pastor of Taarbaek, a town of 51,000 just north of Copenhagen, said in a recent interview that “there is no heavenly God, there is no eternal life, there is no resurrection.” According to the Times, this “mystified” church leaders, and Grosboels bishop responded by suspending him.

For a week.

Thats right. A Lutheran pastor announced a personal theology that denied the existence of God, resurrection, and eternal life and the response of the church was a one-week suspension.

Wow. Talk about turning the other cheek. Thats some serious tolerance of dissent. If Pope Leo X had been that forgiving toward Martin Luther, we wouldnt have Lutherans.

Via 0xDECAFBAD, A Criminal Waste of Space

Nietzche saying God was dead is one thing. But for a Lutheran minister? And not be kicked out or otherwise excommunicated?

The Onion should give up satire and just report the news. Next think you know, there'll be Christian porn and … oh … um … darn!

But the “Christian” whoremongers have taken it to a step beyond, way beyond the empty promises of the fallen-angel wannabes whom they parade across our TV screens on the “Christian” channels. And by that I mean the God-fearin' faction that has moved into the lucrative business of making pornographic films and carved out a whole new genre: Christian porn.

Via metaphorge ,Christian Porn Sucks!

What next? A mainstream snuff film? Um … erm … um … yea.

I think I'll stop here …

Thursday, April 01, 2004

A Round Toit.

Yes, I haven't updated here in a while. Yes, I do need to update. I'll get around to it, just as soon as I file off the edges of this square to it I just found.

Friday, April 02, 2004

Finally got my round to it

Well, the masses spoke, and 75% did not like my little design change of yesturday, finding it ugly and hard to read (although the one person who liked it enjoyed the retro feel of the design). But that wasn't a permanent design change—it was my own little April Fools joke (although in the process, it reverted a change Mark made to one of my posts as a joke (side note to Mark: next time, change the actual post)). So rest assured that the design is back to normal (that's the neat thing about CSS—it took all of five minutes to edit one file to change the entire look of the site).

As far as pranks go, it's pretty tame. I do recall in college pulling some decent pranks—the time some friends and I placed ”Beware of GOD” signs all over campus (someone had placed ”Beware of DOG” signs all over campus; we took them down, rearranged the letters and placed them back up). We even managed to place some on second story windows, facing in. Then there was the time we found some police tape, and strung it up in a few locations in the building we worked in on campus, along with tape outlines of bodies (best location: elevator with the hand sticking out on the second floor). We managed to scare the cleaning crew with that one.

Okay, so it's a far cry from the pranks at MIT, but as far as I could tell, we were the only ones at college to do such things.

Monday, April 05, 2004

Cerebus is dead

The first 1,100-page graphic novel in the history of the medium, and the reaction could be summed up as the sound of one cricket leg chirping. Just as there was no “storm of misinterpretation” following Cerebus' “marriage” to Astoria. I'm not sure the quotes belong on there. That was part of my point. If Cerebus is the Pope and he declares himself married to Astoria and has sex with her, is that rape? There were a number of levels to that one, but that was the joke as far as I was concerned. To give it a greater immediacy: Why does having a priest say a few words to a couple make what they do marital relations, and if he doesn't say the few words, it's fornication? And if a priest can make fornication into marital relations, why can't he make rape into marital relations?

Via Michael Duff, Onion A.V. Club: Writer-artist Dave Sim

I was introduced to Cerebus back in 1990 by my friend Sean Williams. At that point Dave Sim was nearly done with Church and State and I had a great time in catching up and getting current with the storyline. I had read the first 25 issues, but sadly, Sean did not have a copy of High Society (the next 25 issues, forming a single story arc). I became familiar with the whole 300 issue story arc Dave Sim was planning, and became a great fan of not only the writing but of the artwork as well.

But that was the early 90s. Over the next ten years I lost track somewhat of Cerebus, managing to get a copy of High Society and a few volumes past Church and State and hearing about the infamous screed against feminism but that's about it. And it surprised me that March of 2004, the last month of Cerebus has already come and gone.

And thus ends, as Dave Sim says, “comic-book equivalent of one Russian novel” at 6,000 pages of beautifully drawn art (well, nearly—the first few issues were rather rough around the edges).

Dave Sim may be a right-wing conservative anti-feminist facist, but he still has the best take on intellectual property I've read in a long time.


Photography of heavenly bodies

Last month The Kids received a telescope from their father. I helped The Kids to set it up (read: I put it together) and use it to view the moon and what I think was Jupiter. It's too nice to let them keep it in their room, so it currently lives in our room.

Late Sunday night, I was talking with my friend Ken D, who just received his Ph.D. in physics from FAU and currently teaches an astronomy class and he pointed out that the bright star south west of the moon was most likely Saturn, so when I got home, I decided to break out the telescope and do a bit of viewing.

Or rather, an attempt at stellar photography. Or would that be, planetary photography?

Anyway, I set up the telescope (which has a computerized controller which makes fine adjustments quite nice) and then attempted to use my digital camera to take pictures, first of the moon.

Considering I have no camera mount for the telescope, I think I managed to get some decent photographs of the moon through the telescope. Not an easy task to line up the camera optics with the telescope optics and take a picture without the image becoming hopelessly blurry. Even with a tripod it was difficult since the moon was so high up that the camera would just barely reach the eyepiece if I tipped the camera tripod up on two feet—in retrospect, I should have lowered the telescope, but hey, it was a learning experience.

I spent so much time with the moon that by the time I got around to Saturn it was just above a strand of trees and setting fast. At least, I think it was Saturn—it was a planet (since I could make out a distinct disk) but the rings were very hard to see, if in fact they were rings and not a form of spherical abberation due to the telescope optics. Twice I moved the telescope and lowered it in a vain attempt to get a picture of Saturn, but to no avail—it had set behind the trees and the one shot I did get was a light blob, not worth saving.

Tuesday, April 06, 2004

The art of filmmaking

In August of 1979, Mom and I moved to South Florida where a few months later, I met my best friend Sean Hoade who was quite the movie buff (even at the age of ten). He was really taken with the film Time After Time and by the end of the year we had worked out a ten page script for The Time Machine, about two guys who build a time machine in the living room of their apartment (and get a TIME cover story no less!) and go on to have various adventures, ending with a stint through 1944 Germany (of course).

We never did make that film, although I did learn the technical aspects of home film. A standard 8mm reel is 50′ long and at 16fps will last 3′40″ (3 minutes, 40 seconds). When you buy the film, it's actually 25′ of 16mm film; you load the camera, and when you shoot your 1′50″ of footage half the film is exposed (left half—right half is still unexposed). Then you reverse the reels, feeding the film through the camera again, expose the other 1′50″ of footage, then seal the film back up in its container and off to the lab it goes. There, the film is developed, split down the middle and spliced together to make a 50′ foot of 8mm film. Super-8 is still 8mm wide, but the film sprockets are verticle, leaving more space for the picture, and you actually get 50′ of film 8mm wide when shooting. Editing consists of splicing the film together, and there are two methods of doing that—one consists of literally glueing the strips of film together by overlapping one strip with the other (by one or two millimeters); the other method is to buttress the two strips end to end and tape them together. Well, there's more but I won't bore you with details (heh—it's been twenty years since I last used an 8mm camera and I still remember this stuff).

Fast forward ten years. Hoade is back living in South Florida and he gets the moving-making bug once again. He enthuiastically shows me the video of Polish Vampire in Burbank (good luck in finding a copy, but trust me on this, you aren't missing much). Hoade relates that the film in question was made for $2,500 (1985 dollars—adjusted for inflation, $4,326.21) and basically, it shows. Made on Super-8 (with sound) and probably all the $2,500 went into film stock and processing and very little into anything else.

“But,” Hoade said, “it grossed over $500,000!” A return of 20,000% wasn't something to sneeze at, and it would be nearly impossible to do worse than Polish Vampire in Burbank in terms of script quality, film quality and sound quality—heck, we were planning on a “straight to video” release anyway and film always looks better than video, even Super-8 (or at least, film has a different “look” that's pretty easy to spot). And given that we planned maybe spending $5,000 that put us at nearly double the Polish Vampire budget ($2,500 adjusted to 1990: $3,020).

So Hoade dusted off a short story he wrote in high school (“The Nihilist”) and a few weeks later we had our screen play—The Left Hand. A psychological horror story where the main character recieves a talisman and is instructed to use it only in his right hand. One night while drunk he decides to see what happens when he uses it in his left hand. Mayhem ensues.

And did mayhem ensue. We got Joe Lo Truglio involved (Hoade made an 8mm film with Joe in middle school, and I knew him in high school), and over the next few weeks, managed to cast the rest of the film but being complete amateurs at this, plus a sprialling budget, ended the attempt.

The following year Hoade decided to give it yet another try (Joe by this time was in New York City studying acting). This time, we would use 16mm, the budget was set for $25,000. Again, we found our cast and a professional crew and we were one week from filming when Hoade called it off again—the budget had blown up to over $60,000 and Hoade had no idea of how to finance it at that point (since he was paying for this out of his own money).

I was reminded of these memories as I was reading Joe Queenan's The Unkindest Cut, a book about Queenan's attempt at filming Twelve Steps to Death for $6,998 to undercut Robert Rodriquez's $7,000 film El Mariachi (more widely known than Polish Vampire) by two dollars. In the book, Queenan pretty much blows the myth of El Mariachi apart—unless everything is free and you are shooting in 8mm or video there is no way you can do a film for only $7,000 (or even $6,998). Depending upon the accounting method used, his film cost $35 (“To those of you who say that $35 seems a bit on the low side … I can only say this: There may be some give in our figures.… [A] debate rages over whether Kevin Costner's new movie Waterworld actually cost $85 million—the studio's figure—or $165 million—The Wall Street Journal's latest calculation. If Kevin Costner can be allowed $80 million worth of latitude, surely an intrepid filmmaker … is entitled to a tiny bit of leeway.”), $49,960.39 (the amount he spent to the premiere) or $65,193.67 (if you include everything he spent including publicity, tapes, free merchandise, etc).

That's a pretty expensive $6,998 film.

I also finished reading Art Linson's A Pound of Flesh, a horribly cynical look at Hollywood by an actual Hollywood producer. After reading that book, I'm amazed that anything is actually filmed in Hollywood:

After all, if a producer has enough scripts in development, he can earn sufficient income from development fees to survive without going into production. As I mentioned, a supervisory fee for bringing a development deal to a studio can range from $25,000 to $50,000 and more. Hey, if you can have ten of these deals, you can “live.” Twenty, and you can afford to give to charity. Why bother getting a movie made? Believe me, everyone is in on this.

Art Linson hates writers—

What are you going to tell this “I don't need you anymore now that I have the deal” know-it-all writer to help him come up with a good screenplay? Does he really need your help anymore? In most cases, emphatically yes.

has strong opinions on directors—

For my part, if I can't be on the committee that chooses the director, I'd just as soon work on something else.

but treats the actors with respect—

“So, let me see if I'm hearing you correctly,” I said. “You have given this a lot of thought [about two hours —Sean], and you have come to the conclusion that you hate the wardrobe. You would like me start over and have it completely redesigned by the time you get back from Italy, under your supervision.”

“Exactly.”

“Done.”

“Done,” [De Niro] smiled.

He's cynical as hell about the whole Hollywood thing, but he's still there, producing films.

But it's sad in a way, that in reading both books I realize that the art of filmmaking, the technical aspects, really pale in comparison to the money end and the politics that go on trying to get a film made. It may explain why George Lucas spend $150,000,000 of his own money to make The Phantom Menace—there were no politics, no one to say “No, George, this is crap” (and as a film, someone should have been there to say that).

And I suspect, that had Hoade and I known all this back then, we may have not even tried.


Large scale engineering in the computer world

Google is more than just a web search engine:

Rob Pike has gone to Google. Yes, that Rob Pike—the OS researcher, the member of the original Unix team from Bell Labs. This guy isn't just some labs hood ornament; he writes code, lots of it. Big chunks of whole new operating systems like Plan 9.

Look at the depth of the research background of the Google employees in OS, networking, and distributed systems. Compiler Optimization. Thread migration. Distributed shared memory.

I'm a sucker for cool OS research. Browsing papers from Google employees about distributed systems, thread migration, network shared memory, GFS, makes me feel like a kid in Tomorrowland wondering when we're going to Mars. Wouldn't it be great, as an engineer, to have production versions of all this great research.

Google engineers do!

The Secret Source of Google's Power

And how Google can offer 1 gigabyte of storage per email user:

A pack of 20 300GB drives can probably be driven down to around US$5000, so, even accounting for minimal expense on RAID, we're looking at roughly US$200 million in hardware costs. Yeah, it's a gross exaggeration, since I've not factored in oversubscribing (which probably shrinks the required disk capacity to 30%) or made a real attempt at estimating other costs rather than the disks themselves - let's say things even themselves out and it can be done at half that (US$100million).

Looks cheap, even for Bill. Expect Hotmail to try to outflank Google.

Gmail

And this is pure speculation, but something to keep in mind:

This page is not meant to be an analysis of Gmail, but while you are at it, please read the privacy page and the terms-of-use page for Gmail. Note that if you delete an email, Google may mark it so that it is invisible to you, but might not really delete it. And if you terminate your account, Google does not guarantee that they will erase your emails. Google decides what to delete and when, not you. It's none of your business.

While Google brags that no humans will read your emails, the entire Gmail program will involve extensive automated profiling of you as an individual. Google will be sharing the non-identifiable portions of your profile with anyone they choose. If the ownership of Google changes, or there is a merger, the entire personally-identifiable profile will be available to the new owners or partners.

Finally, it's all available to government officials all over the world, under whatever legal procedures are used in any particular jurisdiction. It is also available to civil litigants under discovery procedures authorized by a court. When you look at it this way, the one-gigabyte allowance for your email account becomes much less attractive.

Google never deletes anything they collect, as far as we can tell. Think twice before typing in your email address on a Google form.

Google covets your email address

Thursday, April 08, 2004

It works, but mysteriously crashes after a day or so …

A program I'm trying to run (for a small side project) keeps crashing. Well, “crashing” isn't the right term—it technically doesn't crash, but calls exit() when certain errors occur. The error in question happens with the following code:

x = fcntl(fd, F_GETFL, &fl);
if (x < 0)
{
  syslog(LOG_ERR, "fcntl F_GETFL: FD %d: %s", fd, strerror(errno));
  exit(1);
}

and the error in question is:

fcntl F_GETFL: FD -1: Bad file descriptor

It's in a function called set_nonblock() and it pretty much takes a file desriptor (reference to an open file) as a parameter and makes two calls to fcntl() and it's failing with an invalid file descriptor on the first call. So I check the code that calls set_nonblock(); there are only two locations were set_nonblock() is called, and in both cases, the file descriptor is checked before the call to set_nonblock() which means that the file descriptor is being clobbered between the initial test and the call.

Not good.

So I add more logging, and run again (mind you, this is over the course of several days).

I finally get a location:

stp.c:233: failed assertion newsock >= 0

Okay, check the code:

int wait_for_connection(int s)
{
  int                newsock;
  int                len;
  struct sockaddr_in peer;

  ddt(s > -1);

    len = sizeof(struct sockaddr_in);
    newsock = accept(s, (struct sockaddr *) &peer, &len);
    /* dump_sockaddr (peer, len); */
    if (newsock < 0) {
        if (errno != EINTR)
            perror("accept");
    }
    get_hinfo_from_sockaddr(peer, len, client_hostname);
    ddt(newsock >= 0);
    set_nonblock(newsock);
    return (newsock);
}

Line 233 is highlighted, and ddt() (which is a function I wrote) basically checks the condition and if false, logs it (via syslog()) and exits the program. And I see the error. It's subtle, but it's there. The fragment:

newsock = accept(s, (struct sockaddr *) &peer, &len);

if (newsock < 0) {
  if (errno != EINTR)
    perror("accept");
}     

is the culprit.

Under Unix, a system call (like accept()) can be interrupted, and if so, the call fails with an error code of EINTR. Why could a system call be interrupted? Well, say a program creates a child process (which this one does), and that child does its job and exits, then the parent process (which created the child process) is “interrupted” with a message: “your child process has finished.” Normally, if a system call is interrupted, you want to try the system call again, only this code doesn't do that! (although it looks like the author intended to recall accept() but forgot to write that code).

Patch the code:

int wait_for_connection(int s)
{
  int                newsock;
  int                len;
  struct sockaddr_in peer;

  ddt(s > -1);
 
  do
  {
    len     = sizeof(struct sockaddr_in);
    newsock = accept(s,(struct sockaddr *) &peer,&len);
    if (newsock < 0)
    {
      if (errno != EINTR)
      {
        perror("accept");
        return(-1);
      }
    } while (newsock < 0);

    get_hinfo_from_sockaddr(peer,sizeof(struct sockaddr_in),client_hostname);
    set_nonblock(newsock);
    return(newsock);
  }
}

and try again. Hopefully, this (and some other minor cleanup) will fix the problem.


An unexpected visit

We were expecting Marcus later this week—Saturday to be exact. His friend Kat is attending a wedding a wedding in Key West this weekend and due to some misfortune, she couldn't fly (they're both from Texas). So she convinced Marcus to drive to Key West for the wedding, if only to drop off a kitten that Marcus has been threatening to send our way for the past few months (you see, he found himself with four kittens and wanted them to go to good homes, and Spring has been wanting a kitten for some time and … )

We were not expecting him to show up today.

At least we got several hours notice.

He and Kat arrived around 8:30 pm, and something fuzzy was released into the house, causing Spodie to growl and sulk about. I suppose it was the kitten (not quite a kitten anymore) but I've yet to see the thing so who knows.

After shooting the breeze for a bit, Marcus and Kat mentioned they were a little peckish (“Hey Napalm! We're XXXXXXX starving here! Where can we eat?”) Spring and I started mentioning restaurants, but nothing grabbed their attention as much as Brewzzi, a microbrewery in Boca Raton (“Steak? Beer? Hell yes!”).

Much beer (mostly Marcus) was consumed, and much food (in larger-than-Texan sized portions). Topics of conversation ran from Tejano music, to horrible bar jokes to how kids can sleep anywhere (the Older fell asleep on several chairs next to our table).

After dinner, Marcus and Kat drove on to Miami to meet with friends there, where they would then drive to Key West the following day. Spodie is still sulking around the house, and I think we have another cat around here somewhere.

Friday, April 09, 2004

An anonymous text message I received on my cell phone on a Friday evening at 9:31pm

Wuz up girl?


<1754XXXXXXX>
04 / 09 / 04
9:31 PM

I've also yet to see the kitten.

Sunday, April 11, 2004

Is there something going on today?

Somehow I get the feeling that I forgot about something.

Maybe some holiday or something?

In other news, ants ate The Younger's Cracker Jacks. That's my story and I'm sticking to it.

And yes, that fuzzy thing released into the house the other day is indeed a cat. I've finally seen the darned thing, and Spodie is still growling at it, and it's hissing right back at Spodie.

I think they're in love.

Tuesday, April 13, 2004

Obligatory Cat Pictures on a blog

Enough!

Uncle!

I give!

Here are cat pictures of Tula Suriyothai, our new kitten. On a blog.

[That's right Spodie!  I'm taking over here!] [Are you looking at me?] [Vogue] [Yea?  So?] [Worship me!] [The Cyborg Kitty]

Yes. Cliché, I know.

Sorry.

Thursday, April 15, 2004

Beware the Ides of April

Through explicit policies, as well as tax laws never reported in the news, Congress now literally takes money from those making $30,000 to $500,000 per year and funnels it in subtle ways to the super rich—the top 1/100th of 1 percent of Americans.

One 1985 law, promoted in the Senate as relieving middle class Americans, gave a huge tax break to corporate executives who make personal use of company jets. CEOs may now fly to vacations or Saturday golf outings in luxury for a penny a mile. Congress shifted the real cost of about $6 per mile to shareholders, who pay two-thirds, and to taxpayers who suffer the rest of the cost lost as a result of reduced corporate income taxes.

Via Ceejbot, Stroke the rich—IRS has become a subsidy system for super-wealthy Americans—IRS winks at rich deadbeats

Something to think about as you are doing your last minute tax preparations. On the flip side though, about those lear jets:

This paper studies perquisites of major company CEOs, focusing on personal use of company planes. For firms that have disclosed this managerial benefit, average shareholder returns under-perform market benchmarks by more than 4 percent annually, a severe gap far exceeding the costs of resources consumed. Around the date of the initial disclosure, firms' stock prices drop by an average of 2 percent. Regression analysis finds negative associations between CEOs' personal aircraft use and their compensation and percentage ownership, in accord with Jensen-Meckling (1976) and Fama (1980), but both relations have small magnitude.

Via Jason Kottke, Flights of Fancy: Corporate Jets, CEO Perquisites, and Inferior Shareholder Returns

I wonder if we'll be seeing a rise in civil court actions by shareholders? Again, something to think about as you fill out your 2003 Form 1040


Vacation

Even though today is tax day there is one good thing about today—The Kids' father arrives today to take them on vacation.

Thus giving us a vacation.

It will be a quiet week.

Friday, April 16, 2004

Kill Bill

Spring's friend Chris invited us over to watch Kill Bill volume 1 on DVD at her house, then afterwards see Kill Bill volume 2 (the second half of the film) at the movie theater.

I've generally like Quentin Taratino's work so of course I had to watch his latest work. But his work is not for the squeemish. To say that Kill Bill volume 1 is a bit bloody is like saying that Machiavelli is a bit crafty. Starts out with Uma Thurman lying on the floor, bloody, talking to someone who shoots her in the head. Roll starting credits, leaving the audience (well, at least me) going “What the XXXX? Guess the film is about how she ended up being shot.”

First scene. Door bell rings. Woman answers. Uma, on the other side, slams her fist into the woman and it continues from there in a great fight scene.

And yes, it pretty much starts up and doesn't relent at all.

But unlike Reservoir Dogs there are no ear slicing scenes, nor are there faces being blown off like in Pulp Fiction. But there are arms, legs and heads being sliced off with geyser of blood errupting from the body. Blood spraying everywhere. But it's so over the top that it's not as disturbing as it could be.

And the fight sequences. Incredible choreography.

And you learn that she did in fact survive the gun shot to the head and is after the people who attempted to kill her. One after the other. She only gets halfway through the list when volume 1 ends.

Film two opens up with the clip of her getting shot in the head, then her driving towards the final confrontation with Bill. The second film is more sedate then the first; no rivers of blood nor crazed fight orgies; no, you get more of the great Tarantino dialog and a great homage to martial art films of the 70s (including the crazy camera work and music). Not to say that there aren't any fight sequences, but they're more personal, mano a mano as it were.

While lacking the depth of Pulp Fiction or Jackie Brown and the intensity of Reservoir Dogs, they're still fun to watch, and are worth seeing if you are a Tarantino fan, or a fan of martial art films.

Thursday, April 29, 2004

Alive and well on Ganymede

It was a quiet week, and surprisingly, The Kids have been back nearly a week now and it's still quiet. Well, not as quiet as it was when they were off with their father driving through Florida, but still, after a year, the concept of “quiet” seems to have percolated down into their psyche and they are quieter now then they were this time last year.

Woot!

I've also been somewhat busy over the past two weeks. One task I've been working on is a “Getting Started Guide” for Seminole, Mark'a webserver. As Seminole is an embedable webserver, the guide is geared towards programmers who need to link Seminole into a larger project, and as writing assignments go, it is bloody difficult.

The problem I have is that I simply don't want to parrot in English what the demonstration code (which I'm also writing) is doing. I think I rewrote the CGI chapter two or three times and hating each revision, and I'm still not fully satisified with the results, but hey, that chapter is done (for the most part), and besides, what can one say about the following code?

bool DemoCgiHandler::Handle(HttpdRequest *p_req)
{
  assert(p_req != NULL);

  if (IsMe(p_req))
  {
    //-------------------------------------------------------
    // we only accept POST methods in this handler, which is
    // the most common method of handling HTML forms.
    //-------------------------------------------------------

    if (strcmp(p_req->Method(),HttpdUtilities::mPostRequest) != 0)
    {
      p_req->Respond(HTTPD_RESP_METHOD_NOT_ALLOWED);
      return(true);
    }

    //----------------------------------------------------------
    // This call collects the parameters into an array for us
    // to use.  If there is no Content-type passed in, or it's of
    // the wrong type, then HttpdCgiParameter::ParsePostData()
    // will return NULL.
    //----------------------------------------------------------

    HttpdCgiParameter *list = HttpdCgiParameter::ParsePostData(p_req);
    if (list == NULL)
    {
      p_req->Respond(HTTPD_RESP_SRV_ERROR);
      return(true);
    }

    //---------------------------------------------------------
    // We accept three parameters, "name", "title" and "age".
    // We don't do much with the data, other than print it out,
    // but this is the basics of getting CGI data from the client.
    //------------------------------------------------------------

    HttpdDynamicOutput output(p_req,false);
    p_req->Respond(HTTPD_RESP_OK);

    const char *name  = list->Find("name");
    const char *title = list->Find("title");
    const char *age   = list->Find("age");

    output.Header("Content-Type","text/plain");
    output.HeaderComplete();

    output.Body()->Printf(
                           "Name:  %s\r\n"
                           "Title: %s\r\n"
                           "Age:   %s\r\n",
                           name  ? name  : "none given",
                           title ? title : "none given",
                           age   ? age   : "none given"
                         );
    return(true);
  }

  return(false);
}

(I don't think Mark will be too upset for me posting the code here—this is, after all, just a demonstration of how to use Seminole and the code (at least to me) is fairly obvious in what it does).

If the CGI chapter was bad, the template system was even worse. The demo code for that was about the size of the CGI demo, and just as drop dead simple (well, as simple as C++ code can be).

I guess part of the problem is that I'm having a hard time placing myself into the mindset of an embedded programmer (which I'm not) who has to learn how to use Seminole (which I am, mostly by going through the source code to Seminole, and following the few examples written by Mark) and knows C++ (which I'm learning) but might not know how this web stuff works (which I know all too well). So yes, it's kind of hard to get into the right mindset to write this guide.

But I'm forging ahead anyway.

One thing I did learn this week is how to pipe highlighted text from joe (the editor I use) through an external program (and I've been using joe for how long now? I'm not going to bother answering that). What this means is that I can now embed code, highlight it, and run it through a filter to convert certain characters like “<” or “&” into “&lt;” and “&amp;” (which is required since the documentation is in XML) or to indent the block or even (much to Mark's delight) expand tabs to spaces (to Mark, tabs are eeeeeeeeeeeeeeeeeeeeeevil).

Another thing I learned this week—how to hard boil eggs. I've learned that fresh eggs are important to the success of hard boiled eggs.

Friday, April 30, 2004

The death of one and a hundred zeros

Aieeeeeeeeeeeeeeeeee!

It's the beginning of the end!

NEW YORK (CNN/Money)—Google, the world's No. 1 Internet search engine, finally filed for its initial public stock offering Thursday and promised to maintain its long-term focus even though it will soon face the intense scrutiny of Wall Street.

Via Jason Kottke, Google files for its long awaited IPO

I can only hope their plans to keep control from Wall Street work out.

Saturday, May 01, 2004

The severe lack of connectivity

Yet more Internet outtages this week. Intermittent access late this week, with a complete outtage all day yesterday. In fact, over the past few weeks the connection here at the Facility in the Middle of Nowhere has been progressively getting worse. To the point that Spring order DSL. Once it gets here and works, we dropping cable (and most likely the TV side as well—the only ones that watch any significant amount of it are The Kids, and I can live without Good Eats (I'll miss it, but I can live without it).

I'm not sure what happened though—the cable Internet was rock solid when we first signed up.

Sigh.


An electronic archeological dig

An essay by Mark Pilgrim on the history of the tilde got me interested in figuring out when I first put up my homepage, http://pineal.math.fau.edu/~spc/ (don't even bother trying to go there—it's long dead link; I don't even think pineal.math.fau.edu exists anymore). I still have a copy of that site, but the earliest timestamp in that site is 1995, and I know I had it prior to that. I think I used the NCSA server, which means I could have had the page up as early as the summer of 1993, but 1994 sounds right to me.

A bit of digging in the archives reveals this email message I sent:

From: spc@pineal.math.fau.edu (Sean 'Captain Napalm' Conner)
To: XXXXXXXXXXXX (Hanh Vu)
Subject: Re: Lunch …
Date: Thu, 10 Nov 94 16:16:42 EST

A long long time ago in a network far far away, The Great Hanh Vu wrote:

-spc (Installing httpd on pineal … yup … I … broke down I'm gonna have a home page … )

Et tu, Sean …

Yea, well … you know … gotta keep up with the times …

-spc (but you can check out what I have with http://pineal.math.fau.edu/~spc/ … )

The surprising thing is that it was late 1994, not early 1994. Slap some CSS on the pages, and it wouldn't look half bad these days. I also found the following gem (which wasn't carried over to the current site):

The Atlantic Sun was the FAU school newspaper for many many years, from the mid 60's (when the university was founded) to about 1990. At this time, the paper was completely student run (there was not facaulty or staff supervisors).

In that year, the paper was very critical of the Administration (so what else is new). In order to strike back, the Administration looked at the academic records of each of the editors and found that most of them technically could not work for the newspaper with such abysmal GPAs. The editors of the newspaper where outraged and shouts of “Censorship” were heard about the campus.

In a very bold move, the newspaper persuaded the Student Goverment to give them several thousand dollars (on the order of about US$50,000), plus all the existing equipment to form a newspaper off campus and become completely independant. So, the old staff left campus with mucho dollars and all the equipment and set up shop about a mile off campus, and thumbed their noses at the Administration (as well as various other body parts).

One year later the Independant Atlantic Sun (as it was called) went bankrupt and folded operations.

It only took about three years for a new student newspaper to form.

Ah, politics. Ya gotta love it … (don't even ask about the Student Goverment here … )

If I remember correctly, the Student President and Student Senate Speaker had resigned due to rumors of suspicious activities, and the quickly held elections were declared invalid by the Student Judicial Branch. That caused the Student Senate to start impeachment proceedings against all the Student Justices. Had everything gone down, the Student council would have consisted of a Vice President (as acting President), three Senators (whose positions were not up for re-election) and no Judicial Branch. It didn't end up that way, but such was the politics of FAU in 1995.

But I digress …

Oh, and yes, I do have email going back that far, possibly a bit further in the past—hard to say when exactly I started saving all my outgoing email. Why I remember—self preservation. A friend of mine was having problems with one of the facaulty and felt it best to keep a copy of all correspondence, just in case. So I started doing the same as well.

And this whole pile of textual bits is courteously of ever increasing densities of harddrives (link via 0xDECAFEBAD).

Sunday, May 02, 2004

Another Sean Conner, in Florida, chasing ghosts …

In Sept. of the year 1999 Dr. Sean Conner, Jonathan D. Russell, Crow, Bryan Malone, and Angela Dubois officially formed the Jax Fl, Ghostbusters. The mission statement at the time was: ‘To relentlessly investigate alleged paranormal activity and psychic phenomena.’ Although not widely known in the Jacksonville area and wondering if we would be taken seriously 2 months went by when we received our first few cases. From that day on we have provided investigation services on a free-of-charge basis. Also during our first year we devised our unique Spectral Classifications System, began the use of previously un-used/un-tried methods and tools of investigation, and jumped on the new technological advancements in this field.

About the Jax FL, Ghostbusters

And eleven months later:

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.

Ghosthunting through North Florida

Quite freaky, having two Sean Conner's running through North Florida looking for ghosts (although Kurt and I didn't find any—bummer!).

I found the link via a search of “Sean Conner” at Gigablast, a new search engine boasting some 286,000,000 pages indexed at the time of this writing (and I got the link to Gigablast from Kim Burchett). And I'm not sure what I make of the site, other than Dr. Sean Conner is well … I don't know. Crank?

What I do know is that I'll be trying Gigablast for vanity searches, just to see what wierd stuff turns up …

Monday, May 03, 2004

Rerouting the pattern buffer to circuit B

The Internet connection at the Facility in the Middle of Nowhere is out again! I called the cable company to see if it was still a nationwide/statewide/citywide outtage but no! This time it's our connection itself. They scheduled a truck to come out Wednesday to check our physical connection.

Wednesday.

Lovely!

Meanwhile, I'm sneaking in on a neightbor's WAP that is lagging big time. Quite annoying.

Either that, or their Linksys router has problems handing multiple NAT sessions to a single location—that wouldn't surprise me a bit (and is one reason I don't use the Linksys router to NAT).

Thursday, May 06, 2004

The Ghost in the Comic

Bob Kane came about as close to that model as was possible. In the mid- 40's, he struck a deal with the DC people that paid him a modest piece of certain Batman grosses. He also contracted to deliver Batman art, for which he was paid a very high rate—high enough that he could hire a ghost to do the work, and still have a tidy sum left for himself.

Bob Kane, Part 4

At 12, there was one thing I knew for certain—that I wanted to be a cartoonist, and my friend Hoade and I worked at it with a passion that a twelve year old can muster. Sure, my strip at the time, Mr. Featherhead may have been a rip-off of Shoe (but in reality, I would have said it was more “influenced” by Unca Scrooge than by Shoe) but Hoade's strip, Bachelor's Pad was a complete rip-off of Bosom Buddies (only without the cross-dressing bit—for that, you need to read his “Once a Man, Once a Woman” comic, based off the title I came up with).

So when an opportunity came up to meet Jim Davis, creator of Garfield, we leapt at the chance to meet our idol. But years later, when we learned that Jim Davis was no longer drawing Garfield our respect for Mr. Davis fell.

But I always thought that Mr. Davis having others draw his cartoon was an isolated incident. Charles Schultz was the only person to draw Peanuts. Bill Watterson was the only person to draw Calvin & Hobbes. And I assumed the same was true for other comics like Bloom County or even Cathy, and that what Jim Davis was doing was extraordinary.

Now, as I come to find out today, it was Schultz and Watterson who were extraordinary; Jim Davis was just continuing a long standing tradition:

Largely because of that second “first,” Fisher's income soared. The strip was soon retitled Mutt & Jeff and by 1920, his salary topped a quarter of a million dollars per year [which in 2004 dollars, is $2.3 million —Sean]. This was back when, as H.L. Hunt might have said, a quarter of a million dollars was a lot of money. In 1920, a spanking-new Ford sold for $575 [$5,400.00 in 2004 dollars. —Sean]. In other words, for what he was making from his daily comic strip, Fisher could have purchased a daily new car.

By this point, he was barely, if ever, drawing or even writing Mutt & Jeff. He hired an artist named Ed Mack to do that, paying him a sliver of the feature's income. In 1932, when Mack passed away, he was replaced by Al Smith who, amazingly, produced Mutt & Jeff for the next fifty (that's five-oh) years, finally getting to sign it after Fisher's death in 1954.

So what was Fisher doing from before 1920 'til 1954? Well, he wasn't drawing Mutt & Jeff, that's for sure. He gave interviews as if he did, but he didn't even affix the “Bud Fisher” signature on every strip. Al Smith even did that for him.

Bob Kane, Part 2

It just never occured to me that this was the normal state of affairs in the comic industry. And no less than Bob Kane, creator of The Batman was a willing participant in it.

Now, understand, I like Batman. Not really the comics, or the TV series or the movies, but the concept. Here is a man without superhuman powers, facing the worse in humanity. Okay, he's an Olympic callibre athelete, an intellectual powerhouse to match Einstein and rich beyond belief, but when it comes down to it, he's still human and an equal match to the Man himself, Superman.

One can inspire to be The Batman—no one can hope to become Superman.

But to think that the creator of The Batman wasn't the one who toiled over the art but left that to others, just doesn't seem right to me. But I did have to laugh when I read the following:

Bruce Wayne was who [Bob Kane] wanted to be—the handsome playboy socialite who was so wealthy, he didn't have to work. When Kane told me this, I wondered why he hadn't had Bruce Wayne pay someone else to put on the bat-suit and fight crime.

Bob Kane, Part 4

Yea … I wonder why …

Saturday, May 08, 2004

Call me!

Some spam, if it can be called that, confuses me. This is one of them:

From: <eddie@XXXXXXXXXX>
To: <sean@conman.org>
Subject: where are you, man ?
Date: Sun, 9 May 2004 01:34:31 +0000

We need to talk, ASAP. Call me.

That's it. “We need to talk, ASAP. Call me.” No salutations, no name (other than “Eddie”), no phone number.

I don't know anyone named Eddie. Ed, yes (an uncle), but no one from the domain of XXXXXXXXXX, and most certainly no Eddie. I checked the domain out, and it's registered to an Eddie Zhao of Brooklyn, New York, and the site points to a Yahoo store that currently doesn't exist, and the IP address in the email comes from Japan. So if this guy is trying to sell me something, he's doing a rather poor job of it.

“Call me.”

Call you?

Idiot.

Sunday, May 09, 2004

Word to the wise

Word to the wise: Requesting a password reminder is not hacking an account.

I normally try to avoid online drama, but events between two people whom I read got pretty much out of hand, and while I avoided leaving any comments in their respective websites, one point is still gnawing at me. So I'll comment here, in neutral ground (and I know both of them will read this) and (probably against my better judgement, but that's never stopped me before) give my two bits worth.

A bit of the backstory: Alice and Bob (obviously not their real names) were an item (albeit a long distance item) and during the time they were together, Alice helped Bob register a few domains, and setup one or two web-based communities. Life happened, and several moons ago Alice and Bob broke up. But contact and billing information for the domain hosting and community sites were not updated. Or updated correctly. Or something to that effect.

This brings us up to Friday.

Alice notices that she's still listed as a moderator on the community site run by Bob. Curiosity getting the better of her (and I suspect, a desire to fix the problem right then and there and remove her information), she requested a password reminder.

Which Bob was notified of:

Word to the wise: When you request a password reminder on XXXXXXXXXXX, it goes to the e-mail address on record for that account. So the person associated with that e-mail address now knows that you tried to hack [the] account.

Okay. Do you really think I'd be stupid enough to fail to change the e-mail address and password on a community I now moderate?

How stupid does that make you? *laugh*

It was that comment that struck me badly.

Yes, accessing a computer you are not allowed to access is a Federal offense (not that I totally agree with it, but that's the law as it is currently). But note that in order for it to be a Federal offense, one has to actually access the computer in question. Attempting to gain access? That's a different question. And attempting to gain access to a computer that at one point you had access to? That might not even be a Federal offense.

Case in point. My account at FAU lasted way past my last days there. For all I know, I may still have an account there. Let's see …

[spc]linus:~>ssh spconner@XXXXXXXXXXX.fau.edu
spconner@XXXXXXXXXXX.fau.edu's password: 
Permission denied, please try again.
spconner@XXXXXXXXXXX.fau.edu's password: 
Permission denied, please try again.
spconner@XXXXXXXXXXX.fau.edu's password: 
Permission denied (publickey,password,keyboard-interactive).
[spc]linus:~>

Hhmmm … guess I no longer have access there, but I know that this will show up in the logs; something like:

May  9 23:25:11 XXXXXXX sshd[22328]: Failed
password for spconner from 10.0.0.2 port 36180 ssh2

But will FAU (or the department this machine was in) do anything about it?

I doubt it. It's a one time thing. Now, had I tried multiple times, say, five, ten, a hundred times, then yes, that would definitely be a hacking attempt. Once? Just seeing if the access is still there.

Other examples of hacking?

May  9 13:48:25 janet kernel: IP fw-in rej eth1 TCP 69.70.115.31:1343 69.167.102.16:2745 L=48 S=0x00 I=26379 F=0x4000 T=107
May  9 13:48:25 janet kernel: IP fw-in rej eth1 TCP 69.70.115.31:1345 69.167.102.16:1025 L=48 S=0x00 I=26381 F=0x4000 T=107
May  9 13:48:25 janet kernel: IP fw-in rej eth1 TCP 69.70.115.31:1347 69.167.102.16:3127 L=48 S=0x00 I=26383 F=0x4000 T=107
May  9 13:48:25 janet kernel: IP fw-in rej eth1 TCP 69.70.115.31:1348 69.167.102.16:6129 L=48 S=0x00 I=26384 F=0x4000 T=107
May  9 13:48:34 janet kernel: IP fw-in rej eth1 TCP 69.70.115.31:1348 69.167.102.16:6129 L=48 S=0x00 I=30400 F=0x4000 T=107
May  9 13:48:34 janet kernel: IP fw-in rej eth1 TCP 69.70.115.31:1347 69.167.102.16:3127 L=48 S=0x00 I=30401 F=0x4000 T=107
May  9 13:48:34 janet kernel: IP fw-in rej eth1 TCP 69.70.115.31:1345 69.167.102.16:1025 L=48 S=0x00 I=30403 F=0x4000 T=107
May  9 13:48:34 janet kernel: IP fw-in rej eth1 TCP 69.70.115.31:1343 69.167.102.16:2745 L=48 S=0x00 I=30405 F=0x4000 T=107

Someone trying to get into my home network. Well, rather, mutiple someones. 51 different sources for 166 attempts (18 from one IP address alone).

And that's just today.

That's a hack attempt.

Requesting a password be emailed?

I'm sorry, that is not a hack attempt.

I suppose Bob's comment hit me rather hard since I've been on the receiving end of hacking attempts multiple times (and still am, as you can see above). After a while, it simply becomes noise and the only hack attempts that are worth consideration are those that actually break in and do damage.

I'm not trying to slight Bob here—after all, I doubt Bob has much experience with being hacked, but I do think that the schadenfreude is misplaced in this instance. Alice did not attempt a hack, nor is she stupid:

With regard to [the] allegation, I have this to say: Yes, I triggered the password retrieval function of the community. Here's why—

The userinfo page on … the community in question still list me as the community moderator. About two days ago, I sent … a politely worded e-mail asking [Bob] to take my name off the userinfo page for … the community in question. I did not think that this is an unreasonable request, particularly since we broke up over five months ago.

I noticed earlier today that the userinfo pages had not been changed, and I idly wondered if my e-mail address was still listed on the community. I was pretty sure that this was not the case, since I was pretty careful to remove myself when I handed it over to [Bob] back in November, but I was curious, so I hit the password retrieval tool.

Just curious. And had I been in a similar situation as Alice, I would have done the same.

Guess that would make me stupid then …

Monday, May 10, 2004

Totally new spectacles.

Last week Spring dragged me out to an eye exam and to select a new pair of glasses. It had been several years since my last exam and selection of eye glasses and Spring felt it was time to get a new pair.

So while I was waiting for her and The Kids to get their eyes examined, I perused the shop looking at glasses, and I'm amazed at what they're doing with glasses nowadays. I saw frameless glasses at $300.

Frameless.

As in, you get two lenses connected by a nose bridge, with the arms attached to the outer edges of the lenses. No frames. Arms are flexible though.

$300.

The pair I found, for a bit less than that, were ones I've been wanting for some time now.

[Twisty glasses] [And they look just like my old glasses] [Bendy glasses]

Flexon.

You can flex them. You can bend them. They spring right back into shape. So no worries about them getting out of true. They can't. And they weigh about half that of my old pair.

Quite nice.

And nearly indistinquishable from my old pair, as I found out when I came home with them today and Spring didn't even notice.

Heh.

While picking up the glasses, I had a few minutes to kill before they were fully ready. Walking around the shop, I noticed that Britney Spheres has a line of eyeglasses! She doesn't even wear glasses, and she's hawking a bunch of spectacles.

Sheesh!


A fresh design with every reload

StrangeBanana is a program that creates a random webpage design. The page design you are looking at has never been seen before - it was created programmatically just now. If you want, you can use this design for your own website (in that case you should save it immediately, because when you leave the page, you will never be able to get the same design again).

Via weblog.cemper.com, StrangeBanana: Computer- generated webpage design

Another example of what is possible with CSS. Each time you reload the above page, you'll get a random design. It's a neat concept and the designs are workable but not really great. Perhaps I can use that idea for next April's Fool Day.

Tuesday, May 11, 2004

Cable no more

Due to stellar performance of the cable modem, Spring decided to order DSL from DSLI (the provider Mark uses, and if he's happy with them then they have to be good). That was a few weeks ago, and yesturday the unit arrived. I didn't get a chance to install the unit until today.

Inside of ten minutes, I had the unit unpacked, plugged and powered, the IP address (static! No extra charge!) programmed into the firewall/NAT system (an old 486 running Linux with three NICs, one for the LAN, one for the WAP, and one for the Internet) and ready to go—

Nothing.

The DSL modem powered up with green lights and everything. But couldn't get out on the Internet. Double checked the IP address and yes, everything is correct.

I then call DSLI tech support. Poor guy on the other end never heard of Linux. And then when he asked, “Can you run Outlook or Outlook Express on that?” I told him, rather harshly I'm afraid, “If you are asking if I can check email, yes, I have an email client on the machine.” Subject dropped.

I then noticed that the ethernet light on the firewall wasn't on. I replaced the network cable I got from DSLI with the network cable I used on the cable modem, and after a few minutes, I was on the Internet. I thanked tech support (even though he never heard of Linux, nor really understood what it was, he was still nice, and I was even able to put him on hold) and went about enjoying my new Internet connection.

Oh, I also packaged up the cable modem (putting the bad network cable in the box) for later shipping back to whence it came.

Wednesday, May 12, 2004

… and you thought the real story was inside!

WAKE UP LAURA! HE'S NOT GOOD ENOUGH FOR YOU!

The Dick Van Dyke Show Comic Book—Issue #9 cover blurb

Which had nothign to do with the stories in the comics …

LAURA COMES TO HER SENSES AND LEAVES THIS MAN [picture of Dick Van Dyke] FOR A GUY WHO ART DIRECTS COMIC BOOK COVERS.

The Dick Van Dyke Show Comic Book—Issue #10 cover blurb

… but everything to do with a story happening in the background …

GOOD RIDDANCE! ROB IS SPIRITED OFF TO THE PLANET TWYLO AND NEVER COMES BACK!

The Dick Van Dyke Show Comic Book—Issue #11 cover blurb

… between the art director of comic book covers and Mary Tyler Moore's character …

LAURA REALIZES SHE HAS FOUND THE IDEAL MAN

The Dick Van Dyke Show Comic Book—Issue #12 cover blurb

… just prior to his taking a nice long vacation wearing a white coat with long sleeves.

I think the concept of a series of cover blurbs telling a story in and of itself over consecutive issues, independent of the stories in the comics is an intriguing idea. That's just … so … so … odd … in a compelling way that were I to publish a comic book (or magazine) I would have to do this—tell a story of some event going on behind the scenes through cover blurbs.

Thursday, May 13, 2004

Death by a hundred zeros

Google, the Web search engine which attracted a loyal following in part because its simple Web site is uncluttered by obtrusive graphical banner ads, has now decided to sell the sort of ads it once scorned.

Via Michael Duff, Google to Sell Type of Ad It Once Shunned

Say it ain't so! Say it ain't soooooooooooo!


Tracking changes

Well, it took several hours, but I was able to compile the Subversion client. I ended up compiling OpenSSL twice because the Subversion configuration script couldn't find the libraries, but once I got that straightened out, it compiled fine even if it did take a few hours (not that I have the fastest machine on the planet).

Subversion is a version managment tool. You place files under Subversion (or CVS or GNU Arch, or ClearCase or any number of other programs) and it allows you to track changes to documents. You check out the current documents, make your changes, check them back in. The various differences between the tools deals with concurrent checkouts (some require you to lock the files when checking them out so others can't edit the file you are editing, others will attempt to merge all editing changes back in) and whether you can version directories, and how easy it is to manage different versions of a document. Usually used to track source code changes, but it can be used to document changes for just about any document type.

I'm satisfied with CVS. Heck, the only reason I started using CVS was to have the ability to work on some projects on multiple machines and not have to schlep tarballs from machine to machine to keep in sync. Before that, I never really bothered to use source control (except for the year I worked at IBM, but then, my exposure to the actual source code was minimal—all I was doing was writing test cases).

Mark doesn't care for CVS, and after looking at GNU Arch, went with Subversion. This was a few years ago when installing Subversion wasn't a trivial process (as my Calculus teacher used to say). It in fact, required quite a bit of mojo to get working, and thus was one reason I stayed away from it. The other being the rather hefty requirements in hardware.

Now, recently I used GNU Arch for a project for Mark. Even though later it would be placed under Subversion, I wanted to get a feel for how GNU Arch worked. It didn't require nearly the resources of Subversion, and was easier to compile and get running (although the requirements for Subversion have been falling, and the installation procedure has gotten easier).

And between CVS (which doesn't allow you to track directories, nor allow you to change file names without loosing the history of the file, nor handle change sets well, or … ) and GNU Arch (which does all that) I would rather use CVS. GNU Arch, while having features not present in CVS, is still rather clunky to use. Under CVS, when I commit my changes:

% cvs commit cgi

(which commits any changes I made to my CGI library) it will pop up an editor and let me write what changes I've made (nearly all revision tracking software will allow you to annotate what the changes where), then upload the current version to the respository (where the master copy is kept; Subversion works simularly). Under GNU Arch however …

% tla commit
commit: no log file provided (see `make-log')

See, what you are supposed to do is:

% tla make-log
++log.guide--mainline--1.0--spc@conman.org--2004-seminole
% vi ++log.guide--mainline--1.0--spc@conman.org--2004-seminole
Error detected while processing command line:
Not an editor command:
+log.guide--mainline--1.0--spc@conman.org--2004-seminole
Press RETURN or enter command to continue
% vi ./++log.guide--mainline--1.0--spc@conman.org--2004-seminole

Make the annotations, then I can:

% tla commit

Annoying having to do an extra step (and trying to use joe on that filename causes it to dump core—I'm thinking that the plus signs are causing some problems, and my copy of joe is rather old), but I can somewhat see why it may be done that way. Generate the log file, then edit it while making your changes, but hey, if tla commit doesn't find the log file it's looking for, it should at least generate the file and let you edit it then, during the commit.

There are other annoying aspects of GNU Arch, and the amount of diskspace it uses is almost twice as much as subversion (and interally uses filename of ridiculous length). So now for the rest of Mark's stuff, I'll be updating directly into his Subversion repository, and I'll keep using CVS for what I'm currently using it for. I don't have plans on converting to GNU Arch any time soon.

Friday, May 14, 2004

Mississippabamasisboomba Bound!

I'm taking care of last minute details before heading off on the road towards the hip-happening town of Tuscaloosa, Alabama!

You might be wondering why, of all places, why would I go to Tuscaloosa? Because I'm off to see my best friend Sean Hoade, professor to non-English speaking students at the University of Alabama and perpetual grad student.

Let's see … got the rental car for Spring … my car has been cleaned … laundry done, now to pack … try to grab a short nap before heading off into the night on the long dark road.


On the road again

I'm outta here!

See ya on the far side of the moon.

Saturday, May 15, 2004

Alive and well on Ganymede

It was the batteries.

I had entended to be in the car, pulling out of the driveway (okay, parking lot) at 11:45 pm Friday. 10:50 pm latest. But my car, Lake Lumina, was eating my batteries.

As I was loading the car, Spring mentioned that the cigarette power adaptor for the CD player wasn't working, so I might want to use batteries for it. I grabbed the batteries from the trunk (they were in the computer case; I brought them along for the digital camera) but by the time I got settled into the car, I could only find three of the four batteries. I searched around the passenger side a bit, and when I looked at the batteries in my hand, only saw two.

I could have sworn I had three, I thought. Before the car sucked up more into a parallel dimention (filled with mismatched socks no doubt) I sequestered the remaining two batteries in the arm rest and resumed my search. Five minutes later, I had located the two missing batteries (one in the trunk, one underneath the driver seat). In the process though, I snagged my fingernail on something, so I had to go back into the Facility in the Middle of Nowhere to trim it, least it bother me for the next 800 miles.

So it was the batteries that delayed the start of my trip to Mississippabamasisboombah. By the way, I fixed the cigarette power adaptor by reversing the polarity of the electron flow regulator.

No, really, despite sounding like trite Star Trekian technobabble, I really did have to reverse the polarity on the plug end of the adaptor.

Half an hour later (refueling both the car and my wallet) I'm on I-95 north. The plan is I-95 to Ft. Pierce, cut over to the Florida Ronald Reagan Turnpike to I-75 North to Atlanta, cut over to I-20 and ride that into Tuscaloosa, home of my friend Sean Hoade. The fact that I was driving through Florida at night was a bonus. There is nothing worse than driving through Florida. Miles and miles of orange trees and swamp. And flat. Flatter than Kansas. And loooooong. It takes hours to get out of Florida when you live at the bottom of the state. Long hours of nothing but orange trees and swamps. Swamps and orange trees. And billboards advertising tickets to the temple of the Rat God. And the state of Florida advertising the SunPass (a transponder to electronically pay your tolls) alá Burma Shave style. A series of signs like:

You have miles to go

Through oranges and swamp

But you forgot your money

And feel like a chump

Burma Shave SunPass.

A few hours later and I'm travelling north on I-75 viewing billboards for the Café Risque, a diner with all nude waitresses, just south of Gainesville, a town that only exists to serve the University of Florida.

So it's coming up on 5:30 am. My thought processes at the time: Gainesville is a college town, where there will be cute college girls working their way through college and some are known to do some pretty risque things, like nude waitressing. I haven't eaten since early evening the day before, and besides, I need a break.

Food. Nude college age women.

What's not to like?

On reflection, I suppose that going to Café Risque at 5:30 am on a Saturday after the semester is over is not the time to go if one wants to see cute nude college age women.

I pay the cover (a cover! for a diner!) and head inside, where the one (1) waitress working at the time comes over and asks what I want. Now, she was easy on the eyes, but looked to be in her mid 30s. Not bad, but then again, not a cute college age woman. And the silicone enhancements did nothing for me.

Now a slight digression. I don't really case for silicone enhanced chests (to put it nicely). None of my friends, male or female, really care for silicone enhanced chests, and I really have to wonder, are there guys (or girls for that matter) that actually like silicone enhanced chests on women? I've yet to actually meet someone that says, “I like 'em big and fake!”

After breakfast I was back on the road again (sorry, but the Café Risque wasn't all that great on a 5:30 am Saturday morning during semester break) counting the miles until I left this acursedly long and endless state. Once past Gainesville, I was going, “it can't be long now 'til the Georgia border.”

Fifty miles later, as I passed I-10, “it can't be long now 'til the Georgia border.”

Fifty miles later, “just how XXXXXXX long is this XXXXXXXXX state? WHEN WILL IT EVER END?

But end, it did. At 7:54 am. Seven and a half hours later (taking into account my breakfast break). And it was simply amazing. One second, flat land of nothing but oranges and swamp, and the next second, rolling hills and real trees! No more palm. No more orange. No more mangrove. Trees! Oaks! Maples! And other trees whose names I've long forgotten.

Woot.

For the most part Georgia was for the most part, uneventful, unlike the last time I drove through Georgia, or rather, attempted to drive through Georgia. That time, in December of 96, my car's transmission seized up so bad the car wouldn't move in neutral. That was bad. It was a Saturday. That was worse. In Cordele. Could it get any worse? Half way between Christmas and New Year's Eve. That's about as bad as it could get (but that's a story for another time). But this time, I sailed past Cordele without a second look.

[The Lost City of Atlanta] [Traffic on I-20 and Martin Luther King, Jr. Blvd]

But notice I said “for the most part.” It wasn't until I hit Atlanta that this trip's problem manifested itself. About a mile before the I-75/I-20 interchange, one of those electronic signs flashed by at 75 mph

I-20 WESTBOUND ... CONSTRUCTION ... 2 ... LANES ... CLOSED

At least, that's what I thought I saw. But really, could I do anything about it? And sure enough, I get on I-20 westbound only to find that due to construction, the two leftmost lanes where closed.

IN ATLANTA STOP
IN TRAFFIC STOP
STOP CAR STOP
LOVE SEAN STOP

me, in an SMS message to Spring.

Thirty minutes later, the lanes open up again, only to have the two leftmost lanes close yet again!

Thirty minutes after that, the lanes open up, only to … stay open. An hour, to go maybe five or ten miles.

And thirty minutes after that, I'm not feeling all that well. Nausea is eating at me, and realizing the time, 12:30 pm, and realizing that I've been up since about … oh … 2:00 pm the previous day, I realize that it might be prudent to … oh … take a nap!

It's amazing how refreshing an hour nap can be at times.

About half an hour of travel later, I'm in Alabama.

And Central Time.

Which means I've just gained an hour.

Or something like that.

Now, when I woke up after my nap, I couldn't locate the directions to Hoade's house once I arrived in Tuscaloosa, Mississippabamasisboomba. I checked the interior of Lake Lumina. The trunk. Inside all my luggage. Then, the terrible truth of the situation dawned on me—of all the things I could forget, I forgot the directions!

So I decided to drive on, and see if I could recall the directions. I knew that I had to get off at exit … seven something. And go right, but merge left … and … something about a Red Lobster (because, if a town has a Red Lobster, it must be a hip-happening place) … and turn, but follow the road because a Harpysomething or other turns into … Harposomething but it's really Harpysomething or other and look for a sign … and oh hell I think I'll just have to call, which I could, because unlike previous car trips I've been on, this time I actually have a cell phone!

But the battery on the cell phone is nearly, if not already, dead. I had charged it the day before, but somehow going into an extended area really started draining the battery because by the time I arrived in Georgia, I had lost all bars on the battery indicator, so I was trying to use the phone as little as possible. I had the charger with me, but it was the wall-wart type of charger, which required the use of a wall with an electrical outlet, so as I approached the Mississippabamasisboombah Welcome Center I hoped I would be able to secure a wall with an outlet in order to make necessary calls.

Once inside the Welcome Center, I spied a plethora of walls, each with a plethora of electrical outlets that I could use. I approached the Information Desk, behind which an Information Desk Specialist sat, waiting to dispense Information.

“How may I help you,” asked the Information Desk Specialist.

“Yes,” I said. “May I borrow one of the outlets?” I motioned towards a set on the nearest wall.

“No,” said the Information Desk Specialist. “I'm sorry, but Mississippabamasisboombah State Laws specifically outlaw the use of electrical outlets in public buildings since the State actually doesn't bother to pay the bill.”

“Oh,” I said. “Thank you.”

“You're welcome.”

I walked out of the Welcome Center, thinking that I should have just used the outlet without asking, on the principle that it is easier to ask forgiveness than ask permission. I specifically did not bother to use a more hidden electrical outlet, since being in Mississippabamasisboombah, the extreamly slim chance of being caught and slammed into a Mississippabamasisboombahlian jail stilled outweight any utility I might get in actually getting directions to Hoade's house.

Now, had I actually thought this through, it might have worked. But I didn't. So I turned on the phone. Still had power for that. I phoned home, thinking that someone there could read the directions back to me. Only I got the answering machine. While I was listening to the answering machine, my phone got an indication that I had voice mail. So I checked the voice mail. Now, if I don't check the voice mail, it will constantly beep at me, but if I do, I have to listen to the entire message, then do something with it, or else it will cause my phone to constantly beep, reminding me that I have an unheard, or partially unheard, phone message. So I listen to the entire message, which was Hoade, which reminded me, I could call Hoade for directions!

“Hoade? This is Sean—”

“Hey bud—”

“I gotta make this quick—”

“What?”

“I have to make this quick—”

“Wait, let me get to another part of the store so I can hear you.” Pause. Pause. Hurry up Hoade, my phone is going to die any second now! “What's up bud?”

“This needs to be quick, my cell battery is dying. I forgot the directions at home. How do I get to your house?”

“Quick. Right. Get off I-20 at exit 73. Go right, but merge to the left lane. Turn left at the third light, follow—”

Battery died.

Great!

I get in the car and start driving. My plan is to find a wall with an outlet. Where can I find a wall with an outlet that I might serenditiously use an outlet? Half an hour later I have my answer: Arby's!

I order a roast beef and a drink, yes, I'm dining in. As I take my tray into the dining room I'm scanning for any sigh of wall outlettage. And in the far corner of the dining room, I hit wall outlettage. I sit right next to the outlet, pull out the power adaptor, plug it in, only to have it fall right out.

Not only is it illegal to use an outlet in Mississippabamasisboombah, but any outlet you do find will be the frictionless kind where the plug just falls right out.

I try the other outlet, just for kicks.

That too, is the frictionless Mississippabamasisboombahlian electrical outlet.

This is not a good situation.

Lacking the universal force known as Duct Tape, I use my body to hold the plug in place. It may be illegally using a frictionless Mississippabamasisboombahlian outlet, but it has power and that's all I care about.

Half an hour later, I have directions and a full belly.

Ten minutes later and my car feels like it will vibrate itself to death.

Ba da ba da ba da ba da ba da ba da I-20 had suddenly formed ba da ba da ba da ba da ba da ba da ba da millions of tiny little ba da ba da ba da ba da ba da ba da ba da ba da speed bumps ba da ba da ba da ba da ba da causing the ba da ba da ba da ba da CD play
er ba da ba da ba da ba da ba da to sk
ip ba da ba da ba da ba da ba da ba da as my teeth ba da ba da ba da ba da started to shake ba da ba da ba da ba da ba da ba da loose.

Twenty minutes of that and I hit the upmteenth contruction zone (about every fifty miles through Georgia I hit a twenty mile section under construction, and the same was shaping up through Mississippabamasisboombah) of the trip, only this time the speed limit was 50.

50.

Palmetto Park Blvd, not a mile from the Facility in the Middle of Nowhere, with traffic lights, has a speed limit of 50.

50.

This is a highway.

50.

And people wonder why I hate travel.

That last hour of the trip was the absolute worst. Here I am, so close, yet I could feel my eyelids closing. Brain shutting down. Teeth falling out. CD playing sk
ipp
ing.

Bad.

I was never so happy to see Tuscaloosa, even though it looked much like Margate, only Margate squared.

Sunday, May 16, 2004

Boring trip pictures

One of Hoade's life long dreams has been to make a movie. But in the time he's been here in Tuscaloosa, he's become quite the star in the local indimovie scene, being in three films so far, Blut und Feldt, a German expressionistic film about Muppets gone bad, where Hoade played a detective gone bad; The Tool, a film about a man (played by Hoade) who may or may not have a guardian angel studying his every move, and a third film whose name escapes me, but Hoade plays a skinhead with a thing for guns. By far the best is Blut and Feldt.

He also showed me his wife's organizational skill in the freezer:

[Vanna White will be played by Sean Hoade] [Neatly organized frozen vegetable matter]

After lunch at a local diner, we visited a cigar shop where Hoade found a rather amusing towelette, indicitive of the area:

[Wash Away Your Sins] [Right your wrongs with a wipe]

We then visited the local collage he currently attends and teaches at:

[Sign of the times?] [Clark Hall, Part I] [Clark Hall, Part II] [A sense of history] [A typical student dormatory] [Denny Chimes I] [Denny Chimes II] [More sense of history]

After looking around a bit, we hit the library. Hoade had to look for a book for his wife, and we checked out a digital video camera.

Yes, a digital video camera. Any student here can check out a video camera and then use the computers (all Macs) to edit the resulting video.

[Yea, but FAU's library is FIVE stories!] [Okay, no nude women on FAU's library] [Or Fabio] [Yea, FAU's library sucks compared to this]

Later on in the evening we went out to dinner. Coming back to the car, someone had socked his attenna. Well, socked and ragged it really. Very wierd.

[Usually this doesn't happen until September] [There's no way I'm washing this!]

Back at Casa del Hoade, we talked and played around with the digital video camera, having fun with the night vision mode.

Yea, we're easily amused.

Monday, May 17, 2004

The atomic nuked veteran commemorative plate

Today Hoade had to run an errand to the Mississippabamasisboombah DMV to get his (and his wife's) car registered with the state. Our first stop was the Tuscaloosa Court House as Hoade felt that if such an office existed, it would be at the court hourse.

I was rather surprised at how laid back things were at the Tuscaloosa Court House as there was a refreshing lack of X-ray equipment and border guards at the entrance. Contrast this to the local Broward Court House near the Facility in the Middle of Nowhere where the guards, standing on the other side of the high-powered X-ray equipment, cheerfully wear rubber gloves, “for your protection.”

We wandered about for a minute, found an appropriate sounding office, and inquired within, but alas, the Mississippabamasisboombah DMV was not in the court house, but across the street.

A short walk later, and we were in a rather short line waiting our turn at the counter. Strung across the ceiling where the various plates one could get in Mississippabamasisboombah but the one that stuck out was the license place commemorating “atomic nuked verterans.”

Atomic nuked veterans.”

Funny, but I would not have pegged Mississippabamasisboombah as having a significant population of atomically nuked veterans, expecting instead a state like New Mexico or Nevada or Tennessee to have that distinction, but I guess I'm sadly mistaken.

But we were still highly amused.

Tuesday, May 18, 2004

Editing digital video

Hoade and I spent several hours at the library trying to edit the footage (shot with a digital video camera we borrowed) we've accumulated over the past few days. The software, running on a high end Mac (with gigs of free space, just for editing of video), was fairly easy to use once shown how; the consuming bit came in waiting for the video stream to be read off the tape. Twice. First time through the audio tracks were not transfered. Then a significant amount of time was spent in converting the footage to MPEG and burned onto a video CD—all for naught, because it was a bad copy that didn't work.

Sigh.

Other than the bad CD, it was a cool experience and the fact that any student, reguardless of major, can make their own film is wonderful. Okay, so maybe the resulting films won't be all that great, but the idea that anyone can make a film is great.

Thursday, May 27, 2004

Time management, or the lack thereof

I could have sworn today was Wednesday. It felt like a Wednesday. That's what I get for loosing track of time (and for not updating like I should, but I'm slowly rectifying that).

Tuesday, June 01, 2004

Diebold: giving you the best government for your money

You may notice the ad at the top of my sidebar to the left (and if you are reading this not on my site—now you have a reason to stop by). A bit of satire curtesy of Rand Careaga, who gave his permission for me to run the series, one ad per day (although after a while it will cycle).

Enjoy.

Thursday, June 03, 2004

Still more lack of time management

Sigh.

It's Thursday! Not Wednesday.

I hope this isn't a recurring theme in my life …


Some anti-spam ideas

SPF was originally designed to prevent joe-jobs. In this mode, an MTA uses SPF to verify the envelope sender (SMTP MAIL FROM) address during SMTP time. But some people pointed out that SPF can also be used to verify headers to prevent phishing. When used to verify headers, the agent could be an MTA or an MUA, and slightly different rules apply: you have to consider Sender and Resent-From as well as just the “From:” header. Header verification is one of the central themes of the May 2004 merger between SPF and Microsoft CallerID For Email.

SMTP+SPF: Sender Policy Framework

The other day Mark sent me email pointing me to the SPF site. Interesting idea, and one I've come across before and thought about, but didn't think it had enough of a following to warrant doing (although, given the contents of the DNS zone files I have, it's odd that I haven't adopted this yet). But seeing how Microsoft has jumped on board …

Oddly enough, while reading an article about antispam measures I had a sudden brainstorm about a way to make it more difficult for spammers to send mail out. It's a combination of two methods, one in current use, and one that just popped into my head.

The first method is to allow only email from designated MX hosts. That's currently being done, and is a method that SPF was designed to help facilitate. The upshot of this is that a spammer can't just slap a machine on the Internet and spam from that—no, it has to come through a machine that is designated, via DNS, as an MX host. But there are two ways around that: going through the ISPs SMTP server (which the ISP monitors and they are usually aware of heavy use and can cut off the offending customer) and by registering a domain and setting the IP address they get as an MX for that domain.

And it's the second idea that counters that problem. Each DNS record has a “time-to-live” value—how long that record is considered “valid.” Simply reject any connection from an MX host who's MX record's time-to-live is less than, say, a week (actually, I would check all MX records and reject it if any are less than a week).

If I get spam from a domain, one quick check of the MX records and I can stop receiving spam from that domain for a week. Not much in the scope of things, but easily doable and scriptable even. But enough servers do that, and the spammer has to wait a week to send email. It's not enough to change IP addresses—that's easy enough. But the MX records have to change and propagation takes at least a week …

One way around that is to register as many MX records for a given domain as possible, but if you also dump the connection if there are more than say, a dozen MX records (AOL gets by with 4, so does MSN; IBM on the other hand, uses 11). Another way is to register a whole bunch of domains. Possible, but that does tend to cut into the profits a bit …

And really, that's the only way to make spam go away, but making it too expensive to send.

Update later today

Well, I went through some of my email today, applying the rules mentioned above to them, and while all the spam emails would have been stopped, I also recieved two false positives—one from a mailing list I'm on, and one for the guy I work for.

Looks like there are still some issues to work out here …

Friday, June 04, 2004

The Prisoner of Azkaban

The Facility in the Middle of Nowhere goes to the movies. The movie was Harry Potter and the Prisoner of Azkaban. Unlike the other two Harry Potter films, this one was, according to Spring, more Halloween than Christmas. And it was all the better for it.

About the only thing I didn't really care for was Michael Gambon's portrayal of Hogwart's headmaster, Albus Dumbledore. While he looked exactly like Richard Harris in the Albus Dumbledore role, it wasn't the same calm understated manner that Harris played Dumbledore—Gambon was more animated and … well … loud (well, compared to Harris' near whispering of the role, it did come across as loud). It's a slightly different interpretation of the role, but having liked the Harris interpretation, it's hard to warm up to Gambon in the same role.

Alan Rickman is, as usual, wonderful in his role as Severus Snape (and I wish, I just wish, he'll get more screen time in the future.

Saturday, June 05, 2004

The Scrawniest Li'l Abner you'll ever see …

But if finding Daisy Mae was easy, obtaining an Abner proved impossible for a time. Actor after actor auditioned for the role and the casting directors continually broadened their search area, seeking someone who was tall and muscular and who could sing. “We started to panic,” Panama later recalled. “No matter how good the rest of the show was, no matter how good the rest of the cast was, we knew that without a strong Abner, we were dead.”

Li'l Abner on Broadway

I was a drama geek at Coconut Creek High School. And Li'l Abner was the musical of the year during my senior year. And I do agree, finding someone to play Li'l Abner isn't easy. The drama teacher, Ms. Linsley, thought she found someone in the guide of W. He was in drama, a good six feet with a physique that of Charles Atlas.

And he could sing.

So there really wasn't any question as to who would get the role.

But keeping him in the role? That was an entirely different question. It became apparent a few weeks after casting that W wasn't really all that interested in being part of the production, despite him being the lead and gaggles of girls in tied-up shirts and short-shorts. The question then became whether Ms. Linsley would fire him (as much as a teacher could “fire” a student from a school production) or W would quit. And sixteen years later, I can't remember if the sequence went like:

MS. LINSLEY

W, you're fired.

W

You can't fire me! I quit!

MS. LINSLEY

You can't quit the show because you aren't part of the show! I fired you!

W

I'm already gone! You can't fire someone who already quit!

Or if it went like:

W

I quit!

MS. LINSLEY

You can't quit!

W

Yes I can.

MS. LINSLEY

Okay, you're fired.

W

But I quit.

MS. LINSLEY

I don't accept your resignation, and in any case, you're fired.

Time does have a way of erasing little details like that.

So now we're out a Li'l Abner, and seeing how the play is called “Li'l Abner,” not having someone play Li'l Abner is definitely a problem. Jon Smithers had the physique, and the singing voice, but at something like 4′10″ he would have made a rather short Li'l Abner. After casting about a few days, Ms. Linsley came to a decision and decided to cast the scrawniest 9th grader she could find. And cast him she did (although I've long forgotten his name and couldn't find him in the year book, but I'm sure Gregory remembers). The idea was to stuff his costume with balloons in an attempt to “bulk” him up some.

Hey, Li'l Abner is a comedy musical anyway, so why not have a scrawny kid bulked out with balloons to add even more humor? Well, that was the theory anyway, and as disasters go, it wasn't as bad as loosing a lead the day before opening night (as happened the previous year with Roar of the Greasepaint, Smell of the Crowd) or actors forgetting entire songs during opening night (as happened the following year with How to Succeed in Business Without Really Trying).

Yea, things could have been worse.

Sunday, June 06, 2004

Not in a movie mood

“Which would you like to watch first, The Green Mile or The English Patient?” asked Spring. What I heard was, “Which would you like to watch, The Green Mile or The English Patient?” Note the word I missed—first.

I had to think about it, not really wanting to watch either film before deciding upon The Green Mile (which ended up being much better than I expected). Now, that was a few days ago. Yesturday, Spring walked into the Computer Room to announce that we were watching The English Patient.

“Um … ” I said. “I thought you asked me which film I wanted to see, and I picked The Green Mile.”

“No,” she said. “I asked which film you wanted to see first,” she said. “Now it's time to watch The English Patient.”

Oh bloody hell, I thought. “I don't really like historical dramas—oh wait! I like Amadeus. Um … ”

“What's wrong with The English Patient?” she asked. “I know you haven't seen it.”

“It's just … I'm not in the mood for it right now.” And that, right there, is the problem.

I'm almost always never in the mood for a movie.

And I don't know exactly why.

Oh sure, there are films I will almost always watch; Real Genius, Amadeus, Strictly Ballroom, Time Bandits, Raiders of the Lost Ark, Paper Moon (but only if it's on broadcast TV and I come across it while channel surfing—I doubt I'll ever go out of my way to rent it), Sneakers. But for any other film you'll have to twist my arm (some require more twisting than others).

And some films I have really enjoyed have required some very strong arm twisting on my part: Strictly Ballroom, Delicatessen (a French film no less!), Hardware (“So bad, it was well worth the six bucks,” as my friend Bill said, and yes, it is that bad), Enchanted April, The Green Mile.

But for the number of films I've been forced to watch and liked, there are an equal number (if not more) that I've been forced to watch and was either indifferent, bored or hated, like The Game, 8mm, The Iron Giant, Resident Evil, 28 Days Later, Breakfast at Tiffanies, The Graduate, Spies Like Us, The Matrix (okay, I didn't exactly hate this, nor was I bored, but still, I don't know why all my friends think this is the greatest film ever made).

Generally speaking, I don't really care for movies all that much anymore. I'm not sure if it's because of the way they're being made these days, the subject matter, an overfondness of films I saw growing up, OD'ed on TV as a kid, or all of the above. But Spring has a hard time getting me to watch films (heck, let's be honest, most of my friends have a hard time getting me to watch films) and I have a hard time explaining why I just don't want to watch films.

I never did watch The English Patient, having hemmed and hawed and promised to chauffeur Spring to a meeting (today) and The Kids to a pool party (today). Also, The Older wanted to watch The English Patient so that made up for the fact that I didn't.

Tuesday, June 08, 2004

Who now owns the Facility in the Middle of Nowhere?

Back on June 2nd the following was stuffed in the gateway of the Facility in the Middle of Nowhere:

SECURITY DEPOSIT TRANSFER NOTIFICATION

June 2, 2004

Dear Resident:

This letter is to notify you that the property commonly known as the Complex† has this date sold and transferred ownership to the Complex.

† name of the devlopment has been changed

Well, it was nice to know that the community just sold itself to itself. Or something like that. Also, for the past few days one of the units near-by has been on the receiving end of a “renovation,” which seems to currently consist of everything that isn't a load bearing wall being torn out, rather loudly as the case may be.

[This is NOT our court yard] [The Crane of DOOM^H^H^H^HRenovation!]

Then today, the following was found in the gateway of the Facility in the Middle of Nowhere:

Dear Development In Boca West Residents,

XXXXXXXXXXXXXXXXXXXXXX, Inc., owner and operator of over 30,000 apartment units, has just purchased the Complex Apartments. Over the coming months you will notice many new and exciting improvements being made, including:

We will be selling the newly remodeled luxury townhomes… If you are not interested in buying, but still want to live here, rest assured that your existing lease does not change. You may stay throughout the remaining term of your lease, and you may be able to remain in your apartment thereafter on a month-to-month basis.

Nice to know they won't immediately kick us out of the Facility in the Middle of Nowhere.

I suspect what's happening is that the rental market is drying up as interest rates remain low and everybody who can are buying homes; the fact that our rent remained the same when renewing leads me to believe this.

Then we received the following in the mail (also today, but sent on the 1st):

Dear Tenant:

With reference to your lease of space in the Complex, please be advised that XXXXXXXXXXXX LLC, a Colorado limited liability company has, as of June 1, 2004, sold, transferred and assigned the Complex and your lease to XXXXXXXXXXXXXXXXXXXXXXX LLC, a Delaware limited liability company ("Purchaser").

Please be further advised that the security deposit under your lease and the accrued interest thereon, if any, have been turned over to Purchaser, whose address is XXXXXXXXXXXXXXXXXXXXXXXXXXXX, Des Moines, Iowa 50309.

I just love that property in Florida owned by a company in Colorado was sold to a company in Delaware whose bank is in Iowa, just driving a point I hold dear that individual ownership is merely a fiction nowadays, or perhaps a quaint idea of the old fasioned.

But that's a rant for another day.

Wednesday, June 09, 2004

Somebody forgot their towel …

Several months ago I took over ownership of the Hitchhiker's Guide Project: A Complete Repository Of Characters, Planets, & Other Hoopy Froods from a friend who no longer wanted to deal with it (and I've been meaning to overhaul it, but eh … it can wait). There's a contact page that people can use to send me comments and occasionally I'll even respond to them.

But today … today I got the following:

I printed off a copy of a jpeg in 2002 of a honda accord with a caption stating “The automotive equivalent of a really hot librarian”. Is this jpeg still available? I loved it and want to print it in color as a tribute to fellow librarians everywhere.

Excuse me?

I could understand someone not realizing the site is a tribute to Douglas Adams' Hitchhiker's Guide to the Galaxy and asking me questions about hitchhiking, but this?

Sometimes I really do wonder about people …

Update on Thursday, June 10th 2004

A comment about this from the previous owner of the site:

You'll occasionally get that question from Librarians and people in that industry. I did host that image for a brief time, for reasons I won't go into right now. Check your access logs, you'll find 404s for honda.jpg scattered through them, since a bunch of places never corrected for link rot.

I feel a bit better now …


Programs from the past

Rooting around in the mustier corners of my harddrive, I came across this program I had written nearly a decade ago while attending FAU. At the time, I was a Computer Science major, working in the Math Department for two Ph. D.s, one out of the Psychology Department and one from the Center for Complex Systems, both of which were studying biophysics.

Not that I understood anything of what they actually did; all I did (besides keeping a few computers up and running) was write programs to their specifications.

The program I found was one of three I wrote dealing with a pair of equations they were studying:

x1 = ((A × y) + B) × x × (1 - x)
y1 = ((C × x) + D) × y × (1 - y)

From what little I remember, I seem to recall this being a form of simulation of two neurons interacting, but I have no idea how to interpret the results; all I know is that it can produce some rather striking images by ploting the results, then feeding those back into the equation, repeating this several thousand times. By changing the constants A, B, C and D you get wildly different results.

This program was had four slider controls that allowed to you vary the constants and updated the result in real time (and was quite impressive to view on the SGI workstation on my desk at school). The second one (written for a particular video card on a PC) would randomly pick A, B, C and D; you could view the previous 16 images and blow any of them up (or save the parameters to disk for later viewing). You could also have it step sequentially through values. This program was actually the backdrop for a BBC interview of one of the doctors I was working for.

The third program I wrote was a bit more complex. Instead of plotting the results of interation through the equations, it instead kept track of the results, and when it detected a loop, it would then save the number of points generated before a loop was detected (some values of A, B, C and D would vasillate between two or three points, while other values of A, B, C and D would never repeat even after 5,000 interations). And it worked its way systematically, varying A through its range of values and keeping B, C and D constant. It would then bump B up, and then run through all values of A, then bump B up, and so on until B hit its upper limit, then bump C up a bit, and so on. It took the better part of a year to run through all values of A, B and C. Then the data was plotted in three dimentions, using time as one of the dimentions (basically, an animation of a rather odd looking two dimentional image) and stored on video tape (which took me the better part of three days making, having to edit about five minutes of video frame-by- frame).

Again, not that I understood what the results where, just that I did it.

I enjoyed the work, and the office space was incredible; there are days when I wish I was still in that office.

Sigh.

Just for a lark, I decided to Google for the doctors I worked for and came across some of their recent work:

A new proprietary de novo peptide design technique generated ten 15- residue peptides targeting and containing the leading nontransmembrane hydrophobic autocorrelation wavelengths, “modes”, of the human m1 muscarinic cholinergic receptor, m1AChR. These modes were also shared by the m4AChR subtype (but not the m2, m3, or m5 subtypes) and the three- finger snake toxins that pseudoirreversibly bind m1AChR. The linear decomposition of the hydrophobically transformed m1AChR amino acid sequence yielded ordered eigenvectors of orthogonal hydrophobic variational patterns. The weighted sum of two eigenvectors formed the peptide design template. Amino acids were iteratively assigned to template positions randomly, within hydrophobic groups. One peptide demonstrated significant functional indirect agonist activity, and five produced significant positive allosteric modulation of atropine-reversible, direct- agonist-induced cellular activation in stably m1AChR-transfected Chinese hamster ovary cells, reflected in integrated extracellular acidification responses. The peptide positive allosteric ligands produced left-shifts and peptide concentration-response augmentation in integrated extracellular acidification response asymptotic sigmoidal functions and concentration-response behavior in Hill number indices of positive cooperativity. Peptide mode specificity was suggested by negative crossover experiments with human m2ACh and D2 dopamine receptors. Morlet wavelet transformation of the leading eigenvector- derived, m1AChR eigenfunctions locates seven hydrophobic transmembrane segments and suggests possible extracellular loop locations for the peptide-receptor mode-matched, modulatory hydrophobic aggregation sites.

Designing Human m1 Muscarinic Receptor-Targeted Hydrophobic Eigenmode Matched Peptides as Functional Modulators

Yea, I don't understand it either.

And that's just the abstract. I can't imagine how impenatrable the actual paper is.

Thursday, June 10, 2004

I'm interrupting your coup d'etat for my coup d'etat

In an article entitled, “When the War Hits Home: U.S. Plans for Martial Law, Tele-Governance and the Suspension of Elections,” Madsen and Stanton delved into the more frightening aspects of what might be in store. "One incident, one aircraft hijacked, a 'dirty nuke' set off in a small town, may well prompt the Bush regime, let's say during the election campaign of 2003-2004, to suspend national elections for a year while his government ensures stability," they wrote. “Many closed door meetings have been held on these subjects and the notices for these meetings have been closely monitored by the definitive www.cryptome.org.”

Will the 2004 Election Be Called Off? Why Three Out of Four Experts Predict a Terrorist Attack by November

Reading this article it seems that having a Republican CEO of an electronic voting machine manufacturer isn't enough for President Bush, so the prudent thing is to have a backup plan. Good thing too, because of recent developments on the Diebold front.

Am I concerned that President Bush might try to suspend elections? Well, we were in the midst of the Civil War in 1864 and the US managed to hold an election (although a Republican did win … ). But the article is alarming to say the least and it's all too easy to get wrapped up in the thought that we might not see another election any time soon (at least, an election at the Federal level). And there are people with very deep pockets that want President Bush out of the White House and you know, just know, that President Bush knows this, and knows that his father wasn't re-elected even though he too, was a war time President. So yes, reading that, I was concerned.

But … a search for “Bush suspend elections” reveals a bunch of sites, most of come across as one step short of the deep end. And then the clincher:

JUNE 8, 2004 1600 PDT (FTW)—Why did DCI George Tenet suddenly resign on June 3rd, only to be followed a day later by James Pavitt, the CIA's Deputy Director of Operations (DDO)?

The real reasons, contrary to the saturation spin being put out by major news outlets, have nothing to do with Tenet's role as taking the fall for alleged 9/11 and Iraqi intelligence “failures” before the upcoming presidential election.

Both resignations, perhaps soon to be followed by resignations from Colin Powell and his deputy Richard Armitage, are about the imminent and extremely messy demise of George W. Bush and his Neocon administration in a coup d'etat being executed by the Central Intelligence Agency. The coup, in the planning for at least two years, has apparently become an urgent priority as a number of deepening crises threaten a global meltdown.

Based upon recent developments, it appears that long-standing plans and preparations leading to indictments and impeachment of Bush, Cheney and even some senior cabinet members have been accelerated, possibly with the intent of removing or replacing the entire Bush regime prior to the Republican National Convention this August.

Via Metaphorge , COUP D'ETAT: The Real Reason Tenet and Pavitt Resigned from the CIA on June 3rd and 4th

President Bush has pissed off the CIA.

The CIA. Rumored to help remove governments even mildly disinterested to US interests. Rumors they were involved in Dallas. This is not a department you want to be on the business end of.

If this is true, then it's ironic to think that the CIA may attempt to overthrow our own government to save our own government. Even more ironic when El Presidente's father used to run the CIA. I'm not sure what I make of the CIA trying to oust President Bush. On the one hand, it makes them the Good Guys. On the other hand, they are known to be involved in several coup d'etats (Venezuela, Chile, Iraq (yup—back in 1996) and Haiti to name a few) and the propped up governments didn't exactly have democratic leanings. On the gripp ing hand President Bush may even be a greater evil than C'thulu.

Things are messy indeed, so messy that President Bush has hired a private attorney due to the Plame Investigation (oddly enough, involving our friends, the CIA). The tone people are taking when talking about President Bush hiring a private attorney is that of “Hey, Bush? Why ya hiding if you aren't guilty?”

Fourth clue: Bush and Cheney have both hired or consulted private criminal defense attorneys in anticipation of possible indictments of them and/or their top assistants in the Plame investigation. On June 3, just hours before Tenet suddenly resigned, President Bush consulted with and may have retained a criminal defense attorney to represent him in the Plame case.

Will the 2004 Election Be Called Off? Why Three Out of Four Experts Predict a Terrorist Attack by November

Quite a different change from the normal government attempting to intrude on the lives of citizens by asking “What do you have to hide?”. Refreshing even. But what these people seem to have forgotten though, is that this standard operating procedure for sitting Presidents, both Republican and Democratic:

Faced with possible prosecution in the Whitewater probe, Clinton initially turned to the White House counsel for help, believing his consultations would be kept secret under traditional attorney-client privileges. Previous administrations shared that belief. Only Richard Nixon, Rothstein said, hired a private attorney to advise him in the face of a government investigation into Watergate, which ultimately led to his resignation in 1974.

But two federal appeals courts ruled in 1997 and 1998 that presidential communications with the White House counsel weren't privileged when they were about personal, rather than governmental, matters. Clinton was forced to hire his own attorneys, and the rulings changed the presidency forever.

“It means the president needs his own lawyer if he's going to talk about personal liability, whether it's civil or criminal,” Rothstein said.

White House officials declined to explain why Bush contacted a private lawyer. They also refused to say whether other top administration officials had sought legal advice.

Bush gets a lawyer in case of questions

Am I still concerned about an “October Surprise?” Not as much as I used to, given the large number of players trying to outdo the others, such as:

In 1988 in Los Vegas, a DEA agent was convicted of illegal wiretapping but his conviction was overturned when it turned out that the FBI had illegally put a video camera in his office.

or

A few years ago the left-wing government of Angola employed Cuban troops to defend US oil refineries against a Maoist revolutionary supported by the Reagan Administration. It's hard to be politically correct when the world starts to look like “Monty Python's flying Circus.”

R. Shweder, New York Times, 9/27/93

Somehow, I think we'll get through November.

Friday, June 11, 2004

He may look like Death, but he's not really Death

Via kisrael, I found this link to Buttercup Festival, an odd little web comic. The artwork is fantastic in that ink and watercolor kind of way, but the actual comic itself is rather sureal. The main character may dress like Death, and carry a scythe like Death, but he really isn't Death. The artist also does another web comic, Green Evening Stories where the artwork is even more fantastic in that ink and watercolor kind of way than Buttercup Festival.

Following some links I came across a well researched article on the history of web comics. Quite interested, and little did I realize that Dr. Fun was not the first Internet based comic (web based, possibly, but not Internet-only).

Saturday, June 12, 2004

The Lord's Prayer throughout history

Bible translations are tricky things, mainly because so many Christians take the Bible as the infailable and ultimate Truth of God™. But the Bible has also been translated and while God may be infailable, we humans aren't quite so lucky. It's also interesting to view the various English translations throughout history.

For instance, various translation of the Lord's Prayer:

Fader uren thu in Heofnas, Sie gehalgud Nama thin; To Cymeth ric thin; Sie fillo thin Suae is in Heofne and in Eortha. Hlaf userne ofwewirtlic sel us to daeg; and forgev us scyltha urna, suae we forgefon scylgum urum. And ne inlead writh in Cosnunge. Al gefrigurich from evil,

Lindisfarne Gospels (date not given)

Unser vater ynn dem hymel. Deyn name sey heylig. Deyn reych kome. Deyn wille geschehe auff erden wie ynn dem hymel. Unser teglich brott gib vnns heutt, und vergib vns vnsere schulde, wie wyr vnsern schuldigen vergeben, vnnd fure vnns nitt ynn versuchung, sondern erlose vns von dem vbel,

Luther's New Testament (1522)

Oure fadir that art in heuenes, halwid be thi name; thi kingdom cumme to, be thi wille don as in heuen so in erthe. Giv to vs this day oure breed ouer other substaunce; and forgeue to vs oure dettis, as we forgeue to oure dettours; and leede vs nat in to tempacion, but delyuere vs fro yuel,

First Wycliffite Bible (ca. 1382) (NOTE: the letter ‘G’ and ‘g’ looks like a cross between a lowercase ‘g’ and ‘z’)

O oure father, which art in heven halewed by thy name. Let thy kyngdom come. Thy wyll be fulfilled, as well in erth, as hit ys in heven. Geve vs this daye oure dayly breade. And forgeve vs oure traspases,

Tyndale's New Testament (1525-26)

Our father which art in heauen, hallowed by thy name. Thy kingdome come, Thy will be done, in earth, as it is in heauen. Giue vs this day our daily bread. And forgiue vs our debts,

King James Version (1611)

Also interesting is the shifting of letterforms, how four hundred years ago our ‘v’ was shaped like ‘u’ and our ‘u’ was shaped like ‘v’. Also, the King James Version, of them all, sounds the best. Compare that, to a modern (1963) translation I found:

Our Heavenly Father, may your name be honored; May your kingdom come, and your will be done on earth as it is in Heaven. Give us this day the bread we need, Forgive us what we owe to you, as we have also forgiven those who owe anything to us.

The New Testament in Modern English (1963)

There's no flow; no lyricism at all. I suppose the reason the King James Version sounds so good is that that's the version I've been exposed to all my life, and it sounds like the Bible; it is the Bible.

At least, the English version of the Bible.

I'm not sure who King James had to do the translation, but with people like Francis Bacon, William Shakespeare, Christopher Marlowe and Ben Jonson, he must have had an incredible pool of talented writers. I would hate to think of how the 1963 translator would have done with:

To be, or not to be, that is the question …

Hamlet, Act III, scene i

Um …

To live, or to die, a decision to make …

Anyway, I just thought it was interesting.

Wednesday, June 16, 2004

… but it's a moaning heat …

Nothing like listening to the wailings of a cat in heat. Yes, the past few weeks our new house cat, Tula has desperately wanted to mate and it's driving all of us (including the other cat, Spodie) absolutely mad. It got to the point where Spring even tooks matter in her own hand and attempted to quiet Tula down.

Twice.

Didn't work.

So yesturday we finally got her to the vet. The operation was a success, thankfully, and the stitches will be coming out in nine more days.


Major Time Sink

Of all the computer games out there, Sim City is one of the few that I can play for extended periods of time. We're talking hours here. So it was bad news when Wlofie mentioned installing Sim City 3000 on one of the machines here.

Hours.

There are some differences between the original version (which I'm used to) and this version. One, more fine tuned zoning, more services to operate, deals with other cities and more ways to obtain financing than raising taxes or embezzling funds). The one thing that Sim City 3000 doesn't have is a way to make bridges. The original version you could extend a road or railway across a body of water; this version you can't. Or at least I haven't found a way to yet.

Still fun.

Hours.

Gotta stop.

Really gotta stop.

Okay, going to stop now.

Right after I finish zoning this area …


Garfield a commercial, not artistic, success

In his 1982 interview with Shapiro, Davis admitted to spending only 13 or 14 hours a week writing and drawing the strip, compared to 60 hours a week doing promotion and licensing.

Garfield's origins were so mercantile that it's fair to say he never sold out-he never had any integrity to put on the auction block to begin with. But today Davis spends even less time on the strip than he used to- between three days and a week each month. During that time, he collaborates with another cartoonist to generate ideas and rough sketches, then hands them over to Paws employees to be illustrated.

Via the Ferrett, Garfield—Why we hate the Mouse but not the cartoon copycat. By Chris Suellentrop

This certainly explains Bill Watterson's comment about Garfield being “consistent.” It also puts a different spin on my meeting Jim Davis, creator of Garfield.

Friday, June 18, 2004

Getting with the repair culture

For the past few months the cord was getting more and more touchy and the slightest movement of the laptop would cause it to come loose and stop supplying power. Yesterday, it finally gave out. Wlofie said that he would be happy to help fix the cord, so we went to Radio Shack to pick up a new tip for the cord, as well as some shrink tubing and glue sticks.

We had the old end with us in the store and I picked what appeared to the correct power tip to use, but when we got home, the tip turned out to be too small to use. To today, I went back to Radio Shack, taking both the non-fitting tip and my laptop so I could try various tips to see which one would fit.

Upon returning home with a tip that fits, Wlofie then spent the next half our or so soldering the new tip, and using the shrink tube and glue stick to make sure the new end would remain solid. The resulting job, I think, was quite well done; Wlofie, however, feels as if he could have done a much better job.

Now to get with my source of ThinkPad parts and see if I can't get a replacement power cord.


The greylist approach to spam

I've been rather relunctant to add much in the way of anti-spam measures on the mailserver I use, if only because I'm horribly afraid of false positives; loosing email is a big thing with me. Also, most of the anti-spam measures are processor intensive, having to do an analysis of the actual email in question and attempt to classify it as “spam” or “non- spam”.

But during a thread on a mailing list I'm on, I came across a concept of “greylisting,” which seems very promising, as the statistics in the whitepaper state:

Analysis of Effectiveness

Based on testing with the example implementation, over a testing period of about 6 weeks, we had raw numbers of:

So we have a better than 97 percent efficiency assuming that all email is spam, but it's actually better than that, since most of the email that got through was not spam. Unfortunately, telling exactly how much better we did is impossible without individually inspecting each email, which of course we did not do.

Now lets look at our inefficiency:

Unfortunately, this is a pretty poor number. But let's correct it a bit. Almost all of these delayed emails were mailing list traffic which used a unique id for the sender address (see above note regarding VERP). So if we disregard all triplets that passed only one email, we should exclude that type of traffic, and we get a new set of numbers:

This puts things in a much more favorable light, and merely disregards delays for emails that are generally not timely anyway.

Now let's see what effect greylisting would have on network bandwidth, based on some general averages.

These numbers are based on spam collected via various methods before the testing period. We picked these as nice round numbers that are pretty closely in line with analysis of previously seen spam. As for the SMTP overhead, in most cases it was less than 500 bytes, but we decided to err on the conservative side.

From this, it follows that for every spam blocked using Greylisting, we save enough bandwidth to "pay" for 10 deferred delivery attempts. If we total that up to give a real-world number (using the unadjusted numbers to give a worst case picture):

338018 (# spams) x 5000 bytes = 1.69 Gbytes of bandwidth saved
33586 (# blocks) x 500 bytes = 16.7 Mbytes of bandwidth wasted

This gives us a net gain of over 1.67 Gbytes of traffic that was saved by implementing Greylisting in our tests. And that's just on a fairly small site.

Greylisting: Whitepaper

Even better is the actual method—there's no modification of SMTP itself, and the processing is dead simple. In fact, the processing doesn't even require looking at the email itself. All it requires is that the SMTP server keep track of the sender, receiver and the client IP address (the “triplets” mentioned above) and for an IP address never recorded, simply sending back a “try again later” response.

It's that simple.

Which is why I like it.

After a period of time (the whitepaper suggests one hour) you can then let the email through, and you keep the IP address on a “whitelist” that allows that IP address to send through without going through the “try again later” phase; the records that comprise the whitelist should expire after a period of time of inactivity (the whitepaper suggests 36 days).

I know the company that Spring works for, Negiyo, started using some anti-spam measures and for the past two or three weeks, they're getting slammed with both spam and complaints from customers about massive false positives—in fact, their email system is in total melt down right now. So this “greylisting” method would seem to be something they need to add right now (are you listening Rob? JeffK? Look into this!). Granted, there are some issues (such as large sites using multiple machines to send out email) that need to be resolved (record a range of addresses instead of individual addreses for instance) before implementing this, but I think that the returns given for such a simple thing are worth it.

While in the short term this seems like a good easy way to control spam, one concern is the adaption of spammers of techniques around this. Such issues are covered in the whitepaper, but there's another technique that was mentioned on the mailing list that is just as easy to implement and raises the cost of mail delivery to spammers, if used in conjunction with greylisting.

In RFC-2821, there are recomended timeouts for each phase of email delivery using SMTP (averages five minutes). This can be used to our advantage, and during the “try again later” responses, and for the initial “let mail get through” phase—all it would take is a minute or two delay on the server and it gets too expensive for the spammer. In some previous entries I go over just how many emails can be sent by a spammer, and the calculations don't include intentional delays on the part of the server. And delays of even a few seconds can cause a spammers costs to rise.

I do however, think I will attempt to get this installed on my mail server and see how it works.

Sunday, June 20, 2004

The patent is truely over …

As I write this late Saturday night, it is now Sunday in Japan. According to the Unisys web site's “LZW Patent and Software Information” page, “The U.S. LZW patent expired on June 20, 2003, the counterpart Canadian patent expires July 7, 2004, the counterpart patents in the United Kingdom, France, Germany and Italy expire June 18, 2004, and the Japanese counterpart patents expire June 20, 2004.” It's over.

LZW patent expires

And I have to wonder if Unisys ever made a profit on this patent, given the way they handled it.

Tuesday, June 22, 2004

Guess the Dictator!

Another reason I'm not overly worried about this upcoming election is because we've been through this all before (and muddled through somehow):

The Dictator XXXXXXX invaded XXXXXXXXX without the consent of Congress, as called for in the Constitution; declared martial law; blockaded XXXXXXXX ports without a declaration of war, as required by the Constitution; illegally suspended the writ of habeas corpus; imprisoned without trial thousands of XXXXXXXX anti-war protesters, including hundreds of newspaper editors and owners; censored all newspaper and telegraph communication; … ordered Federal troops to interfere with XXXXXXXX elections to assure XXXXXXXXXXX Party victories; deported XXXX Congressman XXXXXXX X. XXXXXXXXXXXX for opposing his domestic policies … on the floor of the House of Representatives; confiscated private property, including firearms, in violation of the Second Amendment; …

Now, the question I have for you is … which American President is this talking about?

  1. Franklin Roosevelt
  2. Abraham Lincoln
  3. Lyndon Johnson
  4. Richard Nixon

Two from each party, all war time Presidents. Take your time, for I suspect that most Americans will be surprised with the real answer, given how bad history is actually taught here in the States.

Wednesday, June 23, 2004

Dirk Gently's Holistic Detective Agency

“Rule 1 in house-breaking, never answer the phone. Rule 2, bring tools, you looked like an idiot. Rule 3, never forget rule 2.”

“Who is this?”

“Look out the window and see.” Flash of light. “Rule 4, never stand where you can be photographed. Are you listening Richard?”

“How do you know my name?”

“Rule 5, never admit to your name.”

Via Mike Sterling's Progressive Ruin, Dirk Gently's Holistic Detective Agency

Dirk Gently's Holistic Detective Agency is one of the most tightly plotted books I've ever read, starting with what appear to be four independent stories, only to end up being one intricate story (that took me two reads to fully understand what happened when and where).

It's an incredible story.

Ray Frisen did a comic strip adaptation of the story, totally unauthorized, so best read it before the sharks lawyers take him it down.


Now that's a low interest rate!

From: “Effie Champion” <Emmettusk@surfinbox.com>
To: sean@conman.org
Subject: $67213
Date: Wed, 23 Jun 2004 21:47:59 +0500

Hello,

I sent you an email a few days ago because you now qualify for a new mortgage. You could get a $300,000 for as little as $700 a month! credit is no problem, you can pull cash out or refinance.

Best Regards,

Effie Champion

I've received quite a few of these, all from different people. Now, $300,000 for as little as $700/month?

Where do I sign up?

Let's see … break out the mortgate calculator here … typical length of a mortgate is 30 years, borrowing $300,000 with $700/month payments, works out to -1.13% interest rate.

I know the Federal Interest rate is low, but not that low. And a 15 year mortgage works out to -10.2% interest rate.

Those are some nice rates.

Now, working from the other end … how long does it take to pay back $300,000 (with no interest rate) at $700/month? Three hundred thousand divide by seven hundred … divide by twelve … multiply the remainder by twelve …

Thirty-five years and nine months.

At a measly 1% the mortgage would take 44 years to pay off. 90 years at 2.5%. Anything higher and my mortgage calculator laughs hysterically and accuses me of robbing my kids' inheritence (that is, if I have kids).

Who are these guys kidding? There's no way you could get a mortgate for $300,000 at $700/month. No way!

Sheesh!

Thursday, June 24, 2004

The history of Mary Jane

Then the single law which has done the most in this country to reduce the level of drug addiction is none of the criminal laws we have ever passed. The single law that reduced drug addiction the most was the 1906 Pure Food and Drug Act.

The labeling requirements, the prescription requirements, and the refusal to approve the patent medicines basically put the patent medicine business out of business and reduced that dramatic source of accidental addiction. The Pure Food and Drug Act of 1906, not a criminal law, did more to reduce the level of addiction than any other single statute we have passed in all of the times from then to now.

Via The Old New Thing, The History of the Non-Medical Use of Drugs in the United States

An absolutely fascinating article on the history of marijuana laws and enforcement in the United States. Prior to the 1937 Federal ban of marijuana, 27 states had laws against the drug and all, with the exception of Utah, fell into two camps—the western states, to stem the tide of Mexican immigration and the eastern states, afraid that heroine addicts (cut off because of the Harrison Act of 1914) and drunkards (cut off because of Amendment 18 of 1919) would instead substitute marijuana. The one exception, Utah, passed the first actual criminal statutes against marijuana because of returning Mormom missionaries to Mexico were using the drug, and, as you know, the Mormoms have to outlaw fun.

And the actual passing of the Marihuana Tax Act of 1937 (yes, it's a tax act) made for some interesting reading:

You want to know how brief the hearings were on the national marijuana prohibition?

When we asked at the Library of Congress for a copy of the hearings, to the shock of the Library of Congress, none could be found. We went “What?” It took them four months to finally honor our request because—are you ready for this?—the hearings were so brief that the volume had slid down inside the side shelf of the bookcase and was so thin it had slid right down to the bottom inside the bookshelf. That's how brief they were. Are you ready for this? They had to break the bookshelf open because it had slid down inside.

The entire debate on the national marijuana prohibition was as follows— and, by the way, if you had grown up in Washington, DC as I had you would appreciate this date. Are you ready? The bill was brought on to the floor of the House of Representatives—there never was any Senate debate on it not one word—5:45 Friday afternoon, August 20. Now, in pre-air-conditioning Washington, who was on the floor of the House? Who was on the floor of the House? Not very many people.

Speaker Sam Rayburn called for the bill to be passed on “tellers”. Does everyone know "tellers"? Did you know that for the vast bulk of legislation in this country, there is not a recorded vote. It is simply, more people walk past this point than walk past that point and it passes—it's called “tellers”. They were getting ready to pass this thing on tellers without discussion and without a recorded vote when one of the few Republicans left in Congress, a guy from upstate New York, stood up and asked two questions, which constituted the entire debate on the national marijuana prohibition.

“Mr. Speaker, what is this bill about?”

To which Speaker Rayburn replied, “I don't know. It has something to do with a thing called marihuana. I think it's a narcotic of some kind.”

Undaunted, the guy from Upstate New York asked a second question, which was as important to the Republicans as it was unimportant to the Democrats. "Mr. Speaker, does the American Medical Association support this bill?”

In one of the most remarkable things I have ever found in any research, a guy who was on the committee, and who later went on to become a Supreme Court Justice, stood up and—do you remember? The AMA guy was named William C. Woodward—a member of the committee who had supported the bill leaped to his feet and he said, “Their Doctor Wentworth came down here. They support this bill 100 percent.” It wasn't true, but it was good enough for the Republicans. They sat down and the bill passed on tellers, without a recorded vote.

The History of the Non-Medical Use of Drugs in the United States

There's more, a lot more, in the article. Yes, it's long, but it covers the testimony of industry in the 1937 hearings (birdseed packagers got an exemption to use hemp seeds; the other industry experts didn't care one way or the other), the fall out of the early enforcement in the 40s, Reefer Madness, the gateway drug, organized crime, Prohibition, schedules, the War on Drugs—to say nothing of the dogs.

And the author makes a convincing case for the next major prohibition in the United States, but you'll have to read the article to find out what it is.

But a hint—look at a habit of the lower classes that the upper classes have kicked. And California … always look at California, for as it goes, so does the nation.

Friday, June 25, 2004

I can't believe I read the whole thing

As you can tell from our spiffy logo, this is about the life of everyone's favorite Spider-Man clone, Ben Reilly. “The Clone Saga” as it became known, was the most controversial Spider-Man story ever told. Years after the saga ended, fans are still divided as to whether the story was a landmark moment in Spider-Man history, or an embarrassing smudge of the 90s that further complicated the titles. To give you a little bit of a hint, let me say that I wouldn't begin a project like this if I hated the clone saga.

GrayHaven Magazine presents … “The Life of Reilly”

Ah, Spider- Man.

Of all the Marvel comics, I suppose Spider-Man is my favorite—then again, I'm not much of a Marvel fan to begin with, preferring DC. Then again, I'm not much into superhero comics anyway.

Be that as it may though, Spider-Man. Of all of Marvel's heros, he's the one that I can relate to the most—an awkward teenager who can't get a date yet saves New York time and time again, only to have screeds written against him by the horrible editor James Johah Jameson. And who can forget those incredible lyrics from the 60s animated series?

Spiderman, Spiderman,
Does whatever a spider can
Spins a web, any size,
Catches thieves just like flies
Look Out!
Here comes the Spiderman.

Is he strong?
Listen bud,
He's got radioactive blood.
Can he swing from a thread?
Take a look overhead
Hey, there
There goes the Spiderman.

In the chill of night
At the scene of a crime
Like a streak of light
He arrives just in time.

Spiderman, Spiderman
Friendly neighborhood Spiderman
Wealth and fame
He's ignored
Action is his reward

To him, life is a great big bang up
Whenever there's a hang up
You'll find the Spiderman.

(These lyrics are probably the third most recognized animated lyrics from my generation, only exceeded by “Conjunction Junction” and “I'm just a Bill” from School House Rock)

But since I don't really follow superhero comics that much, little did I know that in the mid-90s, a resurected story line from 1975, in which our Friendly Neighborhood Spiderman fought against his own clone, a little story line that nearly destroyed the whole Spiderman franchise.

Okay, a bit of hyperbole there, but still, in the 35 part (yes, thirty- five part) series you not only learn of the nearly two year long saga (through the four Spider-Man comic books and some special one-shots) every excruciating details about Peter Parker/Spider-Man (the “survivor” of the 1974 story and possible clone) and Ben Reilly/Scarlet Spider (supposedly killed and the “real” Peter Parker) and all the plot twists there-in (who really is the clone, and whose body really did end up in that smokestack in 1974?) but the details about what was going on behind the scenes at Marvel during that time.

Reading the series (and yes, I can't believe I read the whole thing) it struck me that superhero comic books and soap operas, despite the different media and target audiences, are basically the same thing. The editors had a definite story arc they wanted to present, but continuity errors, marketing pressure and the big problem—changes in employment of editors and writers caused the storyline to spriral out of control (at one point Ben Reilly was supposed to end up being the real Peter Parker, but seeing how the clone Peter Parker had not only married Mary Jane, but was about to become a father, complicated matters. And what about all the Spider-Man issues between 1975 and 1994? You mean that wasn't Peter Parker but a clone? You begin to see the problem here … ).

It's a fascinating read, although I did find myself skimming the Spider- Man story line to skip to the behind-the-scenes machinations going on at Marvel.


“Enuma elish” this ain't …

Here, according to the London Times, are a few sample passages:

Mark 1:4

Authorized version: “John did baptize in the wilderness, and preach the baptism of repentance for the remission of sins.”

New: “John, nicknamed ‘The Dipper,’ was ‘The Voice.” He was in the desert, inviting people to be dipped, to show they were determined to change their ways and wanted to be forgiven.”

Mark 1:10-11

Authorized version: “And straightway coming up out of the water, he saw the heavens opened, and the Spirit like a dove descending upon him. And there came a voice from the heaven saying, Thou art my beloved Son, in whom I am well pleased.”

New: “As he was climbing up the bank again, the sun shone through a gap in the clouds. At the same time a pigeon flew down and perched on him. Jesus took this as a sign that God's spirit was with him. A voice from overhead was heard saying, ‘That's my boy! You're doing fine!’”

Via metaphorge , New Bible translation promotes fornication

Not only does it promote fornication, but it mangles the English lanuage as well. Like I mentioned a few days ago, modern translations of the Bible just don't have the lyricism of the King James Bible. “‘That's my boy! You're doing fine!’”?

Gaaaaack!

Saturday, June 26, 2004

Chess influence

I found myself being dragged to a chess club meeting at Spring's church. Not being much of a chess player, and not wanting to play, I took along my laptop to keep me occupied (the chess club is more for The Kids than any of us adults).

Unfortunately, I didn't prepare fully, and not having wireless access at the church, I found myself with not much to work on. I then decided to use the time to write a program I've been meaning to work on for some time.

One of the problems I have with chess is seeing the influence each piece has over the rest of the board. With that in mind, the program I wrote displays the board not with the standard checkerboard pattern, but colors the squares as to “ownership” of the board. In my case, blue squares denote that black owns that square, red squares show white influence, yellow squares convey conflicting influence where both black and white could claim ownership and grey (of which the sample picture lacks) show no influence whatsoever of that square.

I didn't quite finish at the chess club meeting; the big obstacle was the lack of suitable graphics for the pieces. Afterwards I played a bit more on fleshing out the program, grabing images from xboard. Right now the pieces can't be moved (they're placed there at program startup) but at least I got most of the infrastructure down, and I have something I can work on the next time I get dragged to a chess club meeting.

Monday, June 28, 2004

Sokoban

Last night Spring expressed her dismay at the general clutter about the house and how she can't stand being in many of the rooms and the lack of workspace at The Kids' computer (since her computer is still in the shop). We discussed for over an hour different ways of arranging the living room and dining room to make some more space and by the time we headed off to bed, the best we could come up with was moving some bookshelves to the opposite wall and shoving the desk with The Kids' computer up against the wall, instead of perpendicular as it was.

Upon going downstairs this afternoon I saw that Spring had a real brainstorm and she managed to rearrange nearly the entire living room/dining room area, giving more room for the computer area. The bookshelves are on the opposite side of the room, but instead of blocking the sliding glass doors (which my idea would have) they instead form a short partitioning wall between the living room and dining room; the long white couch and comfy chair swapped places and the desk is now against the wall, along with a small folding table, giving plenty of work space.

It looks completely different, yet it's still functional.

Tuesday, June 29, 2004

Riding it out

I got that feeling again, the one I get when I'm hit with sleep paralysis—I'm awake, but feeling drugged out and unable to move or speak. Every since I found out exactly what that feeling was, I was able to control the paranoia and helpless feelings normally associated with it and kind of “ride it out” as it where.

Except for today.

Not feeling quite right and still a bit tired, I went upstairs for what I was expecting to be a half hour nap. Two and a half hours later I get hit with a rather nasty sleep paralysis attack. I knew what was happening, but still, the impulse to get up (or rather, attempt to get up) was strong and I ended up just flopping around trying to get out from under the covers, unable to call out for help.

I made a valiant attempt, but ended up flailing on my back when the mattress started bucking up and down. Mattresses normally don't buck up and down and knowing what I was going through, I came to the conclusion that I was not being abducted by aliens, seduced by succubi or possed by Linda Blair, but instead was still partially dreaming.

Experiencing sleep paralysis is bad enough—dreaming of experiencing sleep paralysis is even worse. Or perhaps it's the knowledge of sleep paralysis and dreaming you are experiencing it is bad. All I know, the next thing I'm seeing as I struggle to open my eyes is a creature flying out from behind the bathroom mirror (visible from the bed). Great, I thought. Not only am I suffering from sleep paralysis, but I'm hallucinating at the same time. Such thoughts didn't keep from from yelling out “Help!” although it came out more like “Eeeaaaah!”

So I'm flailing around, trying to get somewhere by any means necessary, yelling “Help!” or “Get away!” (to the flying hallucination from the mirror) and wondering why no one was even coming to help, because they were just down the hall in the living room. And this went on for what seemed like half an hour or hour or so. I think I'm about to get up when I don't. I'm yelling like Peter Boyle in Young Frankenstein. There's this hallucinated creature on a loop, flying out from behind the mirror, disappearing, then flying out from behind the mirror. And where is everybody? Can't anyone hear—

—and I snap out of it.

I'm finally awake, for real. In the same position as I was when I fell asleep some two and half hours ago. And the reason no one heard me is that no one was down the hall in the living room, because the living room isn't down the hall, it's down the stairs on the other end of the Facility in the Middle of Nowhere.

And I still felt like crap.

Bloody sleep paralysis.


Back to the Cheese Shop

Through the grapevine, I heard that the Company, the one I used to work for, has an open position. In the Cheese Shop.

Yes, I'll be working for the same manager that had me fired. But that was three years ago. Let bygones be bygones. And it's not like I'll have to go through much training, having worked in the position before.

So yes, I sent in my résumé.

Wednesday, June 30, 2004

I just won the Jury Lottery

Nothing quite like getting a letter with

OFFICIAL JUROR SUMMONS

across the middle.

For the United States District Court.

Could be worse. My first summons ever was for the Federal Court down in Miami (fortunately for me, I was able to get out of that due to being a student at FAU).

Starting August 8th I have to call the court house no earlier than 5:30pm to see if I have to serve the next day; a ritual I have to follow for the following two weeks. There's a form to fill out (using a #2 pencil of course) and the questions are all fairly standard questions like “Have you ever been convicted of a State or Federal crime?” but there were two that just struck me oddly. The first is silly:

Question 4

4 DO YOU READ, WRITE, SPEAK AND UNDERSTAND THE ENGLISH LANGUAGE?

And the second was:

Question 7

7 IF YES TO 6 ABOVE, WERE YOUR CIVIL RIGHTS RESTORED? EXPLAIN IN “REMARKS” ON NEXT PAGE

Now, question 6 was the “Have you ever been convicted …” question, and honestly, I didn't know how to answer question 7. So I didn't. But in the “REMARKS” section on the back, I wrote the following:

I did not answer #7 since it didn't seem to apply in my case. Answering “yes” would imply that at one point my civil rights were restored, while a “no” answer would imply I don't have civil rights. Since my civil rights were never taken away, they never had to be restored in the first place so I felt that the question does not apply in my case.

Will I have to serve? I'm not sure … the first time I actually went in, I wasn't selected, but the second time I was selected (although the case was settled before it began so we were dismissed), so now I'm figuring I have some chance at being selected. But given that lawyers for both sides tend not to like highly educated people (since they're harder to bamboozle) and I listed eight years of college (never mind I never graduated—the form just requested the number of years) I might not even be considered. Who knows?

But we'll see …

Now, off to mail the form.

Saturday, July 03, 2004

Take me out to the ballpark

Through Spring's church, we obtained tickets to a minor-league baseball game at Roger Dean Stadium, which is located at the north campus of FAU. I wasn't all that thrilled, since this is baseball we're talking about here; I find watching paint dry to be more stimulating than watching a bunch of tabaco chewing groin scratching men stand around a dirt field for a few hours. I find football to be more watchable than baseball (football also has the advantage of having cute cheerleaders).

But I said I would go, if only for the opportunity to take pictures.

Which I did (and I ran out of storage space, having taken 115 pictures—luckily I'm not subjecting you to every last one of them).

I must admit that the minor-league game was a bit more enjoyable to watch the a major-league game. The first half of the game went by quickly; the first four innings screamed by in a little over an hour. It was the last five innings that took the remaining two hours.

[He's got a ticket to ride] [Oger Dean Stad] [The better to make money with consessions] [Diamond in the rough] [Now that that pesky national athem is over, PLAY BALL!] [Batter's up] [Hey batter batter batter batter batter batter SWA-WING!] [Here comes the pitch] [SWING] [Here's the windup …] [… and the pitch!] [Keeping score]

Sure, there was the seven inning stretch, where we listened to Kate Smith's rendition of “God Bless America” but there were also a bunch of silly events for kids, like a race from 1st to 2nd base with the Palm Beach Cardinals mascot, or the remote controlled car race from 1st to 3rd that took time between innings.

But I suspect that the teams started playing harder in the last half, and for a while in the 8th it looked like the Palm Beach Cardinals might pull out ahead, but no, in the end, the Jupiter Hammerheads won 4 to 2.

There was a fireworks show after the game—an impressive display with patriotic songs blaring away through the speakers, like Bruce Springsteen'sBorn in the U.S.A.,” Neil Diamond'sAmerica,” a John Philip Sousa march and John Cougar Peter Paul Mary Tiger Mellencamp Jingleheimerschmit'sR.O.C.K. in the U.S.A” among others. This was a Good Thing™ since Spring has to work tomorrow and it would be very unlikely we would be able to make any fireworks show (and amazingly enough, this year The Kids (especially The Younger) haven't had fireworks fever—man, was it bad last year).

Sunday, July 04, 2004

Blow Stuff Up Day

[BOOM!]

Have a safe and wonderful Fourth (and hopefully, this won't happen to you).

Wednesday, July 07, 2004

Thoughts about Gmail

I have a Gmail account (sean.conner@gmail.com—okay Google, let's test your anti-spam measures) and I've been playing around with it today. For a web application it's pretty slick. Instead of placing email within folders, you instead can add labels to each email. So I can create a label called “Friends” and tag email from my friends with it. So far, not much different than folders, but the kicker is that you can attach multiple labels to each email. So for instance, I can create another label “Mississippabamasisboombah” and if I were to receive email from Hoade, I can label it with both “Friends” and “Mississippabamasisboombah.” The interface to create labels and tag emails is easy.

It also seems to automatically apply labels to incoming email, probably based upon the content of emails already labeled. Email I received from my friend Ken Maier (whom I gave an invite to) was automatically labeled. Both slick and scary at the same time if you ask me, especially since I have privacy concerns about Gmail.

No conversations in the trash. Who needs delete when you have 1000 MB of storage?!

Gmail trash filter

There also doesn't seem to be a way to export your email from Gmail. Granted, you have a gigabyte of storage and I'm sure that given their Google File System loosing data isn't that much of a concern, but still, I would like a local copy of my email just the same, thank you very much. Ken did send me a link to this tool that will supposedly download email stored at Gmail, but I think it may fall foul of Gmail's Terms of Use:

5. Intellectual Property Rights. Google's Intellectual Property Rights. You acknowledge that Google owns all right, title and interest in and to the Service, including without limitation all intellectual property rights (the “Google Rights”), and such Google Rights are protected by U.S. and international intellectual property laws. Accordingly, you agree that you will not copy, reproduce, alter, modify, or create derivative works from the Service. You also agree that you will not use any robot, spider, other automated device, or manual process to monitor or copy any content from the Service. The Google Rights include rights to (i) the Service developed and provided by Google; and (ii) all software associated with the Service. The Google Rights do not include third-party content used as part of Service, including the content of communications appearing on the Service.

Gmail's Terms of Use (emphasis added)

That bit about “manual process to monitor or copy any content” is a bit worrying too; if I bounce forward (Gmail seems to lack a “bounce” feature, which sucks as I use that quite often) all my email would that fall under the “manual process to copy any content?” Even if it's my own content? Remember, “Google reserves the right to refuse service to anyone at any time without notice for any reason.” Fall foul of Google, and poof there goes your access to your email.

I think Spring has the right idea for Gmail—she uses it for her mailing lists; since it goes out to multiple recipients it's not exactly private and most mailing lists keep an archive anyway so loss of use of Gmail isn't that bad; it's only bad if Gmail is your primary source of email.

Saturday, July 10, 2004

Is profiling even viable now?

Mark brought up (in email) an interesting optimization technique using GCC 3:

I came across an interesting optimization that is GCC specific but quite clever.

In lots of places in the Linux kernel you will see something like:

p = get_some_object();
if (unlikely(p == NULL))
{
  kill_random_process();
  return (ESOMETHING);
}

do_stuff(p);

The conditional is clearly an error path and as such means it is rarely taken. This is actually a macro defined like this:

#define unlikely(b)   __builtin_expect(b, 0)

On newer versions of GCC this tells the compiler to expect the condition not to be taken. You could also tell the compiler that the branch is likely to be taken:

#define likely(b)     __builtin_expect(b, 1)

So how does this help GCC anyhow? Well, on some architectures (PowerPC) there is actually a bit in the branch instruction to tell the CPU's speculative execution unit if the branch is likely to be taken. On other architectures it avoids conditional branches to make the “fast path” branch free (with -freorder-blocks).

I was curious to see if this would actually help any, so I found a machine that had GCC 3 installed (swift), compiled a version of mod_blog with profiling information, ran it, found a function that looked good to speed up, added some calls to __builtin_expect(), reran the code and got a rather encouragine interesting result.

I then reran the code, and got a completely different result.

In fact, each time I run the code, the profiling information I get is nearly useless—well, to a degree. For instance one run:

Each sample counts as 0.01 seconds.
% time cumulative seconds self seconds calls self ms/call total ms/call name
100.00 0.01 0.01 119529 0.00 0.00 line_ioreq
0.00 0.01 0.00 141779 0.00 0.00 BufferIOCtl
0.00 0.01 0.00 60991 0.00 0.00 line_readchar
0.00 0.01 0.00 59747 0.00 0.00 ht_readchar

Then another run:

Each sample counts as 0.01 seconds.
% time cumulative seconds self seconds calls self ms/call total ms/call name
33.33 0.01 0.01 119529 0.00 0.00 line_ioreq
33.33 0.02 0.01 60991 0.00 0.00 line_readchar
33.33 0.03 0.01 21200 0.00 0.00 ufh_write
0.00 0.03 0.00 141779 0.00 0.00 BufferIOCtl

Yet another run:

Each sample counts as 0.01 seconds. no time accumulated
% time cumulative seconds self seconds calls self ms/call total ms/call name
0.00 0.00 0.00 141779 0.00 0.00 BufferIOCtl
0.00 0.00 0.00 119529 0.00 0.00 line_ioreq
0.00 0.00 0.00 60991 0.00 0.00 line_readchar
0.00 0.00 0.00 59747 0.00 0.00 ht_readchar

And still another one:

Each sample counts as 0.01 seconds.
% time cumulative seconds self seconds calls self ms/call total ms/call name
50.00 0.01 0.01 60991 0.00 0.00 line_readchar
50.00 0.02 0.01 1990 0.01 0.01 HtmlParseNext
0.00 0.02 0.00 141779 0.00 0.00 BufferIOCtl
0.00 0.02 0.00 119529 0.00 0.00 line_ioreq

Like I said, nearly useless. Sure, there are the usual suspects, like BufferIOCtl() and line_ioreq(), but it's impossible to say what improvements I'm getting by doing this. And by today's standards, swift isn't a fast machine being only (only!) a 1.3GHz Pentium III with half a gig of RAM. I could only imagine the impossibility of profiling under a faster machine, or even imagining what could be profiled under a faster machine.

I have to wonder what the Linux guys are smoking to even think, in the grand scheme of things, if __builtin_expect() will even improve things all that much.

Unless they have access to better profiling mechanics than I do.

Looks like I might have to find a slower machine to get a better feel for how to improve the speed of the program.


Profiling is still viable, if you run the program long enough

So last night I said, “I might have to find a slower machine to get a better feel for how to improve the speed of [mod_blog].” Well, I found one other way—increase the amount of work the program does.

mod_blog, or at least the program I was working with last night, bp (for “build page”) is responsible for building the HTML pages served up the webserver. In its default mode (which is what I was working with last night) it generates the main index page, and the RSS file, which only (only!) generates about 100,000 bytes of output and happened too quickly to get any meaningful data out of profiling the program. But it can also generate pages with hundreds of entries given the right options, so by having it generate a page with every entry in 2000 through 2003 inclusive (which generates a page that is 3,352,028 bytes in size) I was able to get meaningful profiling information:

Each sample counts as 0.01 seconds.
% time cumulative seconds self seconds calls self ms/call total ms/call name
29.73 0.22 0.22 5817769 0.00 0.00 line_ioreq
14.86 0.33 0.11 6650539 0.00 0.00 BufferIOCtl
10.81 0.41 0.08 2908866 0.00 0.00 ht_readchar
9.46 0.48 0.07 790760 0.00 0.00 ufh_write
5.41 0.52 0.04 2908398 0.00 0.00 line_readchar

Yes, with a run time of nearly 3 seconds (2.992) I was able to generate consistant, meaningful profiling information (meaning, we went from calling BufferIOCtl() 141,779 times to 6,650,539 times) which was good enough to see if the GCC optimzation of using -freorder-blocks with __builtin_expect() would help any, at least on the Intel x86 line.

Well, after running a dozen tests, I can say that it does help on the Intel platform, but at best, using __builtin_expect() with -freorder-blocks will only give you a few percent boost in speed. As in, single digit percentage boost.

In certain cases.

Certainly, when I did tests generating the output to /dev/null you could see the boost, but in running tests generating an actual file (as opposed to just tossing the data in the bit bucket), it's not quite so clear cut (and for each test, I ran it five times, taking the timings from the fifth run—this to help smooth out any system caching effects). The best improvement came when using -O3 -march=pentium3 -fomit-frame-pointer to compile the program, but it was still hardly noticable from a user perspective (maybe about a tenth or two tenths of a second).

Mark is expecting __builtin_expect() to have better impact on systems where the CPU will use the hint.

Sunday, July 11, 2004

“Hey! What's that code doing there?”

While the __builtin_expect() aspect of GCC didn't work, all the recent profiling I've done on mod_blog (which reminds me, I need to make the current codebase available) did however, bring my attention to BufferIOCtl(), which if you noticed, was one of the top four functions in term of CPU utilization.

int (BufferIOCtl)(const Buffer buf,int cmd, ... )
{
  va_list alist;
  int     rc;
  
  ddt(buf        != NULL);
  ddt(buf->ioreq != NULL);
  ddt(cmd         >   -1);
  
  if (buf == NULL)
    return(ErrorPush(CgiErr,BUFFERIOCTL,BUFERR_NULLPTR,"i",cmd));

  if (buf->ioreq == NULL)
    return(ErrorPush(CgiErr,BUFFERIOCTL,BUFERR_NULLHANDLER,"i",cmd));
  
  va_start(alist,cmd);
  rc = (*buf->ioreq)(buf,cmd,alist);
  va_end(alist);
  return(rc);
}

ddt() is similar to the ANSI C call assert(), which basically states a condition that should exist (and if that condition isn't met, the program aborts—this action can be turned off for production code; it's meant for debugging). But you'll notice that the code first checks to see if buf is not NULL within ddt(), then the first thing it does is check to see if buff is NULL.

It shouldn't be NULL to begin with.

The same for the tests of buf->ioreq. When I removed the extraneous code:

int (BufferIOCtl)(const Buffer buf,int cmd, ... )
{
  va_list alist;
  int     rc;
  
  ddt(buf        != NULL);
  ddt(buf->ioreq != NULL);
  ddt(cmd        >  -1);
  
  va_start(alist,cmd);
  rc = (*buf->ioreq)(buf,cmd,alist);
  va_end(alist);
  return(rc);
}

The runtime of BufferIOCtl() dropped to 1/3 the original time.

Not much in the grand scheme of things, but just goes to show you how expensive extraneous if statements can be. Especially if it's called 6,646,086 times.

Tuesday, August 17, 2004

Harmful if swallowed

But … the good news is that I am the first documented medical case of a cryogenic ingestion. Read the New England Journal of Medicine. Three articles are in review now, and will be published soon, I'm told.

Via DECAFBAD, Mouthful of Nitrogen

Remember kids, never swallow liquid nitrogen!

Wednesday, August 18, 2004

I love the smell of spam in the morning.

From: mias@speedy.com.pe
To: mias@speedy.com.pe
Subject: Client Referral
Date: Wed, 18 Aug 2004 07:52:30 -0500

Dear Customer,

Be the very first listing in the top search engines immediately.

Our company will now place any business with a qualified website permanently at the top of the major search engines guaranteed never to move. This promotion includes unlimited traffic and is not going to last long. If you are interested in being guaranteed first position in the top search engines at a promotional fee, please contact us promptly to find out if you qualify via email at mias@speedy.com.pe This is not pay per click.

The following are examples on Yahoo!, MSN and Alta Vista:

Company: Eco Summer
URL: http://www.ecosummer.com/trips.html
keyword: adventure travel vacation

Company: Dana Hursey Photography
URL: http://www.hursey.com
keyword: location photographer

Company: Oahu Dive Center
URL: http://oahudivecenter.com
keyword: oahu scuba diving

Sincerely,

IGN

The Search Engine Promotional Consultants

This is an interesting piece of spam.

The wording they use is rather peculiar—“permanently at the top of the major search engines guaranteed never to move.” A quick reading of that lead me to believe they would make sure your website would always come back in the top position for a given query forever and that the result position for your website would never move down (or conversely, up either). But the placement of “guaranteed never to move” could modify “major search engines.”

“But your Honor, we never said search engine placement would never move. All we guaranteed was that the search engines themselves would never move. And have they moved? Nay, I say! Nay!”

I also like how they imply they were responsible for Eco Summer getting top placement at Yahoo (but not at MSN at the time of this writing) but again, the weasel words allow out.

“But your Honor, they were but examples as it clearly states in the email. We never said they were customers of ours.”

I do hope that mias@speedy.com.pe doesn't mind my interpretation of his email. I also hope he doesn't mind all the wonderful offers (“3xp@nd ur mortg@ge by 3 !nche5!”) he'll start receiving at mias@speedy.com.pe as his email address is scrapped from this webpage.

Monday, August 23, 2004

What hotter heater

“What's that burning smell?” asked Spring when she walked into the Facility in the Middle of Nowhere. She had just gotten home from work. “Were you cooking something?”

“Not that I know of,” I said. We started sniffing around, trying to locate the source of the burning smell. The strongest source seemed to be coming from the air conditioning vent. Not a good sign, as we had just recently got the thing repaired after a series of back and forth exchanges with the rental office.

Heading upstairs, we first checked the master bedroom; the burnt smell was strong throughout the room, but it wasn't obvious what was wrong; the only thing plugged in and on was an alarm clock. The smell was just above a background threshhold. It was coming from somewhere but the somewhere wasn't obvious.

I then went to check The Kids' room, fearing that The Kids' might have tried an experiment or something, but was confounded by a locked door. The door knobs have a small hole, usually the type where you can jam a straightened hangar through it to pop the lock. That proved futile (as the lock itself is of the turning type—not sure what exactly you do to unlock that type) when Spring started wailing on the door, trying to get the kids to wake up and unlock it.

But no, the source of the smell did not turn out to be a half-forgotten childhood experiment. In fact, there was no smell at all in their room. Back in the master bedroom all the facts were slowly pointing to the air conditioner (which is actually in the master bedroom) when Spring went to check on one of the mail inlet vents. She started coughing. “There's smoke here, lots of white smoke, and the smell is very strong here.”

That was enough for me to call 9-1-1 as we evacuated the Facility in the Middle of Nowhere.

[Fire truck] [Fireman]

“The hot water heater burned out,” said the fireman. “It must have shorted out as it scorched the insulation and outter casing.”

“The wot hotter heater?” I asked.

“Wot hotter heater?”

“What?”

“You said, ‘wot hotter heater.’”

“I meant ‘hot water heater.’” It was strange, but I had difficulty saying “hot water heater.” Don't ask me why, it just came out as “wot hotter heater.”

“Yes, the hot water heater.”

“You got to the wot hotter heater?” The wot hotter, um, hot water heater is in (as we call it) the Harry Potter Closet, a deep, cramped closet underneath the stairs, all the way to the back, below the middle landing where the stairs turn. We use it as storage. Enough said.

“Yes. Sorry about the mess.”

“Oh, that's okay. Better that than a fire.”

“Yes,” he said. “Here, let me show you.” And he lead me deep into the Harry Potter closet to show me the damage. “As you can see,” he said, pointing things out with his flashlight,” the casing of the wot hotter heater—”

“Wot hotter heater?”

“Great, you got me saying that now,” he said, sighing. “the casing—” and he pointed, “is burned, along with the insulation.” I snapped a few pictures. “The main power cord has also burned through.” Snap. “And take a look here,” he said, pointing to the blackened rements of a control panel. Snap.

“So we have no hot water?”

“You have what's left in the heater, but that's it.” He indicated where he unplugged the unit.

[Scorched casing] [Burnt cord] [Burnt electronics] [Burnt panel]

As I remarked later to Spring, the Facility in the Middle of Nowhere has been the most exciting place I've ever lived in. Between spider infestations (don't ask), walls bleeding honey, water leaking through the kitchen lights (oh yes, about a week ago or so, we found water leaking from the master bathroom into the kitchen through the light fixtures) and constant fun with the air conditioner, you can't ask for a more interesting place to live.

I'm not even going to ask what can happen next …

Update later today

heh, we had the exact same thing happen to me and insanity back when we lived in a nice two floor apartment in Ft. Lauderdale. She had the fire department there and everything.

Turns out that the design of the water heater / air conditioning closet was to blame. As the A/C unit was directly above the water heater and all the condensation that the A/C generated dripped right onto the water heater, eventually causing it to fry. It looked almost exactly like the pictures you have in this entry.

Squeaky, commenting on the situation

Something to think about when designing a house ... don't stack the air conditioner above the wot hotter heater.


Comment today, gone tomorrow

A while ago Spring setup a syndicated feed for The Boston Diaries at Livejournal. So if you have a LiveJournal account you can add my blatherings to your friend's page. Hey, it's what my feed is for, right?

But I've noticed, through some experimentation, that LiveJournal does not keep the entries around for all of eternity (or as long as it's in service), but will delete them as soon as the entries fall out of the feed file. This, I can't fault them for, since why should they keep copies of this? And since they get rid of the entries as soon as they are no longer in the feed, any comments posted to the LiveJournal syndication are deleted along with the entry itself from LiveJournal.

So, you make a comment to my feed at LiveJournal, it won't surivive forever.

Which explains why I sometimes quote comments made there here.

Just letting you guys know …

Tuesday, August 24, 2004

Oh, that water heater

The wot hotter heater has been fixed, amid curses from the plumber. He installed a new unit (top of the line—hey, we weren't paying for it) yesterday (“I'll give you hot water if I have to stay here and heat it myself with a match!”) but had to return today to reroute an ill placed piped so it would pass inspection if it ever came to that. He said that the original installation, bad as it was, was probably done that way to save a measly $20 or so during building.

$20.

Spring and Wlofie both said that the original savings of $20 then is now costing the Rental Office big bucks. But I cynically replied that the original company is no longer the owner. In fact, the company that built this play may not have been the company we rented these units from, so who knows who palmed that $20 (possibly per unit, and there are several hundred units).

So things are pretty much back to status quo here at the Facility in the Middle of Nowhere.

And I hope it stays that way.

Wednesday, August 25, 2004

Of course …

I spoke too soon. We received the following letter today from our wonderful Rental Office:

This letter is to advise you that in accordance with paragraph 17 of your lease agreement, the manager of XXXXXXXXXXXXX Apartments is giving you official notice that your lease is due to expire. Please be advised that we will not be renewing your lease agreement, nor will you be given the opportunity to remain as a month to month resident.

YOU MUST MAKE ALL ARRANGEMENTS TO VACATE THE PREMISES KNOWN AS XXXXXXXXXXXXXXXXXXX, Boca Raton, FL 33433. If you fail to turn in keys and do not vacate on 9/30/04, we shall have no alternative but to advise our attorney's office to proceed in regaining possession of your unit. Please be advised that in accordance with Section 83.58, Florida Statutes, the landlord is entitled to demand double your monthly rent for as long as you remain a resident.

Surprised us.

Thought we had until January, but it looks like the Rental Office thinks otherwise. We found our copy of this years lease so hopefully this is all one big happy mistake. I hope so.

Now, Florida law has changed a bit regarding the breaking of leases, and now, if we were to break the lease, we owe the Rental Office a fee of $3,000. If this isn't one big happy mistake, does that mean the Rental Office now owes us $3,000 for breaking the lease?

Somehow, I think not.

Thursday, August 26, 2004

No fence sitters here

The fact that some of the units are still occupied has not stopped the Rental Office from renovating the units as today they tore down the fence to the courtyard here at the Facility in the Middle of Nowhere.

They also painted the front door, but at least we got warning about that.

Friday, August 27, 2004

It's magic

For our entire history, right up until a hundred years ago, the idea of flying carpets and magic lanterns held peoples imaginations in thrall. Now that we have everyday miracles like jet aircraft and electric lights, all some people want is to return to a time when the belief in magic was common but the everyday blessings of magic—telephones, computers, antibiotics didnt exist. Back in the anti-nuclear 80s lots of folks drove around with SPLIT WOOD NOT ATOMS bumper stickers, and I often asked myself, how much wood have these people actually split? Ive done an hour in my 20's and I thought I was going to die.

It's sad, frankly—at least to people like me. I find it terribly, tragically sad that the more successful and comfortable we become, the more people pine for a time when none of these everyday miracles existed. Outdoor bathrooms on January nights and miserable coal stoves that need to be tended hourly just to heat a pathetic half-gallon of tepid water need to be experienced to be believed—and not just in a 24 hour adventure, but continuously. Death, hunger, cold, disease, infant mortality— we have fought them tooth and nail for millennia, for what? Apparently in order to so insulate people that they can long for “ancient wisdom,” return to the “holistic tribal remedies” of the past, and hold up the most primitive and achingly poor cultures on earth as being the sole repository of “authenticity” while scorning every advance that they take completely for granted.

Magical thinking is everywhere today, and it is growing. It threatens the foundations of reason, individualism, science and objectivity that have delivered this success so well and for so long. It is dangerous. If we are to continue to thrive and progress, then we need to sharpen some sticks and drive a stake through the heart of this monster, and right quick.

MAGIC

I don't take indoor plumbing or hot water for granted—I have no desire to experience life in a “magical” setting. I like my hot and cold running water, thank you very much. And A/C. And electricity. And the Internet.

I like the trappings of modern life.

Monday, August 30, 2004

I'm in the money

Woohoo! I've made a whopping 55¢ from Amazon!

It's been perhaps a year or so since I signed up to be an Amazon Associate (and I'd link to the Amazon Associate site, but there doesn't seem to be a direct link to the Amazon Associate site—go figure) and I really didn't bother much with it at the time, but when I took over The Hitchhiker's Guide Project site, it was suggested (by the previous owner no less) that it would behoove me to link to the books, seeing how the film The Hitchhiker's Guide to the Galaxy is slated to come out Real Soon Now™.

So I went ahead and did just that.

Starting July 20th. And in that time, I've had (as of writing this) 1,075 unique visitors click on through to Amazon (about 33 per day). And in that time I've sold two (count 'em, two) books to Amazon.

“And which books have you sold,” you ask? Okay, you probably didn't ask, but I'll pretend you asked anyway, because the two books I've earned a commission on aren't in that list above. Nope. The two books were Finite and Infinite Games by James P. Carse and (this is the real kicker I think) The Seven Lady Godivas: The True Facts Concerning History's Barest Family by (and this surprised me even more) Dr. Seuss.

Don't ask me how that happened. I'm not complaining (okay, I can—about the lack of sales) but still, Lady Godiva? Dr. Seuss?

Odd.

But still, I've made some money. So, all I need is several thousand more sales …

Tuesday, August 31, 2004

The clearning of leasing confusion

Finally we cleared up the confusion over our lease. We have until what we thought was our original date to move out, and better yet, if we decide to move ealier, they'll waive the $3,000 “breaking the lease” penalty, since it's in their own interest to get us out of here.

Now, we just need them to fix the oven and replace the kitchen lights (since technically, that's their problem) … perhaps there's another reason they want us out …

Wednesday, September 01, 2004

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

When Mom and I moved down here in 1979, we were immediately greeted with the spectacle of Hurricane David bearing down on us. Fortunately for us, it turned north at the last minute. As the years passed, thirteen in all, so did the hurricanes, slipping past South Florida without so much as a “How-ya-doing?”

Two weeks after moving into an apartment with friends when Hurricane Andrew comes knocking. And knocking. And knocking.

It knocked Homestead right off the map.

In the early morning hours of August 24th, Mom, her mom and I were huddleded in Mom's walk-on closet. They were sleeping as I watched Hurricane Andrew on TV. Nothing more sureal than watching a Class-5 hurricane dance across the TV screen as it dances across your lawn at the same time.

We were fortunate—fortunate enough to be far north of Hurricane Andrew where the only damage we received at Mom's condo were a few small trees knocked down.

And so the years pass, twelve in all.

And now we're facing Hurricane Frances in all her Class-4 fury, bearing down on us, on what looks to be a much similar course as David in 1979. At best (well, for us here in South Florida) it looks like it'll make landfall a ways north—perhaps an hour or so north, unless there's a high pressure system that keeps Hurricane Frances heading more west than north (which is what happened with Hurricane Andrew).

Further updates as they happen.

Thursday, September 02, 2004

The relentless march

Still here. Still doing preparations, like clearing out the Harry Potter Closet (in the center of the Facility in the Middle of Nowhere) and making it comfortable to human (and animal) habitation. And still waiting for the landfall of Hurricane Frances, which the National Hurricane Center is currently predicting around 8pm Saturday.

Not much more to report that can't wait until after the hurricane.

Friday, September 03, 2004

Calm before the storm

Well, in good news (overall) Hurricane Frances has become a Class 3 hurricane, loosing strength while over the Bahamas, as two high pressure systems (one to the north, and one to the south) have been beating away at it. And it also looks like it'll definitely hit a good distance north of us, so that's good news (for us).

But in any case, we're still being cautious. Since we'll be south of the hurricane, and they spin counter-clock wise, the Facility in the Middle of Nowhere is in the lee of the building, so we won't get the full force of the wind coming from the north and west (one reason I parked the car there—another reason, it may act as a shield for flying debris and I'd rather have the insured car get hit than us or the building). We've also cleaned out the Harry Potter Closet for possible occupation (something all the neighbors are doing as well—well, they won't be staying in out Harry Potter Closet, but each unit around here has a Harry Potter Closet so ₀ well … you get the idea). And there are the three five gallon jugs filled with water (along with nearly every other empty container). So we should be fine.

[The Harry Potter Closet] [Lake Lumina next to the Facility in the Middle of Nowhere]

At least, it looks like it.

Saturday, September 04, 2004

Waiting … waiting … waiting …

Well, Hurricane Frances is still headed this way, but slowing down and wobbling, so it's hard to say when and where it will hit. We're as ready as we'll every be so it's just a matter of sitting here at the Facility in the Middle of Nowhere, waiting, and hoping the pow—

Monday, September 06, 2004

Upate from a place no sweeter than A/C

—er lasts.

Oh.

Sorry about that. We lost power on Saturday, even before Hurricane Frances made landfall, and we spent Saturday in the dark, waiting, waiting for landfall. It finally hit sometime between midnight and 2am Sunday. The wind and rain picked up, and it was interesting watching it out the window, watching bright greenish explosions of light in the distance.

Lightening, exploding transformers, what ever it may have been, a white flash with a subtle coloring of green. Noticed the same phenomenon (doo doo de doo doo!) during Hurricane Andrew too.

[A downed tree behind the Facility in the Middle of Nowhere] [Roofing material] [A tree blocking the parking lot] [At least it fell away from the building]

About 6:30 am Sunday I finally got fed up with sleeping on the dining room floor, and figuring that Hurricane Frances had already past by without blowing us away, went upstairs to finish sleeping.

When I woke many hours later, I took a walk around the lake that's nearby, taking in the damage (mostly downed trees). I also briefly talked with a neighbor and learned that Hurricane Ivan is expected to hit us sometime next week.

Ah, wonderful. I can only hope that this convinces enough people to flee the state, thus dropping the prices on the houses remaining to affordable levels. Or at the very least, it will reduce the amount of traffic we have.

Right now we're at the Little Pink Apartment of our friend Jessica as it, unlike the Facility in the Middle of Nowhere, has electricity, and more importantly, A/C and an Internet connection. Woot!

Tuesday, September 07, 2004

Papers please

We returned to the Facility in the Middle of Nowhere around 1:30 pm to find the power still off. We debated for about ten to fifteen minutes about what to do, and where about to head back to the Little Pink Apartment when the power suddenly cut on.

Woo hoo!

Then it was a matter of cleaning the refridgerator and freezer of perishable items that had perished over the past three days. Then take out the garbage, take Spring to work (stopped by the bank so she could deposit money, but their computers had crashed) and then to Publix to do some shopping. The one I normally go to was still open, but it looked like only the emergency lights were on, with one checkout lane open (and the register to that one was “open” as well, leading me to question whether I could even pay with plastic. I decided not to risk it, and headed further south into Broward County (which still had power, unlike 2/3 of Palm Beach County).

There wasn't much in the way of perishable items. Frozen, yes. Canned, yes. Fresh or perishable, not so much. But I got what I could.

The Palm Beach County Sheriffs Office is extending the curfew for all unincorporated areas of Palm Beach County. The mandatory curfew will be in effect tonight (Tuesday) beginning at 10 p.m. until 6 a.m. Wednesday morning.

The Sheriffs Office will have zero tolerance for all curfew violators. There were more than 300 arrests made in Palm Beach County Monday night into Tuesday morning for curfew violation.

Nighttime Curfew Extended

On the way back to the Facility in the Middle of Nowhere, I heard that Palm Beach County had extended the curfew to 10pm, but there still was a curfew. Once home, I talked to Spring at work (she gets off at 12:30 am) and asked about the curfew. About an hour later she contacted me, saying to pick her up at 9:30. Negiyo was willing to give employees a letter stating they were on the way home from work, which is all find and dandy if Spring had driven in, but she hadn't (and is Negiyo willing to post bail for hard working employees who knowingly break curfew in going home or coming to work? Somehow I'm doubtful). Fortunately, Negiyo also had to conceed that its employees might not want to break the law and couldn't hold it against them if they decided to leave early, or not come into work (although it could, and will, withhold pay. Nice, aren't they?).

So I arrived at 9:30, and we were back inside the Facility in the Middle of Nowhere by the 10:00 pm deadline.

Also, it looks like we stand a good chance of missing H urricane Ivan. Nothing certain yet, but the tracking information from the National Hurricane Center is leaving me optimistic.

Monday, September 13, 2004

How I spent my hurricane vacation

Well, that was pleasant.

First off, around the 24th of August, the server that was hosting this site, swift.conman.org, was compromised (through my login no less). Due to differences in opinion on the situation (and seeing how the system does belong to Mark) he was kind enough to give me until Sunday, September 5th (nevermind a Class 3 hurricane coming through. Then again, Mark will be the first to admit he isn't the most diplomatic of people).

So when we weren't preparing for Hurricane Frances, moving sites to a different server occupied my time. Then, once Hurricane Frances blew past, the server I moved the sites to got cracked.

It had nothing to do with the swift.conman.org compromise since we have a very good idea as to who did it. And the major difference between this compromise and the compromise to swift.conman.org was the cracker deleting every site on the box, and making sure the box had to be rebuilt from scratch (since with /bin, /sbin and the kernel deleted as well, the server wouldn't be of much use).

So while the National Hurricane Center was bouncing Ivan off of Florida, every moment I wasn't sleeping (or severely sleep deprived) was spent rebuilding three servers (the full extent of the damage) from scratch, and attempting to recover lost data.

Almost makes me pine for the days of getting denial of service attacks.

So once that was done, it meant copying my sites off of swift.conman.org yet again. Which explains why I haven't been around all that much during the past two weeks.

It's been a rather interesting two weeks.

And Hurricane Ivan has best be the last storm this year.

Tuesday, September 14, 2004

Some clarifications

I should probably clarify a few things about the hacked servers.

On (or about) August 24th, my shell account was compromised. This was most likely due to using a compromised Windows system (wth a keyboard logger) or a Trojaned version of puTTY.exe (an ssh program freely available for Windows). Not much you can do except attempt to minimize the damage. Mark and I do have differences of opinion on how to handle cracking attacks (I tend to be optimistic about such things; Mark isn't) which caused most of the problems we've had (and still have, by the way). Since the server was Mark's he felt it best for everybody on the server to move their sites elsewhere and take the server down (I now suspect it'll never go back up).

I found no evidance that the machine had been compromised, but Mark thought otherwise. So I moved my sites off to one of the servers I administrate (the ones I had problems with Russian hackers doing denial of service attacks against).

A bit of background on this set of servers. I was hired to administrate four servers—two in Boca Raton (the same facility as Mark's server) and two down in Miami (at the Nap of the Americas). One of the Boca servers had hardware problems so it was decomissioned. Over the past few months I've backed up the sites across each server so that if one goes down, the remaining ones can take over (not automatically, but easily enough). Durring Hurricane Frances' advance towards us, one of the Miami servers crashed. The decision was made to leave it down there until after Hurricane Frances and have the other Miami server pick up the slack (easy enough to do). At the time we weren't certain why the machine crashed, but it did (later on, it was theorized that it crashed during a “test run” of taking the machine down).

The server I moved my sites to was the other Miami server, as I felt that stood a better chance of weathering Hurricane Frances.

On September 8th, the Boca server was compromised.

I honestly feel that the Boca server compromised had nothing to do with Mark's server being compromised. All the websites on the Boca server were deleted, and everything pointed to a single page, giving a shout out to a known person that worked with (or for) the company who had the majority of sites on the Boca server. Also, the Boca server had a certain class of sites on them, one where the updating of the sites was under less control than previously realized (at least by me). And given some evidence (found later on one of the other servers) it appears that the cracker in question had the actual log in information for some of the sites (about half a dozen, and none of them my account) so it points to some form of inside job (again, not much you can do in that case, other than preventing other sites from being wiped out, but this was all found out after the case).

Things were still in place from our preparations for Hurricane Frances (to switch the sites to one or the other server in case of power loss) so I simply enabled the deleted websites on the Miami server, and went in to the Boca facility to retrieve the now dead server. It was during this time that the Miami server was compromised and all the sites (every last site) were deleted.

Later on, I found out that the attacks were timed for the start of the NFL season which is important since the company who has the majority of sites is a gambling/gaming company and the start of the NFL season is an important time of year.

Now, can I say for sure that the compromise of Mark's server was unrelated to the compromised of the other servers? No. Not 100%. Is it likely they're unrelated? Yes. At least in my opinion.

But in the meantime, the servers have been reconfigured and partitioned off with the hope that such an attack will have a less chance of success. The number of accounts has been drastically reduced and of the accounts remaining, the passwords have been changed. The servers are now running the latest version of everything. Will these servers be compromised again? There's always a chance. But hopefully, with some of the changes put in, the damage will be severely limited in scope.

I'm optimistic about that.

Wednesday, September 15, 2004

Yet another hurricane

And Hurricane Ivan has best be the last storm this year.

How I spent my hurricane vacation

I think I may have spoke too soon, although the track has this turning north and missing Florida.

At least, we can hope.

It also looks like Florida will get hit by Hurricane Ivan (although just technically) for three hits this hurricane season. Some might think this is a plot by the Republicans to drive registered voters out of the state; some probably think this is a ploy by the Democrats to lay blame at the foot of the Republicans (since the Governor of our state is the President's brother). I'm just surprised that al-Qaeda hasn't claimed responsibility for these hurricanes (“Pull out of the Middle East, or we keep sending hurricanes to your decadent state! Praise Allah!”).

I think I'll keep quiet about this from now on.

Update Thursday, September 16th, 2004

Well, that didn't take long (link via Burning Bird).

Sunday, September 19, 2004

Notes from a Gibsonian novel

From: "SERIOUS SITUATION" <[fake email address]>
To: sean@conman.org
Subject: Referencing: http://boston.conman.org/2004/09/14.1
Date: Sun, 19 Sep 2004 01:18:21 -0500

Sean,

My apologies if any of your time, sanity, peace, or data was lost due to the event. But surely I will clarify any of your doubts with some information about the attacks.

It was a hired job. I was sent to take down the majority of XXXXXXXXX's servers/content and actually infiltrated the XXXXXXXXX network physically. I flew to XXXXXXXXXX, and social engineered my way onto client machines. From there I essentially attained enough credentials that left me able to access the companies client database(s), affiliation(s) database(s) … oh and logins to your servers.

… However, your swift.conman.org (or Mark's rather) was running gentoo with some modifications including tighter suid access on vulnerable binaries on the system, and common misconfigurations through the system was also fixed. Finally, using a kernel attack to sniff the memory of a recent “su” execution, root was caught. As I looked around and tried to asses the situation, I suppose Mark witnessed (from another location perhaps) my SSH login attempts to servers he had access to. In any case, switch.conman.org [sic] was unnessesary but I'm glad Mark's paranoia took it down, because it would have left much more work for me to do on game day. By the way, I still had access to swift.conman.org even after it was patched, I had all known system credentials plus there was a kernel entry using portknocking. so if the server was fixed up and left on, even during Mark's paranoia it still would have been a successful attack on my part. So yes, the compromise of swift.conman.org and the other servers are related. I was sloppy, and Mark is paranoid … I guess I lost that one.

I certainly wasn't expecting this.

There was more, including details about the company we're hosting the sites for, even more details about the attack (but really, when it's an inside job, it's all the more harder to prevent) and some details about harding servers to prevent such an attack from happening (like a link to grsecurity.net which I have to check out, but most of the other stuff is common sense). But this does answer a bunch of questions about the past few weeks of cracking activity.

And how do I know for a fact that is guy is telling the truth? He also included the passwords to several accounts on swift.conman.org. To me, that's pretty conclusive evidence.

A new thing I've learned though—portknocking, something else to look into.

Anyway, I'm typing this as I sit across the street from a cybercafe so note not to waste your time backtracing. This is my job, don't take it personal.

sincerely and respectfully.

It's tough not to (especially since all this went down while three hurricanes were headed our way) but I guess that's what I get for living in a Gibsonian novel these days.

Update on Thursday, September 23rd, 2004

Just to clarify one last detail: the cracker did not social engineer his way into the colocation facility in Boca Raton or the NAP of the Americas in Miami. The physical access mentioned was the corporate network of the company (which is not located in South Florida) who's sites were hosted on the servers in Boca and Miami.

Just in case there might have been any confusion on the matter.

Tuesday, September 21, 2004

I found the legendary Appliance Graveyard

I was walking around the grounds near the Facility in the Middle of Nohwere, and lo, I found—

The Legendary Appliance Graveyard

[The Legendary Appliance Graveyard]

And there was much rejoicing …


Notes on an overheard conversation while trying to diagnosis a network problem

“The network cable isn't working? Here, try this one.”

“Nope.”

“Well, the network light on the hub is flashing like there's traffic.”

“But Windows XP isn't seeing the network.”

“Did you try ipconfig?”

“There. See?”

“Dude. Try booting into Linux.”

“Ha! Microsoft Tech Support here. Network not working? Boot into Linux.”

“Hey! It worked!”

Wednesday, September 22, 2004

Ah, so that's why math is useful

Several months ago I picked up Mathematics for the Million by Lancelot Hogben. It's an older version, printed in 1960 (and looks to be last revised in 1951) but it's an incredible book, not only explaining math, but at the same time going into the history of math and how various branches (like geometry, trigonometry, algebra) were developed, and more importantly, why it was developed. Many were the times in class when I questioned the use of, say, geometry or algebra.

This book answers that, giving the practical uses that math has been used for, including surveying, navigation, timekeeping (why a sundial works, for instance), astrogation, artillery and area calculation, to mention just a few practical applications mentioned in the book.

At a certain stage in the history of culture the eruption of a less sophisticated community proves to be a turning-point. History chooses the foolish things of this world to confound the wise, and the weak things to bring to naught the mighty. … To accept it is to recognize that every culture contains within itself its own doom, unless it pays as much attention to the education of the mass of mankind as to the education of the exceptionally gifted people.

Chapter VII: The Dawn of Nothing or How Algebra Began

Not to say that this is a dry text book on history and math—it does have its humorous moments, abeit it's a rather dry humor:

The French language is especially suitable for the exercise of ironical wit. The English language is especially suitable to convey scientific truths concisely. The tortuous prolixity of German diction can be used to befuddle sensible and decent people til they believe that Hegel's dialectic makes sense and Jew-baiting makes a nation prosperous.

Chapter III: The Grammar of Size, Order, and Number or Translating Number Language

Hey, I found it funny. It would help to remember that this was probably written just prior to World War II. Hopefully, the modern printings will keep this around; add flavor to what could otherwise be a dull book.

Thursday, September 23, 2004

This would make it number 4

UNCLE!

Hurricane Charley, Frances, Ivan (which is rattling around and now Jeanne.

[So you finally made up your mind?]

If this keeps up, I might consider moving out of the state. Although, like Hurricane Frances, we'll be in the lee of the building. And as of right now, Hurricane Jeanne is a small (well, compared to Hurricane Frances) Class 1 or 2 hurricane.

Only two and a half more months of this …

Friday, September 24, 2004

A sane theory of the construction of the Pyramids

I am a retired carpenter with 35 years experience in construction. In my work experience, over the years, many times I had to improvise on tools that were not at hand in order to get the job done.

At one of these times, about 12 years ago, I had to remove some 1200 lb. saw cut concrete blocks from an existing floor. The problem was that we did not have a machine that could reach some of the blocks. The only obvious answer was to break the blocks into smaller pieces with a sledgehammer and load them into a wheelbarrow. To me, this seemed to be too much labor at the time, so I improvised.

Using a few rocks and leverage, I removed the blocks from below the floor to an area that the machine could reach them for removal. After doing this several times, the technique became very easy and quick. This experience had me consider the possibility that people may have used this technique before modern day equipment was available.

The Forgotten Technology

I remember reading as a kid a rather credible theory of how both Stonehenge and the Pyramids of Giza were built and thus I've always believed that it was us humans and not the Annanuki that some New Age practitioners believe (and don't ask me how I know that—I read rather widely as a kid).

But Mr. Wallington seems to have come across yet another method that seems to work, as he's actually used the techniques to move multi-ton concrete blocks by himself with nothing more than rocks and spare lumber.

Saturday, September 25, 2004

Some heavy reading during some heavy weather

I got up way too early today, but the upshot is that we have evacuated the Facility in the Middle of Nowhere and are now holed up at Spring's workplace, Negiyo, which is rated for either a Class 3 or a Class 5 hurricane, depending upon who you talk to.

Our current “home” is one of the conference rooms (with two TVs, three microwaves and tons of chairs. Eventually I suppose I'll take a nap or something.

But meanwhile we've got food, drink and I have a stack of books given to me by one of Spring's cow-orkers: Foucault's Pendulum by Umberto Eco, Timely Matrimony by either Kasey Michaels (listed author on the book) or Fern Michaels (listed author at Amazon), Wife in Name Only by Carolyn Zane and Temporary Groom by either Jayne Addiction Addison (book) or Joan Johnston (Amazon). Yes, three trashy romance novels, but together they balance Foucault's Pendulum quite nicely.

Suzi Harper: Bride of the moment

Finding a man these days isn't easy. So when I found a nineteenth-century hunk on a storm-swept beach, I hung on to him! Not only was Harry Wilde single, but he needed a wife to help him survive the modern world. I just couldn't abandon dear Harry.

Harry Wilde: Groom for all time?

Time travel was quite a shock! Even more so was my impromptu marriage to Suzi Harper. The woman was impossible: she spoke without being bidden—and waltzed around so scantily clad! But my modern lady stole my heart. If only it wasn't my destiny to leave her …

Timely Matrimony

Hey, who'd a thunk—a trashy romance novel with a science fiction twist!


“Are we there yet?”

Several hours playing Gauntlet. Several hours playing 9-ball. Several hours of listening to the wind howl and rain beat against the immense skylight in the middle of Negiyo.

Yes, this is how I'm spending this hurricane vacation.

I'm saving the romance novels until things get real desperate.

Sunday, September 26, 2004

Well, that bit of nasty weather is over with

I was exhausted by the time I fell asleep around 1:00 in the morning. That was intentional, as I was sleeping on the floor in a conference room at Negiyo.

There's a reason (among many) that I don't do the camping thing, and that's sleeping on the hard ground (or floor). I don't find it all that comfortable. Especially since Negiyo is kept at near arctic conditions (I did prepare for this by wearing a leather jacket during the time I spent there yesterday and today).

I awoke around 9:30 to the noise of various people milling about outside and inside the conference room (ours was the one with the microwaves), but the good news was that Hurricane Jeanne had blown through and was now terrorizing northern Florida. I was still tired and wanted nothing more than to sleep in my own bed for another dozen hours. Spring suggested I go back to the Facility in the Middle of Nowhere and sleep while the rest stayed behind at Negiyo—she could manage the kids better there and they wouldn't disturb me sleeping.

Couldn't argue with that.

Driving back was interesting. Not much traffic, and half the traffic lights were out; no real pattern to them being out. I also have to navigate around downed trees across the road several times on the way home (one nearly blocking the whole road just outside the Facility in the Middle of Nowhere). But we had power here, which is good.

I slept for half a dozen hours then drove back to Negiyo to pick up the rest of the crew. No real damage to report other than more downed trees.

I did start one of the romance novels, and it's every bit of horrid writing you would expect. Amusingly bad in fact.

Monday, September 27, 2004

The evergrowing spam problem

While I was staying at Hotel Negiyo, I had the chance to talk with Rob, my old roommate—he's a sysadmin there at Negiyo. We chatted for a bit about the server compromises I experienced then drifted towards the new anti-spam measures he helped to implement at Negiyo.

Quite impressive actually. The router sitting in front of the email system is actually one of two that are synchronized; if one goes down the other can immediately take over without dropping an existing TCP connection. The network traffic then goes to one of several load balancers which send the traffic through one of fourty dedicated systems that do nothing but scan the email, looking for signs of spam. It's more of a filter, as these systems then send the traffic on towards the actual email server for actual delivery. As the email filters through the dedicated system(s), it makes a determination if the email is spam or not, and updates a database system with a yea/nay flag that the SMTP server can then query and deal with the spam as the customer would like.

The volume of email they handle just in Boca is staggering—Rob showed me the statistics for the previous day: 15 million pieces of email. Even more impressive (and depressing) is that out of 15 million pieces of email, more than 80% was classified as spam.

Eighty percent!

Out of 15 million emails delivered, over 12 million was nothing more than spam.

Talk about depressing.

Tuesday, September 28, 2004

Overly pendantic commands

I was called by R (guy I work for) to double check the email system since it looked like (to him) that it wasn't working at all and no emails were being sent (order confirmations, etc). I start checking, and from what I could tell, the email system was working fine. I placed a few test orders from a few sites and got the confirmation email. And from the mail logs, it looked like it was sent off to R as well.

But he wasn't getting them.

A few more tests while talking to R seemed to confirm that email sent to him from the server was being accepted by his ISP, but R was still not getting them. Which indicates to me that his ISP is filtering out spam and for whatever reason, email from this server was being flagged as spam and not delivered.

I then did the following on the server to check something out:

[root]rnm.miami:~>hostx -t mx XXXXXXXXXXXX
XXXXXXXXXXXX            MX      20 mail2.XXXXXXXXXXXX
 !!! XXXXXXXXXXXX MX host mail2.XXXXXXXXXXXX is not canonical
XXXXXXXXXXXX            MX      10 mail.XXXXXXXXXXXX
 !!! XXXXXXXXXXXX MX host mail.XXXXXXXXXXXX is not canonical

Hmmm … odd. Double check the zone file.

$TTL 3600
@	IN	SOA	ns1.XXXXXXXXXXXX. root.XXXXXXXXXXXX. (
			2004091801 ; Serial
			10800	; Refresh
			3600	; Retry
			3600000 ; Expire
			3600 )	; Minimum

	IN	NS	ns1
	IN	NS	ns2
	IN	NS	ns3
	IN	MX	10 mail
	IN	MX	20 mail2

mail	IN	A	XXX.XXX.XXX.XXX
mail2	IN	A	XXX.XXX.XXX.XXX
ns1	IN	A	XXX.XXX.XXX.XXX
ns2	IN	A	XXX.XXX.XXX.XXX
ns3	IN	A	XXX.XXX.XXX.XXX

Nothing out of the ordinary. The RRs for mail and mail2 aren't CNAMEs (which is a common mistake). They look fine to me, and running host on outside machines report back fine:

[root]linus:~>host -t mx XXXXXXXXXXXX
XXXXXXXXXXXX            MX      20 mail2.XXXXXXXXXXXX
XXXXXXXXXXXX            MX      10 mail.XXXXXXXXXXXX

A quick Google didn't reveal anything I already didn't know (most of the problems I found were CNAME errors). So, I started playing around with the zone file. Make a change, same error. Make another change, same error. It was only when I removed all references to mail and mail2 when I discovered the problem.

By then, I was doing hostx -G -S -C -A -L 1 zone (which verifies the entire zone) and getting back errors about mail and mail2. Which shouldn't be happening, as I had just removed all references to them in the zone file. There was only one other place where they were defined—/etc/hosts. Once I removed those entries from /etc/hosts, the problem went away:

[root]rnm.miami:~>hostx -t mx XXXXXXXXXXXX
XXXXXXXXXXXX            MX      20 mail2.XXXXXXXXXXXX
XXXXXXXXXXXX            MX      10 mail.XXXXXXXXXXXX

Talk about your overly pendantic host command.


We Americans and our silly love affair with the car

The fact is, public transportation is an absolute failure everywhere it has been tried except for cities which grew up around a public transportation network in the pre-automobile era. Public transportation—and I am second to none in my love for public transportation, and have a fabulous commute besides—is more expensive, both in money and environmental costs, than automobiles outside of New York, Boston, San Francisco, Philadelphia, and Chicago. That's right, I said it's more environmentally costly than giving every person on the train a car, because a train running empty consumes an enormous amount of energy.

In order to persuade people to live in a public transit zone, rather than an auto zone, the trains have to run frequently enough, and for a long enough period, for people to be able to base their lives around them. Those five cities (and I'm not sure about Philly) produce net energy gains only because they shift an enormous number of people during rush hour; enough to offset the inevitable losses during off peak periods, when the trains expend a tremendous amount of energy to move very few people. If your trains aren't jam packed for six hours a day during rush periods, you can never make up the losses.

Via Marginal Revolution, Jane Galt: This will drive the environmentalists crazy

Public transportation certainly fails here in Lower Sheol. We have one light rail system that runs north/south through three counties, which is great if you live say, within a mile or so of one of the stations. But the rail was first laid decades ago when the population was primarily living within a few miles of the coast (and back then, the rail was mostly used for bulk cargo and passenger trains from up north). Now, the bulk of the population has spread westward, meaning you have to use a car to drive to the station, or take other forms of public transportation to get to the rail system.

I've taken the bus. Three times since that was written; the third time was several years ago when a bunch of us decided to head on down to the Miami Metro Zoo. We took Tri-Rail, the light rail system mentioned above (and we all drove to the station, which says something right there) down to Metrorail (an elevated tail system in Miami) to the Metromover to Metrobus to the Miami Metro Zoo.

What would have taken us about 40 minutes by car turned into a three hour trek. Now, it wasn't a bad treck; nothing bad happened on the way down there, or the way back, and it certainly was nice not having to think about parking. But we did have to worry about missing one of four different modes of public transportation, and it did take a significantly longer time to reach our destination. And we probably spent as much money taking public transportation as it would have cost us in gas and parking fees, so it was mostly a wash except for the time.

Jane Galt also links to this interesting article from the New York Times:

Sprawl is scarring the American landscape. If by “landscape” you mean the pasture or forest near your home that has been paved, then sprawl does look like an abomination. Who wouldn't prefer to be surrounded by greenery, especially when you're not paying property taxes for it?

But if you look at the big picture, America is not paving paradise. More than 90 percent of the continental United States is still open space and farmland. The major change in land use in recent decades has been the gain of 70 million acres of wilderness—more than all the land currently occupied by cities, suburbs and exurbs, according to Peter Huber, author of Hard Green: Saving the Environment From the Environmentalists. Because agriculture has become so efficient, farmers have abandoned vast tracts of land that have reverted to nature, and rural areas have lost population as young people migrate to cities. You may not like the new homes being built for them at the edge of your town, but if preserving large ecosystems and wildlife habitat is your priority, better to concentrate people in the suburbs and exurbs rather than scatter them in the remote countryside.

Via Jane Galt, The Autonomist Manifesto (Or, How I Learned to Stop Worrying and Love the Road)

A long article, but worth reading. It mentions several novel ideas traffic engineers are working on to relieve congestion, including variable toll roads (where the toll varies by how much traffic is currently on it) to systems to help cars drive themselves down highways.

Wednesday, September 29, 2004

An uninvited guest

So I go into the kitchen to make dinner, and who do I see sitting on the counter?

[A relative of Kermit the Frog, although he looks more like Gollum

Fortunately, The Younger offered to escourt this uninvited guest out the door.

Monday, October 11, 2004

Medical breakthrough of the day

Scientists in California have found a way to “turn off” a gene that makes cancerous cells lethal. They eliminated aggressive, incurable liver tumours in laboratory mice in four weeks, they report in an advance paper in Nature today.

The study, based on a gene called Myc, could lead to new ways of treating cancer.

Via Vidicon, S cientists find way to 'turn off' cancer

This is incredible news and I wish the scientists luck in applying this to humans. My Mom died ten years ago of cancer and while this won't help her any, it may help those with cancer now, and possibly those of us in the future who may get it.


Medical scare of the day

And speaking of medical issues, The Older had a medical emergency today—being on the business end of a chisel and all that. He's fine now, but it was a busy day today, driving to and fro, hurrying up and waiting.

Tuesday, October 12, 2004

“Oh! You meant DUTTON, not DAYTON!”

I'm currently working on a website where one of the requirements is to obtain the latitude and longitude of the user. This was something I was dreading not from a programming perspective (since just asking for the latitude and longitude is dead simple) but from a user interface perspective (since from the user end, it's not quite so dead simple). It'd be nice if I could just ask the user for the city they're in, and get the latitude and longitude from that.

But where could I get that type of information?

From the US Census Bureau.

D'oh!

Granted, that still leaves me asking the rest of the world to locate their own latitude and longitude, but since this site is initially geared towards us Murkins I'm not that concerned about it yet.

Now it's a simple matter of getting the city and state from the user, then looking up the latitude and longitude of the city. Easy.

Until a user misspells a city. The easy thing (for me) would be to print an error like, “City Cininatee, OH not found—try again” and have the user try spelling Sinsinati Cininatee Cinsinati Cincinnati (there we go!) correctly (or give up and say they're in Bratenahl as it's easier to spell). The harder thing to do is figure out what they're trying to spell and use that.

Only it's not that much harder. I've used both Soundex and Metaphone in another project to correct misspellings and it seems easy enough to apply that here. Lookup the latitude and longitude with the city and state supplied. If not found, then filter the city through Soundex, and look up the correct spelling based on that. If that doesn't return a result (or too many results) then fall back to Metaphone.

Sounds good in theory.

Not so great in practice.

In setting up the appropriate datafiles, I went through the list of city latitude/longitude I picked up from the US Census Bureau and marked where Soundex and Metaphone clashed on multiple city names (each state is treated seperately, so I'm only concerned with clashes within a given state). There, I hit a problem:

conflict(soundex/AL): D500 = [DOTHAN] [DAYTON]
conflict(soundex/AL): D500 = [DUTTON] []
conflict(metaphone/AL): TTN = [DUTTON] [DAYTON]

Dothan, Dayton and Dutton (all in Alabama) have a Soundex code of D500. Falling back to Metaphone, Dutton and Dayton have a Metaphone code of TTN. So what to do here if a user types in “Daytun”?

I think the correct thing to do at this point would be to list the posibilities and have the user select the proper one. But this will necessitate a change in how I store the data.

It's not easy to create an easy to use interface. In fact, it's downright hard.

Wednesday, October 13, 2004

The Quick-n-Dirty Ad-Hoc Location Targetting System, on the cheap

I dropped support for Soundex in the project I'm working on. In going over the diagnostic output when importing the data, I found that Soundex had over 6,000 collisions, while Metaphone had less than a 1,000, and shorter collion chains (i.e. most Metaphone collisions have only two possibilities). It just wasn't worth the disk space to use Soundex at that point.

Then it was on to work doing a mock up on the web. The logic is pretty much:

if city exists in latlong.database
then
  fetch data from latlong.database using city
  print data
  exit
end

tag = metaphone(city)
if tag exists in metaphone.database
then
  fetch cities from metaphone.database using tag
  if count(cities) is 1
  then
    fetch data from latlong.database using cities
    print data
  else
    print "select one from the list:"
    for each city in cities
      print city
    end
  end
end
exit

The mockup is quite plain in appearance, but that can be easily changed as most of the output is template based anyway. And it only works for the United States.

Next up, code in time zone and Day Light Savings Daylight Saving Time information for each city.

Thursday, October 14, 2004

“Programmically dealing with time can lead to madness … ”

I quickly decided not to include Daylight Saving Time and timezone information for each city. In looking over what needs to be done, I realized that it's just way too much work for so little in return.

I'm not trying to handle the timezones automatically since ther's no clear-cut method to determine where a timezone is. While nominally the timezones are all 15 degrees apart, one just can't use that fact to determine the timezones since there are regional variations. For instance, Mountain (which is seven hours west of Greenwich) is located between 97°30′W and 112°′W and while it would be nice if one could say, “Yes, White Bird, Idaho, which is located at 116°17′56″ is in the Pacific Time Zone.” But you can't because White Bird is in Mountain, while 28 miles south is Riggins, at 116°18′53″ which is in the Pacific Time Zone (I think—according to my map, the time zone border runs just along the northern edge of Riggins).

It'd be a lot of work to work out which town is in which timezone for a given state if said state actually straddles two timezones (which looks to be about thirteen states).

Daylight Saving Time is a bit easier. Most of the United States follows DST and given that it starts on the last Sunday of April and ends on the last Sunday of October, it's easy enough to check.

But the following areas in the US do not follow DST: Hawaii, Indiana except for Jasper County, Lake County, LaPorte County, Newton County, Porter County (which are in Central Standard Time or Central Daylight Time depending upon the time of year), Dearborn County, Clark County, Floyd County and Harrison County (which are in Easter Standard Time or Easter Daylight Time), Arizona (with the exception of the Navajo Indian Reservation, given it spans three states), American Samoa, Guam, Puerto Rico and the Virgin Islands.

But the history of Daylight Saving Time is interesting and yet maddening (and yes, I do have to track Daylight Saving Time in the past unfortunately). Daylight Saving Time has not always been around although the idea was first presented by Benjamin Franklin. England was the first county to formally encode into law Daylight Saving Time (went into effect May 21, 1916) followed a few years later by the United States (into effect March 31, 1918), and over the following few decades went into and out of law several times. In researching this, I did create the following table of DST dates:

Daylight Saving Time throughout US History
Year(s) Start End Notes
Year(s) Start End Notes
1776–1917 US did not have DST at this time.
1918 Mar 31 Oct 31 Instituded by Woodrow Wilson for World War I.
1919 Mar 31 Oct 31
1920–1941 DST Repealed by US, with the exception of Massachusetts, Rhode Island, New York City, Philadelphia and Chicago
1942 Feb 9 Franklin Roosevelt signed into law “War Time” which put the US into Daylight Saving Time from Feb 9, 1942 until Sep 30, 1945.
1943
1944
1945 Sep 30
1946–1965 No US law at this time; states and municipalities were free to use DST as they saw fit.
1966–1973 last Sunday of April last Sunday of October
1974 Jan 6 Oct 31 Due to the OPEC crisis of 1973, Congress passed the DST Energy Act, which mandated a longer period for DST for the next two years
1975 Feb 23 Oct 31 The DST Energy Act was repealed and DST went back to the normal schedule
1976–1986 last Sunday of April last Sunday of October
1987-present first Sunday of April last Sunday of October In 1986, Regan signed into law a modification of the DST Act, moving the start of Daylight Saving to the first Sunday of April.

Determining whether a location observed DST in the past is not easy (unless you know from personal experience) so again, this is left to the user to indicate such information (although from 1987 onwards can be done through software).

Friday, October 15, 2004

Placeholder until I get them finished

The entries I had originally planned for today have been postponed until I finish writing them.

And if you thought the entry on Daylight Saving Time was geeky …

Update on Tuesday, October 19th, 2004

The entries are now up.

Saturday, October 16, 2004

A blisfull morning's sleep

At last, a full morning's rest. A change from the past two weeks as the renovation work on unoccupied units continues unabaited, and two of the units here in the Facility in the Middle of Nowhere are unoccupied, thus leading to a crew starting somewhere around 7:30 in the morning to drill, hammer, saw, tear, crash and otherwise not at all silently renovate said units.

The crew must have wondered off to some other unit to raze this morning, for which I am eternally grateful.

Sunday, October 17, 2004

Yet another blissful morning's sleep

Yet another morning of blissful sleep. Could this mean they are now finished with ripping out the guts of the other units here in the Facility in the Middle of Nowhere?

One can only hope so.

Monday, October 18, 2004

Medical scare of the day, redux

As I was going to sleep last night, I reflected on the turn of events last Monday and hoping that we could get through this Monday stitch-free.

I reflected too soon.

I got up to find the Facility in the Middle of Nowhere empty. No one else was around. Then my cell phone rang.

“Hello?”

“Yes, this is Wlofie,” said Wlofie. “Spring wanted me to call you to inform you that The Older's wound re-opened, so we're on the way to the hospital to get him restitched up.”

“I hope this won't become a re-occuring phenomenon (do doo be-do-do!).”

“I hope so too!”

So, until the stitches are out for good, The Older is now grounded from going outside, rough housing, or otherwise engaging in any activity with his brother that could cause his fingers to split wide open again.

Tuesday, October 19, 2004

Rambling about programming

The two major forms of programming, Procedural and Object Oriented, approach the problem of programming from opposite directions; those directions being a code centric view (“verb oriented” if you will) and a data type centric view (“noun oriented”).

Procedural, being the older of the two, is code centric, since that's the primary view of computers when they were first built—how do we get this expensive box of electronics to do something? Procedural is more concerned with the steps of solving a problem—step one, step two, step three. Actions. Verbs. When you have very few data types, it's easier to program the nouns to the verbs (if you will). That is, a program will tend to look like:

add(one,two)
	if one and two are ints, then do the add this way
	if one and two are floats, then do the add this way
	if one and two are strings, then do the add this way

sub(one,two)
	if one and two are ints, then do the sub this way
	if one and two are floats, then do the sub this way
	if one and two are strings, then it's an error, bub!

Adding a new verb is easy, given the limited number of nouns present. But, as the number of nouns (remember, in this rather twisted metaphore, a noun is a data type) increases in a program, this starts to get unwieldy, which leads us to—

Object Oriented, developed in the 70s and gained industry wide acceptance during the 80s, is a more data-type centric view of programming. If you have lots of data types, but relatively few verbs, it then becomes more convenient to program the verbs to the nouns, something like:

int(op)
	if op is add, do this
	if op is sub, do this

float(op)
	if op is add, do this
	if op is sub, do this

string(op)
	if op is add, do this
	if op is sub, then it's an error, bub!

Sure, there's still a sequence of steps done to do anything, but it's the nouns that do the work themselves (if you care to view it that way). You simply tell the datatype, “do this.” And if it can, it does.

But as the number of verbs increase, then this too become unwieldly which leads us to—

Nothing that I know of.

Granted, if the number of verbs is significantly large to the number of nouns, then a Procedural method works well, while the opposite, if the number of nouns is significantly large to the number of verbs, then Object Oriented is the way to go. But what if both nouns and verbs are significantly large? What if you have a hundred different data types and a hundred different actions that can be applied? (One hundred of each ever after you tried reducing the number of both?)

Either approach will lead to a mess.

And when will you even have a large number of nouns and verbs in a program?

Well, think of the Massively-Multiuser Online Role Playing Games, like EverQuest or Star Wars Galaxies. Thousands of objects, and possibly thousands of different actions. A player can walk, run, skip, jump, jog, crawl, skulk, stumble, dance, turn, parry, dodge, spin, thrust (thwack! ouch!). That's just movement, and I'm sure I'm leaving out plenty of other movement actions. They can also carry, throw, chuck, up-chuck, heave, shoot, fling, place and lay items.

Sure, you can cut the number of actions down by making some of them more abstract, like “use” an object (the “use” of an object like a camera being different than the “use” of an object like a key) but we humans are creative (or stupid, take your pick) and while you can't use a key to take a picture, you can attempt to use a camera to open a lock (although you may end up with a mangled camera and a still locked lock) and it would be nice if the program would allow us to attempt this (even if it is stupid).

It'd be nice if there was a way to manage both a large number of nouns and verbs within a program, but as of yet, there doesn't seem to be a way to do this.

But even with this limitation, I think one can still build programs with tons of objects with tons of actions.

Or it may end up being one large mess.

I'd be interesting to see.


The Wikimud

While sleeping last night [which was actually Thursday night/Friday morning—Sean] I had a rather odd thought pop through my head—a WikiMUD. I then spent some time pondering that and how one would go about implementing such a thing.

A what?

A WikiMUD.

It's applying the principles of a WikiWikiWeb with that of a MUD.

I can hear you blinking out there.

Okay, for those who might otherwise not know, a WikiWikiWeb (or “Wiki” for short) is a website where every page is editable by anyone. See a typo? Fix it. See a mispelling? Fix it. Don't agree with what you read? Add your two zorkmids. A very egalitarian approach to web content, and it can lead to some wonderful things.

A MUD, which stands for “Multi-User Dungeon” or “Multi-User Domain” (take your pick) is a multiplayer verion of a text adventure, where instead of you just walking through a twisty little maze of passages all alike, there are scores of people all waking through a twisty little maze of passages all alike. Just as Adventure was the single player forerunner of a MUD, a MUD (and there are still plenty around) was the forerunner of todays MMORPG, or “Massively-Multiuser Online Role Playing Game” like EverQuest or Star Wars Galaxies (these tend to be graphical in nature).

So, a WikiMUD is a MUD where anyone can edit anything and even change the nature of the game play as it's being played.

The WikiNature scares some people; not only can anyone edit anything, they can also delete anything. MUDs scare others; people (often college students) emersing themselves into a game 10, 12, 16 hours per day to the detriment of living in the real world (this has happened to friends of mine—the results are not pretty). A WikiMUD should therefore be downright horrifying!

Now, besides the potentially horrifying nature of a WikiMUD, how could one implement such a beast? Obviously there is going to be a programming language available, and some form of online editor so that on-the-fly changes can be made to the game. But the underlying implementation? The framework that can support such a thing? That's challenging.

In the few MUDs I've looked at, source code wise (and yes, I did toy with them briefly in college but I was more interested in writing a MUD, not in playing a MUD; I never did get around to writing one though) is usually structured around rooms, objects, monsters (or mobile-object, aka MOB) and players, which generally lend themselves to being written in a object-oriented manner, even if that ultimately may limit them.

Some thought on this lead me to a possible implementation. It may not be a good implementation, but it's more than nothing. And it allows great freedom to the users to extend the game in ways the game designer (or implementor) might not have thought otherwise.

Everything in a MUD can be broken down into two things: objects and actions. We'll go into actions later. An object can be something like a room, which may have a name, and have a list of items it has—an inventory if you will. Or an object can be something like a player, which may have a name, and have a list of items it has—an inventory if you will, and a location within the game map. Now, in a traditional object oriented design, one might then be tempted to make a person a subclass of room, but that doesn't really work here since a person ISnotA room, even if they share some commonality. It gets even worse if you want to include a bag-like object, which may have a name, and have a list of items it has—an inventory if you will, and a location, either a room or a person; a bag is a kind of portable room, but again, a bag ISnotA room.

[I'm making a rather bad pun in the previous paragraph. The ISA Principle of OOP states that a relationship between an object A, and a derived (or based off of) object B, is that object B ISA object A. What I'm saying here is that even though the implementation of object B is similar to (or the same as) object A, that does not mean that object B is derived, nor should it be derived, from object A.]

[I also suspect I'm loosing more and more of my readers at this point … ah well.]

So we have three objects so far, all of which are similar (name, inventory, a location in two of the three objects) but none of which really follow the ISA principle of OOP, although they certainly have plenty of HASA relationships between them all. And we haven't even gotten to monster objects yet. But each of these objects do have one thing in common—they all have some form of attribute. Be it a name, or a list if things it has, or its location, these are all attributes of the object.

[A HASA relationship between object A and object B, such that object B HASA object A, does not mean that object B is derived from object A, but that it uses or contains within its definition an instantiation (or “fully initialized and ready to use”) of object A. Sorry for the digression.]

So what, instead of having distinct objects we simply attach attributes to objects as we need them? You create (or “instantiate” in OOPspeak) an object. This object is … well … there is no real metaphore for what this object is, other than … an inherent object with … objectness to it. It is an object with which anything else can be created. It is the urObject in our WikiMUDian universe and is nothing until one attaches attributes to it.

Want a person? At a minimum, it's an object with a name and a location. Want a room? At a minimum, it's an object with things in it, and exits to other room-like objects. Want a bag? Again, just an object with things in it, and a possible location (even if that location happens to be a person object, or another bag object). A minimal WikiMUDian universe may look something like:

# this is a comment
# numbers represent object ids

object-id: 0
south: 1
inventory: 2

object-id: 1
inventory: 3
north: 0

object-id: 2
name: bag
location: 0

object-id: 3
name: Sean
location: 1

When I move (as object #3, “Sean”) north, the location attribute would change from a 1 to 0, and the inventory list of object 0 would change to now include object 3—me. When I pick up the bag, the bag's location would change from object 0 (a room) to object 3 (me) and I would then gain a new attribute, inventory, with the object-id of the bag.

Simplistic yes. Flexible yes. And it can certainly lead to very surreal things, where as it stands now, I can “pick up” room 0 and “drop it” in room 1. There really isn't anything built into the code to prevent such wierd occurances as this.

And I'm not sure if there should be. Yes, as people add objects and actions (which we'll get to) certain conventions will probably come out, and code added to prevent people from picking up rooms and dropping them here and there. But it certainly will allow someone to create, say, a dollhouse that can be carried about, but that also contain actual rooms that people can move about in, if they were so sized (which is just another attribute one can add, after all).

And speaking of picking up rooms … we need actions. We've already mentioned a few, such as creating an object (or “urObject” as the case may be), adding and modifying attributes, moving ourselves around, picking up bags and rooms. While we're at it, we might also want to remove attributes, destroy objects, and even copy objects (because you can never have too many bags, or zorkmids once someone gets around to creating one). Now, while I've been currently envisioning objects as being global (in the programming sense, which makes sense to me but explaining why it makes sense would take as long as a semester of Philosophy 101, which I'm not about to do here), actions on the other hand, can be global (available to be applied to all objects whether it makes sense or not) or local to just an object (and copying an object will copy those actions local to the object).

[In thinking this through, I may have inadvertantly reinvented SmallTalk.]

So, the action of going “north” would be applied to the player, and the code may look something like this:

(to north (target)
  (let room (object-by-id target/location))
  (if (object-by-id room/north)
    (
      (modify target/location (object-by-id room/north))
      (say target "You move north.")
      (say (allbut room target) target/name " moves away to the north.")
    )
    (
      (say target "You silly git!  There's no way to move north!")
      (say (allbut room target) target/name " stumbles into the north wall.")
    )
  )
)

[Yes, the code looks like Lisp. Since Greenspun's 10th Law of Programming states that any sufficiently complicated program will contain an ad-hoc, informally-specified, bug-ridden, slow implementation of half of CommonLisp, I thought I'd go ahead and cut to the chase—besides, it's dead simple to write a Lisp-like parser.]

And it would be a global action, available to all objects (or all players). An example of a localized action might be:

(to stick-head-in-bag (bag target)
  (modify target/description (+ target/description " Plus there's this "
		"rather large and unsightly bag over the person's head, for "
		"some unearthly reason."
  )
  (to target/see (target) (say target "You silly git!  You can't see!  You "
		"have a large and unsightly bag over your head!")
  )
)

Basically, we modify the description attribute of the target (in this case, the idiot putting the bag on their head) to indicate such, and also add a local action to the target—in this case the “see” action, to say to the player that they can't see because they have a bag over their head.

The attributes and actions I've described so far are not cast into stone—in fact, except for a few actions that manipulate objects and actions, there are no baked in commands. There are no baked in objects either (with the possible exception of a minimal, if even that, player object). Everything (and I mean everything) is up to the players. The rules (or lack thereof). The rooms. The genre.

Everything.

What are the implications of this?

Well, dup bugs (that allow the duplication of objects that shouldn't be duplicated) aren't a problem. Heck, duplication of objects is a feature; I find a zorkmid, it's easy enough for me to duplicate it a thousand times (“Look at me! I'm a counterfeiter!”). Heck, I could duplicate myself a thousand times if I wanted to. Sustaining an economy in such an environment is … interesting, to say the least.

Leveling? What's that? Oh, you're level 40? Well, let me just modify my level attribute to 70! No wait, 1,000! No, how about 50,000! Take that you puny 40th level … player … you. Here, let me throw this Ninja zorkmid at you! Oh wait! No throw action. Hold on … <hack> <hack> <hack> … there we go! Ninja zorkmid throwing action! Which leads to interesting combat when I can make anything a weapon that does a hundred points of damage. Or a thousand. Or a million. Or instant destruction.

The Ninja Dandelion of Instant and Utter Death, anyone?

Drat! Your Shield of Formica +1 blocks it!

If there's no leveling, nor any meaningful concept of an economy, and everyone can cheat by changing things they don't like (if you can call it cheating if the system allows it), then why would anyone actually want to play one?

Because of the creativity that would ensue. A certain class of people would play just to create experiences that others can enjoy, and another class of people would play just to experience those experiences. Over time, I'm sure, conventions will be developed over what is allowed and what isn't, but that still doesn't prevent someone from creating their own “world” within the WikiMUD universe. I can see people creating multiply different worlds within a single WikiMUD. Some open to all, some open by invite only, some good, most probably horribly bad (Sturgeon's Law: 90% of everything is crap). Much like what happened in Roger Williams' novel, The Metamorphosis of Prime Intellect (where a computer gains self-sentience and enough power to literally create worlds to anyone's design, although I don't see the WikiMUD actually gaining sentience).

I for one would love to see something like this—to see what people would do with such an open ended and extensible system where anyone can add to it. While I'm sure there are MUDs out there that allow people to extend them, I suspect the additions are mostly limited to rooms and maybe objects. To allow the editing of everything though …

Would definitely be interesting.

Thursday, October 21, 2004

Some more musings on the WikiMUD

Told you those posts were rather geeky.

The WikiMUD entry has garnered some attention (and quickly too! I'm surprised anyone reads this anymore). But it was wlofie who brought to my attention the concept known as a MUSH.

I was aware that there did exist some MUDs that allowed players to create rooms, but imagine my surprise when I found out that there exist MUDs (or a MUSH, as they're called) that allow for the creation of objects as well as actions (just proving that there really are no new ideas in this industry, just fresh approaches) although the creation is limited to a certain class of player and there appear to be some restrictions in what you can and can't have objects do (and in the MUSH I'm trying out, you can't copy yourself—how restrictive!).

In discussing how I envision the WikiMUD working, and how easy it would be for a player to make a nusance of themselves, wlofie asked, “How easy would it be for my to flood all the rooms with cyanide gas?”

I thought for a second. “It'd be easy enough to flood a room with cyanide gas. Just add the appropriate attribute to each player in the room, and add the action of gassing anyone else that comes in to the room. But to do the entire WikiMUD?” Thought for anothe second. “Just make an object that travels from room to room, adding cyanide gas to each as it passes through.”

“So I would have to do it manually?”

“Well, in a manner or speaking. Any rooms you create could be set to go off at the same time, but for rooms you didn't create, you would have to add that to each room.” And in looking over the MUSH stuff, while it looks like you could add cyanide gas to a room you created, you certainly couldn't to a room you didn't create, nor could you create an object that moves and add cyanide gas to each room it goes through.

We also discussed security, or rather the lack of security. Which explains why Wikis can work (one reason: there's no challenge to destroying a Wiki) but this is a game. There's a level of interaction in a WikiMUD that you don't get in a WikiWikiWeb, and thus more enjoyment out of flooding the place with virtual cyanide gas. But I think that the things that make a Wiki work (anyone can edit anything) might keep the level of maliciousness down. Yes, I can write an object that wanders around filling each room with permenent cyanide gas, until someone else hacks themselves to be immune, and hacks the cyanide adding object to remove cyanide (and hack any other cyanide adding objects to remove cyanide). Which, to tell the truth, sounds interesting!

And guess what? We now have Core Wars taken to another level (and this is just one unintended, but interesting, consequence of a WikiMUD).


“I'd buy that for a dollar!”

Since listing the tickets I've been contacted by quite a few people who think they're going to the same wedding. As it happens, 3 of you are and want to sell your tickets too. So this auction is now for 5 tickets to the wedding of a mate to a dog that we don't want to go to. Getting five of you into a wedding might be a bit of a gamble, so I'll keep the buy it now price the same, but you're now looking at at least £400 worth of free booze, good food. Even if you have to listen to her dad do karaoke, and watch her mum try to get off with the ushers.

Via Marginal Revolution, 2 invitations to a wedding I don't want to go to

And with a current bid of £413, proof that anything can be sold via eBay.

Hmmm … I wonder …

I wonder how several score of small, genuine imitation conflict-free diamonds, pre-mounted in cheap plastic easily adaptable mounting casing would go for? I'll include the plastic transparent case and magnifying lens visual amplification module in with the deal …

Friday, October 22, 2004

You mean there's a subtext in rock music?

Lately I've been retuning in to 88.5 WKPX, a radio station broadcast out of a local high school. It tends to have much better programming than commercial stations and absolutely no annoying car commercials. Then again, it has no commercials whatsoever, being publically funded. On the gripping hand, the PSAs do wear a bit thin, especially the ones done by the high school staff (editing people! Just tightening up the timings would do wonders!).

But hey, it's high school, and there is a wide variety of music.

So anyway, I tune into WKPX and I happend to catch the end of a “Classic Rock” show showcasing all the hits of the late 60s/70s. Brought me back to when I first heard “Hotel California” by the Eagles:

On a dark desert highway
Cool wind in my hair
Warm smell of colitas
Rising up through the air
Up ahead in the distance
I saw a shimmering light
My head grew heavy, and my sight grew dim
I had to stop for the night

As a kid, I wasn't aware of subtext, or the extended use of metaphore (you mean that the Vapors' Turning Japanese isn't about overt love of Nippon? Shocking!) that is commonly used in rock songs, so here I thought, for years that Hotel California was about, you know, a haunted hotel in California. It's a common thing in America, right? Why else would Hollywood make a movie about a haunted hotel?

There she stood in the doorway
I heard the mission bell
And I was thinking to myself
“This could be Heaven or this could be Hell.”
Then she lit up a candle
And she showed me the way
There were voices down the corridor
I thought I heard them say

As I slowly became aware of such double meanings behind words, it slowly sank into me that this song wasn't about a haunted hotel—no, when I thought about what the lyrics were implying, listening close whenever I happened to catch it on the radio (which wasn't hard as this, Stairway to Heaven, and Satisfaction was on constant rotate on the “Classic Rock” station here in Lower Sheol), I woke up and my naïve interpretation crumbled before me.

Her mind is Tiffany twisted
She's got the Mercedes bends
She's got a lot of pretty, pretty boys
That she calls friends
How they dance in the courtyard
Sweet summer sweat
Some dance to remember
Some dance to forget

Why … this is … this song … is about sex with a minor!

Mirrors on the ceiling
Pink champagne on ice
And she said
We are all just prisoners here
Of our own device

So now we have a temptress, living out her waning years at some Californian hotel, inviting in impressionable young men to keep her entertained, using them like himbos and discarding them, but only after making sure they're there of their own free will (for “plausible deniability” I'm sure of it—“Honest Officer! He said he was eighteen!”).

But in the years since, it has come to my attention that not even this interpretation is correct and that the subtext not spoken aloud yet clearly visible to anyone with an ounce of clue can see, is that it's about heroine addiction!

And in the master's chambers
They gathered for the feast
They stab it with their steely knives
But they just can't kill the beast
Last thing I remember
I was running for the door
I had to find the passage back to the place I was before
“Relax,” said the nightman
“We are programed to recieve
You can check out any time you like
But you can never leave!”

I still like the ghostly sex with a minor interpretation myself.

Although, what if one were to combine all three interpretations into a video of the song? A ghostly apparition of an older female heroine junkie that lures in young impressionable men to damn them for all eternity listening to a classic rock station playing nothing other than

Welcome to the Hotel California
Such a lovely place
Such a lovely place (background)
Such a lovely face
Plenty of room at the Hotel California
Any time of year
Any time of year (background)
You can find it here
You can find it here

Sunday, October 31, 2004

Happy Halloween!

The past week I've been sitting around not doing much other than fighting a cold and dreading the upcoming days. First the weekend (which is, for the most part, over) because of Halloween; kids hyped up on sugar and all that entails, and the oohs and ahhs of November 2nd turning to running and screaming on the 3rd and wondering what the October Surprise would be, and when it would be.

Imagine my surprise when it was Osama bin Laden throwing his endorsement to Kerry, and without the usual Islamic apocalyptic rhetoric he usually uses. And here I thought Bush would have announced his capture, not have him endorsing Kerry.

I've stopped looking at the polls—they change way too often and when the difference between the candidates is below the margin of error, then what's the point? Especially when the error margin can swing upto 100 electoral votes one way or the other.

Stop! Stop the polling! Stop! Stop. Stop hurting America. Just say, “We won't know until Nov. 3rd.” Heck, we don't really need to know until 12:01 pm, January 20th but enough of politics … it's also the day before National Novel Writing Month and sadly once again, I shall attempt a novel. Who knows, maybe one year I'll actually finish one.

Monday, November 01, 2004

“And how many words was that again?”

And thus it starts: National Novel Writing Month.

And at the end of the month there will be thousands of novels all filled with 50,000 horribly written words being inflicted on innocent friends and families.

So why the heck not do that myself?

I think last year I threatened that the following year, instead of a fiction novel of 50,000 words I'd do a novel of 50,000 fictional words. I just now doubled checked the rules, and lo, what do I see?

8) Write like crazy for thirty days. If you write 50,000 words of fiction by midnight, local time, November 30th, you will be added to our hallowed Winner's Page, and receive a handsome winner's certificate and web icon.

Ho w NaNoWriMo Works (in Ten Easy Steps) (empasis added)

So I guess 50,000 fictional words is legal … sweet!

Tuesday, November 02, 2004

President Noah Body

I have a multitude of feelings, and I'm not sure just where to start, so here's a list in no particular order:

Yup. I voted today. No line either, which given that I'm voting in Florida (and not only that, but one of the three trouble counties of Indecision 2000 to boot!) was rather strange. Got to use an electronic voting machine as there wasn't much of an option; I can only hope my vote is counted as I intended.

There is a section on electronic voting in Applied Cryptography (§6.5 in the first edition, which is what I have), where it lists five minimal characteristics of voting:

  1. Only authorized voters can vote.
  2. No one can vote more than once.
  3. No one can determine for whom anyone voted.
  4. No one can change anyone else's vote without being discovered.
  5. All voters can make sure that their vote has been taken into account in the final tabulation.

[I'm not sure if I agree with #5 (the selling of votes is a major concern for me). If it means I can see that my vote for Cthulhu was counted correctly, then I can collect my hundred zorkmids from Hastur, to whom I sold my vote. But if it means that all valid votes were counted for (out of X votes, Y were cast, and the results all add up to Y) then okay, I can see #5 being valid.]

With the algorithms being quite complicated in how they work, but it's much better than the joke systems Diebold has developed for use.

As I stood there in front of the machine (I'm not sure if it was a Diebold machine or not, but still, no paper trail) looking at the first page where we get to pick our poison of a President for the next four years, I wished we had a viable “None of the Above” choice such that if “Noah Body” won, the candidates in question are ineligable to run again for that particular race, and a whole new slate of candidates get selected to run in an emergency, quick, two week (or some other short time period) race. Then rationality gets a hold of me, and the spectre of Unintended Consequences and I think better of it.

Still, I'd like to send a message to these bozos from time to time.

Myself, I'm going to resist the tempation to even peek at the results until the 4th, when the Electoral Collage will rise from its hole, and if it sees its shadow, then six more weeks of vote counting and law suites.

I'm going for my shower now …

Wednesday, November 03, 2004

“Oooh! Ahhh! That's how it always starts. Then later there's running and screaming.”

The polls are closed. So any damage that Diebold may attempt to do is already done and I can remove the, for lack of a better term, anti-ads for Diebold.

It's also a refreshing change that Ohio will now face national ridicule over election absurtities rather than Florida. Especially fitting since Ohio is the homestate of Diebold, and Diebold's CEO is on record as saying he is “committed to helping Ohio deliver its electoral votes to the President next year.”

Ahem.

So anyway, we are now past the ohh and ahh stage, and are now in the running and screaming stage.

Welcome to the American Election, 21st century style …


An early Thanksgiving list

It's not quite Thanksgiving yet, but now that the election is over there are a few things, reguardless of who won, that we should all be thankful for:

Monday, November 08, 2004

Price shock

Every Monday for the past year or so it's been routine for me to do the weekly trip to Publix for our grocery needs. But this week, Spring has plans that require the use of the car on Monday (and Tuesday but that has nothing to do with this) so instead late last night (well, rather technically, very early this morning) we headed off to the local Wal★Mart Super Center to fulfill our weekly grocery needs.

Spring suggested it for two reasons—one, it's the only place open that late, and two, she wanted to see how the prices really compared.

I'm still in shock.

While I haven't figured out the total savings yet, I can state that we probably spent a third less, easily. I don't recall seeing anything at Wal★Mart that was more expensive than at Publix. Heck, I don't recall anything at Wal★Mart being the same price as at Publix.

Tuna? Publix was running about 80¢ per can (oil packed—water packed was more); Wal★Mart had them at 50¢ per (oil or water). Chicken? Publix: $1.18/pound (whole chickens); Wal★Mart: $0.67/pound (whole chicken, but granted, the one from Publix came with the giblets while the Wal★Mart did not have them). Huge jars of mustard for the price we paid for a rather large (but significanly smaller) squeeze bottle at Publix. Milk was a dollar less per gallon. The list goes on.

It was almost like shopping at Costco, but without having to join first.

Yes, I know … we're evil for shopping at Wal★Mart. I know that Wal★Mart strongarms its suppliers for such low prices. I know it drives out local Mom & Pop stores and ruins communities. I know that Publix is employeed own (and personally, I prefer to shop at Publix). I know that Publix is a Florida based company. But the prices! My God the prices!

On the other hand, Publix is nearby, about two miles away (remember, we do live at the Facility in the Middle of Nowhere) while the Wal★Mart Super Center is about seven miles away.

But the prices!

Sigh.

Tuesday, November 09, 2004

If it's not English, of course it must be foreign

HFPA president Lorenzo Soria said of the “Passion” decision, “Yes, we know Aramaic is not a spoken language and, yes, we know the film doesn't have a country of origin. But our bylaws state that when a film is in a language that is preponderantly non-English, it's a foreign-language film. We looked at our bylaws and we looked at the movie, and the match is there.”

The Academy of Motion Picture Arts & Sciences did not consider “Passion” for its foreign-language race, because the Acad asks countries to submit films that feature one of the country's principal languages. In their view, “Passion,” in Latin and Aramaic, does not represent the work of any single country.

Via The Duff Wire, Globes say no Moore

Now, granted, the Oscars and the Globes are American awards so it's understandable why they may slight the foreign movie market but The Passion of the Christ isn't a foreign film! It's an American film!

Okay, it's made by the Australian Mel Gibson (who oddly enough, was born in Peekskill, New York), but he's mainstream Hollywood, and he financed the film himself and got it disitributed when no other studio would touch it—a very American thing to do. But just because the dialog is in a dead language (or two dead languages) it's a foreign film? Or not, because no foreigners speak the language(s) anymore.

What's up with that?

I doubt George Lucas would get this treatment if he did the next Star Wars film in an entirely made up language (I personally think that would be cool), which must makes this all the more silly.


How to succeed in business without really trying

I started a new job yesterday doing technical support for a small colocation facility in Boca Raton (a friend of mine owns the company). He needed someone that could jump in and do technical support and since a) I can do this from home, b) it involves email and a web-based trouble ticket system and more importantly c) no phones I figured why not? A low pressure job from home is perfect for my temperment. It's not quite like my other job taking care of some other servers, which is mostly doing a whole bunch of nothing with a few days of sheer terror thrown in, but still, it's easy enough and it brings in some money. And C (the friend and owner of the colocation facility) knows I already know most of the technical issues that can come up, given that I've worked in a web design/web hosting company, two ISPs, and a colocation facility. The only issues I have with the job was having enough access to fix problems, and access to information about the customers.

Then I got tossed a curve ball—I called C to ask about some support issues (as I'm still coming up to speed) when I was given some good news and some bad news.

The bad news?

I don't think I'll be able to work entirely from home anymore.

The good news?

Second day on the job I was promoted.

To system administrator.

I'm not sure if this is a general system administrator position, or a senior system administrator position but two days on the job and I'm already on my way up the ladder (How to succeed in business without really trying! Woot!) and I'll find out more when I go to the office tomorrow (if I'm the only sys admin there, then it's a senior system administrator position).

I'll sure miss working from home though.

Wednesday, November 10, 2004

The Office

It was the most depressing cubicle I've even been assigned to (sorry C, but it is depressing). The last cubicle I had wasn't nearly so depressing (actually, cubicles, as I was moved about five times in a single year).

But not that was my last job though. At my last job, I didn't even have the indignity of a cube; nope, I had to share a desk with another cow-orker (much like Sam Lowry did in Brazil)—then again, the last job was at Negiyo, which I suspect was where it was filmed).

To make matters worse, I have to deal with the phone.

This is not good.

I was banned from talking to customers at two ISPs and a webhosting company (the department I worked at in Negiyo never talked directly to customers so that was never an issue there). I wasn't banned because I was mean to customers, or excessively used the phones for personal use. No, I was banned because I was too truthful to the customer.

“I'm sorry,” I would say. “But I just don't know how to configure Novel's SMTP server to talk to our server.” Or “Windows? That's that … thing … from Washington, right?” Or even “Yup, the President of the company attempted to add an external SCSI drive to the system live.” And then my boss would scurry up yelling “Never tell the customer you don't know!” Or “Are you insane? You don't tell the customer I screwed up!”

And I would end up being banned from talking to customers.

Which really isn't a bad thing really.

But C knows all this. Yet here I am, expected to deal with the phone.

Sigh.

Thursday, November 11, 2004

Of course the bank is closed!

Whoa! Who made today a holiday? It's bad enough with banks and their bankers' hours …


I ain't got no password. You ain't got no password. They ain't got no password? Where the heck's the password?

Yesterday I was given the previous sysadmin's computer, running Windows XP Professional. Well, I'm given to understand that there are some support issues that require the use of Windows (cough frontpage cough) and it's not like this is new to me; so instead of using X-Windows to prop open a dozen xterms I use Windows to prop open a dozen putty.exes.

So when I sat down to use M's (the previous sysadmin) former computer she was already logged in. I did briefly think about changing her password just prior to leaving yesterday, but not knowing how to actually go about changing the password, I figured I could leave it until today. I'll just leave myself logged in and everything should be okay. Right?

Right?

You do see where this is going, right?

Today, I sat down in front of the computer, and right there was the Windows XP login window, asking me for M's password.

Sigh.

And none of the adminstrative passwords I've been given over the past few days worked. C couldn't even log in.

As I left the office tonight (the cubicle isn't nearly as depressive looking now that I've cleaned it up—now it has this Zen emptiness going for it) the XP installation CD was reformatting the harddrive (a different one—M's machine had important files on it and an XP reinstall is always destructive it seems—also, note to self: check to see if the cover is already off a computer before blindly removing screws out the back).

I've also learned the depths of my loathing of web-based adminstration. Of course you [the web-based administration program] couldn't create a sub-site—this computer doesn't have DNS on it you XXXXXXX piece of XXXX! Now create the sub-site! Aaaaaaaaarrrrrrgggggllll!

Fortunely, I didn't have to deal with the phone all that much today.


Reason #2.71828182845904523536 I hate PHP

So for my other job, I was requested to upgrade PHP from 4.3.8 to 4.3.9 because of a non-functioning script on one of the websites (in and of itself, never a good sign). So I pull it down, configure, make, make install and other stuff to get it into Apache, get an executable built, move it into place, start it up, and everything looks good so far … request http://www.example.net/server_info to make sure PHP is in there and … nothing.

Web server is running.

No page.

Any, and all requests are dying.

This is not good.

Check the log file and find:

[Sun Oct 10 02:09:49 2004] [notice] child pid 22113 exit signal Segmentation fault (11)

Put the old executable into place and start tracking down the problem.

Well, long story short, the “solution” to this “problem” involved deleting the existing PHP configuration (and associated files—the one installed for PHP 4.3.8) and installing the PHP configuration for PHP 4.3.9.

Okay, PHP 3x to PHP 4x, I could understand.

I might even forgive breakage from 4.x to 4.y.

But breakage from 4.3.8 to 4.3.9?

Truely, PHP is the scripting language du jour.

Friday, November 12, 2004

All is almost right with the (working) world

Windows XP has been reinstalled on my computer, I figured out how to create that sub-site and the cubicle still has that neat Zen like emptiness to it.

Only now I have to figure out why this module of an open source commerce site isn't working, and of course it's written in PHP


100,000 digits of e

In case you were wondering about the title to my little PHP rant the other day, it's e, the mathematical constant dealing with natural logarithms, out to 20 decimal places. I felt that was a good place to break it as any.

I got the value from a program I wrote, oh, it looks to be around 1995 or so, and was based upon a program written by Steve Wozniak for the Apple ][ computer, and documented in a Byte Magazine article from December 1980 (I think—the copy of the article is buried somewhere around here, but the timeframe is close enough to track down the article if you are truely interested). Written in 6502 Assembly and it calculated e out to 100,000 digits (no more since there was no more memory in the Apple ][ to hold the result). By following the article and the 6502 Assembly code, I was able to rewrite it in C.

Now, when Steve Wozniak first wrote it, it took the Apple ][ a week to calculate the result—a modern machine (okay, a 1.6GHz AMD Athalon) took only 2½ minutes to calculate e to 100,000 digits (the output give the amount of memory used, the number of digits produced (and in this case, 50,000 bytes gives 120,412 digits) and the magnitude of the result and the resultant number itself, but without the leading 2).

Amazing the speed advances that 24 years can bring.

As for how the program works, you'll have to dig up the article and find out; I don't recall the math behind it anymore.

Saturday, November 13, 2004

Reason #3.1415926 I hate PHP

Continuing with the PHP woes, this time it seemed that PHP wasn't tracking session data. I started to look into this given the minimal script that was provided to prove the problem.

Yup, looked like it wasn't keeping track of the session. Taking a look at the code:

<?php
session_register("yword");
session_register("se");

if (!$yword){
   $wordtext = "Sorry i can't get the session";
}
else
   $wordtext = $yword;
   
if (!$se){
   $setext = "No";
}
else
   $setext = $se;
?>

Started reading the documentation for the session_register() function:

bool session_register ( mixed name [, mixed …])

session_register() accepts a variable number of arguments, any of which can be either a string holding the name of a variable or an array consisting of variable names or other arrays. For each name, session_register() registers the global variable with that name in the current session.

Caution

If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.

register_globals: important note: Since PHP 4.2.0, the default value for the PHP directive register_globals is off. The PHP community encourages all to not rely on this directive but instead use other means, such as the super globals.

PHP: session_register

Not only are they using the wrong function for what they want, but even if it did work, you're not really supposed to use that function anymore, because, you know, it's obsolete (I mean, that's so PHP 4.1.2).

Language du jour I'm telling you! How can anyone use a language with such drastic changes from year to year (or even day to day)? I'm not even going to mention variable variables (it's not that variables in PHP aren't variable enough, it's that this is the PHP way to doing pointers in a langauge that doesn't support pointers but I said I wouldn't mention it, so I won't).

Anyway, the solution to the problem above was to change the code so it looked like:

<?php
$yword = $_SESSION['yword'];
$se    = $_SESSION['se'];
...

And all was right with the world.

Well … almost.

They're still using PHP, which makes using Perl seem almost logical …

Monday, November 15, 2004

Reason #1.414213562 I hate PHP

Work was there. But then again, I was in my cubicle with that neat Zen-like emptiness to it.

Today's PHP problem I don't think was necessarily a PHP problem as it was a lack of documentation about installation. One of the clients uses OSCommerce, an open-source shopping cart management system and one of the modules “supposedly installed” was EasyPopulate, which allows one to populate the product database on the webserver from a spreadsheet. The customer used it once before, but that was then.

This is now.

Try as I might, I could not get the module to load. It was there, written in PHP, on the server, nestled among all the other PHP modules making up the shopping cart. Only it would not run.

Or rather, the shopping cart software would refuse to run it.

Or something like that.

It took me the better part of an hour (using Google) to find anything close to installation notes, for a slightly different version (“let me tell you about slightly different versions … ”) and it wasn't terribly surprising when those instructions didn't work.

Another hour or so was wasted trying to locate the module to download any version; old, new, borrowed, blue, anything.

I will say that the OSCommerce site looks good, but actually finding anything useful? Like … oh … the software? It's a sad state of affairs when one realizes that one downloaded what they were looking for by mistake (I was trying to download OSCommerce itself, thinking the module was one of those that used to be third party but had become part of the main distribution—I thought I downloaded OSCommerce but instead I had downloaded the latest version of the Easy Populate module). Yes, the site is that bad.

Now, the installation of the module. The module itself came with no installation guide, I guess on the assumption that you have the OSCommerce guide and that tells you how to install modules, cause the Good Lord knows that what I thought was the module installation module wasn't installing modules. I ended up having to go through the source code to the module, finding out why it was refusing to run and found the answer—because the module wasn't listed in one of the database tables that OSCommerce uses.

Some sixy SQL statments later (one to see what was in that particular table, one that I botched so badly that it basically wiped out that particular table, and fifty-eight to restore the table and add the new module) it was added and would now run.

Not correctly mind you, but it would run.

Some more hacking on the module (“no, the product database doesn't have those fields, so forget about them!”) and I think it works.

I hope.


This is not a keyboard

Now, About that keyboard …

I'm picky about keyboards. The only keyboard I use are IBM keyboards. Specifically the IBM AT or PS/2 keyboards. Nothing matches the feel of the IBM AT keyboard; not even the PS/2 keyboard (although it comes very close). But those are quite rare, and the lack of a separate bunch of editing keys is a bit bothersome to me (as I'm used to the inverted-T layout of the arrow keys). PS/2 keyboards are easier to come by and with the exception of the CapsLock key being where the Control key should be (were God intended it on keyboards used by programmers) it's just as good as the IBM AT keyboard (oh, you can also rearrange the keycaps on the PS/2; good for practical jokes).

And both are, as far as I can tell, indestructable.

But I don't have one of those at work. I have … this.

This is not a keyboard. Oh sure, it may look like a keyboard, and it may even marginally function like a keyboard. But it is not a keyboard. This is a weak imitation of a keyboard. This wouldn't even survive my using it to hit a luser, much less survive me pounding the hell out of it in frustration of using Windows. This is a joke of a keyboard.

And that's my judgement on just the feel of the keyboard.

I also have problems with those … extra … buttons that adorn the top edge of the keyboard. The function keys? They don't work. Not unless you hit that small “F” key on the far left edge, which supposedly toggle between the use of the function keys as function keys, and the use of the function keys as some random controls for some bits of software somewhere. And that small ovoidal key above the small “F” key? That's the “User” key, which, curious about, I hit.

Immediately the screen shut off, shortly followed by my screaming out in alarm that this “User” key was in fact, a stealth Big Red Switch. Turns out it just locked (as in keyboard lock, not crash locked) my Windows session and blanked the screen. Intuitive use of the “User” key that. Now I'm paranoid about pressing any of the other “buttons” on that keyboard.

I'm seriously considering bringing in my own keyboard. I did that for my last two jobs; I don't see why this one should be any different.


Grass is always greener on the other side of the roof

The offices where I work are on the second floor. Below is the view outside the window of the conference room.

[Grass is always greener on the other side of the roof]

Why yes, there is grass growing on the roof. Why do you ask?


Your friendly neighborhood Big Brother

With 3,600 stores in the United States and roughly 100 million customers walking through the doors each week, Wal-Mart has access to information about a broad slice of America - from individual Social Security and driver's license numbers to geographic proclivities for Mallomars, or lipsticks, or jugs of antifreeze. The data are gathered item by item at the checkout aisle, then recorded, mapped and updated by store, by state, by region.

By its own count, Wal-Mart has 460 terabytes of data stored on Teradata mainframes, made by NCR, at its Bentonville headquarters. To put that in perspective, the Internet has less than half as much data, according to experts.

Via The Diff Wire, What Wal-Mart Knows About Customers' Habits

Like last week, this week again I went shopping at Wal★Mart. I was talked into shopping there for a few weeks just to get a feel for how much money we won't spend there, as apposed to Publix. Yes, we're evil for doing it, and articles like the above don't make it any easier to do.

It's also amazing the amount of data they have, and how they can pour through it. Privacy and Big Brother issues aside, it is fascinating that they are able to data mine that much data. Who would have thought that Pop-Tarts and beer are big sellers prior to hurricanes? And how do you come up with the queries to find out such information?

But least you think that all that data Wal★Mart has can only be used for evil:

STILL, as Wal-Mart recently discovered, there can be such a thing as too much information. Six women brought a sex-discrimination lawsuit against the company in 2001 that was broadened this year to a class of about 1.6 million current and former female employees. Lawyers for the women have said that Wal-Mart has the ability to use its human-resources database to calculate back pay for the plaintiffs as well as to determine whether women were fairly promoted and paid. The judge hearing the case, which is pending in a federal court in San Francisco, has agreed.

The database is unusually detail-rich, said Joseph Sellers, a lawyer for the plaintiffs. “They've put into their work force database the information that bears on virtually every facet of compensation,” he said. “They have performance reviews, along with seniority, the time spent with the company, which store they worked in. So you can compare people working in the same store, to measure whether men and women are paid differently.”

Via The Diff Wire, What Wal-Mart Knows About Customers' Habits


Talk about ironic advertising

I'm sure this is completely unintentional, but I found it hilarious.

Update very early Tuesday morning at 1:27 am, November 16th, 2004

Wlofie: “Yes, that is funny.”

Jessica: “Yeah, there's something funny about it. The fourth figure, doesn't fit. A scuba diver in the sky maybe?”

Spring: “It would have been funnier if it was the CIA. But not the Navy.”

Sigh. So much for attempting to point out the ironic placement of a Navy ad in a page about 1984 (and Big Brother).

Tuesday, November 16, 2004

My Lunch with Windows

I don't know how anyone can actually use Microsoft Windows. Yesterday and today I log in and Microsoft Windows XP Professional has thrown up speech balloons telling me that there are important updates to Windows that I need to install now and oh, why don't I get a Microsoft Passport to use with Microsoft Messenger and while you're at it, want to make Internet Explorer your default browser, because I've noticed that it's some heretical browser and we can't have that, now can we?

Shut the XXXX up.

No, I do not want a Microsoft Passport.

Sure, muck with the system files as you update, if that will shut you up.

And you can stick Internet Explorer were the sun don't shine.

If it weren't for a single rare support issue (cough FrontPage cough) I wouldn't have Microsoft Windows XP Profession (or any Windows version for that matter) on this system.

But no, I fear I must have this daily dialog with Microsoft Windows XP Profession as computers excel at repetative drudgery.

Sigh.


Keyboard Dundee

That's not a keyboard. That's a keyboard.”

Wednesday, November 17, 2004

A fifeen part review of a 6,000 page comic

I'm a Cerebus fan. Have been since 1990 when my friend Sean Williams first lent me Swords of Cerebus. What started out as a cross between “Conan the Barbarian” and “Howard the Duck” soon turned into a sprawling religeous/political satire (that story wise I feel peaked during High Society and Church & State I) and was the longest running independent comic (at first, just Dave Sim, then starting with Church & State, backgrounds by Gehard). It is now over, having finished issue #300 with Cerebus (the main character) dying unloved, unmourned and alone (his fate as stated sometime around Church & State II).

So it's with great pleasure that I am reading 15 part review of the entire Cerebus story arc (see sidebar links to individual parts). Long, yes, but then again, Cerebus was a long story spanning 27 years of monthly comics.

When reading the review, be aware that around part IX the author tackles the problem of Dave Sim possibly loosing his mind. Well, Dave Sim may have lost his mind earlier, but in issue #186 he presents some very strong opinions on women that are actually part of the Cerebus story line, and pissed off a lot of people (and makes me wonder if he lost his mind).

Did I mention strong opinions?

That might be a bit of an understatement, and the reviewer is simply relaying Dave's thoughts, not his, so just be aware (and yes, the entire print run of Cerebus runs to 6,000 pages).

Thursday, November 18, 2004

Philosophical conumdrum found on a bag of microwavable popcorn

Instructions on the cellophane wrapper around a bag of microwavable popcorn:

[none listed]

Instructions on the bag of microwavable popcorn once the cellophane wrapper has been removed:

1. REMOVE OVERWRAP.

The philosophical question this brings to mind:

What the XXXX were they thinking when they printed this?

Friday, November 19, 2004

Calls from the Help(less) desk

[insert long and loud primal scream here]

[It's so long and loud you have to wonder how I am capable of sustaining it for so long with passin—

—oh sorry, I passed out there for a second.]

I just received a call from a gentleman who wishes to host his site with us. Dispite the fact that I am not in sales (and therefore have no real idea what we charge or even what we offer) and since he's not our customer yet (so I'm not supposed to answer technical questions) I was still on the phone for over half an hour with him, answering both sales like questions (“Well yes, you could get a dedicated server if you want”) and technical questions (“No no no, SQL is a database query language, MySQL is an implementation of SQL, like Oracle is an implementation of SQL”) and critiquing his site (“Well, the links are images so that increases the download time, especially to dial-up users”).

Aaaaaaaaaaaaaaaaaaaaaaah!

HELP I hastily wrote to my fellow cow-orker.

Get name & number and have C call them, my fellow cow-orker wrote back.

Took another fifteen minutes to get him off the phone.

It's not that the questions where stupid (well, frankly, they were; some didn't even make sense) but that the gentleman had no concept of how database driven sites work (and I suspect, he has no idea how websites work, or even how computers work, but then again, I'm applying my knowledge of how computers work against his knowledge and there's just no comparison—much like his knowledge of commercial real estate doesn't compare to mine). It's frustrating trying to explain the difference between SQL and MySQL and that no, SQL and ASP are not the same thing, much less compatible, but that you can embed SQL within ASP (and you are either going “Of course!” or “What is this gibberish?”—sigh) while at the same time trying to get him off the phone without seeming rude and potentially loosing a sale (since without customers, there is no job—sucks but that's “Reality 101” as Dad would say).

Thankfully, this gentleman was no JL (a customer I had to deal with a few years ago where the Company slapped a restraining order on him to keep him away from the office. JL was truely a customer that had (literally) forgotten to take his medication. It got so bad I was willing to pay to have him fired as a customer).

Okay, I'm feeling better now.

Monday, November 22, 2004

nervous dizzy sleepless

Nervous. Dizzy. Sleepless.

Those were the words I read on the bottle of generic Tussin cough syrup. Under a heading of “Stop taking and consult a doctor if …”

Sleepless … check. I had taken a doze of cough syrup the night before, having a cough. Followed the recommended dosage, then attempted to go to sleep. Usually one is warned not to operate heavy machinery (such as a screw driver or ball-point pen) since the typical side affect is sleepiness. But try as I might, I could not get to sleep last night. My mind was racing, faster than a five year old on a sugar rush, but even less of an attention span. “Oooh! Shin—oooh! Shin—Whoah! Shi—Wow!” I could keep my eyes closed, but I wasn't sleeping.

Nervous … well, not emotionally, but physically? My legs had this nervous energy and they wouldn't stop moving. Now, it wasn't like they were uncontrollable twitchings and yes, I could keep them from moving, but they felt as if they wanted to scale Mount Everrest. And then K2 as a light dessert. They had this excess energy that I had to burn off somehow, seeing how Mounts Everrest and K2 were half a world away.

Dizziness … not sure. I didn't get out of bed (despite the protesting thrashings of my legs) since I didn't feel like getting out of bed so it's hard to say if I would have been dizzy or not. Although I might have been dizzy giving the tossing and turning I was doing for oh, five or six hours easy.

So I'm looking at the bottle this morning, going “check, not sure, check” and realizing that I may want to avoid the cough syrup in the future. But in doing some research for this entry, I come across this bit:

Limit caffeine (for example, tea, coffee, cola) and chocolate intake. Use with this medicine may cause nervousness, shakiness, rapid heartbeats, and anxiety

Well, that explains it.

Sucks that I'll have to give up on caffeine … um … wait a second …

Sucks that I'll have to live with this cough …


“Yes, you are the only one who understands this stuff … ”

“There is … broken image,” she said. Granted, English is not her first language.

“I'm not seeing any broken images,” I said. Not only did we move her site to a new server, but it has a new domain name. Lots of breakage because of this insipid control panel software we're using to administer the servers and you have to do things its way. Yes, you can kind-of work around it at the command line (as I have) but admitting that (shhh) breaks the warentee on using the control panel and of course things like database names are based off the domain name. Lot's of breakage today, but the database issue was resolved earlier, and that's not the current problem. The current problem is a still broken image. The previous broken images were due to permissions problems (which is odd, given that rsync preserves permissions, at least in my experience it has, but hey, something could have gone wrong in moving the site from the old server to the new one) but that was fixed.

“But … see there … to the right the [mumble]?”

“I don't see any missing images,” I said.

“To the left right … I mean upper right corner, the [mumble]?”

“The what?”

“Bride.”

Ah, the bride. In the upper right corner. “I'm seeing that image.”

“Yes … below that … broken image.”

Oh wait … the page is just a tad wider than my window. I scroll right, and yes indeed, there is an image. “Oh,” I said. “There it is.”

“Yes.”

“Okay,” I say, now more talking to myself, “properties … ”

“Properties?”

This is now our fifth or sixth conversation today. And it has come painfully clear to me that this person does not understand websites, which I might be able to live with.

But she's not a realtor trying to understand this web … thingy … stuff … a-ma-bob; she's a resellor of websites. Who barely understands how this stuff works.

“Oh, I'm must mumbling to myself,” I said, dreading that I might have to explain my web browser will display the properties of an image from a webpage. I continue probing. Okay, the broken image is top-new.jpg. I then start looking through the server, cursing under my breath because of cut-n-paste, which works differently between Windows and X-Windows. To make matter worse, putty, the terminal program I use under Windows, handles cut-n-paste not as Windows, but as X-Windows. Makes me wish I was hiking Mount Everest; at least then my only concern would be hypothermia.

Eventually, I'm able to track down the problem. “The webpage is referencing top dash new dot jay peg,” I said. “The file on the server is actually called top dash menu dash new dot jay peg.”

“So the file didn't copy?”

“No, it did. It's just that the name of the file doesn't match in the webpage.”

“Thought you said you copied files?”

“I did,” I said. “It's there—”

“But it's not showing up.”

Am I the only one that understands this stuff? “It's a typo—”

“So I'll have my people look into it,” she says.

“Okay,” I said, not convinced she even knows what I said.

I'm dreading the next phone call …


Control panels

I am not a fan of control panels.

Oh, I can understand why C is using them; there's no mucking around with configuration files, and it's easier to train someone to use administrate a system using this click-n-drool interface than it is to use the command line (“What's that?”). But—and it may be the control panel software we're using—it's restrictive. Way restrictive.

How restrictive?

Here's the configuration of one of our webservers, as given by the control panel:

ServerName server.example.net
Port 80
SSL Port 443
ServerAdmin root@server.example.net
StartServers 8
MaxClients 150
HostnameLookups on

That's it.

Simple, huh?

You might not realize we're using Apache 2.0 given the simplicity of the configuration file. Oh, and if you want to edit the configuration? Those fields above? They're the only ones you can change through the control panel.

And what does the website administrator see as the configuration?

ServerName www.example.com
ServerAdmin admin@example.com
DocumentRoot /website/html

Good thing Apache supports user level configuration files.

Granted, most sites won't have a configuration beyond this basic setup. But heaven help you if you want something a bit more complex. Or (for whatever reason) don't (or can't) do what you want through the user level configuration files.

And that's just the configuration of the webserver using the control panel.

For instance, a simple operation of renaming a domain. Under the command line, you may need to rename a directory (for instance, this site is stored under a directory called boston.conman.org, change a few lines in the Apache configuration file and update DNS. Under this control panel we have? Looks like you have to create a whole new account, then have the user (who will have a new userid because … well … that's the way it's done) upload the site (and unless he has a copy of it himself, he'll have to download a copy from the old site). Then, once everything is changed over (oh, he has a database too—he'll need to recreate that as well) then we can go in a remove the old site.

Yup, that's certainly better.

Or you could muck around the server on the command line and copy the files that way, but I've been there, done that, still having support issues because of the way the control panel works (and my trying not to break things too badly by using the command line).

Okay, I'll stop griping now.

Thursday, November 25, 2004

Gobble gobble

Michael Duff pretty much sums up how I feel this day. Nothing much else to write about—the past few days at work have been very quiet this holiday week. And we've just finished stuffing ourselves with Thanksgiving dinner (sans turkey—Spring doesn't care for it, I'm ambivilent, and this is new for wlofie anyway, so we had a large ham instead—mmmmmmmmm).

Happy Thanksgiving!

Friday, November 26, 2004

Put those pesky kids to work

Learning can be fun. Most games teach kids useless information and ignore important life skills. Junior Craps Table is fun, educational, and it pays for itself quickly …

Junior Craps Table

Yes, I guess it would pay for itself quickly as the neighborhood kids go into hock. And yes, it does teach a valuable lesson when they get kneecapped for nonpayment of gambling debts.

Gotta teach that lesson early on in life.

How Do I Get Started? It's easy! With our introductory DVD, titled Rolling in Dough, your whole family will really enjoy this light-hearted introduction to Craps and the process of running a low- profile business in your neighborhood.

Junior Craps Table

Gotta love satire.

Saturday, November 27, 2004

Machines coughing

  1. Nov 27 * new_account@turtle (1047) Your mail password
  2. Nov 27 * webmaster@email.co (1047) Faulty_mail delivery
  3. Nov 27 * webmaster@hotmail. (1059) invalid mail <SMTP:8650>
  4. Nov 27 * Error_Mail@wimborn (1051) Mail delivery_failed <6580>
  5. Nov 27 * smooth_criminal_00 (1039) Details
  6. Nov 27 * hostmaster@hotmail (1043) Confirmation
  7. Nov 27 * shaikin_fati@hotma (1041) Oh God it's
  8. Nov 27 * Auto-Mailer@valves (1053) Re: Faulty_mail delivery <Esmtp:5394>
  9. Nov 27 * nasimaqsa@hotmail. (1030) Details
  10. Nov 27 * Error_Mail@winzyra (1052) Re: Mail delivery_failed
  11. Nov 27 * info@mailcity.com (1043) Mail Error <SMTP:3234>
  12. Nov 27 * new_account@talk21 (1045) Re: Registration confirmation
  13. Nov 27 * Error_Mail@barking (1049) FwD: illegal signs in your mail
  14. Nov 27 * notifications@grou (1034) Oh God it's
  15. Nov 27 * info@hotmail.com (1051) Re: Mail delivery_failed <7339>
  16. Nov 27 * user_info@xtzyra.c (1046) Your Password <KEY:4924>
  17. Nov 27 * info@hotmail.com (1053) Faulty_mail delivery
  18. Nov 27 * lubsss@hotmail.com (1034) FwD: Details

Yup. Spam.

Well, more like viral spam, as it's the same box, over and over, trying to deliver a virus. The IP address it's coming from is 82.38.57.25, which belongs to blueyonder, an ISP based out of Surrey, England.

While I could ban the IP that would only stop perhaps 40% of it, as most of it is coming in via the backup email host for my domain and I don't have the access to block IP addresses there. I did a look up on the IP address (which is how I found out who owns it) and got this:

Contact info for 82.38.57.25---emphasis added
inetnum: 82.38.0.0 - 82.38.255.255
netname: TELEWEST-HSD_1-BRADFORD
descr: Telewest HSD Platform
country: GB
admin-c: TWIP3-RIPE
tech-c: TWIP1-RIPE
status: ASSIGNED PA
mnt-by: AS5462-MNT
mnt-lower: AS5462-MNT
mnt-routes: AS5462-MNT
notify: ripe@telewest.net
notify: capacity@telewest.co.uk
remarks: report abuse to abuse@blueyonder.co.uk
remarks: All reports via other channels will be ignored.
changed: ripe-admin@blueyonder.co.uk 20030313
source: RIPE

As you can see, all abuse issues need to be mailed to abuse@blueyonder.co.uk, which I did:

From: Sean Conner <sean@conman.org>
Subject: Infected machine trying to infect my machine
To: abuse@blueyonder.co.uk
Date: Thu, 25 Nov 2004 14:52:55 -0500 (EST)

To whom it may concern:

A machine with the IP address of 82.38.57.25 is continuously sending me infected files, 12 alone today, and about 20 yesterday (when I first noticed). I'm not concerned terribly much about getting infected (since I run Linux, not Windows) but it is clogging up my email, and no telling how many other systems it's trying to infect. Please deal with this as soon as possible.

Thank you.

Sean Conner.

[email sent to me attached]

And as you can see, that was two days ago.

And they're still coming in.

So much for reporting abuse issues.

Today, I went to their broadband support page, and put in a trouble ticket. Maybe then they'll take a look into this.

Update on Tuesday, November 30th, 2004

Still going on …

Update on Wednesday, December 8th, 2004

Some more updates …


The IDE Divide

The developer world is divided into two camps. Language mavens wax rhapsodic about the power of higher-level programming— first-class functions, staged programming, AOP, MOPs, and reflection. Tool mavens are skilled at the use of integrated build and debug tools, integrated documentation, code completion, refactoring, and code comprehension. Language mavens tend to use a text editor such as emacs or vim these editors are more likely to work for new languages. Tool mavens tend to use IDEs such as Visual Studio, Eclipse, or IntelliJ, that integrate a variety of development tools.

Via Lambda the Ultimate, Oliver Steele: The IDE Divide

I can't stand IDEs. Understandable when you consider that I grew up without them, and the first IDE I did use, Turbo Pascal 3 (around 1987), was so painful because the editor sucked compared to what I was used to (IBM's PE v1.0, written in 1982, which should give you an idea of just how bad I considered the editor under Turbo Pascal 3). Then moving to the Amiga and Unix, where IDEs wheren't really available (unless one wanted to use the monstronsity that is emacs) and well … IDEs are just alien to my way of working (if you thought I was picky about keyboards, I'm just as stubborn about text editors).

So, according to the above article, I don't know if that makes me a Language maven since for me, it's not necessarily about the language, but what editor I can use (and if I can turn off the annoying tendency for syntax highlighting that is all the rage now).

Perhaps I'm an anti-Tool maven more than I'm a Language maven.

Or perhaps I'm reading into this article more than I should.

Tuesday, November 30, 2004

I guess …

I'm still getting spammed from 82.38.57.25 so I guess my trouble ticket was all for naught as well. It's seems like Blue Yonder doesn't care that one of its customers is spamming the world. I guess Blue Yonder ignores abuse complaints. I guess Blue Yonder doesn't know how to fix the problem. I guess Blue Yonder doesn't care to fix the problem. I guess Blue Yonder doesn't care about Google.

Update on Wednesday, December 8th, 2004

Some more updates …

Wednesday, Debtember 01, 2004

Conferencing conference calls

It's been over a year, and we're still not quite there with the “virtual gaming table” that Bob wants.

After several months we've given up on sound—the ability for us to talk over the Internet using our voices rather than text. It was a painful lesson to learn, and yet there's still a person or two that wants to keep trying.

But the technology isn't there yet.

This is how we're currently setup—the image shows the private networks (red areas) and their connections (green areas) to the Internet (blue area) with the lines widths representing the relative connection speed (hence the thickest connections are local networks; the DSL connections are thinner and the thinnest connection being Lorie stuck out on a 56k dialup through AOL). And assuming we're trying to use “voice” instead of the gaming specific chat software we usually use. And assuming that NAT issues (dealing with the translation of network traffice between the “private” networks and the “public” Internet) aren't an issue (and they are since most, if not all, VoIP type protocols assume both sides are on “public” networks) and assuming that the VoIP on each user's computer sends a copy to everybody else in the “conference call” then it works like this: Fritz says something, and his computer then has to copy it out to eight other players, five copies of which are headed towards Bob's house (the big red area on the right). And what if Lorie, on her 56k dialup says something? Her connection is suddenly swamped sending out all that data.

And heaven help Bob's network if everybody at the table starts talking.

Things are only marginally better if there's a central server handling the messages. Sure, then everybody's computer only sends a single stream to the central server, which then streams copies out to everybody, but that still leaves five streams headed towards Bob's house.

Today I was taking with Dan, the network engineer here at the office, and he mentioned Asterisk, an open source PBX. Put one Asterisk server out on the internet, another one at Bob's house. Those not at Bob's do a “conference call” to the server on the Internet; those at Bob's house do a “conference call” to the server at his house, and possibly with some hacking, have the two Asterisk servers pass the “conference call” data between them.

It might be possible, but, and this is a big one, but, it's more possible that we can do this on a stupid network than if we waited for this functionality from the “intelligent phone network” (“We're the phone company, we don't have to care!”).

Thursday, Debtember 02, 2004

anger hate rage

Blood pressure rising.

During the hack attacks, I lost my CVS repository (through my own stupidity). I didn't loose the source code, since I hade the latest version here. But my CVS repository was on swift, emphasis on “was.” So I had to start over again.

Only I apparently didn't do it right, and now I'm in the not-so-envious position of having two CVS repositories that can't be reconciled with each other, or with the current copies of my source code. The only resort I have left is to delete every XXX XXXXXX XXXXXXX repository I have and start over from scratch.

anger hate rage

So now I have to find the CVS book to figure out how to re-create my repository. Only I can't find it.

anger hate rage

It is impossible to find anything here at the Facility in the Middle of Nowhere. And it's been that way ever since day one.

I'm lost in my own home. Nothing stays where I put it. It vanishes. Gone. And then there are the piles of stuff that build up everywhere. It makes for finding stuff even more difficult.

I never had this problem back in Condo Conner. Sure, piles of stuff would accumulate there too, but nothing migrated. It was all my stuff. I didn't have to contend with other people's stuff.

So I'm now down to literally throwing stuff off the desk and across the Computer Room, swearing up a storm because of all this stuff that's accumulated on the desk over the past few months.

anger hate rage

The book ends up in a stack of books on the other side of the room, only it's so slim it wasn't visible.

This is not exactly how I wanted to spend the evening.

Friday, Debtember 03, 2004

better

I'm feeling better.

Saturday, Debtember 04, 2004

Building character

I've been working on mod_blog for the past few days. Bob, who runs the Friday D&D game, has a site that used to use Blogger but due to reliability problems (as well as certain security issues related to FTP) I switched them over to mod_blog.

It's installed, but the input portion is … shall we say … less than user friendly. Frankly, it suits my needs, and it suited the needs for Mark (back when he had a blog) and a variation of it suits Spring, but that's because the three of us know HTML and aren't intimidated by it. But most of the other players don't know, or don't care, to type their entries with HTML so I've been adding code to allow them to input plain text and have it converted to HTML.

It seems like it would be straightforward, but it isn't. Like I said, I'm confortable with HTML and the input side of things reflected that comfort. The first problem was adding a text-based (for lack of a better term) plug-in. The second (and more annoying) problem is the utter horror that are Buffers.

In my CGI library (which I've been developing for easily seven years) I have a concept of a “buffer,” which is 1) horribly misnamed—it's not so much a “buffer” as it is a “stream”—either a stream of input or a stream of output and 2) is so buggy as to be nearly useless. The problem stems from my attempts to support both “read” and “write” methods on a given buffer (did I mention it's really a stream and not a buffer?) and that's why they're so buggy as to be nearly useless. There's only this vauge notion of reading and writing and detecting the end of the stream. I've been having to go in kludging up fixes for the various buffer modules I have, allowing me to write to a buffer, then backup and start reading from said buffer. And 3) what the XXXX was I thinking when I created LineBuffers? They shouldn't exist, period. I think.

Anyway, it's not pretty, and the fixes are rather ad-hoc and I have to “know” which type of buffer I'm dealing with and what I can and can't do with it. Which defeats the purpose of abstracting things behind a “buffer” in the first place.

And then there's the third problem. This is a doozy and it affects nearly every other blogging software out there as well. It's the “copy-n-paste” problem (the linked article explains why a certain page appears corrupted, but it ultimately stemmed from a copy-n-paste operation). What exactly is the “copy-n-paste” problem?

It stems from character encodings and the lack of character encoding information when you copy-n-paste text between applications that have different ideas of what character encoding it is expecting. For instance, viewing a Microsoft Word document using the character set WINDOWS-1252, and copy that into a website that might be expected ISO-8859-1, UTF-8 or even US-ASCII (like who ever would use US-ASCII? Sheesh!). You know what you can expect?

Γªρßåγ€

It really bugs me when I see stuff like “sensorâ€and” on a page.

I could try to use the ACCEPT-CHARSET attribute of the <FORM> tag in HTML 4.01, but really, that's just a “hint” to the browser on what to send—it doesn't actually have to pay attention to that at all. To get around that little problem I'm playing around with GNU's libiconv (a large library to convert from one character encoding scheme to another) in an attempt to prevent this problem. You input the text, then I scan it, attempting to classify what character encoding scheme is in use (and right now it only detects US-ASCII, ISO-8859-1, WINDOWS-1252 and UTF-8) then converts whatever it finds into Unicode (specifically UCS-4) then back to US-ASCII, using HTML numeric entities for anything outside of US-ASCII.

All that, just to support easy text entry into a blog, without having it look like crap in case someone decides to copy-n-paste from some other application.

And that's why adding a text plug-in isn't that straight forward.

Update early Sunday morning, December 5th, 2004

Some more details.

Sunday, Debtember 05, 2004

Building more character

It's even worse than I expected.

Or funnier, depending upon your viewpoint.

I'm follwing Sam Ruby's advice on Iñtërnâtiônàlizætiøn and testing what comes through as I copy-n- paste.

I'm using FireFox verion 1.0 under Linux for testing; I've yet to use Microsoft's Internet Explorer (which should prove to be dreadful and amusing at the same time).

So I'm copy-n-pasting the following from my last entry:

Γªρßåγ€

It really bugs me

Building character

And what I get back is:

text is WINDOWS-1252

00000000: 0D 0A 26 23 39 31 35 3B AA 26 23 39 36 31 3B DF ..Γ.ρ.
00000010: E5 26 23 39 34 37 3B 80 0D 0A 0D 0A 49 74 20 72 .γ.....It r
00000020: 65 61 6C 6C 79 20 62 75 67 73 20 6D 65          eally bugs me

&#915;ª&#961;ßå&#947;€

It really bugs me

What the XXXX?

Not only is Firefox, under Linux, sending input to the test form as WINDOWS-1252 but it's also sending me HTML entities in numeric form! They're the correct numeric entities for the characters in question, but … what the XXXX?

To say I wasn't expecting this is a bit of an understatement.

Well, back to hacking.


Yet more character building

Back from hacking.

And it's been an interesting session. Learned quite a bit, and picked up some new tricks as well.

I'm doing some testing when I copy-n-pasted the following:

sensor—and? How did that happen?  Let's look at the O'Reilly source from which Cory copy and pasted:

The phone has become a platform, moving beyond mere voice to smart mobile sensor—and back to phone again, by way of voice-over-IP.

Sam Ruby: Copy and Paste

The program I wrote would classify the text as UTF-8, then iconv() would return an error. I rewrote the conversion routine so that when it failed (iconv() would return where it failed doing the conversion) I would re-classify the remaining text and continue.

Doing that, the text fragment above would be first tagged as UTF- 8, then WINDOWS-1252 and displayed it correctly:

sensor—and? How did that happen? Let's look at the O'Reilly source from which Cory copy and pasted:

The phone has become a platform, moving beyond mere voice to smart mobile sensor—and back to phone again, by way of voice-over-IP.

But if I copied the text twice, it would still be tagged as first UTF-8 then WINDOWS-1252, but the second copy would be incorrect:

sensor—and? How did that happen? Let's look at the O'Reilly source from which Cory copy and pasted:

The phone has become a platform, moving beyond mere voice to smart mobile sensor—and back to phone again, by way of voice-over-IP.

sensor—and? How did that happen? Let's look at the O'Reilly source from which Cory copy and pasted:

The phone has become a platform, moving beyond mere voice to smart mobile sensor—and back to phone again, by way of voice-over-IP.

Not really sure how to handle that (“garbage in, garbage out” and all that) but it's a lot better than things were before. All that was left was to add some more code to allow plain text or HTML formatted text and a preview mode; I put it online so those of you who are curious can play around with it.

The trick I learned (an epiphany if you will): I added the following to the code:

volatile int g_debug = 1;

while(g_debug)
  ;

That will cause the program to just sit there, doing vast amounts of nothing really fast. The reason for such a weird thing is that debugging a CGI program (and yes, this is written in C—don't ask) is not easy (I used to go through quite a bit of rigamarole to simulate the webserver environment so I could use a debugger). This trick allows the webserver to run the program (which will just sit there) and then I can then use gdb to attach to the running process to debug it (once in, I set my breakpoint, then do set g_debug=0 and resume execution of the program—wish I knew about this eight years ago).

Another amusing thing I learned—that the “/” character in Firefox will bring up a search box. It's not a bad thing, until you try typing a “/” in a <TEXTAREA> field. Then it gets right down annoying.

Now to take what I have and integrate it.

Monday, Debtember 06, 2004

&amp;amp;amp; … or something like that …

I made some more tweaks to the demo program; it now supports a “mixed” mode—you can type in HTML tags, but the system will add <P> tags if you leave a blank line between paragraphs (in fact, it was only five lines of C code—easier than I thought).

There's still one bug and it has to deal with HTML entity encoding (and mostly with populating the <TEXTAREA> with the text that was submitted). Type “&amp;” (which is the HTML entity for a lone “&”) then submit the data. The <TEXTAREA> will come back with a lone “&” where you typed “&amp;” before. Basically, to display “&amp;” you need to display “&amp;amp;” (and to display that I had to type “&amp;amp;amp;”—I think I got the right number of “amp;s”).

Ow—my brain hurts (and if the above is incorrect, I'm not bothering to fix it—which goes to show you how nasty this little problem is).

Oh, the demo program—it also supports a few shortcuts, like “---” (three dashes in a row) will be converted to “—” (the em-dash, and the code that processes entries for this blog will do the same, so check the source if you want to see how I got around that—geeze, this sef-referential stuff will kill me!) and “...” (three periods) will be converted to “…” (elipsis—it's own character); some short-cuts like that (and these shortcuts happen in any of the modes by the way).

Okay, I'm going to lie down now.

Update on Wednesday, April 13th, 2022

The demo program has long since been deleted. This entry can be safely ignored.

Tuesday, Debtember 07, 2004

Control panels redux

Have I mentioned how much I hate control panels? Oh, I guess I have.

A simple operation. Changing the IP address of a site. Make a one, maybe two line change to the DNS zone file, a one, maybe two line change to the Apache configuration file, restart both (and maybe add the IP address to the machine, another file and a command). Ten minutes, and that's if I'm taking my time.

With the control panel C uses?

You can't!

The control panel has two “plans” for websites, a name-based plan, where the website shares the IP address with all the other sites on the server, and an IP-based plan, where the site has its own IP address. The IP-based plan allows you to change the IP address of the site. Except to the IP address of the box. If you try, you get:

And once a site is set to an IP-based plan, you can't switch to a named-based plan. Nor can you switch from a name-based plan to an IP-based plan. “Once created, a name-based domain cannot be changed to an IP-based domain.” (emphasis added)

Oh, you still want to change it anyway?

You'll have to create a new domain. It can't have the name as the old domain, unless you delete it first. And it doesn't matter if you try to create the domain on a different server—you still have to delete the existing website if you want to use the same name.

Lovely.

Sure, the control panel makes it easy to do the typical things you do, create a website, with users, and manage email accounts and FTP accounts, as long as you don't mind doing things its way. Once you start straying from the proscribed course of things (such as earlier today, I had to create a user account with restricted FTP access—it's possible, but not through the control panel) things become difficult, if not outright impossible, quickly.

The inability of this XXXXXXX control panel software to change the IP address of a site is just mind bloggling to me. And this is not like this is the first time, or the second time, this has come up—no, this is like the third or fourth time this has come up since I've started.

Did I mention I hate control panels?

Wednesday, Debtember 08, 2004

Control panels redux redux

I may have been a bit too quick on the draw yesterday.

It seems that the previous sysadmin had started to move the site I was trying to move but didn't finish it. And the initial move was to the server I was trying to move it to, so of course the control panel software complained.

Yes, I should have looked first, but I didn't.

And I still hate control panels.


Blackhole network

Blue Yonder has either ignored me and doesn't care, or the system that keeps spamming me is so infected with virii that nothing short of cutting the network cable will stop it.

Their spam via my backup MX host has stopped, as Rob (previous roommate and sysadmin of my backup MX host) has blocked the IP address 82.38.57.25, so now I'm blocking that address on my primary MX host.

The only thing I have to decide is if I want to “reject” the packets (which sends back notification that a connection isn't wanted) or “deny” (which silently drops the packets with nary a word as to why causing the sending side to keep trying and trying … )

Decisions … decisions …

[I ended up doing a “deny,” in the hopes of tying up the box and keeping it busy doing nothing.]

Thursday, Debtember 09, 2004

They're leaving on a jet plane

It is quiet here at the Facility in the Middle of Nowhere.

It is quiet here at the Facility in the Middle of Nowhere because The Kids are not here.

The Kids are not here because they are currently in Colorado with their father.

They are currently in Colorado with their father for the rest of the month.

For the rest of the month, it will be quiet here at the Facility in the Middle of Nowhere.

Ahhhh … blessed quiet.

Friday, Debtember 10, 2004

Didn't know it was today …

Happy Nobel Prize Day!


Confectioner or fasion designer?

I have my doubts this this remake (via Ceej's black book) of Willy Wonka and the Chocolate Factory. Johnny Depp is no Gene Wilder and if anything, is … freakier than Wilder's portrayal of the reclusive confectioner; more androgenous—more wacked out fasion designer if you will. The movie also has this wierd Clockwork Orange vibe to it, not in the “ol' ultra-violent in-out in-out” manner, but set-wise, the future as seen through a 60s sensibility (guess that means Charlie will hanging out with his droogs at the milk chocolate bar).

And now I'm earwormed with the music from the preview! Aaaaaaaaaaah! Make it stop!

Saturday, Debtember 11, 2004

Conservation of cats

The Prodigal Cat returns!

About a week, week and a half ago, Spodie, Spring's cat, decided to take yet another walk-about (he took a week long walk-about sometime last year) and we were getting rather concerned about his absence.

But guess who shows up today, looking much thinner?

Spodie O'Dodie.

Whereas Spodie doesn't need to loose any weight (he didn't need to loose any before leaving, and now he could stand to gain a pound or two) Tula, our other resident cat, has enough poundage on her to spare a few towards Spodie. It's like we have some form of conservation of cats going on here.

Sunday, Debtember 12, 2004

How to cheat at art

Even a pencil can “cheat”. In fact, the idea for this lecture was partly inspired by Paul Spooner, an artist who only half jokingly accused me of cheating while watching me draw a cartoon. I start with a pencil, scrubbing about, gradually deciding where the lines should be, what looks right. (I never went to art school, I'm an engineer by training, and I can only draw in this one style which evolved over 14 years doing a weekly cartoon strip for the Observer (called The Rudiments of Wisdom) so I remain a sort of primitive. Eventually I go over the lines I like with a pen, and finally rub out the pencil. Paul had previously admired my drawings, assuming I had some unerring ability to get my pen in the right place every time—but this use of the pencil was “cheating”, it was almost copying, not drawing.

Historically, though, artists have done much more cheating than simply using pencils. The renaissance artists were so keen to make their paintings look “real” they used all sorts of tricks. Realising that medieval paintings had rather strange perspectives, they drew elaborate geometrical constructions to make sure they got it right. But they went further, inventing a whole series of grids, screens and sights to “improve” their work. I had been drawing for several years before I found myself holding out my thumb at arms length to compare the relative sizes of things—a simple version of these renaissance drawing aids which I had assumed was simply an artists pose, but it's actually very useful.

HOW TO CHEAT AT ART

Now I don't feel so bad about cheating on my Drawing I final.

Well, it felt like cheating to me. But I went ahead with it anyway.

It was December of 1989, and for our final in Drawing I (at FAU) we had to do a self-portrait. Our first assignment in Drawing I was a self-portrait and I suppose this was to show us how much (or little) we had progressed during the semester. And like our first assignment, our final was a “take-home” test—one that we had to do at home, to turn in before date such-n-such. And time was running out.

Of course it was the night before it was due before I even started. All my life I've been one to procrastinate (although oddly enough, I never procrastinate procrastinating—go figure) and now was no different. Knowing me, I might have even waited until midnight—the day it was due to start.

With a very hard deadline staring me in the face, I started looking for the quickest, easiest thing I could do that could still be considered “drawing a self-portrait.” It was then I saw the copy machine in my closet.

Yes, I had a copy machine in my closet. No, I am not going to explain why I had a copy machine in my closet (doesn't everybody have a copy machine in their closet?) but the fact was, I had one. I also saw the homemade light table (plywood box with a glass top and lightbulb inside used for animation and tracing—doesn't everbody have one of those in their closet?) when inspiration (or was it despiration) hit.

Within the later chapters of Drawing on the Right Side of the Brain (one of our textbooks for the class) was a technique of drawing where you shaded (using graphite) the entire paper, then used an eraser to “draw” the picture. The technique lent itself very much to a “photo-copyesque” look.

Copy machine. Light table. I also had the means to produce the vast amount of graphite powder to shade the drawing paper. And enough erasers to get through this scheme of mine.

So. Photocopy my hand (sorry, I wasn't about to photocopy anything more risqué). Generate copious amounts of graphite. Smear graphite over drawing paper. Tape photocopy and graphite covered paper to the light table. Grab eraser and start to erase “draw.”

All in all, it was probably two hours worth of work (even with the light table, it was hard enough to see through a graphite smeared paper, and mostly black black-n-white photocopy) to get a “drawing” of a photocopy of my hand.

Which is why it felt so much like cheating; but I never said anything. I had a grade to get.

And grade I did. Got an “A” on the final.

A few weeks later, I had the drawing framed (a cheap frame, but still, framed) and took it into my office (at the time, at IBM). About two weeks later, my picture was gone!

Someone stole my art from IBM!

The cynical side of me says that someone stole the image to get the frame, but then again … how often is it that someone can claim their artwork (no matter how it was made) was stolen?

Monday, Debtember 13, 2004

It may be illegal to protect your own network

A road less traveled

On July 31, 2001, I began the development of what would eventually become LaBrea. The road that was traveled to its current incarnation is well documented, because it was traveled quite publicly and with the help, encouragement, and feedback of many people.

On February 18, 2003, I released the current stable version of LaBrea (version 2.4). By that time, I had begun work on “the next big thing,” although I still get questions about LaBrea daily.

On April 15, 2003, it was brought to my attention that distributing LaBrea from this site may place me in violation of Illinois Compiled Statutes 720 ILCS 5 (Criminal Offenses / Criminal Code of 1961), specifically, Section 16-18 through 16-21.

The “Super DMCA” vs. LaBrea

This section of the Illinois Criminal Code was added on January 1, 2003 by Public Act 92-728 and defines an “unlawful communication device” as “any communication device which is capable of … facilitating the disruption… of a communication service without the express consent or express authorization of the communication service provider …”

Hackbusters

It's a shame really. The concept of a network tarpit is wonderful— basically a computer that accepts network connections and puts it on hold (for the technically inclined, it accepts a TCP connection, then only sends out “keep-alive” responses), indefinitely, which is useful in trapping network scans, exploits and virii. Dan (the network engineer I work with) and I were talking about them today and I was surprised he never heard of LeBrea. He was enthusiastic about the concept, and so am I (but never really had a chance to play around with it alas).

But this … gah! In-bloody-sane. It may be illegal to protect your own network—never mind that NATing may be illegal depending on how you read these laws.

Sigh.

Tuesday, Debtember 14, 2004

As if …

We're looking around for a new place to live and since today was a relatively slow day at the office, I decided to poke around the Detroit area just to see how economically depressed it was. I grew up in the area and it was more curiousity than a real desire to live there that made me poke around the Realtor.com site (especially since it seems half the city seems abandoned).

City: Detoit, 3 or more bedrooms, single family homes, no rental units, show me what you got.

A 2,522 square foot home, 4 bedrooms, 2½ bathrooms, for $2,000.

In Grosse Pointe.

Grosse Pointe, which is the South Hamptons of the Detroit area.

I had to double check to make sure I had not selected rental units.

I didn't.

So I'm looking at a 2,522 square foot home, in Grosse Pointe, for $2,000. An “estimated” $9 per month, according to the Realtor.com site.

I knew Detroit was an economically depressed area, but I didn't expect it to be that economically depressed.

As if that wasn't bad enough, the next listing was for a seven thousand square foot home for $2,500. Sure, the taxes for this house run an approximated $8,000 a year, but hey, that's less than $700 per month, which is almost half of what we pay to live here in the Facility in the Middle of Nowhere.

Needless to say, I was having a hard time wrapping my brain around this. The realtor must have dropped a few zeros when listing the price. Must have!

I then started poking around the listing for the cheaper, 2,522 square foot home when I found the punch line: it's a lease! It's probably $2,000 per month to live in the house, not $2,000 and here's the title.

Okay, that's a bit more reasonable then.

At least I can stop thinking about the house now …

Wednesday, Debtember 15, 2004

Server Room Lights

[Blinkenlights 1] [Blinkenlights 2] [Blinkenlights 3] [Blinkenlights 4] [Blinkenlights 5] [Blinkenlights 6] [Blinkenlights 7] [Blinkenlights 8] [Blinkenlights 9] [Blinkenlights 10] [Blinkenlights 11] [Blinkenlights 12]

Thursday, Debtember 16, 2004

For Your Information

This entry intentionally left blank.

Sunday, Debtember 19, 2004

My first auction

Last month I wondered how well a score of small, genuine imitation conflict-free diamonds would do in an eBay auction. Well, I put them up for auction (just the diamonds, not the transparent case and visual amplification module). But not at eBay.

At a site called Jittery.

I'm participating in the BlogPoint iPod Give-away, where:

BlogPoint iPod Give-away

So I signed up with this blog, I'm displaying the BlogPoint (and intend to for at least through mid-January), this blog is more than one month old (it's … oh … um … five years old at this point), this is the only blog I'm entering into the Give-away, I'm a member of Jittery and over 18, and I am a US citizen.

Well see how this goes …

The Jittery site itself seems interesting, not only allowing one to sell items, but to put up ads for items you want to buy. Neat twist—now I can scan the site to see what people want that I might have, thus avoiding the hassle of listing the item(s).

Me, I'm just hoping to get an iPod out of this …

Monday, Debtember 20, 2004

Yeah, they're that bad

Spring picked up the Sunday paper on, well, Sunday and the first thing I snagged was the Sunday Comics.

I shouldn't have bothered.

Thankfully it wasn't my money this time.

Even Berkeley Breathed's new comic strip, Opus, was … eh (the first three panels were funny, then it went downhill fast).

Foxtrot was mildly amusing.

Everything else? Dilbert? Peanuts? Baby Blues? For Better or for Worse? Mutts? Sherman's Lagoon? Born Loser? Brewster Rockit: Space Guy? Prickly City? Zits? Red and Rover? Luann? Blondie? (is that strip ever going to die?) Non Sequitur? Doonesbury? Prince Valiant? (the artwork on that one is worse than it was a decade ago—what happened?) Hi & Lois? Mary Worth? (do people still read this?) B. C.? Marmaduke? The Lockhorns? The (gag!) Family Circus? Get Fuzzy? Cathy? (“Aaaaaaaaack!”) Baldo? Rose is Rose? The Wizard of Id? Curtis? Garfield? Hagar the Horrible? Sally Forth? Beetle Bailey?

Bland.

Or worse (and really, the artwork on Prince Valiant was bad, really bad).

There wasn't even a joke in the Garfield strip:

Panel 1: Garfield: Food! (Pointing to food bowl)

Panel 2: Garfield: Bed! (Pointing to bed)

Panel 3: Garfield: Punching bag! (Pointing to Odie)

Panel 4: Garfield: Confidant! (Pointing to Pooky

Panel 5: Garfield: Soft touch! (Pointing to Jon)

Panel 6: Garfield: Honestly, what do you get the cat who has everthing?

Garfield, Sunday, December 20th, 2004

Basically, it was a waste of about fifteen minutes.

I'll stick with the web-based comics. Not because, as a whole, they're better, but because there's a wider variety, and even if 90% of them are worse than the syndicated newspaper comics, that still leaves more web-based comics that are better than the number of syndicated newspaper comics. Or a larger number of web-based comics that cater to my tastes.

Tuesday, Debtember 21, 2004

“They were all spam!”

If you get notification that your webhosting account is overquota, and you get your email through your webhosting account, check to see if you have an email account that isn't getting regularly checked.

I only mention this because yesterday one of our clients exceeded their disk quota, and it was due to over 55,000 emails sitting in one account, unchecked (or left there) for the past year. Even deleting 25,000 of them yesterday (starting with the oldest—I figure that if the user in question didn't bother to delete them off the server, or even check that account, then that user isn't going to miss them) didn't bring them under quota. I had to delete about another 5,000 or so today (unlike yesterday where I deleted the oldest 25,000 I instead started with the largest messages, then obvious spam).

In fact, of the few customers that regularly go over their quota, it's because they fail to delete email off the server (or even check those accounts).

Wednesday, Debtember 22, 2004

“Don't mind us, we're just using these offices …”

The story of two programmers, with no contract and no managers and no access managed to write a very popular piece of software that officially, didn't exist.

In August 1993, the project was canceled. A year of my work evaporated, my contract ended, and I was unemployed.

I was frustrated by all the wasted effort, so I decided to uncancel my small part of the project. I had been paid to do a job, and I wanted to finish it. My electronic badge still opened Apple's doors, so I just kept showing up.

I asked my friend Greg Robbins to help me. His contract in another division at Apple had just ended, so he told his manager that he would start reporting to me. She didn't ask who I was and let him keep his office and badge. In turn, I told people that I was reporting to him. Since that left no managers in the loop, we had no meetings and could be extremely productive.

Twenty percent of Apple's fifteen thousand workers lost their jobs, but Greg and I were safe because we weren't on the books in the first place and didn't officially exist. Afterwards, there were plenty of empty offices. We found two and started sneaking into the building every day, waiting out in front for real employees to arrive and casually tailgating them through the door. Lots of people knew us and no one asked questions, since we wore our old badges as decoys.

On March 11, 1994, the front page of the Times business section contained an article on the alliance among Apple, IBM, and Motorola, picturing Greg and me in my front yard with a view of the Santa Cruz Mountains. Someone I knew in Apple Public Relations was livid. I had asked if she wanted to send someone for the interview, but she had said that engineers are not allowed to talk with the press. It's hard to enforce that kind of thing with people who can't be fired. It was positive press for Apple, though, and our parents were pleased.

Via 0xDECAFBAD, The Graphing Calculator Story

There may be a lesson in this somewhere, but I'm at a loss for what it may be …


La commedia degli errori

Well, that was fun.

I went to make the previous entry, and like nearly every entry I make, I do it via email, since I find it more convenient and the editing environment is much nicer than the textbox thing you get on a webpage.

So I mail off the entry, then go to check the page to see if it posted and I can't get to the server. It's not responding. Can't ping it. Nothing.

Now, the server is one of a pair of server located in the Nap of the Americas in Miami. I can get to the other server just fine. I can't get to this server, which isn't fine.

Not that much of a problem—the server is plugged into a controled powerstrip so it can be power cycled remotely. Only there's a problem: I have the old address for the powerstrip, not the new one.

See, last month there was a major IP renumbering and I neglected to get the new IP address of the power strip.

Not that much of a problem—I can ask the previous admin what that is (since he still has some equipment down there as well). Only there's a problem: it was never given a new address, so it still has the old address.

Not that much of a problem—I still have the old IP addresses programmed into the system so I should be able to get to it. Only there's a problem. The IP block I was using (the old IP addresses) was different than then IP block that the power strip was on.

Not that much—

No, problem. Big one. The network engineer (Dan, I've mentioned him before) was confused at to which block we were using, and which block we are now using. Basically, there was a mess of communications between various parties about what IP addresses were actually in use and when and whatever.

So, I called down to the Nap of the Americas to have them physically power cycle the down box. And while I was waiting for that to happen, Dan and I were trying to puzzle out just what IP addressess we were using and what we should be using and what not.

We were able to finally get access to the power strip via its old IP address via the server that was still up. Only there was one slight problem—no web browser on that server.

Not that much of a problem—with Gentoo, Lynx was one emerge command away. Then log into the power strip. Only there's a problem—the login information I have doesn't work. I can't log in to power cycle the machine.

Not that much of a problem though—the Nap of the Americas had called back and were ready to reboot the server. Which they did (thankfully, they got the right one too!). So the server is finally back up and running.

What I think happened is that some equipment was removed from the cabinet the servers are in, and the server might have been bumped and powered down by mistake, because I can't see any obvious signs of anything else happening to the machine.

But you never know …

Thursday, Debtember 23, 2004

Learning physics the hard way

“I am simply interested in seeing how well my students have absorbed the concepts of the laws of thermodynamics, potential versus kinetic energy, and so forth,” said Gaston at the press conference. “Regurgitating parts of a textbook on an exam is fine, but demonstrating applied knowledge is another matter entirely.”

A typical Gaston exam question involves asking students to choose between catching a small metal box filled with 20 pounds of lead dropped from a height of 1 foot, or the same metal box stuffed with 20 pounds of feathers dropped from the roof of an 8-story building. Each year, about five students try to catch the feather-filled box and end up in the emergency room with concussions.

“I still think it was a trick,” glowered Marvin Stoddmeyer, a student who chose the feathers and failed the final exam, breaking his collarbone in the process. “Gaston said something about momentum and kinetic versus potential energy or something during the year—yadda yadda yadda. But at no point did he specifically warn us not to try to catch a 20 pound object dropped from an 8-story building. That's deception, man.”

Via Joanne Jacobs, Physics Teacher Earns Praise, Criticism for “Applied” Exams

I can bet that Marvin Stoddmeyer will never forget the difference between potential and kinetic energy after this. Nothing quite like learning physics in an applied setting.

I wonder if Spring will me to teach The Kids “Applied Physics” like this?

Hmmmm …

Friday, Debtember 24, 2004

Is there something going on?

It was a calm quiet day today, and with the exception of having to drive to the datacenter to reboot a dead server, not much in the way of excitement. The drive over was relatively traffic free, and when we went shopping later on in the evening, traffic was pretty dead for a Friday night.

So where the stores.

It's like … it's a holiday or something …

Saturday, Debtember 25, 2004

Oh, it's a holiday, isn't it?

.qggL     .gggr.
  PMML    /|MM
  |!MM,  /`|MM   .d/"q,  qgg;+Ml qgg;+Ml vgg. .y.
  | YMM,j' |MM   MM;.jMl |MM` "  |MM` "   qM| j`
  |  qM#'  |MM   MM|     |MM     |MM       MMg'
.j|.  qF  .+MM.. 'MMbxr` jMM.    jMM.      'MF
                                         x, /
                                         v#'
  .x/--\xxl ,xx               ,gb           .
.dMT    'q| |MM               '"'         .dM
dMM       ` |MM/dMg,  qgg;+Ml qgg  j/"`+  qMM-. ,g'`fg,  qgg/dM#,w#Mb  j/"`+
MMM         |MM  MM|  |MM` "  |MM  MMbx/  |MM   `P'.jM|  |MM  |M|  MM  MMbx/
'MMl      . |MM  MM|  |MM     |MM  .`vMMl |MM   ,gP`|M|  |MM  |M|  MM  .`vMMl
 'vMb...r/` jMM..MM|. jMM.    jMM. +,.,P' 'MMx: MM|r+M|. jMM..dM|..MM, +,.,P'
     ""

Update a few seconds after posting this

I've had this in my quotes file since 1988 and it was only now that I noticed that “Christmas” was misspelled “Christams.”

How embarassing.


A Very Celtic Christmas Tale

It's very early Christmas morning—so early the sun isn't up yet, but we still are. We're just chilling out, half watching Divine Secrets of the Ya-Ya Sisterhood dubbed in Quebecian French (don't ask me—Spring is the one who started it) and half surfing the Inter—

—power goes out.

Dark. The entire area around the Facility in the Middle of Nowhere is sans power this early Christmas morning.

So we end up with Spring telling a Celtic færie tale by candlelight as we sat around our (rather small) Christmas tree …

Sunday, Debtember 26, 2004

Sucker rod

I'm reading the man page for syslogd when I come across the following under the security threats section:

4. Disabling inet domain sockets will limit risk to the local machine.

5. Use step 4 and if the problem persists and is not secondary to a rogue program/daemon get a 3.5 ft (approx. 1 meter) length of sucker rod† and have a chat with the user in question.

†Sucker rod def.—3/4, 7/8 or 1in. hardened steel rod, male threaded on each end. Primary use in the oil industry in Western North Dakota and other locations to pump “suck” oil from oil wells. Secondary uses are for the construction of cattle feed lots and for dealing with the occasional recalcitrant or belligerent individual.

That's just darned amusing …


We had 128 BYTES of memory and we were HAPPY!

Parker: Not really, because it was Atari and was state of the art back then.

Bobby: And because people were stupid and liked addictive games. People were like, “Wow—such good graphics! I mean, they got a dot with a key. Woooo!”

Via Jason Kottke, Child's Play II

Guess the kids really didn't like the Atari 2600 Adventure game. Growing up, my friend Hoade had that game and we played for hours walking around (as far as a large square dot can “walk”) slaying the ducks dragons and even finding the invisible dot.

Loads o' fun I'm telling you.

My absolute favorite Atari 2600 game, in terms of “my god this is so horrible I can't stop rolling on the floor, laughing so hard I can't breath and my side–my god does it hurt—I'm dying here” has to be the Atari 2600 Football game (which my friend Bill owned). The entire field on the screen (and given the low resolution of the system, that's a mightly small field), eight players (four badly flickering blobs per side) and a square dot for a football. Once thrown, you could control the football, moving it left and right as you tried to navigate it around your opponent's men (who tended to move offscreen as if going for hotdogs and beer) to one of your own (who tended to move offscreen at the other end for hotdogs and beer).

Popping that cartridge in was good for a solid hour of side splitting laughter it was that bad.

Kids today just don't know what they're missing.

Monday, Debtember 27, 2004

Notes from a drive through window

The woman in front of me pulls her car out of the drive through lane into a U-turn and starts to head the other way, then stops, and parks across five parking spots. This isn't boding well.


“Um … hello?”

“Brrzzzzzckorder please?”

“Yes, I'd like a number two with tomato—”

“Bzzzzzick drink with that?”

“—um … Coke.”

“BzzzzzzzIs that all?”

“Um … A number two with tomato, lettuce and—”

“Bzzzzzzzzzclkwizzzzlezzrrrrrrrrrrrrrrp”

“Forget it! I'll come inside!”

“Brrrrzzzzzzk?”


“Yes, I'd like a number two with tomato, lettuce—”

“Is that for here or to go?”

“Are you people incapable of letting me finish my order?”

“If we let you finish your order, we'll have to actually listen.”

“Oh.”


I'm waiting for my food. The cashier then asks the girl behind me of she's ready to order.

“Um … like, yeah. I'll … um … take a bacon cheeseburger, fries and a shake.”

“Would you like a combo meal?”

“Um … yeah, sure … okay.”

“Do you want the junior combo meal or the number four?”

The girl has that “deer-caught-in-headlights” look. “Um … you mean … like … I have to think?

Mercifully my food arrived and I was able to leave.


User expectation

Have I told you how much I hate—

yes, I think I have.

There are about five different trains of thought running through my head about this right now, but it would take some serious effort, and a lot of writing to explain all the thoughts (touching on such diverse subjects as data storage, data organization, configurations, RISC (or rather, a RISCesque approach to service configurations) and process management, in addition to these XXX XXXXXX XXXXXXX control panels.

But alas, I think I'll try to limit myself for now to just control panels.

Now, it may be that it's just this particular control panel we use here at The Company, but my limited exposure to two other control panel platforms hasn't left me feeling all that confident on their overall operation.

The problem, I think, is one of user expectation. And as a user of this control panel, it doesn't meet my expectation of what the tool should do. Sure, it might be easier for some kid out of college with scant experience with Unix to get up and running, but when anything (and I mean anything) goes wrong, it's damn near impossible to clear up without resorting to a lower level approach, like … the command line! (Oooooooooooooh!) And the problem with dropping down to the command line is that often times, you break the control software, or that whatever you fix breaks again when the control software asserts its control over the system and resets the configurations back to how it thinks they should be.

For instance, up until late last week we've been having an IP address conflict—two servers responding to the same IP address. This is not a good thing. Late last week I was finally able to track down which two machines were fighting over the IP address (and to do this, I had to log into the managed switches, check the ARP cache to see which port each machine was plugged into (found out that a third machine was programmed with the same IP address), then track down the two machines in question—no nice graphical user interface for this, no siree). I finally pinned down which machine was supposed to have the IP (this was a case of a website being moved from one server to another then yet to a third). Removed the site (using the control panels) from the two machines that the site shouldn't be on (figuring that the control panel would do its magic to remove everything it should and not break more stuff) and forced the network switch to clear its ARP cache for that IP address.

Then all was right with the world, and the network, and the site. And lo, the customer was happy because now they could get to their website.

Until today.

And lo, the old server said that it has that IP address, and lo, the switch obeyed and started sending network traffic unto it, even though that server servith not under that IP address. And lo did the customer complaineth.

Book of ARP, Chapter 2, verse 17

Yup, the switch was sending traffic for the IP address in question to the wrong server. I log into that server, A, and run ifconfig and well … the IP address does not show up. I log onto the server that is supposed to have that IP address, run ifconfig on it, and well … the IP address does not show up there either!

I log into a third machine, ping the IP address, then check to see which machine is getting the traffic—it's the old server.

I scour up and down the old server, searching every file under /etc (where all the configuraiton files live) and not finding the IP address anywhere. I double check through the control panel that the IP address is not supposed to be there, and nope, according to the control panel, this server is not supposed to be listening in on that IP address.

Yet it is.

It was suggested that I reboot the old server and see if that fixes the problem.

It does.

The correct server now responds to the IP address.

This is not a Windows box! You're not supposed to fix problems by randomly rebooting the server!

Yet I scour through that server, looking for the IP address and not finding it. I can't figure out how the server was told to listen to that IP address, because ifconfig isn't showing any network interface with that address. But nonetheless, it is.

[I found out, through some research, that this control panel uses the ip command, not ifconfig like every other Unix system I've used. Even if this is a better program for what the control panel is trying to do, why, oh why, is it incompatible with ifconfig? What is up with that?]

Perhaps I'm asking too much of a control panel that can manage to deal with manual tweaks of the system from time to time? Or perhaps I'm just bitter that I have to learn yet another system for the umteenth time, and one that can't even do a simple thing like change an IP address of a website (and funny, but I don't have nearly this level of problem with the other servers I admin—the ones that don't have a control panel installed).


… and one more thing

Don't even get me started on FrontPage

Wednesday, Debtember 29, 2004

Probably because some Pointy-haired Boss wanted a prettier button

The fact that the managed power pole (accessible via the web so that remote power cycles are possible) still had the old IP address wasn't a problem—I still had the setup from last week so I could get access. This time, I was able to get the correct credentials to log in to powercycle this server.

Problem.

The site isn't Lynx friendly. Not in the least.

Frames based, which made it a nightmare to navigate. But I was able to poke around find the right page where the outlets were listed, select power cycle, page down to the bottom of the form to find—

—the XXXXXXX button is JavaScript based!

And what does it do?

Well, let's see …

function send_authentication(formnumber) {
document.forms[formnumber].submit()
}

WHAT THE XXXX?

They use JavaScript to simulate the action of a well-defined element of HTML, namely the Submit Button! Which would work reguardless of browser!

“Oooh, but that button graphic looks so good!”

I'm really feeling the need for a sucker rod.

So, if all the JavaSript does is simply simulate <INPUT TYPE="submit"> then let's add it. I save the page, edit it to add a submit button, load it up, and hit submit, and lo (that word—I seem to be using a lot lately) the server is power cycled.

Would it kill them to make the web pages a little more Lynx friendly?

Sigh.

Thursday, Debtember 30, 2004

On the way home today, I was able to catch the train.

[Catching a train]

Friday, Debtember 31, 2004

So long …

Well, here it is, the last day of 2004.

And what a year it's been—honey-filled walls, demolition of the surrounding area, a water heater on fire (how ironic is that?), four hurricanes, getting promoted two days after starting work and spam, spam, spam and more spam.

And oh, yeah … this guy.

I'm kind of glad this year is finally over.


“But they will be tasty!”

It sounds like a battle zone outside as I sit here in the Computer Room during the waning hours of 2004, looking for some guidance, some assurance in what the New Year™ will bring. Predictions of 2005, in other words.

And i come across Psychic Fred, a “cyber caster” of dubious talents who's predictions of 2005 reassure me.

Mother Nature (or, Planetary Mind if you prefer) is struggling to cleanse Earths oceans in an evolutionary plan to create new ocean species as a food source for humankind. Soon there will be some very strange looking life forms coming out of the ocean—but they will be tasty! Also, they will be a life form with minimal self awareness so that consuming them will be karma-free.

Predictions 2005

Reassure me that I shouldn't look to psychics for reassurance of the future.

I tried viewing his predictions for 2004, but sadly, they're expired.

But I've saved a copy of the page and if I remember, will visit them next year to see how well ol' Fred here scored. It won't be easy, since some of his “predictions” aren't predictions at all:

Emissaries of Light have been arriving on Earth since the late 1970s. These are children who were trained in spirit-form to help elevate world consciousness. Unfortunately, many of these children have not been able to cope with the prevailing negative energy of current Earth. These children, who are brilliant and spiritually powerful, are literally disintegrating energy-wise and falling into mental confusion such as ADHD, ADD, depression, and anxiety. We try to make them conform to our sense of reality by medicating them. The medications are literally interfering with the unique neural activity that was the tool they were given to help the world. By reducing their sensitivity through these harsh medications, we have done them and the world a great injustice.

Predictions 2005

Um … yeah. How is that a prediction?

My prediction? He'll sweept these under the carpet and have new, even more innane predictions for 2006.

Obligatory Picture

An abstract representation of where you're coming from]

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.