Older blog entries for dwmw2 (starting at number 222)

5 Oct 2010 (updated 5 Oct 2010 at 10:36 UTC) »
Users of infradead.org mail/git/etc. services please read

The Mac G5 which was bombadil.infradead.org has died (frequently powering down due to one CPU package overheating, eventually refusing to come back on at all).

This machine was lists.infradead.org and git.infradead.org, as well as providing mail services for a bunch of people and various other things too.

The mailing lists were migrated away to another machine in the cluster before it finally expired, but git services will take a little longer — hopefully within the next 24 hours.

All user accounts on bombadil have been migrated to canuck.infradead.org — if you could log in to bombadil, then you should be able to log in to canuck with the same password and/or SSH keys. No other files have yet been copied across; we're working on that. If your mail was going to bombadil, it's now going to canuck.

The current plan is to deploy a shiny new machine to replace bombadil, if newegg.com will stop being incompetent (failing to authorise the credit card payment, and randomly cancelling orders even after they claim to have authorised it). It'll be an x86_64 machine instead of ppc64, so we can't just put bombadil's disks into it, but it'll have a copy of all the old home directories.

I'll bring the disks from bombadil home and put them into a spare G5, which will be connected through my crappy ADSL line. I don't expect people to be doing large data transfers to/from it.

Hm, I really ought to keep a users mailing list with up-to-date alternative addresses for people. But that list only has two members, neither of whom are affected by this...

