2003-12-20 13:22

Late Movie Review: S.W.A.T.

To escape the heat of the afternoon, I dived into a movie theater downtown, and the movie I hadn't seen was this.

I am a fan of Samuel L. Jackson. I think his role in Pulp Fiction is incredible. I think his screen presence (and a little acting) makes his characters interesting and intense, and larger than life, which is a good thing in many movies.

But why, please, is he trapped inside of a fascist fantasy movie?

In this movie, 4 policemen and a prisoner (who is described as evil, sure) are in a car, and because of something he says, just a nod from one of the policemen prompts the other to hit the prisoner. Who is cuffed, BTW.

Ok, so that is a felony comitted by one of the "good guys", with acquiescense from another. It is also, of course, a cowardly action, and think about it: just a nod, and whack. That shows habit, so the subtext is apparently that these nice guys, members of "the most respected police force in the world", routinely hit defenseless prisoners.

Yup, those are the heros in this movie.

But let's put aside the obviously rotten ideology this movie represents, where it's ok for a character, just because he is labeled as "good", to break the law without consequences, and without even suggesting that such a thing may be, you know, not the best thing to do.

Let's talk about cinema. This is the kind of movie where two characters of similar height and build fight, in a dark railroad set, backlit.

For minutes, they punch, and kick, and throw themselves at each other.

And it's phisically impossible to see who the hell is beating the other, because you can't tell them apart.

That's lazy filmmaking, and it shows this morally bankrupt movie is not even well done garbage.

At least Leni Riefenstahl's movies are allegedly beautiful to look at. What's the excuse for this one?

2003-12-20 13:07

Well ordered toolkits

I think some months of formal math training would do wonders for the average guy.

And I don't mean algebra, I mean logic, set theory, that kind of thing.

The obvious example is, of course, comparing two things. There is the concept of the well ordered set. In a well ordered set, for any subset, there is a larger and a smaller member.

In other words, if you compare any group of things, one is the largest, one is the smallest.

That may seem obvious, because people only think in terms of integer or real numbers when they see > , but real life is different. Real life objects are usually not well ordered, and that means you can't sort the whole set, nothing ever comes out on top.

Because the crappy math people learn makes them think in linear terms [1], reality is approached in linear, limited terms.

what I am thinking about:

People say Qt is better than GTK+ or viceversa.

Well, those are multidimensional objects you are comparing, and in order to make it meaningful, you need to establish a metric that will make the toolkit-space a well ordered set.

That metric, sadly, is subjective and personal. While Bruce Perens[1] may see the acquisition cost for proprietary developers as the most significant part of it[2], others may see techical features as more important.

But the telling point is this:

If you are a free software developer, why would you choose GTK+? What is your metric, where GTK+ is larger?

I really have no clue on that, since I haven't touched GTK+ since I recoiled in horror from it in early 1996, but I will try my best.

  • You prefer coding in C
  • You want your app to work well with GNOME
  • You find the GTK+ API appealing
  • You like some GTK+ development tool, like glade
  • You see better performance in GTK+ than in other toolkits

I can't find any other reasons, and even one or two of those seem iffy to me ;-)

You prefer coding in C: Ok, that's reasonable. If you want to code in C, GTK+ is probably the way to go.

But why, oh, why do you want to do that? Really, come on, C is a poor language for almost every use. Your language metric is probably the guilty part of your choice of GTK+. But that's another set.

You want your app to work well with GNOME: Ok, that is reasonable. I could say Qt apps work well with GNOME, too, but that's my own subjective bias, and really not defensible, since GTK+ apps do work better with GNOME.

The GTK+ API is appealing to you: you are a sick person? ;-) Ok, that was harsh: you have bad taste in APIs? Ok, that was still harsh: I don't understand you. Yeah, that's better.

Luckily, you don't have to use it, you can use decent wrappers, nowadays.

You like a development tool, like glade: I don't see glade as a big thing compared to others, but hey, that's just my taste. Reasonable point.

Performance: You want performance? Use fltk. Even pure Qt seems to be about on par with GTK+. Of course if you pair this with the C argument, they sinergize. After all, GTK+ does have better performance than Xaw3D or somesuch. Maybe XForms?

Please, if anyone reads this, I am not trying to flame GTK+ or its developers. I am sure GTK+ is the greatest C toolkit around, and developed by smart people.

