Planet FLOSS Rides Again
| November 4, 2011 | Posted by Karl Beecher under Research |
I have maintained a blog about my work in FLOSS (and other avenues I’ve explored more recently) for several years now, in two or three different incarnations. For much of that time, I was one of many bloggers syndicated on Planet FLOSS Research, a website that brought together a number of blogs all on the topic of researching and understanding free/libre/open source software. I got to know quite a few interesting people through this little virtual community and learned much from what they had to say. It even led to a few helpful exchanges.
Unfortunately, the community wasn’t kept up-to-date. Entropy crept in. A few bloggers moved their sites or ceased to write, new writers were not added. Planet FLOSS kind of dropped of my radar, but it recently occurred to me that it could be a simple matter to help get the community going again. One email to the hosts later (the Libresoft research group at University Rey Juan Carlos, Madrid) and I am now personally involved in this goal, having been given access to Planet FLOSS’s server.
What do I hope to do? I want to re-establish the feed for the existing community members: update links where they need to be and hopefully make members aware again of a community that had let the weeds grow quite high. I also want to introduce some new blood into the community, and get any talented bloggers enrolled into the feed. Although the community is called Planet FLOSS Research, I don’t think that means we should exclusively cater to academics.
I believe that anyone who considers themselves as having free and open source software as a serious cause or interest is a candidate for involvement. Do you want to get involved? Or share what you have to say? Let me know…
A little problem with the OSGi Version class
| November 4, 2011 | Posted by Karl Beecher under Saros |
With the release of Indigo, Eclipse hackers have been exposed to a little change in the API of the org.osgi.framework.Version class. Specifically, a new method: compareTo(Version) has appeared. Prior to Eclipse 3.7, comparing two Version objects was done via the compareTo(Object) method.
This caused us in the Saros team to suffer a rather subtle bug. When Saros was compiled under Eclipse 3.6 it functioned as expected on the latest version of everyone’s favourite IDE. But when Saros was compiled under 3.7 it suffered an NoSuchMethodException under 3.6 when a call to compareTo() was made. That’s because it was compiled in an environment (Indigo) that inserted a call to compareTo(Version), but was run in an environment (Helios) that knew nothing about such a method.
The reverse situation (compiled in 3.6 and run under 3.7) still worked because a call was inserted that references compareTo(Object). Version inherits from the Comparable interface and thus recognises compareTo(Object) regardless of Eclipse version. I saw at least a couple of other projects complaining online about the same symptoms when I was seeking a solution. As I was unable to find a good solution, I thought I would share with you what I came up with.
To get around the problem, I used reflection. The solution searches first for compareTo(Version) and then for compareTo(Object). Whichever method the code finds, it then executes. Et voilà: code that will run in any iteration of Eclipse regardless of the version it was compiled under… for now at least.
Here’s the gist of the code:
Class versionClass = Version.class; Method compareToMethod = null; try { // Works on Eclipse 3.7 compareToMethod = versionClass.getMethod("compareTo", Version.class); } catch (NoSuchMethodException e1) { log.debug("We're on Eclipse 3.6 or earlier. Fall back compareTo(Object)."); try { // Works on Eclipse 3.6 and earlier compareToMethod = versionClass.getMethod("compareTo", Object.class); } catch (NoSuchMethodException e2) { log.error("Unexpected error: cannot find compareTo() in Version" + e2); } } // Throws InvocationTargetException, IllegalAccessException compareToMethod.invoke(v1, v2);
Edit: Thanks to a couple of readers pointing out the OSGi-preferred solution of compiling strictly against OSGi v1.5, which limits us to either: a) compiling strictly against Eclipse 3.6 (the solution we have been using), or b) importing version OSGi v1.5 into versions of Eclipse 3.7 and later.
The whole problem was actually slightly different from what I explained above. Remember, I’m not trying to use a brand new method newly introduced. What essentially happened was the signature of compareTo() method was changed (compareTo(Object) was actually removed without being depreciated between OSGi 1.5 and 1.6), causing formerly working code to become problematic. Of course, the OSGi method is safer, but prevents us from accessing functionality from later versions of the framework and required.
My solution above allows compilation against any version of Eclipse.
Saros is on Wikipedia
| October 24, 2011 | Posted by Karl Beecher under Saros |
You know you’ve made it when you’re on Wikipedia
Saros benefits from lots of new eyeballs
| October 21, 2011 | Posted by Karl Beecher under Saros |
The latest version of Saros (11.9.30) is now available. This is the first version released under my new working arrangement, so despite my reduced capacity to co-ordinate development, Saros continues to live.
As the saying goes, “given enough eyeballs, all bugs are shallow.” For the last couple of months, Saros has benefitted from over a dozen additional pairs of eyeballs. The annual Freie Universität Berlin Software Engineering project saw teams of eager students working on the Saros code under the watchful eyes of the main team. Thanks to the students, 11.9.30 includes tons of new bugfixes.
Once again, a class of students cut their teeth in team-based software by getting into self-managing groups and developing bugfixes, maintenance tasks, and new features for Saros. Once again, they didn’t disappoint. In fact, the only disappointing thing is that only their bugfixes made it into Saros in time.
Their exciting new features will have to wait until next time…
Epson Printer on Linux: A Shout-out
| October 10, 2011 | Posted by Karl Beecher under Hardware |
In my experience, getting a printer to work on Linux is not straightforward. That’s usually because the manufacturer doesn’t provide a suitable Linux driver, so you have to consult the Internets for something else, maybe a third-party driver or one that works with a model similar to yours (places like www.linux-drivers.com are a godsend at this point).
But not so with my latest printer, the Epson BX625BWD, a very nice little all-in-one for a very reasonable price (WARNING: link contains indecent images of very sexy printer technology). I simply went to the Epson website, located the model and was redirected to their Linux driver providers (a company called Avasys). Downloaded the .deb file, installed and the printer was ready to go.
The first time that printer installation was as it should be on Linux: quick and painless. Thank you Epson!
It’s all change around here…
| October 5, 2011 | Posted by Karl Beecher under News |
Updates have been slow around here for a while, but there’s a reason for that. My spare time in recent days has been soaked up preparing for my career change, which I’ll explain.
I’ve become a freelancer. To be more specific: a freelance IT professional providing consultancy, training and writing services. It’s quite a change and there’s lots of other information you probably would like to know. In the meantime, I’ll direct you to my new business website, where you can learn a lot more.
One of the best things about it is that I will remain in Berlin, a city I love and in which I’ve made myself a wonderful home. Still, the nature of my work gives me good flexibility, so I can consider taking on work from clients who are based anywhere in the world.
What about Freie Universität? Sadly, extending my contract didn’t synchronise with our efforts to extend the Saros project, which paid my wages. On a happier note, Saros development continues with me as a part of it (we are still seeking its extension as I write this) and I can now count Freie Universität Berlin as my first client!
And my interest in free/libre/open source software isn’t going anywhere. I remain an advocate of FLOSS and will endeavour to carry on playing a part in it.
The Great Saros Documentation Overhaul
| September 26, 2011 | Posted by Karl Beecher under Saros |
I just recently noticed an old blog post of mine from late last year in which I announced the creation of a Getting Started page (referring to it rather grandly as “user manual”). I think it’s timely to announce now that the Saros documentation has been greatly overhauled. Not only has existing content been updated or fixed, but a heck of a lot of new stuff has been added, mainly thanks to one of our hard-working students.
The improvements to the “user area”, where Saros users can learn all about using it, are all great, but it’s the technical documentation where the really superb work has been done. Anyone wanting to know more about how Saros works “under the bonnet” now has a really nice catalogue of details. I’ve been getting more and more requests from users recently who want to help with development or have even contributed a patch or two, so the “technical area” should really help out there.
It’s all available on www.saros-project.org.
Saros in the latest Methods & Tools magazine
| September 22, 2011 | Posted by Karl Beecher under Saros |
Methods & Tools magazine invited me to contribute an article about Saros to their publication. It appears in the latest autumn edition, available on their website. Take a look!
Recent Comments