E-Scribe : a programmer’s blog

About Me

PBX I'm Paul Bissex. I build web applications using open source software, especially Django. Started my career doing graphic design for newspapers and magazines in the '90s. Then wrote tech commentary and reviews for Wired, Salon, Chicago Tribune, and others you never heard of. Then I built operations software at a photography school. Then I helped big media serve 40 million pages a day. Then I worked on a translation services API doing millions of dollars of business. Now I'm building the core platform of a global startup accelerator. Feel free to email me.

Book

I co-wrote "Python Web Development with Django". It was the first book to cover the long-awaited Django 1.0. Published by Addison-Wesley and still in print!

Colophon

Built using Django, served with gunicorn and nginx. The database is SQLite. Hosted on a FreeBSD VPS at Johncompanies.com. Comment-spam protection by Akismet.

Elsewhere

Pile o'Tags

Stuff I Use

Bitbucket, Debian Linux, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, macOS, Markdown, Mercurial, Python, S3, SQLite, Sublime Text, xmonad

Spam Report

At least 236604 pieces of comment spam killed since 2008, mostly via Akismet.

Clojure is cool

clojure logo Tonight we had a special edition of the Western Mass. Developers' Group as Rich Hickey made the long trek north to talk to us about Clojure, his functional Lisp dialect that runs on the JVM.

I enjoyed Rich's presentation a lot. He's clearly a very smart guy with very focused goals for the language. He breezed through the basic Clojure intro stuff to get to slides and a demo app focused specifically on concurrency issues. He walked us through almost every piece of the example app, a simple graphical simulation a couple hundred lines long. Remarkably, given that I have almost no non-toy experience with Lisp or Java, I found it mostly understandable.

He's definitely on a tear against gratuitous mutability in software. Those are my words, not his; what he said was: "Mutability is the new spaghetti code." (If this seems perplexing, reading up on functional programming may help. I know I had no idea why people were railing against mutability and state before I started playing with Haskell.)

Some miscellaneous things that I found interesting or cool:

Rich is an effective language advocate not just because he's smart and articulate, but because he's clearly done his research and understands the relevant alternatives and tradeoffs in a deep way. When asked about Erlang, he took pains to point out the things that Erlang does well, and the differences between Clojure and Erlang that are the result of different conscious tradeoffs. Engineering is about tradeoffs.

Thanks to Lou and Chas for organizing and hosting this, and of course to Rich for making the drive and the time to evangelize Clojure to a small group of programmers in the (relative) sticks.

Update: See Lou's blog post for a more detailed recap of the talk.
Another Update: Rich has posted the slides, audio, and code from his talk.

Thursday, March 20th, 2008
+ + +

Comments are closed for this post. But I welcome questions/comments via email or Twitter.