Live Coding Journal - Apr 13, 2026
Reflections, Learnings, and Mistakes from live coding my JitterTicket Event Sourcing application
Notes from Today’s Live Coding Session
Today’s stream was mostly mundane (and a bit frustrating) refactoring. At one point (around 1h32m) I did a revert to redo the refactoring as I had painted myself in a bit of a corner.
One thing I did realize is that while the flush() method in the “new” Domain Projector returns the “delta” state, that state should not include the Checkpoint.
The Checkpoint is a property of the Projector, not the state, so instead it should return Delta+Checkpoint, aka CheckpointedDelta.
public abstract class NewDomainProjector<STATE, DELTA extends ProjectionDelta>
extends EventHandler {
public abstract STATE currentState();
/**
* Returns any uncommitted changes in the projection,
* clearing it as a result.
*
* @return uncommitted changes since the last time flush was called,
* or since the projector was instantiated
*/
public abstract DELTA flush();
/**
* Checkpoint for the most recent event sequence processed by this projector.
*
* @return the last event sequence processed, or Checkpoint.INITIAL if none have been processed
*/
public abstract Checkpoint checkpoint();
}
Next Steps
Finish up the “new” projection coordinator persistence and then see what’s left to do before (finally!) returning to work on the TDD Game online version.
Join me on my next stream, which I usually do Monday through Thursday, starting at 19:00 UTC on Twitch: https://jitterted.stream.