Monthly Archives: August 2011

Java programmers

I don’t much care for Simon Willison‘s (or in this case, the person he’s linking to’s) implication that Java programmers are misguided fools in need of help (as opposed to engineers trying to earn a living by using the best tool for the job on hand, rather than getting all evangelical about their language of choice).

However, the quote he posted recently makes a good point – using immutability and other functional ideas does make for better-written and less error-prone Java. And many of us have moved in that direction already, mostly without any prompting (although since Haskell was the first language they taught me at Oxford, that doubtless influences my world view).

The internet doesn’t weigh anything, but it took forever to get here

On Monday 1 August, we moved into our new house.

On Monday 22 August, we got an internet connection.

Fortunately, I have a shiny Android phone with WiFi hotspot capability these days, and it turns out the 500MB of data O2 give you lasts almost exactly three weeks if used carefully. They even send you a text when you hit 80% of it, and don’t automatically bill you when you reach 100%.

All very civilised, which is more than can be said for the process of getting an internet connection in central Oxford. First, we tried to get some ADSL via our BT line. There is a master socket in our lounge (carefully hidden behind a curtain, half way up the wall, natch), but the previous tennants had been on Virgin Media, and the BT socket was dead.

It took several phone calls to BT and the Post Office to establish that re-activating the line would cost us £130 for an engineer’s visit – even though the wiring and socket looked perfectly intact to me. Oh, and it would take three weeks. The process of arguing with BT Openreach about reactivation is apparently so tedious that the vast majority of ISPs offering ADSL don’t bother, insisting on your line having a phone number and a dial tone before they’ll talk to you (even if you want to pay them for the line rental too).

Having eschewed the BT monopoly’s attempt to gouge us for £130, we turned to Virgin. More promisingly, their bog-standard 10Mbps broadband (with no phone or TV) didn’t come with an up-front connection fee, but guess what – it would take three weeks to send their bloke to install it. Why they can’t offer self-installation in cases where the house is already wired is beyond me.

Our connection is currently showing a pretty respectable 9.71Mbps downstream and 0.5Mbps upstream – pretty close to the 10Mbps we’re paying for. The two annoyances so far have been that the engineer was obviously getting a bonus for conserving coax, as they gave us a 60cm length just long enough to put the modem/router on the bottom shelf underneath all our DVDs and books, rather than on the top shelf where it would give a better signal to the top two floors. Luckily some past installation of Virgin had left a lot of coax and splitters in a drawer, so I deployed some of those.

The other fly in the ointment is that our modem/router is Virgin’s superhub, much maligned by some as flaky and unreliable. I’ve not found the wifi range great on ours, but positioning it on the aforementioned top shelf has helped a lot. The main problem so far has been that, after a brief power blip on Monday, it came back on but disabled the WiFi, leaving me to plug into it with an ethernet cable in order to turn it back on.

The noddy web interface on the superhub also worried me, but it turned out there’s a well-hidden ‘advanced settings’ link back to the good old Netgear web interface with all the knobs and buttons for the advanced user.

I’ll report back if we experience any serious problems.

Meanwhile, here’s hoping that by the next time I move house, some geek will have achieved a landmark victory at the European Court of Human Rights, mandating that internet is a basic human right and must be installed within 48 hours of a person moving in to a new house. Not holding my breath, though.

Slow outbound e-mail?

I’d noticed for years that sending outbound e-mail from Thunderbird to my server on port 587 took far longer than it should have – about six seconds of staring at the progress bar.

Today, I was finally bored enough to work out the cause: Exim is configured to perform ident checks, which take 5 seconds to time out. Since port 587 only accepts mail from authenticated users, we can disable the ident checks for it:

rfc1413_hosts = ${if eq{$interface_port}{25}{*}{! $sender_host_address}}

If you’re running Debian, change the above in /etc/exim4/conf.d/main/02_exim4-config_options.