Kevin Moore

Kevin Moore

@kevmoo.com

Product manager for @dart.dev and @flutter.dev web tech @ Google. Proud dad of three. Reality-based liberal. https://kevmoo.com (he/him)

1K followers245 following549 posts

Published! pkg:bench_press v0.4.2 is now live on pub.dev: pub.dev/packages/be...

pub.devbench_press | Dart packageA modern, statistically sound, compiler-aware multi-runtime benchmarking framework for Dart and Flutter.
Kevin Moore@kevmoo.com

Folks who bridge deep stats with low-level OS and CPU behavior are rare. Cool to hack with Jose on a Saturday morning. Write-up: gist.github.com/kevmoo/b2ec... Code: github.com/kevmoo/benc... I will publish the updated package to pub.dev soon.

The naive view of software benchmarking: put your code in a loop, run it N times, and check the mean and std-dev / std-err. There is a LOT more to good benchmarking than mean ยฑ std-err. ๐Ÿงต

View full thread

Thanks to Jose, pkg:bench_press now: โ€ข Interleaves fresh OS processes (--processes 5) after compiling once โ€“ cutting false alarms from 41% to 3.4%. โ€ข Runs counterbalanced ABBA BAAB rounds to cancel CPU thermal throttling. โ€ข Supports an explicit noise floor (--threshold 0.02).

The naive view of software benchmarking: put your code in a loop, run it N times, and check the mean and std-dev / std-err. There is a LOT more to good benchmarking than mean ยฑ std-err. ๐Ÿงต

View full thread

Why do MORE trials make your benchmark lie more often? Every OS process launch gets a fresh roll of the dice on ASLR, page placement, and code alignment โ€“ shifting the whole process by 1โ€“3%. Running 30 trials in ONE process just shrinks std-err around a single lucky memory layout.

The naive view of software benchmarking: put your code in a loop, run it N times, and check the mean and std-dev / std-err. There is a LOT more to good benchmarking than mean ยฑ std-err. ๐Ÿงต

When we ran 8,400 bare-metal benchmarks in Dart comparing identical code against itself, single-process runs flagged fake regressions or speedups 41% of the time (61% on allocating code!). Worse: going from 4 trials to 30 made false alarms jump from 27% to 41%.

You can now run pkg:build_version and pkg:build_cli in Dart without adding build_runner to your dev_dependencies! With Dart 3.12's `dart run pkg@`, both packages now work in two modes: as standard build_runner builders, or as standalone CLIs.

View full thread

Is this dual-mode model useful for your projects? Should we standardize this pattern (`build_runner` + standalone `dart run pkg@` with `--check`) for other standalone code generators in Dart? Curious which tools you'd want to run this way!

You can now run pkg:build_version and pkg:build_cli in Dart without adding build_runner to your dev_dependencies! With Dart 3.12's `dart run pkg@`, both packages now work in two modes: as standard build_runner builders, or as standalone CLIs.

When to use which mode: โ€ข Standalone (`dart run pkg@`): all your generators run in separate files (even build_version + build_cli together). Drop build_runner, build_verify, and build.yaml! โ€ข build_runner: you use another pkg:build builder or share one .g.dart file.

Did you know final in Dart is really just base + interface combined? Or why "base mixin class" is valid, while "interface mixin class" is a compile error? Reading the docs never stuck. The trick: having my agent /quiz-me through this concept graph, 1 node at a time.

I struggle with carefully reviewing long/complicated content. I've realized my coding agent can be very helpful. The result: /slice-and-dice (SND) & /quiz-me Use SND to review 20 slides, a design doc, PR, etc. Drill in on sections & accept/reject feedback as you go.

/quiz-me is amazing if you really want to UNDERSTAND something with (agent-enforced) Socratic questioning. I used it to deeply understand a nuanced Dart language feature that I only kinda understood. Great for specs, PRs, new codebases, etc.

Kevin Moore reposted

Important info for California residents given Prop 40. Make sure your CA friends and family see this so they don't get tricked into opposing 40. Our state is awesome and only a handful of crazies would want to live elsewhere because of this initiative.

Jake Grumbach@jakemgrumbach.bsky.social

