Nathan Keynes
Software Engineering
About
Nathan is a seasoned software engineering leader with a passion for accelerating software development through superior tooling, infrastructure, and a focus on system simplicity and developer experience.
He's currently employed at Shorthand, working on creating the next generation of innovative digital storytelling tools.
Research interests include: Programming language design and implementation, Software engineering tools, Computer vision, and Static analysis.
Open Source
Fabr
Active development
2022-
Fabr is a build orchestration tool designed to provide fast, accurate builds, even in complex scenarios involving multiple languages, cross-compilation, and multi-pass builds, based on long experience with build integration.
Fabr development is currently focused on the JS/TS ecosystem, and supports a broad range of build scenarios.
Lxdream
Maintenance
2004-
A portable SEGA Dreamcast emulator for Linux and macOS. Lxdream was (to the best of my knowledge) the first open source Dreamcast emulator to support the full hardware platform, including dynamic translation of the SH4 CPU + 3D acceleration of the PVR2 engine.
ELR
Maintenance
2007-
An enhanced LR parser implementation that resolves lexical ambiguities through integrated lexical and syntactic analysis. The main advantages of this approach are that it uses a single specification for both lexical and grammatical rules, and it can automatically resolve lexical ambiguities using the parser state (where otherwise you would need to define manual start states in the scanner along with callbacks from the parser rules).
As a side-benefit, the parser also supports full LR(1) parsing (not just LALR(1) ).