Announcing Fog Creek Copilot OneClick

October 7, 2008 | programming, technology
I’m proud to announce that we’ve just shipped Fog Creek Copilot OneClick. You can read about the details at the new Fog Creek Copilot blog, Air Traffic

Debugging objc_msgSend

September 23, 2008 | programming
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.

Congratulations, Microsoft!

September 8, 2008 | programming, technology
You have successfully discovered Morphic. Can you discover Smalltalk too, as long as you’re at it?

Objective-J and Cappuccino Released As Open-Source

September 4, 2008 | programming
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...

An Overview of Python's Underscore Methods

July 2, 2008 | programming
I’ve never been an especially big fan of Python—faster but less powerful than Ruby, slower and less powerful than Smalltalk and Common Lisp, and not as usefully grungy as Perl—but I’ve become a rather strong pragmatist vis-à-vis programming languages, and realize that Python probably isn’t going anywhere anytime soon, so I’ve been trying to improve my proficiency through activities such as Django Dash (which Tyler and I won) and small coding projects, such as the one-off tasks I have to do at...

The End of MySQL (Updated)

April 17, 2008 | programming, technology
Sun has just announced that they will begin close-sourcing MySQL. For years, I’ve avoided MySQL due to a mixture of paranoia (I’ve had extremely bad experiences with MyISAM-backed data stores) and disdain for their shoddy standards compliance (which has bitten me before in nontrivial ways). Now I can also avoid them for not being open-source. My standardization on PostgreSQL for this website feels more rational by the minute. Update: The originally linked article wasn’t quite correct. MySQL AB’s...

The Return of Ada

April 15, 2008 | programming
I’m somehow having a really hard time feeling anything but dread about the prospect of a return of Ada. It seems to bear more than a passing resemblance to the last few seconds of Carrie…

Google App Engine now on Amazon EC2

April 14, 2008 | programming
One of my main complaints about Google App Engine is that it locks you into using Google’s servers and APIs, giving you little recourse if Google decides to terminate either the service or your contract. Well, good news: that’s changed—somewhat. Chris Anderson has gotten a proof-of-concept App Engine clone running on Amazon’s EC2 service. Because Anderson has done little more than repackage the App Engine SDK for deployment on EC2, it cannot scale the same way that Google-based hosting (or...

A Poor Man's Time Machine

April 12, 2008 | programming, technology
One of the cool new features of Mac OS X Leopard is Time Machine, a really simple backup solution for Mac OS X that not only transparently backs up your data, but also does so with an amazingly ugly GUI that lets you quickly jump back to the way that your documents were at any given point in the past. Unfortunately, Time Machine doesn’t run on my Linux boxes, so I’m forced to come up with an alternative. The good news is that getting a 90% solution is ridiculously easy. On the back-end, all that...

Write Your Own Google Apps

April 8, 2008 | programming
Google has announced Google App Engine, which allows you to write applications that run on Google’s infrastructure. I personally would be a bit nervous using the service for anything important—unlike Amazon S3 and EC2, making your own service-compatible alternatives is not feasible, leaving you inextricably tied to Google—but I suppose it could be useful for certain applications that need high scalability, integration with other Google applications, or both. Note that all 10,000 initial...