MacOS X 10.1.5 Update DHCP Bug

I discovered bug in the new MacOS X 10.1.5 release, I passed it along to MacFixIt and they published it at the top of the Friday page. My comments were edited and not so clear, but the problem is simple. Some machines connected via cable modems will lose their DHCP settings when they wake from sleep. The new updated OS incorrectly drops the DHCP lease when it sleeps.

Now that I’ve been tracking the problem, I’ve noticed it is not consistent. I lose connectivity on my Powerbook about 80% of the times it wakes from sleep. This is the worst type of problem to diagnose, an intermittent problem. I’m not sure what the problem is, or why it didn’t get caught in beta testing. The problem is widely reported but not particularly common. I hope we get a fix from Apple soon.

Update: Apple released a fix within 48 hours of the problem’s discovery.

New MacOS X 10.1.5 Quartz Font Rendering

Silk is a new gadget for MacOS X 10.1.5 that enables Quartz rendered fonts in general Carbon applications. It’s amazing, now Mozilla and IE can render fonts like OmniWeb. I use my monitor at 1600×1200 and it makes a huge difference in legibility. If you’re running 10.1.5, you should get Silk, you’ll love it. It’s freeware, I love freeware.

MacOS X Web Badge

I decided to make a proper MacOS X web badge, since even Apple didn’t have one that fits their own usage guidelines. Apple had a nice badge for “Mac OS X Server” so I chopped it apart and fixed it up. It’s a little wider than it needs to be, but I decided that it should match the width of the Moveable Type badge. If anyone wants to use the badge, go ahead and grab it.

Spam Fighting

I just sat down and wrote my first procmail scripts. I put the top 10 spammers in a special pre-processor to send them straight to /dev/null. Now their spam doesn’t go through the SpamBouncer filters and waste further CPU time. With a little tuning, I can send more spam straight to hell, and less will remain to be filtered by SpamBouncer.

I’m thinking of updating my MacOS X spam documentation, it was an extremely popular document that attracted thousands of hits. But it is almost too late, Apple has announced that the next version of will include an integrated spam filter. So whatever I produce will be obsolete in about a month.

Moveable Type – Apache Security

One of the first security measures I took with this server was to lock out folder browsing. I complained about the open directories in other blog software, now that I am self-hosting I can control these parameters myself. Just a single word of alteration to httpd.conf and it’s all locked down. A few more quick edits and I’ve implemented custom error messages, just for fun. Moveable Type considers this a fundamental security measure, sufficiently important to deserve a special note in the documentation

MacOS X Log Monitoring

I just discovered FileMonitor and it’s just the thing for monitoring log files. I set it up to watch my Apache access and referer logs, and I was buried under reports of my own local browsing. So I set up a couple of simple filters to remove myself from my logs, and the results are wonderful. Now I just need to write a little grep routine that does the same thing, then pipe the results into some HTML for an online referer log.

Dynamo Hum

I am going crazy trying to hunt down the source of an audio hum in my Mac system. The moment I plug the Firewire cable into my DV converter, I get that distinctive 60hz audio buzz, and “hum bars” in my video. It’s obviously a grounding problem somewhere, I’ve rewired everything possible but it’s still humming. Even if my Mac and DV box are turned off, I get the hum on my regular TV. This is some weird, deep interference, I’m stumped.

On a brighter note, I did manage to resurrect my old 9Gb hard drive with my mp3 collection on it. The drive just needed a little dusting and replugging the connections, and it fired right up.

Unsharp Mask

The most inscrutable feature of Photoshop has got to be the unsharp mask filter. I’ve worked hard to study it and understand its functions, and I’ve tried to explain it to people and they positively do not understand. And probably that’s because I still do not fully understand it. It’s only natural, it’s a horribly complex trick cooked up by darkroom geeks that think in layers of film. I always tell people it’s not unsharp mask, it’s mask unsharp. You are doing a blur and then masking the unsharp pixels. Subtract that mask layer back out of the image, and you’ve done a very complex image transform, it heightens contrast only along the edges and tonal transitions that are most suceptible to degradation from blur. It sharpens and increases contrast only where it is needed. That’s what confuses people, they think it’s an unsharp mask, so it unsharpens. Like I said, you’re masking out the unsharp.


Here’s a footnote I ran across in a new Japanese design magazine. This is absolutely the most dense and descriptive explanation of unsharp mask I’ve ever seen, and to add to the density, it’s full of difficult jargon expressed in kanji. But the curves tell the story (I’ll help a bit).
The left image is a black dot that has been blurred, it’s a regular old Gaussian blur. You see the greyscale curve underneath. The amount of Gaussian blur is the radius you see in the PS filter settings, it’s the radius of the blur effect. Now look a the image on the right. All those pixels that were blurred are now represented by the white ring, that is the mask. You can see the mask curve, it changes almost nothing in the midtones of the curve, but is amplified only along the transitional tones of the curve that changed during the blur. You get more contrast without messing up the midtone relationships in the image. There are horizontal clipping levels drawn across the top and bottom of the mask curve that clip the masked tones back into the same levels as the original curve. It’s a very strange image transfer function, I’ve seen this function explained with calculus using derivatives and integration, and my head just about exploded.
This math is a reproduction of an old analog process. Photographers used to make negative masks by contact printing the negative onto a new sheet of film. Direct contact between the neg and film makes a sharp mask. But if you put a clear sheet of acetate between the neg and the film, the gap will make the contact print blurred. The more sheets of film, the thicker the gap, the more blur is produced. The exposed and developed film is the unsharp mask. Sandwich it with the original negative, put the sandwich in an enlarger and print it, the final print is unsharp masked. It was a difficult process because you had to keep the layers precisely aligned in registration. It’s hard to keep little pieces of film aligned perfectly. Now you can do it with the poke of a button.

I’m still translating and pondering some details, but I learned a few tricks from that demo already. I even did a nice unsharp mask to this image, it held the tiny kanji pretty well, it’s about the best I’ve ever done. Japanese design magazines are just crammed with these great tips, this Fair Use sample is just a footnote.

j00 R 0wn3d

A few months after the Ramen Worm passed around, I had a spare MkLinux server, so I decided to put the machine up on my cable modem with the insecure wu-ftpd running and see how long it took to get 0wned. It took about 18 hours. MkLinux was extremely secure and not vulnerable to the Ramen Worm until I deliberately opened it up. I took out all the other usual linux guts so there was not much you could do once you got root. The PPC distro was foreign enough that whoever owned me couldn’t do much but reboot me a few times. They quickly became bored with the slow speed of my PPC 8100/110 and gave up. Ha.
The surest prevention for crime is to have nothing worth stealing.