Software & Open Systems
Programs, protocols, open systems, and the long practical history of making machines do one useful thing correctly.
A Few Places to Begin
Representative entry points from across the site.
-
FreeGrep
A BSD-licensed implementation of grep, originally written to understand finite-state matching and later adopted into the source trees of both NetBSD and OpenBSD; it subsequently became the standard grep in Minix 3.
-
Computational Methods for Numerical Analysis with R
A numerical-analysis text written around R as the working environment. It follows the standard sequence—error, linear algebra, interpolation, integration, optimization, and differential equations—while keeping the algorithms close enough to run, inspect, and alter. The companion
cmnapackage carries the examples beyond the printed page. -
The Case for RISC-V
Scholarship
-
Phonetic Spelling Algorithm Implementations for R
A scholarly software paper on the phonics R package, which implements phonetic algorithms for record linkage and related work. It is a good example of software treated as a method that should be inspectable, reusable, and citable.
-
Blockchain Compliance with Federal Cryptographic Information Processing Standards
This paper asks the unglamorous but necessary question behind a technical proposal: whether a blockchain design can satisfy the standards and governance requirements of the system it is supposed to serve.
Books
-
Computational Methods for Numerical Analysis with R
A numerical-analysis text written around R as the working environment. It follows the standard sequence—error, linear algebra, interpolation, integration, optimization, and differential equations—while keeping the algorithms close enough to run, inspect, and alter. The companion
cmnapackage carries the examples beyond the printed page.
Software
-
FreeGrep
A BSD-licensed implementation of grep, originally written to understand finite-state matching and later adopted into the source trees of both NetBSD and OpenBSD; it subsequently became the standard grep in Minix 3.
-
cmna
The companion package to Computational Methods for Numerical Analysis with R. It puts the algorithms from the book in runnable, inspectable form so that approximation, error, and numerical choices can be seen rather than merely asserted.
-
phonics
Phonetic encoders for English, German, and French names, plus comparison methods used in record linkage. It began with a county-data merge that needed more than wishful spelling normalization and became published, citable research software.
-
Small Unix utilities
daemon, rpt, uwatch, and write are small programs from the era when a utility could be worth having simply because it did one job cleanly. They are preserved as source and as a record of the systems work that preceded the larger projects.