Privacy is dead.

November 18, 2005 by

I think it’s just about over. You’re tracked with your cell phone, soon enough RFID tags will be embedded in everything you buy. DRM media will register whenever you consume it. So what you watch or listen too will be tracked as well. What does that mean? Well on the one hand you’ll know how you spent your life. Probably down to the minute. What websites you looked at, what stores you visited, where you drove, where you walked, who you were with the whole shooting match.

On the other hand, right now even YOU don’t have access to that information. That is ridiculous. If tracked in any way, you should be able to search that information. The courts ought to be able to subpoena that information about anyone.

The thing that sucks, there is no tracking registry. The people who track don’t notify you or a central clearinghouse. They ought to. That would simplify lots of stuff. Photographers have to get permission from the people they photograph in order to make money from the photograph. Simalerly people who make money from information about me living my life ought to have some requirements.


Went out drinking on Saturday night.

November 15, 2005 by

It turns out you need a reservation for Vivachi on Saturday night, so we went across the street to Yani’s. A jazz band started playing in the middle of dinner, we were hard pressed to escape live music for the rest of the night. We bailed and went across the street to Gulp, where an all horns band started up shortly after we sat down. They played vaguely familiar music, loudly. Very loudly. There was a tuba. I know I should support local music and whatnot, but a TUBA. Sometimes you just want to sit and talk with your friends, in a tuba free environment. We headed over to the firestation. No live music. Pixies on the stereo. This was fine. Perhaps perfect. At the very least, it was the best of the three.

M had a brilliant observation, our friends invited us over to watch a Kathy Griffin dvd they had rented. M observed that, even though it sounded like fun, they wouldn’t want us there any more than we would have liked being there. When you get old, you learn to call it a night before the night starts dragging along like the walking dead.

Man am i getting old. 1:00 and I get tired. Everyone at the bar looks like they’re about 15. Anywho, had a nice night out. Talked about music and work. Tried to remember who got fired from the apprentice and who got fired from the other apprentice. Bloodbaths this week. Two off of each show.

AJAX awesomeness.

November 15, 2005 by

Today i had another look at If you’re mad html skillz are a little rusty check out what you can do now in 2005. Server side sorting of back end data, populating a drop down  <div> right as the user types. I know it isn’t that amazing if you write multi player games, or client server code for that matter, but doing it in any old standards-compliant browser is a pretty awesome trick.

And this stuff is built into ruby on rails. I’d like to use that more often, I’m just not a web guy. Sure, I get a zillion ideas for websites, just like everyone else. I just don’t have the determination to sit down and code up a website in my spare time, just like everyone else.

I have been doing some useless mac hacking. I’ve been working on another unit test system for Objective-C. It’s been nice, made me learn some of the ins and outs of the language. I think I’m going to make a big push this weekend towards class level manipulation. Maybe I can write a refactoring browser. Eclipse has completely spoiled me.

I’d like to see an editor that was aware of all of the .h files, .m files in a project. That editor should allow me to rename classes and selectors whenever i want. none of this find and replace nonsense. A fully syntax aware editor. Support for method extraction, hierarchy manipulation, the whole deal.

Objective-C has a lot of redundancy in the declaration of classes. It comes from the .h/.c days. That style of code just makes you type every stinking method declaration at least twice. lot’s more if you’re picky about including only what you need. If you ever decide to add a paramater, you have to go everywhere to update the declaration. I don’t like that.

Evil C hack.

November 14, 2005 by


struct objc_method_list
struct objc_method_list *obsolete;
int method_count;
struct objc_method method_list[1];

is a filthy trick. See how the last element of the struct is a one element array? How do you increase the size of that array? Screw it! Go ahead write your array off the end of the struct.

Just because C lets you get away with crap like this doesn’t mean you should take advantage of it. Yes, I know it seams clever, a very cute solution. Dark side of the Force this is. Pain, anger and suffering this will cause.

