Monday, April 30, 2007

STS 2007 Coding Contest Official Results

The Smalltalk Solutions 2007 Coding Contest ended today. Here are the results --- congratulations!

  • 1st place: Leandro Caniglia and Valeria Murgia.
  • 2nd place: Michael Lucas-Smith.
  • 3rd place: Niall Ross.
More on the contest to come :).

Friday, April 27, 2007

Two new demos by Farb-Rausch

I just noticed Farb-Rausch put up two new demos in their website.

FR-041, "Debris", is only 180kb. And the stuff they managed to do with only that much space leaves me with great difficulty as to what words to use to describe it. The level of detail, the scenes, the movements, the articulated structures, and its length for the quality they achieve are outstanding.

FR-055, "828", is an abstract visual composition of astonishing beauty and visual quality. It is amazing that there exist people that, like Visualice from Farb-Rausch, think of these images and make them reality.

Thank you so much guys. I hope you do many more!

From the US to Canada, what's the difference?

I got to Toronto from the US a few hours ago, and the subtle differences are striking.

First of all, nothing is obviously different. There is traffic, the buildings look more or less the same, Toronto reminds me of Portland, OR. However...

For example it's Friday night and I have been sitting at a busy intersection full of night life. There has been zero honking and zero cars driven aggressively. No burning tires to the next red light, no loud radio making the windows shake on their frames. Note that cars look more or less the same as in the US.

Earlier, I saw that largish group of teenagers seemed to have less of an extrovert personality, comparatively speaking. No loud conversations, no grand gesticulations. Nothing but gentle conversation instead. And note they wore more or less the same clothes, and had more or less the same hair dos. In other words, they just looked the same until you took their behavior into account.

So perhaps I've been lucky in my experience of Toronto so far, but then there's the major stuff. Because on top of this, there is the police.

Note I had a chance to look at cops in detail, particularly because I called 911 to report a person that had fallen unconscious on the street so I got to see them first hand. I guess I got used to them looking like the metal terminator or even like Matrix agents... you know, serious, wearing tight clothing, upright, and with a body language that speaks of alertness and being almost on hair trigger. Here? Serious, but not as on edge as I tend to see them in the US. I also saw their relaxed body postures and their smiles while buying coffee at Starbucks like anybody else. And note they wear more or less the same clothes, carry more or less the same equipment, and drive more or less the same cars.

This place is very peaceful compared to some of the places I've lived in. Niiiiice...

Thursday, April 26, 2007

Smalltalk Solutions is coming up!

I am leaving tomorrow. I've been so busy with things that time went by without me noticing... I can't quite believe it's time already. I am sure it will be a lot of fun, and I am looking forward to it.

If you are going, don't forget to check out the Smalltalk World Tour wiki page so we can get together. See you in Toronto!

Wednesday, April 25, 2007

We should read things like this more often

Here is Socrates' apology, just before he was sentenced to death. We haven't learned much, have we?

Monday, April 23, 2007

Surprise me --- wow!

Check it out: Vista asks for admin rights based on the name of the program. So if you call your spyware install.exe, just rename it to e.g.: fred.exe, and all is well. The details, along with an explanation worthy of 1984, is here.

STS 2007 Coding Contest --- Official Qualifier Round Results

I was reading Michael's posts from last year when he was the organizer, and he also mentioned how much work it is to run a contest. On the other hand, I am sure he had as much fun as I had earlier when I brought up a qualifier challenge and let the different programs try to beat each other out.

I am writing this post with jitters. I ran the participants' submissions a while ago, and only now I am able to write about it. The thing is there were more than 3 participants, but there can only be 3 finalists. I hate bringing bad news to bright people, so I hope you will not be upset.

Thus, without further preamble, and having scored between 201,861.649307 and 193,788.433108 against the qualifiers game allocator, here are the three finalists in strict alphabetical order.

  • Leandro Caniglia and Valeria Murgia
  • Michael Lucas-Smith
  • Niall Ross
I would like to extend my congratulations to these bright people for making it to the finals. I am certain the blitz round at Smalltalk Solutions will be even more fun than the qualifiers have been, and I look forward to it.

The list above means, however, that a number of people did not make the finals. I am truly at a loss as to what to say to you. I feel bad because your programs not only work, but also work well. I hope you can understand that other submissions simply achieved a higher score. Participating in a coding contest takes skill, courage and determination --- my greatest respect goes to you. I hope you will accept my advance invitation into next year's contest.

Thank you all for participating, and see you at Smalltalk Solutions!

The qualifier round of the coding contest is over

Time's up! Stay tuned for the results...

Sunday, April 22, 2007

Different points of view on life

In a way, life is like a game. But nobody gave us a manual on what are the goals of life, so then we have a problem. How we play this game depends on what are our goals, and we get to choose what those are.

