A notch above a monkey

MochiKit

Sometimes I’m really glad my brains don’t let my mouth shoot off as quickly as it would like.

I was checking latest versions of Prototype , Dojo and MochiKit a couple of days ago and while I liked the first two, I had a much lower opinion of the third. In fact, I couldn’t understand why Turbogears has chosen MochiKit as its AJAX library and was about to write a post questioning just that.

I’m glad I didn’t. MochiKit still wouldn’t be my choice and probably won’t be when I’ll start using existing libraries instead of mine, but that doesn’t make it a bad choice. A lot of thought and effort has been put into its implementation and it shows.

There are obviously things I dislike about it and the major one being the way it loads dependencies. I despise document.write and I disagree with argument made in comments (Safari’s use of defer on generated scripts). But I guess this is something reasonable minds can disagree on.

Speed of development

This brought a sad smile to my face.

There was a time when Javascript implementation in Internet Explorer was really top notch and other browsers had something to look up to (apart from memory leaking, which is just embarrassing). But it’s been 5 years since last IE and it will take almost another year to release version 7, which won’t bring any Javascript related changes (apart from native XMLHTTPRequest). I see myself as language minimalist, but there are things that I’d love to see implemented.

However, IE is not the only thing developed with glacial speeds. Even though there’s talk of CSS3, we only received (another?) working draft of CSS 2.1 a couple of weeks ago. So, as many are not aware, even CSS 2.1 hasn’t seen a final release yet even though it’s been widely used for a while now.

Slow development pace does have certain benefits. We get more time to learn and master new stuff and what we learned doesn’t age as quickly as it would otherwise. But when limits of what you have rub you the wrong way, it can be quite depressing to calculate how long it will take to remedy this. Especially if you’re bound not only to development of a technology, but also to its deployment. Thank <some deity> this is not an issue for me with Python 2.5.

In the line of work that I do, I can pretty much forget anything in development which needs browser support, since it won’t be deployed widely enough in this decade. I don’t, since I’m a geek, but I could as there’s little I can do with it and there’s a whole history of great promises that didn’t make it in the end.

It does, however, pose an interesting question without an answer. When should I start learning something new?

AJAX Workshop: End of Act I

First part of AJAX workshop is behind me and I enjoyed it immensely. I hope our participants did as well or failing that, I hope we didn’t waste their time too much.

Looking back I’m not satisfied with everything we did and I wish I’ve done my part better. I’m sure I wasn’t clear or coherent enough. Fry did much better, but I feel we could do better with examples.

If we ever repeat this workshop, and we both would love to, we’ll have to make it longer, since there simply wasn’t enough time to talk about the details and quirks that can and usually do waste majority of your time.

If you were there yesterday, then please drop me a line or two about your experience. I’d also love to hear what you want from second part of the workshop, since it’s not too late to change it to suit you better.