New working paper: the Norwegian wealth tax was a huge success. The "exodus" of wealthy people never happened (less than 100 individuals left). Tax revenue increased by 71.5%. No changes in business activity or investment. www.nber.org/papers/w35854

We're not SHARING enough. Before all the agent bits, you could go fast alone, but it was hard to go far โ€“ย unless you put in a lot of time. Now we CAN go far alone - FAST. And we're all doing it. So we're all making these bespoke skills and scripts. But we're not doing it together

Reviewing PRs takes time. Aligning on vision takes time. Prioritizing takes time. So we just borrow and steal and vibe and we're building together less. Not only is it wasting tokens. We're building mountains of mediocre instead of fewer, better, more durable bits โ€“ย I fear.

Not only do I work with AMAZING folks, but they are also FUN. Amazingly fun!

Craig@labenz.dev

Sometimes, after a long dayโ€™s work, you just have to sit back and relax

Today is the last day! Tell us about your wins (and/or your issues)!

Kevin Moore@kevmoo.com

Join us for Try Flutter Web with WebAssembly Week! Unlock up to 2xโ€“5x faster web performance with Wasm compilation in Flutter 3.47โšก Run flutter build web --wasm, test your app, and share your wins using #FlutterWasmWeek! Get the details: goo.gle/3SEcWzW

Kevin Moore reposted

On CNN, El-Sayed is asked about this Trump post. He says it represents "two different visions of America:" "Two people who don't like each other but are joined in the interest of making billions of dollars off of you. Or, two people who genuinely love each other, enjoying some panacakes together."

Just published a new, breaking change to pub.dev/packages/fi... The break is because we're using a BUNCH of new features from github.com/googleapis/... More shared infa. More bits you can (re)use for other Dart projects on Google Cloud! #firebase #dart #googlecloud

github.comGitHub - googleapis/google-cloud-dart: [Experimental] Google Cloud Dart Client Libraries[Experimental] Google Cloud Dart Client Libraries. Contribute to googleapis/google-cloud-dart development by creating an account on GitHub.

Agent skill interaction arc over the last six months: - tell me a thing - tell me a thing this specific way - tell me a thing in an markdown artifact - Call a tool to generate the markdown artifact from JSON - Generate an inline, interactive HTML app

Here's a fun discovery: I'm coding up some secretary work (see previous post) to go through my agent/session history for the week so I can see where I'm spending time. TWICE the agent got "hypnotized" going through old work and started DOING THE OLD WORK! ๐Ÿคท๐Ÿคญ๐Ÿคฆ

My ~six month agent progress. - I have a little code helper. - I have an intern - I have a team of interns - I have a development team - I have a development team and a work secretary and a personal secretary (The personal secretary is lagging the work one, but give him time.)

Talking to agents most of my day, I'm noticing my conversational quirks that cause problems with LLMs. My default is to make even my instructions questions. "Could we try...?" "What if we...?" Then I'm annoyed when I'm REALLY asking a hypothetical and the agent starts coding!

Just got a pointer to #typefully โ€“ I think I might switch from #buffer . I LOVE the threaded UX and I can post to 4 accounts at a time (with the free account, limited to 15 posts a month). Excited to see how this goes!

Another day, another platform!

LG has now released the Flutter SDK for their TVs! ๐Ÿฅณ A while ago I was one of the winners of the LG Hackathon and got access to the beta SDK, and many have since then asked me when they will make it available to the public, and here it is: github.com/lg-flutter-w...

Kevin Moore reposted

Ossoff: "Citizens United was the most destructive court decision in modern history. It's unleashed a flood of secret money, corporate money, billionaire money. Trump's rise is a symptom of this deeper disease. Our task is not just to contain his wickedness, but to cure the rot that gave rise to it."

I'm super happy where this skill ended up. Would love you thoughts! www.skills.sh/kevmoo/kevmo... Important note: I use it pretty much exclusively when coding on my OWN repos when the reviewer is another agent. Be thoughtful and respectful and a GOOD ENGINEER when using it in other contexts!

skills.shgithub-pr-triage โ€” kevmoo/kevmoo_skillsTriage open PR comments/reviews and associated CI/CD workflow failures using the `triage.dart` helper script and formulate an actionable plan.