September 2003 Archives

You can have it now, thanks to Joy.

Check it out here


It appears that some visitors to my site are looking for some old info. I'm adding this post mainly so that it will be in the archive and searches for this information will work.

The PCI device driver tutorial (for Mac OS X/Darwin) lives here. Although there is probably an updated version of this information somewhere on Apple's developer site. The tutorial is a series of email messages from Apple employee Godfrey van der Linden posted to the darwin-development list.

WebObjects WWDC 2000 slides and sample code are here. It's still worth a read even though many of the examples are in Objective C.

Danny Fayne is the latest user to start a movable type weblog.

Since this isn't for Arnold, it must be for my dad.

Thanks Orrin Hatch!

(Or, more likely, it _is_ for Arnold. It's ok, though I don't think my dad wants to be president ;-) ).

There's an interesting analysis of the latest poll numbers for the California craziness here.


30 years is a long time for stealing some porn. Although the person who did this should suffer some penalty for manufacturing stuff to 'steal' DirecTV service, the possible punishment (30 years and $2.75 million) is too great. Hopefully the actual sentence will be less.

In other news, if you haven't already heard about the travesty of the new voting machines, you should check it out here. Or watch this flash animation.

| 1 Comment

I finally installed those light fixtures in the basement that I bought a while ago.

It took longer to figure out with circuit breaker the lights were on than it did to install them. (Ok, that's not actually true, but it did go very quickly).

The new switch is installed to and is much nicer.

I like the way they look. :)


So, I decided to check eBay for one of those Siemens S46 phones just to see if I could get one from non-AT&T (and thus fix my problem, even though I don't want to stay with AT&T, if I can get one of those phones cheap, it will be bearable until I get number portability).

It turns out that there were a couple there for pretty cheap (significantly less than what I asked AT&T to sell it to me for). I bid on one and one. So I should have the phone in 7-10 days.

I'll need to change my plan (probably to a one-Rate one), but that shouldn't be a big deal.

Then I'll be able to use the phone all over (where I _thought_ I would have coverage) until one of my complaints comes through and I can get out of the contract and go with a different provider. ... and if I can't get out of the contract, at least I'll have service that is bearable (and I'll just switch after the contract period is over).

Computer Fun:
- Upgrade to Apache2 so I can serve web stuff on my IPv6 address
- Get a v6 tunnel going so I have native v6 on my LAN (if I can cajole Jared into helping me)
- do more tcl reading and prototype darwinports receipts in sqllite?

