Lab note #062 Automagic juice is not quite worth the squeeze

Lab note #062 Automagic juice is not quite worth the squeeze

I made good progress on the reactive engine.

  • Simplified the requirements for define a handler.
  • Started work on the scheduler
  • No longer need to handler to ability type checking method, by converting from protocols into abstract base classes. This was one example of where AI lead me astray.

I also experimented with dynamically generating the effect description dataclasses, while appeasing the static type checker. A friend suggested trying codebuff to generate a possible solution for me. Ultimately I didn't take its suggestions. For now, the juice isn't worth the squeeze. Getting rid of that boilerplate is a little auto-magical. However, it was valuable to get a prototype from the code gen as it mentioned that it didn't take in to account generics and other type edge cases.

I finished out the latter part of the ELT for the Zig doc RAG pipeline as a sample application. After reorganizing, I found other quality of life issues.

  • handlers that use other handlers is clunky. You have to call yield from (yield Some Effect)
  • setting up the schema for a relational db is important, but not even the thing you want to be doing when you're getting started.
  • need to have some system to easily set up environment configurations.

I also attended HYTRABOI 2025, which was interesting. My favorite talk this year was Thomas Ballinger's Database Ideas in Convex. In the middle of the conference, suddenly interjectedfuture.com was down! I had run out of space on my persistent volume. Alas, I lost a couple drafts and lab note #61. I'll need to take some time to figure out this set up. Or really, it might be cheaper (in time) to just pay for the hosted version (!)