Software by Bruce Hill

This is a listing of some of the open source software projects I’ve made. Most of them are simple command line tools or libraries, a few are bigger projects. All of them are released under the MIT license.

The Nomsu Programming Language

The Nomsu programming language is a dynamically typed languaged with natural language syntax and strong metaprogramming capabilities.

Check out the language’s full website at nomsu.org

bb - The Bitty Browser - Command line tool

bb is a minimalist command line file browser meant as an even smaller alternative to file browsers like nnn and Ranger. The whole program clocks in under 2,000 lines of C code, with no external libraries beyond the C standard library. It makes heavy use of shell scripting to attain a high level of flexibility and customizability without code bloat.

Check it out on BitBucket

btui - Bruce’s Text User Interface - Multi-language Terminal Library

BTUI is a minimal, embeddable, single-header-file Text User Interface (TUI) library and alternative to bloatware like ncurses. BTUI aims to be less than 1% the size of ncurses, while also providing a better API for the programmer who is not afraid to roll up their sleeves and manage their own state. If you want a drop-in TUI library that lets you switch into TUI mode, write some strings to the screen with 24-bit color, and get user keypresses in real-time without line buffering, then this is the library for you! BTUI also has language bindings for both Lua and Python.

Check it out on BitBucket

bin - Console Trash Bin Management

bin is a POSIX shell implementation of the Freedesktop.org trashcan specification. It lets you run bin <file> to move a file to the trash bin instead of just rm <file>, which permanently deletes it immediately. Later, the file can be recovered with bin -u <file> or permanently erased with bin -e <file>.

Check it out on BitBucket

ASCII Table - Command line tool

ASCII-Table is an incredibly useful command line program that displays a browsable ASCII table, and can also show and edit raw ASCII values. I used to constantly open Google to get the exact ASCII values, but now no longer!

Check it out on BitBucket

NowOpen - Command line tool

NowOpen is handy command line script that checks the current time and day and prints out which businesses are currently open, and for how much longer. The data is read in from a simple and flexible file format, and using nowopen is several orders of magnitude faster than Yelp, and is a great way to decide where to eat (nowopen food) or figure out if someplace you frequent is still open (nowopen library).

Check it out on BitBucket

Arg - Command line tool

Arg is an incredibly easy to use alternative to getopt and getopts for command line scripting. This tool does one thing, and does it well: it gets one argument from a list of arguments and prints it.

Check it out on BitBucket

Lua Debug TUI (LDT) - Lua library

LDT is a Lua tool for debugging Lua and Moonscript programs. Wrap your code in a function call to LDT and whenver a breakpoint or uncaught error occurs, LDT will open an interactive debugging window. This was invaluable when I was making Nomsu.

Check it out on BitBucket

Lua ImmuTable - Lua library

Lua ImmuTable is a Lua C-API library for immutable tables. Using immutable datastructures is a great way to program, and it’s something that was missing until this library.

Check it out on BitBucket

Hill Noise - Lua library

This is a Lua implementation of Hill Noise, made for use with the LOVE game engine, or generally with Lua.

Check it out on BitBucket

Sampleprof - Lua library

Sampleprof is a Lua profiling library that uses sample profiling (randomly interrupting the program to gather data points) to get a good picture of runtime hot spots while being minimally invasive.

Check it out on BitBucket

LuaDiffer - Lua library

LuaDiffer is a simple Lua diff library, for comparing strings.

Check it out on BitBucket

Nuke - Command line gizmo

Nuke is a silly little command line program that lets you nuke files from orbit with ASCII animations. Because sometimes mere deletion is too good for a file.

Check it out on BitBucket

2pend - Command line gizmo

2pend is a console double pendulum simulator written in C with no external libraries. It’s just plain enjoyable to watch.

Check it out on BitBucket

TB Conway - Command line gizmo

TB Conway is a simple implementation of Conway’s Game of Life written in C with no external libraries. Runs in the terminal and looks pretty.

Check it out on BitBucket

Vim PEG - Vim plugin

This is a syntax plugin for Vim that handles Parsing Expression Grammars.

Check it out on BitBucket


This is a collection of my general configuration files for vim, zsh, etc.

Check it out on BitBucket