Strong opinions, weakly held

Month: December 2008 (page 1 of 4)

The reality of Israel and Palestine

Ezra Klein’s post on Israel’s assault on Gaza is the smartest thing I’ve seen written about Israel and Palestine in a long time. It doesn’t lead to any conclusions, but his observations are incredibly important. The bottom line:

One important disconnect in Israel/Palestine debate is that Israel’s supporters tend to focus on what the Palestinians want while Palestine’s supporters tend to focus on what the Israelis do. Israel’s defenders, for instance, make a lot of Hamas’s willingness to kill large numbers of civilians. Palestine’s defenders make a lot of the fact that Israel actually kills large numbers of Palestinian civilians.

The bubble rendered visible

Paul Krugman posts a graph of housing prices in Las Vegas, relative to the prices in 2000. It’s interesting if only because it’s actually bubble-shaped.

The cons of the Rails/Merb merger

James Britt has this to say on the Rails/Merb merger:

Because Merb was essentially (as best I could tell) a variant of Rails (with ideas from Nitro, Ramaze and other frameworks), it seemed easer for ideas to trickle back and forth between Merb and Rails. Rubyists had more options, and both Merb and Rails could feed off of each other. It seemed a win all around to have them independent.

The consolidation removes this useful competition. This is maybe a plus for folks who prefer Rails, and a gain for people who want to do things the Merb way but can now say they are using Rails. Less useful to people who want to see more distinct options.

That’s exactly what I worry about. In the larger world, though, I don’t expect this to be a huge detriment. The MVC framework market is vast and varied, and there are plenty of good ideas being generated all over the place.

Defining Web 2.0

I like Tim O’Reilly’s definition of Web 2.0 better than the accepted definition:

Aside: I seem to have lost the battle to define Web 2.0 as “the use of the network as platform to build systems that get better the more people use them.” Perhaps it’s the lure of the obvious: companies and products that harness explicit user contribution are easier to recognize than those that pursue the more subtle and difficult task of harnessing implicit contribution. Or perhaps it’s the persistent gravitational tug of the idea that the heart of Web 2.0 is ad-supported business models; therefore, enterprise features that look like those of well-known companies featuring user contribution and ad-supported business models must by definition also be “2.0.” For me, the far more profound and powerful systems come from harnessing both explicit and implicit human contribution.

He describes Wal-Mart, Google, and the Barack Obama Presidential campaign as three examples that fall under his definition. Certainly the apps that make use of implicit contributions from users are more interesting to build.

Stimulus is on the way

I’m finding it interesting to read the debate on economics blogs about how effective the stimulus package that the government will pass early next year is likely to be in addressing the economic collapse that we all hope won’t linger for ten years.

For what it’s worth, I think Tyler Cowen is close to the truth when he writes this:

Note that under standard theory neither monetary nor fiscal policy will set right the basic problems from negative real shocks and indeed the U.S. economy is undergoing a series of massive sectoral shifts. That includes a move out of construction, a move out of finance, a move out of debt-financed consumption, a move out of luxury goods, the collapse of GM, and a move out of industries which cannot compete with the internet (newspapers, Borders, etc.)

That’s why we’re in for pain for what may be a very long time. I think we should all hope that the more optimistic economists are right on this issue, because some stimulus package is inevitable.

For the pro-stimulus argument, Brad DeLong and Paul Krugman are the essential stops.

For what it’s worth, non-economist Jim Henley wrote the best summary of the economics of the past 20 or 30 years that I’ve read:

During the period of Republican dominance, government policy contributed to stagnant real wages for most Americans, but to keep consumption up, fostered ever-more-creative ways for them to take on debt. The recent real-estate bubble (still deflating) was the final(?), decadent stage of the con. Now the jig is up: what falling asset prices reveal is that the country was a lot less wealthy, in real terms, than we imagined. In the absence of broadly shared prosperity, society can’t maintain a robust growth in genuine wealth.

You can leave out the stuff about Republicans if you like, increased ability to take on debt did replace wage growth as the means by which people improved their standard of living over the past 10 or 20 years. The difference between borrowing and having is that now the economy is going to suffer as people try to pay down the debt they’ve accumulated as rapidly as possible.

Intuitively, if the economy’s size was based in large part on borrowed money, government borrowing could make up some of the difference since businesses and consumers are borrowing less, but clearly that can only work for a short time as we try to find some more reliable means to rebuild the economy.

Cooking a roast (and why Food TV sucks)

This weekend we got a rolled rib roast on sale at Whole Foods. Since I wanted it to be good, I decided to do some research before we cooked it. I looked up the cooking method in the Doubleday Cookbook (a great reference cookbook), the Joy of Cooking, and On Food and Cooking. I also found a pointer to the article on standing rib roast at Cooking for Engineers.

