100Gbps fiber considered harmful

8:54AM, 13th March 2010

100Gbps fiber to the home is on the horizon. Wicked cool? Maybe. But there is also a danger. Let me calculate:

Resolution of my monitor: 2560×1600
Refresh rate of my monitor: 60fps
Bits per pixel on my monitor: 24

2560×1600×60×24 = 5,898,240,000 bps = 5.9Gbps

This means my computer could be implemented entirely remotely, and the final output image streamed down the fiber to my screen, like an extra-long DVI cable - rather like what OnLive are trying to do.

In fact, if you remove the bandwidth bottleneck that separates us all from each other, economies of scale will almost ensure such centralization occurs. Will that be the end of open PC architecture? Possibly not; there are factors that would make openness good for the compute-providers too.

But here's just one important example of the potential danger: running your digital life on a virtual machine in a gargantuan compute cluster means an end to privacy; strong encryption is meaningless when the hypervisor can peek into your memory at its leisure.

One day owning and running your own computer may be looked upon the same way we look upon those who run their own electricity generators.

It is a freedom we won't appreciate until it's gone.


How to not get hired for a web job

8:28AM, 13th March 2010

So, I've been recruiting web developers at work. Having only recently been on the receiving end of the interview table, I resolved to be scrupulously fair and relaxed. I didn't care what clothes candidates wore, did not pass judgement on a momentary mental blip, and made allowances for obvious nervousness.

However, there are still some basics that candidates didn't get right, so to anybody looking for programming work right now, please just throw out chapters 2 to 18 of that big fat interview technique book and pay more attention to chapter 1:

  • Spell-check and double-check your CV! If you misplace one character in your JavaScript code, it may fail. How will you convince a potential employer of your attention to detail when you don't even spell the name of your previous employer correctly?
  • Don't lie on your CV when it comes to the key skills the employer is looking for. The interviewer will interrogate you thoroughly and you will walk out feeling like a liar, because you are.
  • If the interviewer asks you a specific question, follow this algorithm:
    1. Listen to the question.
    2. Think about the question.
    3. Answer the question.
    Some candidates seem to be following this algorithm instead:
    1. Hear a sentence that ends with a question mark.
    2. Extract keywords from that sentence.
    3. Recite pre-prepared essay on those topics.
    Employers are not looking to hire textbooks. They are looking for people who can understand what the problem at hand actually is, and solve it. If you genuinely don't know the answer to a question, admitting it is better than waffling nonsense; this may be a chance to show how you would deal with not knowing everything, which you don't.

That's it!


Avatar: Aliens vs Titanic for real

9:39PM, 27th January 2010

So, Avatar. It's awesome! A proper event movie, and one of a small handful of theatrical releases in the last decade for which the ticket is not overpriced - it's worth it, although I could take or leave the 3D add-on if I saw it again. The 3D edition for me was just a couple of notches above being a gimmick, adding a few "heh, cool" moments, but no "wow, cool!" moments. On the other hand, if you've never seen a 3D movie before, this is surely the movie to try it out on.

I initially wanted to go and see Avatar simply because since 1997, all has not been right with the world of box office records. I've always felt that it's just been wrong on some level that a movie like Titanic should be the biggest grossing of all time. Buying Avatar tickets was my small contribution towards shifting the balance of power and rewriting the history books in favour of keywords like action, sci-fi and explosions, rather than love, romance and sinking. Loyalty to one's roots trumps maturity any day.

About halfway through, just after Jake had become lost in the jungle, I remember thinking to myself, "This is just too cool to be true. I'm giving it 10/10". In the cold light of day, that will probably be revised to about 9.5, but that still makes it stupendous.

Upon leaving the theatre, my first thought was that James Cameron has finally made a version of Aliens that is suitable to carry a 12A certificate. Hypersleep, Sigourney Weaver, the off-world mining colony, RDA/Weyland-Yutani, the evil corporate bad guy, the dropship/shuttle, the Colonial Marines, mech-exosuits, "Nuke the Tree of Souls from the air; it's the only way to be sure"...

But I'm not complaining. All those things were great about Aliens and they're great about Avatar. If tacking on a romantic subplot to make it more like Titanic boosts box office takings, then I'm entirely happy with that; more funding for further SF goodness.

See it.


IT infrastructure will be outsourced to employees

9:21PM, 13th January 2010

When you turn up to work in the morning, there are certain things you are expected to bring with you - suit, shoes, lunch money... - to a greater or lesser degree, depending on how progressive or relaxed your employer is. (If you are self-employed, underpants may suffice.)

These are the basics, but knowledge workers have created a new, higher class of equipment they are expected to bring to the job - things like training, experience, and glasses.

How far can this expectation go?

I predict that there will come a day when a person's productivity is so intimately entangled with their computing environment that people will be hired and fired with close reference to the environment they have built or customised for themselves.

This already happens in pure-information web industries like web design, Mechanical Turk and those rent-a-coder places, where the raw info-output of the worker is all that matters, and the business relationship is more that of contractor than employee. It's easier in these industries because there is such a loose coupling between employer and contractor; a firm seeking a piece of web design work need not know anything about the tools the web designers use. It is quite different for, say, a bank to hire a full-time analyst to work on its own confidential data.

However, as productivity becomes ever more dependent on intelligence amplification tools - and because every person and every job is so different that a single perfect toolset will never exist - these traditional firms will have to work out a way to employ people in their native computing environment, or risk being left behind by more agile organisations.

