...you know, the difference between "what is the least we can do to alleviate our current pain?" versus "where do we want to be and how do we get there?" I see this distinction again and again. I've seen both called "strategy" and that can't be good. I would say the former is a product of "management" and the latter of "leadership", but that distinguishes the attitudes or processes, not the results. Lazyweb? Little help?
"Optimum" is for machines, not organisms.
I like your movies. Forbidden Kingdom was great, except for the whiny kid. I just bought it on DVD, even though it's been out for months, and I wanted to clear up why. It's not laziness. It's not the economy; I'm doing fine.
No, I held off buying it because, for a long time, all your copies on the shelf at Fry's and Best Buy included a "bonus digital copy". I can't support that. First, because the initial "D" in "DVD" does not stand for "Analog", but more importantly, because my laptop plays DVD's just fine, repeatedly, without any limited-viewing "bonuses" needed. You must be fooling somebody with that, if the great P.T. Barnum has any say, but not me. Please stop doing stupid things like that so I can give you more money sooner.
I'm tired of codes.
By "code" I mean a mapping from one set of terms to another.
That's a code.
Codes are good for reducing space and/or time if you really need to. A 4-byte integer takes less space than an 8-byte+overhead string. 'grep -u' takes less typing than 'grep --unix-byte-offsets'
Codes are good if names vary. Internationalization techniques like gettext map various translations to a single key (often the phrase as rendered in the dominant language). But even within the same language, people change the names they use to refer to things all the time.
Codes are good at hiding information.
Whether you want them to or not.
That's a problem.
Because codes hide information, the user of the code, whether willing or not, has to have access to the code. That means either a copy of the mapping table in its entirety, or a copy of an algorithm for performing the mapping.
Some of these you can keep in your head, but there's only so much space in your head.
We invented paper to keep more of these than could fit in our brains, but paper is slower than brain.
We invented computers to manage the volume of paper but 'command --help' and 'man command' are still slower than brain.
If a code exists to save space but space becomes microscopically cheap, do you still need a code?
If a code exists to save a person time but the person wastes more time looking up the code than they save using it, do you still need a code?
If a code exists to save a computer time but the computer wastes more time looking up the code than it saves using it, do you still need a code?
Codes don't just introduce the cost of mapping. They're far worse. Codes take a domain A which has its own syntax (the relationship of one thing in the domain to another thing in the domain) and introduce a second domain B with its own syntax (again, within the domain), in addition to the new semantic (the relationship between domains). (A) <-> (B). That's 3 analytic elements in place of 1.
But it's even worse in information systems since domain A is probably already a set of names with its own set of referents to things in the real world R. So instead of (R) <-> (A) we now have (R) <-> (A) <-> (B). If I have to map from B to R, that's 6 sets of interactions I now need to understand. You're pushing the 7±2 boundary.
Names refer to things.
If you need a name to refer to a name, that's a code.
Codes add complexity.
If you have a choice, expose directly. Many of you don't have a choice because you still think the unix command line is the best UI ever. You need to get out more. There are UI's out there that can show you the mapping without interrupting your flow). Many of you don't have a choice because you think in C or some other close-to-the-metal language which requires manual memory management and lots of numbered wires. Please keep using codes there. But please don't bring them into high-level languages: we're better off without them.
My brain is full and I'm tired of being slowed down by codes that return worse than nothing for their investment. Please stop inventing new ones. I know, you're a computer scientist and that's what computer scientists do. But you're good at it (aren't you?), both authoring and using them. Most people aren't. The rest of us are busy.
My roomie Josh put on an art show at his church last Friday. Very cool show; around 1000 people showed up.
I was busy with a "guys night" for my church's youth groups and couldn't get out to the art show until midnight or so. Good thing; I scored one of the live art pieces for our kitchen wall at home (doorknob included for scale):
JJ Behrens is looking for work. Smart guy. You should hire him.
After you hire him, have a look at my resume and hire me too.
1) Copy this list into your blog, with instructions.
2) Bold all the drinks you’ve imbibed.
3) Cross out any items that you won’t touch
4) Post a comment here and link to your results.
If you don’t have a blog, just count the ones you’ve tried and post the number in the comments section.
ocean has rapidly become my favorite blogger. I even find myself reading nearly every one of his quick links. Here's a gem from a few days ago:
This mismatch between what a person wants, what a tool does, and what a person needs turns out to be very important. It's so important that it has a special name: complexity.
Just wanted to show off my new framed prints from dresdencodak.com. Can't wait to get a bigger place where they'll really look good!
|<< <||> >>|