I just also don't see any compeling reason to use the thing for free software development. For proprietary coding? Maybe, if you are low in cash. My own metric (for whatever little it's worth) doesn't make me see GTK+ as an interesting tool. If yours does, please help me improve it.

Yes, I know stuff like saying the API is ugly can't be improved, because you can't convince me that it isn't[4], but you can help provide new reasons, or strengthen others, or maybe tell me bad points about the toolkit I see as better.

[1] Ok, people think that way even if they don't learn math, the thing is, math teaches you to think non-linear, or multidimensional.

[2] An interesting fellow. Remember when he quit Debian in a huff?, and that he was going to develop a Red Hat-based distro that was more desktop-oriented? That was probably around 1998 or 1999, IIRC. BTW: you won't find all of it in the Debian archives, "someone" removed it.

[3] Which is really a bizarre argument, isn't it?

[4] I also think most of Dalí's and Picasso's paintings are ugly. How can anyone convince me they aren't? They can't.

2003-12-20 12:37


I have my ticket, and I'm outta here!

Going to sunny (yet breezy and not hot) Mar del Plata, to my parent's home, where I will be fed and kept clean for weeks!

Man was I tired this year.

2003-12-19 12:08

Archives now available

Thanks to Ed Taekema, now I have a full browsable archive of the posts.

Still need to make the CSS colors match mine, but it's close enough for now.

2003-12-15 15:11

The case against cooperation

I often see and read about cooperation in free software. I read about how multiple competing projects are counterproductive, about how cooperation would make things go faster...

You know, that's all wrong. I am not saying cooperation doesn't have its place, it does! It's just that not everything works better with cooperation.

I will just talk about what I know, and what I know is very little, so sorry if the examples are too tightly focused, but I am a small picture guy.

Example I: KDE and GNOME

For the GNOME fans: If cooperation were more in vogue in 1996, your object of affection wouldn't exist, so that's it for you.

For the KDE fans, the case is a little harder to make, because we assume that we would be better along if GNOME hadn't existed (I had even said that a few times).

Although it is not possible to prove one thing or the other, since history is not an experimental science, allow me to point out that KDE's goals were much smaller, its scope immensely less ambitious. It was meant to be about 20 small programs, not a multimillion-LOC thing.

GNOME was part of the incentive to move into the larger stage. Think of it as an arms race.

Let's face it, some things were developed just because GNOME had them, or even because they didn't have them yet ;-)

I assume GNOME guys can say similar things, it should be even more obvious in their case, since the project was started because of KDE (Miguel once said something like KDE convinced him that it was possible to do[1])

So, cooperation would have been detrimental. It's not that cooperation hurts development, but that competition fuels ambition, and ambition fuels development.

Example 2: Mad scientist syndrome

Once upon a time, Rasterman had started developing what he called 'themes' for Gtk+.

You know, I had read some of his code when he started hacking fvwm, and while I respect his graphic skills (although his taste is horrid to me [2]), his coding skills... well, let's say that I don't hold mine in high esteem, but his code... well, I suppose it was good in some efficiency sense... I hope it was, else it was unforgivable.

Also, I was convinced that Qt was way better than Gtk+ in any conceivable sense[3], so I thought... how is he doing it?

It turns out that he was replacing the drawing code for the widgets with what would later be known as the "pixmap engine". The drawing code read a config file, loaded pixmaps and pasted them over the place the widget would be.

