Other people's activity logs:
Older dates can be visited here:
You may want to look at a reading list for particularly interesting posts.
I got a netbook, a cute little HP Mini, so that I can hack Moblin on it. The netbook comes with Windows 7. My first impression:
Windows is a flicker/blingfest. Everything prelights and fades in and out. Everything has a tooltip that is unreadable because it disappears as soon as you move the mouse into the tooltip. Progress bars have a periodic swoosh-thing that makes me glance at them and wonder whether I missed something important.
Everything has a right-click menu. Scrollbars have a right-click menu with useful options like "scroll up" and "scroll down".
The Start menu has default entries that are ellipsized and you can't see all their text, unless you wait for the unreadable tooltips. Submenus and subpanes and everything seems to flicker in and out all the time.
Norton this, Norton that. It makes you feel like you will be ass-raped as soon as you fail to satiate Mr. Norton's insatiable appetite for... mouse clicks or something.
IE8 came with four or five toolbars. The stock one, the Norton whatever, the My AOL Search (!?), the favorites bar, and an extra helping of buttons that just seem to add clutter for no good reason. Mr. Norton got in the way of installing Firefox, and then asked for my email address so he could ass-rape my inbox, but I succeeded in fooling him.
Maybe we should change free software's slogan to "we are not a constant pain in the ass, and we don't consider you a criminal".
"If you expect to find yourself standing on the corner of Commonwealth Avenue and Massachusetts Avenue in 2050, should you expect the water be up to your navel, your nipples, or your eyeballs?" The inimitable Dmitry Orlov takes another look at global warming and rising seas.
The Zeitgeist team and yours truly are in an energetic hackfest in Bolzano, Italy. We are busy cooking the future awesome.
Next door to our hacking room in the school, the Sugar people are having their own hackfest. Sugar has a Journal similar to Zeitgeist's, so we need to share ideas and if possible an implementation of the journal-of-your-stuff.
We have three sub-teams within the hackfest: the Zeitgeist engine, the Tracker metadata storage, and the end-user GUI tools.
Zeitgeist engine
The core of Zeitgeist is a daemon that logs events that get produced as you work on your computer. When you open a file, that makes an event. When you view a web page, that's an event. Having an IM conversation, looking at a video, and playing music are all events.
Zeitgeist logs these events and provides an API to query those events for useful purposes. The Journal, of course, shows you a stream of your most recent events. More sophisticated clients can ask the engine questions like, "what applications have I launched within the past week?", "what files have I used for the longest periods of time within the last month?", "which web pages did I visit while editing my-research-paper.odt?".
Seif Lotfy, Ivan Frade, Mikkel Kamstrup, Alex Gabriel, Markus Korn, and Siegfried Gevatter are working on the engine. They are upgrading the format for the engine's database so that it can support more efficient queries, redoing the external API that clients can use through D-Bus to make queries on the engine, integrating support for Tracker as a metadata storage, and improving the contextual relevancy engine. This last bit is the magic that can tell you, "these are the documents/web sites/etc. that you used together while working on a certain project".
Tracker as a metadata storage
Zeitgeist would like to show you various useful things: the tags that you have assigned to a file (School, Work, Pr0n, Travel), the sources for email attachments or for files that you downloaded from web sites, etc. All of that is just metadata that needs to be stored somewhere, and in some well-defined format.
Zeitgeist used to have a home-grown metadata repository, but it will be using Tracker from now on. Tracker is a metadata storage for RDF triplets. An RDF triplet is a subject/verb/object chunk that looks like "my-thesis.odt/has-tag/School", or "lolcat.jpg/was-an-attachment-from/$email_id". Those are just examples; the actual form of those triplets is formalized in the Nepomuk ontology.
Gnome Activity Journal
The Gnome Activity Journal is a prototype implementation of the journal idea that I presented during GUADEC last year.
And they are closing the school right now, and we have to leave, so I'll tell you more about all of this tomorrow. Ta ta!
The vision behind Zeitgeist, part 1
Jon McCann recently asked me to clarify the vision behind Zeitgeist.
Zeitgeist started when Seif Lotfy implemented the Journal idea that I presented during GUADEC 2008. With apologies to people who already saw this presentation, I'd like to review some of its ideas here.
Let us start with a few well-known problems with computers and the traditional desktop paradigm.
"Where was I?" Resuming your work
This is a picture of my (non-computer) desk as I found it this morning:
There's a book on woodworking, opened on the page that talks about workbenches. There's a torn-out page with little diagrams of the various things I want in my workbench. There's a drawing pad with another diagram of the workbench I'm about to build. Finally, there is my mechanical pencil and eraser.
Why is all of that stuff on the desk like that? Simply, because that drawing is precisely what I was doing last night. I can resume work by simply sitting down and taking a brief look at what I've done so far.
By contrast, this is a picture of my computer's desktop as I turned it on today, and as I logged in:
There is my panel full of the usual trinkets, some folders and files that I left there ages ago, and some random crap from the system. Nothing there is related to what I was doing the last time I used my computer. There is no way to resume my work except by remembering what I was doing and then by laboriously opening everything that I had open.
Before you yell, "session management!", let me tell you a story.
Starting a journal
Some years ago, after I stopped working on Evolution, I worked for a brief period in the Ximian edition of OpenOffice.org. Before that, I had never worked on such a complex code base. The source tree was huge. Finding your way around it was real hard work. Things didn't make sense to me at first; there were toplevel directories called things like "sc" and "sw", which didn't make sense at all (later I learned that "sc" was the spreadsheet, StarCalc, and "sw" was the word processor, StarWriter).
The actual source files were buried 5 or 6 levels deep inside the hierarchy. The source for large C++ classes was split into multiple files, called something like shrtnm1.cpp, shrtnm2.cpp for the class ShortName — for someone who had not been working with that part of the code for a while, it just didn't make sense.
Back then I was doing simple changes to OO.o, where I only needed to tweak a couple of files at a time. Simply finding the right file to tweak was hard, and after that, I had a lot of trouble remembering where those files actually were — buried 6-down in the weirdly-named directory hierarchy. After a few days of hunting and re-hunting down the same files, I decided to look for a solution. I could never get desktop-save-mode in Emacs to work, so I started a text file to write down the full pathnames of the files I had been modifying. This way, the next day I wouldn't have to hunt for the files again. Eventually I wrote a chunk of Elisp to do that for me, but that's an implementation detail — if you google for "emacs recently used", you'll see that many people have implemented pretty much the same thing.
This made things much better. I could resume work quickly; to open the last file I had been working on, I simply looked for its filename at the top of the journal, as well as related files which I had opened around the same time as that one.
Before you yell, "dude, get a real IDE!", let me continue the story.
The journal evolves
Some time after that, I started annotating the journal of filenames-in-a-text-file, and turned it into a journal of my work. I've been keeping that journal for almost 4 years. This is a sample from yesterday:
2009/Oct/07
10:42 - About to read "In pursuit of desktop evolution" by Ravasio et al - ~/Downloads/10.1.1.96.398.pdf
12:56 - Finished reading and taking notes in ~/Documents/Gnome/design/articles.txt
13:05 - Paid phone bill, $XXXX, transaction 9404.
14:20 - Worked on http://en.opensuse.org/Documentation_cleanup
15:31 - bgo#597101 - gnome-panel does not start anymore (RANDR) - vuntz fixed it
16:39 - @natfriedman: Recommended sites to find rental apartments:
homeaway.com, roomorama.com, airbnb.com, seamlesstransition.com.
+ check why my subscription to opensuse-wiki didn't work
+ Add autotools to gnome-activity-journal
+ See if you can help with bnc#329959 - build service doesn't validate project names
+ Read http://wiki.zeitgeist-project.com/Teamgeist and send comments
+ Read Finding and Reminding - http://old.sigchi.org/bulletin/1995.3/barreau.html
Every day I type stuff like that: interesting files that I use, wiki pages that I modify, interesting web pages that don't merit a bookmark but to which I want to keep a reference, random notes, snippets from IM/IRC/Twitter, and a few items from my to-do list (the ones marked with a +).
I find this journal to be extremely useful. Interactive search in Emacs (C-s) lets me find stuff instantly: if I was taking notes on something, I hit C-s notes, then maybe C-s a few more times, and I'll end up finding that part where I wrote "taking notes in ~/Documents/...". I put "(RANDR)" next to anything related to multiple monitors, so it is easy to find.
The journal serves me as a reminder of what I've done, as a repository of links to stuff I've seen, as a note-taking device, as a cut&paste repository of interesting bits of conversations, as a very short-term to-do list, and in general as a chronological dumpster of potentially useful information.
But I'm not an obsessive-compulsive note-taker like you
Uh, maybe. Still, it takes really very little time to annotate stuff there, and it doesn't feel like a burden. I can't live without the info in that journal now.
(That journal is also really useful when I have to fill the stupid timesheets that Novell makes us fill every so often — I can see how many hours I devoted to each thing.)
However, this journal is rather pedestrian, especially when it comes to noting down filenames and URLs. The computer could perfectly well do that for me, and still let me add hand-written notes to the items it logs.
Later, more problems with the desktop metaphor and the vision behind Zeitgeist.
Last week, after the openSUSE Conference, the gentlemen in the following picture hiked through the forests and fields of Franconian Switzerland (don't be deceived, that's actually in Germany), with two purposes:
Allow me to introduce you to the members of the openSUSE Boosters team. All of them have Mexican names.
Top row:
Middle row:
Bottom row:
Our purpose is to work on growing the openSUSE community, by eliminating barriers to entry and by enabling people to contribute in the way they wish.
We will be working in two-week sprints, with a model loosely borrowed from the agile programming community. The initial sprint consists of three teams working in three projects:
Centralized, discoverable and comprehensive developer documentation
The openSUSE wiki is a mess. We will be gathering all the documentation pages, sorting them into a meaningful scheme, and seeing what is missing to document the mass of software, processes, and things that form openSUSE.
Pool openSUSE web services under a common umbrella
We have en.opensuse.org and all the other language wikis, software.opensuse.org to download software (which is not the same as download.opensuse.org), users.opensuse.org for the user directory, and other sites... and it's all a big mess. It is hard to find anything from anywhere. We will get all of these together from a place that is easy to reach.
factory.opensuse.org: Entry page for openSUSE:Factory development
Right now it is pretty hard to find information about how to get started with openSUSE Factory, the development version of the distribution. It is also hard to monitor the status of the distribution: which packages build and which ones don't, what the pending projects are, etc. The proposed factory.opensuse.org will make all of this easy to find.
How to reach us
Every team will be working together with existing subcommunities within openSUSE: the documentation team with the wiki masters, the services people with the sysadmins, etc. You can see the page for the Boosters Team for our individual email addresses, IRC nicks, and all that.
After a pleasant nocturnal hike through the mysterious German woods, we did some light painting.
Those are Guille as lbearing and Pedrito as rbearing. You can see the faint ghost of Pablo with the flashlight behind the big E.
So, how did we do this?
First, set up a tripod precariously on a garden fixture. Have Roberto hold the tripod steady.
Second, have two people (Guille and Pedrito) serve for various purposes: set the focusing distance, and figure out the extents of the text so that it will fit within the picture. Both are pretty hard to do when it's pitch dark outside.
Third, have Pablo use his flashlight, and his beautiful aerial handwriting, to paint the text. He used his spare hand plus a sweater to cover the flashlight when there was a jump in the strokes. Remember LOGO? Pen-up? Pen-down? Same thing here. He started painting next to Guille, and tried to fit the text before bumping into Pedrito.
Fourth, take several test shots with the camera in Bulb mode. You can tweak the aperture to give more/less light to the background. I just pushed the button; they did all the work.
Please go and see this video of a prototype sidebar for the Zeitgeist journal. The Zeitgeist hackers are kicking ass!
Make yourself a nice cup of your favorite hot beverage, sit down while it rains outside, and see this lecture on urbanism by Andrés Duany, one of the founders of the New Urbanism movement.
Over the past year I have been slowly learning woodworking. A shelf here and there, a handbag hanger, and other trinkets that didn't require accurate joinery. For the past weeks I've been making the pieces for my first "real" thing, a small table for Luciana.
These are the mortised legs, and the tenoned skirt pieces for the table:
Here is the table, assembled without glue, for a sanity check:
The most useful things in making this were a page on mortise and tenon joints, pages with pictures for cutting mortises and cutting tenons, a cute hack to get rid of the gap between the pieces, and a very nice book on woodworking in general.
I'll glue the table tonight.
My DSL modem started malfunctioning two days ago. Telmex now uses 2Wire modem/routers instead of the old Speedstream modems. I had a Linksys router which didn't work out of the box with this new 2Wire modem.
Para mis amigos Mexicanos: Cómo configurar un ruteador Linksys y un modem 2Wire de Telmex Infinitum.
Reviving the Spanish island experience through solanaceae
Do you remember that fantastic tomato salad at Gran Canaria which we ordered several times during the same dinner? Yeah, the one with the magic flavor and delicious juices?
You will need these:
Slice the tomatoes no thicker than 3 mm. Arrange them in a nice configuration on a plate. Spread enough olive oil on the tomatoes to drench them, but not to make them swim. Add the lime juice.
Place one thin slice of garlic on top of each slice of tomato, or two slices if the tomato is big. This is important: you want each bite to be an explosion of flavor, and the garlic gets you there. Place a thin slice of onion on each slice of tomato as well.
Sprinkle salt and pepper to taste, making sure that they are spread evenly on the tomatoes.
Grind some cumin; 1/3 teaspoon seems about right for two tomatoes. Sprinkle the cumin evenly on the tomatoes.
Let the salad sit for a bit so that the tomatoes absorb all the flavors. Enjoy with hard or soft Spanish manchego (sheep's milk is best), and crusty bread. You can of course use the bread to mop the juices.
Allow me to invite you to set aside a comfortable afternoon, and read the notes for Dmitri Orlov's talk on economic and social collapse, peak oil, and what to do about ourselves.
The Git user's survey for 2009 is up! Be sure to participate to make Git better.
Two days ago I had the pleasure of dining with the GNOME Hispano crowd.
And today I am happy to report that the cathedral at Las Palmas is beautiful.
Full-size reconstruction of the Christopher Columbus's ship's cabin. This is cozier than our hotel room, and it also has a view to the sea.
Not a six-foot balcony, but made of awesome nonetheless.
Too much sun in your windows? Just put some beautifully cut wooden latticework on them. These are everywhere in Las Palmas.
bzr: ERROR: A nested progress bar was not 'finished' correctly.
Seriously. What. The. Fuck.
Go backward in time to June 2009.
Federico Mena-Quintero <federico@gnome.org> Mon 2009/Nov/30 13:03:13 CST