July 03, 2009

Nerds and Jocks

Growing up without any noticeable athletic skills, the nerd-jock duality was a pretty important part of my childhood.  Nerds were the kids who carried calculators, wore glasses, dressed poorly, read books for fun, liked to be right in class, and had few friends.  Jocks were athletic, well dressed, and popular, but probably stupid as well.  Every person in my class could have listed, by name, the “nerds” and the “jocks” among our classmates, and if we’d transferred to a different school, we could have identified them on sight.  It was, for me, and I suspect for many other kids like me, the primary sorting system for my peers (I guess there was also “goth” and “punk,” but we only had one of each at the entire school, so they didn’t count).

Both these terms are pejorative, but “nerd” was my stigma.  At dinner one evening in 3rd grade, I explained to my parents that my friends and I were the nerds, and that we were proud of it.  I still remember my father’s horrified reaction. “You’re not a nerd!” he said.

Of course as you get older you find that the labels that dominated your childhood don’t make any sense - but early childhood perspectives sometimes linger, lensing your experiences in ways you don’t notice.

So when I moved to Germany, and found myself having to explain this whole concept to bewildered friends and colleagues, I started to think about the nerd-jock duality a little deeper.  What I realized is that, in Germany, engineering is not stigmatized in the same way that it is in the US.  It is possible to self-identify as an engineer, even at a very early age, without being a nerd.

Germany is, in fact, a country of engineers.  It has to be.  Think about it: a cold, cloudy country ranked only 62nd in land mass, 14th in population, and yet in 2008 Germany was #1 in the world in exports by dollars!  Yes, ahead of the US and ahead of China.  How is that possible?  Nerds!  Oops, I mean engineers; engineers who design and build high-quality cars, engines, tools, machinery, scientific equipment.  This is what happens when you don’t stigmatize engineers: you get a country full of engineers, self-identifying as engineers, growing up dreaming of being engineers.

But what kind of country do you get  when you do stigmatize nerds?  I’m afraid you get a country of importers.  A country of investment bankers and “famous for being famous” celebrities and television “news” shows that are frighteningly reminiscent of some of my worst memories of grade school.  A country of people who don’t make things.

My 20 year old sister informs me that the “nerd” thing has softened a bit in recent years, but maybe not always for the right reasons.  Lots more people spend time with technological devices now, and to be part of the priesthood that creates them, tweaks them, hacks them is more impactful than it used to be.

But one of the reasons “nerd” isn’t such a dirty word now is because some nerds get rich.  And that’s the wrong reason to appreciate nerds.  Because only very few nerds will get rich, but we need lots of engineers to build our society.

We have a lot of good archetypes in the US.  We have the pioneer, the frontiersman, the individualist, the entrepreneur.  Let’s keep those.  But we can do without the whole nerd/jock thing.  It isn’t helping.

Autohell, part 995

  • I'm putting in a little time today on my windows branch of jhbuild. Running git now works (using a .bat file to call MSYSgit in its own shell, it's all messy but works fine once it's set up).

  • I spent the past hour or so wondering why ACLOCAL_FLAGS was being ignored. I finally realised that it's not actually honoured by aclocal at all and never has been. autogen.sh scripts tend to execute aclocal $ACLOCAL_FLAGS which make it work often enough that I assumed it was meant to.

    Now I wonder whether autoreconf would accept a patch to make it honour $ACLOCAL_FLAGS, or if I should patch Pixman's autogen.sh to call autoreconf $ACLOCAL_FLAGS .. and any others that don't ..

  • Highlights of Glastonbury were definitely Blur, and a more obscure band called Edward II who I last saw aged about 12.

    Best wishes for everyone in Gran Canaria!

GUADEC!


I had to opt out of GUADEC due to personal reasons. But there are three guys from evolution team Srini (board director :) ), Akhil and Bharath right now at Gran canaria . You can catch them for any evolution queries :)

Akhil should love meeting Ara and Eitan and discuss ldtp stuffs!

A real paper cut

AbiWord had a long lasting usability issue: pressing the insert key caused to toggle the overwrite mode on and off. When doing so we provided two different feedback to the user:

  • a display in the status that switch from "INS" to "OVR"
  • the caret (insert point) switch to red.

This lead to different kind of complaints:

  • "When I type, the text to the right is replaced"
  • "Why is the insert point red? What did I do?"

See bug 3641

This reveal two problems. The first one is that the user didn't realise something happened. I hit a random key (ie he didn't realise which one) and something happened. The second the user noticed the caret changed colour, but still didn't know why.

I had a few ideas in mind.

  • Change the feedback, and there are a few options for that: change the caret shape (colour is never enough), change the status bar message, any other kind of notification
  • Do something for the key binding: popup a dialog, use clippy, play a music just make it disabled by default.

How I did implement it:

  • For now I changed the status bar message to be more readable. INS and OVR are just confusing obscure and an anachronism inherited from the AbiWord first step over 11 years ago mostly in trying to clone MS-Word with some of its atrocities. Now it is in plain $LANG (English here, but it is / will be localised, I hope).
  • I added a UI to enable the toggle. We had that option already in place, it was just on by default, not bound to any UI. I'm not a big fan of adding options, but that's just the best way to do it for now.

What can be done in the future?

  • Change the caret shape when in overwrite mode. I didn't want to do it that late in the release cycle has it seems to have been source of problems. Also it need to be well thought too as we also deal with bi-directional writing.

But that was a real paper cut for AbiWord. Not the only one, just one of them, and it was not that hard to fix. For the sake of it, I did it watching the BSG mini-series for the 3rd time.

Last advices for the GCDS

I know it’s a bit late, but I hope this helps.

I’m from Gran Canaria, the place where the event is going to be, so I like to give you some advices and recommendations:

  • Sun protection. Here the sun can burn you if you don’t take some protections. Some times seems like it’s not so sunny, but it could be dangerous if you are from a northern area.
  • Don’t drink top water. The top water here is supposed to be good enough for human consumption, but the true is that nobody here drink it. We always drink mineral water. And also here was a incident a few month ago about top water’s high levels of boron. That now is normal, but you know…
  • Here there is not so many place with vegetarian food but we try to find all kind places for eat nearby the event. You’ll find that info (which will be updated) at the wiki.
  • The important phone numbers are also at the wiki. Remember the international code for Spain is +34
  • In Gran Canaria (Spain), electricity is provided normally at a voltage of 220 V and 50 Hz. But you’ll probably find adapters at the mall (Centro comercial Las Arenas) just in front the event’s place.
  • Here in Gran Canaria we talk Spanish, so you can find useful the list of common words and expressions we have at the wiki. If you already know Spanish, you need have in mind that here we have some different words (eg. Autobus = Guagua).
  • The most useful lines of guaguas (buses) for going from or at the auditorium are the lines 47 and 17.
  • Taxi is also a good option. Probably you’ll pay 4 € for a normal ride (from the Auditorium to the farthest hotels.
  • There will be a infodesk where you’ll find people who can bring you some help. The contact person will be Fabio, but there will be more people there.
  • I will be also around there during the weekend, I can’t be sure about the rest of the week. Anyways, if you need touristic/local information or just any info of Canarias or Gran Canaria, find me (Juanje Ojeda) and ask me ;-)
  • If you have a group of people who want place for lunch of dinner, ask for me at the infodesk, I’ve been talking with some places to try to arrange this king of things.

I just like to add that Gran Canaria is much more than beaches and sun. So try to get into the countryside or to different part of the island. They are so different between them hat people usually get surprised.

I’ll highly recommend to visit Teror, Tejeda, Agaete, Artenara (and the Tamadaba pine forest), Mogán, Agüimes, Santa Lucía and, of course Maspalomas. There are more interesting places, but with those you’ll get the idea ;-)

Well, we’ll meet you at the Gran Canaria Desktop Summit :-)

GNOME Foundation Board Meeting at GUADEC

GUADEC is starting tomorrow, but the GNOME Foundation was busy today with a all-day board meeting. With the election results now being official, we were able to welcome Germán and Srini.

