Lucid Glitch
Posts
2025
Building Strange Loops with GPT
(2025-08-20)
From Assistant to Collaborator: The GPT experience gets better when it works with you
Java’s Daemon Threads and Their Roots in Ancient Greece
(2025-08-13)
From Sokrates’ whispering spirit to a Victorian physics prank and into your Java code. Daemon threads have been working quietly in the background for over two millennia.
Computational Expressions in Java
(2025-07-04)
Simplify error handling further with computational expressions, in Java
Early functional Fortran
(2025-06-27)
Was early fortran a functional assembly language
Why Relational Databases Are Absurd
(2025-03-30)
A rant about how SQL databases forget the past and how immutable, append-only models like Datomic offer a better approach.
Backronym Programming Language Poetry
(2025-03-24)
A whimsical walk through programming languages as acronym spells and poetic code-rants. Nerdy wordplay and irreverent insights.
Java without exceptions
(2025-01-25)
Java without exceptions. Using Result in Java
2024
Twos complement
(2024-09-18)
How I built a tiny computer
Turn your comments into test
(2024-04-29)
Automate your Rich-comments and turn them into e.g. testcases
The 14-Year-Old Who Gave Lisp a Home
(2024-01-23)
From building Lisp on the PDP-1 at age 14 to shaping the future of programming
2023
Emacs, Java, and the Finger-Twisting History Between Them
(2023-09-18)
The unexpected historical overlap between Emacs, Java, and the people who shaped both.
The Teletype Model 33 – And the Curse of line breaks
(2023-09-18)
The Teletype Model 33 is often blamed for why Windows and Linux have never quite agreed on how to break a line of text
The Tip-Ex key
(2023-09-18)
A brief and geeky history of the Delete key, ASCII 127, and how mistakes used to be punched into paper.
Worry About Data Structures
(2023-09-18)
Why thinking about data, not syntax, might be the best thing you've done for your code all year.
Pioneering Women in Programming
(2023-03-05)
From Ada Lovelace to Fran Allen — a tribute to the women who quietly (and not-so-quietly) built the foundation of modern computing.
2020
Lock-free Atoms in F# and Java
(2020-02-18)
Lock-free update of state in Java and F# using the the atom model
2017
Iterables for functional transformation
(2017-02-18)
Use recursion with a trampoline to implement functional transformations in Java
Map, Filter, Fold with optimized recursion
(2017-02-17)
Use recursion with a trampoline to implement lazy versions of map, filter and fold
Immutable Beans in Java
(2017-01-17)
Using AtomicReference to maintain immutable data with transactional updates in Java
2016
Isolation Levels and Write Skew
(2016-10-08)
A few notes on isolation levels in relational databases
Functional Composition and Threading Calls in Java
(2016-03-08)
Compose to get some flow in Java
Expressive Conditionals in Java - Reclaiming the 'if' expression
(2016-03-06)
Replace noisy if statements in Java with expressive, composable alternatives. An implementation of the cond expression for java, similar to the ones in Lisps, using lambda expressions.
Random Functional Values
(2016-01-20)
Reapeatable randomness
2015
Tail Call Recursion in Java
(2015-10-08)
Tail calls in java using a trampoline
2013
Reducers & Leibniz
(2013-07-01)
Trying out reducers while searching for 𝜋
Read Eval Print Loop like Art
(2013-05-25)
The source code of REPL is literally (-> (read) (eval) (print) (Loop))
Hello World Polyglot in Brainf*ck and Whitespace
(2013-04-09)
Esoteric fun with mixing Brainf*ck and Whitespace in the same file
2012
Fibo
(2012-12-18)
An interesting walk in lazy calculation of fibo numbers lazilly
2005
Strings: Thread Safe at Last
(2005-05-22)
Java String is finally thread safe
All
#ai
#art
#clojure
#csharp
#data-structures
#database
#datomic
#emacs
#fortran
#fsharp
#functional
#gpt
#haskell
#history
#immutability
#java
#jit
#jmm
#lambdas
#lisp
#pioneers
#poetry
#programming
#programming-philosophy
#randomness
#rant
#reducers
#repl
#smalltalk
#sql
#threads
#unix
#women