Juan Patten


Things I’ve made to scratch various itches

Hoot Docs Source

Hoot is a tool for dynamically generating any kind of textual content. It’s simple yet powerful. I’ve used it to generate HTML, CSS, LaTeX, SQL, and more. This website is powered by Hoot.

By way of analogy  —  Hoot : Tcl :: Jinja : Python

jsJot App Source

jsJot is a “calculator scratchpad” in the vein of Soulver, Numi, or Calca. But instead of inventing its own language or syntax, it’s just Javascript, with some creature comforts like auto-pairing brackets and parens. The core code is surprisingly simple, given how useful and convenient it is.

Brunicode App Source

Brunicode is a wicked-fast unicode browser and searcher. Think “wicked-fast” is an odd way to describe a tool that lists glyphs in a grid? Try rendering the full unicode range at once and watch your browser grind to a halt.

PDF BBQ App Source

PDF BBQ is a side-by-side playground for cooking up PDFs. I’ve used it to – for instance – make custom dot-grid and music staff paper, and to generate mazes to print out for my nephew. Powered by PDF-Lib.

Jif App Source

An elegant text editor for writing prose, in the spirit of iA Writer, but with some conveniences like auto-pairing quotes & parens, and “triggers” (like imap in vim). Configurable via JavaScript, with a built-in config editor.


Some small packages I use to build other things

Zest Source

A single-header, simple unit testing library for C++

Fest Source

A single-header, simple unit testing library for C

SSVG Source

A wafer-thin wrapper around native SVGElement that makes creating and manipulating SVGs as painless as possible

Sex Source

An S-Expression parser that's as simple as it can possibly be while still being useful. Features include an API for custom readers, optional pretty printing. Written in C with no dependencies.

There are more projects on my GitHub.