Still, the meeting wasn't easy for everybody.

Lucas doesn't enjoy the meeting

John is having a hard time

Germán discovers a board meeting

Behdad simply gave up

Still, you can be sure that the board is working hard for the Foundation to make sure that the GNOME project will succeed!

This is your board!

Hit Las Palmas

Arrived at the hotel/summit. Going to head to the venue with a couple of folks soon.

And a small screencast for the day. Testing out the new blur-cache meant for notify-osd:


It’s easy on CPU. So light actually, that I was able to record this very screencast with recordmydesktop on a Dell Mini 9. This is finally also using the subtle text drop-shadow the design folks asked for. Color, font, size and all are just randomly picked by me, as this is a test-program to exercise the small interal APIs I created for implementing the blur-cache.

GUADEC Day 0

Had an excellent afternoon in Amsterdam with my old buddy Mehrdad. Well, the first officer at the Amsterdam border didn't want to let me although I had a Schengen visa, the second one was happy to do so.

Anyway, got to Gran Canaria last night just before midnight, but my luggage decided to spend a night in Barcelona...

Was in board meeting all day today. Vincent is working on sending out the minutes right away.

Looking forward to meeting everyone at the opening party tonight at 9.

Zeitgeist since UDS

Quite some stuff has been going on in Zeitgeist since UDS, including the addition of two new developers to our team: Mikkel Kamstrup and Markus Korn, who both have been doing awesome work!

As planned, we split the project into the engine (Zeitgeist) and the default graphical user interface (GNOME Activity Journal), but during this time we also dropped our old database to start with a completely new structure which is way more flexible and uses less disk space than our previous one.

Not so positively, some team members wanted to try out an ORM (Storm), which from the start one I thought was a bad idea (it’s not that I can’t see the convenience for using one in certain projects, but for Zeitgeist, an engine mainly constituted by a little set of rather complex queries, I don’t really see how it can help us). Doing this -at the same time as the switch the the new database model- ended up as a pretty demotivating experience, and while we got it working at the end the result was an engine which worked slow (even with caching) and used lots of resources, so we’ve decided to go back to plain SQL.

Right now we still have a mix (we’ll probably finish quicking out the remaining Storm parts within the next weeks), but I already changed the main information request methods to SQL, thus reducing common operations from requiring up to thousands of queries to doing only a single one, doubling the speed while reducing memory usage. I hope to get further performance improvements while converting the remaining parts (for example, inserting data currently takes way more time than I’d like).

We also cleaned up the D-Bus API (it was pretty much of a mess before, just enough for the GUI to work) and added more functionality to it. However, it may still undergo substantial changes in future versions once we start making more use of the added flexibility the new database gives us (for example, for the 0.2 release we’ll probably split up tags into “user defined tags” and “automatically assigned tags”). Unrelated to this, Markus has started working at making it possible to configure and enable/disable loggers, so there’s also some cool stuff coming from this front (but nothing visible yet).

Just some random notes… You can read more about Zeitgeist at Seif’s blog, in his recent blog post “Some Zeitgeist news“, and if you have any comment you can come find us in #gnome-zeitgeist on GIMPnet . I’m now going back to work: after all, today we’re going to release Zeitgeist 0.1 (development preview)!

Related posts:

  1. I’m in Google Summer of Code!
  2. UDS 2009


© Siegfried-Angel Gevatter Pujals, 2009. | Permalink | License | No comments | Add to del.icio.us | Post tags: , , , ,

En Gran Canaria!

I’ve arrived yesterday to Gran Canaria for the Desktop Summit, awesome weather, specially for someone like me who is coming from a pretty cold winter at Santiago de Chile. I’m pretty happy to see a few of my good Gnome friends here and I’m really looking forward for the conference to start.



Also remember to put your info at http://live.gnome.org/GUADEC/2009/Rooms

Die HAL Die

Time for a Stalinist purge

The purge is complete

As of a week ago or so, HAL is no longer required by either NetworkManager or ModemManager.  This helps streamline the hardware detection process and cleans up that code a lot.  It was a fun ride and a lot of other great stuff came along with the udev port, because rewriting everything to use udev pretty much required cleaning up a bunch of other stuff.  The udev parts were a lot easier than I thought they would be; what was complex was rewriting a ton of ModemManager to be more flexible and work better with multi-port modems on the one hand, and really stupid quirky hardware on the other.

For everyone in the US, have wonderful 4th of July.  To everyone who’s not, have fun at the Desktop Summit.  Had prior plans meaning I couldn’t attend, but I’m sure the Red Hat team will honor my absence by spreading the love and drinking all the liquor.  Rock on, GNOME.

HALectomy of gnome-power-manager complete

This morning I committed a rather largish (23 files changed, 28 insertions, 1551 deletions) patch:

commit f884a1ae954d14928a6a7055d4d4b182fbb2a3bc
Author: Richard Hughes <richard_at_hughsie.com>
Date:   Fri Jul 3 13:49:05 2009 +0100
    HAL is no longer a dependency of gnome-power-manager

This means that gnome power manager in git master no longer needs HAL to compile or run. This is a quite a significant moment, as now it relies just on the thriving DeviceKit* stack, rather than the old lumbering HAL.

Just a word of warning: You’ll need DeviceKit-power 009 (released in a few days time) if you want to use g-p-m in git master without loosing your ability to change your backlight, or to set the lid action preferences. It’ll still compile with 008, but 009 is very much recommended.

GCDS #1

  • Arrived last night at Las Palmas, Gran Canaria. This city looks a lot like Salvador, my home city!
  • Dinner with Stormy, Jonathan, Zana, and Vincent at a nice Spanish (duh!) restaurant. I ate so much that I’m still feeling stuffed today!
  • Foundation Board meeting during the whole day today.

GUADEC: Where are you staying?

Fill it in: l.g.o/GUADEC/2009/Rooms.

Fri 2009/Jul/03

  • As all the other cool kids in town, I'm flying to Las Palmas de Gran Canaria, to attend the Gran Canaria Desktop Summit. In practical terms, this means GUADEC, GUADEC Hispana, Akademy, and, eventually, other conferences/activities that might be arranged during the big event.

    Partly because of laziness, partly because of having really busy weeks lately (both work and life-wise), I won't be presenting anything during GUADEC Hispana, although I would have liked to. However, Berto and I will be giving a talk on the new Hildon toolkit for Maemo 5, during the Mobile Day. Besides introducing the new widgets and UI style for Fremantle, we will also talk about the difficulties we have been facing during this major revamp of the toolkit, which will hopefully serve to clarify some of the doubts spread around lately.

Have fun at GUADEC !

I had submitted a talk for the GUADEC which was accepted. However, in light of this blog entry, my decidedly infrequent contributions to GNOME and, an inability to travel using my own finances, I decided that there was no glory in asking for travel+lodging assistance. So, once again, I am not going to be at GUADEC ! Some day I will make it though.

One of the reasons that GCDS was interesting for me was the chance to talk about localization in terms of improving the context of the localization-ready content. During translations, one often encounters sentence construction which does not have context and, providing a means to overcome the issue in a gradual manner would make for much nicer localized UIs. Additionally, learning about improvements to the GNOME L10n infrastructure was a secondary goal. The ulterior motive was also to know about the project’s plans to outreach to groups of students beyond the obvious GSoC and, how to use the project’s knowledge to teach open source.

Meanwhile, let me go back to doing some more translations. They seem to be improving my vocabulary by leaps and bounds. Although, my reviewer says that my spelling is atrocious ;)

The post is brought to you by lekhonee v0.5

Mago – Gran Canaria Desktop Summit

Ara Pulido will be presenting Mago in Gran Canaria Desktop summit. Eitan Isaacson will also be attending the conference.

Eitan has done all the base ground work for LDTPv2. Eitan also did the ground work with Javier and Ara on Mago too :) alrounder !!!

