Chapters: Ch 1 · Ch 2 · Ch 3 · Ch 4 · Ch 5
Haskell
Euterpea — Music Composition DSL in Haskell Euterpea is a Haskell library for algorithmic music composition developed at Yale, built on Paul Hudak’s work connecting functional programming and music theory. It provides abstractions for notes, chords, instruments, and musical transformations that compose like any other Haskell functions. https://www.haskell.org/euterpea/
Unison Programming Language (Haskell / Stack) Unison is a programming language designed and implemented in Haskell using the Stack build tool. Its content-addressed code model, algebraic abilities (effects), and built-in distributed computing make it a unique laboratory for exploring what programming could look like with a clean slate. https://github.com/unisonweb/unison
Nushell
Writing Shell Scripts in Nushell (jpospisil.com) Tutorial on using Nushell’s structured data model for scripting: how Nushell represents command output as tables rather than plain text, enabling pipelines that process data without awk/sed parsing. Demonstrates practical Nushell scripting patterns for common automation tasks. https://jpospisil.com/2023/writing-shell-scripts-in-nushell
Exploring Nushell (LogRocket) LogRocket’s introduction to Nushell for developers familiar with bash: the type system, plugin architecture, and how structured pipelines simplify operations like filtering JSON or processing CSV that require jq/awk in traditional shells. https://blog.logrocket.com/exploring-nushell/
In Praise of Nushell (lars.yencken.org) Personal essay arguing for Nushell as a superior shell for data-oriented scripting: the comparison to PowerShell’s object pipelines, how structured data eliminates fragile text parsing, and why Nushell’s learning curve is worth the investment. https://lars.yencken.org/in-praise-of-nushell
Nushell ArchWiki Arch Linux wiki page on installing and configuring Nushell, including integration with system utilities, prompt configuration, and environment variable management. The ArchWiki is often the most concise and accurate reference for shell configuration details. https://wiki.archlinux.org/title/Nushell
Solene: Nushell Intro Article (dataswamp.org) Solène Rapenne’s introduction to Nushell from an OpenBSD/sysadmin perspective, focusing on practical day-to-day shell replacement use cases and how Nushell handles the POSIX compatibility trade-offs that prevent it from being a drop-in bash replacement. https://dataswamp.org/~solene/
casey/just — Command Runner just is a command runner (not a build tool) that provides a cleaner Makefile alternative for project-specific commands: no implicit dependencies, better error messages, and shell-agnostic syntax. Useful for documenting and standardizing developer workflows. https://github.com/casey/just
Nushell Command: Parse alar.txt Linkchecker Output to JSON
Nushell regex pipeline for parsing linkchecker output from the alar.ink Kannada dictionary tool into structured JSON — extracting URL, Name, Parent URL, and Real URL fields. Demonstrates Nushell’s parse -r for regex-based structured extraction and to json for output.
open alar.txt | parse -r '(((URL *\x60(?P<Url>[^\x27]*)\x27)\n)|((Name *\x60(?P<Name>.*)\x27)\n)|(Parent URL *(?P<Purl>(?P<phttp>[^,]*), line (?P<pline>[^,]*), col (?P<pcol>[^\n]*))\n)|((Real URL *(?P<Rurl>.*))\n)){4}' | select Url Name Rurl phttp pline pcol| to json | save -f "alar-url.txt"
Nushell Kannada Character Class Variables (for alar.ink Analysis)
Nushell environment variable setup defining Kannada character class regex patterns for analyzing the alar.ink Kannada dictionary corpus — vowel blocks, consonant blocks, conjunct consonants — and grepping for words of specific syllable structures.
$env.vowelfull = $env.vowel + $env.vowelend
$env.consnooth = $env.cons + $env.consend
$env.consotth1 = $env.cons + $env.hal + $env.cons + $env.consend
$env.consotth2 = $env.cons + $env.hal + $env.cons + $env.hal + $env.cons + $env.consend
$env.block = $"\(\(($env.vowelfull)\)|\(($env.consnooth)\)|\(($env.consotth1)\)|\(($env.consotth2)\)\)"
egrep $"\^($env.block){5}[್]?\$" alar-212-sorted-uniq-2.txt | save -f alar-5.txt
# Result: 21416 words of 5+ syllables
The Life and Times of an Abstract Syntax Tree
The Life and Times of an Abstract Syntax Tree (blog.trailofbits.com) Trail of Bits’ deep dive into how compilers and analysis tools represent and transform Abstract Syntax Trees: construction, traversal, transformation patterns, and the practical challenges of maintaining source location information through optimization passes. https://blog.trailofbits.com/
Logic / Formal Verification
CPSC-298: Logic in Software Engineering (Lean), LeanDojo, and Lean Copilot Resources on using the Lean 4 theorem prover for formal verification in software engineering: course materials, LeanDojo’s environment for training ML-based proof search, and Anima Anandkumar’s Lean Copilot for LLM-assisted theorem proving.
Terry Tao: Pilot Project in Universal Algebra with Machine Assistance Terry Tao’s blog post on a collaborative mathematics research project exploring universal algebra theorems with machine assistance, describing how crowd-sourced human expertise combined with automated verification tools can tackle problems too large for individual mathematicians. https://terrytao.wordpress.com/2024/09/25/a-pilot-project-in-universal-algebra-to-explore-new-ways-to-collaborate-and-use-machine-assistance/
Concurrency / OS
Rearchitecting Core Services at X (Mike @cambridgemike) Tweet thread by a senior X (Twitter) engineer on the architectural decisions involved in rebuilding core services at X: database choices, service decomposition, and the performance characteristics of their infrastructure at massive scale. https://x.com/cambridgemike/status/1835774409786986572
TinyURL + PasteBin — Systems Design Interview (YouTube) Classic system design interview walkthrough for two foundational distributed systems: URL shortener (TinyURL) and text/code sharing (PasteBin). Covers distributed ID generation, sharding, caching, and CDN strategies applicable across many backend service designs. https://youtu.be/5V6Lam8GZo4
GitHub: Coder-World04/Complete-System-Design Comprehensive system design reference repository covering distributed systems patterns: consistent hashing, CAP theorem, load balancing, sharding strategies, and case studies of how real systems (Netflix, Uber, WhatsApp) implement them. https://github.com/Coder-World04/Complete-System-Design
GitHub: Coder-World04/Tech-Interview-Important-Topics Repository covering the most important topics and techniques for technical interviews at top tech companies: data structures, algorithms, system design, behavioral patterns, and company-specific patterns at Google, Amazon, Meta, and similar firms. https://github.com/Coder-World04/Tech-Interview-Important-Topics-and-Techniques
Neo Kim: How Instagram Scaled to 2.5 Billion Users (@systemdesign42) Detailed Twitter thread from systemdesign42 covering Instagram’s scaling journey: from single-server Django app to global multi-region infrastructure — database sharding, CDN, media storage, and the architectural pivots made at each order-of-magnitude growth stage. https://x.com/systemdesign42/status/1800491019663970354
Java
Dining Philosophers (LeetCode, Java)
Java: Dining Philosophers Solution Classic synchronization problem implementation in Java using ReentrantLocks with a resource hierarchy to prevent deadlock: philosophers always acquire the lower-numbered fork first, breaking circular wait. Demonstrates Java concurrent locking primitives in a canonical CS problem.
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.ArrayList;
class DiningPhilosophers {
private final ArrayList<Lock> forks = new ArrayList<Lock>();
public DiningPhilosophers() {
for (int i = 0; i < 5; i++) {
forks.add(new ReentrantLock(false));
}
}
// ... wantsToEat method with lock ordering
}
https://leetcode.com/problems/the-dining-philosophers/