Geek Hideout
What's New?

What's New

May 21, 2005

For some reason I find the lips/teeth of the Racing Stripes zebra to be absolutely hilarious.

I think it's important to point out that I have not seen this movie, nor do I have any intention of doing so. I point this out because I know that you were cocking your eyebrow at the very fact that this silly zebra appears on my otherwise super-sophisticated webpage. Well, perhaps it's not all that super-sophisticated, but nonetheless, I'm certain about the cocked eyebrows.

The only reason the cover of the Racing Stripes DVD is here at all is to point out the lips and teeth. I mean, come on, look at them. They will bestow guffaws upon even the grumpiest of people.

February 27, 2005

Last night someone asked me, "have you always shit double sixes?"

January 20, 2005

New favorite restaurant: Dorsett 211

January 16th, 2005

Nifty quote from the remake of the Manchurian Candidate:

Internet--sacred sanctuary of idiots and nutters

January 15th, 2005

January 10th, 2005

Stuff I like, top to bottom, left to right:

Leatherman Squirt S4
Motorola V66 Phone
Dorcy Single LED AAA Flashlight
Parker Sonnet Pen
Camillmus Cuda Dominator
Omega Seamaster Professional Chronometer

November 1, 2004

I think Jenga should have an element of life-threatening danger to it. That's why I like to play it with railroad ties.


July 17, 2004

Power Balls. I eat them, maybe you should too.

July 10, 2004

There's this toy store here in Austin, Terra Toys, that used to be pretty groovy when it was at its southern location. And then it moved north and it's no longer quite as groovy. It's now clean and sterile and lacks the spirit and quaint charm that it used to have. The toys are the same, the freaky employees, who appear to be in a constant quest for personal definition, are still the same.

May 2, 2004

You're backing up /home, aren't you. I mean, you think you are, but are you really?

I thought I was.

April 4, 2004

That HP 32SII calculator that I bought last years for fifty bucks now fetches $200 and more on eBay. Too bad I'm not even remotely interested in selling it. I really do love RPN.

Speaking of which, I've been working on a high-performance Forth interpreter. Forth has been a long-time favorite for me because of its simplistic power. It's intuitive. Really.

My interpreter differs somewhat from conventional forth because it supports not just integers as a native data type, but also strings and floats, all convertable effortlessly from one to another. The data type is initally determined by how the information is entered:

1234     (Integer)
1234.0   (Float)
"1234"   (String)
"1234.0" (Also a string)
Complex numbers are probably in the near future. I just have to figure out a format. I guess something like this would be pretty natural:

1234     (Non-complex integer)
1234i    (Complex integer)
I am hesitating initially because of the extra time required to parse out the "i".

One thing that I never liked about traditional Forth is that to use a loop or a conditional, it is necessary to create a word. I've done away with that formality. When a loop or a condition is entered, further commands cease to be executed and are instead queued until the matching command has been issued. It's really pretty slick.

One of the fun things to come of this is that I've been creating a Forth math library. Sure, it's been done many times by many people, but I like algorithms and I like math much more.

So what use is a high-performance Forth interpreter? Well, that's a good question. The goal I have in mind is for it to be an in-application scripting language with natve database support. Something like this:

"select * from mytable"     // This is our SQL                    // Open it. This leaves a reference to the opened
                            // table on the stack
dup                         // save the reference
"somefieldname"             // We're interested in this field
sql.fieldbyname             // using it and the reference, get a field reference
begin                       // start of loop 
over                        // get the table reference
sql.eof                     // end of the table?
invert                      // if not..
while                       // continue
over                        // table reference
over                        // field reference
sql.retrievefield           // get the field contents
CR                          // newline
.                           // print the field contents
over                        // table reference                    // next row, please
repeat                      // and do it all over
drop                        // don't need the field reference anymore 
sql.close                   // using that remaining table reference, close
                            // the table.
What the above does is prints out the contents of a given field for an entire table. I think it's pretty intuitive. Of course, opinions may vary.

March 28, 2004

Groovy shared memory commands that I keep forgetting due to lack of frequent use:



Apache and Postgres, when brought down in an unfriendly manner, will sometimes leave shared memory "turds" behind.

February 28, 2004

Self quote of the day: "Java is like a polaroid of a print of the Mona Lisa."

February 2, 2004

And indeed they don't (the cards that is). I was rehired the other day. For the whole time I was laid off, I was contracting to the company that laid me off. So, I was never actually unemployed, except for a period of about 3 hours.

December 4th, 2003

Remember, the cards have no memory.

December 2nd, 2003

It happened about 1:30 this afternoon. What an unreal day.

I was laid off. Completely out of the blue and unexpected. I've been working at white heat for the past few months to migrate a very large project only to have the rug pulled from beneath me. Oddly, I'm more worried about the project than I am worried about myself. I'm not sure what to make of that.

