(Update 2025-10-20: I developed these ideas into an Onward! Essay (paper, talk, poster).) (Update 2025-05-13: I see a lot of traffic! I recently got part of Squeak By Example's SBECrossMorph>>horBar working, see this github repo.) Much of the appearance of commitments in programming comes from how programming systems live within the Unix Paradigm. It's very … Continue reading The Unix Binary wants to be a Smalltalk Method, Not an Object
Category: Programming
The Commitments-As-Contracts School of PL Philosophy
(Previously in this series: Isn't late-binding inevitable?) The history of all hitherto existing programming is a history of commitments that are now obsolete. Why does programming suck? Why can't we have nice things? This could be designated as the central question of Programming Hamartiology, i.e. the origin of Sin in the world of programming. My … Continue reading The Commitments-As-Contracts School of PL Philosophy
My LaTeX Workflow, Reminder Notes, and Grumblings
Earlier this year, making my final corrections to my PhD dissertation hammered home the gripes I have about LaTeX, which I periodically grumble about every time I submit a paper, and then forget in relief before the cycle begins again. Like most programming languages, I have a mixed relationship with LaTeX. I recognise it for … Continue reading My LaTeX Workflow, Reminder Notes, and Grumblings
Can We Add Reflection to Machine Code?
It still frustrates me that we can't just interactively bootstrap a self-sustainable programming system from a blank, interactive Unix process with a hex editing interface. Like DEBUG.COM but for the age of the GUI, which you may have realised is around 40 years old by now. I refuse to create what I desire through successive … Continue reading Can We Add Reflection to Machine Code?
Five Heuristics Guiding My Research Interests
(Alternate title: Five Theses Against The State of Programming?) In summary, they are: Premature Commitment delenda est. Implementation, not design, is the bottleneck. Seek the appropriate level of generality. Transcend the ancestral environment. Code is an optimisation of manual change. 1. Premature Commitment delenda est Everything should be malleable and reversible by default; the subtraction … Continue reading Five Heuristics Guiding My Research Interests
Post-tutorial tour of GameMaker
I've been really impressed with "GameMaker Studio 2" after returning to it at long last. Particularly at the streamlining of its user interface and documentation compared to when I last used it. (I am slightly sad that there's no unlimited free trial anymore, but at least "sorry, purchase the Pro edition for the privilege to … Continue reading Post-tutorial tour of GameMaker
Biting the (obj_)bullet
It's happened. The energy slowly building up over many years has finally overflowed the potential barrier and caused action to occur. I have at long last gritted my teeth, swallowed my ego and completed my long orbit to return to my starting position... I have once again downloaded GameMaker! What is now clear is that … Continue reading Biting the (obj_)bullet
What am I aiming for again?
Note: the following article is entirely fictional. Its use is solely as a sketch of the sort of thing I'd write if/when I eventually succeed in my work. How to create your own introspective sandbox from scratch in 1 hour Today, we will create a web page that: Is made of 2D SVG shapes Which … Continue reading What am I aiming for again?
Isn’t late-binding inevitable?
(Bugger, one of several drafts that's recently turned one year old! Originally titled "The inevitability of late-binding" as I boldly intended to thoroughly demonstrate why late-binding is the most natural way for things to move. However, I'm nowhere near that yet, so it remains merely a hunch. Thus I have added a hasty speculative bit … Continue reading Isn’t late-binding inevitable?
Reflections on the evolution of a toy system
A while ago, I abandoned my graph-drawing track in BootstrapLab and started over in a new direction. This was productive, but now that I'm coming to a stage of increased friction with the sorts of things I'm trying to add, I feel this is a good time to pause and discuss what I've been doing. … Continue reading Reflections on the evolution of a toy system