Any one interested in GNOME / KDE automated testing, I recommend you to attend the session by Ara.

Happy hacking Ara, Eitan.

Off to GUADEC

Heading to the airport shortly to fly to GUADEC/GCDS.

Doing a bit of an airport tour: Perth, Singapore, Paris, Madrid, Las Palmas; then Las Palmas, Madrid, Gatwick; then Heathrow, Paris, Singapore, Perth. It's like the days of yore, when you had to stop all the time to refuel.

When I get home, there's a week left in Perth before our stuff is uplifted for the move to Melbourne. Have spent the morning packing books into boxes. Steph is going to finish most of the packing while I'm away.

sevastopol is taken!!

Off to DesktopSummit/GUADEC

It’s that time of the year again :) I’m about to start my trip to the summit. Uff… 5:00 in the morning and a trip of roughly 14 hours before me. But can’t wait to see all you GNOME-heads again face to face!

Not blocking the UI in tight JavaScript loops

Everyone’s written a JavaScript loop that just loops over all the {LIs, links, divs} on a page*, and it’s pretty standard. Something like

var lis = document.getElementsByTagName("li");
for (var i=0; i<lis.length; i++) { // yes this could be more efficient, don't care
  // do something here to lis[i]
};

or, if you’re using jQuery:

$("li").each(function() {
  // do something here to this
});

This is problematic if there are, say, 2000 LI elements on the page, and what you’re doing in the loop is semi-intensive (imagine you’re creating a couple of extra elements to append to each of those LIs, or something like that). The reason this is a problem is that JavaScript is single-threaded. A tight loop like this hangs the browser until it’s finished, you get the “this script has been running for a long time” dialog, and the user interface doesn’t update while you’re in this kind of loop. You might think: aha, this will take a long time, so I’ll have some sort of a progress monitor thing:

var lis = document.getElementsByTagName("li");
for (var i=0; i<lis.length; i++) { // yes this could be more efficient, don't care
  // do something here to lis[i]
  progressMonitor.innerHTML = "processing list item " + i; // fail
};

but that doesn’t work. What happens is that the browser freezes until the loop finishes. Annoying, but there it is.

One approach to getting around this is with timeouts rather than a for loop.

var lis = document.getElementsByTagName("li");
var counter = 0;
function doWork() {
  // do something here to lis[i]
  counter += 1;
  progressMonitor.innerHTML = "processing list item " + counter;
  if (counter < lis.length) {
    setTimeout(doWork, 1);
  }
};
setTimeout(doWork, 1);

so you move the bit of work you need to do into a function, and that function re-schedules itself repeatedly, using setTimeout. This time, your user interface will indeed update, and your progress monitor will show where you’re up to. There are a couple of caveats with this: it’ll take a bit longer, and you’re no longer guaranteed to have things processed in the order you expect, but they’re minor issues.

For doing this in jQuery, a tiny plugin:

jQuery.eachCallback = function(arr, process, callback) {
    var cnt = 0;
    function work() {
        var item = arr[cnt];
        process.apply(item);
        callback.apply(item, [cnt]);
        cnt += 1;
        if (cnt < arr.length) {
            setTimeout(work, 1);
        }
    }
    setTimeout(work, 1);
};
jQuery.fn.eachCallback = function(process, callback) {
    var cnt = 0;
    var jq = this;
    function work() {
        var item = jq.get(cnt);
        process.apply(item);
        callback.apply(item, [cnt]);
        cnt += 1;
        if (cnt < jq.length) {
            setTimeout(work, 1);
        }
    }
    setTimeout(work, 1);
};

and now you can do

$.eachCallback(someArray, function() {
  // "this" is the array item, just like $.each
}, function(loopcount) {
  // here you get to do some UI updating
  // loopcount is how far into the loop you are
});

$("li").eachCallback(function() {
  // do something to this
}, function(loopcount) {
  // update the UI
});

Not always a useful technique, but when you need it, you need it.

July 02, 2009

Graduation & GCDS

Officially a computer scientist
As of today, I have graduated and I am now officially a master of computer science, with a specialization in software engineering. Awesome! I graduated magna cum laude (with an average of 81.52%) and scored 18.5/20 on my masters thesis. Needless to say, I'm very pleased with this.


The master thesis: 85 pages of fun


What's next? After much indecision as to whether I'd like to find a job in the open-source (GNOME) world or do something else, I've accepted a PhD offer at the Distrinet Research Group of K.U.Leuven. GNOME hacking will stay a spare-time activity for now, though I might change that decision in a few years. Exciting times ahead!

Gran Canaria Desktop Summit
Tomorrow I'll be flying out to the Gran Canaria Desktop Summit. I'll be spending 11 days in Gran Canaria. I will be arriving in the late afternoon, so that shouldn't stop me from dropping by at the Canonical hosted opening party. Really looking forward to another GUADEC, Istanbul 2008 was really great. Many thanks to the GNOME Foundation for sponsoring part of this trip, without them, this would not have been possible.


Gran Canaria Desktop Summit (GUADEC)


I won't be giving a talk, but if anyone wants to have a chat about F-Spot (or any other subject), come and find me!

GNOME DVB Daemon and GSoC '09

So far I neglected writing about this year's Google Summer of Code. This ends with this post. As last year, I'm working on GNOME DVB Daemon.

In the last couple of weeks I concentrated on the user experience, thus making setting up devices as easy as possible. I made a short screencast that shows the new assistant started by the Totem plugin.

If there's only one unconfigured device it's selected automatically. If you have multiple devices it's checked if there's already a device group of the same type and adds the device to the group, if possible. In addition, you don't have to care about channels.conf at all anymore. In expert mode, though, you still can create only a channels.conf file without actually setting up the devices.

The Totem plugin was improved, too. As you can see in the next screencast:

Everything that's available in gnome-dvb-control can be accessed from within Totem. You can browse EPG, manage recordings, schedule recordings and configure devices. The next step is to remove the existing DVB code from Totem and make the dvb-daemon plugin built-in.

Furthermore, I finally took care that live TV doesn't interfere with recordings. If a recording is coming up and you're watching a channel on a different transport stream, streaming is stopped so the recordings can start properly. That means you can still watch a different channel on the same transport stream (TS) or record multiple channels on the same TS simultaneously.

This are all unreleased features I'm talking about, but hopefully I can make a proper tarball release soon.

Now there are basically two items left on my GSoC todo list. Writing a ring buffer to provide a way to do time shifting, pause/rewind/fast-forward live TV and a plugin system for EPG aggregators.

GNOME Rocked at FISL

Hello, folks.

This is a quick post (written in the airport, while waiting my flight to Gran Canaria) just to tell you that GNOME Brazil one more time rocked at FISL – International Free Software Forum, which took place (again, as every year) in Porto Alegre, south of Brazil.

Thanks to GNOME Foundation, I was able to attend the event, and represent GNOME there, along with many Brazilian GNOMErs. We had a booth and a communitarian event, where I, Vinicius Depizzol, Gustavo (kov) Noronha and Julio talked about the past and the future of the GNOME Desktop, as well about how to contribute with the project.

Some pictures (click for larger size and for the description):

De fisl 2009
De fisl 2009
De fisl 2009
De fisl 2009
De fisl 2009
De fisl 2009
De fisl 2009

Ah, also thanks to the GNOME Foundation I’m right now boarding to Gran Canaria, to GUADEC! This edition is special because it gets together GUADEC and Akademy (KDE) into a single conference. Looking forward to beat KDE guys in the Freefa soccer tournement!

Openismus 2009 T-Shirts

As per tradition, the new Openismus T-Shirts are ready for GUADEC 2009 (GCDS). They are again unlike last year’s, and simple enough to wear among civilians. We were a little rushed this year but they turned out nice. Thanks to Kat for fixing things in Inkscape and getting them done.

We only printed a limited number, so seek out an Openismus developer over the first weekend to get yours.

Now that we’ve found a place to get these done in Berlin we’ll probably do a new design (2009 1/2) for the Maemo Summit in Amsterdam in October.

