Category Archives: Technology

To Kickstart or not to Kickstart?

A long long time ago I was quite heavily involved in developing a piece of open source software called Rosegarden (the history of which is pretty well documented). It was, and still is, a piece of software that helps you compose, record and create music and it originally came into being during a final year University project that Chris and Andy did back way before when there was a Linux – back when everyone still thought Macs were just for accountants or graphic designers.

I got involved in the first steps of Rosegarden under Linux in 1995 and that snowballed into working on it full time for a while during the early 2000s. I’ve not been involved with the project in any big capacity since about 2006 but I’m pleased to say that the project is still going strong under the watchful eye of D. Michael McIntyre who has been the self-appointed custodian of all things Rosegarden since the rest of us swanned off to have children and do real jobs and have all the fun you can’t have when you’re sweating over an open source cookpot.

Rosegarden is now, what, about 18 years old? About to come of age or already there. Perhaps it’s coming to the end of the road, perhaps it just needs a nudge in the right direction? I’m keen to see it continue and I’ve been doing a small amount of work on a Windows version but the days when we could sit around throwing days and weeks and coding challenges are way behind us. Challenges need to be bite-sized, or life-sized, and Rosegarden might be just too much of a monster to continue. The last time I looked there were over 200k lines of code in there.

So the question is – where to now? And from a quick search I can see that Rosegarden is not the only Open Source audio project thinking the same thing. The question being is there any incentive to continue? Is there a will and if there’s a will – what is the way?

I’m ambivalent about Kickstarter for software projects because I’m not really sure who it benefits the most. For example I love the idea of Light Table maybe because that’s because I’m working on something similar myself (which, like Light Table, will be paid software) but I don’t want to take people’s money up front for it. However for a project such as Rosegarden – where there already is a popular piece of software there already and it’s looking for a way to survive – is this a more valid way for a project to fund itself? If so how should it be structured to attract and retain developers? Who decides who gets paid and how? To me the accountabilty and governance of a Kickstarter software project is still something of a mystery and perhaps we will see a backlash occuring at some point if and when projects fail to deliver? From the Kickstarter guidelines it is suggested that a project should ‘under promise and over deliver’. Perception is everything and with some big ticket Kickstarter projects currently running who is to say what the perception will be in a year’s time for crowd funding?

For Rosegarden perhaps nothing needs to be done other than a holiday for developers and a dose of enthusiasm. However structure always helps any development be it open source, commercial or both. Without vision and leadership things will drift and what helps to keep everyone sweet is an occasional pay day too. So – to Kickstart or not to Kickstart?

Coding Coolness

There’s a lot of talk at the moment about developers. Software development has never been as cool as it is right now. Why is it that coding is suddenly cool after years of being stuck in the basement?

Software makes some companies and some people lots of money and some of those companies are spending a lot of money to promote software development as a cool thing to do. Coding is inherently hard and therefore it’s a prized skill with a price tag to match. However coding itself has never made anyone any money. The monetization of coding comes through companies selling that code or through using those skills to improve their efficiency. App stores make money by charging commission on the software that passes through their portal so it’s in the interests of the app stores to promote development of apps that sit on those stores to keep the money flowing.

So with all this money flying about everywhere and the world in financial crisis we’re being told we should be making our kids learn coding so that they can go and get a job and make millions. The reality of which may very well not turn out to be the bed of roses we think it is. So perhaps what we really want to engender is a framework which supports software development and software developers and doesn’t look to force them into a particular niche or model that will restrict their ability to move on later in their careers. We need to be teaching coders that flexibility with ideas, solutions and technologies can be as important as the bull-headedness they have when it comes to bug hunting.

Whatever way it turns out – learning coding is a good thing to try on for size. A few years ago I said that I wouldn’t wish the software developers job on anyone – stuck in an office, enviously watching the sunshine (or rain) outside. However there are a lot worse things you can do with your life – it’s creative, it’s organisational, it’s important, it’s cool, it’s frustrating and it’s occasionally satisfying. You probably couldn’t ask for more (if you’re that kind of person). So perhaps when it comes to my kids I won’t push coding on them but at the same time I won’t shy away from it.