Non-Computer stuff:
- Tournament (I think I'll be skipping this one)
- Pick up my car from GR (it should be done on Friday)
- Do anything needed for the mini-tort from the accident


% dig AAAA

; <<>> DiG 9.2.3rc4 <<>> AAAA
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26433
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 5


;; ANSWER SECTION: 86400 IN AAAA 2001:418:3f4::205:2ff:fe85:5106


% telnet 2001:418:3f4::205:2ff:fe85:5106 25
Trying 2001:418:3f4::205:2ff:fe85:5106...
Connected to
Escape character is '^]'.
220 ESMTP Sendmail 8.12.10/8.12.10; Wed, 24 Sep 2003 15:17:46 -0400 (EDT)
221 2.0.0 closing connection
Connection closed by foreign host.

... cool.

Or they should.

At least I can do my part:

Sep 23 16:01:38.113 client query: IN A
Sep 23 16:01:38.605 enforced delegation-only for 'com' ( from

... now to make the appropriate changes on my local network as well.

With the help of some great friends, I managed to get my garage re-roofed this past weekend.

We started doing tear-down on Friday and realized that the decking was really not good anymore (it was thin and sounding unhappy when bearing my weight). So, I had to purchase an additional 24 sheets of OSB. Fortunately, the joists didn't look too bad and I didn't have to replace them.

After working all day Saturday, we were almost finished. A little more work on Sunday (and a quick trip to Lowe's to get some more shingles) and we were done.

I've still got to fix the flashing over my front step, and put the gutter back on the garage roof.

It rained yesterday, and nothing leaked (as far as I can tell). So that's good :)


... it's drivin' me nuts.

Per David's request, I'm posting about the Detroit Pistons game I'm going to go see (on October 12).

Danny and David's friend Elliot will be going too.

It should be fun.

VeriSign is dumb. The ISC is going to make things better.


Sendmail bug today.

Disabled sendmail and am in the process of building/installing the fixed version.

Be careful where you take pictures. You might be a terrorist.

| 1 Comment


I've got the binary here. It's linked against openssl 0.9.7b which I installed from darwinports.

Note: This includes the full 2nd revision advisory patch as found here.

OpenSSH 3.7p1 doesn't seem to want to run correctly on Mac OS X (the uidswap.c file has changed a lot since the version in my local Darwin cvs checkout). A few minutes of fiddling with it didn't yield a quick solution.

So, I've decided to apply the FreeBSD patch to my copy of the source of the version that shipped with the OS. This should fix the problem. I'll install it over the Apple-supplied binaries so that if/when Apple releases a security update it'll wipe out my version.

One thing I found interesting is that the firewall isn't dropping a lot of connection attempts to ssh on the machine (so either there isn't a lot of widespread scanning going on, or I'm just lucky).

If I get some time later, I'll try and make 3.7p1 work.

Due to a possible sshd bug, I've firewalled off ssh. Since the advisory has disappeared and the page has changed, I haven't upgraded the sshd on the machine yet.

I'm off to lunch. When I get back I'll update the status and perhaps open up ssh access again (probably after upgrading openssh to the newer/patched version).

| 1 TrackBack

My Bowflex Xtreme arrived last week. I got it assembled and it is pretty great.

The power rod resistance feels really great and I can do all sorts of weight lifting exercises with it (and I don't need a spotter). Having it in my basement removes the "I don't feel like driving somewhere to go exercise" excuse too.

... While the order process wasn't the best (I didn't get updated on the order status, and I didn't get a UPS tracking number via email until the day before the packages arrived), and UPS managed to mangle one of the boxes (nothing was damaged), I still highly recommend the machine.

Yeah, many rapid updates, but too bad.

I got back from the DeCicco Open a little while ago.

It was a pretty good time (and my first tournament back this season). I just fenced in the Men's Epee event. There were 42 fencers there and enough ratings to make it an A2 event.

My pool went fairly well (I could have/should have done better) and I ended up 3-2 with a +6 indicator. This seeded me at 16th place, or right about in the middle of the pack.

My first direct elimination bout went rather quickly (my opponent was a bit flustered as the body cord he came to the strip with was bad and he hadn't brought his spare with him. I used that to my advantage by not giving him time to calm down) and I proceeded to the next round.

There, I fenced the first seed (Chidel) but was unable to do what I wanted. He ended up defeating me 7-15. I did get to see him loose later that day to a really good female epeeist.

So overall I placed 15th (I was 16th seed but there was one upset in the round of 32 and the 26th or so seed ended up in the bracket with us so we all got bumped up one, I think).

So, there's my tournament update (pretty boring). :)

So, AT&T Wireless pissed me off.

Here's a copy of my complaint filed with the Michigan Secretary of State Consumer Protection Division (a shorter version was filed with the Better Business Bureau).

AT&T Wireless provides a cellular coverage map on their website that is deceptive. It is not entirely applicable to any of the phones that can be purchased via the website.

Specifically, the area marked "Expanded Calling Local Service Area" which requires what AT&T Wireless calls a 'multi-band' phone is not available to people using the website to purchase service since AT&T Wireless does not list their 'multi-band' phones for purchase there (they are only available via a physical store or via phone).

Note that here AT&T Wireless chooses to use a different terminology than many other carriers (a multi-band phone could be used to describe what AT&T Wireless means, or it could be used to describe the phone I purchased from AT&T Wireless - a tri-mode GSM phone). AT&T Wireless here means that the phone can connect to their older 'TDMA' network (what is really an IS-136 network as GSM also uses TDMA signaling on-air) and their newer and smaller GSM network. In the context of only GSM phones multi-band is often used to refer to phones that connect to multiple GSM frequencies (such as the ones used in Europe).

I purchased service from AT&T Wireless on May 8, 2003 with the good-faith belief that my phone would be able to connect AT&T Wireless towers across much of Michigan. In fact, it can not. However, I only recently went outside of their GSM coverage area and discovered this and so I was unable to take advantage of their 30-days after purchase "buyer's remorse" refund program.

On September 8, 2003, I contacted AT&T Wireless customer service to find out what could be done about the situation. I had decided not to ask for a refund of my monthly bill(s) or to be able to return my phone and accessories for a refund, but to instead ask for a discounted price on the purchase of what they call a 'multi-band' phone (specifically their cheaper Siemens s46 which they sell to new customers at $99 but has a 'full retail' price of $200). I assumed that they would be able to offer me the phone for ~$150. After discussing the issue with a female customer service representative who did not give me her name, I felt that I was unable to communicate the issue to her (she did not seem to understand what I was saying). She refused to give me a discount. I tried several times to explain more clearly, but it was to no avail. I called back a little later and spoke with a much more helpful representative (Tim) who wanted to help me (I asked him if I was being unreasonable, and he said 'no'. He also confirmed that the 'multi-band' phones are not available from the website) but could not since AT&T Wireless has a strict policy of no discounted phones until the customer has had service for 9 months (recently moved up from 6 months). I askd if it made a difference if I was willing to extend my service contract, and/or upgrade to a more expensive cellular plan. He said that it did not. Since I had only had service for 5 months, he could not do anything for me. I asked if there was someone there who could, and he sent me to their escalation department (although he did mention that it was unlikely that I would get anything from them). The person I spoke to there very quickly informed me that it was against policy for them to discount phones before 9 months of service. I asked if he had any other ideas of something we could work out, and he did not. I asked if there was someone else I could speak to, he said that there was not. I asked if he had a supervisor, he said that they did not take calls. I asked if one could call me. He said that one would call me in the next 3 to 5 business days.

I received a call at 10:35PM on September 11, 2003. Since it was so late in the evening from a phone number that I did not recognize, I let the call go to my voicemail. It was Jeff calling back and stating that his supervisor had read the form he submitted and confirmed that I could not get a discounted phone unless I called back on or after January 8, 2004.

At this point, I would simply like to be able to cancel my AT&T Wireless account without paying the $175 contract early termination fee.

| 4 Comments | 2 TrackBacks

On Tuesday, I was in a car accident. It wasn't too big of a deal (very low speed) but managed to do about $2700 in damager to my car. It wasn't my fault, but since Michigan is a no-fault state, I can get a maximum of $500 (mini-tort) from the other guy's insurance.

Fortunately my insurance covers the rest (which I guess is why I have it).

I didn't take a picture of the damage, but the body shop used a digital camera, so I'm going to see if I can get before/after digital pictures from them.

It was pretty crazy. I was driving south on Cedar and was going to turn left onto Mt. Hope. I got into the left turn lane and slowed down as the light was red. The guy who hit me was coming out of the gas station on the NW corner of Mt. Hope and Cedar. He was trying to get to the left turn lane I was in. There was traffic backed up past the gas station driveway. The people there made room for him to go through. A guy in a pickup truck waved him through at the moment when I was right there. He pulled forward into my car (hit the edge of the passenger side door and the panel behind it).

He felt pretty bad about it, but both cars were drivable afterwards and no one was hurt. It could have been a lot worse.

You just can't trust those guys in the DOJ.

NY Times Op-Ed columnist Paul Krugman thinks so.

Apparently, if you run a free hosting service and someone posts stuff from a high school chemistry class (yes, we did calculations on the 'drano bomb' in my high school chemistry class) you get to spend one year in a federal prison (or 24 years as a terrorist if you refuse to plead guilty ...).

The amazing thing about this instance is really that along with the person being prosecuted under a fairly stupid law, the person who actually wrote the material is still free.

| 7 Comments | 1 TrackBack

So, a while back I did something dumb.

I used to archive incoming mail with a procmail rule like this:

:0 c:
| /usr/bin/gzip >> $HOME/MailArchive/backup.gz

I would roll the archive over manually near the beginning of each month.

This was a pain.

A couple of times (ok, 3) I ended up with half archives that I wanted to combine.

Instead of doing `zcat oldarchive.gz | gzip >> otherarchive.gz` I did `cat oldarchive.gz otherarchive.gz > newarchive.gz` This gave me one file that was really two gzip archives, not one archive with the contents of both gzip files.

Since gnuzip is moderately smart, I could ungzip the first archive in the file, but after it got to the end of the first archive, it would error out. Every piece of mail in the second part of the archive appeared to be lost.

Of course, gnuzip's error message is this:

"gzip: filename decompression OK, trailing garbage ignored" -- not very helpful.

So, I downloaded the source to gzip, modified line 1308/1309 of gzip.c so that it would print the approximate place in the file where it was having problems.

I wasn't sure if I would see a 'hole' in the file where there were a bunch of null bytes (where the file didn't quite make it do the end of an allocated block) or if I wouldn't. A little time with hexdump and I was nowhere. The gzip byte signature just appeared too often in the file for me to narrow down where I was searching, and it was a general pain. I was about to give up on that tactic and perhaps write a custom program to un-munge my files.

So, I downloaded HexEdit. Wow. It's a great tool. Sure enough, there was a big bunch of null bytes around the offset that I got gzip to report. In fact, right after the bunch of nulls, was the gzip file signature.

I used HexEdit to remove the first gzip archive (that I had been able to successfully extract), and then was able to extract the other archive.

I've fixed all three files.

Since gzip is more effective in archiving when I give it a bigger data set than one mail message. I plan on rolling the monthly archives into a yearly archive.

I've also since changed my procmail rule to something more like:
:0 c:
| /usr/bin/gzip >> $HOME/MailArchive/`/bin/date "+%b-%Y"`.gz

So I don't have to bother with manual rolling (I also wrote a quick perl script to add the contents of my Sent Mail folder to the appropriate archives. So, run out of cron everything is automated).

I'm pretty happy because it had been bothering me for a while and I hadn't had time to try and fix it (I wasn't even sure if it would be practical).

It was, and I am victorious.

Other people want network transparent file storage with lots of meta data.

Too bad Apple has decided that everyone _really_ wants file.ext ;-)

Club had its first practice of the season last night.

It's good to be back after a month off.

I feel generally better about everything if I've been able to exercise, and fencing is even better than any other exercise I've ever done.

This is a good article.

After reading it, it's interesting to read Lessig's take here.

| 2 Comments | 1 TrackBack

I did some postgres performance tuning on geeklair a few days ago, it should be a bit quicker (I wanted some queries for stuff I do for work to finish faster).

Also, I put the tournament schedule from here into iCal and published it via .mac (and added a link over on the right).

I didn't get a chance to read as much TCL as I wanted (so I didn't get started on the darwinports work I wanted to do).

I did, however, buy poison for killing weeds growing in my driveway, and buy a mop for making my kitchen floor clean again.

I need to pick up some new light fixtures for my basement (I think Lowe's has the ones I want).

I also need to get stuff for the 'great yard drainage project'. (and tool(s) to trim the hedges in my front yard).

Assuming that the weather is good, Sept. 20 looks like the new roofing date.

I need to call about waste disposal in preparation for that.

| 1 Comment
Powered by Movable Type 4.34-en
Creative Commons License
This blog is licensed under a Creative Commons License.