Christchurch, New Zealand

Ben Hoyt

Elite
@benhoyt

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

3k

goawk. A POSIX-compliant AWK interpreter written in Go, with CSV support

2k

scandir. Better directory iterator and faster os.walk(). Archived, as this has been in the stdlib since Python 3.5.

538

dhash. Python library to calculate the difference hash (perceptual hash) for a given image, useful for detecting duplicates

376

pygit. Just enough git (written in Python) to create a repo and push to GitHub

333

countwords. Playing with counting word frequencies (and performance) in various languages.

308

protothreads-cpp. Protothread.h, a C++ port of Adam Dunkels' protothreads library

210

ht. Simple hash table implemented in C

191

pybktree. Python BK-tree data structure to allow fast querying of "close" matches

189

pyast64. Compile a subset of the Python AST to x64-64 assembler

146

mugo. Mugo, a toy compiler for a subset of Go that can compile itself

129

loxlox. Lox interpreter written in Lox

128

go-routing. Different approaches to HTTP routing in Go

120

littlelang. A little language interpreter written in Go

100

go-1brc. My Go solutions to the One Billion Row Challenge

85

third. Third, a small Forth compiler for 8086 DOS

84

graphyte. Python 3 compatible library to send data to a Graphite metrics server (Carbon)

80

prig. Prig is for Processing Records In Go. Like AWK, but snobbish.

64

gogit. Just enough of a git client (in Go) to init a repo, commit, and push to GitHub

51

cdnupload. Upload your site's static files to a directory or CDN, using content-based hashing

51

simplelists. Tiny to-do list web app written in Go

51

web-service-stdlib. Rewrite of Go RESTful API tutorial using only the stdlib

50

pas2go. Pascal to Go converter (converts a subset of Turbo Pascal 5.5)

46

nibbleforth. A very compact stack machine (Forth) bytecode

34

symplate. Symplate, a simple and fast Python template language (NOTE: no longer maintained; use Jinja2 or Mako instead)

32

zztgo. Port of ZZT to Go (using a Pascal-to-Go converter)

30

fe. Bruce Hoyt's Forth Editor (Dad's editor that I grew up coding with)

27

gosnip. Run small snippets of Go code from the command line

26

python-pentomino. Pentomino puzzle solver using Python code generation

23

benhoyt.github.com. Source code for my website

19

betterwalk. BetterWalk, a better and faster os.walk() for Python -- DEPRECATED, see my "scandir" project

17

namedmutex. namedmutex.py, a simple ctypes wrapper for Win32 named mutexes

16

awkmake. Code to go with my article "The AWK book's 60-line version of Make"

16

io-performance. Code repo for https://benhoyt.com/writings/io-is-no-longer-the-bottleneck/

14

benos. A tiny 32-bit Forth operating system I wrote when I was 16

14

soft404. Soft 404 (dead page) detector in Python

13

repike. Rob Pike's simple regex matcher converted to Go

11

false-forth. A False compiler and interpreter written in ANS Forth

9

counter. Fast hash table for counting short strings in Go

8

py-1brc. Optimising the One Billion Row Challenge (1BRC) in Python

5

mro. MRO is not an ORM - Map Rows to Objects with web.py

3

juju. Simple, secure devops tooling built to manage today's complex applications wherever you run your software.

1

wysihtml5. 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.

1

refreshbooks. A Python FreshBooks API client

1
44
Apply