Wednesday, October 31, 2007

Book growth

I went past the 750 page mark a while ago. The book drafts are now 338 (mentoring book) and 415 (hash book) pages long. The hash book is getting close... so close... I can feel the end is very near now.

In related news, I will most likely split the mentoring book again because chapter 6 on AGC will almost certainly balloon into its own book anyway. This would imply the following...

  • There will be three books.
  • Two of them might be published together soon.
  • The third one will likely take about a year to write.
And did I mention there are serious plans for a fourth book on team development processes?...

Golden standard

A grieving father won a nearly $11 million verdict Wednesday against a fundamentalist Kansas church that pickets military funerals in the belief that the war in Iraq is a punishment for the nation's tolerance of homosexuality.

Ok, so what are we going to do with the other guys that picket funerals of homosexuals with lovely signs stating that the deceased is going to hell and such?

Friday, October 26, 2007

Much better than TV

I have a neighbor spider. The first time I saw it, it was trying to live on the stairs casting its net from the handrail. Since then, it moved to the ceiling light in front of my street door. During the day, it squeezes into a ball and hides in the crannies of the sheet rock. At night, it goes down to its 7" net, and waits.

It is a beautiful, 1.5" long spider (including the legs). Its body is light brown in color, and its legs are tigeresque because they alternate between lighter and darker color stripes.

It has been growing, too. Apparently it's in a good place to hunt. It makes me happy because then my front door is free of pesky insects that I'd rather not put up with. I'd rather deal with the spider --- at least it doesn't go flying and buzzing around you all the time.

Just a moment ago I was about to go out and I saw it once more, slightly larger than last time, hanging upside down from its net, waiting. I observed it against the light, and I saw once more its legs and leg hairs. Beautiful and amazing creatures, spiders. I also observed its net, and again paid attention to how it becomes visible or invisible depending on the angle you look at it from.

So I was contemplating all of that wondering what pattern of perception allows the spider to do all this, and then came a big fly, one of those I find repulsive, and flew once around the front door area. I thought it was lucky, but I also considered that it might come back towards the light.

And sure enough, five or so seconds later, it came back and smacked right into the net of the spider, about 4 inches away from it. Then I got to see how spiders hunt for real.

Upon the fly hitting the net, the spider was on it within half a second. It collapsed into a ball around the fly, some tremors were observed, but within 10 seconds it was more than over. Spiders are no nonsense hunters.

Then came the interesting part. The spider took part of its own net and wrapped the fly in silk. It was amazing to see what appeared to be the spider getting tangled up in its own web, but no such thing. With anywhere between 4 and just 1 leg for support, the other legs made a very nice looking wrapped fly.

At this point, the spider's net had a major hole in it. But no worries: the spider went down a few inches to separate itself from the mess, and then just climbed back up towards the light. All of this of course with a leg or two carrying its dinner. When it got to the top of the broken net, it started cleaning itself up. All the legs were carefully scrubbed without losing track of food, and finally after 2 minutes of this, came dinner time. This was also very interesting, as the spider managed to just sit on the leftovers of its net with the fly next to it in such a way that it could eat without having to move or touch the fly any further with its legs.

They can show you all of this all they want on TV, but watching it with your own eyes is so much more satisfying.

PS: I found this photo that looks very much like it.

Thursday, October 25, 2007

Avoiding the mirror

Really? Exponential growth cannot go on forever? I could have never figured it out!

Check out the sobering stats --- we're about 30% in the red. Now of course, the actual percentage number does not matter. The issue here is that we are not in the black in the first place. In turn, this implies that sooner or later, this world of fancy, constant distraction and entertainment regardless of the cost is going to come to an end.

Given this knowledge, we can make a decision. Either we will care enough to modify our cancerous behavior in time, or a lot of people will die.

So, my friend: do we care? Apparently, not enough.

Monday, October 22, 2007

California fires

So the fires began due to downed power lines. Assuming the Santa Ana winds caused the power lines to go down, the number of fires started at the same time just begs the question...

... why are power lines that cannot take abuse from Santa Ana winds built in land that has a tendency to become tinder ready to go up in flames in a particularly uncontrollable fashion especially when Santa Ana winds are blowing?

So let's say we just figured this issue out because we didn't know any better. Fine. We are going to learn our lesson and do something about this so it does not happen again, right?


Saturday, October 20, 2007

df -k book*

Yesterday I broke the 700 page barrier. Right now, the book drafts stand at 338 and 366 pages. There is so much more to write...

Well, I better get back to it now. Hopefully in a bit I will finish the section on Number>>hash.

Update: some 8 hours later, the section is done. The hash book draft is now 377 pages.

Thursday, October 18, 2007

An answer to the wrong question

There has been a lot of talk recently about Giles Bowkett who asserted that the lack of a good debugger is a feature because it prevents detrimental developer behavior patterns.

So fine, let's take out the debugger. If you have no sharp tools around, certainly you can't injure yourself. But how are you going to cut a diamond without a diamond cutter? And how do you make buildings without a bulldozer? This is like saying that since cars cause car accidents, we should ban cars.

In my opinion, this is the answer to the wrong question for two reasons.

Back in the days, steering columns in cars were rigid, and thus if you hit something straight on the steering wheel would essentially attempt to move through your head with rather nasty results. So what happened? Nowadays, steering columns are telescopic and thus will collapse when such crashes occur. So, first reason: if the tool is unsafe, make it safe in the first place.

