rc3.org

Strong opinions, weakly held

Month: July 2005 (page 3 of 7)

About what I expected

Robert W Gordon on President Bush’s Supreme Court nominee, John Roberts:

All the indications are that he will become another vote to expand presidential power in national-security affairs, to limit the federal government’s authority to regulate business and the environment and protect civil rights, to make it harder for women, minorities, labor and the disabled to pursue practical remedies in the courts, and to favor a larger role for religion in public life and as object of public subsidy.

That’s about what I expected from this nomination. That said, we’re due for a conservative Supreme Court justice (given the fact that the Presidency and Senate are held by Republicans), and this guy is obvioiusly well qualified to serve as a Supreme Court justice. If we liberals want Supreme Court justices more to our liking, we have to get Democrats elected.

The Plot

Christopher Allbritton describes a persistent belief among Iraqis in something he refers to as The Plot:

Robert Fisk once wrote about Lebanon that The Plot—the plans of foreign powers to defeat and humiliate Lebanon during its 1975-1990 civil war—was always present in his conversations with Lebanese. He joked that The Plot should have its own chair at the table at every meal, since it was always a topic of dinner conversations. Well, Iraq has the same mentality. It is inconceivable to Iraqis that America, as powerful as it is, could have bungled this place as badly as it has. Americans walked on the moon! And they can’t find Zarqawi?

I’ve noticed the same belief system among some Arabs that I know. The Plot is usually perpetrated by The Jews, and nothing happens by accident or due to incompetence. The most depressing thing about this belief system is that it is utterly disempowering. If hidden forces are behind everything that’s going on, then there’s nothing you can do as an individual to make things better.

The trouble with frameworks

Andy Smith explains why frameworks suck.

Frameworks hurt sharing. I’d really like to give you this fork Jimmy, but you’re gonna need a knife and plate to use it. The framework checks out all your girlfriends for you, the framework won’t let anyone dirty get through, the framework will wait up until you get in, the framework will always find out were you’ve been, the framework keeps you healthy and clean. Frameworks embrace, extend and hold on to greedily.

Dependency injection can ameliorate these problems.

World of Warcraft dupe bug

Players have discovered (and exploited) a dupe bug in World of Warcraft. This is the worst kind of problem to have in any multiplayer game. A few abusers can destroy the economy of a game in hours (literally) by adding huge amounts of illicit cash into the economy. Interestingly, the gaming community seems eager to blame Chinese farmers for the problem, but I think it was almost certainly American ingenuity.

Blizzard hasn’t announced how they’re going to resolve the problem yet, but given the scope it seems like it’s going to be painful for them and the player base. (I wouldn’t be surprised if they have to roll the servers back a week or so, which would be really painful.)

Married to Markdown

Movable Type supports multiple Text Formatters, which convert the entries that you type in to HTML. It comes with a simple one that turns blank lines into <p> tags, and you can add others, like Markdown and Textile, which enable you to use a Wiki-like syntax to add markup to your entries when you’re typing them in.

I’ve installed the Markdown plug-in, and the first thing I discovered when I typed a weblog entry and told Movable Type that it was formatted using Markdown was that my dynamically generated pages wouldn’t work because I hadn’t installed the PHP version of markdown. What I find interesting about this is that Movable Type transforms your entries when they’re presented rather than when they’re saved.

I think my first instinct would have been to do the opposite and add the HTML when the entries are saved. The way it works currently, you’re married to those text formatters. If I want to pull my entries out of the database and use them in some other way, I have to look up the text formatter that’s being used and then run that transformation on my text to turn it into HTML. On the other hand, by transforming your text only on presentation, the tool preserves it the way it was entered so that you can easily go back and edit without wrangling with the HTML that was inserted. Interesting design decision, but upon reflection I think I agree with it. Most people want their input preserved more than they want to futz with the contents of their Movable Type database.

Patterns and practices

Ruby on Rails creator David Heinemeier Hansson said something really smart the other day differentiating between languages and patterns and practices:

As Java gained traction and became the focus of business, it naturally attracted many of the best brains. While working in Java, they developed and profiliated an impressive array of patterns of practices. We got the rise of MVC for the server side, an explosion in frameworks, test- and domain-driven development styles, and so much more. And while general ideas, most where explained from within the language that they had been practiced. So you have Java-first examples and implementations all over the place. Who’s to blame someone from thinking that it’s all the same? That it’s because of, and only in, Java that you would get access to these patterns and practices. And it’s certainly havn’t been hard to reinforce this belief by picking up one of the popular PHP applications, take it apart, and scoff at how little resemblance it beared to your modern living.

He goes on to say:

Hence, I think the attachment many Java programmers have with the language and JVM could very likely be an attachment to the patterns and practices that these technologies are used with instead. And if that’s so, it means that we’re not so different after all.

I think that’s true for me. What I want to bring to the table when I build applications is a layered architecture that can be easily tested at every level. In the Java world, we have a lot of tools that encourage and enable me to apply these patterns and practices to my work. And indeed, one of the reasons why I generally feel at sea when working in PHP is that while it is possible to apply my usual patterns and practices to my work, it’s not nearly so natural.

I think, though, that the distinction between languages and patterns and practices is important to make, and I plan on talking a lot more about it. Specifically, how I can transport the good habits I’ve learned in the Java world to PHP and to other languages that I might wind up using. (I’m still looking for that perfect excuse to really dig into Ruby on Rails.)

Slice of life du jour

Patrick Nielsen Hayden has posted a fascinating roundup of links relating to a New York Times-published essay by a woman who had her husband fire her nanny because of her blog. Naturally, the nanny responds. Patrick has gathered links to some of the more interesting commentary that has been published so far.

Migration to Movable Type initiated

I’ve started migrating to Movable Type. As you can see, I’ve gone with the default theme for now, which I hate. That’s probably for the best, though, because it will inspire me to work on creating a new theme rather than just dealing with something substandard indefinitely.

If you read the site via RSS, you’ll need to update your RSS reader to point to one of the new syndication feeds. I’ve redirected the old feed URL to the URL of the new RSS 2.0 feed in the meantime.

Let’s see, comments are enabled for new entries, and I’m sure I’ll have to tweak the commenting system for awhile until I get it to work like I want it to.

If you’re a Movable Type user, please feel free to suggest any must-have plugins you can think of. Right now I’m running a bare install of Movable 3.2 beta 1.

P.S. The link in the right column points to the RSS 1.0 feed. The RSS 2.0 feed is here. The Atom feed is here.

Update: I fixed the comment configuration, so fire away.

Following up on Movable Type

A couple of people have told me that they have gotten Movable Type working with cgiwrap at pair.com, so I’m going to look into that.

Pair.com has a Movable Type FAQ.

David Bau has some tips on setting up Movable Type at pair.com here.

Update: I’ve got Movable Type up and running with cgiwrap. Basically, you just have to set your CGIPath in mt.cfg to the cgiwrap URL. I still have to work out some kinks with dynamic publishing, but I anticipate that the next entry you read will be published through Movable Type.

Torture as policy

Andrew Sullivan goes over the recently released Schmidt Report on interrogation practices at Guantanamo and finds that there is no longer any doubt that what we saw in the pictures at Abu Ghraib was approved by the White House. The most important thing to remember here is that this isn’t an article from Seymour Hersh talking to secret sources at the Pentagon, it’s a conservative commentator (albeit one who has been admirably tough on the torture issue) reading an official report which purportedly exonerates the military officers involved. You can be certain that the truth is even worse than what’s described in the report.

Older posts Newer posts

© 2024 rc3.org

Theme by Anders NorenUp ↑