Following up on my previous article, I create a super-simple example where a web page communicates with the server (written in Web.py) sending a JSON request object and receiving a JSON object as a response, which it uses to dynamically update the page. Afterwards, James Ward quickly loads the example into Heroku using their new Python support.

In my article on JavaScript, I observed that we need a new language that generates good and safe JavaScript, so that you no longer have to think about either JavaScript issues or cross-browser problems. Little did I know that the solution(s) had already appeared in the form of JQuery and CoffeeScript.

The feedback from my previous article has been very helpful, and it has raised more questions about RPC technology. I've also included notes about converting Python libraries from Python 2 to Python 3.

One of the things I've loved about Python is that it was built as a community from the beginning. Language design decisions are genuinely discussed and struggled with as a community. But with Java, I've always felt like the adults were telling me what to think.

In his 17-minute keynote at O'Reilly OSCON Java 2011, Martin Odersky gives one of the more succinct and clear explanations I've seen on why shared-memory concurrency is virtually impossible to get right.

It appears we are stuck with JavaScript, at least in the near-to-mid term. Although the language is an abomination, some things are getting better. I discovered a couple of great lectures and a book that might change your perspective (a little) about the language.

The highest complement you can deliver in the Python world is to say that something is "Pythonic" -- that it feels and fits into the Python way of thinking. I never imagined that a static language could feel this way, but Scala does -- and possibly even better.

Today I released a candidate for the next version of ScalaTest for Scala 2.9.0, ScalaTest 1.6.1.RC1. This release includes all the enhancements of ScalaTest 1.5, plus one new trait, BeforeAndAfter, a few deprecations, and improved documentation.

A new event takes place this July in the mountains of Colorado: we decided to call it "Programming Summer Camp" because we're emphasizing outdoor activities in the morning, and programming activities in the afternoon (when the thunderstorms usually happen).