What an annoying day.

Tomorrow is a new day. Perhaps it will be better.

November 13th, 2003

For some reason I find it kind of strange when I can't locate someone from the tech industry on the internet. I've been trying to find someone and do get three hits, and while it's definitely the person, the hits don't provide anything meaningful in the way of contact information.

I suppose that I'm just used to having my own contact information scattered nearly everywhere on the internet that on some level I expect similar information to be available for others. Sometimes it is. Sometimes it's not. And sometimes it's necessary to dig into really obscure places that go beyond the typical web search.

When I think about the lengths I go to to remain a private person, it must seem kind of strange that I allow so much about myself to be available on the internet. Maybe. The way I see it is that I don't really reveal all that much when it comes down to it. Even in this silly little What's New section I don't say anything terribly meaningful and personal. Or so it seems, at least. There's actually a significant amount of meaningful and personal content if you're in the loop and are able to catch it. Let me solidify this with three words: "fear of drains."

Now, the above means something to a few people. I've actually mentioned it here before too, so perhaps it even means something to frequent readers. However, there's one person for whom this will hold extra meaning.

On the off chance that this person is reading this web page (and what a remarkably slim chance that would be), drop me a line.

November 11th, 2003

Something big is coming.

November 8th, 2003

Saturday, but only barely. It's 12:03 AM. This promises to be my first Saturday in six weeks where I won't be working, packing, or moving. It will be a weekend of relaxation. A weekend of thought.

I've been on auto-pilot since June, hence the lack of entries here. I've been operating at 2% of who I really am and what I can really do. Nothing inspires. Nothing captures my imagination. Nothing holds my interest. I question if there is anything in the world that is genuinely capable of doing so.

A challenge needs to present itself. Something different and something difficult. That would be nice.

I could write and write here today, but I know that some of the 5,000 daily visitors I get are people that I genuinely know in one form or another. And, unfortunately, much of what I could write and write involves people who could potentially read this.

On that note, however, I'm starting to grow an interest in pens. Nice high-end pens. Maybe with this new interest I'll start a real pen-and-ink journal just for me. One where I won't have to carefully think about everything I write, lest someone takes offense.


If you're clever, you probably made the deduction that I moved. Forty miles down the road. I was driving that forty miles and another forty back per day for a few months. Started to weigh me down. A move became necessary. Now I spend about 30 minutes per day doing the commute.

During this move there was a lot of packing. Man alive, I sure dislike packing, but that's another story for another day, which is to say thay you'll probably never be hearing that story. What is particularly bad about the packing is when the items being packed are books. And books I do indeed have. Over 250 of them at the last counting, all of which were acquired since moving to Texas a few years back. I like books.

November 7th, 2003

Originally from Monday, Feburary 14th, 2000. Completely applicable today.

I am very blank today. I don't feel like I'm quite participating in this world right now. I'm looking at it and saying, "oh, that's nice."

Thoughts enter and fall right out of my mind without lingering. It takes me fifty times longer than normal to blink.

I'm tired.

I have a headache.

I'm hungry, but I don't feel like eating.

You know what I'm talking about. You've been there. We all have.

I am not unique.

Neither are you.

Atomically we are.

But I'm not speaking of atoms.

The big secret is that everyone is the same.

We are people. Our realm of behavior is predefined.

How can we be unique?

each Cornflake in a box is unique.

But really they aren't.

The features that make them all look different is part of what they are.


You don't even get a prize in a box of Cornflakes.

Just a lot of unique Cornflakes that are all the same.

Sometimes you might get a Cornflake that looks like George Washington.

Or Florida.

And for a moment you are delighted.

October 21st, 2003

If you take a camera, attach a really high powered-zoom lens to it, and look into the distance from my house, you will be able to see the tree that's featured to the left. With Halloween coming up, I thought it was appropriately spooky.

August 4th, 2003

Let it be known that I have a serious weaknes for Jube Jubes:

July 24th, 2003

A guestbook spammer managed to find his way here. The best that I can tell is back on July 10th, he bookmarked my guestbook and then today came direct to it from his bookmark. Although his IP address was the same as on his original attempt, my advertiser block software didn't stop him because it discards blocked IP addresses after a relatively short time. Certainly shorter than half a month.

So, I made an additional change to FG Guestbook. I made it search the URL that was provided looking for words that are typical for guestbook spammers, such as cheap, casino, ticket, and so forth. If any of these words are detected, it won't permit a guestbook entry.

I'm still somewhat amazed that someone went to the effort to bookmark my guestbook for the purpose of spamming it!

July 11th, 2003

Let's suppose I ask you if you want a hamburger, much like this:

"Hey man, would you like a burger?"

