Planet GNOME-NL
Self-portrait titled Weltschmerz and whisky, © Wouter Bolsterlee, 2009 (click for large version)
At GCDS Jamie told us that he wants to make a plugin for tracker-store that writes all the triplets to a CouchDB instance.
Letting a CouchDB be a sort of offline backup isn’t very interesting. You want triples to go into the CouchDB at the moment of guaranteed storage: at commit time.
For the purpose of developing this we provide the following internal API.
typedef void (*TrackerStatementCallback) (const gchar *graph,
const gchar *subject,
const gchar *predicate,
const gchar *object,
GPtrArray *rdf_types,
gpointer user_data);
typedef void (*TrackerCommitCallback) (gpointer user_data);
tracker_data_add_insert_statement_callback (TrackerStatementCallback callback,
gpointer user_data);
tracker_data_add_delete_statement_callback (TrackerStatementCallback callback,
gpointer user_data);
tracker_data_add_commit_statement_callback (TrackerCommitCallback callback,
gpointer user_data);
You’ll need to make a plugin for tracker-store and make the hook at the initialization of your plugin.
Current behaviour is when graph is NULL, it means that the default graph is being used. If it’s not NULL, it means that you probably don’t want the data in CouchDB: it’s data that’s coming from a miner. You probably only want to store data that is coming from the user. His applications won’t use FROM and INTO for their SPARQL Update queries, meaning that graph is NULL.
Very important is that your callback handler works with bottom halves: put your expensive task on a queue and handle the queued item somewhere else. You can for example use a GThreadPool or a GQueue plus a g_idle_add_full with G_PRIORITY_LOW callback picking items one by one on the mainloop. You should never have a TrackerStatementCallback or a TrackerCommitCallback that blocks. Not even a tiny tiny bit of blocking: it’ll bring everything in tracker-store on its knees. It’s why we aren’t giving you a public plugin API with a way to install your own plugins outside of the Tracker project.
By the way: we want to see code instead of talk before we further optimize things for this purpose.
http://www.webupd8.org/2009/11/gnome-music-player-client-gmpc-mpd-just.html
as a side note on the memory usage, I just post this screenshot:

Vincent van Adrighem (adrighem)
GMPC now includes some nice humanity icons you get if you switch to the humanity theme.
It is not done, mostly plugins are not yet updated to have both hicolor and humanity icons. (I am to blame for this) but Zeltak managed to make most icons in gmpc ‘human’:
This was part off a Rail mount adapter package.

