This page summarizes links and publications that are mentioned elsewhere on this site, and a few that aren't.
Open-source Go code. A selection of my open-source libraries and other tools.
Writing GNU Emacs Extensions. I wrote the O'Reilly book on programming Emacs in its extension language, Lisp.
The magic of the blockchain and Behind the magic of the blockchain, my explainers for laypersons.
Chain Core code repository.
Ivy, the high-level smart-contract language for Chain Core. Godoc link; blog post.
TxVM, the transaction virtual machine. Blog post; whitepaper. Additional article: Feature development with TxVM.
Tredd (trustless escrow for digital data), the zero-knowledge contingent payment system allowing safe and secure content delivery, built with TxVM. Code link; Medium post. Bonus: Frontier sets.
Pgtenant, a new technique for achieving tenant isolation in hosted services. Medium post; code link.
Scp, the first clean-room implementation of the Stellar Consensus Protocol. Bonus: the protocol illustrated step-by-step in a round of deciding where to order lunch.
Understanding the Stellar Consensus Protocol, the definitive explainer.
Slidechain, demonstrating the use of a TxVM blockchain as a sidechain for Stellar. Code link; detailed description.
My contribution to improving the performance of Stellar Core.
Starlight, lightning-network-style payment channels on Stellar.
Project Slingshot, including ZkVM, the zero-knowledge virtual machine, the next evolution of TxVM.
Requiem for Warhol, commemorating the YouTube Video Editor.
Custom IMAP client achieving high throughput with cooperative multitasking and non-blocking I/O.
Representing the IMDb at the Webby Awards and on TV.
SPOOR, the Simple, Poor-man's Object-Oriented Runtime, for writing object-oriented code in vanilla C. Code link; documentation. Related: SPOOR Core, the SPOOR widget set.
Z-POP, the specification for a clever POP server/client synchronization algorithm.
Libraries of reusable code for vanilla C: Dynadt, library of Dynamic, Abstract Data Types. SPAMM, the Simple, Poor-man's Allocator and Memory Manager (a garbage collector). Except, a library of exception throwing and handling macros. MIME, a MIME parser.
The Andrew Remote Demo instruction page.
Outlived. Who died on this date in history? Who have you recently outlived?
Kill Ralphie! A storytelling game.
Counting the bits at YouTube. A presentation to fifth graders about some of the math and technology behind YouTube videos.
When you click a YouTube link. Another presentation about YouTube, this one for seventh graders, about the steps involved in playing a video in your web browser.
Latte, a Lisp-like Language for Transforming Text; and its successor, Blatte, a Better Language for Transforming Text.
Filtering electronic messages June 2006
Caching email messages within a wireless data service April 2007
Synchronizing email messages between external and local email servers and/or a wireless device April 2007
Selective removal of audio content from a mixed audio recording June 2012
Collaborative video editing in a cloud environment November 2013
Perceptual characteristic similarity for item replacement in media content January 2015