Programming Fonts Recap
Dan Benjamin did a review of programming fonts and identified Inconsolata as his favourite of the ten he presented. I tried out Inconsolata after this recommendation but have gone back to Consolas. There were a few things that I didn’t like about Inconsolata: It feels a bit round, it has a weird lowercase ‘t’ that ends up looking bold when the other text isn’t, the ‘i’ looks a bit thin and using left curly quotes all the time looks a bit strange. I also thought the tilde wasn’t defined enough, particularly in a prompt. Being freely available and not having to jump through hoops is certainly a plus though.
A few weeks later Dan posted a follow up post about Anonymous Pro. I personally can’t see what the attraction to that one is. The larger type looks with a mix of upper and lowercase letter appears like two different fonts and ends up looking a total mess to me.
Around the same time as Dan’s second post news broke that Snow Leopard will ship with a new monospaced font called Menlo that will replace the use of Monaco as the default font in applications like Terminal and Xcode. Menlo is derived from DejaVu Sans Mono which is in turn derived from Bitstream Vera Sans Mono. Jon Shea from ExpanDrive posted a comparison of Menlo to Bitstream Vera Sans Mono that shows the changes that Apple have made. From this comparison they all look quite sensible. The Vera family has been licensed in a FOSS friendly manner and is included as a system font in many Linux distributions. I’ve also tried Vera Mono for programming in the past but again I still like the feel of Consolas more.
Below is a screen shot of each font (except Menlo, which isn’t widely available yet Menlo screen shot supplied by eric s) in TextMate using my preferred theme, Railscasts. Note that my baseline was Consolas 13pt and I adjusted the others to approximately the same size. The code snippet used is the same as Dan used in his Anonymous Pro post.
Progress Update
Its been quite some time since my original post soliciting ideas for a Mac OS X application to develop. Since then I decided to heed the advice I’ve read in several places and to just implement something simple that I want. That ended up being an audio file splitter. The app is currently nicknamed Chopper, which aside from the obvious cutting meaning also has a bit of meaning in Australian culture as a reference to Mark “Chopper” Read.
In July I also changed jobs. As part of accepting the new role I asked to work a four day week, with the intention of dedicating the fifth day to Mac development. A day a week turned out to be too much but they did accept a day a fortnight, written into my contract, so I always get it.
With that day a fortnight I’ve done such things as:
- Come up with an overview of requirements
- Sketch out several possible UI designs
- Benchmark MP3 decoders
- Learn and use the new features in Obj-C 2.0
- Learn OCUint and add unit tests to the project
- Implement an MPEG header parser
- Implement MPEG file splitting
- Implement a CUE sheet parser
- Implement splitting on CUE sheet track boundaries
- Hook up a basic UI that uses bindings
The todo list is still quite large. I will continue plugging away and one day it will be ready. In the meantime I’m aiming to post more frequent updates on this site and maybe cover some of the things that I’ve learnt such as unit testing Cocoa classes.
Seeking Application Ideas
Ever since the now very quiet drunkenbatman hosted the Evening at Adler and Gus Mueller posted, “How to become an independent programmer in just 1068 days”, its has been a goal of mine to one day live the indie Mac developer dream.
Over the years I’ve dabbled in Mac OS X development but have struggled to find the time in between a full time job and also having a life to be able to see something through from start to finish. I’m convinced the ideas are sound because frequently others eventually release similar products. My last endevour was for a better archiver than that provided by the Finder. It was to be dead simple, taking interface cues from things like AppZapper. I discovered a little while ago that the fine folks at Apimac had created Compress Files, which implemented my ideas and more.
Frustrated by this lack of time I decided to do something about it (after a small helping of procrastination). Last week I successfully negotiated a reduction to 4 days per week at my day job, with the fifth day allocated to Mac development. The first day of my new job is Mon Feb 11, 2008. However I find myself with a bit of a problem, I don’t have any current projects to actually work on. Heeding the advice in Gus’ post for Lesson #1 I’m seeking ideas from the Mac using community for a small application that I can use to get started. So if you got an idea for a small application that you don’t mind sharing feel free to post a comment and let me know, it might be just what I’m looking for.