[NOTE: If anyone in the Boston area could lend me a ppc64 machine for a few weeks, the transition could be made a lot easier, because we could stick bombadil's disks in it while we set up its replacement...]

I wanted to update a Nokia E71 to the latest firmware. So I booted a Windows 7 VM, went to the Nokia web site and downloaded the update tool. It took about quarter of an hour to download 33MiB over my crappy ADSL line.

When it finally finished downloading, I installed it and rebooted as it asked me to, then tried to start it using the icon it had installed on the desktop.

It told me there was an update available, and I couldn't use it until I updated. I muttered darkly at this idiocy, but let it update. It spent another quarter of an hour downloading, and only then did it check and tell me that it couldn't proceed because it needed to be run as Administrator.

So I right-clicked on it and used the 'run as Administrator' option, and watched it download itself for the third time. But still it failed, complaining that I had to run it as Administrator.

So I logged out completely and logged in using the Administrator account, and I ran it again. After downloading the entire thing for a fourth time it failed again, still complaining that it has insufficient privileges and needed to be run as the Administrator.

I am stunned — Nokia really ought to be ashamed at this crap.

A while ago, I reluctantly took over maintaining the get_iplayer tool: http://www.infradead.org/get_iplayer/.

When you search for it by name, my page isn't very high up on the list of results. Hopefully a few syndicated links to it from various planets that carry this will help...

30 Jul 2010 (updated 14 Sep 2010 at 13:33 UTC) »

Got bored of having to run 'make install' when hacking on Evolution, partly because libtool insanity makes it take too long — as for some reason it relinks everything as it installs it. Perhaps that was needed for FORTRAN77 programs on OSF/1, but it isn't needed on my modern Linux system. I hate libtool. But even without that, re-running 'make install' every time you change a line of code is a pain.

For a while I took to manually symlinking the libraries and executables I was working on, from my build directory into their installed locations. But I kept missing some out and that was a pain too.

My current solution, which excited mbarnes sufficiently that I felt I ought to share it more widely, is to re-run autogen.sh with the --enable-fast-install argument, then build it and run 'make INSTALL=install_symlink.sh install'. Then all files get installed as symlinks instead of being copied, and all I have to do is hack code, type 'make', and run evolution again.

The script is a dirty hack and there are much better ways to do it — some of which would even cope with filenames that have spaces in. But it works for me, and makes Evolution hacking a little easier.

[UPDATE: fucking libtool. I think you also need to do 'sed s/need_relink=yes/need_relink=no/ -i libtool' in your build directory, then to stop it fucking you over again also 'sudo chattr +i libtool'.]

Things I hate today include:

  • Symbian on my Nokia N97 — for spontaneously rebooting as soon as I got off the ferry.
  • Google Maps — for not caching the map tiles I'd carefully downloaded while I was on the free ferry wireless, showing my route to the hotel.
  • Mobile phone networks — for the insane amount of money it will have cost me to re-download the same map tiles again, as I was driving.
It's almost as if it's a conspiracy — especially between the latter two.

I really need to get myself an N900 and start using maemo-mapper again. Every time I try to use non-free software, it hurts.

I've just been working on Evolution's reply code, and have added a couple more of those annoying "nag pop-ups", including this one which I expect a lot of people will appreciate when they don't get the resulting mail:

Evolution nag pop-up for replying to too many recipients

It's currently set to trigger if you hit 'Reply to All' on a message with more than 15 recipients; unless it's a mailing list message. And of course you can see that it's trivial to turn it off if you never want to see it again.

I've also taken a moment to write down and post some thoughts on the 'Reply to All' vs. 'Reply to List' debate for mailing list messages.

Yay Brazil!. They're making it illegal to use DRM to prevent "fair dealing" with copyrighted works, or access to works which are in the public domain. It's also legal to "crack" DRM if you're only doing it for the purpose of "fair dealing".

So, for example, it would be legal for me to crack the DRM on the eBooks I buy, which is necessary just so that I can read them. Currently I have to break the law just to be able to buy and use eBooks.

UK citizens, go here and add your vote; it's very simple to register if you haven't already done so.


What was wrong with the SOCKS server that SSH provides? Playing transparent proxy tricks is cute, but why not make it work using SOCKS and then it would be more generically useful?

Better still, you can use an otherwise unused corner of IPv6 address space for your dynamic proxying so you aren't messing with the client's Legacy IP routing at all.

My God, I've been vaguely aware of the HTML5 video train wreck but I hadn't realised just how much of a fucking abortion the rest of the HTML5 'standard' is.

I had the misfortune to read the section on character encodings over the weekend, and it almost made me lose my lunch.

Not only does it codify the crappy and unreliable practice of applying heuristics to guess character encodings, it also requires that a user agent deliberately ignore the explicitly specified character set in some cases — for example, text explicitly labelled as US-ASCII or ISO8859-1 MUST be rendered as if it were Windows-1252!

It justifies this idiocy, which it admits is a 'willful violation', on the basis that it aids compatibility with legacy content. By which of course it means "broken content", since this was never actually necessary for anyone who published content correctly even with older versions of HTML.

But that doesn't make any sense — surely legacy content won't be identifying itself as HTML5? It might be reasonable to do these stupid things for legacy content, but not HTML5. The complete mess we have with charset labelling is a prime example of where the RFC1122 §1.2.2 approach of being lenient in what you accept has turned out to be massively counter-productive — if we'd simply refused to make stupid guesses about character sets in the first place, then people would have actually started getting the labelling right.

The sensible approach to take with HTML5 would just have been to say "All content which identifies itself as HTML5 MUST be in the UTF-8 character encoding. A conforming user agent MUST NOT attempt to interpret content as if it has any other encoding; any invalid UTF-8 byte sequences MUST be shown using the Unicode replacement character U+FFFD (�) or equivalent."

Or, if we really must continue to permit the legacy crap 8-bit character sets, it should have said that the content MUST be in the character set specified in the HTTP Content-Type: header or equivalent <META> tag.

Keep the stupid heuristics for legacy content by all means, but it should be forbidden to render HTML5 content in a character set other than the one it is labelled with, and all invalid characters (including the C1 control characters in ISO8859-1 which in Windows-1252 would map to extra printable characters like the Euro sign) MUS be shown as U+FFFD (�). And then the people who publish broken crap would see that they're publishing broken crap, rather than thinking it's OK because the browser they use just happens to assume the same character set as the system they're publishing from.

To me, HTML5 looks less like a standard and more like a set of broken hackish kludges to work around the fact that people out there aren't actually capable of following a standard.

Eww, this country is uncivilised. Just got back to my hotel room and my clothing reeks of smoke. I'd almost forgotten how horrid that was.

213 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!