While you guys are all wondering who he is, we in Belgium are wondering who’s going to replace Herman Van Rompuy as our prime minister.
He’s the only prime minister who managed to give Belgium non-chaotic federal politics, for a few months.
I fear that Belgium will now plunge into a new political crisis. Not because the former prime-minister, Yves Leterme, is a bad one, but because the Walloons simply don’t want him. We know they’ll do everything in their power to discredit Yves. Especially their media will. Le Soir already publicly said that they’ll “veto” Yves Leterme as prime minister. As if a newspaper elects ministers. Arrogance.
If the price for delivering the first president of Europe is that we must pay with a new political crisis, I guess that we are so used to politic crisis that it’s okay. We’ll survive. You guys can have him.
He’s quite intelligent. He’s not a media guy. We don’t know more about him ourselves. Use wikipedia.
The real bad thing about Herman is that in the past he let religion influence his politics. He was for example against abortion laws. And he is against Turkey joining the union because of religious differences.
However. For the people from the United Kingdom: fuck your conservative tabloid magazines. To the idiot editors of those tabloids: discrediting Van Rompuy was easy, still you guys screwed up with retarded articles about Belgium.
ps. I don’t care that you don’t want politics on planet.gnome. It pulls from my blog, so ask the administrators of planet.gnome to pick the right categories. I say this because I know that people will otherwise comment about it. I want them to know that I don’t care.
Pascal de Bruijn (pmjdebruijn)
I read Fedora 12 has already stopped shipping GIMP in their default installation, and Ubuntu is about the follow suit. Considering I’m a hobby photographer you might think I’d be opposed to this move, but I’m not. The rationale for this move is very valid indeed. F-Spot has become a quite capable piece of software, these days it does just about everything most users want: crop, adjust saturation, adjust contrast and remove red-eye. For most “normal” people GIMP is quite scary, luckily shows like Meet The GIMP ease this problem considerably.
Having said that, I am still slightly sad about this, GIMP is one of those iconic open source applications that have been around for more than a decade. Luckily we’re not saying farewell, just until we visit next time.
A while back a friend had a problem with his HP Mini netbook, which has a Marvell Yukon 2 Fast Ethernet NIC. When the netbook was booted without having the Ethernet cable connected, the NIC would not show up at all, as in it wouldn’t be visible on the PCI bus. This is because of very aggressive power saving. The problem with this power saving tactic is that as far as I know, PCI wasn’t really designed with hot plug capability in mind, and powering down a chip to the level where it’s not visible on the PCI bus anymore, is more or less equivalent to PCI Hot Plug.
Early server solved this issue by having a special chip on the motherboard the handle the PCI Hot Plug events. Later on this was more or less standardized by using ACPI to handle this for laptops and possibly some desktop computers. And indeed the HP Mini needs ACPI PCI Hot Plug support to allow the Yukon 2 chip to be detected on the PCI bus after it’s been booted.
Somehow Ubuntu does not “detect” ACPI PCI Hot Plug is required and does not load the appropriate module. Luckily this is easily fixed by adding “acpiphp” to “/etc/modules”, and presto the Yukon 2 works as expected even if no Ethernet cable was attached during boot.
Recently I tried to upgrade the BIOS of my Intel DQ35JO motherbord, with which I’ve been pretty happy. After the upgrade to the most recent BIOS (11.22) my Linux kernel (2.6.28-16-generic/amd64) failed to boot, producing the following error message:
PANIC: early exception 0e rip 10:ffffffff8041f9b4 error 2 cr2 ffff87ffffffffff
Downgrading the BIOS to a somewhat older version (but newer than what a started with) solved the issue again. So I set out to finding out in what BIOS revision the regression snuk in:
- 09.42 works
- 09.91 works
- 10.16 works
- 10.56 fails
- 11.22 fails
So when upgrading your Intel DQ35JO motherboard, I recommend you stick with BIOS version 10.16 for the time being. I reported this issue to Intel, and I was told the issue would be passed along to the engineering department (with little guarantee this would be fixed). But Intel being Intel I have good hopes this will get resolved with some patience…
Het viel mij op dat de scanner van mijn HP Photosmart C5180 niet meer werd herkend onder Ubuntu 9.10. Een mooie aanleiding om het verhaal “printen & scannen” met deze printer uit de doeken te doen. Deze handleiding zou moeten werken voor elke moderne HP All-in-one fotoprinter met een ethernet aansluiting.
De HP Photosmart C5180 heeft namelijk de mogelijkheid om zowel met USB als met een ethernetverbinding aangesloten te worden. Het heeft mijn voorkeur om te werken met de ethernetverbinding zodat er een echte netwerkprinter kan worden ingezet.
Installeren:
Onder Ubuntu installeer je een printer met de functie (Systeem-Beheer) Afdrukken. Klik daarin op “Nieuw” en er wordt gestart met een zoektocht naar een aangesloten printer. Zorg er dus voor dat de printer is aangesloten en aan staat. Op die manier wordt de netwerkprinter gevonden en hoef je alleen nog maar een verkorte naam en eventuele lokatie aanduiding te geven.
Op deze manier werkt de printer. Maar de tevens ingebouwde scanner wordt niet altijd automatisch gevonden als je XSane opstart. In mijn geval vindt XSane mijn Hauppauge PVR kaart. En mocht je een webcam hebben aangesloten dan is het ook niet onmogelijk dat die webcam als scanner wordt herkend.
Scanner
Om toch de scanner te kunnen gebruiken is het van belang om de starter aan te passen. Het commando “xsane” moet worden opgevolgd met de zgn. SANE URI output van de volgende (terminal) opdracht:
hp-makeuri ipadres waarbij ‘ipadres” natuurlijk wordt vervangen met het ipadres wat je router heeft afgegeven voor je printer.
Ga vervolgens naar (Systeem-Voorkeuren) Hoofdmenu en klik door naar submenu “Grafisch” en klik dan op de opdracht XSane afbeeldingen-scanner en klik op eigenschappen.
Pas vervolgens de Opdrachtregel aan met de output van de eerder ingegeven hp-makeuri opdracht:
Sluit daarna dat venster en voortaan wordt de scanner meteen gevonden, vooropgesteld dat je het IP adres van je printer/scanner hebt weten vast te zetten.
Hulpmiddelen:
Er zijn tools die het mogelijk maken om de inktvoorraad te controleren van je printer. Maar omdat bovenstaande werkwijze gebruik maakt van de ethernetverbinding kan je ook rechtstreeks communiceren met je printer. Je hoeft alleen maar een browser te openen en het ipadres in te tikken van je printer. Je kan dan vervolgens vanuit je browser de scanner bedienen, netwerkinstellingen aanpassen of de inktvoorraad controleren.
Vincent van Adrighem (adrighem)

