Infinite Negative Utility

This is the software-focused website of Getty Ritter. Below are a sampling of my technical projects and pursuits.

Infinite Negative Utility Journal is my software-focused blog: this often focuses on technical topics related to programming languages like structural typing or object representation in pure functional languages, but drifts into adjacent topics from time to time.
Matzo is a small dynamically-typed programming language for producing structured random text.
Lament Configuration is a minimal self-hostable bookmarking service. My personal instance is running at remember.when.computer.
Apicius is a textual format representing recipes in a graph-inspired way. This allows recipe visualizations which explicitly capture parallel steps, sub-preparations, and so forth, providing a terse and readable non-linear representation of how recipes come together.
TeLML is a barebones extensible markup language intended for producing HTML documents. It has a uniform syntax inspired loosely by TeX, but can be extended with Lua to produce new document-specific markup.
s-cargot is a Haskell library for generically parsing and serializing s-expressions. Unlike other s-expression libraries, s-cargot is designed for maximum flexibility, meaning that it can be used to assemble a parser or serializer for entire families of s-expression formats by combining pre-existing components, including support for various atom types and reader macros.
config-ini is a Haskell library for parsing and serializing INI configuration files. The unique part of config-ini is its bidirectional parsing technique, in which the same spec is used to parse from text to in-memory data, serialize in-memory data to text, and interleave both: for example, config-ini can be used to do diff-minimal update, where a config file is changed in-place, preserving key ordering, whitespace, comments, and so forth.

Questions? Comments? Just want to chat? You can get in touch with me on Mastodon at @aysamanra@sometimes.when.computer, or via email at gdritter at infinitenegativeutility dot com.

I am currently working on the Ruby Infrastructure team at Stripe, working on tools like Sorbet. My résumé is here, but note that I am not currently looking for a job and I do not respond to unsolicited recruiter emails.

©2024 Getty Ritter