rc3.org

Strong opinions, weakly held

Month: December 2006 (page 1 of 2)

2006 Predictions, revisited

I was looking at my 2006 predictions today, and find that they were mostly correct, but that they lacked audacity. The predictions were:

  1. The mindshare of Ruby on Rails will grow relative to other Web application platforms, in spite of the efforts of devotees of other platforms to come up with their own Rails alternatives. I have a theory about why this is that I’ll elaborate in another post.

* Identity theft by way of stealing databases of personal information will continue to grow explosively. I think there’s still plenty of low hanging fruit out there for fraudsters and I think that this year we’ll see the back ends of large Web sites get hacked and see their customer databases stolen by fraudsters. * Wikipedia still won’t be accepted by the academic and journalistic mainstream. The way wikis operate is counterintuitive enough that the establishment will reject it even though it’s obvious that it basically works. * JavaScript will be bigger than ever. The trend toward pushing functionality back from the server to the client that got rolling in 2005 will continue to grow. Hopefully Internet Explorer 7 will be good enough to fuel this trend. * The blog phenomenon continues apace. I don’t have a specific blog-related prediction, but my guess is that we’ll continue to see more big Web sites add blog-like features, and that more people will try to make their living writing blogs. The raw number of blogs will continue to grow explosively. (I guess I’d say that blogging is a trend, not a fad.)

Let’s rate them:

  1. Ruby on Rails has really taken off, and frameworks that seek to capitalize on/head off the Ruby on Rails momentum have been in the works. Thanks in large part to the release of Mongrel, a better tool for deploying Rails applications, Ruby on Rails has done very well.

* Most of the big identity theft stories for the year were about database theft, however, most were of the traditional lost/stolen laptop variety. This UCLA database hack is more in line with what I predicted. * Probably mostly correct. Wikipedia is bigger and better than ever, but the mainstream does still seem to be dubious about it. That said, I see Wikipedia being cited now more than ever to settle arguments. * 2006 was a banner year for JavaScript. So much so that I think this prediction scores 9/10 for obviousness. * Correct, but obvious. The fact that the Economist has launched a blog and hired a well-known blogger to edit it pretty much says it all.

Not bad for my first set of predictions. I’ll try to come up with some predictions for 2007 next week.

Comparative history

I was reading about Thrace in an article in National Geographic, and wondered about whether a resource exists that provides a comparative timeline of ancient history for many known civilizations. Or why not all of them? For example, Wikipedia has a timeline of Chinese history. There’s also a timeline of the Persian empire that looks completely different. You can piece together timelines of many other ancient civilizations in a similar fashion using information in Wikipedia and elsewhere.

What I think would be cool is a resource that cross references among many civilizations, making it easy to find out what was going on in, say, India when the First Punic War was being fought by Carthage and Rome. (India at the time was ruled by Ashoka the Great, who was the first Indian emperor to embrace Buddhism.)

Wikipedia does have various time-based views of data. Here’s the page for the 3rd century BC. I think, though, that a better resource could be created (probably within the context of Wikipedia). I’m going to give it some thought.

Escalation

There’s another word to describe the “surge” in US troops stationed in Iraq that President Bush seems likely to authorize. That word is “escalation.” I think it’s a much more accurate term. President Bush decides how many soldiers are sent to Iraq. Circumstances dictate when they get to come back.

The idea that this surge is temporary is contingent on the fact that the desired effect will be achieved. If we send 25,000 more troops to Iraq and Baghdad 2007 is more violent than Baghdad 2006, I don’t think that President Bush will go on TV and tell us that the surge strategy was a failure and that those troops are coming home. He’ll either tell us that the surge must be continued because it’s working more slowly than anticipated or that further escalation is dictated.

One proposal that’s getting lots of press recommends sending up to 50,000 more troops to Iraq for 18 to 24 months. Does that sound like a temporary surge to you? It sounds like escalation to me.

The US started this war under the pretense that it was going to be a quick liberation that would be over soon and cost us nothing, thanks to Iraqi oil revenues. Now, after almost four years of war, the same people are trying to sell a massive escalation of the conflict in the guise of a temporary surge to secure Baghdad. Don’t believe them.

Blog-media cliche report

How do I do at avoiding the blog media cliches catalogued by Gawker? Let’s see:

Best. [ultimate thing or experience.] Ever/Evar. Minor violator. I’m totally clean on “evar” but I can’t say the same for a couple of people who’ve left comments.

FTW, O RLY, lol, FTL, OMG, FWIW, btw, PWND,ROTFL, etc. Totally clean.

[negative experience, situation, or description]; I just threw up a little bit in my mouth. Totally clean, but I do occasionally use this one in conversation.

[purposefully non-ghetto statement], yo. I’ll see you in hell first.

[undesirable conclusion]. Oy. Not me.

[amazed paraphrase of opposing position]. Seriously? Seriously? Never. Looking at an archive of my use of the word “seriously,” I see that using it even once is nearly always excessive. It adds nothing.

