Check out this article that shows off how visualizations can help you understand how algorithms work. It’s an amazing piece of work: Creatively, he figured out how to illustrate an algorithm so I can better understand how it works; Technically, the code that implements these visualizations is itself very clever and elegant; and Aesthetically, the overall effect on the page itself is quite beautiful. I am jealous!
With that context, I was very interested to see Jon Ressig’s article about how Khan Academy is thinking about teaching programming languages. You know I am a big fan of Khan Academy: see Khan Academy to the Rescue.
Read the whole article, it’s pretty cool!
Sproutcore is a big complicated system that I have not fully investigated. It comes with a good pedigree though and is very nicely documented and designed. Worth a look if you want to have a super responsive browser based app that will continue to work even when the network connection is gone.
Here is their own blurb: “SproutCore applications move business logic to the browser so they can respond to your users’ taps and clicks immediately, avoiding an agonizing roundtrip across often intermittent network connections.
As web application users go increasingly mobile, applications can no longer depend on reliable connections to a remote server to do the heavy lifting.
At the same time, web browsers continue to radically improve their ability to quickly process data and deliver polished user interfaces—a perfect opportunity to rethink the architecture of modern web applications.”
If you don’t believe me, here’s another person who comes to the same conclusion by a slightly different route: