David Heinemeier Hansson on Git

April 03, 2008

From David Heinemeier Hansson’s blog:

So given all that, I think the Git move is even more interesting. That camp is competing not only to convince people that a new paradigm is appropriate for many things, but also as that it, one-out-of-many, should be the one to embody it. I think they're going to get it. Killer apps makes or breaks any platform. With Github, I think the Git hub just scored one. Rails is going to be hosted there for the launch. Capistrano, Prototype, and Scriptaculous already moved there.

Besides lots of public projects moving to Git, I’ve noticed developers asking about it on message boards, wondering what the big deal with distributed source control is and how they can move their existing Subversion repositories. I started using Git last year, so I’m glad it’s gaining popularity. Based purely on rumors I’ve heard, Git’s big competitor Mecurial is slightly better, but lacks critical mass from the developer community (and the blog posts, tutorials and tips that come from it).

Runner’s Log 1.1.1

March 29, 2008

I just released another update to Runner’s Log this weekend, version 1.1.1. This release includes several important bug fixes as well as a few other small improvements. If you’ve had problems with the previous 1.1.0 release, give this a try!

Download the new version here, or read more about Runner’s Log.

Mac OS X virtualization for developers

March 21, 2008

Cocoa developer Craig Hockenberry wants you to file a bug report on the OS X license restrictions that prevent desktop virtualization:

How can you develop new products for Leopard when you need to have Tiger installed for supporting your legacy applications? How easy is it to test a new feature on Mac OS X 10.4.11 when you’re running 10.5? How quickly can you reproduce a bug on 10.4.10 if you’re running 10.4.11? Can you run Xcode versions 3.0 and 3.1 at the same time from /Developer? We all know the way to get Apple’s attention regarding our issues is to submit bugs. So now is the time to vote for virtualization. If you agree with the following, please copy and paste this bug report and submit it so that it becomes a duplicate of Bug ID# 5812840.

I agree with everything Craig is saying, and I can’t wait to see OS X virtualization available. As a developer, the benefits to testing software without switching computers or rebooting to a different operating system are enormous. The only downside is that virtualization will never allow me to emulate PPC processors along with Intel. Until I decide to cut support for PPC entirely (it will probably be a few years before I even consider this), I’m going to have to keep my old PowerBook on a side table for additional testing.

Runner’s Log 1.1.0 Released

March 17, 2008

Although it took a lot longer than I expected, I’m pleased to announce the release of Runner’s Log 1.1.0. This is the first major update to Runner’s Log, and includes a number of great new features and improvements. First and foremost is the ability to import Nike+ data from iPods, something users have been asking for a long time (and I’ve wanted myself)! Also included are assigning locations to workouts, visual improvements to the user interface, bug fixes and more.

You can download the update here, or view the change log here. 1.1.0 is a free update if you have a license; new users can purchase a license through PayPal for $19.95.

Cocoa development links of interest

March 11, 2008

Paul Kim:

Recently, Quentin Carnicelli of Rogue Amoeba asked if there were NSResponder methods that you could hook your “OK” and “Cancel” buttons to to dismiss a modal panel (or sheet). As far as I knew there wasn’t but, gosh darnit, that would be a useful thing to have. To clarify what I’m talking about here, when you run your own modal window or sheet with “OK” and “Cancel” buttons (or some equivalents), you end up hooking those up to methods that dismiss the window/sheet, stop the modal session and return some code (either one for confirmation or cancellation). Most of the time, you end up writing the exact same code. It’s glue code that shouldn’t have to be written.

Jeff Johnson:

With STABS, you could build the release version of your app with debugging symbols, make a copy of the executable MyApp.app/Contents/MacOS/MyApp to keep, strip the executable for shipping, and then use the unstripped executable for symbolizing crash reports by giving a space-separated list of stack trace addresses to the command-line tool atos. Unfortunately, atos cannot currently serve this purpose with DWARF. Unlike STABS, DWARF does not include the debugging symbols in the executable itself but merely includes references to the intermediate object files, which do contain debugging symbols. You can usually find these .o files in a sub-directory of the build/MyApp.build directory. If you delete the object files after building with dwarf, you won’t be able to step through your app’s code. (With stabs, the object files are refuse.) You also won’t be able to step through the code if you strip debugging symbols from your app, even if you keep the object files, because the references to the object files will be gone from the executable.

Mike Ash:

Ultimately I think the trend is bad. Code signing itself is a neutral technology, but it gives incredible power to the system vendor, and that power is just waiting to be exercised and abused. I believe that the iPhone is serving as a testbed to see how users and developers will react to an environment with ubiquitous code signing and control. If it goes well I think we can expect to see our desktop Macs gradually move in this direction as well. Judging by how badly Apple’s developer servers were flattened during the SDK release it seems like there’s no way it won’t go well.

