Archive for the ‘Development’ Category

Mercurial

Sunday, May 24th, 2009

There’s been a lot of talk in the Mac developer community over the last year regarding revision control systems. I just wanted to chime in with my take on the issue. I’ve used subversion for more of my career than anything else, but I’m using mercurial now and really loving it.

Distributed vs. centralized source control

The first choice a developer likely has to make is whether to go distributed or stick with a centralized system. I won’t go into the details of the differences, as others have already done a good job of that. The basic take-away from these is that distributed systems are great. You can work with them offline, which almost all of us eventually have to do. You can branch and merge easily, which is more useful than you can probably imagine until you have the capability. If you’re working with other developers, you can work independently and later merge things together at an appropriate time with much greater ease than centralized systems.

Choosing mercurial

The two most popular distributed revision control systems today seem to be git and mercurial. I’ve used git a good bit, and I just find its interface to be non-intuitive. Every time I want to do something new it takes me way too long to figure out how to do it. That’s not saying git is bad, just that its interface and I don’t mix well together. Mercurial, on the other hand, is very intuitive to me. It provides all the features of git I could want and I can figure out how to use them with ease.

I’ve been using mercurial throughout the development of Pear Note (well, I actually started with subversion and switched over to mercurial a couple months in), and it’s performed perfectly. My advice to all of you is that if you’ve heard about this distributed revision control thing, but tried git and found it confusing, try mercurial. You still have to grasp the basic concepts of distributed version control, but after that you’ll likely find it much more approachable.

QuickTime and the Carbon File Manager

Friday, November 7th, 2008

Believe it or not, I don’t plan for every post here to be about Pear Note. Some will be about my opinions of things, and some, like today’s, will be about developer topics. So, if you’re not a software developer, you probably won’t get too much out of this post.

Pear Note uses QuickTime for recording and playback of audio/video. I recently ran into a problem that drove me crazy for some time, so I thought I’d share what I discovered here for other developers to learn from.

(more…)