Thursday, January 31, 2008

Star Trek: The Motion Picture

I must have been around ten when I first saw Star Trek: The Motion Picture. I had watched pretty much all the episodes. At that time, of course, there was no other series (other than the animated ones-ick), no other series. This would, in Bond-like manner, lead to nearly a dozen other Star Trek films, and finally one more that is scheduled to break the usual creative control (which lead to pedestrian TNG films).

I recall this being a rather spooky film, a bit scary. Now I realize that much of that was inexperience watching films. The more you get scared, the harder it is to get scared.

This was Star Trek as inspired by 2001. Of course, some fans point to the episode The Changeling about a robot that is to destroy imperfections, which is a small-scale version of what the film is about. (The joke goes that the film is called "Where Nomad Has Gone Before", playing on the name of the robot, Nomad, and the famous Star Trek phrase "Where No Man Has Gone Before").

As much as it tries to deal with heady plots and themes of God and what the meaning of life is, it is still, at its heart, derived from a television series, and as ardent as its fans were and are, you can't be too experimental, too way out there as Kubrick was in 2001. Indeed, Kubrick was perfectly happy having drones as characters, where the strong character is HAL, and by a long shot.

ST:TMP (as the original is known) has both too much exposition (Spock has to explain everything) mixed with long stretches of nothing. The opening of the film is a starfield with music lasting some five minutes. The entrance to the Enterprise in dry dock goes on about ten minutes. The Enterprise maneuvering into V'ger's interior is one special effect shot after another, with the crew mostly looking agape at what they're seeing, and that last minutes too. Perhaps half an hour of the film has no dialog.

Despite that, these long sequences are pretty brave for a film that decided to put all its special effects on the screen.

There's also a lot of funny things you notice. For example, there's a ton of wardrobe changes. Kirk easily wears half a dozen outfits, as does Spock and McCoy. Dekker alternates between wearing a one-piece gray uniform to a two-piece uniform. And, man, does everyone look spectacularly young.

The film is more of a visual feast for the eyes, than something that is particularly awe-inspiring. There's the final scene where Dekker unites with V'ger. I suppose I should give it credit that it almost makes sense (but not quite), especially with his desire to unite with Ilia.

There are a few things that don't hold up so well. One is the big distinction the film makes between machines and people. Indeed, there's a ton of "mechanism" bias. Dekker, who is about to have feelings for the Ilia probe, is informed she's just a mechanism. The crew is amazed V'ger has achieved consciousness, even if plenty of idiot humans have achieved it just fine, thank you.

Surprisingly, I thought Ilia had a lot more lines. She barely has any before she becomes a probe.

There's a particularly silly scene where Spock decides to journey into the interior, and somehow, in random wandering runs into, well, another Ilia probe? That looks like a mannequin. And then he's tossed back to the Enterprise, where Kirk is in a spacesuit outside the ship, what, hoping Spock comes back?

There are some gaps in logic. McCoy who's been out of Starfleet for a while knows the name of an ensign (to be fair, one would imagine, in the future, there would be something that would automatically tell you the names of other people as you meet them). Nurse (sorry, Doctor) Chapel seems to know Ilia, even though she's only been aboard barely a day.

The Enterprise alternately can and can't communicate with Starfleet when inside the cloud. It flits this way and that way, as the whim of whatever the plot requires.

There's a ton of tiny missteps (the oddly blurred scene when Spock first comes aboard, where half the background is blurred out, to odd effect, where one of the bridge officers has his arms crossed doing nothing in particular, except giving the background some interest).

It's decent, but not quite as awesome as I recall.

Monday, January 28, 2008

Making Stroganoff

It's been a while since I made beef stroganoff, the last few times, I suspect it was chicken. The problem with using beef, at least beef from Whole Food's is that it's very expensive. By buying any reasonable amount of beef (a little over a pound), I've already made a dish that's ten dollars or more, for a dish that's considered, well, not the highest end.

The few times I've made it, the sauce has been too watery, and nor particularly thick. I used a trick by essentially making roux, but was still moderately unhappy with the results. I decided to follow a recipe from Cooking for Engineers.

Cooking for Engineers is run by one Michael Chu. Most food blogs illustrate the ingredients with pictures, showing step by step what to do. It's funny how, even good cookbooks often lack pictures, and how the average Joe can do something better than the pros.

The standard recipe in Joy of Cooking and also the one in Cooks Illustrated essentially also opt for the roux approach, requiring butter and flour to thicken the result.

Chu takes a different approach, and it works remarkably well provided you don't mind the amount of fat involved. In particular, the recipe from Joy of Cooking asks for 3 tablespoons of sour cream. Cooks Illustrated asks for 1/3 cup (that's about 5 tablespoons). Chu opts for an entire cup! that's 3 times as much as Cooks Illustrated, and more than 5 times used in Joy of Cooking.

However, sour cream isn't all that sour, and I feel that beef stroganoff needs a pretty strong sour cream taste. Plus sour cream is pretty thick, and you can mostly avoid a roux by using a lot more sour cream.

The one drawback of the recipe was the way I made the beef. In particular, it came out pretty hard (it might be the cut of beef I had) and kinda bland. I believe that I should have lightly salted and peppered the beef either prior to cooking, or slightly after.

I'm likely to try it with chicken again, just to see how that works out.

So, the trick, such as it is, is to use a ton of sour cream (one cup) instead of the roux. Oh, Chu also suggest adding a tablespoon of Dijon mustard. Also, a good idea, as it gives a nice mustard tang. Cooks Illustrated opts for a lot of additional ingredients including tomato paste, brown sugar, wine, etc. I might give that a try, but the recipe is more complex (by just a touch) and I hate dealing with tomato paste, because even if I have a tiny can, I only ever use about a tablespoon at a time. I might use it more in my Indian cooking though, since I never seem to get through even a tiny can.

So lessons from this? Get a little less beef. Add salt/pepper to beef to season it.

But it is quite pricey, so chicken might be a better alternative, even if it lacks as much flavor as beef.

Sunday, January 27, 2008

What Not To Wear

I don't know what I think about this show. It's really borderline offensive. The show is a bit like Queer Eye except mostly focused on how a person is dressed, most specifically women.

In this particular episode that I stumbled on, it was about a slightly heavy-ish, very busty blond. In particular, the show was making a point of how to dress when you have larger than average breasts. She had left Oklahoma and headed to New York, but wasn't happy with the way she looked. The hosts of the show were going to give her advice on how to look better from clothing to haircut to shoes.

Of course, the real problem with this is price. They let her go on a shopping spree in New York, and she spent over a thousand dollars getting clothing, while pretty much jettisoning out all her clothing. In other words, she probably went from clothing that was 40-50 dollars up to 150-200 dollars, easily quadrupling the cost of the clothing. And that's not all. They suggested she have most of her clothing tailored, which, alas, in the US, ain't free. This can be a significant percentage of the clothing too, likely to boost it another 10% or more.

While the hosts seemed a little surprised how much she spent (though they probably gave her quite the budget to spend), they probably did so to seem concerned about the clothing's cost, even as they, themselves, wouldn't bat an eye on the expense of clothing.

In fact, the only place I've seen it worse is watching Kornheiser and Wilbon on their Washington Post sports segment (called Talking Points), were Kornheiser frequently talks about how much Cindy Boren (a sports editor) is spending on her clothing. She frequently has clothing in the several hundred dollar range. Meanwhile, Wilbon, being the well-paid man he is, dresses even more expensively. He commented that he hadn't spent less than three hundred dollars on shoes in a long time, and has a fondness for Italian leather.

Now, it certainly makes sense that more expensive clothing would make you look better, but shows like these encourage people who already spend a lot of money on clothing to take it up several notches. I understand the feeling. I buy kitchen equipment. The average cost of this stuff is relatively cheap, in the forty dollars or less range.

But the really good stuff is really expensive. An affordable knife might be 10 or 20 dollars. A top-notch one, more than one hundred dollars. A whole set can put you back several hundred dollars. On the other hand, if I bought that, I would likely never have to replace it. At the very least, I could keep it more than a decade.

This clothing is likely to be old in 2-3 years, and again, the spending goes on.

I will say that they didn't mention one thing that would have been a sensitive part. She probably could lose weight by doing more exercise. However, the show realizes its audience doesn't always have perfect figure, and that it's easier (if more expensive) to wear "better" clothing than to get in better shape (indeed, if some of this money went to a personal trainer--but I digress).

Indeed, most clothing experts are generally out there not just to improve your look, but to up the cost of your look, to push how much you spend to outrageous amounts (amounts they consider acceptable to look that good).

The show is, of course, between a rock and a hard place. They want people to look good, but they don't care if this puts them in the poorhouse. And the people who watch see it as a kind of fantasy, that spending money will make everything work out. It's an attitude not shared by a lot of the world where feeding yourself is as much as one can hope for. Such shows encourage that people look bad, and thus, spend the money to look better.

I can't say I'm completely immune to this, because I'm certainly not, but certainly people look at spending money to fit in their social crowd. And is that a message we should be sending?

20 and Terrific

Jo-Wilfried Tsonga had something of a coming out party at the Australian Open. Once the number 2 junior in the world, next to Cypriot, Marcos Baghdatis (who has had a pretty successful career since turning pro), Tsonga has had a wide variety of ailments, from shoulder injury, abdominal injuries. His career had been stalled for years.

Only now, has Tsonga gotten himself fit, over injuries to finally play the kind of tennis that his junior career had promised.

After a thorough whipping of Nadal in the semifinals, where Tsonga was keeping up toe-to-toe from the baseline, at times, outhitting Nadal, certainly outserving Nadal, coming into net to hit drop shots and drop volleys, it seemed Tsonga might give Djokovic, the surprise finalist, a challenge.