Openismus T-Shirts 2009

Openismus T-Shirts 2009, modelled by Michael Hasselmann

Tracker experimental merged to main development tree, Ivan’s presentation

I’m currently involved in the Tracker project and our project will be presented by Ivan Frade at the Desktop Summit this Sunday.

We merged our experimental branch tracker-store to master. This means that our reachitecture plans for Tracker have mostly been implemented and are being pushed forward into the main development tree.

I will start with a comparison with Tracker’s 0.6.x series.

Tracker master:

  • Uses SPARQL as query language
  • Uses Nepomuk for its base ontologies
  • Supports SPARQL Update
  • Supports aggregates COUNT, AVG, SUM, MIN and MAX in SPARQL
  • Operates for all its storage functionality as a separate binary
  • Operates all its indexing, crawling and monitoring functionalities in a separately packagable binary

Tracker 0.6.9x:

  • Uses RDFQuery as query language
  • Has its own ontology
  • Has very limited support for storing your own data
  • Supports several aggregate functions in its query language
  • Operates for all its storage functionality in the indexer
  • Operates for all its query functionality in the permanent daemon
  • Does file monitoring and crawling in the permanent daemon
  • Operates all its indexing functionality in a separately packagable binary

Tracker master:

Architecture

The storage service uses the Nepomuk ontologies as schema. It allows you to both query and insert or delete data.

The fs-miner finds, crawls and monitors file resources. It also analyses those files and extracts the metadata. It instructs the storage service to store the metadata.

External applications and other such miners are allowed to both query and insert using the storage service. Priority is given to queries over stores.

Plugins that run in process of the application can push information into Tracker. We indeed don’t try to scan Evolution’s cache formats, we have a plugin that gets it out of Evolution and into Tracker.

Storage service’s API and IPC

The storage service gives priority to SELECT queries to ensure that apps in need of metadata get serviced quickly.

INSERT and DELETE calls get queued. SELECT ones get executed immediately. For apps that require consistency and/or insertion speed we provide a batch mode that has a commit barrier. When the commit calls back you know that everything that came before it, is in a consistent shape. We don’t support full transactions with rollback.

The standard API operates over DBus. This means while using it you are subject to DBus’s performance limitations. In SPARQL Update it is possible to group a lot of writes. Due to DBus’s latency overhead this is recommended when inserting larger sets of data. We’re experimenting with a custom IPC system, based on unix sockets, to get increased throughput for apps that want to put a lot of INSERTs onto our queue.

We provide a feature that signals on changes happening to certain types. You can see this as a poor man’s live search. Full live search for SPARQL is fairly complicated. Maybe in future we’ll implement something like that.

Ontology

We support the majority of the Nepomuk base ontologies and our so called filesystem miners will store found metadata using Nepomuk’s ontologies. We support static custom ontologies right now. This means that it’s impossible to dynamically add a new ontology unless you reset the entire database first.

We’re planning to support dynamically adding and removing ontologies. The ontology format that we use is Turtle.

Backup and import

Right now we support loading data into our database using either SPARQL Update, an experimental unix-socket based IPC, and by passing us a Turtle file.

We currently have no support for making a backup. Support for this is on priority planning. It will write a Turtle file (which can be loaded afterward).

Backup and import of ontology specific metadata

When we introduce support for custom ontologies it’ll be useful for apps that provided their own custom ontology to get a backup of just the data that has relevance to said ontology. We plan to provide a method to do that.

Volume support

Having a static custom ontology for volume support, volumes and their status is queryable over SPARQL. File resources also get linked to said volumes. This makes it possible to get the availability of a file resource. For example: return metadata about all photos that are located on a specific camera, although the camera isn’t connected to this device.

Volume support is a work in progress at this moment.

GCDS expectations

With just a few hours before I leave to Gran Canaria, here’s a list of things I personally would like to get from the conference:

  • I’ve been to all GUADEC’s except for 2 (Stuttgart and Istanbul), and every time I’ve missed one GUADEC, I was doubly excited to go to the next one, so this year, having missed last year’s, this is the case again.
  • Since for the first time we are having a joint KDE/GNOME, I am expecting to have a big push on collaboration and cooperation between the 2 projects. I am not sure what would come out of this, but we should all really be looking for this, since it would just help both projects a lot. So, keep the rivalry only for the sport activities, please (maybe a KDE vs GNOME football game? :-) )
  • As I’ve already blogged about recently, we (at Canonical) are trying to push CouchDB use to the desktop. I’ve got all the code I’ve been working on ready to be shown (karmic packages here, but broken for jaunty right now, sorry), so if someone wants to see it in action (a technology preview, of course, not everything is done yet), just find me around and I’ll do a personal demo (a better demo if you buy me a beer :-D ). Other Canonical staff will be around also showing these (and other) technologies, so if interested, just ask.
  • GNOME 3.0 plans and technologies like mutter, gnome-shell.
  • I only played the FreeFA tournament in Vilanova (yeah, was part of the cool champion team), so looking forward to revalidate the title :-D
  • Mojo Picón, a spicy hot sauce typical from the Canary Islands. Make sure you try the Papas Arrugadas with that sauce.
  • Have a lot of fun!

Only bad thing is that I’m going to miss the first few days of San Fermín festival in Pamplona, but well, since I’ll be back home on the 10th, I’ll have the chance to enjoy the last few days of it. As I said other times, please use other dates than July 6th to 14th next year!

See you all in Gran Canaria!

wordpress I hate you

After seeing that I possibly might have had some exploits run on my site again, I upgraded to wordpress 2.8

After reading up on hardening wordpress, the official site mentions AskApache, some plugin that helps hardening. I’m not too sure about it yet, because it wants to be writing .htaccess files in my directories and for that I have to open up more than I would want. But hey, let’s give it a go.

At some point it creates a username and password that you choose. I go on and configure stuff, not knowing very well which of its many modules I’m supposed to activate, or why.

I forget about it, and ten minutes later I check my mail. I have a mail from AskApache. With my login details. And the password in plaintext.

Is the WordPress security model just fundamentally broken ?

dumping open FF tab URLs using Javascript and shell stuff

The perl and python solutions presented for dumping Firefox current session URLs are not very accurate if you navigate around in the same tab using backwards and forward buttons while remaining on the same domain, as they always print the first visited URL. UPDATE: Actually the python one is as it too uses JSON :)

The JSON data in that sessionstore.js file keeps a list of URLs and an index field of the current one, and the latter is changed by the back/forward navigation.

Using Javascipt we can load that JSON object and manipulate it far more naturally that via regexps. Here's how it is done using the Mozilla JS interpreter smjs that comes in the spidermonkey-bin package. It has no file access libraries so I used this interpreter's readline along with some help from the shell (echo is needed to append a newline to the original input file, otherwise readline() choked.)

echo | cat `locate sessionstore.js | head -n 1` - | smjs -e 'eval("pig="+readline());

i=0;
for each (w in pig.windows) {
print("Window ", i++);
for each (t in w.tabs) {
print(" ", t.entries[t.index-1].url)
}
}'


I have no idea how to do code formatting in blogger, so above code is unindented. On the plus side it can be easily copy-pasted and tested :) Change the locate invocation with you hardcoded path if you want more speed.

Things will be even nicer when GJS and/or Seed are in wider use and you are able to manipulate files directly from JS :)

See you in Gran Canaria!

Pounding a bowl of cereal. Almost time to leave for my flight!

On Sunday I'll be giving a talk about the UI Automation spec, and the work of the Mono Accessibility team. If you're an a11y nerd, or your day job is Winforms or Silverlight app development and you want to automate that shit on Windows and Linux, or you just don't believe that I am currently bearded and want to confirm for yourself, please check it out.

I'd also love to talk to people about Snowy, Free web services, GNOME's online desktop strategy, Batman, and the future of Tomboy.

Dark Victory is really good so far. Doesn't stand on its own...you need to read The Long Halloween first (and therefore should read Year One before that).

