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.
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.
I mean, why did god bother?
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: http://docs.info.apple.com/article.html?artnum=61798”. 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.
Oh excuse me. I was about to print your email off and put it in the bin, but now I have read your deep and meaningful advice I have suddenly realised how stupid I would have been to print it out.
I hope you are not destroying the environment by wasting resources putting a “Baby on Board” sticker in your back window, but then again maybe you need to tell me you have a baby in your car sometimes, so that I can modify my driving to allow for that.
They put them there as a joke.
They don’t work, and the people who put them on laugh at the thought of the deperate efforts users make to get them to work.
And then, when they give up, they tear their fingers on them putting the box back in the drawer.
$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”;
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 php.net says:
// “If you compare two numerical strings, they are compared as integers.”
// However, php.net 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.
$b1 == $b2
“0e2” == “0e3”
$a1 != $a2
$a1 !== $a2
$b1 !== $b2
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.
Do they think they are special or something?
Do they think I find it funny?
All that happens is that I catch the light out of the corner of my eye and think it is an emergency vehicle.
And when I see the car I think
Maybe the police could occasionally do them for it. like they are meant to.
I mean, why do they bother putting the bed in at all?
They are so hard that I might as well be sleeping on the floor.
What is the point of having 12 inches of mattress and only using the top half inch?
And then when you go and complain about it they sometimes have the cheek to argue with you that it is good for your back – like they should be telling me what is good for my back?
Do they think they are doctors or something?
Hard beds really do my back in, if I manage to get any sleep at all.
Am I the only one who has ever complained about it?