As You Mean to Go On

I've not posted for a long time. A lot of things have changed since I last wrote, and this post is probably not the best place to recount all of them. Indeed many things haven't changed, but the highlights.. I'm still living in New York, but I bought a coop in Brooklyn and moved, which has been great. I'm surprised at how quickly I have felt at home and rooted. The sequence of changes in my life that brought me there are simple, really, but I've struggled to make sense of things even so.…

Keep reading

Writing More Again

I haven't really written very much in the past six months or more, and while I think I've done cool things and learned about cool things, Let me take that back. I haven't written anything in a sustained sort of way that wasn't for work. Hell, even what I've been doing for work has been smaller and more tactical. Unfortunately you don't write books, or book-like-objects as small tactical approaches.…

Keep reading

Fabric Complexity

I've been a big fan of fabric which is a Python tool for deployment orchestration: deploying a new release of an application, uploading files, deploying new configurations to a group of hosts in a cluster. Before fabric, the options were either to write fragile shell scripts that often didn't do a good job of handling multiple hosts, or use more heavy weight configuration management tools, which had a lot of overhead and bother.…

Keep reading

Best Practice Practices

At work people often ask for more "best practices" guides. In some ways this is sign of success: they're no longer begging for fundamental reference material and descriptions of basic use. Nevertheless I almost always wince: 1. "Best practices" carries an implicit sense of guarantee along the lines of "if you adhere to the best practices, then you won't run into problems," which is sort of difficult to assert with confidence, and is really a product design issue, not a documentation issue.…

Keep reading

Common Lisp Scripts

As part of my project to learn common lisp, or at least write more common lisp as part of my day to day work and life, I've This is a total rip off of this blog post, with a few minor changes: I hacked some makefile goodness so that it will automatically create binaries for all .lisp files, and means that you can drop a script in the directory and not have to edit the makefile to get the magic to happen.…

Keep reading

Common Lisp Progress

The backstory: I'm trying to learn Common Lisp. It's sort of an arcane programming language with a few aspects that I rather like, and I'm viewing this as an exercise to generalize my programming experience/knowledge. I've written some common lisp over the years, mostly because I use stumpwm, but I've been struggling to find a good project to start on my own or hack on an existing project. A few weekends ago, I started hacking on coleslaw, which is a static site generator written in common lisp.…

Keep reading

Learning Problems

Learning how to make computer software is hard. Not fundamentally hard: lots of people can do it, and even more people do things that are functionally equivalent to programming though they wouldn't think of it as such. But teaching people how to write good computer software is a challenge, and one that I'm generally interested in exploring more. For a long time, I've been interested in this problem from the outside: I didn't really know how to program in any meaningful sort of way and I was interested in deconstructing the process of making software.…

Keep reading