Yet, it seems to me we are so ambitious about things related to ourselves that we tend to forget the value of spending time with family, to forget the value of others, to forget the value of the environment we play in, and even to forget the value of knowing ourselves. We adopt the predominant set of goals we are educated and trained to like, and thus we become slaves of the things we crave.

Imagine you were given the opportunity to roam around the universe as you please on the condition that you do not change the places you visit as if they were yours. Let's say you decide to try it out. After verifying the Apollo landers are really on the Moon, after taking a stroll on Mars, after skimming the atmosphere of Jupiter, after diving under the ice crust of Europa, after seeing the rings of Saturn and throwing pebbles across it with your own hands like you do in the lakes, rivers and seas of Earth, and after examining the rest of the solar system to your heart's content, it would become time to visit other places. Some that come to mind... the pleiads, the Orion nebula, Sagitarius A*, the numerous worlds in the galaxy you were born in, which eventually you will look at from the outside as you go for your first visit to Andromeda.

From this perspective, look at some of the people that live on Earth now. How valuable would you say having a checking account balance with 12, 20 or even 30 figures is worth? Perhaps you imagine this poor soul in his best business suit, his eyes almost closed because of incurable fears, trying to cover a pile of this metal called gold with his own body so others can't have it. Doesn't the whole proposition look pitiful now? Because you know that in the time it takes you to travel to the next star, the next anonymous person will relieve the guard of the previous one.

Well, that is more or less how truly insignificant we are. Just because you have more or less you are not more nor less, not even different. You are just another of these most humble beings that try to live here.

So... can we please get along and stop giving ourselves undue importance during the time we have to spend in this place? Can we stop assuming we have the moral rectitude to decide which of us should live? Or pretending our beliefs are better than anybody else's just because somebody wrote "it is so" on a piece of paper?

Ah, but you say, why not doing it anyway since we are stuck on Earth in the first place? Nobody will come to judge us in any case, so why care? Well that is great as long as we are ignorant. But at this point we no longer have the excuse of not knowing what the consequences of our acts are. And yet, we are behaving like the spoiled children our societies spend so much time and effort to "educate" so to speak in the image of our rulers --- spoiled in the sense that they become addicted to satisfying their selfish needs, with less and less tolerance to frustration, with more and more willingness to do whatever it takes to get another high.

It is time for us to grow up once and for all. We better hurry, or I think we will not even have a chance.

Server maintenance

The FTP and HTTP servers need hardware maintenance --- nothing to worry about though, they will be up in a few hours.

Saturday, April 21, 2007

From the department of video processing...

I finally had a chance to get the footage for the talk on Writing Truly Efficient Smalltalk I gave in Buenos Aires last December. Sigh... the level of background noise in the audio is disappointing, and I do not know how much I will be able to clean it. Note to self: next time record the audio separately.

So how is the contest going?

Well, I can say that organizing the contest is both hard work and a lot of fun.

On the hard work... you are essentially on call for the program you wrote for participants, and for all the network services and support you have to provide to them. And oh by the way you probably spent months working on the problem!

On the fun... well I can't quite tell you much yet but it certainly is great! I had a great time creating and solving the problem myself :).

This is the last weekend for participants to work on the qualifier round. At this point they have about 34 hours left. More to come --- and see you at Smalltalk Solutions!

Tuesday, April 17, 2007

Edward Tufte, and many others, on software

I just found these very interesting comments. In particular, it makes reference to what we know is Smalltalk! Check it out --- the last paragraph is killer.

Societies have invested more than a trillion dollars in software and have grotesquely enriched minimally competent software producers whose marketing skills far exceed their programming skills. Despite this enormous long-run investment in software, economists were unable to detect overall gains in economic productivity from information technology until perhaps the mid-1990s or later; the economist Robert Solow once remarked that computers showed up everywhere except in productivity statistics.

Quality may sometimes be the happy by-product of competition. The lack of competition for the PC operating system and key applications has reduced the quality and the possibilities for the user interface. There is no need on our interface for a visible OS, visible applications, or for turning the OS and browsers and e-mail programs into marketing experiences. None of this stuff appeared on the original graphical user interface designed by Xerox PARC. That interface consisted almost entirely of documents--which are, after all, what users care about. Vigorous competition might well have led to distinctly better PC interfaces--without computer administrative debris, without operating system imperialism, without unwanted marketing experiences--compared to what we have now on Windows and Mac.

Today nearly all PC software "competition" is merely between the old release and the new release of the same damn product. It is hard to imagine a more perversely sluggish incentive system for quality. Indeed, under such a system, the optimal economic strategy for market leaders may well be the production and distribution of buggy software, for the real money is in the updates and later releases.

One of Philip Greenspun's points in his introductory programming course at MIT is that the one-semester course can enable students to create the programming equivalent of the amazon, eBay, or websites. So why it is so hard to get it right the first time? Or at least by the Release 8.06th time? See Software Engineering for Internet Applications (MIT 6.171) at [here].

