Hack on the Mac(book)
Monday 16th November, 2009 @ 15:53
It’s been a busy few months!
Outside of work my fiancee and I have been planning our wedding and bought a house for us to live in when we get married. It was worryingly easy to do the whole thing, it required minimal paperwork. It’s in Broughty Ferry (on the outskirts of Dundee) and the sea is 100m away and visible from my new study. It’s all very exciting and I’m counting down the days until we get married and I move in.
At work, I’ve been involved in some more fun Qt consultancy stuff. It’s all been enjoyable and varied, something that really suits my childlike attention-span. I work from home for KDAB so they’ve had me flying to various places (Germany, Sweden, Denmark so far and Iceland next week) in the course of my duties. I like seeing new places but am a rubbish tourist so it’s been nice to be able to expand my horizons without much personal effort.
One of the nice things about working with Qt and other open-source projects is that I can get to contribute to them at work when a customer needs a feature/bugfix. One of my projects has involved a lot of QtScript and I used QtScriptGenerator for the bindings (wanted to try SMOKE but I couldn’t find enough of a solid internet presence to trust it fully yet). I’ve made a few fixes to support code written in C++ rather than Qt (handle exceptions better, do some automatic C++ standard library type conversion, support C-style single “void” parameter and bugfixing). This stuff is all available from the KDAB QtScriptGenerator clone on Gitorious and should all make it upstream eventually, I’ve made the necessary merge requests and a few of them have already been accepted.
I can’t wait till KDE and more open-source projects move to Git (and Gitorious/GitHub). It’s so amazingly simple to get patches merged and retain your attribution and handle local work branches while tracking upstream, with merging normally being handled near-automagically. This requires so much time to do in Subversion that it really pains me to have to use it now.
Another interesting project I’ve been working on recently is Homebrew, a package manager for OSX that seeks to use system libraries, be fast and make contribution incredibly easy (things that MacPorts and Fink seem to fail at). It uses Git as the repository backing store so you just fork from mxcl’s repository, use “brew create $URL” to create a template package from the URL and archive name, modify it until it works and make a pull request on GitHub. mxcl then looks over your contribution and merges it if it looks good. So far I’ve tweaked Qt and started adding the necessary dependencies to get KDE in there too.
I really like this model. I trust mxcl as a benign dictator, he is a good guy and makes sensible decisions (such as buying me beer), and I feel this method of contribution really opens the project up to many more people than it would otherwise. It also has the Steve Jobs/Linus Torvalds-type figure that I think is essential for any piece of software to have a clear set of goals and maintain a certain quality level.
It’s been nice for me working mostly on my Macbook now. Everything just works that I need to and I can still run pretty much every open-source application I used on Linux. It’s nice to see the vibrant OSS ecosystem on OSX and the attention to detail in applications such as Adium, particularly in having an attractive and easily usable interface. Hopefully I’ll be able to apply this level of polish to some of the KDEPIM apps in the next while too, currently they work great but look a bit nasty on OSX.
Too much writing, back to the code!
Posted in My Life, Software Development
2 Comments »
The benign dictatorship is also commonly known as “product manager”, but for some reason, FOSS projects hate that term and associating themselves with words that put people in immediate power.
Comment by Seb Ruiz — Monday 16th November, 2009 @ 19:55
That’s a really good point Seb, didn’t think of that before now. The whole “he who codes decides” attitude just means most decisions are made by those people who have the most time and frequently the least experience.
We’ve got some usability professionals and graphics designers now but we don’t have really many product managers. Perhaps we need some more.
Comment by Mike — Monday 16th November, 2009 @ 20:21
Leave a comment