When it comes to roasting meat, you set the oven to the proper temperature and take the roast out when it reaches the desired internal temperature. Some people make it fancy and start the oven out at a high temperature to sear the outside of the roast initially and then let the temperature fall to the roasting temperature. The one trick is that the larger the roast is, the lower your roasting temperature should be. For a large rib roast, the guy at Cooking for Engineers recommends 200 degrees. For our roast, we went with 325 degrees, the temperature recommended by Doubleday if you want a nice crusty exterior.

In the end, we rubbed the roast with salt and pepper, preheated the oven to 325 degrees, and then cooked the roast for about two hours and fifteen minutes until it reached an internal temperature of 125 degrees. We made sure to let it come to room temperature before putting it in the oven, and let it rest for 30 minutes before slicing it. The roast came out perfect using this approach.

The reason I did so much homework this time is that the last time we made an oven roast, we used a recipe from a show on Food TV. This recipe included potatoes in the pan, a sauce on the roast, cooking for fifteen minutes at 500 degrees before lowering the temperature, and plenty of other steps as well. Anyway, the roast didn’t come out good. Part of the problem was the recipe and part of the problem was that we bought a round roast at Costco rather than a nice grass feed rib roast from Whole Foods.

My issue with Food TV is that they are biased in favor of novelty. Demonstrating the proper basic technique for making a roast is apparently too boring for them to feature it on any of their shows. The roast we made tasted as good as any roast I’ve ever had, and there was nothing fancy about it.

Back in the day, Food TV had any number of shows that taught basic recipes and techniques. Cooking Live, How to Boil Water, and others centered on teaching people the basics. Now we live in the era of the dreck that is 30 Minute Meals. The idea behind that show is that it provides approachable recipes for home cooks, but the 30 minute concept precludes any number of delicious, simple recipes. Beyond that, the show is is about featuring “original” (often terrible looking) recipes rather demonstrating useful techniques that everybody should know.

I don’t think I ever realized until this weekend just how little the executives at Food TV care about teaching people to cook these days.

Merb and Rails, together at last

The Rails team has just announced that Merb, an alternate MVC framework for Ruby, is being merged into Rails 3. Given some recent angst about the splintering of the Ruby Web development community, this is probably good news. I haven’t used Merb, but I was all for more competition. In the open source world, the best developers steal every good idea from their competitors anyway. Between this announcement and the announcement of Rails Metal, it’s looking like the end of year trends in the Ruby Web development community are toward harmony.

Credit where it’s due

It’s interesting to see price-rent ratios flagged everywhere as the clearest sign that we were in a housing bubble over the past decade or so. It reminded me that the first place I saw this indicator mentioned was at Winterspeak.com in January, 2004. The post is about Boston housing prices, but the metric applied in many markets. Just goes to show you that the housing bubble was never a mystery to those who were paying attention.

On practice

Tim O’Reilly posted a transcript of a long email thread among O’Reilly personnel on the subject of practice. It’s a wide ranging discussion on the value of practice and how people learn among people whose job it is to teach (usually through books).

One thing I’ll add is that practice by itself is almost never as effective as it is with a good coach or teammates who can offer useful feedback. I’ve seen programmers who have written huge amounts of code over the years in isolation who progress very little in their overall skills. That’s why even someone like Tiger Woods, who knows as much as anyone in the world about how to play golf, still has a coach. He needs someone who can help him catch problems that would take him a lot longer to notice on his own.

For more on this, I’d recommend Jason Kottke’s posts on deliberate practice. I’ve considered trying to apply the concept of deliberate practice to being a better arena player in World of Warcraft, but frankly I just haven’t been interested enough to put in the effort.

I also found one bit interesting, this point by Kurt Kagle:

Practice is necessary to learn a skill (it takes about a million repetitions, typically around ten years to master any given skill), but I think that we have become so fixated upon this necessity that we have to question if the skills that we are spending so much of our time and resource educating them are ones that they truly need.

If our children are going to live in a world heavily dominated by computer technology, is it worthwhile for us to be practicing skills that we’ll only use a handful of times in our life?

His specific example is mathematical calculations that are easily performed by a computer. I think I’d argue that we need to know them well enough to understand what’s going on behind the scenes in the computer. Why? Leaky abstractions.

Irritation is my muse

I was recently asked to make a really irritating change to a report. This seemingly minor change makes the code significantly more complex, hurts performance, and will force me to add some really ugly code to what should be a very simple page.

Because I find working on this feature so distasteful, I have been procrastinating even looking at it for a couple of days. When I woke up this morning, I had an inspired idea for fixing this problem in the long term. I’m still going to have to write some ugly code now, but I’ve got a solution in mind that will enable me to get rid of that ugly code and a whole bunch of other really nasty code along with it.

What I realized is that one of my most reliable inspirations for good ideas is being backed into an inelegant solution to a problem. When I have a requirement to satisfy and the only way I can think of to fix it is hackish, I sometimes can’t even make myself start working the problem until a workable long term solution occurs to me. I don’t know if it’s an ideal creative process, but it works well for me.

Older posts

© 2018 rc3.org

Theme by Anders NorenUp ↑