MacBook Pro neon light

My MacBook Pro has a neon light on the catch. It’s off when the machine is awake with the lid open, and on when the machine is awake with the lid closed (I think!). Some tosser in Apple obviously thought it was a good idea, and probably got a prize for it. But it goes against one of the simplest and perhaps fundamental engineering design principles. If you want to indicate the state of a machine to a user, you do not use something that has a temporal element.

This is why the traffic lights in the US are badly designed, while the UK ones are not. If you are approaching the lights in the US, and you see an amber light, you don’t know whether it is about to turn green or red; in the UK it will be about to turn red. Simple innit? (If it was red and amber it would be about to turn green.)

So if I glance at my little neon light, can I tell if the machine is asleep? No. I need to stand and stare at it for a while, and probably wait for it to go through a couple of pulsing cycles before I am sure (and I needed to do this because Apple screwed up the firmware so the machine didn’t always sleep).

And apart from that, why do I need a bright pulsing light in my hotel room? If I wanted to stay awake I wouldn’t go to bed.

Flattr this!

File types needing extensions.

I’m asked for a document to be Text, PDF or PS. So I fire up vi to make sure I’m not getting any extra formatting stuff in my text file and submit it. I get back a message saying the type is not permitted, as only: “plain text (.txt), Adobe (.pdf), or postscript (.ps)” are allowed. I gave you plain text, you dolt. In fact, I guess I could have given you a tiff image file , as long as it had a txt extension.

Flattr this!

People who can’t be bothered to put the proper URL in things like update details.

For example, Apple. I get a Software Update notification for Quicktime 7.3.1. And it says “For detailed information on this update, please visit this website:”. So I click on it, and it takes me to a general update page, with links to 81 (eighty-one) update bulletins, one of which is the one I want. Excuse me for living, but the reason I clicked was to find out about the Quicktime 7.3.1 update. No, I didn’t want to know about the “Keynote 2.0.2 update” from 2005 or “Xcode Tools 2.5”. I wanted to know about Quicktime 7.3.1 update. And my time is more important than yours, contrary to anything else you may have thought.

Flattr this!

Progamming languages that don’t do what you expect.

Try this:

$a1 = “0d2”;
$a2 = “0d3”;
$b1 = “0e2”;
$b2 = “0e3″;

if ($a1 == $a2) print ‘$a1 == $a2’.”n”;
if ($b1 == $b2) print ‘$b1 == $b2’.”n”;
// In fact
if (“0e2” == “0e3″) print ‘”0e2” == “0e3″‘.”n”;

// But
if ($a1 === $a2) print ‘$a1 === $a2’.”n”;
if ($b1 === $b2) print ‘$b1 === $b2’.”n”;
if (“0e2” === “0e3″) print ‘”0e2” === “0e3″‘.”n”;

// I can cope with this behaviour for ==, even though it is strange,
// as says:
// “If you compare two numerical strings, they are compared as integers.”

// However, says
// $a == $b Equal: TRUE if $a is equal to $b.
// $a === $b Identical: TRUE if $a is equal to $b,
// and they are of the same type.

// Demonstrably, whatever type php decides the first argument is,
// it should be the same as the second.
// So === should have the same behaviour as ==
// Agreed? 🙂
// The worry is that the temptation is to use ===,
// but I really think that strcmp is the only true way.
// There must be shedloads of programs out there
// which use == for strcmp on input,
// but would break if the input looked like a small double
// (in case you hadn’t worked out why yet!).
// I think I’ll change my name to “0e1″ 🙂

// And before you ask
if ($a1 != $a2) print ‘$a1 != $a2’.”n”;
if ($b1 != $b2) print ‘$b1 != $b2’.”n”;
if ($a1 !== $a2) print ‘$a1 !== $a2’.”n”;
if ($b1 !== $b2) print ‘$b1 !== $b2’.”n”;

// So at least it is consistent.

Which gives:
$b1 == $b2
“0e2” == “0e3”
$a1 != $a2
$a1 !== $a2
$b1 !== $b2

Flattr this!

The person who invented the blue LED.

And then everyone who decided to put them everywhere.
You try and look at your computer screen, but as soon as you switch it on the LED switches from orange to blue, and blinds you.
Then you look for a book, and your eye is blinded by the two LEDs the computer manufacturer has chosen to put on the front of his crappy box, to pretend it has some class.
At least it could be understood that the blue is so luminescent compared with the others, and toned down to reasonable levels.
And then you go outside and some tosser has ten on his car.

Flattr this!