A few weeks ago I drafted a blog with updates on Snowy, and just ran out of time to finish it up and post it. But there is some basic info I want to share, so here's an updated excerpt:

We are really excited about all of the positive feedback we're hearing about Snowy, and the upcoming Tomboy Online service. We were reluctant to announce the project before we could confidently host it, but based on the excellent feedback and participation we've received so far, it's clear that we did the right thing by announcing early.

The day I blogged about Snowy, I left for San Diego to participate in my friends' wedding. When I returned on Monday, I had a lot of catching up to do! Here are some of the recent happenings:
  • Brad set up a Snowy mailing list, and a Snowy product in GNOME bugzilla.
  • Og Maciel has begun work on a virtual appliance for Snowy, and in the process of doing so has helped to unearth some bugs (our first mailing list activity). Thanks Og!
  • Ryan Paul of Ars Technica fame as written a great article about the current state of Snowy.
  • Rodrigo Moya and Stuart Langridge have continued to help us refine our REST API, as they work on implementing it for Ubuntu One. Stuart contributed patches to upgrade our authentication from HTTP basic to OAuth, and I finally pushed it upstream, along with corresponding support in Tomboy (based on some handy dandy code from Bojan Rajkovic). I am really grateful for their help!
  • We have our first localization! Thanks to Viatcheslav Ivanov for diving in.
  • The Midgard project has implemented our REST API as well, and intends to add support to Conboy (Tomboy ported to C on Maemo) as well.
This is all after less than a week of Snowy "going public"! This is an encouraging sign that we are on the right track with API design and modularity of implementation.

So that is my updated paste from the draft. The rest was all technical details on the design of the API, and how much Rodrigo, Stuart, and Brad all rock, etc etc. I'll post about that soon...for now I'm going to focus on getting a demo server up for you all to play with!

For those to whom I owe a drink, your day of reckoning approaches!

Fluendo 5th Anniversary

So yesterday was the 5th anniversary party for the Fluendo group. It only seems like yesterday that I joined the group (3 years 4 1/2 months ago) to work for Flumotion. It was really nice of the company to fly me in especially to Barcelona for the party, so thank you.

Dell Mini 10v and the touchpad of death

The Dell Mini 10v does have a very nice keyboard. But then it also has a very bad mousepad. The buttons are actually on the trackpad, so if you click you end up moving, or if you’re dragging you end up shooting across the screen. Pain.

Anyway, there’s a fairly nice workaround by setting the System->Preferences->Mouse values to “Scrolling: disabled” and enabling “Mouse clicks with the touchpad“. All you have to do then is remember not to click the physical buttons, but tap instead. Not perfect, but saves you wanting to hurt someone. Bug for a proper fix is filed here.

GUADEC

I will be attending my first GUADEC this year in Gran Canaria.
This is only possible because I got financial help from the Gnome Foundation. Thanks a lot to Gnome Travel Committee which organized the travel and accomodation subsidy.

I'll arrive Friday 22:50 to Gran Canaria (UX9037), so I'll miss the first party.

It will be nice to meet new friends.

if you are on the same plane or arrive at the same time, this will be an excellent!

See you there :)

A New Job

For those who are wondering: I have started my new job. I am a visions systems engineer in the robotics and automation divison of  Scott Technology. Specifically I’m dealing with the automation of freezing works. This means my job involves:

  • X-rays.
  • Robots with spinning blades.
  • Interfering with sheep.

Two of these are actually mentioned in my job description.

Software patents are silly

Dave Neary summed this up well:

...I fundamentally disagree with discouraging someone from pursuing a technology choice because of the threat of patents. In this particular case, the law is an ass. The patent system in the United States is out of control and dysfunctional, and it is bringing the rest of the world down with it. The time has come to take a stand and say “We don’t care about patents. We’re just not going to think about them. Sue us if you want.”

With Midgard we have prior art on some software patents. Software patents only promote big multinational monopolies, and therefore are against the interests of both Europe and the Free Software movement. They're silly, don't apply here, and therefore the only rational response is to ignore them.

Technorati Tags:

Fedora 11 Release Party at Pune on 04-July-2009

This weekend we are organizing a small gathering at Pune for the Fedora faithful. Details about the Release Party are here. Besides getting the Fedora folks to hang out together and share notes, we hope to have some fun, get some show-n-tell going. Photographs and event reports would eventually follow as well.

As an aside, I am posting this using gscribble – a yet another offline client for Wordpress blogs being developed by Roshan. I had to rebuild it to get it working for F11 and, the truly bleeding rpms are here

guadec ho!

Does anyone have the address of the Mr and Mrs Vengaboy? I have a patch for them.

--- /tmp/were-going-to-ibiza.txt	2009-07-02 11:41:09.000000000 +0200
+++ /tmp/were-going-to-gran-canaria.txt	2009-07-02 11:40:53.000000000 +0200
@@ -1,8 +1,8 @@
 Whoa!
-We're going to Ibiza!
+We're going to Gran Canaria!
 Whoa!
 Back to the island!
 Whoa!
 We're going to have a party!
 Whoa!
-In the Mediterranean Sea!
+In the Atlantic Sea!

Anyone? Perhaps they have a Bugzilla somewhere.

* * *

I wrote to Federico earlier to let him know I was down for hippietime, saying I'd be at GUADEC from Saturday evening to Thursday at midday. He was surprised I was leaving early, which made me realize: why was I being so miserly with my time?

I think my thought was that somehow I couldn't afford to be away for so long, that maybe I should make it back and work the Friday. Ridiculous. I changed my flights so I'm leaving on Sunday instead. See you there, GNOME kin!

GCDS: Discrimination by accent

My level of Spanish being what it is, and my accent being what it is, my cab ride to Las Palmas cost me some €60 from the airport, and that's after the cabbie switched off the meter...

Apparently, the «Catalina Park» apartments booked by the nice people at the GNOME Foundation, have a namesake near Playa de Inglés.


From top to bottom: where I wanted to go, where I was, where I ended up (locations provided «by ear», do not try to replicate at home). Yippee!



FreeFA

In other news the FreeFA tournament is going to happen next Thursday, from 15:00 to 17:00. I'll put the details onto the Wiki when I can remember my password.

5luendo birthday party

Yesterday was cause for celebration. We got together to celebrate five years of the Fluendo Group!

01072009

The picture quality is bad, and not everyone is in it, but I just took it on a whim after marveling how many people were there. I didn’t even know all of them – yes it’s gotten to that point. 67 months ago I arrived in Barcelona without the company even being created…

We celebrated with mountains of cheese and rivers of wine which in the first year would have lasted us a few weeks and now only lasted an hour.

As magical accidents sometimes happen, today is also the day Fluendo received the certification confirmation from Dolby for our DVD player. It didn’t take long to land in the webshop, so finally our DVD player is up for sale! So you know what to get us for our birthday – a shop checkout with the dvd player in your cart.

Good timing – that means that at this year’s GUADEC/Desktop Summit I know what the answer will be to one of the most asked questions I get.

This is the first GUADEC I’m going to with Kristien in tow, I hope she can manage. I’ll be there from Monday through Friday, because the week is bookended by two weddings. Looking forward to a GStreamer summit on Thursday discussing 1.0…

Why I disagree with RMS concerning Mono

The GNOME press contact alias got a mail last weekend from Sam Varghese asking about the possibility of new Mono applications being added to GNOME 3.0, and I answered it. I didn’t think much about it at the time, but I see now that the reason Sam was asking was because of Richard Stallman’s recent warnings about Mono - Sam’s article has since appeared with the ominous looking title “GNOME 3.0 may have more Mono apps“. And indeed it may. It may also have more alien technology, we’re not sure yet. We’re still working on an agreement with the DoD to get access to the alien craft in Fort Knox.

Anyway - that aside, Richard’s position is that it’s dangerous to include Mono to the point where removing it is difficult, should that become necessary to legally distribute your software. On the surface, I agree. But he goes a little further, saying that since it is dangerous to depend on Mono, we should actively discourage its use. And on this point, we disagree.

