Showing posts with label opensource. Show all posts
Showing posts with label opensource. Show all posts

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 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

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

FOSDEM

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

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

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.

Tuesday, September 30, 2008

Opie 1.2.4 is out

Whew. After over a year of hacking, Opie 1.2.4 is finally out. Thanks to everyone who helped! I hope we can get 1.2.5 out in less time, something like six months perhaps? Maybe if I get a few more patches / other assistance... (hint, hint)

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

No, not the UK TV series - although I have to say I have enjoyed watching it since I've been here. No, what I'm referring to is resurrecting third party Zaurus/QPE/Opie applications. Now that Opie is in Angstrom the next task is to fix up third party applications and get them into the feeds. You can monitor this effort here (fortunately I'm not the only one working on it).

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

People often ask about which Wifi card to buy to use with Linux, and in the past this was a difficult question to answer. When you're talking about a card to use on a PDA the available selection is even smaller.

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.

Opie now supported in Angstrom

Opie 1.2.3 is now supported in the Ångström Linux distribution. Check out the announcement.

Woot! :)

Sunday, September 07, 2008

IntelliSync testing

I had a go with IntelliSync (the SL version) connecting to Opie on my Zaurus this evening. I found that despite being a little hard to find, IntelliSync is in fact still available for download, which is good because the CDs that came with my Zaurus are in Japanese only. Thankfully the installer does not require any licence keys or device presence in order to install.

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.


I also bought a Sharp Zaurus SL-C3000 from Japan on eBay, which has given me not only a new burst of inspiration but also some extra items for my task list (mainly to do with improving Opie's high-resolution support), and given me another machine to test Opie with. It's really quite a nice device - great screen, usable keyboard, CF, SD, and USB host. Built-in bluetooth and wifi would be nice, but at least you can get those with an additional CF card.

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

LRL '08

So, LugRadio is ending :( but I'm going to LugRadio Live :)

Should be entertaining.

Monday, March 10, 2008

Where did my collection go?

So I was trying to move my music collection in Amarok to a different machine. I simply moved all of the MP3 files from machine A to machine B, taking care to preserve the same path structure, and then copied the configuration files (~/.kde/share/config/amarokrc and ~/.kde/share/apps/amarok/* - for clarity, I'm using sqlite backend to store the collection). Then I opened Amarok on the second machine, only to find that my collection was empty. Now, this is not a situation that I'm unfamiliar with - the same thing happened one time when I upgraded Amarok, although somehow I managed to recover from that one. What confused me initially though was that I thought it might not be successfully reading the collection database file; however, after some searching and investigation I figured out what the real problem is and how to solve it.

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

Testing images of the Ångström distribution containing Opie 1.2.3 are now available for many devices, see this page for details. If your device is listed, we would welcome your testing and feedback.

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

Kind of at the last minute I decided to go to linux.conf.au in Melbourne next January. I missed the last earlybird ticket by mere hours, but oh well. As usual there are plenty of interesting talks on, a few people to meet up with and a new city to check out as well. Flights, accommodation and the conference itself are all booked and paid for, so now all I need to do is wait. Should be an interesting trip :)

Thursday, November 15, 2007

Wake me up before you go-go

I was playing around with the Opie clock today and I discovered to my dismay that alarm wakeup is not working at all on my iPAQ h2200 running a self-built Angstrom + Opie image (2.6.21-hh17 kernel). It turns out that most of the pieces of the system are working fine up until the point when opiealarm (which gets run just before suspend) tells the kernel to set the rtc wakeup time. According to the rtc info in /sys it is being set to a date somewhere in 2035, which is not particularly useful especially if you really do want to be woken up early for that meeting tomorrow morning.

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?

So I did some more work on OpenSync/Opie lately - fixed a few issues in Opie's sync authentication code, finally changed the todo list to show some reasonable icons, etc. The most interesting change for me though was to do with CMake - OpenSync has just moved over to it from scons (having previously moved from autotools to scons a couple of months ago). I was reasonably impressed with scons when I came to move the opie-sync plugin over to it, in that it removed a lot of the complexity of autotools, but CMake just blew me away. It's even simpler and requires even less files in my source tree, and switching over was a breeze. Build systems are often the bane of software developers, particularly in the free/open source software world, so kudos to Kitware for making a build system that doesn't make my head want to explode :) Thanks also to Daniel Gollub of SUSE/Novell for all his recent hard work on the OpenSync core, including the decision and the effort to move OpenSync over to CMake.

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.