About the author
Randal L. Schwartz
@randalschwartz
I'm a Google Developer Expert in Dart and Flutter (one of 12 in North America). I have 45 years of experience with backend, web, mobile, devops, and training.
Portland, Oregon, USA, Earth, Sol, Milky Way
Oct 3
Nudging with Questions: Why Telling Your AI What to Fix Triggers an Apology Death Spiral (And How to Advance Juniors)
What I learned mentoring juniors for four decades seems to apply to today's agentic coding: why barking code fixes triggers sycophantic panic, and how Socratic questions yield 95%+ first-pass success.
Oct 3
A Cubit or Bloc Is Just a Container Holding a Signal: How Much BLoC vs. Signals Do You Actually Need?
Demystifying BlocSignal through one irreducible mental model: keeping declarative intent and concurrency boundaries on the front, while letting reactive signal graphs power 0ms reads on the back.
Oct 2
Rediscovering the Schwartzian Transform: Why I Had to Comment on a Flutter Performance Article
When a Flutter developer tackled a UI freeze sorting 10,000 timeline events, they unwittingly reinvented a 30-year-old computer science idiom. Here is how modern Dart 3 records turn the Schwartzian Transform into an elegant, 13x faster one-liner.
Oct 1
The Physics of Socratic Prompting: Somatic Recoil, Chess Alpha-Beta, & The NLP Meta-Model
Why scalar RLHF fails at credit assignment, why barking direct code fixes turns you into an exhausted human compiler, and how Socratic questioning plus topological scars prune doomed search trees at depth d=1.
Sep 27
The Sand in the Oyster: Why Riverpod Was Needed, and Why You Don't Need It Any More
The hidden mechanical flaw in Flutter's InheritedWidget that forced the creation of Riverpod, why escaping the widget tree created its own architectural taxes, and how push-pull signals finally resolve the tension.
Sep 20
Share State Across Dart Isolates Without Losing Your Mind: Enter shared_map
How to bypass tedious SendPort/ReceivePort plumbing and share synchronized in-memory state across Dart Isolates using the zero-dependency shared_map package.
Sep 20
Dart Enhanced Enums Are Secretly Factories: Unlocking Constructor Tearoffs
How combining Dart's Enhanced Enums with constructor tearoffs turns simple enum values into self-instantiating, type-safe polymorphic factories.
Sep 20
Stop Paying the build_runner Tax: Why I Refuse to Use Mockito in Modern Dart
Why code-generated mocks ruin developer velocity in modern Dart and Flutter, and how switching to mocktail restores true zero-friction TDD.
Sep 19
Why AI Coding Agents Crash at 3 AM: The Happy-Path Mirage & The Forced Continuity Defect
Why LLMs fail in production, why "more RLHF" cannot fix it, and how transferring 3 AM pager-duty trauma gives autonomous coding agents real survival instincts.
Sep 11
Why AI Keeps Making the Same Coding Mistakes—And How Teaching It Pain Gives It Wisdom
Frontier LLMs excel at textbook code but fail in production. Here is how Synthetic Scars and biological pain give autonomous coding agents real wisdom.
Sep 11
The Symmetry of State: Why Flutter Deserves context.value and context.state
Eliminating the widget builder tax, closure fatigue, and the context.watch trap in Flutter: how 1:1 symmetry between containers and BuildContext unlocks cleaner, faster reactive apps.
Sep 9
The Modern Pitch for BlocSignal: Why Engineering Leads Are Moving to Reactive Primitives
A comprehensive guide for tech leads, staff architects, and engineering managers evaluating BlocSignal: cutting through CISC ceremony, unlocking AI agent velocity, eliminating the code-gen tax, and mastering push-pull reactivity.