Wednesday, June 15, 2011
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
* 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
Late last year, due to the apparent demise of handhelds.org the Opie website had to be moved. (One hopes that handhelds.org 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 opie.sourceforge.net 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
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
FOSDEM
Sunday, September 27, 2009
Opie 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
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.
Opie-Notes
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.
Syncing
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
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
* 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.
Tuesday, September 30, 2008
Opie 1.2.4 is out
In the mean time my next task is to get 1.2.4 recipes into OpenEmbedded. I will also be trying to get the OpenSync plugin into a more usable state after some fairly significant changes in the core recently. Here's hoping we can have a stable release of that soon as well.
Wednesday, September 24, 2008
Waking the dead
A lot of this is driven by user demand - several users have asked for specific applications to be available. One of the requested applications was qpenmapfe (a frontend for the nmap security testing tool) which is now unmaintained, and does not work very well on high resolution devices either. However, I found an alternative called qpe-nmap which although it was also unmaintained, it just needed a few tweaks to become fully usable on a wide range of devices. I contacted the author, Fabian Bieker, and he was very helpful, even agreeing to allow me to continue maintaining it (I don't envisage much maintenance will be required, but I'm prepared to do what is needed). The (mini-) project has a new website and a build recipe has just been committed to OpenEmbedded on its way into Angstrom.
Moving forward, I would be happy to take on maintainership of some more older third party applications that are compatible with Opie. If you are the owner of some generally useful Zaurus/QPE application project and you'd like to see your application maintained again, please get in touch with me and we'll see what we can work out :)
Tuesday, September 16, 2008
SparkLAN Wifi card and Linux
However, on a whim I recently purchased a SparkLAN WCFM-100 which is an 802.11b/g CompactFlash card to try it out. Linux compatibility was listed in its product documentation, which is a good start.
It didn't quite work out of the box, however all I needed to do was enable building the libertas and libertas_cs modules in the kernel defconfig in OE, rebuild it, copy the modules over to my Zaurus, extract the firmware (instructions here) and copy that over to the Z, load the modules, and it worked. So I would definitely recommend this product to anyone wanting a wifi card for their Linux-based PDA. When I get some time I will try do document the procedure properly and/or submit some patches to make it easier to get working in Angstrom.
Sunday, September 07, 2008
IntelliSync testing
The next thing was to get the USB network connection working in Windows. I plugged in my Zaurus, Windows popped up the usual dialogs and I fed it the usual linux.inf file which it accepted. Unfortunately though after a delay the result was the error "This device cannot start. (Code 10)". There are numerous references to this error message on the web, but I couldn't find a satisfactory solution amongst any of them. (Of course USB networking between my Z and my laptop when running Linux works perfectly.)
I decided to simply press on and try to get IntelliSync to connect to my Z over WiFi. Despite only having USB and Serial options for the connection type and it insisting on not allowing the IP address of my Z (192.168.0.5) I was finally able to coerce it into connecting by specifying an address of the same length that it would allow (eg. 192.168.1.1), and then editing the file NetStat.dat with a hex editor to change the address. If you then go to the connection settings and click OK the change should be permanent.
This is not enough to actually get it synchronising however - it's obviously connecting, however all you get is a quick flash of the sync screen on the Opie side and then an error with the suggestion to "check the application version" from IntelliSync. Presumably this means that Opie is not sending the responses that IntelliSync expects. I suppose I will have to analyse the traffic in order to fix this.
Monday, September 01, 2008
Opie
I've been doing a lot of work on Opie lately. So far I have managed to achieve the following:
* Fixed Konqueror-Embedded (albeit the 20070316 version) to work with the nice new GUI. I have issues building it from OE .dev though and SSL doesn't seem to be working, so there is work to be done yet. Getting the 20080319 version working would be nice (currently segfaults on startup). A lot of people have asked for this one so it's nice to make some progress.
* Improvements to the new opie-cardapplet. It should now manage removeable cards with ease and won't let you do anything silly like ejecting the card your system is running from :)
* Fixed *a lot* of minor bugs for the 1.2.4 release, which is close at hand.
* Fixed a few package building issues in OE, mostly for packages outside the core set built for images (including third-party applications). I still haven't got Portabase or QPDF2 building though, and I haven't even looked at kopi/kapi yet.
* Tested and pushed for Opie 1.2.3 to be supported in Angstrom. We're almost there, the "machine mentors" just need to get into gear and accept the already built images.
Next thing is to get back into sorting out the syncing situation. Opensync has moved on a little bit lately and I need to catch up. I would also like to test the copy of Intellisync that I received with my Zaurus - OK, it's commercial software, but lots of Zaurus users will still have it and no doubt expect it to work. With any luck it should just work out of the box.
Wednesday, July 02, 2008
Monday, March 10, 2008
Where did my collection go?
Digging into the data structure of Amarok's collection.db (by running "sqlite3 ~/.kde/share/apps/amarok/collection.db"), it seems that Amarok records the device where each track is stored so that you can have tracks on removable devices, and they appear when you plug the removable device in and disappear when you unplug it. When running Amarok with the same collection data on another machine, the device that it thought contained all of my tracks (ie, one of my hard drive partitions) no longer existed and thus the collection was shown as empty.
Once you know what's going on here it's not hard to fix the problem, simply by fixing up the device links. In fact, in collections created in newer versions of Amarok (at least in 1.4.8 - my collection has been around for quite a few versions now) it seems to put the files against no device at all (device_id of -1). A few SQL statements later and I had simply cleared out the contents of the devices table and set all of the device_id values in other tables to -1 instead of a specific device, and voila - the next time I started Amarok my collection was restored :)
It seems to me though that there ought to be a nicer way of exporting your collection so you don't have to muck around like this. It might make a good summer of code project for someone... ;)
Sunday, January 13, 2008
Angstrom Opie 1.2.3 testing
This has been a long time coming, and I'd like to thank everyone who helped make it possible. Of course this is just a step towards Opie becoming supported in Angstrom - we'll allow at least a month for people to test and then we'll evaluate the situation, and possibly after further tweaking be able to release final images, populate feeds and finally declare Opie as supported.
Meanwhile, over the holidays I have been making quite a few fixes in Opie CVS to be included in 1.2.4 - many of them fix bugs that have annoyed me and no doubt others for a while now, which is very satisfying. Included were changes to make VMemo actually usable, many small improvements in AdvancedFM, better alarm sound playback in the Clock, and some others. Once Opie 1.2.3 becomes supported in at least one distribution we can start to think about doing the 1.2.4 release.
Friday, November 30, 2007
LCA 2008
Thursday, November 15, 2007
Wake me up before you go-go
I have looked at the code in opiealarm and it looks OK to me, and hasn't been changed in a long time. It is using the old ioctl() based method of setting the alarm but that really ought to work properly. I suspect this is a bug in the kernel, but with the handhelds.org kernel discussion mailing list being down I'm not sure where to report it. Setting the wakeup time through /sys does work so at least that's something - if it comes to it I suppose I could modify opiealarm to use that method if it is available.
Sunday, October 28, 2007
CMake in OpenSync, Opie 1.2.5?
I've started some tentative plans for Opie 1.2.5. I know, I know, 1.2.4 isn't out yet and 1.2.3 isn't even available to a lot of people, but we're working on that too. I think it's important to be looking ahead. Take a look at the recently updated Opie roadmap for details.