Happy Easter, everyone!

April 4th, 2007

"Okay, now don't forget today at 5pm is the deadline for the last lab exercise, Friday I want your reports, Tuesday at 5pm is the deadline for your submissisons for the Big Assignment (and no later because I have to run them all on my laptop) and then I want to see you back here on Wednesday."

Gah :D

That's Easter in Holland for you. Good Friday and Easter Monday off.

Back in Norway Wednesday was the last official day, people would exchange "Happy Easter" greetings. I would normally take those few days off for a 10-day break, the Saturday before Palm Sunday to Easter Monday. It's a nice time to get away, in 2003 I spent it in Rome, in 2004 I did in Spain.

This year I'll spend it working on the Big Assignment. Adding to this week which has been all about the lab exercise, starting last Friday morning and all through the weekend. :/

Invisible Man

April 3rd, 2007

Funny story. I read an excerpt from this book back in high school in English class. And although we weren't going to read the whole book, there was something in that one chapter or one section that strongly appealed to me. What I don't know is what it was. At the time we were doing a lot of reading, so although I was interested, it wasn't practical to pick up the book then and there. Then I forgot about it, and as it is with memories, you never know when you'll remember what you once forgot. So over the years the idea has returned a couple of times, and I didn't act on it. Until a couple of months ago when I actively started looking for it.

The book is Ralph Ellison's Invisible Man. And the odd thing is that as I was reading, I kept anticipating that I would remember what it was I liked about it, that "aah, here it is" feeling. But.. it didn't come. So I had the strange sensation of searching for what it was that was supposed to strike me about the book.

The story is told in a first person narrative. The protagonist is a youth from the South whose life story is skimmed with the crucial parts described in detail. He finds himself in New York, where the plot culminates. It is a familiar account (and in fact the character also comes to understand this at the end) of how a wide eyed, well intentioned kid, who is always trying to do the right thing, is raised up into the cold world where no one cares about him. How trying to please everyone, and never straying from the path, is itself filled with a danger of never seeing the truth behind things, of staying naive and ignorant forever. Or rather, until life forces that much more cruel reality upon you, which will happen sooner or later.

There is some kind of despair in this truth I think, because I tend to see people as one of two types. There are those who always try to be correct, to obey their parents, to do what people expect of them. Then there are those who challenge authority. And well since I was never the former, I suspect that those who always try to be correct do so out of fear that otherwise they will get in trouble, make life harder for themselves. And as long as they stay on the path, they will always be safe. And there's a fallacy in that, because there isn't always a path, the path may end at some point, and you have to make a choice until it continues again. Not only that, as long as you have that mindset of following a path set out for you, you're also vulnerable to malicious influence. Because who decides how you should live? If you don't feel up to it, and you let someone guide you, how can you be sure that they will not abuse your confidence in them?

And as a big, happy coincidence, we land right back in the crux of the story. ;) The character, whom Ellison actually does not mention by name, is led by various people in his life, diligently following that path made out for him. The baton passes from one authority figure to the next, as his life progresses. Until eventually, after many deceptions, in their various forms, he frees his mind of the notion that anyone but himself should decide how he should lead his life. In fact, this decision is made right at the end, and exactly what he decides to do is not said.

A more obvious central theme here is plain simply race. Ellison ranges from describing the most primitive notions of racial distinction, in downright vile scenes of drunkenness and complete indecency, to [which is interesting] a far more refined and sophisticated racial discrimination, among people who consider themselves great thinkers, and strong believers in scientific method. As in a cartoon, the culmination of the story is a great social breakdown as riots break out in Harlem, looting, clashes with the police, all of which is described through a fog of confusion and contrasting ideals within the character.

One very strong contrast is the character's social significance, which ranges drastically from completely meaningless, to greatly influential. And moreover this distinction is muddled through the character's own fluctuating perception of that reality.

It is somewhat difficult to offer a conclusion about the book, I'm at a loss in what it is supposed to convey if not.. everything.

why most people aren't good at basketball

April 2nd, 2007

And when I say most people I'm talking about those casual practitioners. Like people playing in the park, or working people playing in the company gym, that kind of thing. Not kids.

Because they think it's about making baskets. Of course, basketball *is* about scoring, but it's about a lot more than that. Scoring is an end, but how you achieve it also matters. It's like driving a car, you want to get to your destination, but the way you do that makes a difference.