What’s next? [outlandish scenario]? Used four times, including once in 2006. Guilty.

I’m looking at you, [example of complaint]. Never.

Um, [condescension]? Used once in 2005.

[Argument], wait for it, [rhetorical flourish]. Not me.

[Undesirable experience] made my [sensory organ] bleed. Unused.

[adjective]-y goodness I haven’t used it, but I use “thank goodness” way too often.

[any word]-gasm This site is a gasm-free zone.

[x] is the new [y]. Used four or five times over the years, without regret.

Never let it be said that I fear accountability.

Rules are made to be broken

If you develop Web applications, you should definitely check out this presentation from Randy Shoup and Dan Pritchett on how eBay scales, not because you should do things the eBay way, but rather because it is a great illustration of how there’s an exception to every rule. When you deal with the traffic and transaction volume that eBay does, the rules that we all play by change radically.

For most applications, performance problems arise when your Web pages execute too many SQL statements, and the solution is to sufficiently index your database and use joins wherever possible rather than running additional queries. For example, one common misuse of object-relational mapping libraries results in the “n + 1 selects” problem. When many instances of an object are displayed on one page, the library runs separate queries to retrieve dependent objects, which leads to performance problems. Any decent ORM library has a way to include dependencies in queries for that reason. While most developers spend lots of times trying to retrieve more data using fewer queries, eBay eschews joins. I’d assume they compensate with a lot of caching, but I’d love to hear more of the details.

eBay runs almost everything with auto-commit turned on. Many Web developers may not find this surprising, but anybody who builds transaction processing systems will probably be thrown by that. Perhaps even more astounding is the fact that eBay doesn’t even compensate by rolling their own transactions in the application layer. They just work around it. I’d love to see a whole presentation on how they work that out as well.

One takeaway from the presentation is that object-relational mapping is becoming a requirement for any serious Web application. eBay’s ORM layer is what enables them to do many of the crazy database tricks they use to scale up, by isolating the SQL inside the ORM layer and allowing the rest of their application to just deal with objects. Once data has left the ORM layer, it doesn’t matter if it was fetched using joins or the object graph was built from data cached at the application layer.

Even if you don’t use ORM, looking at the Data Access Object pattern is a good idea. Keeping SQL in its own layer is a rule few people ought to be breaking these days.

There’s lots more provocative stuff in the presentation, check it out.

Software development in one sentence

Paul Kedrosky picks up an interesting challenge:

Physicist Richard Feynman once said that if all knowledge about physics was about to expire the one sentence he would tell the future is that “Everything is made of atoms”. What one sentence would you tell the future about your own area, whether it’s entrepreneurship, hedge funds, venture capital, or something else?

Examples: An economist might say that “People respond to incentives”. I had an engineering professor years ago who said all of that field could be reduced to “F=MA and you can’t push on a rope”.

I look forward to reading the comments there (and here). For software development, I’d say “Writing comprehensive unit tests at the beginning will save you time in the end, even if it doesn’t seem like it.” Almost everything else in software development seems more ephemeral or situational.

Update: Rebecca Blood is inviting some interesting people to impart their knowledge to the future.

An Inconvenient Truth

I finally got around to watching Al Gore’s An Inconvenient Truth last night. I hadn’t been in a big hurry to see it, because I already understood how global warming works (thanks to an excellent National Geographic article from awhile back). I even thought I was pretty decent at explaining it to people. Now that I have watched it, I’m very glad I did so. Gore lays out the argument powerfully and effectively, and needless to say, he has plenty of visual documentation of what’s going on that’s not available to most of us. I thought the movie itself was well done, and was about as entertaining as a movie about a guy giving a slide show could be.

One thing that bears mentioning (and I know that because I’ve seen it mentioned in every other review of the movie I’ve seen) is that the movie is hopeful. Yes, we have problems, but these are solvable problems, and as technology advances, they will become more solvable. That’s something that can’t be said often enough.

The other good news is that not everyone has to agree on global warming for society to take action to fight it. For real change, all we need is for a majority of people to take it seriously. In the best case scenario, after a herculean effort, we will lower our carbon emissions enough to reverse the trends we’re seeing now, climate change will be slowed or even halted, and 75 years from now some group of people who haven’t paid attention will make fun of the crazy liberals from way back when who said that global warming was going to put an end to civilization, completely ignoring the fact that it would have had we not taken action.

Too much mail

You know what happens when you never empty your trash? You wind up with 211,000 email messages in your trash folder and your mail server freaks out. (Most of the 211,000 are, of course, trashed spam.)

If you have too much mail in your folder, you run into the following:

$ rm * -bash: /bin/rm: Argument list too long

The solution is to use find like this:

$find . -type f | xargs rm

Of course, find is recursive, so be careful if you have any subdirectories in that directory.

Why more troops in Iraq?

