I was at a meetup two weeks ago, and networking with someone two decades younger quite well (commonalities, interests, employer(s), etc), and his face was like I'd pronounced his newborn a being ugly, after I explained what TBD was and why teams do it.
07.08.2025 14:27 — 👍 0 🔁 0 💬 1 📌 0
Today, pushing TBD could be considered to be career limiting. I've been thinking about that a lot ...
... Nobody wants to hear that **GitHUB Flow** is just one of three major forms of TBD: trunkbaseddevelopment.com/styles/.
07.08.2025 14:27 — 👍 1 🔁 1 💬 1 📌 0
The CollabNet people in the room included a lot of sales veterans of other SCM tools, and there was solid opposition.
This crew and others in the enterprise gave me a clue we were in for an uphill struggle
By contrast, promoting TBD in ThoughtWorks didn't seem so hard, many being converts already
07.08.2025 14:27 — 👍 0 🔁 0 💬 1 📌 0
ThoughtWorks's owner had me leave the middle of OSCON in 2005 to present to the sales team at CollabNet in California on how their product (using Svn) could be positioned against ClearCase in the enterprise. I talked about trunk-based development, feature toggles, and keeping it all go-live-able
07.08.2025 14:27 — 👍 0 🔁 0 💬 1 📌 0
Those cohorts never heard about TBD before, and branch-crazy feels alluring.
In the early 2000's sales folks for ClearCase, StarTeam and even Perforce would tell enterprises you could do **any** branching model you liked. Even long-running ones.
07.08.2025 14:27 — 👍 1 🔁 0 💬 1 📌 0
Some idle thoughts: Comp Sci didn't historically teach branching. Heck, until 15 or so years back, Comp Sci didn't teach source control at all. Quorum in dev teams by sheer numbers is reached quickly for more-recent grads. Such cohorts mostly pick up post-university ways of working from each other.
07.08.2025 14:27 — 👍 0 🔁 0 💬 1 📌 0
SwiftUI Component Testing with Appium & Test Harnesses
Stepping away from the "car doppler" React app, and back toward the credit card form and address of the original blog entry: the same test harness ideas for a MacOS app using #SwiftUI and #Appium (via node & JavaScript) to test automate it. paulhammant.com/2025/06/30/s...
30.06.2025 09:10 — 👍 0 🔁 0 💬 0 📌 0
NightWatch Component Testing and visual documentation
And hello NightWatchJS branch and experience :) paulhammant.com/2025/06/25/n...
26.06.2025 16:41 — 👍 0 🔁 0 💬 1 📌 0
Selenium Component Testing and visual documentation
And a Selenium branch discussed for the same React app and same component-centric tests paulhammant.com/2025/06/22/s...
22.06.2025 15:31 — 👍 0 🔁 0 💬 1 📌 0
Cypress Component Testing - Changing from Playwright for a demo repo
Continuing the series - a Cypress branch of the same thing (Cypress instead of Playwright for component testing) -> paulhammant.com/2025/06/20/c...
20.06.2025 07:11 — 👍 0 🔁 0 💬 1 📌 0
UI Component Testing Revisited: Modern Implementation with Visual Verification
Revisiting an previous "UI component testing" blog entry for a 2025 update with a React/TypeScript example -> paulhammant.com/2025/06/17/u...
Also features a wildly inaccurate app that calculates car speeds based on mic-recorded doppler shift.
17.06.2025 13:08 — 👍 1 🔁 0 💬 1 📌 0
Oh, I think it's there already: github.com/AtRayzor/Dot...
31.05.2025 10:07 — 👍 1 🔁 0 💬 0 📌 0
Hey @damianedwards.com is there a way with .NET 10 preview 4 (and onwards) to do relative package deps compatible with "dotnet run sourcefile.cs"?
I'm making a multi-language edu piece to teach how Google maintains a multi-lang monorepo. Fingers crossed you've patience for unconventional things
31.05.2025 07:26 — 👍 1 🔁 0 💬 1 📌 0
GitHub - paul-hammant/google-monorepo-sim: Simulation of a Google-style monorepo
Simulation of a Google-style monorepo. Contribute to paul-hammant/google-monorepo-sim development by creating an account on GitHub.
I changed one of the components for the google-monorepo-sim from Java to Kotlin. So there's three languages used in this monorepo now - Java, Rust and Kotlin. Two stdout-using main() style applications within using all three: github.com/paul-hammant...
30.05.2025 06:42 — 👍 0 🔁 0 💬 0 📌 0
Of course, for enterprise dev life, one would do .NET work in the regular way (solutions, projects and 'dotnet.exe' as your dispatcher for everything applicable). My work here is just an experiment.
27.05.2025 08:18 — 👍 0 🔁 0 💬 0 📌 0
I could be in XyProblem territory though - vstest completes but says it could not find compiled-and-in-dll tests. But the diagnostics says "error" around Microsoft.Bcl.AsyncInterfaces.dll that can't be found.
27.05.2025 08:18 — 👍 0 🔁 0 💬 1 📌 0
The wall currently is vstest needs Microsoft.Bcl.AsyncInterfaces.dll and that being handed in as a reference, but vstest claiming it can't find it on instantiation.
27.05.2025 08:18 — 👍 0 🔁 0 💬 1 📌 0
The very nature of this tree-like way of laying out modules means I've to avoid the .csproj and .sln files. Compile needs to use csc (Roslyn these days) and tests need to go via vstest which /can /take /args for all setup instead of looking for csproj XML or JSON
27.05.2025 08:18 — 👍 0 🔁 0 💬 1 📌 0
GitHub - paul-hammant/google-monorepo-sim at dot_net_app_and_components_wip
Simulation of a Google-style monorepo. Contribute to paul-hammant/google-monorepo-sim development by creating an account on GitHub.
The silly google-monorepo-sim thing I was working on (Java and Rust modules, directed acyclic graph build system that isn't Bazel), I've added a .NET application and components that also uses the Rust .so within. Well, or should cos I've hit a wall github.com/paul-hammant...
27.05.2025 08:18 — 👍 0 🔁 0 💬 1 📌 0
Likely retiring a pair-programming challenge I have done for many years paulhammant.com/2025/05/23/r...
23.05.2025 13:05 — 👍 0 🔁 0 💬 0 📌 0
Linkedin alternative on Github?
Linkedin alternative on Github? GitHub Gist: instantly share code, notes, and snippets.
Techies should've made something for themselves by now .. gist.github.com/paul-hammant.... Linked In's edge over other social media is verified "8/10 grade" identity, but the chains of who verified who are not that accessible. Verified achievements/activities or just CLAIMS would be so cool
23.05.2025 07:03 — 👍 0 🔁 0 💬 0 📌 0
Re Linked in feature wish x.com/soren_iverso.... <img src="https://pbs.twimg.com/media/GraC98bbAAYXV96?format=jpg&name=900x900" alt="Image"/>
23.05.2025 07:03 — 👍 0 🔁 0 💬 1 📌 0
I'm also still doing some pieces with Aider chat and another Gemini LLM .. cos that's two orders faster right now given not under the extreme load that Jules is.
23.05.2025 07:01 — 👍 0 🔁 0 💬 0 📌 0
I'm getting it to make multiple new test timelines - things that'd stretch the layout. I'll get to something that's better for mobile soon enough, but my first peeve is it won't commit direct-to-main even if I ask it. This is a one person side project; I don't need pull requests
23.05.2025 07:01 — 👍 0 🔁 0 💬 1 📌 0
GitHub - paul-hammant/tiny-timeline
Contribute to paul-hammant/tiny-timeline development by creating an account on GitHub.
For github.com/paul-hammant... I'm playing with Google's Jules immersive AI playground. It's pretty good but slow at the moment. Or maybe not as force-page-reload sometimes sees progress when that wasn't apparent before.
23.05.2025 07:01 — 👍 0 🔁 0 💬 1 📌 0
Trunk Based Development
A portal on this practice
Caveats: 1) Less than 100 companies would do this Google thing, I guess.
2) Your company is **JUST FINE** with a multi-repo setup.
3) There are multiple sub types of trunk-based development: trunkbaseddevelopment.com/styles/
17.05.2025 15:26 — 👍 0 🔁 0 💬 0 📌 0
You'd watch this if you don't understand how Bazel works "under the hood". Or if you don't understand how a ginormous VCS-relying company would actually use a single repo for all applications, apps, services, libraries they make themselves.
17.05.2025 15:26 — 👍 0 🔁 0 💬 1 📌 0
This talk compares both, with source in a cloneable repo that shows the structure. I also discuss how Google shrink their 9+ million source files in their trunk to something that is more manageable for a dev or QE who's wanting to achieve a specific coding task/story.
17.05.2025 15:26 — 👍 0 🔁 0 💬 1 📌 0
YouTube video by Paul Hammant
Monorepo Build Systems. DAG vs depth-first recursive and Google's sparse-checkout habit
I've uploaded a talk to YouTube: youtube.com/watch?v=L67r.... Subject is "Google's directed acyclic graph build system for monorepos with special sparse-checkout features versus classic depth-first recursive types"
17.05.2025 15:26 — 👍 0 🔁 0 💬 1 📌 0