Category Archives: Codethink

Swanky Codethink offices

More than a year ago now Codethink moved to a new location in central Manchester. Its become a comfy home, but I don’t think we have ever introduced people. So without further ado here are some pictures of the ‘new’ Codethink offices.

I’ll hand out a prize of 20p and a curly-wurly to the first person to guess what Rob thinks is the most embarrassing item on our terribly disorganized bookshelf. I won’t lie to you either, the picture of a grey Manchester through a rainy window is a common occurrence. Still, the hacking is awesome, who needs Mediterranean weather patterns.

Tracker RDF database performance

I have spent time on-and-off the past week looking at the performance of the Tracker RDF database. Tracker, I believe, started out as a desktop search tool for Gnome. I never used it in this incarnation, and it has only come to my attention  since version 0.7, when the developers implemented a general purpose RDF storage engine at its core. I wanted to know how this newly implemented RDF database compared to a widely used RDF database in terms of query performance. In essence I was interested in whether the Tracker project had spawned something that could compete with Virtuoso and 4Store.

You can find my complete results and analysis at the tracker mailing list archive, but the headline statement is that tracker had roughly 9 times the query performance of Virtuoso. The graph here shows the breakdown by query.

This is a drastic difference in performance that greatly favours the home-grown database utilized by Tracker. However this stellar performance comes at the cost of flexibility. Its obvious that the database has been tailored very much to the needs of Tracker itself. Unlike Virtuoso it is not ‘schema-free’. A description of the data (In the form of something called an RDF ontology) is required for storage. In addition to this, the data formats are more restrictive, and some common elements of RDF are missing.

My general impression was that Tracker has great query performance, especially considering a tiny memory footprint. Unfortunately it is not suited to storage of pre-existing RDF data sets, such as those generated for semantic-web applications. This could well change in the future. Tracker, and its RDF database, are in heavy development. They already have speed and seemingly stability in the code-base. It might soon be time to add the new features that make it more generally applicable.

I should add that when I started this work I was heavily sceptical. Codethink have been highly involved in RDF, but I have not joined in. I have learned a-lot in the past few weeks, and this has made me more positive. I still believe that RDF might be too flexible for its own good, and I’ve found that the ontologies are onerous, complicated, and not very well specified. I did however come across a great post which explains some of the advantages of RDF over other data models; SPARQL is far more intuitive than its SQL cousin. If used to its potential, with highly interlinked data, I think it may be possible for the benefits of RDF to outweigh the tough learning curve.

Will ‘superphones’ make us more productive?

Every tech company under the sun seems to be pushing new variants of the computer experience on us at CES this year. Smartbooks, Tablets, E-Readers, Smartphones, Netbooks and Notebooks, by the end of 2010 there will cease to be a segmented computing market and consumers are going to have a continuous spectrum to choose from.

Leaving aside how this will muddy the waters when it comes to purchasing decisions, I’d like to concentrate on the most established of the new computing paradigms – the ‘smartphone’. Google can call it a ‘superphone’ all they like, but if its true, then a fruit themed Cupertino company were flying over Metropolis long before they were. The company I work for, Codethink, are considering purchasing smartphones for some of their employees, which has left me wondering if it will make us any happier, healthier or more productive.

Previous size reductions of computing technology have completely shaped the way I work. Over the past two years I have done a full weeks work in: Berlin, Rochester MN, Cambridge UK, North Wales, Manchester, Brighton, and Edinburgh. This is thanks to the availability of small, powerful laptops. It has enabled a whole class of mobile web-workers and I fell for it almost immediately.

I can’t say that hasn’t come without a price, its a ball and chain thats always with you. As software-engineers we tend to love our jobs, take it home with us, sometimes to bed with us, often to the detriment of our well-being. I know that open-source companies have to be pretty mindful of losing people to expectation-stress.

Until now, the smartphone that has become most embedded in business culture is the Blackberry. This has me worried. The Blackberry has so-far been a tool for extending work-hours, convincing employees to stay connected, and stay interrupted. Open-source engineers are already in a state of hyper-connectivity. The moments away from our laptops give us the peace we need for the next day, and extending the flow of information in to that time will lead to a very quick burn-out for us all.

So how will the ‘superphone’ enable me to give-up my laptop? What can I do with it during work hours that will help to streamline my day? As an organisational tool I can’t imagine it will perform better than the computer on my desk, but I may be surprised. Perhaps software for un-obtrusive note-taking will help us ditch the laptop during meetings. Codethink already has a habit of some rather long lunches, maybe this can be turned in to a more productive, but still creative and fun time of the day. Does anyone use some great software that we can’t miss out on?

I know Collabora had the mother-lode of N900′s shipped to them the other week. Collaborans – Is it working out well? :)

Codethink at ELCE 2009

Rob and I took a trip to Grenoble this week for the Embedded Linux Conference Europe meeting. All-in-all a very good couple of days for us. We showed off our research project (daily-catchup) in the demo room on Friday afternoon and got to attend some fantastic talks. Travelling wasn’t so much fun though. Somehow we managed to take 12 hours getting from Manchester to Grenoble. The two pervasive themes at the conference seemed to be boot-time reduction and android.


Jon Masters gave a very good Keynote on Porting Linux. Very interesting to me, Jon gave a great overview of some new things going on in kernel land.


Matt Porter debunks android myths.

The prize winning talk at the conference was entitled “Myth-busters: Android”. Matt Porter talked about his team’s experiences porting android to the Power and MIPS architectures.  It seems that android is not yet a mature technology. Much of the code is ARM specific. Having replaced nearly all of the user-land stack, there is a-lot of configurability and features missing from a more standard linux distribution. I shall endeavour to get hold of the slides so that you can all form your own opinion. For me it was an eye-opener as to just how different android is.


This is the lovely face Rob had immediately after the android talk. If I had to para-phrase the conversation it would be: “Look what they did to our beloved stack”. (Ignored it completely)

The android BOF later in the day helped us all to see some of the really good parts of android. It gave me the feeling that as the platform and community around it matures we will all be able to work with a really great open source product. Just expect a-lot of re-training and re-adjusting along the way.


We demonstrated our daily-catchup research over lunch. The demo table was well attended. Rob and I got to talk about the javascript, vala, tracker, clutter and MVC wizardry that goes into daily-catchup. Its a rich-gui social networking application intended for disconnected operation.


Codethink and the Monta-vista massive.

Tasty dinner on the final evening of the conference. Somehow Rob and I found ourselves out with the Monta-Vista massive. They are a great bunch and made for a wonderful last night in Grenoble.

For a more detailed overview of the conference itself see the free electrons blog.