Skip navigation

Category Archives: floss

Since The Document Foundation got formally established as a German charitable foundation earlier this year, we were pondering a number of activities to sponsor, that would be in line with our statutory and regulatory obligations. As our statutes advise TDF to further the use of Free Software, among other things, by introducing children and adolescents to FLOSS and LibreOffice in particular, one rather obvious problem with that is a certain language barrier (there’s considerable use of slang in youth culture, alongside a lack of older vocabulary sometimes used in UI), plus an issue with comprehending longer, more complex sentences (which pop up in e.g. tooltip help, or LibreOffice documentation texts).

The corpus of available research around these issues is still rather incomplete (the field is new, and somewhat controversial), but we see a very practical need here. That’s why I plan, possibly already with LibreOffice 3.6, to support a fourth German sub-locale (besides German, German/Swiss, German/Austria) – German/Kiez. That would include initial UI translation, dictionary, and help. A hopefully illustrating example, on why this is useful (my German-speaking audience will notice how different from standard German this dialect is) here:

I will seek to get EU funding for that, if at all possible, especially since via that project, TDF can hopefully also contribute to this new field of linguistic research – e.g. by supporting case studies on how more easily pupils take up UI that’s presented in “their” language, compared to standardized German. Which, in closing, really is one of the many strong selling points for FLOSS – the Freedom to tweak, and translate, to your local user’s needs, whatever you think they are.

We will work on this, and many other things by the way, at the upcoming Hamburg Hackfest on April 14th/15th.

Like last year, again a sizeable portion of the LibreOffice community gathered in Brussels, for the habitual FOSDEM meetup with pretty much everyone who matters in Free and Open Source. This year, the typically badly overcrowded booths in the H building’s corridors got moved out to the newly requisitioned K building, among them the LibreOffice booth – the upside was more breathing space, the downside some required outside walk in slushy snow, and no local Coke supply. Still, I think it was a change for the better.

LibreOffice had a DevRoom on Saturday, which was well-attended, and stuffed to the end with talks. And Michael managed to give a record number of three gigs on a single day, plus an interview.

With Cor, Jacqueline and others outfitting the booth, and Kendy again air-shipping our tshirt-supply in from Prague, we once more had a befitting presence, lots of fun, and many interesting talks.

A very big Thank You! to all those wonderful volunteers who helped to make this happen, and for you that couldn’t attend an impression from the booth:

Crowd at the LibreOffice booth

Our booth at FOSDEM

After the disbanding of the Sun/Oracle OpenOffice team, a sizeable fraction of those developers stayed with the meta-project – some for LibreOffice, employed by SUSE, RedHat and Canonical, some for IBM. Which means, the Hamburg metropolitan area remains one of the gravity centers for Free office suite hacking activities.

Quite accordingly, we’ll be having a local LibreOffice Hamburg Hackfest this spring, generously hosted at the Attraktor e.V. hacker space – the date is not yet, but almost fixed (quickly cast your vote if you want to attend).

Plus, we’ve established a recurring LibreOffice home hacking event, with one of us taking turns having the Hamburg crowd over for a day:

LibreOffice Hackers Meet

Home hacking at my place


Looking forward to grow this circle over the time. :-)

So this is about a long-term gripe I have, working (mostly) from a Linux desktop since well over 15 years now – and that is, getting email to work as “it’s supposed to be”. Which is a royal pain in the rear.

Let me elaborate. Before smtp server admins became really anal about spam and were blacklisting dial-up and random IP addresses, you simply used your default sendmail or postfix setup that came with your distro and everything was fine and dandy. Email clients just delegated sending to that MTA subsystem. After that good old time was over, you usually needed a smarthost to authenticate against – if you were lucky, it accepted arbitrary From-addresses, so you could even use it for both work and private mail, or share your box’s setup with your room mate.

When those last loopholes got closed, using a system-wide MTA for outgoing mail on a desktop machine quite apparently became a very, very bad idea (conceptually, and in terms of effort involved to make it work). I guess that was when everybody but die-hard Unixers switched over to all-in-one solutions like Thunderbird, Evolution, or KMail – which came with built-in MTA support. Still, there were corner cases – like mailing out patches from git or quilt, or dishing out signed gpg keys after the last keysigning party, that were, um, kinda hard to make work.

Not surprisingly therefore, the command line utilities used for that, initially nicely adhering to the Unix toolkit approach, soon grew MTA features like a hacker grows a beard. With varying levels of quality, and feature-completeness – and usually – the horror! – with the option (or the requirement), to store mail passwords in cleartext configuration files.

I personally plead guilty of tweaking/enhancing TLS support in caff (CA fire-and-forget – a nice script for signing and mailing gpg keys), because I was using Gmail for my private mail, which required that. Similarly, folks added TLS support to git-send-email, and surely tons of other not-primarily-MTA programs.

The bad news? Well, at least the two examples I gave don’t verify the server’s TLS cert at all, exposing you to trivial man-in-the-middle attacks. Or have you never used those programs in a hotel WLAN, or on a conference?

The next nice feature of a proper MTA, namely queueing mail if there’s temporarily no net, or the remote SMTP server is down, is even harder to achieve for those little tools – usually, people just queue meta-tasks then (like “TODO: re-run caff when I finally get out of this plane / send out patches to Jeff, he needs it by Monday”) – what a sucky state of affairs, in this day and age.