For the first two games, both Djokovic and Tsonga looked nervous. Even as both settled down, Tsonga kept more to the baseline, not sneaking in as he had against Nadal, possibly because Djokovic plays pretty good defense. He can especially hit a good backhand, when he's out of position. I suspect Nadal stands further back from the baseline than Djokovic which made it easier for Tsonga to attack.

Now, Novak was also a bit distracted. The Djokovic family was out in full force. His mother, his father, two younger brothers, and another row of friends behind them. But a row or two behind them was a rowdy pro-Tsonga French group, painted in the French colors, and cheering wildly. The two groups got to jawing with one another, eventually requiring security to sit near the two groups. During this time, Djokovic seemed visibly bothered, not able to play his game. He struggled especially with his second serve.

On set point, Djokovic hit a strong approach, and Tsonga barely ran it down, tossing up a lob then went up and in, and he had the set.

But the next three sets all went to Djokovic. While Tsonga didn't play badly, often serving well in games, he started lacking the movement he had earlier on. Winners that were going in were now occasionally spraying long or wide. Djokovic started taking more charge of his groundstrokes, and Tsonga was mostly trading strokes.

By the fourth set, however, Djokovic looked as if he might be getting hurt, much as Tsonga was looking tired in the second and third sets. Djokovic had a trainer come out, and Tsonga looked more inspired. Even so, he found he couldn't break Tsonga (he had no opportunities in the second and third set), even as he was, for the most part, holding serve easily.

As they went into tiebreak, one advantage Djokovic had was his tiebreak record, which is pretty fantastic, and this tie break was no different as he took a minibreak, then two, to finally go up 6-2, and then, after several semifinal Grand Slam appearances and a US Open final appearance, Djokovic took the next step and won his first Grand Slam event.

At the age of 20.

But perhaps just as big, the Muhammad Ali look-alike, Jo-Wilfried Tsonga (the commentators: Patrick McEnroe, Dick Enberg, Mary Carillo, and Pam Shriver running with the boxing analogies and puns all day long) might be ready to take that next step. Already, he'll move to the top 20, and he's got the game that might move to the top 10.

This was certainly a career starting move for Djokovic. But was it also the same for Tsonga? Are we witnessing the proverbial changing of the guard?

Free Credit Report Guy

Remember the free credit report guy? In one commercial, he's a pirate at a restaurant playing a guitar. There are several variations to the commercial. He's living with either his parents or his girlfriend's parents.

Anyway, you'd probably think he's, well, American. But he's not.

He's French.

Well, French-Canadian.

It's this fella, Eric Violette, probably used to singing in French more than English (though the commercials do seem lip-synced).

Are You Being Served?

It's almost 4:30 AM on a Sunday morning, and they are showing the men's final of the Australian Open. When I was growing up, I watched a lot of tennis on TV, especially through my teenage years. Once college rolled around, I saw a lot less, especially in grad school. Watching the Australian, I've probably watched more tennis than I have in a very long time, no doubt, due to having "cable" (really, satellite).

Having come back to tennis, I now see a few things I didn't see. In particular, the serve is very useful in gaining advantage, even when you don't hit an ace or a winner. It can lead to a weak response, and give the server advantage hitting off the ground. It's not always obvious, and sometimes the rallies do turn neutral, waiting for one good shot to turn up.

Right now, the quality of tennis is pretty high. Both sides were really nervous opening the match, but the hard hitting has come quickly.

Key to Tsonga's success is his serve, as he's one of the hardest servers in the game. Djokovic returns well, but Tsonga has played some heaters. What you see in Djokovic's game is the ability to hit really solid shots even out of position. Indeed, this skill is what makes the best pros the very best. It says something when you can hit a shot with plenty of time for preparation.

It say something quite a bit more when you can hit a shot when it seems you should be on the defensive. This is, ultimately, what makes Roger Federer so good. You are only as good as the shot you produce while on the defensive. On a good day, your opponent will put you on the defensive, from time to time. If you can take those shots and hit a good shot in return, it can completely deflate the opponent.

Both Tsonga and Djokovic have these skills in spades, which is one big reason both are in the final.

Now back to watching more tennis.

Saturday, January 26, 2008

Star Trek

I know some people, including my friend Adam, who have a strong affinity for the original series of Star Trek (often called TOS, for "The Original Series"). Indeed, without this series, none of the films, nor many of its spinoffs would have occurred.

The first serious followup to the series (no, I don't include the animated series) was the series of 6 films, starting with Star Trek: The Motion Picture to Star Trek 6: The Undiscovered Country. Then, came the films based on TNG (Star Trek: The Next Generation).

Now that those film series have been over many years, I can now rank the films in the order from best to worst, and this ranking is likely to be different from what it would have been, say, when the last of the 6 films came out.

In order,

  1. Star Trek 2: Wrath of Khan
  2. Star Trek: The Motion Picture
  3. Star Trek 3: The Search for Spock
  4. Star Trek 6: The Undiscovered Country
  5. Star Trek 4: The Voyage Home
  6. Star Trek 5: The Final Frontier


I'll explain the order, but will pay particular attention to the second film first.

Of all the films, Star Trek: The Motion Picture (also ST:TMP), was the most different. When Star Wars came out, people expected science fiction to be a romp, with great visual effects, a simple mythic story, and a lot of fun.

Oddly enough, perhaps due to the lack of good special effects, Star Wars lead to very few science fiction movies of note. Indeed, the only major movie to compete with Star Wars, from that era, is the very different Alien, which one has to admit, was far more influential that even Star Wars. There was Close Encounters, while very Spielberg, was not that much influenced by Star Wars. Perhaps Superman: The Movie was the closest in spirit, even if you couldn't quite call it science fiction (to be fair, Star Wars doesn't fit tradition SF themes either).

ST:TMP looked backwards to the most influential SF film since, hmm, Metropolis, namely, 2001: A Space Odyssey. That's a pretty heady movie to be inspired by, especially considering the series cared more about social issues of its day (i.e., the 1960s) than deep science fiction issues (to be fair, genre fiction is often inspired by modern issues, cast in unusual settings, especially science fiction).

Guess I'll go over the basic plot. A strange cloud has been heading to Earth, and destroying things in its way, including some Klingons. The Enterprise has been sent to investigate with their recently refitted Enterprise, which makes it the best ship in the fleet (they never explain how Starfleet has this kind of money, but oh well). The ship is lead by Robert Redford look-alike, Stephen Collins, who plays the captain, Stephen Dekker. He's had a relationship with the very bald and sensual, Ilia.

As they head to this cloud, Ilia gets transformed into a "probe" (an android), as they head to the interior of the cloud. Eventually, they discover the secret of the cloud. The satellite, Voyager, sent in the 20th century, was captured by a planet of robots who discovered its mission, which was to seek and gather all information, and return it back to Earth. These robots fitted the robot with power to assimilate planets (thus, the prototype to the Borg) and their technology. At some point, it became so powerful, it gained a conscience. It wanted to find "God", which it assumes it at Earth, and in particular, feeling it is missing something, it wants to assimilate God.

To do this, the response code needed by Voyager (called V'ger throughout) needs to be transmitted by hand, which is where Dekker comes in. Having lost Ilia, Dekker (who's captaincy has been yanked by Kirk) seems ready to give his life to be part of this super being. He sets the connection, Ilia's consciousness returns, and the two, plus Voyager, become one happy super being, and transcend into some higher dimensional enlightenment.

The complaints of the film was, much like 2001, it was chilly and slow. It also had a pretty intellectual idea, which is the search for God, by a robotic entity. This is matched by Spock's storyline. Spock is going through a ceremony to exorcise his human half, which fails, and he decides to return back to the Enterprise. But he's become chilly, a robot. Thus, one of the major characters in the series has become weirdly distant, which had to disappoint fans, but in hindsight, is a pretty bold move for the character.

And, at the time, ST:TMP had really expensive special effects, which still look quite good over the years (unlike, say, The Black Hole which looks like a movie made in the 1960s, despite being made in the late 70s).

Despite being completely different from the series, and any movie that followed, it really was perhaps more influential to Star Trek than any other movie. In particular, Dekker and Ilia became Riker and Troi. The cloud creature was essentially the Borg.

It was slightly odd to see Kirk wearing a short-sleeved shirt, as if space were all nice and warm, but other than that, I have to say that the film still holds up, compared to the rest.

Let's quickly hit the rest. Star Trek 2 is still the best because it has the one big thing. Spock's self-sacrifice. Spock is back to being the Spock of the series. This film delves into Star Trek's own canon and picks out Space Seed and wonders what happens to Khan. Ricardo Montalban, at the time, was at the height of his popularity, starring in Fantasy Island.

This tells a revenge tale. Khan, who had been left to conquer a planet, with his band of 20th century genetically engineered super-humans, has been struggling to live, because the next planet over exploded and caused the planet he was on to shift orbit. Since then, Ceti Alpha 5 has been pretty much uninhabitable.

In the meanwhile, Checkov and his captain have been sent on a mission. Carol Marcus, Kirk's old flame, has been creating a device called the Genesis device, that will terraform a planet. The downside? It kills any life that was already there. They need to find a dead planet with certain requirements (no life being one). The Reliant has been searching for a long time, and stumble on Ceti Alpha 5, which happens to be where Khan is. He's got these tiny animals that have killed most of his crew (including his wife) and uses these to take control of the captain and Checkov and the crew.

Khan wants to get a hold of the Genesis device, but more than that, he wants revenge on Kirk. He does this despite the better advice of his second in command who tells him that he has power (though, you have to wonder) and doesn't need revenge. But Khan has been seething all these years, and now he has his chance.