I’m not arguing that we should encourage its use either, but I fundamentally disagree with discouraging someone from pursuing a technology choice because of the threat of patents. In this particular case, the law is an ass. The patent system in the United States is out of control and dysfunctional, and it is bringing the rest of the world down with it. The time has come to take a stand and say “We don’t care about patents. We’re just not going to think about them. Sue us if you want.”

The healthy thing to do now would be to provoke a test case of the US patent system. Take advantage of one of the many cease & desist letters that get sent out for vacuous patented technology to make a case against the US PTO’s policy pertaining to software and business process patents. Run an “implement your favourite stupid patent as free software” competition.

In all of the projects that I have been involved in over the years, patent fears have had a negative affect on developer productivity and morale. In the GIMP, we struggled with patent issues related to compression algorithms for GIF and TIFF, colour management, and for some plug-ins. In GNOME, it’s been Mono mostly, but also MP3, and related (and unrelated) issues have handicapped basic functionality like playing DVDs for years. In Openwengo, the area of audio and video codecs is mined with patent restrictions, including the popular codecs G729 and H264 among others.

What could we have achieved if standards bodies had a patent pledge as part of their standardisation process, and released reference implementations under an artistic licence? How much further along would we be if cryptography, filesystems, codecs and data compression weren’t so heavily handicapped by patents? Or if we’d just ignored the patents and created clean-room implementations of these patented technologies?

That’s what I believe we need to do. Ignore the patent system completely. I believe strongly in respecting licencing requirements related to third party products and developer packs. I think it’s reasonable to respect people’s trademarks and trade secrets. But having respect for patents, and the patent system, is ridiculous. Let a thousand flowers bloom, and let the chips fall where they may.

So if you want to write a killer app in Mono, then don’t let anyone tell you otherwise. If you build it, they will come.

Fluendo’s 5th anniversary

Today we celebrated 5 years of the Fluendo group around some French Wine & Cheese. Was quite impressive to make a speech in front of around 70 people explaining who we became in those 5 years, one of the biggest Internet traffic pusher in Spain with more than 22 Gbps of bandwidth, having GStreamer and our codecs spread in Linux devices all around us with famous customers like Dell, HP, Wyse, Dexxon, Guillemot, etc.. and having more than 6000 people a day installing our Moovida media center/player.

This day got even better when, by pure luck, Dolby gave us the green light to distribute the DVD player on this exact same day after one full year of certification and paperwork. So it’s my pleasure to announce that the Fluendo DVD player is finally available at http://www.fluendo.com/shop/product/fluendo-dvd-player/ .

A big thanks to everyone for being patient and supporting us along those years, it would not be the same without our beloved community. And now let’s see where we will be at in another 5 years !

Desktop Summit!

I am heading to the Gran Canaria Desktop Summit… but first, need to quickly finish packing! (:

It’ll be an amazing time. I’m excited to see everyone attending!

I should be packing

Tomorrow night at this time, thanks to the generosity of the GNOME Foundation which is sponsoring my travel, I will be on a flight (hopefully asleep) crossing the Atlantic. I’m heading to Europe for the first time to attend the Gran Canaria Desktop Summit. (My wife is fairly annoyed my first trip to Europe does not include her, but that’s another story).

A few of us from the GNOME Journal team will be there - if you have an idea for an article, interview, or a cool app to show off, please look me up. I’m very excited to meet face to face, and very thankful for the opportunity.

And now I need to go finish packing for my flight tomorrow afternoon.

Sponsored by the GNOME Foundation

Cascade of attention-deficit teenagers

Life: It’s been a busy few days, and I should have been blogging every evening in order to keep up.  (But I didn’t, because I was busy.)  I’ve been packing and getting ready for GCDS and trying to finish off some things before I leave.  I did find time to go swimming with Rio one evening, and yesterday we all went to the fair.  I won a fluffy penguin playing darts.  (I was playing darts, not the penguin.)  Thanks to Alex for the photo on the right.

The future of Metacity: It is fairly clear that Metacity will be replaced by its fork Mutter in the near future: Mutter is effectively Metacity 3.  Although I have some loose ends to tie up in Metacity, it doesn’t seem worth continuing hacking on Metacity 2 when the life is in the other fork.  In addition, there are over five hundred bugs open against Metacity, more than I (as the only active maintainer) can humanly deal with.  Mutter has far more contributors and the bugs will be far more easily dealt with.

CADT: However, this raises a problem.  I can’t just close the bugs because there’s a new version: that would be repeating the GNOME 2.0 mistake which jwz called “cascade of attention-deficit teenagers“.  Therefore I will have to go through several hundred bugs and decide whether they are reproducible with Mutter, and if so reassign them.  This will be a long and dreary job, and if anyone wants to help out I’d be happy to assign them a block.

Nargery: There is also a discussion about whether windows should be able to indicate to compositing managers that they are still working on drawing a window, to save the compositor diving in and drawing the existing pixmap, which may be uninitialised garbage.  Some people question whether compositor-specific hints belong in the EWMH at all, or whether they belong in some separate spec.

Meme: Someone is asking “What was your first word?” Mine was “gone.” My grandfather used to play a game with me when I was a baby. He would take an object, like a building block, and then hide it and say “Gone”.

Links:

Jolicloud preview

Today I got an invitation for Jolicloud, I was really excited about that project and I’m really happy for this opportunity to test it.

Jolicloud is not the first Linux distribution I have installed on my Samsung NC10… I’ve tested also Ubuntu Jaunty/Karmic, Fedora, Arch Linux and Moblin (latest snapshot).

Which is the technology behind Jolicloud?

Basically Jolicloud is a derivate of Ubuntu Netbook Remix with wide Prism usage across the desktop environment: the majority of “applications” you have seen in the screenshots are small packages which provide an independent Prism session on a specific website: for example, if you install the twitter application you will get a new icon inside your application list, that icon will start a new fullscreen Prism session for twitter.com.
Common desktop applications are also included, like Firefox or VLC, but it is highly focused on web services.

Installation

It is just like Ubuntu, nothing more/nothing less (you are in the Jolicloud desktop, but the installer is the same used by Ubuntu).

First Run

As said, the “core” is an Ubuntu Netbook Remix, so we firstly see an Usplash booting sequence (nice and simple theme)…

Followed by the GDM session (simple and nice theme too)…

After the login procedure the desktop environment starts. It’s a GNOME desktop with the Netbook Remix session: the custom panel on top shows the title of the current application in the middle, a list of the running application on its left and the status icons on its right. In the center of the screen Jolicloud asks to login on the website and then it opens the default screen you might have already seen (the dashboard shown in the screenshots is nothing more than a Prism session running http://my.jolicloud.com).

Jolicloud is now ready.

The home screen, dashboard, how do you call it :)

As said, the main screen is a Prism session (so a website, no Clutter, no Cairo, no Gtk+…) with useful links to your applications and your settings. It is great to see how it is simple to use, really: installing and removing applications is a matter of a click, browsing and viewing the catalog of applications is very easy. For everyone. I like it.

Running applications

The separated fullscreen Prism sessions work surprisingly well… In the reality you’re running a web browser, but they give you the feeling that they are just like normal applications: if you run gmail, twitter, facebook (etc etc) you have their icons in your taskbar and you switch between them like they were a real application.

It’s the web now the protagonist of your netbook because you are actually using each web 2.0 service as an individual application: something that has been imagined for years by almost every company (Microsoft too) realized in Jolicloud really well.

A desktop replacement?

This distribution is absolutely amazing to surf the web when you’re on a train, in the university, when you just want your social websites up and running, when you want to update all your services and work with your documents.
But just like Moblin, in my opinion it is not meant to replace your Ubuntu… it will be likely added to your grub in a small partition dedicated to your social virtual space. And that is a good thing… when you need you have a quick access to the web. Great!

Comparison with Moblin

They are two completely different projects, even if they share the same love for the web.
Moblin is like a smart interface for your netbook providing a mix of useful applications with incredible tecnologies behind (KMS, fastboot, Clutter…) optimized for your netbook, with Jolicloud the web becomes your operating system (it provides the applications) trough an efficent environment for your small laptop.
I’m sure they will live together on my hard disk soon :)

