November, 2002

Untitled

Submitted by reeses on Sat, 2002-11-30 22:52.


This is what cruel people do to their cats during the holidays. My revenge is complete.

Untitled

Submitted by reeses on Thu, 2002-11-28 09:11.


Some things are too cute for their own good.

(Dang, when I got home from NYC, I dumped a bunch of junk on the table, and left the phone cords dangling. I'm a slob! ;>)

Untitled

Submitted by reeses on Tue, 2002-11-26 07:12.

This weekend saw the creation of my first Apache module. In a company meeting, I mentioned that we could write an Apache module to provide a service that didn't depend on an application server. After that, writing an ISAPI plugin would be easy. At this point, someone mentioned taking a month to produce this module. In a fit of stupidity, I opened my big mouth and said that I could write the Apache version in an evening.

So, I had to put up.

Let's say that writing an Apache module is a little difficult if you only go by the information available at httpd.apache.org or via semi-obvious searches on Google. Let's just say this because it's true. There is a data structure that needs to be populated with pointers to functions and configuration structures, and that part is pretty straight forward. However, the content of those functions and structures isn't always clear.

So, I'm muddling through trying to build a module on my Windows laptop, and I discover that the toolchain doesn't support building modules with cygwin. Yet another hurdle! It was time for a break. I ran down to a local technical bookstore (Stacey's on Market Street in SF) and bought this book. While the major bulk relates to working with mod_perl, it made my job so much easier.

Until I discovered a little dogslop buried in my code. Because I didn't have a debugging environment handy, I had to resort to the classic debug-by-printf(). After an hour of narrowing down the bug, I discovered the following brilliant maneuver:


for ( prr = pHead; NULL != pHead; prr = prr->m_pNext ) {
...
}

D'oh! And I wondered why I was segfaulting!

Untitled

Submitted by reeses on Mon, 2002-11-25 04:35.




Where do you think the heater vents?

Untitled

Submitted by reeses on Mon, 2002-11-25 04:07.

So, today, I spent a couple hours monkeying around writing an Apache module. I love projects like this, because they afford one a maximum of frustration while offering a minimum of reward. I climbed or reclimbed several learning curves (c, Apache modules, gcc on cygwin) that I will probably not have to climb again, at least for another year or so.

What I did learn is that I should have used mod_perl for this, which would have at least replaced all of the items in parens above with (perl). All I want to do is initialise a module, pass in a filename, and rewrite URLs. Yeesh. You'd think I was integrating a programming language that let you modify Apache's internal data structures.




What??? Like you never play with bits of string!!!

Untitled

Submitted by reeses on Fri, 2002-11-22 06:15.

See, why couldn't the book's explanation be this easy?

Untitled

Submitted by reeses on Thu, 2002-11-21 05:27.

OK, I'll admit it. Sometimes, I am prone to reading mindless fiction. I'll read something hairy, and then have to ease up with a little trash.

The thing about that first book, "Basic Category Theory for Computer Scientists" is that it declares that it's written "Assuming a minimum of mathematical preparation..."

Now, that phrase can mean two things. 1) It assumes as little mathematical preparation as possible, and defines those terms and concepts that would not be common to anyone with a basic understanding of math; or 2) It assumes a certain base level of mathematical preparation of people who read it, without which the book will not make sense. I hate polar ambiguities. You can never add too much water to a nuclear reactor.

So, I buy the book without reading the excerpts on Amazon, and open it up on the bus. Yeargh. I'm up to page three, because every time they use a term from set theory, I have to run online if I can't derive its meaning from the context. For example, on page one, the person gives the definition of a category in terms of a formal list of elements, without actually defining either the concept of a category, or any of the terms used in the definitive manifest.

It's like defining objects (in the OOAD sense) "assuming a minimum of computing knowledge" in terms of:

Definition: An object O comprises:

1. a collection of slots;

2. operations exposing slots to varying degrees of visibility;

It's been ten years since I've been in school, and a lot of the symbology is gone. Books need more glossaries for us dummies!

Untitled