OmniGraffle 5 released

March 07, 2008

Congratulations to Omni Group for the latest release of OmniGraffle earlier this week. I haven’t had a chance to use it much yet, but it seems like an impressive release in terms of features and improvements, as well as taking advantage of new Leopard only technologies.

Omni applications have always had great attention to detail, which is one of the reasons both developers and users love their software. For example, OmniGraffle 5 has two sets of toolbar icons; a normal one for the standard OS X appearance, and a greyscale set that’s automatically used when you choose the ‘Graphite’ appearance in System Preferences. Neat.

iPhone SDK

March 07, 2008

The iPhone SDK has finally landed, bringing with it real Exchange support, WPA2 and other goodies. You can watch the announcement event here, or read highlights and commentary at Daring Fireball.

Although I don’t own an iPhone (yet), I did download the SDK and look forward to playing with it. My feelings about the price structure seem to be about the same as what most other developers are thinking. The $99 listing fee is no big deal. In my experience, even semi-popular freeware applications can earn back more than that through donations. The 30% Apple commission is high, but at the same time the iPhone is opening up an additional revenue source that will augment existing sales. It’s also a really neat, fun platform to develop for.

As a user, I am a little concerned about iPhone applications that are built off of their desktop alternatives. For example, if I buy a license for Delicious Library 2, will I have to pay an extra $20 for an iPhone version (assuming one is eventually released)? Will the iPhone version be free, but intentionally crippled so you need or want the full desktop version? It would be great if the iPhone version could be unlocked with a desktop serial number, but it seems like this won’t be possible. Maybe developers will be able to create coupons that will work in the iTunes store, but I haven’t heard anything about that.

I’m going to buy an iPhone eventually, I’m considering holding out until the next revision. It seems like it June would be a perfect time to release a second generation iPhone along with the new firmware update.

Runner’s Log 1.1.0 Coming Soon!

February 29, 2008

It’s taken longer than I expected, but I’m pleased to say that the next version of Runner’s Log is coming very, very soon. I finished up the remaining new features this evening, and after a round of testing it should be ready to go.

I’m very excited about this release, as it includes many great new features I think a lot of people are going to love. Some are ideas I had wanted to do since the start, others were suggested by users, and few just came to me recently. Putting them together, I think they’re going to make Runner’s Log one of the very best applications in its category.

Cultured Code on UI design

February 04, 2008

Cultured Code writes about designing the user interface for creating repeating items in their upcoming task management application, Things:

It seemed fine in theory. But after implementing and combining it with the underlying logic, it took us only minutes to discover that it didn’t work as expected. Not that anyone was able to tell exactly why. And that’s often the case when developing user interfaces. It just didn’t feel right.

Looking at the sheer number of rejected designs, it’s no wonder why Things is my favorite task management tool at the moment.

Thursday link roundup

January 31, 2008

I should have mentioned this a long time ago, but Cocoa programmer Mike Lee has started a charity to save Madagascar lemurs. Prior to reading I had no idea lemurs were in danger of extinction or the good even a small donation could do, but Mike makes some very convincing arguments.

Instapaper is a new web application for saving links to websites you want to read later. It’s simple and fast, and it’s replaced the .webloc files scattered around my desktop.

Iconfactory released version 2.0 of xScope, a toolset for designers that makes it easy to measure or align visual elements on the screen. It’s extremely handy when doing web design.

Tentacle Arm. Who doesn’t want one?

Amka limited edition posters

January 21, 2008

I found a variety of large format (6.5’ x 2’) posters for sale at Amka last week, via Better Living Through Design. At almost $300 USD they’re expensive, but I think they would look great if you have a large, empty wall space to fill.

A note about the MacBook Air

January 21, 2008

The new MacBook Air looks like an great machine, and I wish I had a need for one. I don’t have a desktop at home, and I doubt I would be happy with the Air’s performance as my primary workstation, so planning on sticking with my MacBook Pro for the foreseeable future.

What’s exciting to me (besides the multi-touch and other new features that should eventually make their way to the MBP) is that it seems like a great reason for Apple to push bluetooth data tethering on AT&T in a future software update or revision to the iPhone. Steven Frank mentioned this in a recent blog post, and I tend to agree. For a laptop that’s designed for portability, it makes sense to have some other option for network connectivity, and without an ethernet jack or ExpressCard slot, bluetooth tethering would fulfill that role nicely.

Bluetooth data tethering is one of the big reasons I haven’t seriously considered buying an iPhone yet. Although it’s slow and I rarely really need it, it’s invaluable when I need to get some work done and I can’t find a reliable WiFi connection. I’m sure AT&T won’t be quick to get behind it, but I still have my fingers crossed.