Mind you: that scheme is hideous for many reasons, and simple badly designed (you can't change your colours in any reasonable way, for example). But... I had troubles.

You see, we are talking Qt 1.x at the time. Under the non-free-software license. I couldn't touch Qt, so I couldn't modify the drawing code.

So, how could I show Qt was better? By doing an evil hack (TM)[4], of course. I intercepted the drawing events in the application class.

I held lists of widgets at creation, I diverted the expose events off the toolkit code, I subclassed the application class, I overrode the compiled code with LD_PRELOAD, I used almost every evil hackery I could find, and you know what? It worked. I had a screenshot to show, too.

In fact, in 36 hours I had a more advanced theming engine than Rasterman's, by some measures (I had themed way more widgets).

I showed it to some KDE guys, Kalle showed it to some Trolls, they got so nauseated by it, I still think it partly convinced them to add styles in Qt 2.x, so I wouldn't have them look at it again (It used, after all, only the public APIs).

So, where is the connection between that story and cooperation? Oh, grasshoper, the connection is that there wasn't any connection.

Had I been a cooperative sort, I would have shown the ideas to someone and been laughed at. Or I would have contacted some of the Trolls (I knew a few of them back then) and would have been convinced that it was a bad idea (it was :-)

The only reason why I coded for 36 straight hours was because I really really really was pissed off that Rasterman could hack Gtk+ and I couldn't do the same thing to Qt.

So, cooperation drives to the average. Cooperation begets bland. And while bland is good for you, if everything was bland, free software would suck immensely. Free software is not a tool for a goal, at least not for some of those writing it, it is a toy, in the good sense, something that is useful for itself, in itself, even if it does nothing. So are jewels, you know.

While a project can not be developed by a single person, a design almost certainly MUST, specially if it's a new or strange one. And some stuff really has to be done in solitude, or it won't be done.


[1] I really don't like the guy (old story don't ask), but hey, why would he lie about that?

[2] My taste is horrid to me, too.

[3] I never said my opinions were ver rational

[4] And I mean evil. Evil as in mordor-code, evil as in a design so hideous I still remember it :-)

2003-12-11 19:38

Listen to me!

Ok, noone will bother, but you can listen to me speaking about KDE in a Linux event last year, in Ogg Format, in spanish.

I just ran into this by googling for my name :-)

It is the first time I like the way my voice sounds in a recording, too.

2003-12-01 13:01

Playing with Flonix

A Linux distro in my USB keychain. I will do a writeup on it in a day or two, probably, since the plan to work less is working (tuesdays and thursdays off already :-)

2003-11-28 17:52

Time passes, things change.

I have been thinking a little about being relatively old in IT/Internet/dog-year terms, and some things have changed. A lot.

When I was a kid (say, 8 years old?) there were only two TV channels where I lived. And I lived in a rather largish city (350K people). In fact, it was more like 1.5 channels, since one only worked from 6PM to midnight.

Now, I could have 300 channels, if I had any time free to watch TV.

Of course, it was black and white TV, color TV was still 2 years in the future. Hell, our TV still had vacuum tubes. Now I can watch DVDs with Dolby 5.1 sound. I only saw my first _movie_ with Dolby sound when I was 14.

At that time (although I had not heard of those things yet), the university where I would later study and work was buying a computer. That modern marvel had 64KB of main memory, and supported up to three simultaneous users on teletypes (yes, teletypes), but at the time they only had punchcards. My phone has more computing power than that.

Eventually, I used that very same computer to learn Fortran III+ using a line editor and a line printer, although it only had one teletype, since it had been upgraded to glass ttys (wyse60s, IIRC). I still have some glass ttys at home (real wyse60s, nice toys).

Phone lines were so hard to get that a house with phone costed roughly 50% extra. To make a phone call to a town 60KM away, the procedure included calling an operator, and waiting two or three hours for the operator to call back.

Now, people get mad at me because I am not in MSN messenger all the time, and I have lost 5 phones in two years, but it's only a minor annoyance. In those days, the idea of losing a phone was about as bizarre as losing a doorstep.

Bills (power, phone, water, etc.) had to be paid on specific banks, on specific dates, and usually there were lines of a block or two on the last available date. Now I have them automatically paid from my bank account, and I get informed via email to authorize it.

Since I was 5 years old, I took a bus (not a school bus, a plain city bus) to school every morning and noone found that too weird. Now I am the only person I know who takes random cabs, because it's safer to call one by phone.

Every country in every direction, including my own, was under a repressive and criminal military dictatorship, and half the world was communist.

But... the last time a man had gone to the moon was with Apollo, the coolest-looking and fastest plane in the world was the SR-71, Ema Peel looked great in The Avengers, summer was hot, girls on bathing suits made the heat bearable, girls make anything bearable, anyway, so _some_ things never change.

I had just finished reading The Count of Montecristo, and I thought it was a great book, and it still is, although I appreciate all the sex and drug abuse of the book more now!

I was a chubby kid, I am a chubby adult. I was a skinny teenager, though, but that didn't last ;-)

So, just because I can now buy a real laser beam for the cost of a hamburger (which was a novelty food when I was a kid), while it was before the stuff Bond villians with lots of money played with, are things really different... well, yeah! ;-)

Contents © 2000-2019 Roberto Alsina