Don’t do this. The guy who did this was hoping for a performance bonus. Just put the pointer to the array in the struct. It’s 2005, that extra pointer deref isn’t going to kill you. heck, you can cache the actual array location, so you only deref ONCE.

Ninjas VS Samurai

November 12, 2005 by

On Thursday I came up with this cheese ball interpretation of Unit Testing.

So here’s the thing, Ninjas are freaking awesome. If you aren’t aware of how amazing they are, go read up so you’ll know just how amazing they are. Unit tests are like ninjas. They sneak around in the seedy underbelly of a large software project. When things aren’t working, the ninja leaps out of his Test Suite hiding place and slices the green bar into little tiny chunks, that bleed red everywhere.

┬áThe samurai are the faithful warriors that go do useful stuff. The samurai have a strict code of conduct, a complex balance of responsibilities and obligations. Perhaps this Is true of everyone, but I really like the title “Ninjas VS Samurai”, so that’s what I’m sticking with.

The point is, A program is like a samurai. It’s got to go do useful stuff. It’s got to protect people, ward off invading armies, pretty much whatever is demanded of it. But, there are these complex rules and obligations that the samurai must uphold. Breaking these rules will endanger all of society, the foreign armies will attack and everything will be lost. Lucky for the samurai, upholding their obligations protects them from the ninjas. The ninjas only attack the samurai who fail.

No samurai, no software. No ninjas, corrupt samurai, bad software. Samurai + Ninjas = great software.

There should be no space between the software and the unit tests. Like a tango, the tests push the software In the right direction. The software pushes the tests to define API’s and performance. Like playing poker. If you push too hard, you loose. If you don’t push hard enough, you loose. You must be in balance with the table, push as hard as you need to, but no harder. The tests must push the software as hard as they need to, but no harder.

Lots of people believe in unit tests, and lots don’t. I’ve drunk the kool-aid so I’m a believer. I think this is one of the areas where the art of programing definitely comes into play. Too many tests, or testing the wrong thing, and the tests become brittle. They begin to depend on a particular implementation. Not enough testing and the software is soft, and full of bugs.

Another great metaphor would be a sword. The metal must hold and edge therefore be hard, but still be soft, so it doesn’t shatter on impact. The trick of making a sword is like the trick of writing good tests. A hard edge for cutting out bugs, but still flexible enough not to become brittle.

Saturday Run

November 12, 2005 by

Things were going well for the first ten miles, then BAM, my right knee starts hurting. Everything is connected in you body. Last week my right foot was tender, I favored it more than I should have. This week my stride must have changed slightly, putting more pressure on my knee.

The run went well, 12 miles in under two hours, even with the last two miles being so slow. The marathon is coming up in January. The runs are getting harder, and I’m getting slower. I guess the goal at this point is just to finish, but I would really like to have a sub 4 hour marathon.

technorati tags:

Flock feed reader is weak.

November 12, 2005 by

It’s just not working for me. I like the Safari reader so much more, but Flock is still young. Firefox is slooow on my mac. it’s just a little iBook, but the same computer does alright with a gigantic Eclipse project. Perhaps I’m spoiled by Safari. It’s real quick on OS X. On the other hand, the built in blogging, flickr favorites and search engine are pretty nifty. I’m going to give Flock a full week, see how things go.

technorati tags: , ,

Flock Flickr integration.

November 12, 2005 by

I have to try the flickr stuff. so, i’m going to drop in my favorite San Francisco photo.Flickr Photo

I like That i can resize the photo in DHTML… or AJAX… or whatever the hell it’s called today. That’s slick.

technorati tags: ,

Flock is pretty cool.

November 12, 2005 by

I grabbed the Flock developer build. It’s cool. First, you can blog right out of the browser. There’s a little quill pen you click on that fires up a text editor with built in spell check.

There favorites are integrated with, so any time you mark a favoirite, it posts it to your web favorites as well.

A search engine is built into your history. Every site you visit goes into the history, that history is fully searchable.

Go check it out. It’s neat.

Hello world!

November 12, 2005 by

Welcome to This is your first post. Edit or delete it and start blogging!