Submitted by reeses on Thu, 2002-11-21 04:46.

OK, so after bothering to write a silly Ruby script to do offline blogging, Goose told me about w.bloggar. I'm surprised, after all the (apparently feeble) Googling I did looking for an offline blogger tool, that something had been developed through three major releases to do exactly that.

This is my second post with it, and while I've not tested much of the functionality (all of my posts have been while online), it makes me happy to be able to throw away the hodgepodge of scripts I've been dinking with.

Untitled

Submitted by reeses on Thu, 2002-11-21 04:41.

I like that Goosey spelled 'wiener' correctly.

Untitled

Submitted by reeses on Wed, 2002-11-20 08:39.

At various times in the past, I've been annoyed that vendors of various goods and services just don't get it, and how easy it would be to do something right. Anything I should be able to do online and can't is annoying, because I seldom remember to do those things until 3am, and no one's answering the phones.

Some pickle-sniffing friend of mine told me about AVC, a somewhat hackworthy LD carrier that apparently, never requires you to talk to a human being. I just signed up online, after reading some of their material. Basically, they keep rates low by automating everything, making all extras ("no charge for misdialed calls") either go away or pay-as-you-go (they add the charge for payment processing (Visa, Amex, etc. charges) to the bill), so the recurring charges (for the actual calls) can be as low as possible, without having to amortise or predict these costs.

You can sign up online, receive your bill online, and even choose the day of your billing.

Anyway, I'm starting to sound like a commercial, and I don't want to do so.

But, I'm looking for other companies that are very online-focused. I tried using Net Bank or something along those lines, about six years ago. They had one physical location somewhere in the midwest, which was where all the checks had to go, and be processed, before they appeared in the account. You had to pay all the ATM charges, because they had no ATM machines of their own, at least not in Seattle. All of this combined to make a service that I made one deposit to, and never used again.

Now, Bank of America even scans my checks and puts them online.

What other previously-offline services have you used with happiness now that they're available online?

Untitled

Submitted by reeses on Sun, 2002-11-17 22:57.

"Would you like dinner, sir?"
"Do you have anything without meat?"
"Yes. I have a chicken fajita salad, chicken..."

I made the mistake of buying a first class ticket on the Metroliner train service from NYC to Washington. I did this because I am basically moving three months' of possessions back to SF, and didn't want to take up all of the shared luggage storage space.