Seeing as how I'm offering you this, it would make sense that I wouldn't then turn around and ask for $1.50. After all, this is how polite society works; an offer of this sort generally doesn't have any strings attached.

The fast food industry disagrees, however. Take Sonic, for instance. After you have placed your order, they will always offer an additional item. Usually it's fries or a drink, or they'll offer to Sonic-Size your meal (a word which I'm using loosely). The rules of polite society dictate that such an offer should have no strings attached. However, if you ask if the item is complimentary, you're met with a brief silence as the unusual request is processed, and then you're told it's not in words that deviate from the normal well-practiced lines.

At this point I suppose that it would be possible to explain to the loudspeaker the rules of polite society, but it seems to me that wouldn't get you very far. The person at the other end of the loudspeaker has his or her own rules to follow and any explanations, no matter how well crafted, would be dismissed the moment someone else drove up.

I do find something alarming about this practice of offering extra food, regardless of whether or not it is expected that you pay. It promotes obesity. Now bear with me here, I'm not talking about those silly lawsuits that claim fast food restaurants are responsible for making people fat. People choose to eat there and they choose what to eat--the responsibility is fully with the person. However, by offering an extra item, people become more inclined to buy that item when they clearly weren't going to in the first place. I believe that this salesmanship of fast food is just plain wrong.

July 1st, 2003

Despite various warnings, morons were still placing ads in my guestbook. A warning can only be so big and so bold before it becomes obvious that these people simply don't care. Just like telemarketing calls, ads in my guestbook rub me the wrong way. For the sake of my sanity, I had to do something.

Regular readers may recall that I recently purchased something called a Screen Machine. What it does is it intercepts incoming phone calls, plays a message instructing normal callers to press five, while warning telemarketers to hang up and remove the phone number from their list (incidentally, since I installed the thing, I've had zero unwanted calls). It dawned on me that I could apply something similar to my guestbook.

What I ended up doing is modifying the source code to Felix Gertz's wonderful FG Guestbook so that it read a checkbox that is located on the main guestbook entry form. The text beside the box states that if you are not an advertiser that you should check the box. If you check it, it's business as normal. If you don't check it, you aren't permitted to leave a guestbook entry.

It does rely on some human integrity. However, even though advertisers might be willing to overlook my large, bold, bright red, warning message not to advertise, I don't think that they'd be willing to be caught in a lie. We shall see.


I did something else to foil would-be guestbook spammers. The big way they find my guestbook to begin with is to use google or some other search engine with the keywords "sign guestbook" or some similar variation. Although the exact terms vary, it is a certainty that the word "guestbook" will be present.

Armed with this knowledge, I wrote a CGI script to do something about it. What the script does is examines the referrer URL for the word "guestbook". The referrer URL is the web address that was responsible for directing the person to another web address. In my case, the only relevant parts of the referrer are a question mark, and the string "guestbook".

If a question mark is found, it means a query of some sort is responsible for getting to my page. I then scan that query for "guestbook". If I find it, I make note of the IP address and add it to a queue that gets slowly emptied. Upon this IP address being used to visit my guestbook page (it's quite possible the person doing the query will end up at a page other than my guestbook page), they get a nasty message and are told about the evils of spamming.

I've already caught a couple of people, so I'm sure it's working. In combination with my guestbook script modification, I think that I might finally have heard the last of guestbook spammers.

June 30th, 2003

Why is it that athletic socks start to rot after a while? Particularly when you just leave them in the dresser for several months. The elastic will turn crunchy and when you go to put them on you can hear things snapping and breaking and the socks hang limply around your ankles. It's one of those big mysteries.

June 23st, 2003

Some fool left a spam in my guestbook for one of those cheap airline ticket places. I won't reveal the actual URL because I don't want to advertise for them in any way, although the person who buys tickets is perhaps a larger fool. Here's what I discovered:

The domain name for the cheap airline ticket place has no whois record. This is pretty unusual, but not entirely unheard of. It's a relatively common practice among those who don't want to be accountable for their actions.

The website itself contains absolutely no contact information whatsoever. If you have a problem with their services, that's it, game over. There's no way of contacting them.

They are an affiliate of a parent company. This company does have contact information, and I did indeed contact them. I explained that their affiliate had placed spam on my website. I also explained that using google I had discovered that spamming guestbooks was a very common practice for this affiliate. We'll see if I get a reply.

I did manage to come up with some location information regarding the cheap ticket place. The individual responsible for the spaming is located in Greece. Perhaps a language barrier was responsible for my bright red "no advertisements of any sort" request being ignored. The website for the cheap ticket place is located in Bulgaria of all places, where it is quite immune from all sorts of international laws. If you want my opinion, it would seem that buying an airline ticket from someone in Greece who has their server parked in Bulgaria and offers no method of contact whatsoever probably isn't the brightest activity you could participate in today.

More What's New