Basketball is, in a very big way, about palm action. If you watch those highlights from the NBA, plays of the week, stuff like that, what you see is people who have impeccable dexterity. If you take a person who's never played and put them next to a pro, the biggest difference between the two, in terms of skill (not physical stature), is hand dexterity. If you've never played basketball, you don't even realize what your hand is capable of.

Where this matters most is on the floor, so everything that goes on with dribbles, fakes, starting, stopping etc. If you have good dexterity you can do just about anything. It's probably also the one thing that takes the longest to learn. It's all in the palm.

But it helps you with everything. From the point of view I opened with, it helps you tremendously with scoring as well. Because now, it's not just shots, you can also make all kinds of drives. Alright, everyone can do a lay-up, but if you have the palm action, you can spin it any number of ways, no matter what the situation is.

the web: where open source is king

April 1st, 2007

If we take a quick look at free software vs proprietary software, here are the key differences:

  1. give or sell (free) vs sell (prop)
  2. free to use, modify (free) vs free to use-as-is (prop)
  3. free to give away (free) vs cannot give away (prop)

Now, people like Bill Gates believe that the only thing you would ever want to do with software is get it and use it. This is a strange and limited outlook on things. There are such huge piles of software out there that everyone can save money by reusing stuff, rather than building from scratch. And guess what? When you find code that you can use in your project (an application or a library), and you want to adjust it to your needs, you need the source code.

This is where the web comes in as a whole new dimension. Because if you recall the list above, point 3 falls out. If you build a website that uses a piece of software, that does not count as distribution. So let's say you're a big company and you want to develop a new product... You would like to use free software, because then you can save lots of time and money. But if you do that, and you want to sell your product, you have to give away the source code as well. So some other company can pick that up and resell your product. But, if you just have a website, then even though your users will use the product, it's not distribution, and you're under no obligation to give away the code.

Well, that's nice and all, but so what? Isn't that only useful for web software like apache, php and whatever? Actually, no. The web is increasingly becoming a place of rich applications. There are more and more websites that aren't just pages, they are applications. Everyone is talking about web applications these days. Some pundits are saying that the future is the web. And that browsers will be increasingly critical as a client to this world. In fact, Firefox has various ideas underway to "connect the dots" and make websites feel more like desktop applications. This is already happening with things like AJAX, when you click a button and some part of the page is refreshed, without having to reload the whole page. The distinction  between web and desktop is getting blurred.

A case study

So let's say you want to build a web application that is an image editor. (I know it sounds silly, but there are actually several people doing this at the moment.) So if you think about what a web image editor will be like, you probably want it to have the same (or many of the same) features that image editors do. If you take Photoshop, which is the most popular one, it would be really nice if you could offer the same features, wouldn't it?

But guess what, as a developer, all you can do with Photoshop is look at it. Now, if you take the gimp, you have the full source code. So you can rip out the parts you need (the code having to do with scaling images, applying filters and so on), and put that in your web application. Of course, there is still work to do, because you have to connect the bits from gimp with your web interface, perhaps you need a wrapper of some kind. But this is all easy stuff! This is just connecting the dots, it's the gimp code that's the difficult part, that's where the domain logic comes in. You don't have to know much about image editing to build a web app reusing the gimp, but you do have to know all about it to write the gimp.

The big picture

That's just one example. With gazillions of free software packages out there, there is no limit to what kind of web application you can build. All that the user will see is the webpage, so underneath you can connect any number of applications that work together in producing the result. So you can build a website that has all kinds of features. And you can make the site free, or you can fund it with ads, or you can charge a subscription fee, it doesn't matter. Either way you can reuse existing software without having to give up your advantage by offering the source code.

And that's all because you have piles of free software lying around for use. Proprietary software is completely useless here.

For companies like Microsoft, this is horrifying. "How can we survive if we can't sell our productivity software?"

Ps. I'm surprised that I've never seen anyone make this observation before. Someone must have noticed it.

water: heating prohibited

March 28th, 2007

// review this later
§ 34-A/7. No comfort station in the Kingdom may have hot water available.

What you see is a verbatim extract from the Constitution of the Kingdom of the Netherlands. And this is a very instructive example of what happens when code goes unmaintained. Someone wrote this in a draft, meant to change it later, forgot, and it was left as is.

The result is that there is absolutely no hot water in any restroom anywhere. You spent 15 minutes on your bike in the wind and want to defrost your hands? Tough luck. You had a little bike emergency and had to get your hands dirty? Good luck washing off the gunk with cold water.

No matter where you are, no matter what time of year it is, if you want hot water you have to bring it yourself.