Now, what to do about crashes? Should we outlaw cars? Well, no. What we should do however is to make a better effort at driving responsibly. Here are some things we could try: do not cut in front of trucks, do not drive through railroad crossings when the barrier is low and the bells and lights are going, do not tailgate, do not pass on the shoulder, do not drive too fast for conditions, do not carelessly change the tires and suspension of your car, remember that the street is not Gran Turismo, and if you like driving vintage cars then install safety belts on them. Therefore, here is the second reason: we ought to stop blaming the tool for our own deficiencies.

I find it amazing that the discussion is not about how to stop developers from producing crappy code in the first place. No, not at all. Apparently, that can be like it is because applications written that way are fine and dandy, and therefore this problem is not seen even as an issue worth considering. But the mere existence of a debugger? Ahhh no, what an abomination of nature!

Sorry... this argument doesn't make sense to me.

What I would say is much more likely to be going on is that teaching people to be good developers is hard, and that since we shy away from that problem we choose to blame something that cannot defend itself to cover the fact that we are not addressing the real issue.

To put it more bluntly at the expense of restricting the context of applicability of the following argument: a nation in which giving people enough mastery of mathematics so that they are able to use them in real life problems is not deemed as being important or desirable will find it much harder to produce quality computer programmers, much less computer scientists or mathematicians. And why would that kind of education be a prerequisite to having responsible developers that in turn might think it is acceptable to rely on the debugger when their trained judgment tells them to?

Just my two cents here.

Wednesday, October 17, 2007

Señor Gnaritas

I found the following quote. Thank you, whoever you are!

"[...] simple is something [that] takes experience to truly appreciate. Simple never gets the respect it truly deserves until much pain has been experienced finding out why complex sucks."

Selected footage of talented sportsmen

Here's some footage I find very enjoyable. First, some selected clips of Romário de Souza Faria. There are some duplicates, but if you do not know who this guy is, then it's well worth watching.

Soccer 1. Soccer 2. Soccer 3. Soccer 4.

White hairs, playing past 40, whatever... all balls go in spectacularly when Romário is near by.

It's funny... at one point Romário said, essentially, "if you're going to call me to the national team, I will not come over to sit on the bench". So he got grounded and stopped being called... but then of course Brazil wasn't playing so well, and finally the coach gave in and called in the guy. For the game that they had to win to go to the world cup. Oh dear...

Well he put in a show, and what happened is in this clip (which, besides having commentary by Pelé, illustrates very well what it means to watch soccer in Brazil --- music and audio effects included).
See what happens when you put in, what, 20-30 years into something? Along the same lines, here is some amazing stuff by Semih Sayginer.

Billiards. And this: part 1, part 2 and part 3 (you may want to skip some of the ads).


Sunday, October 14, 2007

Dolphin's Float>>hash

While working on the hash book, I've run into a discrepancy I can't reconcile. I was looking at Dolphin's number hashes and, to make testing easier, I reimplemented Dolphin's Float>>hash in VW (remember that in Dolphin, aFloat is the equivalent of VW's aDouble). When I tested the reimplementation, I couldn't get the values to match.

Unable to see what was going on by looking at the code, I went into a VW workspace and tried to calculate the hash of 3.25d according to my interpretation of Dolphin's implementation. The answer was 3. Dolphin's workspace, however, said 3.25 hash was 879642989.

Ok, so obviously there was a bug in what I wrote. I brought up a side by side arrangement of debuggers to see what was going on. Much to my astonishment, the calculations matched on both sides, and in both cases the answer was 3.

This just can't be. Could somebody please point at what I am doing wrong?

Update: aha --- compile time literals strike again! Recompiling the method in Dolphin produces the right answer now.

Friday, October 12, 2007

Status of the books

So, what's up in book land these days?

The mentoring book grew a bit because of a particularly nice exercise, and it is now 338 pages. No work is being done with it at this time, other than adding exercises when I find good ones. This lack of work on the mentoring book is not worrying to me because...

The hash book grew larger than the mentoring book last night, and it is now 341 pages. It's getting close and there is definitely the beginning of the buzz. Only 30 or so subsections of chapter 7 (of the hash book) plus small work here and there to go... it looks like a 400-500 page book to me.

Well, back to creating more stuff now.

Wednesday, October 10, 2007

Perfect, or nothing

For some reason I remembered some vague details about one time when Juan Manuel Fangio, an F1 driver, had this great performance smashing N lap records in consecutive laps.

Well, I found his own account of it. It is much more impressive than that. It is astonishing. Driving curves one gear higher than normal, flying in the air, driving through impossible places... to erase a 51 second deficit because of pit trouble, take the lead with one lap to go, and win a 5th World Championship (4th consecutive).

For some reason, reading his interview felt a bit too familiar... at times I couldn't help the sensation of knowing the feelings he was talking about all too well. Good stuff Juan Manuel, very good stuff. To your memory, my friend: cheers!

Tuesday, October 09, 2007

Smalltalks 2007 Announcement!

On December 10th, the First Smalltalk Conference of Argentina will take place in Buenos Aires. Interested in participating or perhaps doing a presentation? Send an email to smalltalks2007 at gmail dot com!

Here is the website for the conference. See you there!

Sunday, October 07, 2007

Regarding Interval>>hash

I was looking at different implementations of Interval>>hash, and when it became the time to measure I found that coming up with interesting cases was more difficult than I expected.

So... has anybody run into real situations in which a set of intervals or a dictionary with interval keys was useful? If so, can you share the nature of the intervals?

Thanks in advance!

Tuesday, October 02, 2007

Kapital in the news...

Check out these public glimpses at Kapital... it's nice that now I can use the term PCS! As impressive as it sounds, in my opinion the article does not do it enough justice :).