Color Combination Thou Shalt Not Use

Illustration

Currently there is handball world championship in Croatia. I am not such a big handball fan so I don’t even plan to visit any game (played some 20 minutes of walking distance) but I do plan to watch it on TV few times.

I was at my parents place yesterday doing some unrelated work, but with TV near it was difficult not to scan a result from time to time. I cannot help it if I am curious person. But my curiosity had huge problem (or small one) - font and coloring of part that was displaying game result. Somebody - I can only assume professional designer - decided that red numbers on light red background should be used.

I do wear glasses when I work on computer but my vision is good enough to be able to do all other tasks without them (those who are familiar with my habit of loosing glasses everywhere know that I also do programming for few days without them). If I cannot be sure what numbers do I see on it on 72cm TV from other side of room, my father had no fighting (seeing) chance.

Illustration

I give you enlarged part of that (captured and cropped from RTL’s own video at resolution of 1280x1024). On this picture you can see how really close colors are.

I am angry when vision of some designer (or even worse - designer comity) decides that need for fire theme is more important than actual readability of final solution. I can partly understand their (probable) excuse. They were all doing work on high-resolution, high-fidelity monitors and that problem was not visible there. What was missing was that final testing phase: looking at whole thing from user perspective. User perspective in Croatia is still CRT TV and HD is rarely to be found.

There is real lesson to be learned here even for application development. Always test your program in your user’s environment. “It works on my system” is a poor excuse for user.

Races

I am of course speaking about Starcraft races. I am very lousy player with all of them so take this post as a advice to worst players out there.

Terran

Nice race with great defense possibilities. If you like turtleing they are great and once you reach 200/200 your army is most powerful thing there is.

Protoss

Really powerful race with great units for offensive play. Real problem is when you need to defend. There is not too much special abilities out there so there are not trouble to manage when you have a big army.

Zerg

Insects that reproduce really fast. Their abilities are something not seen in any other game so playing with them is a really good fun. Units tend to get very specialized in late game so you may have a problems with deducing proper ratio of them.

Which one do I use?

I haven’t decided yet. :)

Since all races are somewhat same (in regards with power, unit-wise they are totally different) once you get to know them, it all comes to personal preference. In that light, terran does not suit me - they are just too plain.

I played with zerg a lot and they definitely have nice air units but somehow I never use their special abilities to full extend so defence from terran army is a huge problem to me. Especially when terran goes around hunting my overlords and then attacking me with invisible wraiths. Although they are not meant for that, defense is (for me) much easier with them than attacking. But if you can attack early there is no force that can resist.

Protoss is my current favorite since it allows me great land and air army. Detectors are fragile as zerg’s but my economy is not hurting as much when I lose them. There are also invisible units there so harassing other players just comes naturally. With successful harassing, there comes a victory also.

[2010-02-15: I decided. I will be the Protoss. :)]

Process Explorer

I am using various Sysinternals’ tools from time when they were still called Winternals. Among all those tools there is one I use every day - Process Explorer. It is replacement for Task Manager and you can even configure it to use it’s shortcut (Ctrl-Alt-Escape). However there are few problems.

Selecting a program

Task Manager allowed you to select program by typing first few letters. Typing EXP (fast) would select explorer.exe. In Process Explorer there was same feature but somehow it got lost during updates. If you type EXP there you will end up with P*.exe selected. This caused me to kill wrong program few times. This is fixed in Process Explorer 14.

x64

Although Process Explorer does support 64-bit windows it does it by packing 64-bit executable within his 32-bit executable. Solution is definitely strange and has one awful consequence - it needs write rights to his directory in 64-bit Vista.

Good things

Everything else :). My favorite would be search for open handle - it solves that problem when one process is holding file open and you cannot delete it (or eject usb drive) because of it. Also useful is option to track memory usage history per application. Total control over what exactly is displayed is just a cherry on top.

OIB

Today my government (Croatian) started with distribution of our personal identification number (SSN as Americans know it). It is greatest invention since sliced bread or so they tell us. One could even be puzzled on how we managed to live without it for all these years. But wait, we had that number before.

JMBG

From ex-Yugoslavian time we inherited our personal number. It was 13 digits, 12 were data and 1 was checksum. When I say data, I mean real data - you could find person’s date of birth, gender and region of birth. This came in really handy with medical software. Just take JMBG as unique identifier and extract date from it to get persons age (something that doctors like to know).

Although that was very handy, it was doom of it. Some people here don’t like others to know their age and since split of Yugoslavia, ex-republic of their birth became a no-no subject. There was even law passed that removed it from every ID. That was not a smart move.

OIB

Our new identification number consists of 11 purely random digits - that means harder to remember of course. It should replace JMBG and since verification algorithm is different that also means update of every application that uses it. But there are good things to it also.

European union uses up to 12 digits so we are compatible with them if we ever enter. Here I need to say that I am sorry it is not 12 digits - plenty of barcode symbologies encode even number of digits more easily. It also uses standard ISO 7064 (aka as modulo 11,10) encoding of check digit which is always good.

Conclusion

There is not even an intent of it.

I do think that they could have done better job at defining that number (e.g. making it even number of digits and/or encoding date of birth inside of it) but we need to learn how to live with it as good as we did with JMBG.

My first step to it was to write some C# code to validate it.