home page of dan zwell


various creative things I've taken part in

Open Source projects

Git - Fast Version Control System

I added colored prompts to "git add --interactive". At the time, another user complained that the interactive mode of this program was unusable. (He was right--the eyes could barely track it.) Mostly to learn perl, I added color support, and a couple other small features.


other (possibly) interesting things I've done

A few example Python GIMP plugins

This is not a tutorial--it does not go into enough detail. But it clears up a few matters that the official documentation is not clear on. I posted a script that resizes an image down to user-specified dimensions, maintaining the original aspect ratio, and a script that adds a border to an image.

A Parallel, lazy map in Haskell

Haskell parallelism is easy enough that somebody who has never written multithreaded code can use it. The following is a derivation and definition of mapP, a parallel substitute and drop-in replacement for map.

A hack for smooth scrolling in Emacs

Emacs mouse scrolling is somewhat obnoxious. I assume this depends on which gui toolkit you are using, but the mouse wheel moves the page by six lines, which is enough for me to lose tracking. See hack here that fixes this problem.

C++ tricks

C++ macros and idioms to accomplish interesting things

An "eval_once" macro

A macro to ensure that a block of C++ code is only evaluated once.