Search Results: "spa"

31 March 2008

Cord Beermann: T-Online (German provider) enhances spam protection, and blocks legit listmail.

Just a quick pointer to an article in German for those 350+ Subscribers with a t-online-Mailaddress.

T-Online verbessert den Spamschutz - Legitime Mails werden abgelehnt.

Summary: T-Online now blocks non-spam Mail from Debians Listserver.

30 March 2008

Miguel Gea: Apertium

Last years, Francis Tyers has been working as Debian maintainer for Apertium packages and upstream (Apertium is an open-source machine translation platform), and I've been sponsoring it all this time.

Today, I've uploaded a new version for Apertium (3.0.7) that solves a few errors that has been blocking a new lang pair. This new pair is en-es. It's still in beta status, but the quality is quite good.

Now, we can see in Debian a lot of pairs:

  • English-Spanish
  • English-Catalan
  • French-Spanish
  • French-Catalan
  • Spanish-Romanian
  • Spanish-Portuguese
  • Spanish-Galician
  • Spanish-Catalan
  • Esperanto-Spanish
  • Esperanto-Catalan

    There are too a graphical user interface for Apertium (apertium-tolk) that is a useful test program for apertium-dbus.

    The present for apertium: support txt, html, rtf, odt, docx, wxml and xlsx documents.

    The future... more lang pairs (spanish-basque, catalan-romanian, spanish-occitan and catalan-occitan)... integration with OpenOffice and Iceweasel
  • Benjamin Mako Hill: The Most Photographed Bus Company in America

    I suspect that Lamers Bus Lines, Inc. (golamers.com) may be the most disproportionately photographed bus line in America by young Internet-savvy photographers. These photographs, and many more, are taken from Flickr: When it comes to the most insulting bus company, however, the unfortunate typography that rendered the Pioneer Valley Transit Authority buses dangerously close to "puta" may give Lamers a run for their money in Spanish speaking communities.

    29 March 2008

    Adam Rosi-Kessel: Free Books

    Via Lifehacker, legal cost-free books under copyright from Wowio. This is a great idea, and I give it even odds for being the future of books. (Or at least, part of books’ future).
    What is WOWIO?
    WOWIO is a new kind of online bookstore that enables readers to download ebooks for free, using commercial sponsorships to compensate authors and publishers. Readers get free ebooks. Sponsors get a powerful new channel to communicate their message to precisely the people they want to reach. Publishers get a new means of distributing their books, expanding their readership, and monetizing their intellectual property.

    Does WOWIO use any kind of digital rights management (DRM)?
    Since anyone can defeat the most “sophisticated” DRM with the print screen button, we believe that technology-based DRM is essentially a fraud. Our approach takes the market incentive out of misbehaving, rewards people for doing the right thing, and tries to stay out of the way of honest users. To help keep everyone honest, however, readers must authenticate their identity and agree to a licensing agreement when they set up their account. Then, each ebook is serialized with the reader’s authenticated name and a unique serial number, as well as other less visible markers. WOWIO will immediately terminate the account of anyone caught illegally distributing ebooks, and will prosecute serious offenders.
    Technorati Tags: , , , ,

    Martín Ferrari: Six (more) reasons to hate Java

    There are many reasons to hate Java, it's like shooting fish in a barrel. But in the last weeks I found some more, half of them aren't even fault of the standard API (the usual culprit), and I want to share my frustration with the rest of the world. It has no unsigned types Say you want to manage binary protocols, files, etc. You'd like to store and retrieve bytes and words in machine format, of course, but you'll have a hard time finding the right value because you can't have a goddamn unsigned byte! So if you want —for example— to read the length of a string which can be bigger than 127 as a single byte, you'll end doing some aberration like this:
    byte strl = foo_retrieve_byte();
    int real_strl = strl < 0 ? 256 + strl : strl;
    You can't inherit constructors Maybe there's something in the OOP dogma that mandates this, but if I want to define a new exception that does nothing, but allows me to differentiate a custom class of errors, I don't want to explicitly write dummy constructors instead of writing an empty class —which is simpler and cleaner— and have the four standard exception constructors for free. So, you'll have to do this:
    public class FooException extends BarException  
    	public FooException()   super();  
    	public FooException(String s)   super(s);  
    	public FooException(Throwable t)   super(t);  
    	public FooException(String s, Throwable t)   super(s, t);  
     
    Instead of this:
    public class FooException extends BarException    
    You can't declare destructors Say you've coded a nifty jdbc wrapper that automates most of the boring stuff, like automatically freeing the connection to the connection pool when there was an exception thrown, logs errors and maybe queries, handles auto-commit settings, etc. In the simple case, you'd create an instance, do some work, and then close the connection; if there was an SQL exception, you little class will take care of it and re-throw. BUT, if in the middle of your work in the calling code, you have an unrelated exception, you need to catch it or you'll leak connections, because the wrapper class doesn't have a way of handling this, even if the object gets garbage collected! In the end, I had to write tons of times the same stupid code:
    try  
    	j = JdbcWrapper.new(foo);
    	j.doSelect(bar);
    	unrelatedObject.unrelatedMethod();
    	j.doUpdate(baz);
      finally  
    	j.close();
     
    You don't have a sane way of controlling the terminal Most of the time, when dealing with web applications, you won't need this. But when you're doing some serious stuff, you might need to write a CLI application (oh, noes!); and then do some stupid thing like asking the console to stop echoing characters so you can ask for a password. You'd think that the smart guys that designed Java would have devised an portable library to handle this trivial task, but no! Guess what I found when looking at a way of doing this? Some idiot at SUN recommending (and many dummies following) a background thread that spits backspaces faster than the user can write! Of course, SUN will tell you that using Strings is insecure for storing passwords, because they cannot be wiped out like byte arrays. But they fail to mention something as basic as not showing the fucking password in the first place, or something as important as wiping the object after using it: you can't lock memory from Java, so you risk that it could end in some slack in the swap file. No, you can't leave stdin/stdout/stderr fscking alone! When dealing with the previous problem, you say fuck portability and just call stty -echo to do the job. Well, you'll find a little surprise! Even if you don't ask for the process' reader/writer streams, the Runtime class will pipe(2) and dup(2) your child process' standard streams. With this excellent approach you cannot have a child process output stuff to the user, nor even errors; you cannot allow the child process access the tty (stty obviously can't do shit with a piped stdin). And there's no fucking way to tell it to stop crippling your standard streams! The only solution I could find was a very ugly shell hack:
    Process p = Runtime.getRuntime().exec(
    	new String[] "sh", "-c", "stty echo > /dev/tty < /dev/tty 2>&1" 
    );
    No, you can't handle signals After doing the previous hack, you find that if you interrupt your process while waiting for user input, your console will remain in noecho state. So the obvious thing is to catch SIGINT and friends and call stty again to restore the console. HA! You will find that there's no standard way of doing that, and if you really need it, you have to resort to undocumented com.sun.* classes which aren't even guaranteed to be present in every JVM. My solution was to set up a shutdown hook, which solved this problem, but would not solve other very common problems that are solved usually with signal handlers. I'm going to DebConf8, edition 2008 of the annual Debian 
       	developers meeting Tags: Planet Lugfi, Planet Debian

    28 March 2008

    Russell Coker: Debian SE Linux Status

    At the moment I’ve got more time to work on these things than I have had for a while. I’ve got Etch support going quite well (see my post about my Etch repository [1]), the next step is to back-port some packages for AMD64 to get it working as well as i386. I’ve got an i386 Xen server for SE Linux development (which is also used for my Play Machine’s [2] DomU - so it’s definitely not for anything secret). I can give accounts and/or DomU’s to people who have a good use for them (the machine has 512M of RAM so could have 4-5 DomU’s). Currently it seems that the 2.6.24 kernel in Debian doesn’t work for Xen (at least on with an i686 CPU). I have filed bug report #472584 about it not working as a DomU [3]. This combined with the fact that according to bug report #466492 it doesn’t work as a Dom0 (which I have verified in my own tests) [4] makes the package linux-image-2.6.24-1-xen-686 unusable. Due to the inability to use 2.6.24 Xen I can’t do SE Linux development for Lenny in a DomU (Lenny tools build policy version 21 and the Etch kernel I’m using only supports policy version 20). So I have repurposed one of my servers for Lenny (unstable) development. I can give user accounts on that machine to anyone who has a good reason (and there are some people who I would give root access to if they need it). The current policy packages in Unstable are built without MCS support. This is a problem as converting between a policy which has MCS or MLS and one which doesn’t is rather painful (purge policy, reinstall policy, and reboot are all required steps). I have filed bug report #473048 with a patch for this - my patch may not actually be much good (I don’t understand some aspects of Manoj’s code) but it does achieve the desired result [5]. I won’t be making Apt repositories for such things as I expect that the changes will get into Debian fast enough. The next thing I am starting to work on is MLS support for Debian (currently it only supports the Strict and Targeted policies). See the Multilevel Security Wikipedia page for some background information on the technology [6]. I don’t expect that many people will use MLS on Debian in production environments, and it wouldn’t surprise me if no-one used it on a production server (although of course it would be impossible to prove this). But I still believe that it’s worth having for educational purposes. I am sure that there are packages in Debian of a similar size that will get less use so it’s not a waste of disk space on mirror servers! The only real down-side to adding MLS support is that it will increase the build time for the Debian SE Linux policy packages, currently they take 13 minutes to build on a 1.1GHz Celeron system (the Xen server I mentioned previously) and I expect that the machine in question will have build times greater than 20 minutes with MLS included. I will probably need to set up an Unstable DomU on a dual-core 64bit machine for the sole purpose of building policy packages. I will also have to investigate use of the “-j” option to make when building the policy to take advantage of the dual cores. I often do small tweaks to policy and it’s annoying to have to wait for any length of time for a result. The version of Coreutils that is currently in Unstable will have ls display a “+” character for every file when running SE Linux (I have filed bug report #472590) about this [7]. It is being actively discussed and at this stage it seems most likely that the functionality from Etch in this regard will be restored (which is using “+” to represent ACLs only not SE Linux contexts). It seems likely to me that I will find a few other issues of a similar nature now that I have started seriously working on Unstable. For the benefit of Debian and upstream developers who get involved in such discussions, please do not be put off if you join a discussion that is CC’d to the NSA SE Linux mailing list and have your message rejected by the list server. The code of conduct is much the same on most mailing lists, and the SE Linux list is not much different to others. The difference is that before your get your email address white-listed for posting you have to agree to the terms of service for the list. The people who run the list server appear to work more than 40 hours a week so there should not be a great delay. If anyone wants to get a message about Debian SE Linux development sent to the list without delay on a weekend then they can send it to me for forwarding. I am aware of some discussions about SE Linux and the Debian installer. I have not responded to them yet because I wanted to get some serious coding done first as an approach of “I haven’t done much coding recently but trust me I’ll fix the problems for you” might not be accepted well. I will start investigating these issues as soon as I have my Debian/Unstable server working well in enforcing mode. Update: I’ve just filed bug report #473067 with a patch to enable MLS policy builds [8].

    27 March 2008

    Philipp Kern: Movable Type fails silently with IPv6

    I just tried Movable Type as another weblog backend to finally reenable comments, but it failed. Really. I have IPv6 activated on my web server, of course. (It still is not natively available with Hetzner, so I use a tunnel to SixXS for it.) My lighttpd thus passes the IPv4 IPs a bit differently to CGI scripts: 0.0.0.0 gets substituted by ::ffff:0.0.0.0 and IPv6 addresses pop up, too, especially when I access the site. Now MT saves IPs as character varying(16) in the database, even though PostgreSQL would support IP addresses natively as a data type. One would expect the script to bail out on inserting the comment into the database or to truncate the IP. Instead it tells the commenting person that the comment was accepted, but in fact it is not saved at all. I cannot find it in the database. And MT is not even a PHP application. Now it is possible that MT indeed complains on stderr, but well, lighttpd suppresses that fd now instead of piping it into the error log, after failing to close it properly before (#446324).

    Filip Van Raemdonck: Disconnected

    Last week has been a stressful one, for reasons I'll come back on later.
    This week had started better, but since yesterday my Internet connection stopped working[1] (for the same reasons). It isn't when until such thing happens that you realize how dependent you've really become on it, even for simple matters as looking up contact information.

    [1] So this and the previous post were written from my with my parents-in-law.

    Jordi Mallach: Interview in El Pa s

    Today's edition of El Pa s, the most read Spanish newspaper, celebrates the 10th anniversary of it's weekly technology section Ciberpa s with a special edition which takes a look back at the last 10 years of computing, and also looks forward to what the future will bring us. Merc Molist interviewed Carlos Atar s, my mate at Softcatal Jordi Mas and myself, on what happened during the last 10 years of Free Software and where we are heading. The paper edition features a *gasp* half page picture of me laying on the grass, but is otherwise identical to the online version. I need to add, this feels a bit strange. :) It's the first time I see myself refered to as just Mallach , but I realise I'm getting old...

    26 March 2008

    Nico Golde: streaming from your fileserver using mpd and icecast

    My mobile music player is often missing the files I want to hear right now if I'm under way because my music collection is too big to fit on it.
    Long time ago I used gnump3d which seems to be unmaintained in Debian for quite some time and then I often listened to some live streams, network connections are available nearly everywhere.
    But I always wanted my own live stream with music I want to hear. There are several solutions out there for this task but they all require the creation of a playlist before the streaming starts.

    Fortunately mpd provides the possibility to define different output targets and also one for streaming to a shoutcast or compatible server like icecast.

    So after apt-get install mpd icecast2 (on a Debian box) you have to edit /etc/mpd.conf
    There is not much to do, be sure to set music_directory to the place your music is located and the configure the output part.
    Add the following to your mpd.conf and adapt some values:
    1. audio_output {
    2.         type "shout"
    3.         name "foobar stream"
    4.         port "8000"
    5.         host "localhost"
    6.         format  "44100:16:2"
    7.         mount "/stream.ogg"
    8.         password "somepass"
    9.         quality "2"
    10.         user "source"
    11. }

    The type defines that this output will be streamed to a shoutcast target. The name will be displayed by the client you use to play your stream. 8000 is the port icecast2 will listen on host "localhost" (in this example the icecast2 server is on the same host). format specifies the audio format of the stream, the first number is the sample rate in Hz, the second number is the number of bits per sample and the last number defines the number of channels (2 is stereo here). Those values should work for most of you. mount specifies the path under which the stream is available later from the server root, in this example http://localhost:8000/stream.ogg.
    quality defines the ogg encoding "quality". You can also specify the bitrate instead of it. The user and password values are used to authenticate mpd at the source input for icecast2.

    There seems to be a bug in the 0.13 release (which is also in Debian) of mpd that prevents this from working. I don't know the details about this bug but adding
    1. audio_output {
    2.         type "alsa"
    3.         name "fake out"
    4.         driver "null"
    5. }
    fixes it.

    Make sure to set START_MPD=true in /etc/default/mpd to enable mpd.
    That's all that needs to be done for mpd.

    The next step is to edit /etc/icecast2/icecast.xml.
    The default configuration nearly ready to use. Configure the authentication part:
    1. <authentication>
    2.       <source-password>somepass</source-password>
    3.       <admin-user>admin</admin-user>
    4.       <admin-password>someadminpass</admin-password>
    5. </authentication>

    The source password is the one we specified in the mpd configuration. This is needed to authenticate mpd with icecast. source is the default user name icecast uses here. Additionally we define an admin-user that can be used to add users to icecast later because we want to protect the stream by a username and a password.
    Then set
    1. <hostname>you.somehost.org</hostname>
    .
    This hostname is used to generate URLs in icecast that a user receives.

    Because we want a very simple authentication for the stream we need to add some options for the mount (/stream.ogg):
    1. <mount>
    2.     <mount-name>/stream.ogg</mount-name>
    3.  
    4.     <max-listeners>1</max-listeners>
    5.     <authentication type="htpasswd">
    6.             <option name="filename" value="/etc/icecast2/htpasswd"/>
    7.             <option name="allow_duplicate_users" value="0"/>
    8.     </authentication>
    9.     <on-connect>/home/icecast/bin/stream-start</on-connect>
    10.     <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
    11. </mount>

    I think the xml tags are pretty much self-explanatory. Keep in mind to set the filename to a location the icecast daemon has access to, that's why I used /etc/icecast2. Then you can add users with htpasswd or using the web interface on port 8000 and add a user there.

    The last thing to do is to adjust the <alias source="/" dest="/status.xsl"/> setting. Change status.xsl to auth.xsl people need to authenticate if they connect to the web interface before seeing the stream information.

    Now you can login via ssh on your home server and use your favorite mpd client to configure playlists on the fly, I use ncmpc for this. Of course the authentication is not secure, people who sniff your traffic can see your login data.
    One thing to keep in mind is to restart mpd after restarting icecast otherwise mpd will hang and not continue to stream, this seems to be a bug.

    After routing through your NAT, you should be able to play your stream via http://you.somehost.org:8000/stream.ogg.

    25 March 2008

    Cyril Brulebois: When patience isn't enough

    Random things you can't do without being a DD (and no, DM isn't the answer). Being able to read debian-private@, having a nice^Wspammed @d.o address, or getting an lwn access could be added here, but that's only bonus stuff compared to the previous items (and I'm probably forgetting others). Oh, yeah, I know, patience is the key. I'm not sure about how many months we're supposed to wait for an answer from James. I'm not sure how many years we're supposed to wait for the various DAM problems to be solved. Lucas is very worried about bringing fresh blood into Debian. Maybe there's some already, but it's not allowed to flow in. Many thanks to all developers who are making it less frustrating by doing mass-sponsoring; and to everyone showing sympathy. Not listing you all, you know who you are.

    Martin F. Krafft: People slacking or drowning?

    For years, several important (or not so important) people have forecast the end of email. While most of what they were saying couldn t be disagreed with (important people always speak in vague, vacant terms), it wasn t until about a year ago that I noticed any effects. But over the past twelve months, I found myself frequently having to remind people of tasks, mostly outstanding emails, across the whole spectrum, and including companies who could make money from me if only they d bother replying. Statistics somewhere say that 90% or more of all mail is spam. I have very few problems with spam (and would like to describe my mail filter in a future post, but that ll take time), but I have no problem imagining how most email users out there, who are stuck with technology from the nineties (thanks mostly to Microsoft), are really drowning and thus fail at the basics of correspondence. So what s next? How should we continue to communicate, now that email has been fully embraced by the business world while it has grown to be more of a burden than a gain for the majority? Or is our society simply accumulating more and more slackers? NP: Barclay James Harvest: Time Honoured Ghosts

    Gunnar Wolf: Perl6 and sigils

    Zack, Wouter: Yup, Perl 6's scheme changes to reduce confusion to the programmer and to make the language better Huffman coded. Why?
    As for the programmer, it comes out of observation - Changing the sigil depending on what you are expecting to get back (i.e. a hash has a '%' sigil, but if you only want one value off it, you use the '$' sigil, as it indicates a scalar variable) confuses more often than it helps - Specially newcomers. Besides, it will be easier for the interpreter itself - The sigil will become an invariant but required part of the variable name itself. Hence, Martin will be happier, as there will no longer be different namespaces under which to store your variables. Oh, BTW, Martin: Not only Perl behaves this way. Ruby also uses that concept - There, you have local variables (no sigil), instance variables ('@'), class variables (ugly '@@') and global variables ('$'). I remember in old (Quick GW)BASIC you had numeric variables (no sigil) and string variables (postfix sigil '$') as well. Any others?
    Now, about the Huffman coding part, WTF?
    It is one of the design goals of Perl 6 to make the most often used operators be the shortest, so you, programmer, don't wear out your keyboard and lose your valuable fractions of seconds typing i.e. '->' for a method call when you can just type a '.' - Similarly, currently you have to type too many characters for the (too common) dereferencing - If you have a reference to a hash of arrays of arrays of objects on which you want to call methods, you have to do $something-> key [0][0]->boo - Whereas with Perl 6 you will only have to do $something key [0][0].boo
    Anyway, I cannot elaborate much further, as I've been -at best- just a bystander. But yes, large changes loom in Perl's future. Let see what comes on...
    And when. Sigh.

    24 March 2008

    Randall Donald: In case anyone wanted to know


    My spare time has been quite limited this month and last. I've had to freelance work on a shopping cart, my alpaca farm website Alpacas of the Coast and keep up with my TV watching ;) I have been working on the Nvidia packages on and off. So far in the next release will be:

    * New upstream.
    * remove xserver-xorg-core dependency.
    * add cuda files (closes: #463776)
    * add bzip2 to build-depends. (closes: #466139)
    * add uploaders field that went missing: (closes: #454999, #472448)


    linux-modules-nonfree-2.6 support will be added too.


    Then, hopefully I can catch up with the legacy versions. Anyone who would like to join the packaging team feel free to contact me.

    Enrico Zini: How to freak out a Frenchperson

    How to freak out a Frenchperson
    Bottles with 'Champagne Soda' label
    'Champagne Soda' label close-up 'Champagne Soda' label close-up
    'Champagne Soda' label close-up 'Champagne Soda' label close-up
    The way to freak out an Italian, instead, is to show them a bottle of "Lambrini" in the UK.

    23 March 2008

    Wouter Verhelst: Perl

    Martin blogs about how the Camel book mentions the fact that scalars, arrays, and hashes have completely separate namespaces, as if this is a problem. Well, I disagree. As with anything in Perl: yes, obviously it's possible to confuse yourself with this feature, and yes, obviously it's true that if you do this, you will get to keep both pieces of your program. So don't do that then. However, when used properly, I find that it actually helps me improve readability of my programs. Let's say we have a subroutine which returns a reference to a filehandle to a bunch of data in a format that we know how to parse. We don't know what the filehandle points to (and we don't care, either), but we do know what the data is. So we store the filehandle in some scalar, and then proceed to parse the data into a hash. Now we could use variable names such as $fh and %hash, but I'll hope that everyone agrees with me that this is very bad practice. So, instead, we should name the variables after what they contain. Say our data file contains books:
    $books = get_books_fh();
    while(<$books>)  
    	(... parse $author out of $_ ...)
    	push @ $books $author , $_;
     
    
    The filehandle to which $books is a reference, points to some useful data; and the %books hash table contains the exact same data, only structured in a different, more useful way. So why give them a different name? They're the same thing, call them the same way. Personally, I find this makes a whole lot of sense. And you can do the same thing with arrays vs hashes, or scalars vs arrays. Of course you can also write code that uses $somevar and @somevar, with no semantic connection between the two. That is stupid, so don't do it. The fact that you can do stupid things with Perl, however, should not mean the language sucks. You see, other than some other programming language I could think about, Perl does not assume its users are stupid, or inexperienced, or dummies, or whatever. Yes, that does mean that new users will get confused; but it also allows experienced users to Get Stuff Done in a proper way. And, well, I'm sure you can do stupid things with python, too.

    Francois Marier: Background compilation using ionice as a normal user

    Most people know that you can run commands "in the background" on UNIX by prefixing them with "nice":
    nice run_long_script.sh
    What that does of course is reduce the priority of the process so that the CPU scheduler only runs it when nothing else (of a higher priority) wants to run. What it doesn't do however is run the process without any impact whatsoever on your other tasks. The reason is that the background process can still ruin the performance of your computer by monopolizing the hard disk.

    It turns out that Linux 2.6.13 or later (with the CFQ scheduler) support a tool called ionice which is a "nice" command for I/O operations (like disk accesses). It works like this:
    ionice -c3 command
    The only problem is that you can only reduce the IO priority of a process as root. The reason being that if you're not careful you could have a high priority (CPU priority that is) IO-blocked by a lower-priority process.

    But if you run your compilation like this:
    sudo ionice -c3 make
    it will run the whole thing as root, which is probably not what you want. So you could do something like:
    sudo ionice -c3 sudo -u myusername make
    to run the compilation as yourself. Though one problem persists: sudo strips out your environment. So things like distcc and ccache may not work anymore.

    Here's how I solved these problems in my background compilation script for custom kernel Debian packages:
    #!/bin/bash
    nice fakeroot make-kpkg --revision=custom.1.0 kernel_image &
    BACKGROUND_BUILD=$!
    sudo ionice -c3 -p $BACKGROUND_BUILD
    wait $BACKGROUND_BUILD exit 1

    Julien Blache: TomTom: Internet standards do not apply

    In June last year, I bought a TomTom GPS device. Their use of Linux on the device was a clear plus in their favour, but it was only that, given that overall they’re the best devices available. Unfortunately, the TomTom HOME software that is needed to manage the device is not as good as the device itself. An account on their website is needed for updates and the online shop, and as I usually do, I used an email address in the form jb+something@jblache.org. That’s a trick most of us use to trace back the origin of spam, usually revealing that some company sold its customer database. I’ve been doing that for years. I was quite happy that the website did not reject the address as being invalid; that’s something that happens everytime the random web developer maintaining the site decides to start “validating” email addresses, for some value of email addresses. For the following 8 months I’ve been using this address as the account login (don’t really have the choice, anyway) with the TomTom HOME software. Last month, the v2 of the said software was finally made available for Mac OS X. Where the v1 used to accept my email address, the v2 would now reject it. You guessed it, Joe Random developer decided to start validating email addresses in TomTom HOME. I reported the regression (and here, something must be said about their infamous support website), with pointers to the relevant RFCs. In the following email ping-pong, they managed to: Last but not least, their last reply was: “we found that the standard does not apply to us. Please change your email address for a valid one.” Now, I’m left wondering: does the GPS standard apply to TomTom devices? I truly hope so.

    Christian Perrier: [sports] F1...and anthems

    Nobse, why insist on watching such a boring spectacle? :-) The only good moment in a F1 Grand Prix happens when a Ferrari car wins and we can listen to "Fratelli d'Italia", the italian national anthem and, by far, my favourite national anthem. At least the music is among my favourites...the words, as often in national anthems, carry a nationalist philosophy which I don't really share. This includes our French "Marseillaise" and its "Make impure blood soak our fields' furrows". We should use a "lalala" version, just like they're doing in Spain for the "Marcha Real". The French version of Wikipedia gives interesting explanations about the controversy for La Marseillaise words. Strangely, the English version does not.

    22 March 2008

    Matthew Garrett

    Because you all love me and deeply want to know what on Earth I'm doing with my life/want to hire me, I'll put you out of your misery and let you know that I've just accepted an offer from Red Hat to save the universe work on kernel and userspace power management. With luck, it'll go some way to making up for the ridiculous amount of flying I'm still due to do this year.

    Next.

    Previous.