It’s looking more and more like President Bush is going to order thousands of more troops to go to Iraq to do the same stuff the US troops in Iraq right now are doing. They’ll be patrolling Baghdad, training Iraqi troops, patrolling Anbar province, and so forth. As Josh Marshall notes this morning, neither the Iraqi government nor the US military seem to want the extra troops, so why is President Bush considering this course? I think it all comes down to psychology.

President Bush has three options when it comes to troop levels. He can keep them as they are, which looks to most people like he’s not changing his strategy. The President’s current strategy has lost the faith of just about everyone, including members of his own party. Even if he tells every soldier in Iraq to work on something completely different, it will still look like we’re “staying the course,” and that’s politically untenable at this point. The US has tried many changes in tactics over the past three years to dampen the violence in Iraq, and none have worked, so disregarding changes in strategy is probably OK at this point.

Alternatively, he can reduce the number of troops in Iraq. President Bush would call this “cutting and running.” He is not going to do that, even though it’s what most people want him to do.

Finally, he can send more troops to Iraq. Psychologically, this is the only option available to President Bush. He has to make a change for political reasons, and despite the fact that victory is no longer an option, sending more troops is a tangible change in course and makes it look like we’re still trying hard to win. To be fair, we certainly are trying to win, but the problem is that winning is no longer in the realm of possibility. If a new President were to take over tomorrow, the question he would be asking himself is, “What can be salvaged?”

Here are a couple of other quick Iraq thoughts while I’m at it.

Who is hurt worst politically if President Bush sends more troops to Iraq? In my opinion, it’s John McCain. McCain has been banging a drum for more troops for months. If President Bush chose not to send more troops, McCain could campaign for the Presidency under the banner that if the actual President had been as proactive as McCain wanted, maybe we could have won this thing. Now it’s looking like President Bush is going to do just as McCain ordered, and I don’t think it’s going to help. Now McCain gets to be the latest guy to offer a plan that worked as poorly as every other plan that has been attempted.

Finally, I’m pretty much done with the post hoc analysis of why our mission in Iraq has failed. Every day there’s a new book that explains which mistakes ruined our chances to win in Iraq. Is it because the Coalition Provisional Authority was staffed with political hacks instead of experts on post-conflict rebuilding? Is it because we sent too few US troops in to occupy Iraq? Is it because the neocons at the Pentagon ordered Paul Bremer to disband the Iraqi army and fire every former Baath party member from the civil service? Is it because Donald Rumsfeld chose to let people loot Baghdad immediately after it fell to the US invasion?

Obviously, in retrospect, all of those things were mistakes, but the bottom line is that our fate was sealed as soon as President Bush decided to invade Iraq. It was never going to work out, no matter what we did, and the only chance was to stop it before it started. The reason it went badly is because it was a bad idea executed by people who thought it was a good idea. We’ll be paying a price for that for many years to come.

My current thinking on Iraq, part 2

So currently we have President Bush ruminating over the findings of the Iraq Study Group, and waiting for several other reports from within the administration that will probably be more to his taste. In the meantime, most everyone else in Washington, DC is using the ISG report as cover to criticize the handling of the war, just as they used the report of the 9/11 Commission as cover to criticize the so-called War on Terror. (A term Donald Rumsfeld himself has now rejected.) The plan that’s coming into vogue, which is being put forth by the Pentagon, John McCain, Silvestre Reyes (the incoming chair of the House intelligence committee), and others, is to send even more troops to Iraq and start a fight with Shiite troublemaker Moqtada al-Sadr. All of these plans and recommendations are a sideshow.

A year ago, nobody outside the anti-war blogs would honestly discuss the problems in Iraq. Violence spiraling out of control, every faction in Iraq taking up arms to make its point or press its advantages, the early signs of ethnic cleansing, and an inability of the Iraqi government or coalition troops to do much about it. Now, nobody is afraid to talk about those problems, mainly because all of them have gotten so much worse. But all of the proposed solutions seem so hollow to me. President Bush still talks about coming up with a plan for victory. The ISG’s recommendations don’t look like they’ll fix anything. The Pentagon still can’t decide which gangs of gun-toting killers we should be fighting and which we should be negotiating with. “Phased redeployment” is just a fancy way of saying “run like hell.”

And ultimately, it’s hard to blame any of them. Even I, who was never in favor of the war in the first place, and was convinced from the outset that invading Iraq was going to end badly for us, am in denial about the fact that there just aren’t any scenarios that lead to a positive outcome for the people of Iraq, to say nothing of the reputation of the United States. Two years ago I started asking people, “What if today is the best it will be for the US occupation of Iraq?” Little did I know that two years later we’d still be doing the same things we were doing back then, and that Iraq still wouldn’t have hit bottom.

What’s the best plan for Iraq? I still haven’t seen one that seems plausible, much less one that presents attainable goals. My current thinking on Iraq is that any Iraqis who can get out should do so.

Older posts

© 2024 rc3.org

Theme by Anders NorenUp ↑