whapple: evil you can't buy

August 8th, 2008

Hah, Google. What idiots! First they announce their creed is "don't be evil" and now they have to live up to it, because every little report to the contrary has the tubes flowing with indignation. How dumb was that?

One marketing company knows better. They would never fall into a trap like that. Appluz propaganda-fu is so strong that they copied Microsoft's business tactics and yet people still like them. Now that's evil you can't buy!

Business people love the Apple example. Love it to death. How much you wish you had come up with it! Sell overpriced junk to drones with an identity crisis who desperately want to be "special" and get rich doing it. Lex Luthor couldn't have done it better.

Apple have achieved the exact opposite of what Microsoft always wanted to. Beloved Redmond with their upgrade cycle from hell have done well for themselves. But iSpecial people run to the store to buy the latest junk voluntarily, in fact they run like it's the 100m sprint in the Olympics. As special as we all are, there is no doubt the muppets with the latest white plastic are the most special of all.

As with any empire, there are cracks in the concrete here and there. The people on fuckingnda.com have something to say about the experience of writing code for a device without even being able to talk to each other. This same week Apple is facing a class action suit for failing to pay overtime and imposing evil working hours on their employees (sounds like a page from EA Games's book of evil). And least surprising of all, a talk on Apple security at Black Hat got canceled by the marketing department (if there ever was any doubt that the marketing department runs the company).

Yes, the Jobs empire of iDRM is showing healthy levels of evil indeed.

publishing slides from your talk

August 6th, 2008

I'm extremely pleased that there are so many talks published online these days. They compose a rich buffet of interesting topics for anyone who can reach google video/youtube. I see it as a big step forward in our global communication that you can not only read what people have to say, but also hear it directly from them. It also raises the value of all these conferences that organize the talks dramatically. Not only their ability of attracting speakers the following year, but also their function in our society as "broadcasters" of knowledge.

Unfortunately, some conferences, even big ones, don't publish the talks. Instead, they sometimes publish the slides. That's too bad, but they have their reasons I suppose. I guess people consider this a second best, you can't see the talk but well you have the slides, so you have the "content". Well, that depends on the slides. I've always been of the opinion that the slides should be able to speak for themselves in case someone didn't see the talk. But speakers have different styles.

OSCON 2008 only published slides, let's see some examples. (Heads up, that page is "sponsored by Microsoft", whatever that means. Perhaps they wrote the html.)

Some use them as a "visual aid" for their talk, and consider the whole thing as more of a performance art. Now, I'm not down on talks like this, because the talks are sometimes quite good. It's just that the slides are fairly worthless on their own. The Mac/Rails crowd seems to be all over this minimalistic slides idea: ruby web frameworks, capistrano. There's very little content in these slides, some of them are just single words on a page. A particularly egregious example is a talk on revision control. What is the point of publishing slides like this?

One guy who both gives good talks and writes good slides is Alex Martelli. Compare his slides on code reviews. Granted, if you don't understand what they mean, there isn't much to do about it, but I think this is pretty much what you can hope to achieve with slides alone. They offer real value even without commentary.

Now, there is a real dilemma about how to write slides effectively. I have agonized over this for a while and I don't have an answer yet. And I'm guilty of writing bad slides. I gave a talk a while back which was quite well received, but the slides are not good: dynamic python. The content is there, but there is no context to it.

konqueror ui regression

August 1st, 2008

Well well, what have we here? The omelet is well underway in the pan, but we've dropped some eggs on the floor, that's too bad. KDE likes to try things, and that's really cool. I'm pleased as long as they do not stop trying until they produce a better, or at least an equally good, outcome. (Which is my experience with KDE so far.)

There is another slight regression here. The click area for the plus (+) sign beside each directory (the one that expands/collapses it) appears smaller now, after the icon has been changed. It's smaller now, and it was already quite small before.

Ubuntu Bug: #254039

KDE Bug: 168379

I'm not submitting it specifically to kde bugzilla given how Shuttlesworth raves about Launchpad's synchronization capabilities to various bugzillas every chance he gets. Hopefully that means they have a link set up with KDE as well. The regression was spotted in Ubuntu anyway.

beware of shell expansion

July 24th, 2008

This is one of those details that will bite you if you don't know about it and you might struggle to find the answer for something that looks like a bug.

The characters * and ? have special meaning in the shell, as you know. * means zero or more characters while ? means any character. Favorably, these glob patterns are still the same for those of us who go back to the murky days of Ms DOS.

Glob patterns are very useful in the shell, but when used with programs that themselves accept glob patters the results may be surprising. For example:

$ ls
file2.zip  file.zip
$ find -iname *.zip
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]
$ find . -iname *.zip
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]

Huh? To see what's happening here, run the shell in echo mode:

$ bash -x
$ find -iname *.zip
+ find -iname file2.zip file.zip
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]

So now we see what's happening. *.zip was expanded because it matched two files in this directory. Those two files were then passed as arguments to find, not the *.zip pattern.

Bash will expand the glob pattern whether or not you use it with find, so you just have to tell it not to expand it:

$ find -iname '*.zip'
+ find -iname '*.zip'
./file2.zip
./file.zip

This is confusing, because if *.zip doesn't match any files, then it will be sent verbatim to the program. Therefore you should always quote your glob patterns if they are meant for a program, not the shell.

New York City is just like Utrecht

July 21st, 2008

Bikes gets stolen constantly and noone gives a shit. Check it.

I'm down three bikes so far, in two years. Starting with this one. I also had another bike vandalized once.