Sign in

John McDole

@codefu.mcdole.org
295 followers 128 following 247 posts

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

PostsRepliesMedia
John McDole @codefu.mcdole.org · 31/07/2026
Formants dialogue in roguetui... also on web! Pesky timer resolutions, Cross-Origin-Opener-Policy, and a million other issues when debugging wasm->wasm->webaudio! #termui #termui_audio #dart #flutter
010
John McDole @codefu.mcdole.org · 28/07/2026
On my "to read" list, right after audio.
010
John McDole @codefu.mcdole.org · 27/07/2026
Work in progress: started off trying to make chiptune dialogue work with text. This worked well on CLI / Flutter Windows, but WASM/Web was always just... wrong. So I tried another path: audio atlases, and taking a note from the Celeste folks. #dart #flutter #tui
120
John McDole @codefu.mcdole.org · 25/07/2026
Something I've been working on with the termui / termui_audio / termui_flutter packages. Recorded from Flutter Web + WASM, but also runs in a console. #dart #flutter
2110
John McDole @codefu.mcdole.org · 21/07/2026
Added soloud to termui: termui_audio. CLI uses dart:ffi to soloud libs. Web/Windows/Mac/Linux has a wrapper to flutter_soloud. Demo: jtmcdole.github.io/termui_audio/
jtmcdole.github.io
termui_audio_example
A new Flutter project.
000
John McDole @codefu.mcdole.org · 08/07/2026
Sparklines and improvements to LinearProgressIndicator added to termui. I wanted to emulate btop's awesome graphs, so: 1. braille and quads 2. added "width" to the bars if you want with different fills. 3. Added "stops" for all bars. 4. Vertical options!
000
John McDole @codefu.mcdole.org · 06/07/2026
termui 0.7.1 - pty support, some more debug tools to show layers / widget boundaries, resizing, focus.. and mouse clicks. KTTY support would be the next thing to add, but I'm going to finish my e-reader and work on a game or something.
461
John McDole @codefu.mcdole.org · 04/07/2026
Madness, thy name is idle hands. #termui #dart #flutter
160
John McDole @codefu.mcdole.org · 04/07/2026
termui is getting platform views....
010
John McDole @codefu.mcdole.org · 04/07/2026
Updated pty2 to work better on windows and linux: 70MB/s ConPTY, 200MB/s Linux! Arena allocation, native finalizers, and more tests... also a new home in termui monorepo.
pub.dev
pty2 | Dart package
Pty2 for Dart and Flutter. Provides the ability to create processes with pseudo terminal file descriptors.
000
John McDole @codefu.mcdole.org · 03/07/2026
more silly fun - "termui" cycling through titles, glitch effect widget, doom fire with cycling colors and wind. jtmcdole.github.io/termui/
jtmcdole.github.io
example_web
A new Flutter project.
230
John McDole @codefu.mcdole.org · 29/06/2026
I'm getting excited for Flutter GPU github.com/flutter/flut...
github.com
[Flutter GPU] Add Texture.fromImage to wrap a ui.Image texture by bdero · Pull Request #188605 · flutter/flutter
Fixes #188246 Adds Texture.fromImage, the inverse of Texture.asImage. It wraps the GPU texture that backs a ui.Image as a Flutter GPU Texture without copying any pixel data. Getting widget content ...
020
John McDole @codefu.mcdole.org · 20/06/2026
Writing a Dart CLI app but want a Flutter-like interface? Escape hatch to render some raw ansi/sgr codes? Perfetto recording, inspection and searching? Asciicast v3 recording and playback? Ascii golden tests and integration testing library? And can run in Flutter? github.com/jtmcdole/ter...
1133
Reposted by John McDole
Flutter @flutter.dev · 24/04/2026
Cloud Functions and Admin SDK for Firebase now supports Dart as an experimental feature 🎯 This means Flutter developers can use the same programming language throughout their whole stack and share logic between the frontend and backend.
The Dart language and Cloud Functions logos side by side
4419
John McDole @codefu.mcdole.org · 21/04/2026
See you at Cloud Next!
000
John McDole @codefu.mcdole.org · 21/04/2026
TSA checking IDs at the gate sure isn't ominous...
000
John McDole @codefu.mcdole.org · 02/04/2026
Best train goes zoom zoom. This infantile post is brought to you by the letter Z.
000
John McDole @codefu.mcdole.org · 29/03/2026
Leave it to win32 to have "ERROR_MORE_DATA".
000
John McDole @codefu.mcdole.org · 26/03/2026
Things I didn't think I would be doing: writing Win32 FFI code.
000
John McDole @codefu.mcdole.org · 10/03/2026
"But don't you want to play with me?"
140
John McDole @codefu.mcdole.org · 24/02/2026
As I've slowly migrated some projects to the HSM; I found myself needed a few more features; replace/copyWith: github.com/jtmcdole/hie...
github.com
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...
010
John McDole @codefu.mcdole.org · 17/02/2026
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 >:(
010
John McDole @codefu.mcdole.org · 15/02/2026
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...
pub.dev
core_bus | Dart package
A lightweight, type-safe Event Bus for Dart with optional event replaying. Decouples asynchronous code with minimal overhead.
151
John McDole @codefu.mcdole.org · 15/02/2026
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...
github.com
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 ...
030
John McDole @codefu.mcdole.org · 12/02/2026
Proud to be the 131st backer 😎 on @BackerKit Crowdfunding for New Edge Sword & Sorcery 2026! www.backerkit.com/c/projects/b...
backerkit.com
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...
010
John McDole @codefu.mcdole.org · 12/02/2026
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...
pub.dev
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.
021
John McDole @codefu.mcdole.org · 06/02/2026
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
000
John McDole @codefu.mcdole.org · 27/01/2026
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.com
GitHub - jtmcdole/portico_auth
Contribute to jtmcdole/portico_auth development by creating an account on GitHub.
140
John McDole @codefu.mcdole.org · 26/01/2026
I love working on open source code at Google. This is the account you should be following.
140
John McDole @codefu.mcdole.org · 25/01/2026
You can't spell Cowardice without ICE www.youtube.com/watch?v=cxew...
youtube.com
We Need To Talk About Alex Pretti
YouTube video by Philip DeFranco
000
Reposted by John McDole
Craig @labenz.dev · 24/01/2026
3141
John McDole @codefu.mcdole.org · 24/01/2026
What's it say when the German media says your coat looks a little Nazi?
theguardian.com
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
120
John McDole @codefu.mcdole.org · 22/01/2026
Sharing for no reason in particular :)
031
John McDole @codefu.mcdole.org · 19/01/2026
I don't want Greenland. I don't know of anyone real person that wants Greenland.
000
John McDole @codefu.mcdole.org · 18/01/2026
So proud of Jess for landing in one of this year's issues!
050
John McDole @codefu.mcdole.org · 03/01/2026
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.
wickedgoodpolicy.com
Debunking the Wealth Tax Discourse
What critics get wrong—and what they should be arguing about instead
100
John McDole @codefu.mcdole.org · 01/01/2026
I like brain candy!
010
John McDole @codefu.mcdole.org · 31/12/2025
My 2025 reading list in which I just finished The Devils down to the wire.
010
John McDole @codefu.mcdole.org · 25/12/2025
The buffet we are at has a 25' screen showing Ai holiday images.
210
John McDole @codefu.mcdole.org · 23/12/2025
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.
110
John McDole @codefu.mcdole.org · 20/12/2025
New laptop, new windows install, already seeing update error 0x800f0991. I hate windows. Time to download 7GB iso images to repair. <grumble>
000
Reposted by John McDole
Craig @labenz.dev · 15/12/2025
Want to live in Sunnyvale, California and work on the Flutter team?
docs.flutter.dev
Software Engineer III, Flutter (iOS)
2157
John McDole @codefu.mcdole.org · 08/12/2025
Achievement unlocked: Dad, can we listen to Master of Puppets?
000
John McDole @codefu.mcdole.org · 23/11/2025
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!
130
John McDole @codefu.mcdole.org · 22/11/2025
Let's make it harder for patent trolls, not easier! www.eff.org/deeplinks/20...
eff.org
The Patent Office Is About To Make Bad Patents Untouchable
The U.S. Patent and Trademark Office (USPTO) has proposed new rules that would effectively end the public’s ability to challenge improperly granted patents at the Patent Office itself. We need EFF sup...
000
John McDole @codefu.mcdole.org · 31/10/2025
Happy Halloween from the New California Republic!
071
John McDole @codefu.mcdole.org · 16/10/2025
The new M5 Vision Pro adds 150g to the already overweight M2 Vision Pro. "But they give you a cool new strap to distribute the weight!" some articles read... sorry, its still 800g hanging off your face, torquing your neck.
000
Reposted by John McDole
Flutter @flutter.dev · 08/10/2025
Meet the Flutter Extension for Gemini CLI 👋 This extension combines the Dart and Flutter MCP Server with additional context and commands, making it easier and more productive to build Flutter apps with Gemini CLI. Get started → goo.gle/46SMYMg
goo.gle
Meet the Flutter Extension for Gemini CLI
Build high quality, feature rich apps with the new Flutter Extension for Gemini CLI
0144
Reposted by John McDole
Craig @labenz.dev · 08/10/2025
Check out the new #FlutterDev extension for Gemini CLI and throw the repo a star to help other Flutter devs find it :)
github.com
GitHub - gemini-cli-extensions/flutter
Contribute to gemini-cli-extensions/flutter development by creating an account on GitHub.
0103
John McDole @codefu.mcdole.org · 18/09/2025
Savage Beastfly Part 2?! KILL THE ADS ASAP youtu.be/mIFryJgcJro
youtu.be
Silksong Savage Beastfly Part 2
YouTube video by ShadowFu
000