Debugging objc_msgSend

Hamster Emporium has a great article on how to debug crashes within objc_msgSend. When I first learning Cocoa to write Fog Creek Copilot for Macintosh, I remember my first crash within objc_msgSend leaving me frustrated, as I had absolutely no idea how to proceed. I wish this article had been available then.

An Apple a Day Brings a Blue Screen Your Way

I love OS X, and in general find Apple’s software on the platform extremely high-quality, but when it comes to running Apple’s software on Windows…well, it’s an entirely different ballgame. Safari uses its own widgets, windows, and font rendering, which makes it look utterly out of place on my desktop. QuickTime for years simply looked bizarre, using a window to hold just the menu bar, and then other windows to hold the movies. iTunes uses Windows-native font rendering and some native widgets, but mostly tries to foist OS X paradigms on Windows users for no particular reason. And all of these applications on Windows use tremendous amounts of RAM and CPU.

Yet even I have to admit that iTunes 8’s stability issues take Apple’s past poor performance to an entirely new level. Installing Safari with an iTunes update some months ago was bad enough, but installing a poorly vetted driver and a fleet of MobileMe services that cause Windows to lock up hard is inexcusable. For all people like to rant against Windows, the OS, at its core, honestly is very stable; it really is almost always third-party drivers that cause issues. In this case, that third party vendor is Apple.

I don’t think Apple is writing crappy Windows software on purpose; I just think that their Windows team is grossly incompetent. It’s past due that Apple either starts writing non-sucky Windows software, or quits trying.

Google Continues Quest to Index All Atoms

Google has begun digitizing old newspapers, making certain old Onion stories a bit less funny.

I hope it goes without saying that I love technology, but…at the same time, there’s something I used to find infinitely more gratifying about having to use card catalogs, paper indexes, and microfiche. That romantic nostalgia makes me keep my diaries in Moleskines and sketchbooks, causes me to allow piles of books to keep refuge in my apartment, strikes fear into my heart when I see the disturbingly named Kindle, and explains why I may own cutting-edge computers, but can’t give up my fountain pens. As much as technology buys you speed, it costs you personality, until the only concrete objects you interact with do little more than reify equations and thoughts into some transient form you can ingest and vomit out at a later date. When you can acquire information with no effort, its value disintegrates. Sometimes, I worry that this yielding to an ephemeral reality, not a loss of privacy, is the price we pay by having Google around.

Congratulations, Microsoft!

You have successfully discovered Morphic.

Why, this doesn't resemble the patent at all!

Can you discover Smalltalk too, as long as you’re at it?

The Geek Globetrotter

Far too much travel

This was kind of funny, until it really processed that I’ve got three more confirmed trips this year and a fourth in planning stages with a fifth likely—and that’s only good enough to be #2 in my network. I might want to admit I have a travel addiction.

Because We're So Original

In other news, Honda takes a cue from Microsoft and makes a unique car that totally doesn’t borrow any ideas from any of its competitors. Keep on bringing that innovation, Honda.

Objective-J and Cappuccino Released As Open-Source

When 280slides was released several months ago, it was notable in several ways. It looked like a native OS X app despite running in the browser, yet remained relatively responsive, worked quite well across browsers, and gracefully fell back to Flash when running on browsers from the Pacific northwest. The designers said that their secret sauce was Objective-J—an Objective-C–like language that compiled to JavaScript—and Cappuccino, a Cocoa-like framework that let them treat a web browswer as just another desktop platform. Unfortunately, since both technologies were developed in-house, the rest of us had to just look on and keep playing with their old toys.

Well, wait no longer. Cappuccino and Objective-J are now available under the LGPL, and you can download them today. If you’re planning on developing an application-like website soon, Cappuccino is probably worth a look. I’m not going to have a chance to play with it for a few more days because my hair is on fire, but for those of you with a bit more freetime, it’s definitely worth a look.

User Agent Abuse

I was just playing with Google Chrome on a devel version of Fog Creek Copilot‘s website when I happened to glance down at the watch window and saw this atrocity as the user agent string:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13

Guys, that’s not even funny. It’s just regex bingo.

T-Rex on Automation

I think T-Rex may have a point, for once…