- July 2014
- October 2013
- August 2013
- May 2013
- February 2013
- January 2013
- December 2012
- August 2012
- July 2012
- June 2012
- March 2012
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- November 2010
- October 2010
- September 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- May 2004
- April 2004
- March 2004
Welp, summer vacation is over again, cycled from Nijmegen south.
At the outset I said “we’ll go south till we have to speak French, and then turn around”, which meant “until Luik / Liége”. Didn’t make it that far, for the simple reason that campgrounds that are compatible with a family of cyclists with a tent are rare in that area.
Instead, we cycled through Belgian Limburg, across Dutch Limburg from Maastricht to Vaals, and then back up north to Venlo. I would show a map (as I did last year with Marble), but I did my GPS logging with My Tracks on Android this time, and I’d have to spend too much time mucking about to get the data off the device for processing.
Last year we rode 440km of completely flat Friesland and Groningen. This year there were hills (the Dutch Mountains!), and we weren’t sure how the kids would fare in more challenging terrain. We needn’t have worried. Mira’s “hey dad, let’s bike up the tallest mountain in the Netherlands” (322m above sea level, rising from Vaals at 160m, so this is not Tour de France material yet) was later followed by Amiel’s “hey dad, I want to ride 100km on the last day”. He’s nine years old and it took us from 10:30am to 9:00pm, but we got to the train station at Venray with 99.98km on the meter (and another 3km to go after we got off the train in Nijmegen).
As I crunch my way through all kinds of older data, I find lots of KDE memorabilia. Here’s the hackerheads, shot by Robert Scott for Akademy 2006. It’s just a small sample, intended (if I remember right, but there were also Curly Wurlies involved) to enliven Planet KDE. Compare the photos to Akademy 2013, and you can find a reasonable amount of overlap, showing the kind of continuity the KDE community has over seven years.
HDD cleanup continues apace. I did like the wisecrack about semantic storage — although it’s not quite correct, since these are drives removed from otherwise decommissioned machines, or tarballs rolled of my university student account before the departmental Solaris server was decommissioned. It’s more like moving boxes never before opened (I know there’s several that I moved house with 8 years ago that are still awaiting an opening moment). In the mean time I’ve discovered a bunch of academic papers I had forgotten I had ever written and a bunch of OCaml I wrote that I no longer understand, as well as several versions of my bachelor’s thesis written in the winter of 1998.
Anyway, while futzing about with all these drives I’ve set up my main machine as FreeBSD 9.2-STABLE, running KDE 4.10 (which is as new as the KDE-FreeBSD ports are — 4.11 introduces some interesting new breakage which hasn’t been dealt with yet). I could repeat what I wrote several years ago: with KDE on top, noone knows what you’re running underneath and the applications and environment do all you need. And it’s nice having a very-close-to-vanilla-upstream desktop.
I bunged some more memory into the machine, and now I get the interesting effect that a VM plus its root disk image can fit into main memory. OpenSUSE has an amazing boot time if
/dev/sdais secretly already in RAM.
But the niftiest thing I have discovered recently is VirtualBox raw disk access. This means I can (hot-) plug a drive into my machine and boot that physical drive in a VM. The setup is relatively painless, requiring only a little care with permissions and a complicated command-line. Here’s a screenshot of, left-to-right, FreeBSD dmesg showing me that I’ve switched on /dev/ada2 — a 200GB drive with Kubuntu 11.10 on it from when I was briefly a Python/Qt contract programmer — with VirtualBox and then the running Kubuntu session with its own idea of the physical disk. Hearing the physical disk rattle when I do something in a virtual machine is kinda cool, and this makes it much, much easier to figure out what files are interesting on any given drive.
But this bumps me into an interesting corner regarding KDE desktop settings and configuration. I’ve got a new desktop here. I’ve got an old desktop in the VM, and there are a bunch of settings that I’d like to transfer from the old desktop to the new one. Let’s disregard whole-desktop settings right now. Aaron Seigo recently posted something on his Google+ about Plasma-desktop settings transfer, which is promising next time I want to move my settings (focus follows mouse, yellow-and-orange wallpaper, no activities, 4 virtual desktops) to a new installation. I’m talking about application settings. For instance, I have a working Blogilo in the VM — what do I need to do to get the same Blogilo settings in another machine? That means copying the blog configurations and the passwords. So where do they live?
The userbase page for KMail has information about moving settings around; that’s the only instructions I could find for moving application settings. Those instructions are also somewhat incomplete, since passwords are probably stored in kwallet, and figuring out which stored passwords need to be copied over is a pain in the neck. Or take Blogilo. It has a
blogilorcfile, but it doesn’t seem to record anything useful in there: no blog URLs, no usernames, nothing. Everything seems to be in kwallet, which exports whole wallets at a time. In other words, I can get at my blogilo configuration by exporting the wallet (unencrypted, plain XML), editing it to remove all the bits I don’t want (such as my IMAP passwords) and then importing it on the other machine. This seems error-prone and tedious — this time, it was actually just as straightforward to simply do all the configuration anew. It strikes me that there would be a market for a menu item Settings->Export all of this application’s meaningful configuration. As the computing experience becomes more fluid, moving from device to device, that might become more important — if I have configured something on my desktop, I want the same KDE application on my tablet to easily, seamlessly, take over the configuration from elsewhere.
.. and, hey, it turns out when I moved house last I used XFig to draw a plan of the house so as to juggle furniture (also in XFig) more effectively. These drives are a veritable trove of joy (and KDE configuration questions).
Last week I sat down with a pile ‘o hard drives of varying vintage (although all of them SATA-era), ranging from 80GB to 500GB, which had been used in machines over the past ten years. The idea being to sort out what’s where and why and to consolidate the interesting bits. First order of business on each drive was figuring out what partitioning scheme and filesystems were on there. I suppose if you stick to one OS over time that’s a simple thing, but I have fdisk+ext2 filesystems, gpt+zfs, gpt+gmirror+gstripe+ufs and other things in the mix. Reconstructing the path from two physical drives labeled “Comice” and “Anjou” to a readable filesystem can take a while.
Anyway, interesting bits have been recovered, like an older mp3 collection of mine ripped from CDs I can no longer find (they must be somewhere in the house, in a box labeled “beware of the leopard” or something like that).
Some of the drives were once in various KDE servers or machines I gave acces to for KDE purposes, so it turns out there are various personal home directories that aren’t mine on these drives, too. This provides a bit of a memory lane. One drive, last accessed in 2007 and presumably part of the original English Breakfast Network machine, has logins for myself, and Allen Winter, but also a bunch of other users, not all of whom I can place. There are sad memories, such as /home/claire/ (empty, unused), and good times like last.fm-player-1.0.1_3.tbz (get Last.fm with Amarok nowadays).
Anyway, if you are one of aacid bertbram bhards bille danimo dannya dfaure dhaumann fremy frerich gamaral gousiosg harald ingo jaison joerg kerian lofi padams pgquiles phil reinhold schuster scott sebas winterz zecke zenithar, and you think you might have left stuff behind, drop me a note and I’ll send you a tarball of your home directory. I’ll try to notify those logins I can still map to an email address as well.
After some grace period, I’ll destroy whatever data is left so we can say that those machines are well and truly tidied up.
So while y’alls were frolicking at Akademy (with Dot coverage), I was on vacation. The choice between vacationing with my family or attending Akademy was a tough one: we also spent some time looking into getting the whole family to the conference, but the price tag and “what will the kids do there” tipped the scales. Maybe next year Akademy will be somewhere that fits in my summer vacation and is amenable to cycling.
Anyway, I picked up an Asus Fonepad before leaving on the trip and left my trusty N900 behind. Battery life and screen real-estate were the motivations there, and I wanted only one device to take along. The whole “you’ll look like a tool making calls with it, but it works” thing appeals to me as well. It’s mostly a fine device and served its purpose well. I’ll gripe about it elsewhere — suffice to say that I’d be quite happy to have something other than Android running on the Intel Atom inside it.
I didn’t use the Fonepad as a GPS tracker while riding around — it spent most of the travel days neatly packed away, while an Amaryllo GPS logger (writes to an SD card) was strapped to the handlebars with a bunch of elastic bands.
The logger writes NMEA sentences to the SD card, which I convert to KML with GPSBabel (because the tracker is occasionally flaky and I leave it on all day, even when taking a nap in a ditch, I use a filter set to position,distance=10m,time=120 to compress the log). That gives me something that Marble can work with. I can import the tracks for each day (File->Open will read KML) and that zooms to the area I’ve biked through. After every load I need to switch off “places of interest” in the Legend tab, though, or I get a gazillion meaningless tags (numbered) cluttering the view. This may be an artifact of my KML generation; I’ll have to look at the GPSBabel manual more closely some time. Once loaded, Marble’s “export map” feature produces a nice PNG so I can show you where I went on my summer vacation:
That’s about 440km total, which the kids biked with nary a complaint (almost). There’s gaps where the GPS flaked out or ran out of battery. Just to reinforce your preconceptions of the Netherlands: along the entire route it was flat, there were tulips, windmills and cows.
Another KDE angle, though: most of the trip I wore the KDE hoodie that I bought at FOSDEM — blue and snuggly an warm it is, and emblazoned with a big KDE logo. At one campground, a dad sitting out front of his tent asked me, “hey, that K-thing, that’s a Linux desktop, isn’t it?” Bringing the number of times someone “in the wild” has recognized KDE stuff to two, for me. (“In the wild” means not a KDE person, not at a Free Software conference, and not a university CS student) So don’t get the KDE hoodie for the recognition it’ll get you in the train, get it to support KDE (and to be warm and snuggly).
It’s one of those yearly things, scheduled for less than two months from now. Frankly, I’m a little surprised that no one else — Paul Adams is a usual suspect — has bunged up some badges for this year yet. So here’s my entry for Akademy 2013 in Bilbao, showcasing, as always, my most excellent kolourpaint skills. And, like it says on the tin (brass? what material are badges made of anyway), Akademy doesn’t fit my schedule this year either. My only remaining hope is to integrate the conference with a three week train-and-bicycle vacation for two adults and two kids.
“Minimal compliance vs. abundant compliance” “It is imperative that Free Software becomes visible in App Stores” “Morally wrong is sometimes practically convenient” “Clarification is difficult” “Bastards”
Last time I was at FOSDEM was three years ago, I think. Part of the venue has moved to a new building — it’s much bigger and airier. I must say that I don’t miss standing next to the drafty exit at the lower end of the H building, but it did have its charm. Plenty of interesting stands to visit. GNOME still have their nice round 2″ foot stickers. KDE is well-stocked with T-shirts, but our hoodies and bags have sold out already. Postgres has very nice frosted-glass mugs. Oracle has no mention of Solaris at all — drat, I was vaguely hoping they might still have Solaris beer mugs. For once, I’ve got some time to visit talks, the legal devroom in particular.
The legal devroom is just packed — has been all day. I think that’s an amazing change (for the better) from a few years back when legal was still a tiny niche topic.
With a new SSD the laptop is quieter and feels faster than before. I want to keep it that way, which (still) means keeping the number of writes to it down. OpenSUSE has some tips, as does Fedora, but they leave a few bits untouched which might be useful, so I’m taking note here.
- Make /tmp a tmpfs filesystem. This means no longer relying on /tmp across reboots, but those are pretty rare since I usually just suspend-to-RAM.
- Make /var/log tmpfs, too. This is an agressive optimization, but I think it’s acceptable for a laptop.
- Disable scheduler on disk sda, force syslog to write to /var/log in RAM.
- Set syslog to log warn and above only.
The hard part is getting rid of a .xsession-errors that keeps growing (and getting written to). KDM can be configured to write the file elsewhere (and that’s documented) but you still need to hack the Xsession script to stop X from (re-)creating that file. I kept meaning to write down what I did, but .. good intentions and all.
Speaking of good intentions: I’ll be at FOSDEM, mostly at the KDE booth (everyone at the booth has also written “but I hope to attend some talks, too” on the schedule, so we’ll see. It’s been quite some time since I remember sitting with Anne-Marie at the bar across from Manneken Pis, ordering all the beers we couldn’t pronounce.
Albert’s item about Okular contributors (a great idea to thank those who contributed their time over the past year — and I’ll say thank you to all the Okular developers who make my document-reading-life a nicer place) and also Seif writing about Mozilla contributions spurred me to quickly hack together a tool to give an idea of the activity in one of KDE’s git repositories. It’s much like the venerable green-blobs graph that Paul Adams makes. It’s just an indicator — I’ve written about this time and time again, the graphs from one repository cannot be compared with other repositories, and the best you can quickly conclude based on these pictures is whether development activity in a repository is carrying on “as usual” or has changed.
So here’s a graph of Parley, a small program that is probably considered feature complete.
This is three different graphs mashed into one. There’s no dates on the graph, but it covers roughly the past year of development.
- The green blobs indicate that the named contributor committed in that week. So for Albert (the same one) there’s a single commit at about week 40 in this view. Christian (Muschick, I was lazy in coding up the labels and just cut off the string at 10 characters) was active about half a year ago, and there are incidental commits from others. Script Kid is our own translation commit-bot, who shows up everywhere. Anyway, the green blobs give an idea of who’s active, when.
- The red line is an indicator of how large the active contributor community is. The bottom of the image is 0 (up to a maximum of all the contributors). In the past, we defined all kinds of complicated metrics to do so, with exponential decay applied to each contributor’s “activeness” and such. This one is dead simple: a participant is an active contributor if he or she has a commit in a given week or in the previous week. That is, each person is considered active for at least seven days after their last commit. This is easiest to see at the beginning of the graph, where Jan’s single commit shows two weeks of “active community size is 1″, and right in the middle, where Scripty counts for two weeks and then drops away.
- The top black-ish line gives an indication of “temperature” in the repository, mapping the number of commits that week to a color, where pure red is “the maximum number of commits” and black is “none at all”. Since this repository has a maximum of three commits in a week, the color scale shows few different levels. This is another way of looking at the activity of the repository. Instead of number of active contributors, look at the average commit-churn.
Each of these indicators in itself isn’t all that interesting. And they’re naturally correlated in Parley, with the most active week with the most contributors coinciding. It’s possble for that to be otherwise, though.
(The temperature graph, in particular, is something I’m not really happy about as it doesn’t give a good feel for activity; most of the weeks are way too dark even when something is happening, and you can hardly tell #000000 and #230000 apart in small boxes like this. I’d like to have something more sophisticated than a linear interpolation between 0 and 255. Ideally something that goes from “cold” to “hot” in a colourful fashion, but I don’t know about color curves and things like that.)
So how about Okular?
I hope that’s the same list of contributors as what Albert — who you can see is almost always active — mentions in his thank-you note. You can see who the “regulars” are in Okular, who drops in occasionally, and who seems to be a one-off occurrence (which means a bug fix, or a single contribution — those too are appreciated!). On average, there’s five, maybe six people active. You can see some “hot” weeks commit-wise, even weeks uncorrelated with increased contributor numbers. (O yeah, Ivan: the Python Imaging Library doesn’t like Unicode when used with its default font, so your name and others get short shrift).
Supposing you’re a community manager (or a project leader, or just concerned about the activity in some particular application) then you might watch one of these graphs to detect changes. Although given the implementation here, you’re always a week late (and again: you’re then looking for explanations a posteriori).
I’d show the kdelibs repository as well, but it’s mostly very tall. because there’s lots of names in it in total, and an average active contributor count of sixteen or so (by my primitive definition of “active”). There’s something weird going on with the distinction between “authored date” and “committed date”, but that’s for a different time.
Over the Christmas season we bought an electronic drum kit so that my daughter can practice at home; she’s 9, but I hope that some day we can play “Ace of Spades” together. But the most exciting item in the large box was the empty box! I have not opened it up to ascertain if, indeed, the box is empty. Who knows, it might even contain KDE 4.9.3 packages for FreeBSD.
ObKDE: I found David Narváez post about the term “real-life” intriguing. Way back, Sebas and I used the terms “work-work” and “kde-work” to distinguish between “the time spent developing software for which (time) we are paid” and “the time spent developing software which is fun”. That seems a little less pejorative (and sometimes the two overlapped). But there’s another angle, not one pitting “KDE time” against “useful time” like David suggests. It may be that people writing about “real life” use that as a contrast to “that portion of life spent in virtual environments”, i.e. that it’s about computer-vs-non-computer related time with no value judgement on the value of either. But I feel he makes a good point: the words we use to describe the effort we put into KDE makes an emotional difference.
(Edit: somewhere the combination of Blogilo and WordPress makes a mess if you fill in an HTML element like <div/> in the post title — you can help out Blogilo and KDE-PIM here.)