Update: Problemen bestaan nog steeds. Inmiddels wel oorzaak getraceerd. Het doet zich alleen maar voor als de combinatie van browser en een Adobe Air applicatie (Tweetdeck) actief zijn. Je kan standaard geen Adobe Air gebruiken onder 64 bits Linux dus de kunstgrepen om dat wel voor elkaar te krijgen spelen mogelijk op.
Mijn Ubuntu 9.10 desktop draait in de 64 bit uitvoering. Wel heb ik gekozen om te werken met de specifieke 64 bit uitvoering van Adobe’s flash. De standaard flash configuratie heb ik dus overboord gegooid. De werkwijze om dat te verkrijgen staat beschreven in de bespreking van Ubuntu 8.10. Die werkwijze is nog steeds te gebruiken.
Maar de laatste tijd ondervond ik regelmatig problemen met Firefox. Ik kon Gmail of b.v. de Volkskrant niet openen of er kwam een segmentatiefout. Dat riep om een oplossing. Terug naar de 32 bits uitvoering van Flash vond ik geen gelukkige keuze.
Uiteindelijk was dit een geschikte remedie:
Voeg de volgende regel toe aan (Systeem, Beheer) Softwarebronnen:
http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu
Zorg daarna voor een sudo apt-get update en een sudo apt-get upgrade en accepteer maar even dat er geen handtekening bestaat. Binnen de korste keren is je Firefox omgezet naar de laatste versie van Shiretoko met versie 3.5.6pre (Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.6pre) Gecko/20091112 Ubuntu/9.10 (karmic) Shiretoko/3.5.6pre) en loopt de zaak daarna als een speer. En dan bedoel ik inderdaad dat niet alleen het geconstateerde probleem is opgelost, maar dat de browser ook aanzienlijk sneller werkt.
Het gebruik van Compiz is inmiddels wel gemeengoed geworden. Veel van haar mogelijkheden zijn echt handig in gebruik. Het is alleen wel van belang dat Compiz niet in de weg gaat zitten van een goede performance.
Op mijn computer zag ik regelmatig zgn. “tearing” problemen bij het afspelen van een film. Gelukkig is dat op te lossen met behulp van compizconfig-settings-manager (CCSM)
Start CCSM op en ga naar “Algemene Opties” en klik dan op het tabblad “Display Settings”. Haal daar het vinkje weg bij “Detecteer verversings snelheid”. Stel vervolgens de juiste verversingssnelheid in met behulp van de schuifbalk. Als je dat hebt gedaan zet je vinkje in het vakje “Sync naar VBlank”.
Onder mijn 64 bits uitvoering van Ubuntu 9.10 had ik last van een soms crashende Firefox browser. Gelukkig stonden er vanmorgen updates klaar die dat probleem (waarschijnlijk) hebben weten op te lossen.
Het werd echter ook tijd om mijn java versie op te waarderen. Want gek genoeg wordt dat niet gedaan door Ubuntu zelf. Daarom heb ik de handleiding gevolgd van Pjotr die op zijn website een uitstekende handleiding heeft geschreven voor zowel 32 als 64 bits versies van Ubuntu.
Mocht je gebruiker zijn van een Ubuntu desktop dan is die website sowieso een aanrader van jewelste. Je kan er bijna alles vinden om je systeem goed te configureren. Zet die site dus in je favorieten of gebruik de link vanuit Digiplace Blogroll.
Today, I feel like exposing you to some bleeding edge development going on as we speak at the Tracker team. I know you’re scared of that and that’s precisely why I want to expose you! Hah.
We are prototyping writeback support for Tracker.
With writeback we mean writing metadata that the user passes to us via SPARQL UPDATE into the file that he’s describing.
This means that it must be about a thing that is stored, that it must update a property that we want to writeback and it means that we need to support the format.
OK, that’s three requirements before we write anything back. Let’s explain how this stuff works in the prototype!
In our prototype you mark properties that are eligible for being written into the files using tracker:writeback.
It goes like this:
nie:title a rdf:Property ; rdfs:label "Title" ; rdfs:comment "The title of the document" ; rdfs:subPropertyOf dc:title ; nrl:maxCardinality 1 ; rdfs:domain nie:InformationElement ; rdfs:range xsd:string ; tracker:fulltextIndexed true ; tracker:weight 10 ; tracker:writeback true .
Next you need a writeback module for tracker-writeback. We implemented a prototype one that can only write the title of MP3 files. It uses ID3lib’s C API.
When the user is describing a file, the resource must have nie:isStoredAs. The property being changed ’s tracker:writeback must be true. We want the value of the property too. That’s simple in SPARQL, right? Sure it is!
SELECT ?url ?predicate ?object {
<$subject> ?predicate ?object ;
nie:isStoredAs ?url .
?predicate tracker:writeback true
}
You’ll find this query in the code, go look!
Now it’s simple: using ID3lib we map Nepomuk to ID3 and write it.
No don’t be afraid, we’re not going to writeback metadata that we found ourselves. We’ll only writeback data that the user provided in the form of a SPARQL Update on the default graph. No panic. Besides, using tracker-writeback is going to be completely optional (just don’t run it).
This is a prototype, I repeat, this is a prototype. No expectations yet please. Just feel exposed to scary stuff, get overly excited and then join us by contributing. It’s all public what we’re doing in the branch ‘writeback’.
ps. Whether this will be Maemo’s future metadata-write stuff? Hmm, I don’t know. Do you know? ;-)
Pascal de Bruijn (pmjdebruijn)
Richard Hughes has recently been rocking my world in a very big way… Color management on Linux/GNOME has been too hard for much too long and GNOME Color Manager is about to fix that. The hardcore groundwork of reading colorimeters and color calculus had already been taken care of by Graeme Gill with ArgyllCMS. GNOME Color Manager built on that by providing users with a very easy going GNOME user interface, while in the background driving ArgyllCMS to do all the hard work.
Another “problem” of using the commandline utilities of ArgyllCMS was, that display profiles consist of two parts. A VideoLUT which has to be applied by X11 or loaded into the video card, and a color matrix with gamma shaper which has to be applied by the color management aware applications like GIMP and UFRaw.
In the past, I’ve always built simpeler (and less accurate) profiles, to prevent me from having to load the VideoLUT every time I logged in. GNOME Color Manager solves this by introducing a service which does this fully automatically. Making it easy to use more accurate profiles.
Last but not least, GNOME Color manager also adheres to the XICC specification, and makes sure color management aware applications like GIMP and UFRaw can automatically see for which profile the VideoLUT had been applied, and thus dictating which profile to load in the application.
As could be expected, I’ve been building Ubuntu (Karmic) packages from regular git checkouts, which are available at my PPA.
Op Digiplace wordt ondermeer geschreven over de ervaringen met de Bubba|Two homeserver. Deze kleine en energiezuinige server is op veel terreinen in te zetten. Lees in dat verband ook de ‘Bubba|Two: introductie en inleiding“, “Bubba|Two: deel 1”, “Bubba|Two: deel 2“ en “Bubba|Two: deel 3“.
Bubba opnieuw installeren?
Op 16 oktober kwam er een update uit voor Bubba|Two. Met die release 1.2.3 werd eigenlijk alleen maar Logitech’s Squeezecenter opgewaardeerd.
The 1.2.3 release includes only one upgrade, Logitechs SqueezeCenter which is now called Squeezebox Server to the latest version 7.4.
Die update verkrijg je door vanuit de web interface van Bubba de update te activeren.
To upgrade a running system, make sure you don’t have any activities running such as uploads, downloads, print jobs etc. Then log in as admin in web-ui. Choose “settings” menu entry. Choose “Update” in the sub menu. Press the “Update” button.
Maar dat had ik dus niet gedaan. Ik wist ten eerste niet dat er een update beschikbaar was gekomen. Ik controleerde toevallig zelf of er updates waren door in een shell te kiezen voor “apt-get update” en “apt-get upgrade”. En toen ik zag dat de langverwachte update van Squeezebox beschikbaar was ging ik meteen door. En dat had ik mogelijk niet moeten doen. Want al snel kwam er een probleem m.b.t. de Mysql database. Er werd om een wachtwoord gevraagd en wat ik ook probeerde, niets was goed. Afijn..uiteindelijk kon de Squeezebox server geen muziek meer van mij vinden.
Opnieuw installeren
Dat was eigenlijk een prima aanleiding om eens te kijken naar de mogelijkheden om de totale software van Bubba te herinstalleren. Ik was daar wel nieuwsgierig naar. Dat bleek uiteindelijk heel eenvoudig te zijn. Je hoeft alleen maar een image te downloaden en uit te pakken naar een usb stick.
Je sluit daarna Bubba af en verwijderd de netspanningskabel. Je plaatst vervolgens die usb stick in een van de twee vrije usb poorten en drukt op de powerknop terwijl je de netspanningskabel weer terugplaatst. Daarna blijf je die knop nog 5 seconden ingedrukt houden voordat je hem weer los laat. En na circa 15 minuten is Bubba weer voorzien van haar standaard installatie.
- Download the recovery image at: http://update.excito.net/install/latest/bubba-two/
- Insert the USB memory stick in to your PC (minimum size 256 MByte) and format it, select FAT32 as file system if prompted. The USB stick must have a partition table.
- Unzip the downloaded recovery image to the root catalogue on the USB stick.
- Shut down Bubba|Two.
- Remove power to Bubba|Two.
- Place the USB memory in one of Bubba|Two’s USB ports, which one doesn’t matter.
- Make sure that Bubba|Two’s WAN port is connected to internet; this is needed during installation (to set time etc.).
- Hold the power button pressed, keeping it pressed, and plug in the power cord to Bubba|Two again.
- Wait until Bubba|Two begins to flash its LED (at 4Hz), hold the button pressed for 5 seconds then release it. Bubba|Two will now automatically format the disk, and install the Linux file system on it. The installation will take about 15 minutes to complete with a 1 TB disk, 20 minutes with a 2 TB disk. Wait until the LED stops flashing.
- Enter the web interface and perform a software update to ensure that your Bubba|Two runs the latest software: Click ‘Settings’ and ‘Update’, then press ‘Update system’. (as described in chapter Software Update).
Daarna moet je dan wel weer je muziek terugzetten maar dat is snel genoeg gedaan.
Note: All your personal data will be lost if doing this operation. A complete hard drive format will be done.
Overigens is het ook mogelijk om die image te installeren zonder het overschrijven van je data partitie. Er staan daarvoor instructies op de supportpagina van de fabrikant.
It is possible to boot up your Bubba|Two from a USB stick without formatting your hard drive. This could be useful if you by mistake have “locked” yourself out from your Bubba|Two. In the ‘\install’ catalogue you will find the ‘bubba.cfg’ file. Edit the settings in this file to fit your needs. Please notice that editing the config file in Windows with Notepad or Wordpad will destroy the file. Use an editor like Notepad2 or ConTEXT. If choosing ‘rescue system’ a SSH connection will be available at the WAN port. You will need to have an DHCP server as Bubba|Two in this mode will obtain an IP address automatically.
Op dit moment draait de boel weer als een zonnetje. Mijn enthousiasme voor deze kleine Homeserver blijft dan ook onveranderd groot. Vooral in de combinatie met een Squeezebox werkt het uit de kunst.
During my graduation a new opportunity popped up on my path. After long contemplation I decided to take it on. Since October 1st, I am a PhD student in the Computer Systems group at LIACS, Leiden University. Under Professor Wijshoff I will be working on databases and compiler optimizations. For most of our implementation work we are using LLVM, which is incredibly nice to work with and its future is looking very promising. Exciting times.
I also remain associated with Lanedo, providing expert help and advice.
Linux is natuurlijk hét voorbeeld van Open Source software. Maar het staat ook weer niet op zich zelf. Er zijn nog veel meer voorbeelden van te vinden. En dan heb ik het niet meteen over OpenOffice.org of andere bekende voorbeelden die populair zijn onder Linux desktop gebruikers.
Want je kan ook Open Source toepassingen vinden voor onder Windows of Apple OSX. Op de website Open Source Software Directory vind je een zeer verzorgd overzicht. Verdeeld over Home users, Businesses, Administrators en Developers. Met een huidig totaal van ruim 800 toepassingen is er voor ieder wel wat te vinden.