It is what it is.

Linux without Packages

I’m still mulling over the reasons behind the continued failure of the Linux desktop. I was thinking back recently about why I feel out with certain Linux distributions. Over years of developing for and writing about Linux I formed a good understanding of how the systems work but of course never really understood what needed to happen to improve it.

I never got on with Debian but I think it was because I came to it last – at the end of a path well worn via RPMs and tarballs and everything else. Debian is clever in how it deals with packages but it is certainly not foolproof and precisely because Linux users can change their installed packages it means that they probably will. All users at one time or other will want to get some extra software or update some existing software and this introduces changes which cannot be guaranteed to work. It’s not unreasonable to let users change their software but how can we guarantee it won’t leave our system unusable at the same time?

Answer is that you don’t actually want the user to have the ability to configure core packages. If Ubuntu wanted to do it right they would just send out a binary image which doesn’t have the ability to change the core components without going to a lot of hassle. Take away the mechanism by which it’s easy to download and install packages that are not designed for your system. Put your faith back in the hands of the packager and for anything else you install it with the assumption that it’s standalone or any shared components it overwrites you keep backups. Alternatively you make your system difficult to change at a system level.

A good example of how this was done right was when Asus created their EEE image – they used Xandros over a split file system and made sure that the booting filesystem wasn’t mounted after it had been loaded so that package changes wouldn’t spoil the bootability and core configuration of the system.

These days I only use Windows 7 desktop and I find it both a blessing and a relief for both day-to-day using and maintaining and also developing on. Packages are easily downloaded and installed – the same cannot be said for Linux which suffers under a wide variety of different schools of package management that appear at time to contradict both themselves and each other. When is someone going to wake up and be properly prescriptive about this? Perhaps then we’ll start to see a Linux that Just Works.

Attention Seekers

Quite regularly now when I’m helping a colleague out or explaining something to them they take it as an opportunity to fiddle about with their mobile phone. Perhaps I’m boring, or taking it too fast, or taking it too slow or not making any sense but I’m taking the time to explain something to them because they’ve asked me to. One-on-one tuition is all about pacing and if you don’t get this right using quite a tight feedback loop (engagement) then you’re both wasting each other’s time. Also it’s just plain rude.

Now, presentations – well they can be a little different. They can go on for hours and are often impersonal, dull and deeply uninteresting. If the audience isn’t engaged then they are liable to drift off into smartphoneworld. I’m guilty of surfing or texting or Facebooking in presentations and to some extents this is taken as a bit of a joke but you’ve got to know how far to take this. It seems that the biggest abusers of this system who have the hardest time taking it when other people are doing it to them. As if to say “I can screw around in someone else’s presentation but obviously mine is really interesting and so you should pay attention”. Better to make an excuse and leave and get a cup of coffee rather than sitting there making it worse and also disrupting others.

There is a good article on Slashdot about how banks could be using mobile phone usage data to gain creditworthiness insights based on usage patterns. Similarly mobile phone data usage patterns could easily be farmed for engagement information in meetings, workgroups, seminars, expos etc. This even be used to work out who is actually working and who isn’t – and I’m sure within years with the current levels of privacy erosion it probably will be. Or it might even already be like that. You want a job? Sign up to our agreement on access to your usage data. Who knows?

For me it’s enough that you listen if we’re one on one and if we’re not you can daydream all you like.

Basement Desk

I’ve always been good at taking things apart. The bedrooms here are ravaged now, free of the built-in furniture that made them neat-but-wasteful spacewise. Instead my basement is full of the remnants. So a few weeks ago I hatched a plan to use this stuff for a project: basement desk.

Tried making plans but in the end in proper DIY style decided to just go for it and make it up as I go along.

20110912-213557.jpg

20110912-213715.jpg