Wednesday, June 10, 2009

Not Dead Yet!

I'm back. For the moment, anyway. More about that below.

What have I been up to? A lot, really.

  • General life stuff, of course. It always gets in the way.
  • My wife and I have adopted a little girl, and that keeps us busy, both with adoption busyness and with new parent busyness.
  • I've started a new job.
  • As far as programming goes, I'm exploring function programming. Clojure got me started, and since then I've branched out to Haskell and F#. I primarily wanted to learn Haskell, but I've had more opportunity to use F#. At some point, I should compare the two.

Speaking of Clojure, I recently finished scanning my dead-tree edition of Programming Clojure. It has good, practical examples. (I've taught enough to know how hard it is to have practical examples.) For example, Lancet is an extended example that Stuart Halloway develops throughout the book. It creates a DSL for build files (think make). The system itself is built upon ant, but it creates a nice interface layer on top of that.

The book is also a good introduction to functional programming, including how it's different than object-oriented programming and how to use it best for the benefits it gives for concurrency and other problems.

I'll close this post by outlining the direction I'd like to take this blog. I think I've implied in the past that I haven't been happy that it's turned into a Clojure tutorial (nice though that is). I just haven't been sure what I wanted it to become. I think I've finally got some ideas.

Primarily, I'd like Writing/Coding to be more results oriented. I'll still talk about text- and natural-language-processing, but instead of a lot of code and nuts-and-bolts, I'll focus on the results of those analysis and visualizations and pretty pictures. There will still be some code, but much, much less. For a while now, I've been interested in data visualization, and this will give me an opportunity to explore that.

This will also be much less Clojure-centric. Clojure will still be here, certainly, but you can also expect some Python, Haskell, F#, and who-knows-what. (BF, anyone?)

First off, I need to brainstorm some post ideas, outline a dozen or so of those, and draft a few to have ready. Once that's taken care of, I'll start posting here again. That won't happen immediately, but I hope to get it done real soon now.

In the meantime, go get Programming Clojure.