July 01, 2009

Some Zeitgeist news

The last 3 weeks were a pain in the ass concerning Zeitgeist. However it was very productive and dynamic. We finished implementing the new DB design and got it running.

David Barth helped us a lot with organizing the transfer to the new engine that was designed by Mikkel (the XESAM dude). And all the dataproviders were modified accordingly thanks to Markus Korn.

One of the things that got me jumping up and down like a child is when Alex Graveley (Tomboy and Gimmie) told me he was considering building Gimmie again using the Zeitgeist engine (I guess that won’t happen though he seems to busy). I will look into that at some point after October.

As for our vague roadmap:

Zeitgeist engine 0.1 and GNOME Zeitgeist 0.1:

We froze development and are only fixing bugs for a 0.1 release:

We currently cover the use cases with the engine and UI:

  1. What did I do in any time period.
  2. Search activities by tags etc…
  3. Allow application push their events in Zeitgeist(engine)
  4. Get most used Documents and websites within any time period
  5. Bookmark and Tag Documents
  6. Allow applications to subscribe to events form Zeitgeist(engine)

We will be releasing on Friday hopefully.

Zeitgeist engine 0.2 and GNOME Zeitgeist 0.2:

0.2 Release should be in a month it will be a more or less extending the API and UI.

We intend to cover: (All these points are possible but need to be covered by the API)

  1. What applications were used in any time period
  2. Bookmark/Tag applications
  3. Most used applications in any time period
  4. Most occurring events (reading/writing or visiting)
  5. Bookmark/Tag events

Of course all that needs some refurnishing from the UI side. So the current UI is not our final implementation while the engine wont be seeing major changes until 2.28

After GNOME 2.28 we intend to go a little further by first logging events from online applications and exporting all our dataproviders to be extensions residing in the applications themselves. For that we will need some support form the GNOME developers to extend their apps if possible with plugins. This will allow us then to:

Know how long an activity on an document lasted which then would allow us to:

  • Auto Tag intersecting events and their documents
  • Create relationships between items
  • Restore a full state of a computer (which docs and apps were open)

Also my GSoC student “RainCT”, who is amazingly proficient at making me feel redundant (I will be blogging about that topic soon), has done amazing progress with the engine, API as well as the Shell integration. He has become one of the most important people in the team. Canonical or Google I recommend hiring the little dude!

I think I should mention that Shane Fagan is working on a new KDE UI.

Federico, Thorsten and me are working on the slides for our GUADEC talks. Pretty exciting shit!

However I will be taking 2 weeks off after GUADEC since I have been actively working on Zeitgeist since last October (almost everyday). I need to focus on my exams and the new Zeitgeist extension “Codename Cookie Monster”(we still need a better name) that I will be designing the backend of it with Alex Gabriel from Mayanna and Natan.

guadec, gsoc l10n-el, ellak-conf

guadec

I am attending GUADEC this year, thanks to the sponsorship by the GNOME Foundation!

sponsored-badge-shadow

I am organising the GNOME Localisation BoF, which takes place on Friday, 10th July, 2009, at 17:00. I am also having a session on the GNOME translator command line tool gnome-i18n-manage-vcs on the same day at 15:00.

gsoc

A few months ago, there was a program in Greece, along the lines of the Google Summer of Code, to help Greek developers in FLOSS projects. The program was organised by EELLAK, a Greek non-profit, composed of 25 institutions of the tertiary education and research centres. As it took place during the spring, it was nicknamed Greek Spring of Code (gsoc).

Apart from developing software, the program had a localisation angle, and we applied for the localisation of GNOME 2.26 to the Greek language. In practice, this meant that we had to lift the documentation translations from 32% to 100%, complete the remaining UI translations.

GNOME-226-el

We achieved the goal ;-) .

Many contributors helped in this effort; Jennie Petoumenou (also co-organiser in the effort), Marios Zindilis, Fotis Tsamis, Kostas Papadimas, Nikos Charonitakis, Sterios Prosiniklis, Giannis Katsampiris, Michalis Kotsarinis, Vasilis Kontogiannis and Socratis Vavilis.The overall task was difficult, and our team did an amazing task to complete the translations on time. Thank you all, and especially Jennie and Marios for undertaking huge chunks of the translation effort for this release.

Here are the GNOME EL 2.26 deliverables in HTML, PDF.

ellak-conf

The fourth Greek FOSS (ELLAK) conference took place in Athens on the 19-20th June 2009.

p6190288 by Elias Chrysoheris.

We had our annual localisation meetup!

I organised a workshop on git, with a focus on how to use when starting into software development. There was emphasis on using github.com to host and manage the development. In addition, services such as github.com allow to cooperate during the development, making programming a more social and interesting task.

Finally, there was a presentation of the Greek GNOME team efforts for the last year.

No comment

Desktop Summit - Here I come!

Desktop Summit which is made up of GUADEC and AKademy will be held this year in the Gran Canaria from 3rd-11th July. This is by far the biggest events on its nature, FOSS and totally Desktop oriented.

I will be arriving on the 2nd July evening with the whole bunch from the Desktop group in Sun. Now that some of the people, Alberto, Luis are native Canarians. I am looking forwards to their local hospitality :) Also we meet up hackers old and new.

Many of the exciting talks including GNOME Shell, GNOME 3.0, Mobile Development are so exciting topics that I look forward to hear and see! I will be there until 9th July.

Exciting times ahead

I have left Openismus at the End of June as I will be doing a summer internship at Duke during the next three months for which I have received a DAAD scholarship. I will be heading to the States on July 13, and I'm not going to attend GCDS therefore (even though it wouldn't overlap, I don't feel comfortable with such few time inbetween. Plus I would miss even more University stuff here at Karlsruhe).

At Duke, I will be working with the HEP Neutrino group (supervised by Kate Scholberg) by taking part in simulation studies for next-generation Water Cherenkov neutrino detectors, with special regard to Supernova neutrinos. The goal is to choose detector design parameters so that we gain a maximum of information from the detector, for example about Neutrino oscillation. This will be the first time that I will actually take part in modern research, and actually be applying (some of) the stuff I have learned at University. After having finished the internship, I also hope to have gained insights into whether I want to write my Diploma thesis (starting in a bit more than a year, if everything goes well) in the field of theoretical or experimental (Particle) Physics.

I would like to thank everyone at Openismus. Earning money for working on Open Source Software is a great thing. This helped me a lot to afford my studies. At the end of october, there is a scholarship holder meeting in Berlin. I hope I can visit the Openismus Office then.

Thanks for FUDcon Berlin!


I just wanted to write a quick post to thank everyone involved with FUDcon Berlin. It was definitely an extremely well-organized trip (it really showed), and a wonderful experience. I travelled to the conference by myself, so you can imagine I had quite a bit of anxiety about finding my way around and getting settled in, but things like the Attendee Survival Kit and travel info on the wiki made it a very comfortable trip. Folks went out of their way to be helpful and I really appreciate that. I was also very happy to finally meet in person many of the European folks I’ve worked with over the years and never had the pleasure of meeting face-to-face! I was able to get quite a few things done while there, including:

  • Met with Joel Granados and coming up with some ideas for improving the anaconda storage UI;
  • Met with Thomas Woerner about the system-config-firewall UI and brainstormed some improvements for it;
  • Gave a talk to talk about Fedora Community, and got a lot of *great* ideas for future features from folks in the session;
  • Gave a UI design clinic talk where we went through Bacula’s interface and hopefully effectively demonstrated at least part of the UI design process (I’ve gotten a few emails afterwards about it so I think the demonstration of the design process worked :) );
  • Gave some demos of Fedora at the LinuxTag booth, including a demo of Fedora’s tablet capabilities showing off handwriting recognition;
  • Took a ton of photos; hopefully some can be useful for the Fedora picture book;
  • Took a photo survey of the event signage, in hopes that the Design Team can create an event signage kit with templates for future events;
  • Made a cool poster of event participants and a video showing how the poster was made in Inkscape with Nicu. :)