This film has four pretty good ideas going on at once. First, there's Khan, who is a great villain. At the heat of ST2 is this revenge tale. Then, there's Kirk and his former fling and their son, who he's ignored for years (as she wanted), a modern comment on having children. There's the Genesis device, which gives the film its threat. Finally, there is Spock giving his life in the ultimate cat and mouse game at the end of the film. Oh, and I completely forgot about Saavik. It introduced a credible Vulcan (yeah, she's half Romulan) to the series.

While many people say this was a return to form for the film series (in a sense, it was), it represents a far superior film than any episode in the series, having far more story elements and intrigue. But more than that, it has McCoy being irascible, Spock debating with him, i.e., things people liked from the original series. Most of this was missing in the rather chilly original film. Indeed, series succeed because people care about the characters, which is what the producers of the first film failed to understand.

That made the first film a bit of a failure from a fan's perspective, but more fascinating as a film when you look back at it historically.

I'll quickly go over the other four. I put Star Trek 3 in third. It's kind of weak, but really plays to the one strong idea it has: what the crew will do for its friend. Even as Spock is hardly in the film, his is the central plot point driving the film. A few things are a bit silly, and Christopher Lloyd makes for an odd Klingon, so it doesn't stand up to scrutiny.

Star Trek 6 was seen as the third best, but honestly, it's not much more than a bad conspiracy film, mixed up with the fall of the Soviet Union. Star Trek 4 really ruined Star Trek by introducing humor, and bad humor at that, to the series. It was one of the more successful films, being a fish out of water idea. But 6, despite being better than 4, is still, in my mind, weaker than 3 and 1, and 3 is kinda weak already.

Of course, Star Trek 5 is dismal. Oddly enough, it had perhaps one of the headiest idea since Star Trek 1, but its execution was so horrid. Shatner was apparently fascinated by evangelists, and does a 23rd century equivalent of it, and it really is kinda lame. Part of the problem is just how casual Shatner, Nimoy, and McCoy take the whole thing, from its rather narcissistic intro (Kirk is climbing up some mountain face, a la Tom Cruise, showing he's a man's man) to an oddly-happy Luckinbill playing Spock's half-brother who has abandoned logic for emotion.

I write this because I just bought Star Trek 1 and want to go back and watch this, to see how well it really holds up. Easily the most eerie of the 6 films.

I don't even want to his TNG, which made a bunch of interchangeably forgettable extended episodes. There's some hope that the new Star Trek film being done by the Alias guy, JJ Abrams will be, at least, sophisticated and intriguing. As the creator of Alias and Lost and director of MI3, he's at least shown the kind of sophistication that's missing in many ST series, and so it's likely to look quite different and have a different flow from the ST films so far, and that, to my mind, after the TNG films, will be a welcome relief.

This is why I also like ST:TMP, because it pushed the series into areas that were unfamiliar, and occasionally, that's where it ought to go.

Friday, January 25, 2008

End of an Era?

For a while, it looked like Federer would roll on to yet another major final. Up a break, and ready to serve for the set, when Djokovic broke back and broke again to win the first set, and pretty much, all those errors that Federer was making was coming to hurt him. Djokovic started to hit with confidence, especially on serve. His movement was fantastic, and he was incredibly steady.

Federer, on the other hand, was having a hard time moving to his right, and Djokovic was taking advantage of it. Federer's forehand flew a bit on him. And whenever Djokovic was down break point, he'd come up with a big serve, something Federer was unable to do.

Djokovic looked so good, that I wonder how Tsonga, who utterly demolished Nadal, will fare. Yesterday, I was confident that Tsonga would give a huge challenge to either.

In the press conference, Federer didn't feel so bad losing. He didn't feel 100%. I think he feels that had he been 100%, he would have done fine. Indeed, he felt that losing the first set allowed Novak to hit more freely, something he wouldn't have done otherwise.

People are already, minutes after the match is over, wondering if the days of Federer's dominance is over. Federer doesn't seem to think so, and probably plans to retool and think about what happened, and head back to the drawing board.

Dumbing Down?

Joel Spolsky has been complaining about the dumbing-down of computer science education. He's not the only one. Suddenly, out of the woodwork, you are getting folks who are agreeing with this. Is this problem specific to computer science? Do all the other disciplines have great teachers, and computer science awful ones?

There are a plethora of problems with computer science education, and I'll hit some of them myself, but the solutions are, frankly, very hard. Some of the issues are institutional, mired in the way academia views computer science education. Some of it is merely the mission of the university, seeking to educate as many students as possible, and the resulting mediocrity that's sure to come from that. Some of it is due to the incredible faddishness of the industry that pulls everyone in a million directions, and declares that their one obscure area of expertise is what every student should learn (a recent article proclaimed everyone should learn compilers--pretty soon, you hear everyone should learn algorithms or type theory or AI or network security or linguistics).

Let's begin with computer science education itself, and why it's causing problems. Perhaps the first problem with programming is that it's gotten quite complex. Object-oriented programming may seem particularly cool especially when it caught fire in industry in the late 80s, and universities struggled to keep up.

Object-oriented programming is tough compared to the simplicity of C or Pascal (and C isn't that easy either). But we continue to teach programming as if it were C or Pascal because academia doesn't want to admit that programming got difficult, and that two courses aren't enough.

Indeed, traditional CS had two courses for programming: CS1 and CS2. CS1 was learning the basics, which honestly, was control-flow (if statements, loops), arrays, and functions. No classes, and maybe a touch of pointers. CS2 was data structures: stacks, heaps, trees, and pointers. That was all you needed.

CS courses then often taught assembly, which has disappeared (and to be honest, if it returned "as is", it would not give enough insight into low-level programming as some would imagine).

One could easily argue that object oriented programming requires at least a third course to fully comprehend programming in it. A third semester alone is useful for a horrid language like C++ where templates, virtual functions makes reading and debugging a nightmare (and memory management).

And we haven't even talked about threads!

The other part academia hasn't particularly cared for is that software engineering has become a discipline. True, many a department now have software engineering professors, but academic software engineering is a strange beast, often divorced a bit from the reality of real software engineering, and then further lacking the respect from other more mathematical disciplines that have been around longer.

Indeed, many other computer science research areas look at programming as a mere tool, useful as a means to an end, and not an end to itself.

Software developers have to deal with a lot of issues these days. Let's hit a few of the basics. At the very least, you now need to know version control. There used to be RCS and SCCS, which both sucked. Now there's CVS and Subversion, and now a whole spate of distributed version control systems. It takes a while just to understand how version control works, especially the nastiness of branching and merging.

Academics who haven't dealt with version control (fortunately, fewer and fewer) find this subject painful. What does this have to do with programming? And, in a very real sense, they are right. It has very little do with programming, and everything to do with software development. And because it's tool-based, and because we still haven't fully gotten it right, people are going to come up with one system after another, and as soon as you master CVS, you waste time trying to learn git and other bits of arcania just to get by.

But then, there's the new trend (and it is a trend now) towards agile programming. That means unit testing. That means test driven development. That means behavior driven development. And, oh the plethora of tolls. Programming has become so convenient to the masses that the best of them produce wonderful tools. And now, people have to pay attention to their existence! If you were doing Rails development, you might play with RSpec or autotest, tools that are only about a year old, and you'd have to keep your ear pretty close to the ground to keep up. That's tough when an academic wants to do research rather than keep track of the tabloids.

Software development has lead to people using terms like "requirements gathering" and "test document" and "test plan". Documentation has gotten big, even if people routinely do a bad job of it.

Let's briefly talk testing. This used to be something a programmer does. Indeed, it's still something a programmer does. But now, there are separate folks that handle quality assurance, so much so, that it's given the name quality assurance, and there's a whole spate of terminology and tools surrounding testing! And the mentality of testing is quite different from coding. What was considered something a conscientious programmer would do has now become its own discipline, almost worthy of a major.

Speaking of tools, what about usability? The web did a marvelous job exposing the need to write usable software. The average person doesn't understand software so much, and can quickly leave one webpage for another. A webpage has to be visually appealing, yet easy to use, and preferably both. Once upon a time, people figured the only people using programmers were other programmers. Thus, beauty, comprehensibility, and all those things people now care about were a complete afterthought.

Did we mention how faddish the industry is? Right now, dynamic languages like Python and Ruby have caught everyone's fancy. And while those languages make great strides towards wide acceptability, people are already looking for the next great panacea of a language. Whispers of Erlang, Haskell, O'Caml, Scala abound. Even if we stick to Python and Ruby, both have enough magic in it that you can do a lot of non-obvious magic.

And, one of Java's downsides is that it's so verbose that people need a good IDE to write code in the language. You simply didn't need a decent IDE for languages like Pascal. Eclipse itself is so complex, you need hundreds of pages to scratch the surface of what it can do. It's integrated with tools to test, use version control, refactor(!). Things no one much cared about 20 years ago, so that people could focus on, you know, programming (I know--it's all programming, isn't it?). Thus, a good programmer now has to master a complex IDE, and one that's not likely to be around 20 years from now.

Once upon a time, most programs didn't play well with each other. But now, people extend languages all the time. Thus, people write tons of libraries for Python and Ruby. You have to worry about what libraries exist, and how to use them. There are people that now link in other people's code. A good programmer has to locate all sorts of software, and evaluate them and decide whether to use it or not. In the good old days, you'd simply write the code yourself (badly) or simply do with a bad solution (your own).

Oh, what about open source? Want to explain the gazillion variations of open source licensing and what it means to the average programmer?

It's a big world out there. Want to explain internationalization, and how it affects your code? Is your code ready for the world market?

How about handling all those timezones and dates? That also falls under internationalization. As does, of course, Unicode (and that it's not just one code, but a family of codes).

How about databases? You don't talk about all those web frameworks without databases? And web frameworks? And XML? These are now part of the day-to-day toolset a programmer needs to know.

And that's outside of all the usual stuff academics generally care about, like algorithms, compilers, computation theory, AI, bio-computing, numerical analysis, and so forth, most of which, the average developer knows little about.

All of these topics could fill courses and course and courses that a typical computer science department doesn't even want to tackle. Why? Because five years from now, another new trend will sweep in, and people will have to learn again. And will those changes be an improvement? More than likely, not enough to offset the headaches learning it.

Now, here's what I'd love all the critics to do. Teach an intro course. Decide that everyone is an idiot, and tell it to their faces. Then, be told that you still have to get them to learn something, and feel what it's like, what it's really like, to have to get people to learn that don't want to learn. If it will make the visualization easier, imagine it's your own child, refusing to learn, wondering why it's so hard, and why there's so much crap, rather than that superstar you just hired who can't get enough of this new stuff, and can take anything you throw at him or her, and turn out magic.

Spolsky complains about the dumbing down of the curriculum, but it's only because Java doesn't do it for him. He knows that to get the speed he wants, he's dealing with languages that will give it to him. Even he's not crazy enough to believe that coding in assembly will offset the productivity losses coding in something that horrid. Don't you think that if Java ran ten times faster than C++, he'd be hapier to give up all the crap associated with C++. But because he needs stuff that runs better, runs faster, he realizes that his coders have to know these grungy details.

Compare computer science to math, where irrelevant details are left out, and where people learn deep concepts, to computer science, where dealing with complexity has lead us to fads of the day, as good as we have now, but likely to be replaced with something new, and more and more and more code out there that we have to deal with.

Now, let's take a step back. Breathe.

We can teach as much of this as we want, but learning isn't simply a bunch of concepts that you teach. It's a worldview. When you are given a problem, what do you do? Suppose someone tells you to port a device driver. Do you even know what a device driver is? Or what it means to port? And yet, some people can take something that vague, and get code to work, and someone else will say that they were never taught that in college, and how are they supposed to deal with this?

And the fact of the matter is that, as much as the industry complains, unless they are prepared to head into academia (itself, very territorial, and having its own idea about what students need), academia can basically ignore what is being said. First, academia is so distributed that most professors couldn't even tell you what courses are required for their own students to graduate. They barely care about their own class, and don't even think about how their class fits in the overall plan. To get them to work together and make such changes, especially changes that are likely to come every five years, is to against their nature that knowledge shouldn't be a total fad.

And it's contrary to the mission of universities which is to graduate students. Most software pundits would have 90% of computer science majors jettisoned, despite the fact that mediocre programmers are often needed to do a lot of work. They would have their other courses jettisoned, because there's no time to worry about all those humanities and such. If every major took that attitude, most students would not even be in college. Since most universities are in the business of graduating students, then each major has to worry about how to get students who don't understand pointers very well to do well enough to get out.

Imagine it's your job to educate all the students who want to be computer science majors. The mediocre ones and the brilliant ones. Then, your view of what they should learn changes, when you realize that it's hard to even get the basic programming down, beyond all this other crap you have to learn to be decent in the field.

Thursday, January 24, 2008

Tsonga

There is a time when the top players look invincible. They play at a level that seems far above the norm. Even the occasional interloper who manages to play even makes enough mistakes that the occasional advantage won is offset by the silly errors, a case of one step forward, two steps back.

Such an event happened to James Blake who has had no success beating world number 1, Roger Federer. Blake has improved his game a bit, but he relies on the ability to overpower his opponent. No doubt, he was able to get a few good winning shots, especially his newfound down-the-line backhand which gave Federer all kinds of problems. Just not enough for Blake to win. Missed first serves compounded the issue.

Blake has been around for a few years now, and so people are looking to see if he can make that leap up. He's made gradual improvements, but it's tough at his level.

People often say that the players that beat Federer or Nadal will come from the junior ranks. They will learn to hit harder, to hit more bizarre shots, to have more mental resolve. They will draw inspiration from the best, and learn to beat the best. And, at the very least, the human body falters as it ages, and so youth may be served. Witness the surge of one Novak "Nole" Djokovic. Buried in the epic meetings of Nadal vs. Federer at the French and at Wimbledon was Djokovic making the semifinals of both, showing his versatility as well. Again, Djokovic is in the semifinals, and at the age of 20, may be the one that breaks through.

Occasionally, you get someone like Courier. In his case, he had a powerful game, on the same league as Agassi, but he was intense, had to hit all-out, and when things got bad, he hit harder, and missed more spectacularly. It took Jose Higueras to calm him down to harness that energy, so he could play his best.

Such players need time. It's usually more effective to harness a player that has wild talent than for a player who lacks talent to become a better hitter. Easier to teach smarts and fitness than to teach physical coordination and talent.

So it goes with Jo Wilifried Tsonga of France. The last Afro-French player of great note was Yannick Noah, who was mostly seen supporting his son, Joachim, a 7 foot tall NBA player, after his career in reggae singing. He won his one and only Grand Slam title at the French, his home country, and while he continued to play well, his game, for the big man he was, was not enough to challenge the best players of the day.

Tsonga is said to be distinctly Gallic, showing the flair of Noah or perhaps Henri Leconte, another talented Gaul whose inconsistent brilliance was never fully harnessed. With the decline of serve-and-volley, Tsonga's game of sneak and volley might be the modern day replacement.

Tsonga hits powerfully from the baseline and serves with enough power that Nadal found himself being outdueled from the backcourt. But rather than hang with Nadal when he was in trouble, Tsonga would head to the net, and time after time, show his delicate touch. Drop volleys so short that you might as well call them stop volleys.

Or as Bud Collins used to say "Eyedropper". Nadal had had his way with the best Finnish player ever, Jarkko Nieminen, which I suppose is like calling someone the best American soccer player ever. It's good, but still not the best. Where Nieminen managed to use his quickness and hustle to confound Kohlschreiber, the German youth that knocked out Roddick, he was being dealt body blows from Nadal, who pushed him around at will.

Nadal, on the other hand, was barely able to contain Tsonga. When Tsonga would rip an inside out forehand to Nadal's forehand (Nadal, a lefty), Nadal might discover, on his wild attempt to reach the ball, that Tsonga had reached the net, and was volleying his shot out of reach.

It's said that fitness training has made the difference. Tsonga used to rush into the net on a prayer. With stamina, he can now trade rallies, set up, and come in on his own terms.

To be fair, Nadal has never been that comfortable on hard courts, but no one expected Tsonga to play so well. Now he's in the final. Can he handle Federer or Djokovic? Or has this Frenchman made such strides that the question we should be asking is: can they handle Tsonga?

Wednesday, January 23, 2008

On Breakfast

Americans have been skipping breakfast for years. In the rush, rush to get to work, and not wanting to prepare anything elaborate, breakfast has become the forgotten meal. Breakfast has become simpler than ever.

The "traditional" breakfast of eggs, bacon, and toast, has given way to cereal and milk. Not nearly as appetizing, but really convenient.

Except it isn't. There's still many a person who jets out the door, and head to a McDonald's or a Starbucks for the bare minimum coffee to get them going in the morning.

This, after all the ads that used to tell people how you should eat a healthy breakfast before going out, that it helps you get through the morning. Everyone, in theory, understands this is so, but finds the necessity to head to work right off the bat as a time-saver.

But, in other countries, such as (the only country I ever bust out) India, breakfast is still seen as vitally important. People just don't feel right if they don't eat breakfast. And, rather than being the same repetitive cereal, day after day, Indians will often expect variety in breakfast, and not just for weekend changeup (typical Americans opting for pancakes if they choose to make it).

My feeling is that the decline of cooking in general has also affected breakfast. If you don't want to spend 30 minutes to an hour cooking, and would rather pick up something fast in 5 minutes, then even the effort to make cereal might feel too laborious.

In fact, Americans who do eat breakfast don't even think of variety. Too early in the morning. So, they make the same thing each morning. Variety, if it comes at all, might be in the choice of cereal, or the choice of flavored oatmeal.

If you had to reimagine breakfast, what might you do?

Tuesday, January 22, 2008

Heath Ledger RIP

Celebrity deaths in the US aren't the way they used to be. At some point in time, Americans were more innocent, or at the very least, more in awe of movie stars, and saw them as larger-than-life. While that's true, to some extent, today, people are likely to express surprise, rather than profound sadness or depression.

Heath Ledger, unlike say Bobby Fischer or Edmund Hillary, was still pretty young when he died, at the age of 28. Generally, people assume that actors that die young do drugs or have committed suicide. Since most of us don't know the actor as a person, we don't know what happened.

Some argue, perhaps quite rightly, that many others die, whether in Iraq, or other countries (why pick on countries that Americans are involved in) are treated with no fanfare. Clearly, this has to do with the sheer number of people who pass away, and that most of them are not that well-known, and in any case, we'd be terribly depressed if we cared about each one. So, we elevate celebrities. When they pass away, we pay attention.

There's not quite an equivalent of a female starlet of the 40s, especially on the male side. Heath Ledger seemed to fall in this category. When Mel Gibson came across the pond, there was suddenly an infatuation with Australians (although, as it turns out, Gibson was born in the US, but raised in Australia).

Then came a spate of Australians. Russell Crowe, Guy Pearce, Cate Blanchett, Hugh Jackman, and yes, Heath Ledger.

Despite being rather handsome, Ledger opted for roles that stretched his acting skills, while occasionally taking more conventional roles of a starring lead. When he was selected to be in Brokeback Mountain, many thought he'd be the weaker actor compared to Jake Gyllenhaal, when in fact, Ledger was the far stronger actor.

He recently played Joker in the lastest Batman installation, which has yet to reach the theaters.

Presumably, in the upcoming days, we'll hear more, and some people will be curious, and others will be disdainful of a mere actor that got newsplay because he died too soon.

Even so, it doesn't hurt to pay respect to his body of work, and to wonder what might have been.

Sunday, January 20, 2008

Eat, Drink, Man, Woman

Perhaps the one thing that separates man from immortality is food. Well, that and air, and a few other vital necessities. After all, if one is immortal, food is no longer necessary, right?

But so long as people need food to survive, there's a sense that we might as well make this a pleasurable experience. Historically, women seem to do all the cooking. This doesn't prevent guys from cooking, and certainly great chefs of the world tend to be men, at least, when cooking moves beyond the perfunctory need to simple feed one's family, to an art form meant to satisfy kings.

I've been pondering a few things lately. One is arranged marriages. The first reaction for many Americans to arranged marriages is the shock that you'd let anyone, let alone your parents, decide who you should marry. Within traditional cultures, having your parents decide makes the most sense, however. They raised you, they tried to do what's best for you. Who else would even do a good a job as your own parents? One of the commandments say "Honor thy mother and thy father".

Still, many an American teen finds that they argue with their parents, who they feel have an old time view of the world. And what criteria would they have to pick a wife or a husband.

Indeed, that's an interesting question. To answer it, let's ask what criteria people normally have when they are trying to find someone to marry, or even minimally, to date. Usually, one highly desirable quality is attractiveness. It's perhaps no surprise that celebrities, whether they be athletes or actors, seem to pick women that are more noted for their beauty, almost to declare to the public at large, that they've acquired someone stunning. This can be determined by a simple glance.

What if they weren't so attractive? Perhaps a bit heavy-set? But they had a, you know, great personality (when anyone says "great personality", the implication is the person is borderline ugly--after all, why not get great personality, and attractiveness).

And those basic qualities, attractiveness and personality pretty much win out over a lot of things. Sure, you might prefer intellectual compatibility, and often that happens just because you are likely to meet people of similar backgrounds in whatever station of life you're in. But it doesn't have to be a necessity. Indeed, I find people who date where, say, the guy knows a ton about some subject, and his SO knows almost nothing of that subject. It doesn't seem to affect the relationship.

Let's now move this decision making to parents. What might they decide? For a parent of a son, it might be compatibility. Did she study what he studied? If he's an engineer, it might make sense that she is one too. Similar religion? Similar income level? Can she cook? Will she be nice to my son?

Indeed, if parents make the decision, than issues of politeness become far more important, and parents begin to place a premium on politeness for their kids. After all, if the kid is short-tempered, likes to argue, likes to criticize, this will make them far less attractive as mates (especially if women have such traits). Women must, therefore, bear the burden of modesty, yet show grace.

But what parent would want their son to marry a woman that couldn't cook? Surely, cooking must be a minimum requirement!

Throughout the 50s and 60s, with women gaining more independence, being able to take jobs beyond secretary and teacher and nurse, another side effect was that women found themselves working 9-5, and at the end of the day, feeling fatigued, having to cook for their husbands after the daily job.

There was an industry set up to take care of these issues for women, from those who made frozen dinners, to canned foods, to fast food restaurants. And women began to embrace these ideas. It wasn't so important for women to know how to cook, and so many women simply didn't learn. In the meanwhile, as women gained some equality, this meant a larger rate of divorce, and a generation of men scared to get married, and also men who felt it was fine for a guy who knew how to cook.

All that to get to point I wanted to make, and that was my journey to cooking food.

A few weeks ago, when I was at my parents place, I watched a segment off a DVD of America's Test Kitchen. The episode was about two curry traditions: India and Thailand. I decided that the Indian curry wasn't so hard to make, at least, the way they showed it.

The basic recipe went something like this. Cut up some onions in slivers. Fry until brown. Add a ginger-garlic paste by using ginger and garlic in a mini food processor, then add that to the onions, add spices (a cumin, coriander, turmeric, salt mix), add yogurt, add water, and the meat (chicken, shrimp, or beef) and cook. Add cilantro.

When I tried this, the curry was pretty watery. So I got some advice to do things in a different order. Instead of simply creating onion slivers and cooking til brown, mince the onions very fine so it can be the thickener for the curry.

I took this one step further, because I'm lazy. I used a food processor to chop this to a paste as well.

So the new basic recipe I have is to create a garlic-ginger-chili pepper paste by using a food processor (next time, I'll use less water so this paste is thicker). Fry this up, then create an onion paste, and add that to fry up. After five minutes, add spices, then either yogurt or tomatoes (or both), and eventually add the meat to cook.

That's basically it.

The difference between what I did (based on a coworker's advice) was to first, move the frying of the garlic and ginger and chili peppers earlier on. The reason given was to make the garlic taste less strong by frying it longer. A second key was to make an onion paste. Traditionally, one would mince this up by hand into small bits, but it's so much quicker to use a food processor. I suppose you could still keep some parts of the onion as sliver so you can see it in the final result. I've yet to do this.

The only issue after that is what kind of spices to use. Minimally, the spices are cumin, coriander, turmeric, and maybe cayenne pepper (and salt, of course). Certainly, you can add up to another dozen different spices or herbs. You can get away with about 4-5 spices if you want your life simple.

I figure that's a reasonably good base to start learning Indian cooking.

Now, this isn't spectacularly quick, but it's probably quick by Indian standards. I can have something basically ready in 45 minutes. To be fair, a quick Indian dish would take that long too, but I'd say it take closer to an hour and a half to make proper dishes.

Hopefully, I can take that, and make some other variations.

Noah's Arc

Noah Hathaway was perhaps famous for two roles. He played the only kid in the original Battlestar Galactica, a science-fiction TV series, no doubt inspired by Star Wars. Taking bits from Christianity and the formation of the United States, it told the story of how the Cylons (robot creatures) destroyed much of humanity in some remote part of space, leaving (so it seemed) one battlestar (a battleship) and smaller ships running from destruction heading to Earth, hoping they'd find salvation there.

Hathaway was typical of kids cast in TV shows in the late 70s and early 80s. He had a moppet style hair, looking more girl-ish than guy, probably due to the fact that most casting directors are women.

He had one other "major" role: The Neverending Story.

They're showing a rather slow-paced fantasy movie from 1986 called Troll, which was made two years after The Neverending Story.

And, as many child actors, by the time they got to be less than cute, their careers ended.

What's the amusing part?

The name of his character in Troll.

Harry Potter, Jr.

Words Speak Louder

Here's an article by local Washington Post columnist, Michael Wilbon.

Some people who read my blog (so very few of you, overall) aren't much into sports. Americans are said to love sports as much as the folks of any other country, but that's not entirely true, and partly, I'm guessing, due to several factors. First, and perhaps most importantly, sports has been a divisive factor. People classified as "jocks" often make fun of people who aren't good at sports.

"Jocks", now that I think about it, is a pretty unusual term. Colloquially, a "jock" is also known as an athletic supporter. This is a weirdish undergarment contraption whose purpose is to prevent a man's reproductive organs from moving around too much during athletic endeavors. It's probably easier to make an analogy and point to a sports bra, which serves a similar function and prevents a woman's breasts from moving too much.

Presumably, if a man has larger than average testicles ("balls") such movement tends to cause pain if jostled around too much.

Having said that, people (at least, not me) don't think of jocks (athletic types) as "jocks" (athletic supporter underwear devices).

The stereotype of a jock is someone who is on a sports team, most stereotypically, American football, that has some dreams they might make it to the college level, and possibly to the professional level. Stereotypically, they only care about sports, and not about academics, and because of that, many are none too bright, and find harassing those who have less athletic skill amusing.

The point?

The point is that because of jock culture, and because they are many other outlets, from being a geek, to being a theater geek (someone who likes to do plays or the support work behind plays, such as lighting, etc), to yearbook, to a whole host of other activities find they can do perfectly well without sports.

Culturally, India is far more into its only major sport, cricket, and seems to not have a jock culture. Despite a large number of males who love to play cricket, none of their families generally think they can make a real living out of playing cricket, as only those on the national team make money, and the national team is maybe 10-20 players, out of a billion plus Indians. Without a jock culture, and with the average Indian more than happy to ignore work and take an unofficial holiday whenever an important cricket match is up, it's perhaps no wonder that the average Indian (male) is far more intently interested in cricket than the average American male is into, say, football.

But I digress.

My point is the article, and the article has to do with some reporter that talked about lynching Tiger Woods in an alley, meant, presumably jokingly. After all, what does a white woman who probably grew up middle class know anything about real lynching? Mike Wilbon puts down his credentials, saying he knows, first hand, well, second hand through his dad, about the issues of lynching, a term that still burns in his memory. One wonders, in another generation, when lynching is two generations back whether such terms will sear as much as they do for Wilbon.

Indeed, it's often because of this cultural disconnect that white Americans use this term and wonder why African Americans revile at it so much. To one group, it barely registers as anything, perhaps as something historical, and certainly doesn't have the visceral impact. It's just like how some people say "you almost gave me a heart attack" without realizing the full seriousness of such a thing, or "You're a retard" often without truly knowing anyone with mental retardation.

Presumably, the thought of actual lynching is somewhat abstract, as if read in a history book. And the actual word seems to matter. Tiger Woods being lynched as opposed to mugged or beaten up or some other word. It's not even the more evocative "string him up on a tree", though apparently, a noose was pictured. So it feels that these actions are fairly deliberate.

Funny enough, many African Americans have come to defend Kelly Tilghman, the white woman who uttered the phrase, especially many who know her personally. A picture of Tilghman graces the article, and, by American standards, anyway, she appears to be a rather attractive woman, which seems to be a huge asset in the sports reporting world. What's sexier than a woman that knows sports, can speak intelligently about it, and is borderline hot? What sports reporter, who often, more than, say, their hardcore news brethren, have to announce their sexuality, wave it like a proud flag, announcing, that yes, Tony Romo was right to go to Mexico with one-hot-what-does-she-do-exactly Jessica Simpson because testosterone is always a good motivator for male actions, what person like that might not introduce herself to Kelly Tilghman, get to know her personally.

Oh I don't mean that such reporters would do anything disgraceful. Do cops that pull over beautiful women and let them go with just a warning do so because they think they will bed them? In reality, they're happy with something much more mundane. They're happy to do a beautiful woman a favor, that this brought some happiness to them, and therefore brought some happiness to themselves.

Wilbon's careful to shove the blame to someone else to protect the person he cares about, and places it on some corporate entity. Maybe they wouldn't have been so insensitive if they had some African Americans working as part of their staff vetting such comments. What does it say that Tilghman, a person I've never heard of, who apparently counts many African Americans as her friends, didn't have the same advice. "I just didn't know". Is that the excuse? Perhaps she knew the firestorm it would bring, and that it would make her name more well-known, perhaps vilified for a while, but that's why it's good to have friends in high places.

But the point is not that either.

It's down to some retort that many of us grew up hearing.

Sticks and stones may break my bones,
but words will never hurt me


We say it, but it certainly isn't true. The "N" word is still potent enough that people feel the need to call it the "N" word, as it must be left unsaid, despite the fact that, in its ultimate irony, it makes the word even worse. I suppose there's even the "F" word (for "fag"), but not the "S" word (spic?), and so forth.

Dalits (the PC term for untouchables) are often derided in a culture that still permits those of higher castes to denigrate those of lower castes, showing the human propensity to de-humanize other humans (towel-heads, and such).

Do words matter? Indeed, they do. But it's a sad commentary that people can't get beyond words and claim it doesn't hurt them. The real issue is the insult hurler who feel the words can hurt, and often use them to hurt folks.

It's funny how this most revolutionary of human inventions, language, has the power to inflict as much pain (albeit of an emotional type) than sticks and stones, and in its own way, possibly moreso.

Saturday, January 19, 2008

R-Fed

Janko Tipsarevic now knows what it feels like to be Alex Corretja. Alex Corretja had a chance to beat Sampras in the quarterfinals of the 1996 US Open, with Sampras puking his guts in the flower bed at courtside.

Tipsarevic showed nearly no nerves in five sets. Going down break point after break point, managing to fend off 15 break points, hitting big serves and big groundstrokes, trying to knock of Roger Federer. He took the first set, then the third set, and held even with Roger Federer.

Federer, for his part, often generates far more unforced errors than one might expect. He hit some 80 winners, but was offset by 60 unforced errors, many off attempts to hit backhand winners.

Still, Federer was holding his serve pretty easily, and you felt that Federer, despite not having much success breaking Tipsarevic (except the fourth set), felt supremely confident holding his own, only having seen three break points all match.

The final score read 6-7, 7-5, 5-7, 6-1, 10-8. Tipsarevic had the game up in the fifth set, and at 8-8 all serving for 9-8, Tipsarevic went up 40-0, only to have Federer pull it back to deuce, and eventually achieve a break. Federer played a somewhat nervous game to win 10-8.

The fifth set looked like it would go on forever. Federer generally holding much easier than Tipsarevic, but having a hard time hitting good shots against Tipsarevic.

Still, this has to give Tipsarevic more confidence that he can play toe-to-toe with the best in the world. Still, you have to feel Federer didn't play his best, but still won. In particular, he made a ton of errors, despite serving a ton of aces (around 40 aces), the most ever in his career (he's no Kevin Curren or Andy Roddick, but can crank out a decent number).

This is where being number 1 helps. You have the kind of confidence to keep hitting good shots even when a player is playing as good as he can and not buckling until the end.

All in all, a fine match and a fine debut for the second best Serbian male tennis player in the world.

When I'm 64

It seems like so much ancient history.

Searching for Bobby Fischer came out in 1993, which is now 14 years ago. And that was some 20 years after Fischer battled Spassky in an epic match in 1972. People forget that he was only barely 30 when that match was contested.

It was the height of cold war. The US was trying to play catch-up, with the Soviets having dealt with the first blow with Sputnik, leading Kennedy to famously issue a challenge to put the first man on the moon. And the Russians, were they ever good at chess! Americans weren't even really so competitive against the powerhouse Russians.

But Bobby Fischer was an unusual one (did he even go by Bobby, or was it some holdover from Bobby Kennedy?). He was a star junior player, the youngest American to win a junior chess title (at 13). Fischer played good chess throughout the 1950s through the early 1970s.

His victory over Spassky was symbolic, giving Americans hope that during the cold war, when it looked like the US had the weight of the free world on its shoulder, that somehow Americans could beat the Russians at their own game.

Then, he disappeared. Not literally, but certainly from the chess world. He grew increasingly paranoid, and frankly, bizarre. He rarely stayed in the US, eventually becoming an Icelandic citizen.

He only surfaced once again to play Spassky in 1992. Spassky! Was the man still alive after all those years? It probably said something that he challenged an old competitor rather than the best the world had to offer. He didn't try to play Kasparov and any of the top competitors of the day. It only showed that he could still beat someone that was his contemporary after all those years.

And he'd go back to obscurity, where he'd tried to evade the law. The US, apparently, had a law, passed by Bush senior, that said its citizens couldn't visit Yugoslavia, where this match against Spassky took place, and the US wanted to arrest Fischer for this. While visiting Japan, the Japanese held Fischer waiting to extradite him to the US. At this point, Fischer appealed to Iceland to become a citizen, which did eventually succeed because they felt the US and Japan were unfairly persecuting Fischer (which in hindsight, it seems very true).

As much as Fischer was initially criticized for his remarks about Sept 11 (where he noted that the US got what it deserved, partly because of its actions in the world) as being a unsympathetic and un-American (and perhaps the reason the US government seem so intent on having him arrested), his observations, deemed a bit crazy at the time, seem to be much more mainstream (although the sentiment of his views still stick to this day).

And he was only 64 when he passed away, with the vast majority of the career he was so famous for, more than 30 years ago.


Will you still need me? Will you still feed me?
When I'm 64?


It seems, now, there's no longer a need.

Rest in peace, Bobby Fischer.

Tipsarevic

In the 80s, shortly after Borg retired, there was a spate of young Swedish tennis players that dotted the top 100 players. This, from a country that barely has 9 million people. 9 million! The United States has something like 250 million people, which is over 25 times as populous as Sweden.

And yet, Sweden cranked out players like Mats Wilander, Stefan Edberg, Anders Jarryd, Henrik Sundstrom, Joachim Nystrom, and perhaps half a dozen others. While these players claim to have drawn some inspiration from Borg, who was Sweden's star player from the mid 70s to early 80s (probably the height of tennis popularity, due, perhaps as much to an exhibition between Billie Jean King and Bobby Riggs, as to anything else in the game).

But Borg was a loner. He played Davis Cup rarely, except at the beginning of his career, and kept his distance from most of the rest of the Swedes, who were all best buddies and rather modest about their considerable achievements.

This success was mostly confined to the men's game. You can hardly name any Swedish women players.

These things seem to go in cycles. The Spaniards have done well since the 1990s with players like Sergei Bruguera, Carlos Moya, and nowadays, world number 2, Rafael Nadal.

But the country du jour are the Serbians. The Croatians have done well, most notably, Goran Ivanisevic. However, their Yugoslav counterparts have only had a good player in Monica Seles, and she often hushed up about her heritage, as the Serbians, at the time, were into some ethnic cleansing, which is basically genocide.

But, you know, Americans barely register this kind of thing when there are no images being blared in their faces, and when it's, you know, over there, overseas. Americans are so American-centric that they barely pay attention to starvation in Africa, conflicts in Europe, atrocities in Southeast Asia.

Even as Americans have learned to become far more aware of the world, understanding this phenomenon called Bollywood, the burgeoning Indian film industry, being more PC, there's still a lot of the world Americans willfully ignore, with the news media more than complicit in this jingoistic fervor.

So, with these past events firmly in the past, Serbian tennis has enjoyed a resurgence. It's really hard to call it a resurgence given that Serbia was part of Yugoslavia, and Yugoslavia was the rebel child of the Communist countries, and many Soviet bloc countries avoided playing world tennis for many years, until the mid 80s, when players like Andrei Chesnokov, Andrei Cherkasov, and most importantly, Nathalia Zvereva, who famously waved a winner's check on national TV, a check she said she couldn't keep because of the Russian federation, which eventually yielded fewer restrictions, more take-home pay, and eventually, Russians back in the top ranks of tennis.

In those days, you had Bobo Zivojinovic and Monica Seles, and they were the forefront of Serbian tennis. These days, you have Novak Djokovic, but you also have Janko Tipsarevic who is giving Roger Federer all he can handle.

He looks a lot like a grungy Novak, with his funky glasses that resemble racquetball glasses, and his scraggly facial hair, almost as if Djokovic put on a disguise and came on court. Tipsarevic is three years older than his 20 year old compatriots.

Many Serbian players train outside of Serbia, having gone to Europe or the United States. (By the way, there have been a ton of challenges by Tipsarevic, who has won a surprising number of them).

While the men have fared quite well, the women have done even better for themselves. Ana Ivanovic is ranked number 3. Jelena Jankovic is ranked number 4. True, there's no other player til you reach about the mid 200s, but having two top ten players in the women's and three players in the top 100 (barely), with a population that's maybe a million people more than Sweden, and you realize that this is quite an accomplishment, especially as many have had to train outside of Serbia.

Occasionally, you have a player like world number 1, Roger Federer, who comes from a country (Switzerland), that is more famous for chocolates and cheese than for producing top players, and you wonder, where the heck are the other Swiss players? There's Roger, and that seems to be it (not entirely true, but other players pale in the glow of a dominant number 1).

But give this to the Serbs, they've got a lot of fight.

This is one reason (other than a nap late in the evening) that I'm watching a Federer-Tipsarevic match that has already gone to two tiebreaks, and one where Federer has ample chances to break, but hasn't fared really well.

Best Of Youth

A co-worker, whose probably about 30 or 31, noted that his sister was about 5 years younger, which would put her at 25. When you are an older brother, and your younger sibling is younger by that many years, there's, I'm sure, a perception that she's your baby sister, someone much younger. When you go to school, you note she's 5 grades back, and that's a lot of years.

He was telling this to another co-worker, just out of college, and figuring that
he is 7 years older. This, of course, means his sister is two years older than the recent college graduate. It's just that, after you reach about your mid 20s, then you look about the same age for some ten years, provided you don't lose your hair.

I've long since gone through that phase with my own brother who is less than two years younger. Given that I'm pretty old, my brother is likewise old, and so this exercise in age difference is even further pronounced. I'm starting to be in the neighborhood of twice the age of the college kid, so I don't even make the comparisons to my brother's age as this is now starting to be trivially different from my age.

I've been watching tennis since I was just a teen, which is now around 30 years of tennis. New players come around all the time, even surprisingly good players. The new player of last year was one Novak Djokovic.

Djokovic (pronounced, as best I can muster, as Joe-ka-vitch) looks pretty mature. Mature game, a bit of a joker, but ready to handle the pressures of being number 3 player in the world.

He's also 20.

Twenty!

I am pretty much twice his age. In some weird alternate universe, where I have some affair mid-college, and had a kid, that kid might be Djokovic's age now!

These days, I don't think about that age thing. I don't think about those college football players who seemed so old when I was an early teen are all about half my age.

And obviously, with these sports being a young man's game, it's only going to be more pronounced as I get older. But there's something that happens when you're closer to my age than 30, which is you start not to care. They are merely young, and you are merely old, and life goes on.

But damn, they're young.

Wednesday, January 16, 2008

Programming is Easy

I was asked recently whether I thought I was a good programmer. I responded, it depends on what you mean by a programmer. I talked to some folks who told me "programming is easy". Somehow, I think their definition of what programming means is different from mine.

In particular, I think they thought programming was knowing loops, arrays, pointers, and functions. Except for a few really gnarly bits, those parts are pretty easy (though you can find people who find those concepts, especially pointers, very confusing, so if it weren't easy, they wouldn't even be in the conversation).

But suppose they were told, this program runs slowly, find out why. Is that programming? They might argue, no it's not, because it's not about writing code. It's about something wrong in a nebulous situation.

Or how about this code doesn't compile? Is that programming? Programs might not compile due to a syntax error. Or a missing library. Or something much weirder. But they might argue "I didn't write the code!". You might retort "but programming is easy, so can't you read what this person tried to do?".

In fact, if you learn programming, you often don't hit these "non-programming" issues. Oh occasionally, you do, but you might say "it's not programming" and expect someone else to figure it out for you. Most people would say you aren't much of a programmer.

Programming, in its purest form, is basically about computation and memory. You have a bunch of variables. You have ways to compute, compare, move the data around.

But reality is different. In particular, most programs require inputs. That might be from a user typing in something. Or it might be from a file. Or it might be a file from some URL. The file might be a video file and you need to decode it plenty fast or it jitters or drops frames.

The input might come from a GUI button. But something goes wrong. Are you willing to read the nasty source code that makes up the GUI to understand what's going on? Or do you say "Why can't these people get their code written right?".

Even if you think programming is about syntax, most languages have some implementation that doesn't work the way you think it does. You assume one thing, but that assumption is wrong (like a compare function returns -1, 0, 1 instead of negative, 0, positive) or you think a compare function returns a boolean. Or you use OR when you meant AND.

Look at C++ templates, and things can get really hairy. It can be difficult to comprehend why a C++ string is a parameterized type taking three (count them!) parameters. Here was a case where someone wanted strings to be both containers and strings. While this has some advantages in unusual situations, it makes the common case a pain in the neck.

And tracing code that uses dynamic dispatch? A pain. And threaded programs? Evil. And tracking memory leaks? Horrors.

All these are beyond the simple assignment statement, the simple conditional, the simple function.

The universe, don't you know, is made up of atoms. And yet, these atoms can behave in an incredibly complex way. For example, all of life. Or skip that. What about stars? Or black holes? Or dark matter? Or how clouds form? Physicists try to come up with theories on how stars behave. All from a bunch of atoms.

Programming might consist of simple stuff, but people can put them together in incredibly complex ways, and because millions of little operations can run in a second, it can be really difficult to determine what's going on. How do you know what the code is doing? In theory, you can follow each and every step, but like tracking hundreds of kids in a school, it becomes an exercise in futility.

Next time someone tells you programming is easy, you probably are talking to someone that's not very good at programming, and doesn't even know it.

Or they're working with a much different definition.

Or they're a genius.

But probably not.

Perfect Day





The above are three videos. The first is a fan video. It's not spectacularly well-done, but would some people enjoy it because it's "real", that the people in the video could be some cute girls you saw in class? The second one, done by the original group shows more professionalism, as might be expected from a professional band.

The tune itself is rather infectious, and I happen to like it, though I can see where it might get irritating after too many listens (apparently used in Legally Blond).

The tune reminded me of the third clip from Harvey Danger entitled Flagpole Sitter which had some airplay when it was popular. I couldn't have told you either the artist nor the song title. I had to search it via lyrics.

Tuesday, January 15, 2008

Currying Flavor

Oh, punning on the word "curry".

I've decided, given there are a few Indian coworkers, that I'm going to give a hand at making some curry dishes. I've tried cooking Indian food in the past, but usually, to mixed success. Many years ago, when I first tried cooking Indian food, I had no idea what the result should taste like.

I did get some practice because I had a Muslim Indian friend (more Indian, than Muslim, but that is belaboring a point) who often would cook dinner for me and another friend, provided we'd help him cook. This usually meant dicing onions very finely. He was pretty fond of beef, but Indians, at least the meat-eating variety, prefer the meat gets infused with spices. They're very sensitive to "raw" meat taste (or presumably, even cooked meat taste) which Americans, I would guess, are fond of, as they tend to only minimally spice their meats (salt and pepper being this minimal set).

Alas, despite the many times I assisted, I never quite remembered what went in the dishes. Onions, ginger, tomatoes were as much I vaguely recalled, and that it took quite sometime for the meat to take on the flavor of the spices.

Today, I tried a recipe from America's Test Kitchen, which is a PBS show hosted by Christopher Kimball. He's also the editor of Cooks Illustrated, a magazine that looks like other fancy cooking magazines like Saveur, but is really far more pragmatic, and engineering-oriented in its approach.

In particular, these guys don't just give you recipes. They tell you how they arrived at the recipe, having experimented with 10-20 recipes before finally settling on the one they illustrate. Do these always provide the best recipes? Hard to say. But the innovation of this magazine is to make you realize that experimentation is worth the effort when it comes to finding the right recipes.

My brother gave me Season 6 and 7 DVDs of America's Test Kitchen (I suggested it to him that I wanted this series since we've mostly given up on surprising the other person and merely get something they would like). In one of the episodes, they did two curries: Indian and Thai.

You'd think the Indian curry might be more challenging, but the Thai curry was quite complex.

Oh, I suppose I should explain something I've known for a while. There's no such spice as "curry". Curry is an amalgamation of different spices. Indians typically refer to such spices as masala, the most famous being garam masala.

Masalas can be made from up to a dozen different spices. They can be selected from: cumin, coriander, fenugreek, cardamom (two kinds, green and black), cloves, cinnamon (which is mostly for savory dishes, not sweet), turmeric (which gives curry its distinctive yellow color), asafoetida (also known as hing), nutmeg, fennel, mustard seeds. This isn't even hitting chilis and salt! Or "wet" ingredients like ginger and garlic (which they share in common with Chinese cooking).

Most Indian recipes can be rather daunting. The spice list itself can be 8 or more of the ingredients.

I try to find simpler recipes that require maybe 10 ingredients total, and can be cooked in under an hour.

I tried the rudiments of a shrimp curry recipe, but replaced the shrimp with chicken.

Here's the basic outline of the recipe. Take an onion, cut it into slivers (but not diced). Heat oil, and brown the onions, about five minutes. Add tumeric (1t), cumin (2t), coriander (2t), salt (1/2 t), then add 1/2 cup of yogurt, and a garlic/ginger paste (4 cloves, 1.5 inch ginger, food processed with about 1/4 cup water or less). Once this cooks, add cilantro (coriander leaves) and water (a fair bit) and a jalapeno. Sit for 20 minutes. Add shrimp.

I asked Isha for her opinion. She suggested that I mince the onions because slivers wouldn't create a thick consistency (chopped onions can create a thicker consistency). She suggested frying the chiles at the same time as the onions so the spiciness would be sure to be in there. She didn't care for the garlic-ginger puree, preferring to mince them. She also noted that yogurt and tomatoes typically serve interchangeable purposes, in particular, adding a tang to the dish.

I tried part of her advice. I added two jalapenos instead of one, and fried them with the onions. I did the puree only because I was lazy, and for the most part, that was pretty quick.

The problem I ran into? First, the dish wasn't particularly hot. Even with two jalapenos, I found it to be pretty mild. Second, I added a half cup of water, and that made the result pretty watery.

I might try using the food processor to create an onion paste, and give that a try, instead of chopping and mincing. Furthermore, I might try a hotter chili like a Thai chili.

It tasted all right, but still, something was missing.

Sunday, January 13, 2008

Faith and Hope in Charity

I have a friend who works at a company specializing in charities. Not in any one particular charity, but in many of them. It's a little bit like Esurance, that website that allows you to pick one of many insurance policy (from, presumably, multiple companies). The idea is pretty simple. You pick the charity you want to give to, and you give to it. They serve as a kind of middleman, providing some Webby widgets that can be attached to a blog or somesuch.

Here's the problem. People don't like giving to charity. I mean, not with the same passion that they want to give to other things, such as food, electronic goods, even presidential candidates.

I suppose the problem with charity is that people want to know it's doing some good, and yet, they don't have so much time to really pay attention to how their money is actually doing. Then, there's the fact that most people prefer things that benefit themselves first before it benefits someone else in some far away country.

People are, however, willing to contribute if it somehow combines something they care about. For example, Dulles Airport sponsored a plane pull. You get a team of twenty to contribute about 20 bucks, and they can all have an opportunity to pull a plane maybe twenty feet.

It's an odd task, but something a team could do, and there's some fun, despite the oppressive heat. And you can say that you are doing all this for charity.

Somehow combining something fun with charity works better than simply giving money to charity. For example, many people like video games. So why not have a competition on the Web (say, Worlds of Warcraft) where you play in a tournament, and part of the proceeds go to charity? Or how about online poker with charity?

For that matter, despite the fact that most charities try to maintain a wholesome image, why not work with the porn industry? People love porn, and spend money like crazy. Is there a way to combine the two? It seems like an odd combination, but why not?

The point is that charity, in and of itself, is not hugely motivating to most people, and that people can be motivated by other things, and then have charity as part of that. It seems like you just need a bit of imagination to make that happen.

Religion and Motivation

When I used to teach, I would notice a few students who went to church. In particular, I'd notice that there seemed to be a larger than normal percentage of Catholics that did well academically. It made me curious why.

I don't have definitive answers as I don't spend a great deal of time researching this idea, but one big idea in Catholicism is confession. I don't know how often one must confess, but the idea, as I understand it, is to go the priest (I never get the official titles of religious figures correct, so replace it with the appropriate one as needed) and confess sins.

Ah, sins. Sins are important to Christians, but only Catholics (so far as I know) are into confessions. So if you're a good kid, a good Catholic kid, then you're always feeling guilty. Should I do this? Should I do that? You look at other kids, possibly even other Catholic kids, who are, in your estimation, sinning, and you have to craft some worldview that makes you wary when you commit sins, and forces a sense of guilt, and presumably condemns those that aren't nearly as observant as you.

I have a friend who always seems to apologize for things, mostly things he didn't do. He was raised Catholic, and so I have to feel that this sense of guilt and sin still influences his personality, even now.

On the flip side, there are those who are raised in such an environment, and basically reject it, finding all this sin and stuff rather silly, but presumably after a phase of where they thought it was sensible.

The other religion that seems to emphasize guilt, but mostly through culture, is Judaism. In this case, it's the Jewish mother, who says she slaves at the stove to cook you your dinner, while you live a life of relative ease. Don't you feel bad for your poor old mother, and so forth.

Does guilt work as motivation? I mean, it would be nice if people accomplished things because they were inspired, possibly even divinely inspired to do so, but is guilt of eternal fire enough to motivate good kids to accomplish what they need to?

Now, I don't want to say that religion is the only source of motivation to get things done. Certainly, there are people who have accomplished a lot despite a lack of religion. Yet, I've also met people who have accomplished a great deal, who themselves aren't particularly religious, but whose parents are, and who, for a period of time, were also religious, before they rejected it.

Would they have been as successful had they not gone through that? Had they not been raised religious, and then rejected it?

Having not been raised religious, it makes me wonder how religion has affected people, in terms of personal accomplishments.

I know. It seems weird to combine two things like that. Religion is, one presumes, supposed to enlighten you, in some fashion. Personal (academic) accomplishments seem, for the most part, a secular pursuit. But that was a thought I had sometime ago, and only now have had a chance to write about it.

Friday, January 11, 2008

Thinking in Tennis

In most sports, you spend the beginning few years or so learning mechanics, meaning, you learn to be conscious of what you do. Some people care about mechanics, that is, the exact motion that you make to be most effective. Others simply do, and sometimes they get lucky and they don't think much anymore after that.

I fall into the category of folks that think about my strokes all the time. My forehand is all right. I can get good topspin on it. However, I lack any power on that side, so I've watched various pros from Federer to Blake to Djokovic to Agassi trying to see what I'm doing wrong. Watching pros can only take you so far because it's hard to catch the minutiae of what they do. It helps to see it live where the full 3D effect can be seen, but even then, the speed is so fast you don't catch many of the tiny things that happen, which they might not be aware of.

For example, maybe a pro holds the racquet incredibly steady at impact, or they are more relaxed, or something. Those are things you really can't see.

So my main problem with my forehand is getting enough power on the shot.

My backhand is more of a mess. I'd like a pretty heavily topspun backhand too, but that seems harder to achieve. I hit it fine moderately flat, but for some reason, I'm into the topspin.

The latest thing I've read is to treat the two-handed backhand as an off-hand forehand (for me, a lefty forehand) with the dominant hand (my right hand) as a support. When I was learning it, I did the opposite, treating it like a one-handed backhand with the top hand for support.

But in hindsight, that makes no sense. If the forehand is more dominating, then you should learn to hit a lefty forehand.

It's going to take some time to learn that, but I'm hoping it will yield results. And to think, I've been thinking about the two-handed backhand the same way for years. I've never really given the idea of a modified lefty forehand as the way to hit a two-handed backhand.

Now to get on the court and give it a try.

If only it weren't raining.

Wednesday, January 09, 2008

Backhand Blues



Most of the times, I'm happy enough with my forehand. My main complaint is that I don't hit it hard enough. This isn't usually an issue, except on the rare occasion I'm playing someone with a good deal of power.

But my backhand.

I used to hit a one-handed backhand, then I switched to two hands. And I've tried so many variations. I remember reading about the Mats Wilander backhand. Whoever was commenting on it pointed out that it was basically a one-handed backhand with the upper-hand for support.

The above video advocates the opposite. Think of it as an opposite-handed forehand, with the dominant hand for support. Since I'm a rightie, I'd have to imagine a lefty forehand, and use the other hand for support. I think I'm planning to give that a try.

This is really the amazing thing about tennis. There's always someone that has some advice, and something you can try on the court. So next time I'm out there, I'm going to give it a try.

On JavaSchools

Joel Spolsky is at it again. He's commented on so-called JavaSchools. He says that the transition to Java as a language for teaching programming is producing worse software engineers. Boo hoo!

He points to these other guys that do work on Ada, who are interested in finding coders that do systems programming and security programming, and wouldn't you know, they don't have the right skills to be hired for this rather specific kind of programming. And like parents who complain schools don't do a good job of teaching, but feel no inclination to do any teaching themselves, these companies whine that the graduates being produced aren't up to snuff, but aren't particularly interested in making up the difference.

Now I like Joel. I've met him, and he seems like a nice guy. He doesn't seem full of himself. I understand where he's coming from. He sees the programming world a bit like the NBA. In the NBA, only the very best survive. Many people can't cut it, and they do rather badly, scraping by, making a living playing in minor basketball leagues in the US, or perhaps playing in Europe. He knows that the best software is written by the best of the best, and lucky for him, he doesn't have to pay NBA salaries to get this quality.

I'm sure he's never had to teach an intro course, where he's responsible for getting the students to learn as much as they can, given that some lack the intellect, the drive, the tenacity to be great programmers, where, given this situation, he must still try to get these kids to be the best they can be, even if this is far, far removed from what he wants.

Would he scream to the heavens "Don't you understand you're incompetent? You can't slam dunk. You can't hit a reverse layup. You can't leap from the free throw line to make a dunk. You can't do a no look pass. You have no coordination at all" or the equivalent of this for programmers.

The fact of the matter is that programming is tough, and that teachers of programming want to believe this isn't the case. I've taught classes where students are frustrated learning about pointers and memory management and recursion and design of classes and linked lists and trees. It is so difficult, so challenging. And they spend so much time trying to track down bugs. It's as if they were learning to drive a car, but the car had all these kinds of issues that force you to actually look under the hood and do all sorts of adjustments, all sorts of repairs, instead of sitting down and enjoying the ride.

Say it, Joel! Go in front of those students at Cornell, at MIT, at Duke, and tell them that half of them (at the very least) aren't worth your time. Tell them to find a new major. Tell them they should not be programming.

Oh, perhaps this isn't the case. Maybe he is sympathetic to the programmers that aren't at the top of the heap. That they want to make a living too, even if they aren't brilliant. Maybe he feels they can have a job, just not at his company. But now the JavaSchools, as he points out, don't have the experience he wants, and now, darn it, he can't identify them.

So what to do? What to do? If the schools won't teach them programming, then he has to. Ah, but only one man! How can he possibly teach, because he might need hundreds, thousands to be taught, before he finds the few he cares about. Clearly a waste of time.

Well here's the news. There are enough professors, enough teachers, who saw the amount of time students wasted trying to deal with memory leaks, trying to deal with complex data types, trying to find errors that Java made literally trivial, so they could finally get on to actually programming something meaningful instead of dealing with arcane issues of a language that wasn't so friendly, that I'm afraid they aren't going to go back to C++.

Java, whatever its flaws, has managed to allow students to program something meaningful, and were it super efficient, maybe Joel would be using it too.

At least he's not clamoring for people to code in assembly. Remember when people wanted students to do that too? Students don't understand the machine! They need to code in assembly! What a travesty that they are so far removed from the machine! The horror!

Joel can lament as much as he want, but his solution is going to have to come from somewhere else because teachers aren't teaching to the best, but to the average student, and the average student is going to do more in terms of something rewarding in Java than in C++.