John McDole
banner
codefu.mcdole.org
John McDole
@codefu.mcdole.org
Flutter, Dart, mobile, web, hardware tinkerer, dad, cub master.

Former Stadia UI TL, Google Fiber TV.
HSM 2.2.1 released... why? While I have "stable" flutter running, I didn't use flutter_test till I started migration and hit the dreaded version pinning >:(
February 17, 2026 at 3:30 AM
And the gathering and sharing of all the tools in my toolbox continues: core_bus (pronounced corvus) - const Events with type safety, no choke points, callbacks for performance and streams if you need'em. replayable events as well.

no deps either.

#opensource

pub.dev/packages/cor...
core_bus | Dart package
A lightweight, type-safe Event Bus for Dart with optional event replaying. Decouples asynchronous code with minimal overhead.
pub.dev
February 15, 2026 at 10:28 PM
Just added serialization to my hsm library. mostly handwritten.

Also added plantuml output. I want to support mermaid, but how do you write text inside the state blocks?

github.com/jtmcdole/hie...
Machine Serialization · Issue #7 · jtmcdole/hierarchical-state-machine.dart
Add serialization of state, including history. deferred events and data will require developer support for serializing data. care needs to be used to ensure all deferred and queued events maintain ...
github.com
February 15, 2026 at 1:30 AM
Proud to be the 131st backer 😎 on @BackerKit Crowdfunding for New Edge Sword & Sorcery 2026! www.backerkit.com/c/projects/b...
New Edge Sword & Sorcery 2026
Sword & Sorcery magazine featuring short fiction, non-fiction, and gorgeous art. Made with love for the classics, and an inclusive, boundary-pushing approach to storytelling! Luxurious hardcover, clas...
www.backerkit.com
February 12, 2026 at 2:38 PM
HSM 2.0 published - now with nearly all the things I wanted years ago:

* Proper event deferral
* Deep and Shallow history
* Fork, Choice, Terminate, Final pseudo states
* Blueprints for composability + validation
* Performance: lca and paths precomputed
* PSSM tests

pub.dev/packages/hie...
hierarchical_state_machine | Dart package
A framework for building performant state machines similar to UML state charts. States are organized in parent/child relationships, allowing common event handling to be shared by more generic states.
pub.dev
February 12, 2026 at 4:43 AM
How is this the world we live in today?

> President Trump posted a blatantly racist video clip portraying former President Barack Obama and the former first lady Michelle Obama as apes
February 6, 2026 at 4:23 PM
Today I released Portico Auth - A modular, Dart-native authentication and authorization ecosystem designed for self-hosting and experimental applications.

For a long time my personal home projects have used this JWT/JWE/Auth0 API, but in a copypasta fashion...
GitHub - jtmcdole/portico_auth
Contribute to jtmcdole/portico_auth development by creating an account on GitHub.
github.com
January 27, 2026 at 12:48 AM
I love working on open source code at Google. This is the account you should be following.
New year's resolution, engage with open source developers on our new Bluesky account. ✨
January 26, 2026 at 7:11 PM
You can't spell Cowardice without ICE

www.youtube.com/watch?v=cxew...
We Need To Talk About Alex Pretti
YouTube video by Philip DeFranco
www.youtube.com
January 25, 2026 at 5:50 PM
Reposted by John McDole
January 24, 2026 at 11:27 PM
What's it say when the German media says your coat looks a little Nazi?
German media likens US border patrol official’s coat to ‘Nazi look’
Gregory Bovino’s outwear choice prompts German commentators to compare it to fascist aesthetic
www.theguardian.com
January 24, 2026 at 6:24 PM
Sharing for no reason in particular :)
Oh hey, it's the cover art for issue 9! Modelwork by Plastiboo.
✍️ Sign up to be alerted when NESS 2026 launches,
👨🏫 Learn about our crowdfund exclusives,
and
👁️ See teases, with reveal dates, for all kinds of surprises all at...

⚔️THIS LINK⚔️: www.backerkit.com/c/projects/b...
January 22, 2026 at 2:39 PM
I don't want Greenland. I don't know of anyone real person that wants Greenland.
January 19, 2026 at 7:15 PM
So proud of Jess for landing in one of this year's issues!
WELCOME J.K. BALLE MCDOLE!
@plainchant.bsky.social will have a brand new story in one of this year's issues. See cool art, crowdfund exclusives, and other exciting details here: www.backerkit.com/c/projects/b...
January 18, 2026 at 2:18 PM
Read this article and I feel like we should tax unrealized gains when they are effectively realized through "buy, borrow, die" strategies. If you sell - great, use it against capital gains.

Unfortunately we live in a lottery society, hoping to be the next billionaire.
Debunking the Wealth Tax Discourse
What critics get wrong—and what they should be arguing about instead
www.wickedgoodpolicy.com
January 3, 2026 at 9:05 PM
I like brain candy!
YouTube served me up a video from this creator where he went over the trailer-to-functioning-ride setup of a mobile Gravitron ride. He's got a variety of 'em on this channel, well-narrated and a fascinating look into what's involved with these machines.

Real good brain candy!

youtu.be/qUkiMDjgfsg
Setting Up the KMG Fireball / Afterburner Ride
YouTube video by Pete Rondeau
youtu.be
January 1, 2026 at 7:07 PM
My 2025 reading list in which I just finished The Devils down to the wire.
December 31, 2025 at 11:44 PM
The buffet we are at has a 25' screen showing Ai holiday images.
December 25, 2025 at 9:30 PM
Had to do some internal training. Training includes fixing busted python and jupyter notebooks that are quickly outdated. "Fun".

There's got to be a much better / effective / intuitive / engaging platform for training.
December 23, 2025 at 12:54 AM
New laptop, new windows install, already seeing update error 0x800f0991. I hate windows.

Time to download 7GB iso images to repair. <grumble>
December 20, 2025 at 8:24 PM
Reposted by John McDole
Want to live in Sunnyvale, California and work on the Flutter team?
Software Engineer III, Flutter (iOS)
docs.flutter.dev
December 15, 2025 at 9:42 PM
Achievement unlocked: Dad, can we listen to Master of Puppets?
December 8, 2025 at 3:44 PM
6 years ago, I wrote an AES AEAD library in Dart just to go through the motions and learn the encryption. I had CCM and OCB, but never added GCM... Gemini 3 and Antigravity said "hold my beer". NIST and boringssl test vectors passed!
November 23, 2025 at 3:25 AM
Happy Halloween from the New California Republic!
October 31, 2025 at 4:04 AM