There will come a time when people who don't arrange their own IA tools will be treated like they are now when they don't take responsibility for their own learning and development. In the year 2010 it's not likely you would get a job as a coder, then turn up on day one saying "OK, teach me how to code". In the year 20xx, you won't find many information workers turning up on day one saying "OK, where's my computer?".


AЯMA☭EDDOИ

11:51AM, 31st December 2009

Russia 'plans to stop asteroid':

The head of Russia's federal space agency has said it will work to divert an asteroid which will make several passes near the Earth from 2029.

...

The US space agency said in October that there is a one-in-250,000 chance of Apophis hitting Earth in 2036.

That announcement was a significant reduction in the probability of an impact, based on previous calculations that put the chances at about one-in-45,000. The asteroid is estimated to pass within about 30,000 km of the Earth in 2029.

Mainstream moviegoers could be forgiven for thinking that the world will be ending shortly in acute fiery/icy/zomby catastrophe, but the reality is that truly terrible things tend to happen over an extended period of time and you don't notice until it's too late. Some of them even seem like a good idea at first. See climate change, world war 2 and the welfare state. Asteroid impact is one possible exception to this.

It's more than plausible that a medium-sized rock could hit Earth and cause apocalyptic devastation. It's happened before. Unfortunately, this Russian plan is likely to increase the risk to humanity.

NASA's latest collision probability is 1 in 250,000. Uncomfortably short for such a - pun, as always, intended - high-impact event. But what do you think is the probability of Russian asteroid-course-altering technology falling into the wrong hands? What is the malcompetence factor? Given the historical incompetence of the Soviet military-industrial complex and the contemporary malice of the Russian superstate, I'd want to keep a closer eye on this plan than on the asteroid itself.


Candy GOC58F

5:18PM, 29th December 2009

We bought a Candy GOC58F tumble dryer a month or so ago, and it worked reasonably well up until juuust before Christmas... when it started doing an intermittent pack-in. It would start up as usual, then halt after 10-15 seconds with all lights flashing.

I checked the manual and this did not correspond to any kind of error code. There was nothing in the troubleshooting section to indicate what might be wrong. I cleaned the filter and the condenser, emptied the water tank, and even pulled the machine away from the wall just in case the air inlet was blocked. Nothing helped.

Since user-serviceability is a fruity alien concept in the white-goods market, I just left it and decided to come back later to see if the problem had fixed itself.

Lo and behold, it had! I was able to do two loads of drying with the machine working just fine. Of course, problems that go away by themselves also come back by themselves, so the next time we came to use it, we were back to square one with all the lights flashing again.

So this morning a guy from Comet came to have a look at it. He'd never seen this problem before, and his diagnostic box didn't give him any clues. He said it would need a new circuit board. I await the result of this. If anybody from Candy is reading this, please arrange for your manuals to document all the flashing light codes, even if it means "device borked; return to manufacturer". Also maybe arrange for them to be a little more reliable.

Update 2010-01-16: Well, the guy came back eventually, and said it wasn't the PCB after all, but the temperature sensor objecting to the recent cold weather. The fix is to remove the filter, and stick your hand down the hole until it warms up a bit!


Outline of a content-aware compression scheme

4:26PM, 13th December 2009

Compressing files which are already compressed is hard - so hard that it's not worth doing. But the archives of the future will contain the archives of today, much like a museum contains collections which are themselves worthy artifacts. The archives of the future will be studded with zip files, tarballs, and scattered segmented rar files full of suspicious copies of Photoshop.

On the off-chance that we will need to store these archives efficiently rather than pray to the god of ever-increasing areal density, how should we do it? A quick experiment using apache web logs:

Files Size (bytes)
.gz, one file per day 34,405,056
decompressed 442,889,766
all .gz files within a .tar.bz2 34,351,616
decompressed and then
re-compressed as a single .tar.bz2
19,332,609

The answer for storing archives containing other archives in semi-obsolete formats is to (recursively) decompress everything first, then recompress using a state-of-the-art compression algorithm, and hiding the process in a lower layer of software so that it becomes transparent to the archaeologist, who sees the sub-archives in their original form.


Missing log files on Dreamhost

3:49PM, 13th December 2009

If you check your ~/logs/domain.com/http directory on Dreamhost, you will find your apache web server logs. They are a goldmine, and you should treasure them. But sometimes they appear to be missing for certain days.

Are they gone for good? No, it seems the log entries for that day simply get rolled over into the next day's log file; no data is lost. Such missing days are rare, so I imagine Dreamhost's log rotation script just fails to run on a particular day for one reason or another.

Nothing to worry about really.


Some SQL

2:08PM, 29th November 2009

To fix your funky table that contains separate columns for Year, Month and Day: create a new column of type and name date, and execute:

UPDATE table_name SET date=str_to_date(concat(year, '-', month, '-', day), '%Y-%m-%d');

str_to_date() works in MySQL; no guarantees elsewhere.


Tarka dall

2:12PM, 21st November 2009

To celebrate my final day in my previous job, we went out for a curry last night. Indian restaurants make it easy to choose something you've never tried before - usually because the menu is so extensive and unfamiliar to Western eyes, but sometimes because the eclectic transliteration of foreign words means you don't recognise something you have tried before.

So I tried the tarka dall, otherwise known as tarka dahl, tadka dahl, baghar dal, tadka dal or even chaunk dal, purely because it was mentioned on an episode of Red Dwarf once. (Series 6, episode 3: Gunmen of the Apocalypse!).

I didn't like it at all. For reference, it tasted like salty burnt lentils.

However, the rest of the food was completely delicious so I'd happily go back to Saffron and try their other bits and pieces.


Older stuff