Strange Loop 2011, day two

Tuesday 2011-09-20

Tuesday started off with misty morning. I probably should have headed out for better photos of the arch and other landmarks disappearing into the fog, but I only got a few out of the hotel windows

Bryan O’Sullivan talked about “Running a Startup on Haskell”. He talked about a lot of things besides Haskell, including evaluating people. He found that knowledge of a language was not a big roadblock, but it might be an indicator for general ability. Tough languages tend to have good users, but of course the more common something is, the worse it is as an indicator. He also talked about their choice of data store, and observed that everybody complains about their data store, so complaints are not a good signal. He also recommended that everyone find “QuickCheck”, a random testing framework, for their own language.

Jeremie Miller talked about “A P2P Digital Self with TeleHash”. He observed that HTTP was meant to be peer-to-peer, and compared NATs (Network Address Translation) to plantations of slave IP addresses. He described his choice of Kademlia for the distributed hash table, because it was the simplest algorithm. TeleHash is designed to support the LockerProject, which then provides NAT transport, identity, trust, etc.

Sarah Allen gave a talk titled “Teaching Code Literacy”. I probably could have read the description more, but she was really talking about teaching kids programming. Her point was that we teach chemistry but don’t expect kids to become chemists – yet programming is becoming more essentially in an increasingly digital world. She described, Pie, a Ruby DSL for making graphical adventure games. It’s online, because kids view desktop apps (e.g. Shoes) as something to do homework with. One major challenge is that kids under 13 don’t have email.

I only wrote down one thing from the lunch language panel. Language adoption is often driven by association with the latest fads: GUI/Smalltalk, web/Ruby, concurrency/?.

The conference closed with not one but two keynotes. The first was Allen Wirfs-Brok, “Post PC Computing is not a Vision”. Calling something “post PC” describes by negation, it says what it’s not. To have a vision you need to say what it will actually be (or at least could be) His post-PC vision is ambient computing, where we move from computers to devices, ubiquitous information, and augmented life. Meanwhile, we have transitional technology, e.g. a browser is a PC app that lets it get on the web. He contends that Javascript is the platform of the future and has enough momentum that it can’t be supplanted. (He also suggested that EcmaScript 6 is due in 2013)

The second keynote was Clojure’s Rick Hickey discussing the difference between simple and easy. He goes back to the roots of the words. Simple comes from sim-plex, or one-fold/braid, in contrast to com-plex, many-folds/braids. Simplicity/complexity is absolute – no matter how good you are at something complex, it’s still complex. Rich made up the word ‘complect’ to mean braiding things together (e.g. complicating them). He contrasts simple with easy, which derives from nearness. This is relative – if your skill improves you get ‘nearer’ to something, and it gets easier. Related words are compose: to place together (nearer) and abstract: drawn away. A particular example (a favorite of functional programmers) is state: easy, but complex. Rich also got a lot of people riled up by expressing his doubts about unit testing. He compared unit testing to guard rails – if you hit them, you’ve already done something wrong. And of course test only cover what you’ve tested.

Posted Tuesday, October 18th, 2011 under Conference.

Comments are closed.