Overall, a very productive and enjoyable trip, so thanks again!

Posted in Uncategorized

Qaiku API brings first clients: Mauku, Gwibber and an XMPP bot

Qaiku's twitter-like API has been one of the first major contributions I've made to the project, and it is great to see some first applications start to use it. Here are some examples:

Mauku is a microblogging client for Maemo. The new Fremantle version supports Qaiku nicely:

Mauku for Maemo 5 displaying my Qaiku

Gwibber is a Linux desktop microblogging client. Qaiku support is now available in the development version:

Gwibber displaying Markdown-formatted Qaikus

There is also an XMPP bot that we're going to launch soon for wider use. This enables you to monitor your mentions or some channels and post via any Jabber client:

QaikuBot in Adium

If you're doing something cool with the API, please let me know! The #Qaiku-api channel is good for usage questions and ideas.

Every now and then people ask me why we're doing Qaiku instead of "just using Twitter". Here are some points why Qaiku just works better:

  • Qaiku culture and features promote more meaningful and threaded discussion - in general, people comment much more than start conversations which is a good sign
  • Qaiku has language tagging and filtering meaning that when I post in Finnish it will not bother my international friends
  • Messages and comments are proper Markdown, reducing ugliness typical of tweets
  • Features like feed import and image sharing are built-in, removing need for external tools
  • Channels, and especially private channels enable us to do workstreaming in Qaiku

If you want to comment, you'll anyway find me both on Qaiku and on Twitter.

Technorati Tags: , , ,

Fútbol!

One of the highlights for me each GUADEC Gran Canaria Desktop Summit is FreeFA - the casual soccer tournament for geeks!

As of now, our roster looks a little short. If you're interested, log in, then register by adding yourself to the wiki page!

I'll see you on the field!

PS: we could probably use a couple volunteer photographers. I could only find about 10 photos on Flickr for 3 years of tournaments!

Syntax Era

So the BBC is making a new drama series about the battle between the ZX spectrum and the BBC Micro. Currently codenamed ‘Syntax Era’. As it turns out Clive Sinclair, the creator of the ZX Spectrum, had his offices very close to the current Collabora office here in Cambridge. And due to our own Edward Hervey knowing some of the people involved, the production team behind this new series came by our offices to do some location scouting some weeks ago. It is a little bit up in the air if they are going to use our offices or not in the end, but there is a chance they will, and if that happens there is also chance you might catch some familiar faces as extras in this new series :)

GNOME Journal Issue 15 Released!

The GNOME Journal team is excited to announce the second release of 2009 of the GNOME Journal, Issue 15. Featuring six new articles, including three from first time GNOME Journal contributors, in this edition you will find:

Thank you to all of our authors for their articles in this issue, and to Stef and Lucas for their help editing.

Wed 2009/Jul/01

  • Joaquim, one of our new superheroes at Igalia, has been porting the Eye of GNOME to Maemo 5 using the Fremantle Beta SDK and the widgets in the new Hildon toolkit.

    Joaquim's work is a live example of the look 'n feel of Fremantle-style applications. I'd recommend to anyone writing or porting applications for Fremantle to have a look at his screencast and, of course, the application.

Newsflash: Ice Cream Deathmatch!

Woo, Jan Schmidt just created a wiki page so people can register to the most important part of GUADEC: the Ice Cream Deathmatch (renamed to Ice Cream Eating Competition, probably because Jan doesn't feel he can win ;-)). So go ahead and register! If you want to help organize this, send us a small note — we don't know yet the date or format of this competition.

Last year, the deathmatch was crazy, with Henri being stunningly fast. And fast is actually not giving him enough credit...

gcds, soc and a hackfest

gcds

an awesome week in gran canaria is waiting for us. for me this was only possible due to the awesome work and financial help of the travel committee. thanks a lot to all of you!

i will be leaving for gran canaria on friday, travelling with condor from munich airport. my return flight departs on sunday 12th july again to munich airport. if you are on the same plane or plan to arrive at the same time, i would be glad to meet you!

sponsored

soc

together with andre i will give a talk about the success of summer of code and ghop in gnome. though we want to have a slightly different look on the topic: how much code is actually used after the summer, how many students stay in the community and how and what do we have to change to the better. if you have something you might think is relevant to the topic, please feel free to contact us. we would be glad to add different views to our talk. see you on sunday!

hackfest

the speck hack fest in autumn of the last year, was a quite nice experience for us and we would like to do it once again. this time however we want to keep it somewhat bigger, and therefore we need you! together with the south-tyrolean free software conference we will offer a framework for the hackfest. the topic is not defined yet, but it would be great if we could set up some ideas during gcds. please contact behdad or me. schlern

New Design Team Request Queue


You may have interacted with the Fedora Design Team in the past by filing a request on our Design Service wiki page.

I’m happy to announce that wiki page has been deprecated; we are now using the ticket system on our Fedora Hosted Trac instance. So if you need to file a request with the Fedora Design Team, you may now do so here:

https://fedorahosted.org/design-team/newticket

A big thanks goes out to Ian Weller for transferring all our requests over to the new ticket system! :)

Posted in Uncategorized

Django Windmill Tests – GSOC Progress Update

I feel that a status update is long overdue, but as the corpus of Windmill tests grows, so does the time it takes to run a complete instance of the regression suite. However, I do have some fun progress to report as well as a few questions/problems that are showing themselves now that all the fluff is over. First, let’s talk about the fun stuff!

I do have 3 of my major improvements/fixes/restructures to django.test somewhat complete. At the moment they are lacking most in documentation, a problem I intended to rectify later this week.

  1. Windmill Tests: Windmill test runners are nearly complete, threaded development server for AJAX widget testing complete.
  2. Code Coverage: Coverage.py support for runtests.py and management command. Extensible system is easily pluggable with other coverage systems.
  3. Test-Only Models: This is still a topic of discussion, but adding the property ‘test_models’ to a TestSuite will load and wipe the models. Has tests and limited docs.

My major TODO’s still outstanding:

  • Documentation!
  • Twill Runner Support (Utilizing the Windmill Threaded Server)
  • Windmill Admin Regression Tests (Healthy set of tests written, need to document and finish more)
  • Skip tests that are known to fail
  • Test new features/API’s

That’s it for now, more updates are available on the django-dev list!

.NET/Mono Code Camp in Tarragona, Spain



It's official: there will be a .NET/Mono Code Camp in Spain in October. The proposal was made some months ago by CatDotNet, a local .NET user group. Several other .NET user groups quickly joined. The initial idea was to do a traditional Microsoft.NET Code Camp, but I though it would be a good chance of putting together .NET and Mono developers, since after all we have a lot to share. Everybody thought this was an awesome idea.

This will be a good chance for learning and sharing knowledge about .NET and Mono, but I'd also like it to be a meeting point for the Spanish Mono community. I'll be there giving some talks, and I hope other Mono hackers can come too. If you want to propose a talk, or you want to contribute please join the official forum.

More info about the Code Camp in the official web site: www.codecamp.es.

Firefox 3.5 released

Many people might have heard already, but I'm quickly writing anyway that Firefox 3.5 was released yesterday. When I looked just now (2009-07-01 11:00) it was already downloaded more than 6 500 times from inside South Africa.

In terms of the Afrikaans version:

  • All the new text is translated (thanks to Samuel Murray)
  • A few small errors were corrected (thanks to Dwayne and Johan Cronjé)
  • A few of the Alt+letter combinations were changed in the main menu
  • The new product pages were translated (thanks to Samuel)

Spread the news so that we can have thousands of South Africans switching to Firefox 3.5.

Feeds