Simple SSH over Back To My Mac

December 3, 2010
Tags: ,

If you use Back To My Mac, and often ssh to your machines, you can save a lot of typing by adding the following to your ~/.ssh/config file[1]: Host *.«account» ProxyCommand /usr/bin/nc -6 “%h” %p From that point on, you can ssh to your machines with: ssh «machine».«account» For instance, I have a machine called […]


Westinghouse TVs are great…

June 24, 2009

…as long as you never need any customer service. (feel free to skip this entry, as it has nothing to do with development, and is probably too long and boring for most people out there) I have been largely happy with my 47″, Westinghouse HDTV, however, for the past six months or so, it has […]


SDKs and Deployment Targets

June 23, 2009

Xcode has two build settings that are very important when supporting multiple versions of the OS (whether we’re talking about the Mac or the iPhone, it’s all the same to Xcode) with a single application binary. These settings are SDKROOT (a.k.a Base SDK) and MACOSX_DEPLOYMENT_TARGET[1] (a.k.a. Mac OS X Deployment Target). Base SDK Most people […]


4-Way Fat Binaries, 10.4 through 10.5

June 2, 2009
Tags: ,

I’ve seen this question come up several times in the past week: “How do I build a single Cocoa application that runs on both 10.4 and 10.5, and runs 64-bit where possible.” Easy. Copy and paste the following settings into your project or target settings as appropriate: SDKROOT = macosx10.5 MACOSX_DEPLOYMENT_TARGET = 10.5 MACOSX_DEPLOYMENT_TARGET[arch=ppc] = […]


C99’s VLAs are evil

April 7, 2009
Tags: ,

While, at first glance, the ability to define an array, whose length is determined at runtime from a variable, seems like a good idea. Hey, it’s very clean and easy to understand, and all of the normal array operations work[1]; there is one major flaw—there is no way to deal with errors. Variable Length Arrays, […]


Link errors when mixing C++ with C/Objective-C

February 7, 2009
Tags: ,

Twice in the past week, people have asked questions about getting undefined symbol errors when mixing Objective-C and C++. In both cases, this was a result of C++’s name-mangling. Anytime you want to have a single function that is callable from both C++ and Objective-C (or C, for that matter), you need to disable name […]


Inspecting Obj-C parameters in gdb

February 4, 2009

Since the addition of i386 and x86_64 to the Mac OS’s repertoire several years back, remembering which registers are used for what has become difficult, and this can complicate the debugging of code for which you have no symbols. So here is my cheat-sheet (posted here, mostly so that I can find it again without […]