30 Jan 2008
Desktop, Linux
After switching to OpenOffice in 2005 and introducing Mozilla Firefox and Thunderbird on their machines in 2006, the French paramilitary police (’Gendarmery’) will make the switch to 100% Free Software based desktops in the coming years. The migration should be completed in 2014.
All workstations will be converted to Ubuntu desktops, starting this year with 5000-8000 seats, growing to 12000-15000 over the next four years. By 2014, all 70000 (!!!) desktops should be running free software.
There are three major reasons for the full switch:
- Remove dependency on one single supplier
- Gain full control over the whole operating system stack
- Reduce costs
Nowadays licensing costs sum up to 7000000€ (that’s seven million euros) every year.
I guess this must be one of the largest Linux desktops deployments ever?
Source: AFP
Tags: Desktop, Linux
26 Jan 2008
Various
Looks like the 2008 edition of LinuxJournal’s ‘Readers’ Choice Survey’ has been published some days ago. The available answers in several questions are rather badly chosen though… I’d think the LinuxJournal editors wouldn’t be this clueless. Some examples:
Question 3 asks about your favorite Desktop Environment, and lists GNOME, KDE, XFCE, Enlightenment and Fluxbox. Whilst the first 3 options can be regarded as DE’s, Enlightenment and Fluxbox are pure Window Managers, not really usable as an all-inclusive desktop.
Question 5, regarding your favorite email client: if you list any web-based client (Gmail, maybe someone should tell me how this is related to Linux?), you should at least list the major free software web-based clients too (thinking of Horde IMP here).
Continue reading »
Tags: 2008 Readers' Choice, Linux Journal, survey
24 Jan 2008
Various
“We regret Belgium doesn’t strictly adhere to this European standard, but chose a local implementation. As you know, respect for standards is important, especially in the domains of identification and authentication.”
- Phillip Vandervoort, General Manager Microsoft Belgium and Luxembourg
Emphasis is mine. Read in the 16/01 issue of the Belgian “IT Professional” magazine, page 29, included in the ProFOSS goody bag. The article is a response on an earlier published interview with Geert Mareels, manager of the Coordination Unit of Flemish e-Government, claiming one of the reasons e-ID isn’t widely used yet is due to Microsoft not providing any e-ID related solutions.
Original quote: “We betreuren het dan ook dat België deze Europese standaard niet volledig onderschrijft, maar gekozen heeft voor een lokale implementatie. Zoals u weet is het respect voor standaarden belangrijk, in het bijzonder in de domeinen van identificatie en authenticatie.”.
Tags: microsoft, phillip vandervoort, standards
22 Jan 2008
Technology
I’m at the ProFOSS virtualisation event currently. This morning there was a nice talk by Tarry Singh in which an interesting (and, imho, correct) thought was raised:
What matters is Usable Source, a mix of Open Source and Closed Source.
(Disclaimer: these aren’t his exact words, they might be rephrased a little, but you get the idea.)
I kinda like the idea 
Tags: tarry singh
20 Jan 2008
Development
After reading my previous post, you should have a pretty good understanding of what a BNF definition is all about. Let’s put this theory into practice, and write some basic parsers in Python, using Pyparsing!
Pyparsing allows a pretty one-to-one mapping of BNF to Python code: you can define sets and combinations, then parse any text fragment against it. This is something very important to notice: one basic BNF definition can (and should) be reused: if you once wrote a BNF definition for an integer value, you can easily reuse this definition in, eg, a basic integer math expression.
The most basic element using Pyparsing is a Word. In it’s most basic form this is a set of characters which will match any arbitrary length string, as long as the characters in this string are part of the Word character set.
A little introduction example: let’s write a parser which accepts words consisting of small-cap characters, or sentences which consist of words separated by spaces. First we define a formal definition using BNF:
Continue reading »
Pages: 1 2 3 4 5 6
Tags: bnf, parsing, pyparsing, python
20 Jan 2008
Development, Various
Parsing input is something most developers run into one day. Parsing binary input can be pretty straight-forward, as most of the time you know the format of the input, ie you know what to expect: if you receive a message of 10 bytes, the first byte could be a message ID, the second one the payload length, third one message type ID, and others message content. Pretty easy to handle.
Parsing human-readable text can be harder though, as human beings tend to be less strict when providing input (eg whitespacing), you can’t ask humans to prepend strings with their length, etc.
There are several ways to handle text input. One well-known method is using regular expressions with matches, but writing regular expressions which are able to process not-so-strict input can be pretty though, writing expressions to parse large bodies of text is hard, using sub-expressions can become pretty complicated,… Overall regular expressions usually involve quite a lot of black magic for the average outsider.