[...] I mentioned Robert Solow's famous remark that computers show up everywhere, except in the productivity statistics. Solow comments on this, and on economic matters, in a recent interview at [here]. As to be expected from Solow, bright, direct, funny.

The problem seems to be with really big systems, the "tar pit," as Fred Brooks famously called it in his great book The Mythical Man-Month. Also the original article and discussion that started this thread [as seen here, requires registration] was about the tradeoff between resources committed vs. benefits.

And perhaps the big gains in computing should be substantially attributed to hardware improvements, not software.

See Scott Rosenberg's recent Washington Post article , which reports

"In my view, we lost our way," Vista's manager, Jim Allchin, wrote in an e-mail (later posted online) to Microsoft founder Bill Gates and chief executive Steve Ballmer. "I would buy a Mac today [2003] if I was not working at Microsoft."

Follow up on our violent culture

Examine the following quote from this place:

Scientific studies have demonstrated over and over that owning a gun makes it significantly more likely that you will be shot. The US has the highest rate of firearms-related homicide in the industrialised world* [...]

Let me rephrase.
  • Want to get shot? Get a gun yourself.
  • If you are in the US, you are in the industrialised country where it's most likely you will get shot.
So my friend, the picture in the mirror is not pretty. What are we going to do about that? Duck and cover?

Side thoughts... I read the following argument not long ago: "you can drive by 16, you can enter the army and be trained on how to kill people at 18, but you can't drink until 21?". How should guns enter into this equation now? How are we going to reconcile these arbitrary limits with our demonstrated tendency to harm each other with guns so frequently? Oh, by the way, less available guns means less guns available to criminals --- the stats in that study are particularly disturbing.

* Personally, I disagree with the part about the Second Amendment that follows what I quoted on the grounds of precisely what precedes it. Just having guns is not enough to go on a rampage. You need a culture of violence and disregard for life so that a gun is seen as an instrument to commit murder.

Monday, April 16, 2007

Carnage we didn't ask for? Bad!

And today we have yet another episode of meaningless killings in the US. But before we go ahead and put all the blame on one or a few people... hold on for a moment.

We routinely ask to have guns, and statistics show we routinely decide that guns are proper means to resolve conflicts or unpleasant situations. Or do I really need to track down the numbers for ratio of people shooting another in this country compared to others?

No my friend, this is not an isolated event. It is not the work of a single deranged person. No, it's much worse and until we dare look in the mirror we won't fix it. Because every single day we discuss life and death just as if we were talking about family. We are so desensitized and our scale of values is so messed up that we are outraged much more when somebody says "ho" than when people call for killing others on TV --- both in fiction and for real. Is that the mark of reasonable behavior now?

So let's look in the mirror once and for all. What's in our society that fosters these events to happen, eh? Because that is our responsibility, isn't it?

And what about those who don't like what they see of ourselves and just look away, like ostriches sticking their heads in the ground? How are they not accomplices by negligence, and hypocritical when they choose yet another scapegoat for the occasion?

Please... on top of the mourning for yet more lives truncated for no good reason... let's do something. And it's not tougher sentences. If we want this to stop, we will need to rip our fondness for death out of our society.

Given we're in a downward spiral in regards to respect for life, are we going to have the courage it will take to stop? Or are we so intimidated by our own behavior we don't even dare to question what in the heck are we doing?


A long time ago I saw an ad for a video game on TV. It was quite gross, and to make it worse it kept coming up within the same commercial break. Revolting, nauseating, sick beyond words. The game?... this one. See what I mean now? Or do you need to see if you like the ad in the context of what happened today?

No photoshop for you

What a lucky photo... take a look!

And just when I thought there was only one, there were many. See this, this, this, this and this, and finally this...

Friday, April 13, 2007

An example of using UPX for VW distributions

For the coding contest, I decided to provide a standalone .exe file for Windows. This .exe file has the VM and the image file in it, and it runs just like any other executable. Ok, so what is interesting about this?

  • It is smaller than a .zip file of the VM and the image!!!
  • It is smaller than a .zip file of the image alone!!!
Behold the results you can get with UPX :).

Found the bug in the problem server

Aha! So I found what was the problem. Indeed, it was rare in the sense that it happens when you do something that does not seem to contribute much to solving the problem. But who knows --- the participant that found the problem may be onto something!

In any case, I am testing the fix and if everything works fine I should have an updated image and game server available soon.

Sorry for the mess!

Update: a new image and standalone Windows .exe file are now available.

Coding Contest status

After the first 20 hours of the coding contest, things are going quite well. I hope those taking part in the contest are having a lot of fun :).

Someone in the IRC channel asked if the problem statement is available to the public. If you are interested, feel free to take a look here.

