We got computers...we're tapping phone lines...

From the irony department, an article on dropping 'Christmas' from Christmas (from the San Jose Mercury News). Good to know there'll still be nuts for me to taunt in Norcal.

"They have a valid point," said Steven Van Noy, 39 of Citrus Heights, on his way out the store with a bag in his hands. "Christmas should be included in their ads. I believe in Christ, and I don't like the use of 'X-mas' or the use of 'Happy Holidays.'"

The fact that Mr. Van Noy doesn't "like the use of...'Happy Holidays'" is understandable. After all, who wants to be reminded that there are other holiday celebrations? If people started thinking about that, they might notice that these "Christmas" celebrations don't fall on the birth of Jesus, and are remarkably similar to pagan solstice celebrations...heeeeey...

But here's the real irony.

Saturday's protest was organized by religious leaders including Dick Otterstad of the Church of the Divide, located in Georgetown, east of downtown Sacramento. Donning a Santa Claus costume and surrounded by a handful of supporters, Otterstad greeted shoppers with a single message: Don't forget about the meaning of Christmas.

Don't forget the meaning of Christmas, says the guy in the Santa costume. I love it.

As for me, I've been flat-on-my-ass sick for a week now, with the flu followed by an opportunistic head cold. It's been an interesting experience. I haven't been sick since I can remember, so I now know what it feels like to have a fever.

Thinking to myself, "Perhaps this is good practice for being in cold, northern Mountain View," I checked the weather there. It's warmer there than in Phoenix right now. Colder in the summers, warmer in the winters? Sign me up.


Network sniffing from Java (wow, a techie post!)

[This is a techie post. You have been warned.]

As some of y'all may be aware, I've been working on a network analysis app for the past couple years.

It's written in Objective-C, a language used primarily on the Mac. This is fine by me — I like Objective-C as a language, and a lot of my whizbang features (like voice control of traffic filtering) are Mac-specific.

But the fact remains: I do most of my development in, and am currently most familiar with, Java. I also believe that, within the next five years, Java will become the fastest application development language available. (No, really.)

So, on a lark, I started wondering what it'd take to rewrite my network analyzer in Java. The hard part: to sniff network traffic (which will later be analyzed), the program has to worm its way down into the hardware, and this is difficult in Java. I suspected it would require JNI (Java Native Interface, which lets you tie code written in other languages [primarily C] into Java programs), but I hadn't written any JNI in nearly ten years.

I looked online to see if anyone had done my work for me. There are a couple Java interfaces to the PCAP library, which is the gold standard when it comes to sniffing network traffic. (It's what I use in my current application.)

Unfortunately, they all suck, for two reasons. First, they do too much work in the JNI code. JNI code is written in C; the Java Virtual Machine, the part responsible for making modern Java so goddamn fast, can't speed up C code. Second, they make too many assumptions about the type of traffic they'll encounter, and don't provide me a way to teach them about new types. (They assume they're plugged into an Ethernet, which is not true if I'm hitting the net through my cellphone, like right now.)

Cesta (my network analysis program) has a really flexible plugin architecture that lets it load processing code as needed, at runtime. These libraries are the exact opposite of that.

So, I'm having to write my own. As of tonight, I have it working. It's a very thin JNI interface to libpcap. It should work on both 32 and 64-bit architectures, but is known to be incompatible with iSeries (AS/400) because of a design decision I made.

The entertaining bit, to me, is that PCAP delivers packets by a callback, which I translate into a call to a Java interface. Java code calls C code, which calls into libpcap, which calls a C function, which calls back into Java. Teehee.


Does the man who made the shoes own you, clown?

In another example of Fedex Standard Overnight taking a week, I have received the offer letter. (Hey, it's still better than the USPS, who lost a cell phone a few months back, causing me to owe T-Mobile $500. Hooray government-sanctioned monopolies.)

So, in case anyone was hanging in unnecessary suspense, I accepted the offer. I'm currently planning to start on 9 January, but we'll see what schedule the relocation folks give me. They have told me that my temp housing will not be available until right before I start, so the schedule I gave previously is right out.

In related news, MSNBCOMGLOL is running an article by Google's CEO entitled Ten Golden Rules. It outlines their philosophy for managing "knowledge workers" (that is, folks like myself). I found myself vigorously agreeing, which is particularly cool this time, since I'm going to work for them.

Also, the scientific community has finally caught on to the fact that colorblindness can be an evolutionary advantage. I'm amazed that they're amazed; every other common human gene confers some advantage in some situation, even if (as with cystic fibrosis or sickle-cell anemia) it can be debilitating in others.


Best present ideas ever

Now, for those of you sitting around wondering what to buy for me — because I know that's just what y'all're doing — remember that I don't generally do the commercial obligatory gifting days.


This list of gift ideas pretty much nails my interests, with the obvious exception of photography.

Note to self: subscribe to this magazine.