Escaping the Software Goliaths: Towards Freer and Safer Computing

2025-06-13

Frustrated with the expense, unreliability, and slowness of modern software, the author proposes an alternative: favor software with fewer users, infrequent updates, easy modification, and a thriving fork culture. Using his own journey with Lua and the LÖVE game engine as a case study, he details how to build a small, self-sufficient software ecosystem. He encourages readers to fork and modify existing software to meet their needs, ultimately achieving a more free and secure computing experience. This approach champions simplicity and practicality, challenging the drawbacks of traditional software development.

Read more
Development

Graphical Debugging of the Hilbert Curve: A Visual Programming Journey

2025-05-22

The author advocates for a minimalist programming style and uses Lua and LÖVE to graphically debug a recursive function for computing the Hilbert curve. Through iterative visualization improvements, including a text log, replay log, surface drawing, and an 'exploding view' drawing, the author clarifies the algorithm's complexities. The process culminates in a sophisticated debugging UI, offering valuable insights and reusable patterns for future debugging tasks.

Read more
Development graphical debugging

Rethinking Literate Programming: Is Knuth's Approach Obsolete?

2025-01-13

This article offers a critical examination of Donald Knuth's literate programming approach. The author argues that Knuth's method overemphasizes typesetting while neglecting the crucial aspect of code organization, resulting in static, less interactive documentation. The author advocates for a literate programming style that prioritizes code organization and interactive feedback, illustrating its advantages with a simple interpreter he created. The key takeaway is that effective literate programming should allow developers to modify and run code directly within their programming environment, not just passively read a static document.

Read more

Revisiting Barricelli's Cellular Automata: Spontaneous Generation of Life

2025-01-07

This article explores the work of Nils Aall Barricelli, who pioneered cellular automata 15 years before John Conway. Barricelli's 'symbioorganisms' model, in a finite, circular 1D space, simulates the movement and interaction of different elements through simple rules of collision elimination, positional replication, and mutation. The simulations reveal that even with simple rules, stable periodic patterns spontaneously emerge, resembling the spontaneous generation of life. The author delves into the stability of these patterns and proposes combining early universe simulations with simulations of abiogenesis to find more efficient ways to explore life's origins.

Read more