Wednesday, June 15, 2011

Desktop Summit 2011

I'm going to the Desktop Summit 2011

I'm going to the Desktop Summit 2011 in Berlin, Germany. The program looks very interesting and I look forward to meeting people from the KDE, GNOME and other communities. Hope to see some of you there :)

Thursday, April 07, 2011

Release Day

So, quite a lot got released on April 6th:

* The Yocto Project 1.0: Woohoo! 1.0 is out the door and it's the best release yet. Yocto now has a new website, and check out the new video explaining what the project's all about.

* Gnome 3.0: This is a big one for most of the people in my office - not so much for me being the lone KDE user, but still it looks pretty good.

* KDE 4.6.2: a bugfix release. Haven't upgraded yet.

* Horde 4.0: you can't tell from their website but Horde 4.0 has just been released.

* Banshee 2.0

Seems it's a good time to be in free software!

Sunday, March 20, 2011

Opie stuff

So Opie 1.2.5 was released in mid-December, which included the newly rewritten Datebook, working SQLite PIM backends, enhanced syncing protocol and scores of other minor feature additions and bugfixes. Check out the changelog for full details. You can build images including 1.2.5 in OpenEmbedded, and Ångström should have packages soon if it doesn't already.

Late last year, due to the apparent demise of the Opie website had to be moved. (One hopes that might return soon along with some of its content that I and others spent so much time working on; we'll see.) I looked around and SourceForge still appears to be the best choice if you want something actively maintained for free. Being hosted in the U.S. though I did have to jump through a few hoops with export controls - apparently even something that merely launches ssh or has the most basic of password encryption is considered to include potentially sensitive technology and requires that you register it with the U.S. Government; thankfully that process wasn't as onerous as it first appeared and nobody over there objected to Opie being re-exported from the US; amusing considering it was developed almost exclusively outside that country... anyway, I digress.

The new site at is functional although a few pieces are missing and I'm considering switching away from MoinMoin as a wiki platform (which I suspect has been the reason Google has always ignored the Opie website.) It has been time-consuming getting all the links from other websites updated - if I've missed any then please let me know.

People are always surprised/amused that I'm still keen to continue working on Opie given its age, but I still see it being useful on older PDAs and possibly phones that are far too underpowered to run a modern environment such as MeeGo or Android, and it's become a labour of love for me. Often it also serves well as a place to learn new technologies - earlier it was the transition to git that allowed me to become more familiar with that version control system (to the point where I now can't do without a distributed VCS); in recent releases it was updating Opie to make use of newer kernel interfaces e.g. SysFS; in future updates I will be improving Opie's Bluetooth support by connecting it to BlueZ over DBus. If I get time I may even look at integrating ConnMan for better networking setup (something Opie has always struggled with.)

If you're interested in a lightweight, well-integrated platform for older devices then Opie is your platform. At least I'm still taking feature requests and bug reports ;)

Saturday, March 19, 2011

New job

As some of you might already be aware, in November I joined Intel's Open Source Technology Centre (OTC) to work on the Yocto Project, a Linux Foundation project that aims to bring together embedded Linux developers from across the industry. More specifically I am working on Poky, Yocto's build system, which was originally based on OpenEmbedded and has always maintained a high level of compatibility. I've worked with OE for a number of years and working on Poky is really not much different, although I've had the opportunity to dig a little deeper into BitBake and Poky/OE's internals, gaining a greater understanding of how the system works (and of course being able to contribute a number of fixes.) Lately I have also had a chance to test out Poky-built systems on some real hardware, including an eMenlow box and a RouterStation Pro board (usually my runtime testing and debugging is done within QEMU.)

The recent agreement on collaboration between the Yocto Project and OE has been a great thing to witness. At the moment Yocto is closing in on its 1.0 release which is shaping up to be a good one; meanwhile over the last month work has begun in earnest on openembedded-core, the common base for both projects going forward. I've submitted a few patches to oe-core already and when 1.0 is out the door I am keen to get stuck in on further improvements there.

I must say, it's exciting to not only be working with open source / free software technologies on a daily basis, but as a former proprietary software developer for many years, it is also a great privilege to be working on open source projects full time, and to be working alongside some very smart people both within Intel and in the wider community.

Of course, all this open source stuff at work is not going to prevent me from hacking on other things at home; in fact it has given me renewed energy to work on my existing projects and even a new thing or two. More on that later.

Monday, February 01, 2010


Long time no post. Just a quick one to say I'm all booked for FOSDEM 2010 next weekend. Seems like a lot of people are going, and the schedule looks pretty awesome.

I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

Hope to see some of you there!

Sunday, September 27, 2009

Opie update

Wow, it's been a while since my last post (too many people say that on their blogs, heh), so it's probably long past time for an update.

Work on Opie has been fairly solid lately - if you have a look at the commits you can see that. On my end a lot of this has been due to the acquisition of my netbook (a Dell Inspiron Mini 10v) which I can use to write code on the train, and I do that most days. It's only ~40 mins each way, but it's surprising how much you can get done in that time with no real distractions, other than the free London papers that is - sadly of which there is one less as of a couple of weeks ago :.( Anyway, let's cover each part in detail:


Datebook2 is almost finished. There's a small matter of making sure alarms on synced in calendar events actually get registered on the Opie side - I'm still not quite sure how to structure that, but I'm sure I'll figure it out. I'd also like to improve the application visually a bit - perhaps make all of the views use the same colours to draw events, improve text placement, etc.


We haven't really had a proper notes application within the Opie application set - Opie-Notes (based on the old NoteZ application) has been around for a while, but was somewhat limited and not included by default in most distributions; most people simply used the Text Editor. No more! Opie-Notes is now a first-class PIM application with the introduction of SQLite backend support (including support for synchronisation), categories, and built-in search. In addition the NotesApplet has been modified to use the same backend as Opie-Notes, so you can also have quick access to your notes from the taskbar if you wish.


Synchronisation is boring. It's a fact. Unfortunately for many people (myself included) it's a must-have for almost any device that has PIM data on it. I have been working hard on this over the last few weeks, and the good news is most of the major work on the Opie side is done. There is now the ability to read and write data to and from the SQLite databases remotely, with the option of only reading changes in both directions, for multiple peers (clients) - i.e., proper synchronisation. What I'm now working on is implementing the other side in the OpenSync plugin. I will also make sure everything works with the old Qtopia Desktop and (time permitting) the old IntelliSync for Zaurus.

It's great that OpenSync development has ramped up again - 0.39 was released last week, just one more version to go until the next stable release which is 0.40. If I work hard I can get everything in order in the opie-sync plugin for that release and we can finally have powerful, reliable synchronisation.

Other bits

Opie has moved from CVS to Git (hooray!); Security settings has had an overhaul with lots of bugs and undesirable behaviour fixed; another big batch of code quality fixes from Erik (thanks Erik!); and more - check out the changelog.

What's next

Make synchronisation fully work; fix the remaining bugs for 1.2.5 (login guest/guest); and of course testing, testing and more testing! There has also been some some interest from a few potential new contributors as well - I won't preempt things but it is certainly an exciting prospect to have some more people on board.

Thursday, November 13, 2008

Opie datebook2

In Opie news I have been working hard on the datebook/calendar rewrite (aka datebook2). This was a project started some years ago but never finished, but if we are to have SQLite backend support for Opie PIM then it is essential, and it gives me the opportunity to add some more requested features and make the code a lot neater at the same time. Everybody wins!

The skeleton for datebook2 was already in place, and all of the data access classes in the Opie PIM libraries were there and about 98% complete. I must congratulate former Opie team members Stefan Eilers and Holger Freyther for their excellent work there - so far I have only had to make minor modifications to the Opie PIM API code in libopie2, and the original design of the datebook2 skeleton has worked very well as a base to build upon.

My aim is to make the interface almost exactly the same as the original datebook and thus a lot of code has been reused from there, with a fair bit of tidying up. The only remaining pieces from datebook1 not yet implemented are searching, beaming, keyboard shortcuts, a few other minor bits and pieces, and of course testing (!). Additional features on top of what datebook1 provided now include snoozing for alarms, and editing of location & description drop-down lists. I plan to try to improve multiple timezone support, and I may have a go at enabling the linking events together (aka irregular recurrence).

If you want any specific improvements to the datebook feel free to submit requests via the opie bug tracker or mailing list.

Handhelds aplenty

I went a bit crazy on eBay recently and purchased a whole bunch of second-hand PDAs:

* iPAQ h1910
* iPAQ h4150
* Jornada 680e
* Jornada 720
* iPAQ h3850, h3870 and an h3660 all three of which I plan to give away to prospective kernel hackers.

All of these devices were chosen not only because they are now quite cheap, but also because there are already existing working Linux ports for them. They still need someone around to support them however, and in the case of the 4150 there is some minor bugfixing work to be done in Opie (eg. the record button not working, although this could be a keymapping issue). The 1910 works almost flawlessly, hats off to aquadran for a very complete port and thanks for choosing Opie as well :)

I really like the form factor of the Jornada devices - having a usable size keyboard is excellent; however the screen in comparison to screens on other devices is absolutely awful - blurry, dimly backlit, and the colour response is somewhat patchy. It does not help that the touchscreen on the 720 is a bit worn out also. Still, it's plenty good enough for testing. I was able to run the JLime distribution on the 720 which is available with IceWM or a slightly old version of Opie (1.2.2). On that machine, some features are missing (most notably suspend/resume and sound). I haven't gotten around to trying Linux on the 680e, but from what I can tell the port is a little more complete.

As for the h3800/h3600 devices, well, they badly need bringing up-to-date (to the Linux 2.6 kernel). This needs the help of someone with kernel hacking skills - see my mailing list post for details.