However, if it were possible, the FC car is actually less desirable than the coach or business cars. Those have 110v power outlets and decent amounts of shock dampening. This train has no power outlets at the seats (I'm running off of my unpredictable battery) and apparently no bump absorption.

The only advantage to paying the extra appears to be free beer and snacks. I'll have to drink a lot...

Untitled

Submitted by reeses on Thu, 2002-11-14 05:36.

Tonight I installed spaces, "Another Email/PIM software". I don't know why I do this (as I did with Zoe), but I always want to do a practical test using my email.

Bad, bad idea.

See, I don't have small message stores. The best I have is my astrogoth mail, which runs about 2 000 messages online, and about 30 000 messages archived. (in bzip2 MBOX files)

Work isn't better, with about 12 000 messages in various folders.

Anyway, first thing I do upon installing spaces, is import my work email (there's an Outlook dll bundled with the Java app, which is a bloody brilliant move) WHILE pulling down my home email via IMAP/S. After about ten minutes, a dialog came up, and when I looked at the console, I saw an Exception trace relating to a GB(mumble) code page issue.

Why didn't I preserve the exception? Because at that moment, my computer froze...hard. No mouse movement, no ctrl-alt-delete, even the Thinkpad "switch video output" hotkeys didn't work. The only thing I could do was brighten or dim my backlight!

Back to step one. I hard-rebooted the laptop, reinstalled the app, and just imported my work email. Three hours later on my 512M pIII/700 laptop (with slow laptop hard drive, unfortunately), I have a bazillion emails imported into spaces. I decided to shut it down, since it was using the max 256M heap I had set, and restart it with the intact message store.

Now, I get an NPE and the startup hangs with the splash screen. I'll probably try again tomorrow, with a smaller message store.

Time to write the bug report. :-)

Untitled

Submitted by reeses on Tue, 2002-11-12 06:58.

My father went to the Mayo Clinic in Rochester, MN, today to have a chunk of his esophagus removed. As I mentioned before, his latest biopsy turned up a "possibly cancerous" region, and surgical removal was declared the best option.

Unfortunately, when the doctor in MN began the procedure, he discovered that the "nodular region" was larger than expected, extending down to the top of my father's stomach. He removed what he could, but had to leave some of the suspicious tissue. Not cool.

It does buy time, though, and they will be able to biopsy a large portion of the tissue over the next couple days. My dad will have to keep a close eye on it as always, and I think he was secretly happy that the doctor told him that he was young and in good shape.

JSP compilation considered harmful

Submitted by reeses on Tue, 2002-11-12 06:58. |

About 24 hours ago, we launched, bringing to a semi-conclusion a few months of pretty intense work. The site is pretty fast, and we had some excitement at the last minute, so we didn't sit around bored after 2am. We went live at around 1:30AM, and discovered rather quickly after that the application servers were "randomly" crashing. Over the next few hours, we tried to narrow down the issue, based on tying webserver logs from the three load-balanced webservers (pure round-robin, with session affinity handled by the app server tier) to the eight application server processes.

Untitled

Submitted by reeses on Mon, 2002-11-11 03:49.

So, leaving alone all the other stupid issues with it, why do they call it Tungsten|T instead of Tungsten|W?

Untitled

Submitted by reeses on Sat, 2002-11-09 16:43.

As usual, The Astronomy Picture Of the Day is pretty impressive. This entry is incredible, when you get to the last sentence of the caption.

Broken Windows

Submitted by reeses on Thu, 2002-11-07 02:21.

I really enjoy when people start applying epidemiology to other areas of human behavior. My favorite, and the means by which I received this link, came from the Pragmatic Programming mailing list, in a conversation about "Broken Windows".

Broken Windows is the theory that a building can go for ages without apparent deterioration. It may show age, but it's still pleasant and inhabitable. Say that one day, some kid throws a rock through a window. You can fix the window right away, and the building is back to pleasant and inhabitable.

Untitled

Submitted by reeses on Thu, 2002-11-07 02:21.

Brilliant! Mindspring, the dialup provider for my corp account, blocks outgoing smtp.

On the bright side, we're studs and may not have to work the two weekends before launch. Whoohoo!

Untitled

Submitted by reeses on Tue, 2002-11-05 16:30.

What is it with people on the subway? In crowded spaces, especially cities, it is essential to abide by the social contract -- try not to step on other people's toes, don't make anyone miserable, and keep to yourself. It's not that hard to understand: don't do the things that would make you irate if someone did them to you. It's the golden rule, but given emphasis because in a large, crowded, city, you can't avoid other people.

So why is it that in the most crowded area (the Metro) of one of the biggest cities in the world, (Manhattan, New York City) that people are rude and invasive? New Yorkers generally aren't this way. Sure, you have a bunch of bad apples in the big apple, but I estimate it's less than 1% of the population. This just happens to be 70 000 people, so you're bound to run into a few of them throughout the day. The rest of the people are really courteous, friendly, and nice. I suspect this is because they figured out the urban golden rule, that manners are lubrication to keep us from killing everyone else on the street.

MANNERS == LIFE!

There are two things I noticed this morning that tend to be a constant thread of annoyance.

  1. Take off your frickin' backpack if you're going to be on a crowded train! Yes, I know it's a pain, and awkward, and you have to keep hold of it, but believe me, that poor person you're crushing with your 1' hunchback is thinking of nothing less than pushing you into a red mist at the front of a rushing train.
  2. If you're standing in a crowded subway car, and there's a seat open right in front of you, don't be "polite" and remain standing. Sit! You'll alleviate the pressure of the people around you, rather than scrunching them in some vain attempt not to slight someone who might have been on the train first. If you think the person standing next to you was there first, give them a couple seconds to make a move for the seat. If they don't take it, you should.
    This is like people in lines of cars -- they hold up thirty cars behind them to let a car out of a driveway at a green light. Lesson: go fast through the green light, get as many people as possible, and only let the person out of the driveway when the light turns red. Duh!

Kat and I went to the Holocaust Museum Sunday, because that's how we have a good time. I went in pretty suspicious, because anyone whose life or outlook would be changed by such a museum is probably a kid or an idiot. Then again, my perspective is that we have to be aware, because it can happen at any time. Not to be very aware of the speed and ferocity with which a nation can turn against a group of people is to be naive.

I was also disappointed by the muting of the message. Discussions about the Holocaust should feel as if a sledgehammer were driven between your eyes. It shouldn't just be a little uncomfortable. People should come out angry and ready to kill to prevent it from happening again.

Anyway, at the museum, there are little exhibits, some of which have admittedly small text. There can be a ring of people standing a respectable and courteous distance from the exhibit, so everyone has the chance to read. A trail of idiots will come up, stand in front of everyone, and block the exhibit while they read. I especially love the ones who use the railing to rest their leg, and lean in, so there is no chance that anyone might catch the least glimpse from the side.

People. Can't live with 'em.

Untitled

Submitted by reeses on Mon, 2002-11-04 22:58.

I bought the Sopranos Season 3 DVD kit (what's that about saving money?) on the way down to DC last weekend. We watched the first couple episodes, and I busted a gut when Tony said,"Log off! Those cookie things make me nervous!"

Man, this East Coast is cold. I can't wait to get back to SF just for the weather. Let alone the space in the apartment.

Untitled

Submitted by reeses on Mon, 2002-11-04 22:58.

In addition to the previously-mentioned layoffs, we have mandatory furloughs around the xmas->new year's holiday, and a 5-15% pay cut starting 1 January. Yeaurgh! I'm definitely going to have to move out of my loft to free up cash. $2500/month was a little silly a year ago, and it's suicidal now. I figure I can find a decent one bedroom with about 900sqft (half the space!) for $1000-1500. If not in a decent place, at least the Tenderloin!

I think the most frustrating part is that I'm stuck in NY, and couldn't get rid of my place a few months ago, when it would really have helped me build a cash buffer. I figure this announcement was really just six-months notice, and I'd like not to have to worry about dipping into savings or what-have-you when I finally get booted out of the nest.

Untitled

Submitted by reeses on Fri, 2002-11-01 18:34.

I wonder who took the picture for this article.

Untitled

Submitted by reeses on Fri, 2002-11-01 18:16.

Wow.

I went out to dinner last night with a few people from work. We ate, we drank beer, we drank more beer, we drank more beer, and then we left. Standing outside, someone mentioned that the CEO was coming to the office, so they were fearing layoffs. I always wonder if there's some secret mail alias everyone is on where all of these rumors are passed around.

So, this morning, I asked the guy up the chain from me, and he confirmed that they were going to happen. Of course, he couldn't give me specifics, but it became clear later.

The new VP (poor guy) started taking people into conference rooms for a few minutes. He'd come out, the person with him would look about to cry, and he'd go talk to the HR lead.

The first person he talked to was one of the heavy lifters on my project. She's on the hook for a lot of performance tuning, and while she has been given two weeks to remain at the company, (what an idiotic idea) who's going to be maximally productive in that time? Work 14 hours a day, or work 5? It's not a tough call.

In all, we lost three people -- QA manager, Developer, and Senior Manager. We also lost another VP with whom I have come to loggerheads on occasion. In all, I disagree with several of the choices, but tough times require tough choices, and there are very few choices with which everyone would agree. I suppose my not being one of the people cut is a good thing. I'm still a bit nauseous.

I wish I had waited until today to make my train reservations, though. I have to see if I can shift my ticket from 8pm until earlier. Or, I'll go get a massage and go see a movie.

Untitled

Submitted by reeses on Fri, 2002-11-01 08:07.

I think I've pinned the point at which my life became pointless to the instant the ascii chart became irrelevent