Eric Naeseth: open-source software developer

Hello. My name is Eric Naeseth, and I am a senior computer science major at Carleton College who has spawned a number of open-source projects. Many of these were started in my capacity as the IT engineer for Carleton’s student radio station, KRLX.

In general, these projects are:

I’m quite sorry about that last bullet point, but this site exists to rectify it. Over time, I will be adding pages for each of these projects to give them the documentation they deserve.

In the meantime, if you see anything you like, feel free to drop me a line and say hello, or follow me on GitHub or Twitter. All of these projects are hosted on GitHub, so if you want to make any changes to them, just fork them and hack away!


Swirl is a small module that lets you write asynchronous code using Tornado without using callback function to do so.


Bop is one of many Web frameworks for Python. The central idea of Bop is that you should write Web applications like you write anything in Python: by importing modules and writing your code. There is very little magic, and no directory structures or code to generate. As a result, you need to learn very little to get started with Bop, and its more advanced features can be learned as needed, making Bop ideal for learning Web development.


Permanence is an automatic scheduled recording system. KRLX relies on Permanence to record its live programming for later podcasting. It is flexible: Permanence uses a driver model for audio capture and storage, and users can write their own drivers to make Permanence interact with new systems. Users can also define hook scripts that will be executed when certain recording events happen.

Permanence is in active use at KRLX, and its codebase has stabilized, but it is still poorly documented.


Jackoff is a simple utility for recording audio from JACK and saving it to a file in a number of formats. Jackoff is stable, and has sufficient documentation, including online documentation by running jackoff --help.