It’s been 12 days since I last posted. My plan was to post once a day for the next month, so I’ve obviously fallen off the wagon a bit. In retrospect though I don’t feel bad because I’ve made good progress on several other projects I’m working on.

  • ANSI Common Lisp — I’ve been reading and working my way through this book. I’ll save my thoughts about Lisp for a separate post. I do like the style of this book though. It reminds me a little of the famous K&R C book in that it’s sparse yet efficient. I’ll post some more thoughts about the book too once I’ve finished.
  • JavaScript: The Definitive Guide — I got this book just about a week ago and I’ve already read through both the core and web specific sections (not including the reference material), which is something like 500 pages I think. It’s funny, but I never imagined I would get so excited over JavaScript. I can’t believe that I’ve gone this long as a web developer without really knowing the underlying language. Again, I’ll have to save my revelations for another post, but I would highly recommend this book to anybody who deals with JavaScript, and especially for anybody doing any serious (Dynamic HTML/AJAX) programming in JS.
  • Introduction to Algorithms — I’m going back to school. I owned this book as an undergrad, and now I own it again. This is a meaty one… I’m just getting started, so it’s going to take a little bit.
  • bonesisalive.com — I’ve started work on the comments feature. I was about half-way through adding support for Akismet to block spam comments, when I realized it was really a bit of premature optimization considering I don’t even have any readers at this point. I know full well I’ll have to implement it at some point, but I think it’s much better to just get the feature out. Especially because once I get the feature out I’ll feel better about publishing the link to this blog around. It feels kinda silly to have a sight that no one can comment on at the moment.

I came across this article this morning via Hacker News. In a nutshell, the authors are using a custom framework for their new site consisting of empty, static HTML templates which are then populated with data on the client side using JavaScript to fetch JSON from the server.

This is a really cool idea, not without caveats and problems that still need to be solved, but I like the core idea. Now that we’re all Web 2.0 with dynamic page updates via AJAX/JavaScript, managing the initial page render of template plus data on the server side PLUS handling the JavaScript/JSON requests requires careful planning and architecture to keep everything DRY and maintainable. Even with some of the best constructs out there (I favor “respond_to” from Rails, but I’m sure there are others), it still just feels dirty to me.

Of course the biggest question is what if the client doesn’t have JavaScript enabled, which most notably includes search engine crawlers. And I don’t have an answer for that, but as we continue to move forward and see JavaScript performance improve and become such an integral part of the modern browser I wouldn’t be surprised if this problem doesn’t solve itself. It seems to be one of the fundamental questions facing the future of the web, how do move forward on a platform that was initially designed to be document centric but which has given growth to dynamic applications? We have a lot of incremental solutions, and I think we’ll continue to see these, but at some point will we get an evolutionary step forward?

I can feel this post quickly tumbling down the rabbit hole, so I’ll stop there…