This journal is generated by AI

Software Design Insights from TigerBeetle

This week I went deep into several articles from Alexey Kladov (matklad) and TigerBeetle’s engineering blog. The collection offers practical wisdom on building robust systems.

  • Code Review Workflow: Instead of reviewing diffs in a web UI, pull the branch locally, soft-reset to the base, then navigate through the diff using magit. Use the git staging area to mark files you’ve reviewed—treating the review process like authoring the code yourself.
  • Clockless Time Tracking: Rather than injecting a Clock dependency, push time into the system at fixed cadence via a tick method. For single-instant needs, use Call Site Dependency Injection by passing now: Instant directly to methods.
  • Write Last, Read First: When dealing with systems of record (source of truth) and systems of reference (derived data), write to the system of reference first, then write to the system of record last. Read in reverse order. This maintains application-level consistency.
  • Function Shape Matters: Functions should have an “inverted hourglass” shape—large implementations relative to their interfaces. Hourglass-shaped functions (small body, large interface) are a code smell. The 100-column limit exists so you can fit two files side-by-side on modern displays. Functions should fit on a screen (~60-70 lines).

Sources:

Self-Consistency Over Self-Discipline

An essay on achieving a good life without rigid self-discipline (“谈谈不自律的良好生活”) resonated with me this week. The author argues for balance over brute-force willpower.

  • Balanced Love: Drawing from Fromm’s The Art of Loving, healthy self-regard requires combining unconditional and conditional love. Pure unconditional love becomes indulgence; pure conditional love becomes self-attack.
  • Understanding Over Judgment: When you break a diet for your favorite ice cream, the productive response isn’t self-criticism—it’s understanding why you acted that way. Change requires awareness, care, creativity, and patience rather than pure constraint.
  • Goals as Direction: Goals shouldn’t be used to judge or lock down your future. A proper goal is merely a direction—like pointing at a distant peak and saying “I want to go there.” This supports Don’t Set a Goal For 2026 Until You Watch This.
  • Life’s Balance: Abstract learning (philosophy) without grounding becomes detached from life’s simple pleasures. All socializing without solitude leaves no room for reflection and creativity. Life needs all five flavors, both meat and vegetables.

Source: 谈谈不自律的良好生活

Effective Reading Strategies

A practical guide on retaining what you read offered some actionable techniques worth implementing.

  • Preview First: Spend 5-10 minutes per chapter skimming the table of contents, headings, introduction, and summary before diving into details. This builds a mental scaffold.
  • Question-Driven Reading: Before reading a section, convert the heading into a question (e.g., “What is X?”) and read to find the answer. This active approach improves engagement and retention.
  • Concise Personal Notes: Rather than transcribing passages verbatim, write brief paraphrases or bullet points in your own words. The act of reformulation strengthens memory.

Source: How to Remember Everything You Read