Alan Dipert The Homepage™

Open Source

I have written, maintained, revived, and contributed to open-source software since the late 1990s. The role matters. Starting a project, maintaining it, recovering its history, and sending one useful patch are all worthwhile, but they are different kinds of work.

Software I started or helped start

  • fswatch — Original author. I wrote the first macOS/FSEvents implementation in 2009. Enrico M. Crisostomo and I merged it with his portable fsw in 2014, when he took over maintenance. The official history records the handoff.
  • Step and Scalatra — Creator of Step; early Scalatra contributor. Step was the small Scala web framework I started. It became Scalatra as other developers joined and the project found its lasting name.
  • Boot — Co-creator with Micha Niskin. Programmable build tooling for Clojure.
  • Hoplon — Co-author and major contributor. A Clojure and ClojureScript environment for programming web interfaces.
  • Javelin — Co-author and major contributor. Spreadsheet-like dataflow programming for ClojureScript.
  • Gherkin — Author. A functional programming language and interpreter written in GNU Bash 4.
  • storage-atom — Author. ClojureScript atoms backed by browser local and session storage.
  • Intension — Author. Datalog queries over nested Clojure maps and vectors.
  • Enduro — Author. Durable Clojure atoms backed by append-only storage.

Step and Scalatra

I started Step in 2010 as a compact web framework for Scala. The project was renamed Scalatra within its first week. I remained part of the early development, and the surviving history credits me as the person who started it. Today’s Scalatra is the work of the maintainers and contributors who carried it forward.

Older software recovered or revived

ProblemScan

I wrote ProblemScan v1.0 in Visual Basic in February 2000 and submitted it to Planet Source Code. It scans a selected file for strings associated with NetBus, Sub7, and Back Orifice servers. It is early work, kept as history rather than current security advice.

NCSA Mosaic

In 2010 I recovered the public NCSA Mosaic source and republished its history on GitHub. I did not write Mosaic. GitHub covered the restored repository, and contemporary reports appeared in Wired and bit-tech.

Contributions to established projects

  • Clojure: language and build fixes, including work on into-array, unchecked math, n-ary bit functions, and math inlining.
  • Leiningen: build-tool fixes and improvements.
  • Scittle: documentation.
  • ring-undertow-adapter: adapter improvements.
  • j: a contribution to the Common Lisp implementation.
  • JD4X: a small contribution to the Java desktop project; its surviving homepage lists me among its credited contributors.

Professional open source

I made this work while employed by RStudio.

  • Shiny: testing infrastructure, mock sessions, testServer, and related application work.
  • shinyloadtest: load-test recording, analysis, and tooling.
  • shinycannon: Shiny load-generation tooling.
  • httpuv: HTTP and WebSocket server work.
  • shinydashboard: dashboard improvements.

Related talks, papers, and interviews are collected in TechWorks, and selected early essays are in Recovered Technical Writing.