Software engineer at Canonical. Author of GoAWK, inih, and Python's os.scandir(). Technical writer.
inih. Simple .INI file parser in C, good for embedded systems
3kgoawk. A POSIX-compliant AWK interpreter written in Go, with CSV support
2kscandir. Better directory iterator and faster os.walk(). Archived, as this has been in the stdlib since Python 3.5.
538dhash. Python library to calculate the difference hash (perceptual hash) for a given image, useful for detecting duplicates
376pygit. Just enough git (written in Python) to create a repo and push to GitHub
333countwords. Playing with counting word frequencies (and performance) in various languages.
308protothreads-cpp. Protothread.h, a C++ port of Adam Dunkels' protothreads library
210ht. Simple hash table implemented in C
191pybktree. Python BK-tree data structure to allow fast querying of "close" matches
189pyast64. Compile a subset of the Python AST to x64-64 assembler
146mugo. Mugo, a toy compiler for a subset of Go that can compile itself
129loxlox. Lox interpreter written in Lox
128go-routing. Different approaches to HTTP routing in Go
120littlelang. A little language interpreter written in Go
100go-1brc. My Go solutions to the One Billion Row Challenge
85third. Third, a small Forth compiler for 8086 DOS
84graphyte. Python 3 compatible library to send data to a Graphite metrics server (Carbon)
80prig. Prig is for Processing Records In Go. Like AWK, but snobbish.
64gogit. Just enough of a git client (in Go) to init a repo, commit, and push to GitHub
51cdnupload. Upload your site's static files to a directory or CDN, using content-based hashing
51simplelists. Tiny to-do list web app written in Go
51web-service-stdlib. Rewrite of Go RESTful API tutorial using only the stdlib
50pas2go. Pascal to Go converter (converts a subset of Turbo Pascal 5.5)
46nibbleforth. A very compact stack machine (Forth) bytecode
34symplate. Symplate, a simple and fast Python template language (NOTE: no longer maintained; use Jinja2 or Mako instead)
32zztgo. Port of ZZT to Go (using a Pascal-to-Go converter)
30fe. Bruce Hoyt's Forth Editor (Dad's editor that I grew up coding with)
27gosnip. Run small snippets of Go code from the command line
26python-pentomino. Pentomino puzzle solver using Python code generation
23benhoyt.github.com. Source code for my website
19betterwalk. BetterWalk, a better and faster os.walk() for Python -- DEPRECATED, see my "scandir" project
17namedmutex. namedmutex.py, a simple ctypes wrapper for Win32 named mutexes
16awkmake. Code to go with my article "The AWK book's 60-line version of Make"
16io-performance. Code repo for https://benhoyt.com/writings/io-is-no-longer-the-bottleneck/
14benos. A tiny 32-bit Forth operating system I wrote when I was 16
14soft404. Soft 404 (dead page) detector in Python
13repike. Rob Pike's simple regex matcher converted to Go
11false-forth. A False compiler and interpreter written in ANS Forth
9counter. Fast hash table for counting short strings in Go
8py-1brc. Optimising the One Billion Row Challenge (1BRC) in Python
5mro. MRO is not an ORM - Map Rows to Objects with web.py
3juju. Simple, secure devops tooling built to manage today's complex applications wherever you run your software.
1wysihtml5. Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.
1refreshbooks. A Python FreshBooks API client
1