So, how to fix that? Well, don’t replicate MTA features all over the place – use a local, per-user MTA, plus a mail queue, and have all those tools, and your MUA, use that. After playing with sendEmail a bit (and even adding TLS cert fingerprint verification), I re-discovered msmtp, which does one thing extremely well – sending email. Plus, it has built-in support for Gnome Keyring and the Mac OS X Keychain, so you neither have to constantly type your passphrase on the terminal, nor store it plaintext. And it does TLS validation, and also (optionally) fingerprint checking. And it comes with a script to manage a local, per-user mail queue.

Well, I didn’t so much like that script, for all the wrong reasons – mostly, I probably was looking for excuses to tear it down into pieces and hack up my own solution – being two much shorter (and admittedly almost feature-less) variants thereof, enqueue.sh and runqueue.sh. The former just grabs all command line arguments, plus all of stdin, and stuffs it into a maildir-like queue – employing another little gem called safecat. The latter periodically processes all files in the queue, and then calling msmtp using the canned args and standard input. And sleeps when you’re offline.

Have now happily configured all of mutt, caff and git-send-email to just use enqueue.sh as their “sendmail” equivalent -

~/.gitconfig:

 [sendemail]
	envelopesender   = Thorsten 
	smtpserver       = /home/me/bin/enqueue.sh
	aliasesfile      = /home/me/.mutt/aliases
	aliasfiletype    = mutt

~/.caffrc:

 $CONFIG{'mailer-send'} = [ 'mailer', 'enqueue.sh -a gmail -f mail@for.me -- ' ];

~/.muttrc

 set sendmail="enqueue.sh -a gmail "

There were two rather minor bumps, first was a missing safecat for opensuse – I resuscitated an old spec file from cthiel, and added it to my opensuse buildservice repo. Debian of course has a package. Next was that opensuse’s msmtp did not have gnome keyring support enabled, presumably because it drags in some subset of the gnome stack as requirements. Naturally, on my desktop system, that’s an ignorable concern, so that’s now forked and added to my buildservice repo, too.

Thanks to private and corporate sponsors, and most of all because of so many enthusiastic volunteers, LibreOffice had a presence on this years FOSDEM and the CeBIT 2011 trade fair.

Green people manning the LibreOffice FOSDEM booth

Although both events are almost diametrally different, in both audience and recommended attire, there was a common trait – the interest and support we received for LibreOffice was immense. On FOSDEM, we had a table right between CACert and FSFE, in the entrance area of building H (one of the best places, I gather). Kendy and Bubli had brought boatloads of LibreOffice tshirts and jumpers from Prague, that we collectively lugged to the booth & almost fully sold over the weekend. Lots of people wearing green, suddenly.

hackers at the libreoffice booth

On Sunday, there was a LibreOffice devroom, among many others, with a talk from yours truly about Impress hacking.

This year, I was able to spend two days at CeBIT, joining the booth team of Jacqueline, Karl-Heinz, Roland, Thomas and Ulrich. The booth location was nicely located at a corner, with Linux New Media and Firefox presences vis-a-vis – and was packed with people most of the time (amazingly, Roland was able to recruit new German association members on the spot, and even talked them into helping out at the booth).

Crowded libreoffice booth, from http://blog.radiotux.de/2011/03/02/cebit-2011-tag-2-rote-huete-und-die-freie-schule/ (cc-by-nc-sa)

Met with a few press people, and tons of friends and colleagues from the new and the old project. Much encouraged to hear interest from larger and smaller sites to go & try LibreOffice (a handful of successful migrations have already happened), and from a few extra opensource companies planning to start hacking LibreOffice core code.

Managed to miss ICE train back to Hamburg in the evening, due to a friendly “train is 15 minutes late” vanishing literally seconds before the train arrived in the station (much earlier than 15 mins late).

Close-up picture of the LibreOffice CeBIT booth

The second day was maybe even more crowded, and from the talks I had, slightly more end-user-focused. People were generally very receptive to my “everyone can contribute something to LibreOffice” line. One case in point was a computer science prof, asking for a feature and not aware of the fact that he probably has more readily available talent with spare time at his disposal (i.e. students), than most of the LibreOffice project members. Besides that, got offers for more tinderboxes, and a few really high-quality bug reports.

At the end of the second day, the donation jar turns out to be quite full, and so the question comes up “how much is in there?”. Ensuing is a little bet – the closest estimate wins a cheese sandwich, specially-crafted by Jacqueline. Results not yet in.

Many thanks to all involved into making that a success – both events were wonderful debuts!

Managed to squeeze two days of Libre Graphics Meeting in my schedule this year again, and it was again exceeding expectations. The creative mix of artists, designers and hackers is unique and extraordinary, the talks, covering both work of art & software, are mostly a revelation (to me). The organizers around Femke, Nicolas & Anne managed to grab a lofty, industrial-style old piano factory for the venue, a perfect match for the event, and with excellent infrastructure. Kudos to them!

From the talks I attended, I think I was most impressed by the nodebox folks, one of the rare moments of interdisciplinary innovation (albeit with prior art) that makes you feel very humble. I’d actually hang my walls with stuff like that.

Some random impressions:

(Lukas Tvrdy with Krita hairy brush stroke example – Jakub Steiner on his 100%-FLOSS-based icon workflow – Peter & Franz of Scribus fame demoing fancy mesh gradients – Eric Schrijver’s great ranting on design & “pixels are vectors, too” – ReJon’s Inkscape talk via Inkscape – the CloutComputing panel)

Just a brief notice, took caff+tls, pulled changes up to latest debian version from svn, and hacked it into working state: script is here, suitable .caffrc is there.

Follow

Get every new post delivered to your Inbox.