Luckily, there are easier methods to parse text input too, of which I’d like to introduct one: a Python module called Pyparsing, which can do BNF-style text parsing.
First of all, let me explain “BNF”. The Backus-Naur Form, aka BNF, is a metasyntax you can use to express the grammar of a formal language. This might make no sense at all, so let’s split it up:
Continue reading »
Pages: 1 2
Tags: bnf, grammar, mathematics, parsing
18 Jan 2008
Development
I’m happy to announce django-validation got field type inheritance support since a couple of minutes. This means your form fields will be validated starting from the most base field type (django.newforms.Field) up to the actual field type (no multiple-inheritance supported though).
In the example I wrote yesterday, when using a TestField field, this field will be validated as a django.newforms.Field (a “required” check will be done), then as a django.newforms.CharField (”min_length” and “max_length” checks), and finally as a TestField. A normal CharField would be validated as a Field first, then as a CharField, etc.
The returned errors will be a list of all errors found, starting with the most basic one (the ones found by the most general class, Field).
Next to this, all generated Javascript code should be namespaced now (based on Python module and class names), although there might be some bad things left, I’m no Javascript guru. The generated code might be somewhat messy.
Current Python code is most certainly ugly and will need more rewrites. Next to this, other field types should be added, and some tests would be nice too.
I made a snapshot of yesterday’s sample (with some changes, the ClientValidator API slightly changed), you can try it here.
Tags: Development, django, django-validation, form, javascript, newforms, python, validation
16 Jan 2008
Development
Some time ago I wrote this generic AJAX Django form validation code. Some people didn’t like this, as AJAX should not be used to perform form validation, which is sometimes true, sometimes not, as I pointed out before.
So I’ve been thinking since some time to create a Django templatetag which allows one to generate client-side Javascript form validation code without writing any code himself (unless using custom widgets). Today I got into it.
Continue reading »
Tags: Development, django, django-validation, form, javascript, newforms, python, validation
13 Jan 2008
Desktop, Linux, Technology
I’ve been able to download the KDE4 LiveCD by now, so I wanted to give it a test ride and write a basic KDE 4 review. These are my findings. I first and foremost want to stress I do not ever want to attack, offend or whatever anyone in this post (as reactions of vocal users on posts like these can be fierce sometimes ;-)). These are my findings, both positive and negative.
One reason to read this until the end (in case you wouldn’t ;-)):

At first bootup the OpenSuSE bootsplash theme attracts your attention. I really like it, very smooth.
After a successful bootup (using VirtualBox virtualization) the KDE desktop starts. This takes a while, but this can be blamed on the use of a LiveCD, and a virtual machine. The splash screen is very clean, the use of black and rounded corners reminds me of Apple OS X a little, don’t ask me why. The icon animation is nice, although I think the transparency shouldn’t go all the way to completely transparent (at least, that’s what it looks like), an maybe it should change somewhat slower. Next to this, the last icon in row (the KDE icon) is much bigger than the others, which doens’t look nice. Anyway, minor details.
Once booted, the user is presented with his desktop and a ‘Useful Tips’ dialog:

Continue reading »
Pages: 1 2 3 4 5 6
Tags: Desktop, free desktop, kde, kde4, Linux, productivity, review, virtualbox
12 Jan 2008
Technology, Various
I was just pointed to this article thanks to the blog of Kris Buytaert. The author writes about his experiences on how to recognize a good programmer as a recruitment person.
As I still am unqualified myself (no degree yet, maybe I won’t ever get one) the article was a relief to read, as in some of the things he mentions I could recognize myself. Hopefully lots of HR people read it too
Some excerpts of particular interest, and my opinion on them (all blockquotes © inter-sections.net):
Update: article blog seems to be down, see the comments for a Google cache link.
Continue reading »
Tags: career, IT Industry, jobs, programmers, recruiting