The problem server seems to be quite stable, with only one problem reported which so far cannot be reproduced easily. The reference solution I wrote did not expose it either, so it looks like you can solve the problem without causing the exception --- ???. I hope I can find it so it can get fixed, although right now it looks like the defect is rare.

A participant asked how much does the reference solution score in the qualifier round, and the answer is about 200,000.

So far, so good.

Thursday, April 12, 2007

Coding Contest starts in about 12 hours!

Just a bit more than 12 hours to go until the contest starts. This is your last chance to register! If you'd like to participate, send me an email here. You can see the full details of the contest in this previous post.

Wednesday, April 11, 2007

As I was saying before...

Take a look at this study regarding what makes people reach the level of "genius". The article has a lot of common themes I commented on before: 7 plus minus 2, chunking, putting in the time, the fact that you can either stimulate your brain or it will forever stay underdeveloped. It may look like "genius", but it ain't magic. It's just that some people cared enough to put in the time and effort it takes to reach a higher level of performance.

Come on, people! Just consider what you could do if you didn't watch 1-2 hours of TV each day and dedicated that to practicing a skill you'd like to have instead!

Antsy feelings

Ah, the coding contest is coming up, and it makes me think of last year when I participated. I remember what I wrote about how I dealt with the problem, how I made decisions about things I knew I did not have enough time to address properly, and the stress caused by not knowing if what I wrote would behave like I meant it to in the first place.

Last year I was a participant, this year I am the organizer. How different the situation, yet how similar the feelings!

One last check, watching the reference solution I wrote working against the problem to make sure everything works like it should. After that, just making the image and writing some instructions is all that is left. Then the time for others to look at all this will come.

And questions, more questions, endless questions as the moment when the contest will start comes closer and closer.

Will this year's participants find gross bugs in what I prepared for them during the last months? Will they find the problem too easy or too hard? What could go wrong that I have not anticipated?

And also... what approach to the problem will they take that I did not think of? Will they beat the reference solution? How differently will their programs behave?

The exciting time when everything starts is coming. As soon as this Friday begins according to Pacific Standard Time, I will put some files in an FTP server. Ten days will go by, and then three finalists will be selected to compete in a follow up blitz round at Smalltalk Solutions.

What will happen? How will this unfold? The possibilities make me very curious. Too many antsy feelings already. Let the games begin.

Tuesday, April 10, 2007

Tighter VW .exe distributions

Here is an alternate procedure that should produce smaller .exe files when delivering a VisualWorks application as a single .exe file.

  1. Make a copy of the VM.
  2. Add an uncompressed image file to it as a resource (type and name 332 as usual).
  3. Save the resulting .exe file.
  4. Pack it with upx -9.
I am happy to report I tested this in Windows and it works just fine :).

By the way, upx is licensed under the GPL.

Monday, April 09, 2007

STS 2007 Coding Contest coming up!

The last days of open registration for the coding contest are about to go. This is your chance to have a fantastic time at Smalltalk Solutions. I certainly had a terrific time last year, so besides the fun perhaps it's also your opportunity to get some nice Apple hardware :).

Interested? Drop me a line at Also, here is more information about the contest.

Talking about changes and crossing boundaries...

After driving a moving truck for about 3000 miles, I moved from the east to the west coast. It was quite a trip, and I got the chance to see many places I wouldn't have seen otherwise. About 15 miles of St. Louis when I got lost. The beautiful state of Missouri, full of cherry blossoms. The green hills of Pennsylvania. The Mohave desert in California. The semi-ghost towns in Arizona. Most enjoyable.

I finally got my internet service too. It is a sorry reminder that I won't have symmetric service anymore, and the up pipe is restricted to 96 kb/sec. That's more than an order of magnitude less up bandwidth for the same money... sigh. Anyway, the network setup is slightly different now, so let me know if the FTP server has issues.

Eventually I will also put the video processing unit back in business and there will be some new Smalltalk footage available.

Tuesday, April 03, 2007

A place in Amarillo, TX

I recently drove past this place, a famous steakhouse, after seeing its billboards for over 100 miles on I-40. Here is their claim to fame.

Want to have a free 72 oz. steak dinner? It's all yours, if you can finish it within one hour.

Yep, you read that right. That's 4.5 lbs of steak (over 2 kilograms), plus all the sides and everything else. Someone even finished all that in as short as 9 minutes, and a wrestler ate two of those complete dinners within one hour. EGAD!!!

Final call for bets

So, what is it going to be? Are we going to win the bet that there will not be catastrophic hurricanes landing at the worst possible places in the US coast this year? Or are we going to have another Katrina year? Gentlemen, start rolling your dice!

Oh and by the way New Orleans is back to what it used to be, right? And we have invested to make sure the levees can take category 3 abuse again, right? Because we care about human life, right? Otherwise we would have made sensible decisions since then, right?