Infrequently Noted

Alex Russell on browsers, standards, and the process of progress.

Semantically right, practially wrong

About a year ago, I tried to invite PPK to the Dojo project. He declined at the time, stating that he doesn't find libraries useful, which seemed a reasonable thing to say. If it doesn't fit his tastes, so be it.

Today, however, he went a step further (via ajaxian), stating that neither client side nor server side programmers are qualified to write the coming generation of responsive webapps. From a semantic standpoint, I think I might agree: if someone considers themselves just one or the other, they won't be able to do it. But I don't think that's his point, and on that point I think he's dead wrong. I think Mark Wubben and Bob Ippolito's comments on the ajaxian post are dead on.

Sure, JavaScript isn't a "fun" language unless you magically wind up using it in a non-browser environment (in which case you should probably be using Python anyway), but to do "real engineering" in a browser, you need a "real engineer" on the client side. Someone who gets HTTP, JS, DOM, whatever your server-side language is, and can shoot the shit about TCP/IP stack config paramaters on whatever your server-side OS happens to be.

Anyone who can credibly claim to have written a non-trivial amount of idiomatic JS (can you explain a closure? how does prototype inheritance differ from class-based inheritance?) probably fits this bill, and if not, they already show the ability to pick up difficult concepts and will be able to fill in where they aren't already experts. The question isn't "server side" or "client side", but do you come at it from an engineer's perspective, regardless of what side you're on?

As a library author, I find his remarks about them interesting but still naive. I know PPK doesn't like libraries, but they tend to be written first and foremost for the benefit of the people who wrote them: e.g., just the kinds of engineers he dismisses on both sides of the HTTP stack.

Frankly, good engineer's don't re-invent the wheel for kicks, and so a good engineer dropped from a server environment to a client-side environment will instinctively look for good tools. Implying that one has to suffer to get things done on the client is just plain wrong. Suffering doesn't make one a better client-side engineer. Engineering things does.

What's Possible

I worry a lot about not being introduced to enough new things. For the last couple of years I've spent most of my professional and personal time on DHTML and JavaScript. While I used to write quite a bit of Python, I now spend my time almost exclusively in some sort of ECMA-262 interpreter, and it scares me. Not perhaps because it's too limiting an environment, but because I've gotten too used to my own pre-conceptions of what is possible. With DHTML in particular, I find just having my conceptions of what's possible expanded is enough to turn intractable problems into straightforward tasks. Being able to value a problem more accurately is the key to solving or avoiding it.

A conversation I was recently in turned directly to the value of valuing things. Someone pointed out that in the valley, and esp in a time of growth like right now, it might just be better to shut up and let the hype do some free marketing for you. Another other countered was that if you stop exercising the capacity to discern good from bad, you eventually loose the ability to make the distinction. Obviously, making the distinciton and announcing it are different, but both points still stuck. The value of looking locally for short-term opportunity is a bet against the opportunity cost of continually integrating new information which would allow better foresight of what can happen. Conversely, investing in expanding my view of the possible robs from making the currently possible a reality.

That's the basic tension playing out in my head. On the one hand, I know I need to spend time discovering new things, but in doing so I consciously allocate time away from things with measureable payoff, e.g., fixing one more Dojo bug vs. learning a new programming language. So 8 years after I started first feeling this particular brand of guilt I'm only now coming to terms with the fact that it will always be with me. I'm not sure if that's liberating or frightening.

web two point....oh shit

Every day I mourn suck a little. It's buoyancy seemed tied to the rising, and eventually draining, tide of New Economy inanity it started amidst. As a recent Silicon Valley arrival, I can only imagine the lunacy that one must have endured just by overhearing the conversations taking place in South Park as a hundred dot-commies sipped coffee while walking their dogs.

Like canaries in our proverbial coal-mine, the humorists always try (in vain) to show how terribly, terribly stupid we are collectively being. Looks like the New Bubble is starting off strong.

so why *do* I bother?

Frankly, I'm not entirely certain why I blog. I get asked about it from time to time, and I never have a good answer. I guess it's a value thing. I don't really think I generate much of value via my blog, so I don't have a burning need to post or get better at it. I think this also informs my view of other blogs. I don't use an RSS reader because I tend to generally assume that other people are just as busy, tired, and over-worked (by choice, in my case) as I am. Therefore, I don't want to see a thousand posts in an "inbox", most of which are much like mine. If I want middling crap, I can make it. So I read blogs for the surprise of it.

I read them for the joy of reading something great, or different, or better than my own, so I limit the blogs I read to the blogs I can remember to read. It turns out that this is a pretty good radius. It means that I spend more time reading Ping and Ed Felten and less time reading the blogs of people who only occasionally have something interesting to say.

Taken as a whole, it then occurs to me that perhaps I should stop blogging. If I'm not going to put the kind of time and energy into it as these folks (who are much smarter than I am anyway), then what's the point? It's not like I have significant time to devote to this even if I were interested in doing it better.

What do you think?

the end of launch parties?

So tonight is the "Launch Party to end all launch parties" and I can't help but wonder if that phrasing is meant to be said with a hopeful glint at the end? Or is it just me?

I'm going to vote with my feet by helping to end launch parties in general. By not attending.

Unless I'm invited. In which case, RAWK!!

Older Posts

Newer Posts