John McDole's Avatar

John McDole

@codefu.mcdole.org

Flutter, Dart, mobile, web, hardware tinkerer, dad, cub master. Former Stadia UI TL, Google Fiber TV.

290
Followers
127
Following
210
Posts
12.11.2024
Joined
Posts Following

Latest posts by John McDole @codefu.mcdole.org

Granted - this is for main channel of Flutter... but I was considering something like this for flutter-stable and flutter-beta; just package all the tools in a docker image (or multiple depending on what you want, e.g. web only). Rather than downloading the whole git repo.

01.03.2026 19:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

This is the composable action:
github.com/flutter/flut...

It was used in this test to run the tools test; but I disabled it because it doesn't work for engine builds:

github.com/flutter/flut...

01.03.2026 19:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'll dig up the workflow script we have. Iirc I made it with with ACT as well as GH.

01.03.2026 02:18 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Any details? I've been considering building / publishing docker images for actions.

28.02.2026 21:10 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Blueprints should implement "copyWith" Β· Issue #13 Β· jtmcdole/hierarchical-state-machine.dart Blueprints are currently immutable. This makes sense if you have a library that supports handing out blueprints and you don't want them accidently modified for future calls. However, if you want to...

As I've slowly migrated some projects to the HSM; I found myself needed a few more features; replace/copyWith:
github.com/jtmcdole/hie...

24.02.2026 03:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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 >:(

17.02.2026 03:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

and of course I fudged it up with "sealed" and didn't see any problems with testing. <sigh> version 1.0.1 incoming

16.02.2026 04:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Let me know if you run into any issues. I wrote this a long time ago and have been carting it around in a private repo for a while. I did a clean it up pass, redone with callbacks (al'la changenotifier), and added the stream extension.

Replay streams are also a sneaky form of injection :)

16.02.2026 00:46 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
core_bus | Dart package A lightweight, type-safe Event Bus for Dart with optional event replaying. Decouples asynchronous code with minimal overhead.

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...

15.02.2026 22:28 πŸ‘ 5 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Preview
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 ...

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...

15.02.2026 01:30 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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...

Proud to be the 131st backer 😎 on @BackerKit Crowdfunding for New Edge Sword & Sorcery 2026! www.backerkit.com/c/projects/b...

12.02.2026 14:38 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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...

12.02.2026 04:43 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

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

06.02.2026 16:23 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Also, even with ~96% coverage - there is likely bugs. Report them or send a patch request.

I need to make a CONTRIBUTING doc...

27.01.2026 17:23 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I have a few more projects to release showing some full stack flutter/dart. I just needed this first.

27.01.2026 01:31 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image Post image

Then Google launched Gemini CLI Conductor. I spent the last few weekends really trying to pull the spaghetti out of my old code and make it available in package form.

It's about 50/50 code to tests, with a lot of that being storage options. Take a look if you've got fullstack Flutter/Dart.

27.01.2026 00:48 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - jtmcdole/portico_auth Contribute to jtmcdole/portico_auth development by creating an account on GitHub.

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...

27.01.2026 00:48 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I love working on open source code at Google. This is the account you should be following.

26.01.2026 19:11 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

You can't spell Cowardice without ICE

25.01.2026 17:52 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
We Need To Talk About Alex Pretti
We Need To Talk About Alex Pretti YouTube video by Philip DeFranco

You can't spell Cowardice without ICE

www.youtube.com/watch?v=cxew...

25.01.2026 17:50 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image
24.01.2026 23:27 πŸ‘ 14 πŸ” 1 πŸ’¬ 3 πŸ“Œ 0
Preview
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

What's it say when the German media says your coat looks a little Nazi?

24.01.2026 18:24 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Sharing for no reason in particular :)

22.01.2026 14:39 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

I don't want Greenland. I don't know of anyone real person that wants Greenland.

19.01.2026 19:15 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

So proud of Jess for landing in one of this year's issues!

18.01.2026 14:18 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Side note: I think we absolutely should do more on the waste and fraud on the spend side of the vote-revenue-spend triangle.

03.01.2026 21:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Debunking the Wealth Tax Discourse What critics get wrongβ€”and what they should be arguing about instead

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.

03.01.2026 21:04 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I like brain candy!

01.01.2026 19:07 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

My 2025 reading list in which I just finished The Devils down to the wire.

31.12.2025 23:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Which reminds me, my new years resolution is to unsubscribe from a few platforms!

26.12.2025 02:31 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0