A year with OpenAI's Codex

2026-09-24 CC-BY

Over the past year I have used Codex to try things I had wanted to do for a long time, and others that only occurred to me once trying became simple enough.

Simpler attempts:

I learn a lot from finding and fixing quirks in these projects. Most of the work is in getting the details of behavior right. Apart from separating external calls from core logic, abstractions and OOP patterns haven’t made that work much easier for me.

I want to try Verus for Rust and see how much specification and proof code it takes, and how verification changes the design. I expect the code to move toward explicit state machines, with each state carrying the data it needs. Encapsulation alone leaves that state implicit in combinations of flags, optional fields and other variables. I want the current state and its allowed transitions to be explicit, making invalid combinations harder to represent and error recovery easier to reason about and prove correct.

There are many ideas that build on things I already have, or explore other parts of my interests. Time is limited. I would have left most of these unattempted, and now I get to find out where they land.

Bibliography

[Arms07]
[AvVi09]
[Dona80]
Donaghey, Robert: Automorphisms on Catalan trees and bracketings. In: Journal of Combinatorial Theory, Series B Bd. 29 (1980), Nr. 1, S. 75–90
[LoRo98]
Loday, Jean-Louis ; Ronco, Maria O.: Hopf Algebra of the Planar Binary Trees. In: Advances in Mathematics Bd. 139 (1998), Nr. 2, S. 293–309
[Shap79]
Shapiro, Louis W.: The Cycle of Six. In: The Fibonacci Quarterly Bd. 17 (1979), Nr. 3, S. 253–259
[Vien18]
Viennot, Xavier: The Art of Bijective Combinatorics, Part III, Chapter 4: Trees and Tableaux. URL https://viennot.org/abjc3-ch4.html. - abgerufen am 2026-09-24

  1. Start with the empty forest \(A_0 = \varnothing\). Here \(R\) geometrically mirrors an ordered forest, reversing the order of its trees and of the children at every node. The binary-tree mirror \(M\) swaps left and right at every node. It acts on forests through a bijection \(\phi\): \(T = \phi^{-1} M\phi\). The usual \(\phi\) is the first-child/next-sibling bijection. The term \(+\ell\) appends a one-node tree, the smallest nonempty forest. I look for steps where \(R(A_n)=A_n\). With the usual bijection, the only known hits are \(n=0,1,2,4\). Antti Karttunen reports checking through \(n=404631\) without another hit in OEIS A080070. Changing the bijection changes the return pattern: some tested variants stop returning later; others keep returning throughout the tested range.↩︎