Sign in

Jon Reid

@qualitycoding.org
883 followers 198 following 589 posts

qualitycoding.org Author of iOS Unit Testing by Example iosunittestingbyexample.com. Technical coach, ex-Industrial Logic. Over 20 years of #TDD. Code with joy, drive down your cost of change. he/him

PostsRepliesMedia
Jon Reid @qualitycoding.org · 24/09/2026
Wow, so we have been in the same place at the same time. …Why didn't you say hi??? 😜
110
Jon Reid @qualitycoding.org · 23/09/2026
In my talk at try! Swift Tokyo, I explained how to make Swift mock objects. Unless we're careful, they can lead to fragile tests. Let's make them flexible. qualitycoding.org/try-swift-mock-ob…
qualitycoding.org
Swift Mock Objects: How to Avoid Fragile Tests | Quality Coding
try! Swift Tokyo: How to make Swift mock objects. Unless we're careful, they can lead to fragile tests. Let's make them flexible.
131
Reposted by Jon Reid
𝕊𝕦𝕟𝕕𝕒𝕖 𝔾𝕦𝕣𝕝 @sundaedivine.lol · 21/09/2026
Do you remember?
17748921554
Jon Reid @qualitycoding.org · 16/09/2026
How can you increase confidence in your test code? Who tests the tests? Here are the techniques I depend on to enable bold refactoring of tests. qualitycoding.org/who-tests-the-tes…
qualitycoding.org
Who Tests the Tests? How to Increase Confidence in Your Tests | Quality Coding
How can you increase confidence in your test code? Who tests the tests? Here are the techniques I depend on to enable bold refactoring of tests.
000
Jon Reid @qualitycoding.org · 10/09/2026
Disappointed by my probably distant relatives
120
Jon Reid @qualitycoding.org · 09/09/2026
When refactoring in small steps, sometimes you have to make a mess in order to clean a mess. Download the code and walk through these refactoring steps. qualitycoding.org/refactoring-clean…
qualitycoding.org
Refactoring: How Do You Clear Up a Mess, Safely? | Quality Coding
When refactoring in small steps, sometimes you have to make a mess to clear up a mess. Download the code and walk through these refactoring steps.
010
Jon Reid @qualitycoding.org · 07/09/2026
I dare you
010
Reposted by Jon Reid
Dare Obasanjo @carnage4life.bsky.social · 06/09/2026
One of the weirder trends in Big Tech’s AI obsession is the idea that expertise is becoming less valuable. Imagine two arguments: 1. AI enables radiologists to review more scans. 2. AI enables anyone to be a radiologist. “Everyone is a builder” increasingly sounds like Big Tech embraced #2.
1610913
Reposted by Jon Reid
The Pragmatic Bookshelf ✅ @pragprog.com · 04/09/2026
pragprog.com/titles/jrleg...
001
Jon Reid @qualitycoding.org · 03/09/2026
A faithful new rendition of the music of my youth, back when 20-minute pieces were the thing. www.youtube.com/watch?v=TUo5...
youtube.com
The Watch plays Genesis - Supper's Ready (Live From The White Studio)
YouTube video by The Watch
010
Jon Reid @qualitycoding.org · 03/09/2026
"My Big 5 takeaways from iOS Unit Testing by Example" book review by Dan Smith medium.com/kinandcartacreated/my-bi…
medium.com
101
Jon Reid @qualitycoding.org · 02/09/2026
When you're starting TDD, the hardest part is knowing where to begin. What should the first test be? What even counts as a "first step"? qualitycoding.org/tdd-where-do-you-…
qualitycoding.org
TDD: Where Do You Even Begin? | Quality Coding
When you're starting TDD, the hardest part is knowing where to begin. What should the first test be? What even counts as a “first step”?
000
Jon Reid @qualitycoding.org · 30/08/2026
Enter /insights into Claude! The report it generated for me lists: - What's working - What's hindering you - Quick wins to try - Ambitious workflows
000
Reposted by Jon Reid
Alt National Park Service @altnps.bsky.social · 27/08/2026
What a circus. 🤡
37279322200
Jon Reid @qualitycoding.org · 26/08/2026
Speed up your Swift development with custom Xcode key bindings for automated refactoring. Learn which shortcuts I use, why they matter, and how to stay in flow. qualitycoding.org/xcode-key-binding…
qualitycoding.org
Xcode Key Bindings to Make Refactoring Less Painful
Speed up your Swift development with custom Xcode key bindings for automated refactoring. Learn which shortcuts I use, why they matter, and how to stay in flow.
010
Reposted by Jon Reid
Mark Levison @mlevison.bsky.social · 24/08/2026
A hospital at 100% bed capacity can't absorb demand, faster triage barely helps. Same trap when people are kept maximally busy: no slack means no ability to adapt or innovate. "No resource idle" is the biggest generator of waste, Eli Goldratt.
042
Reposted by Jon Reid
David Brady @antiprofessor.bsky.social · 23/08/2026
If you take nothing else from this piece, treasure: "Up shit creek in a barbed wire canoe" "Not here to fuck spiders" "Belted from arsehole to breakfast"
67322
Jon Reid @qualitycoding.org · 22/08/2026
"Your GitHub Copilot access has been renewed" …Thanks? (For something I haven't used in a year.)
000
Jon Reid @qualitycoding.org · 19/08/2026
In TDD we're creating the test code and the production code in parallel. The 3 Laws of TDD come to our rescue, freeing us to focus on one thing at a time. qualitycoding.org/3-laws-tdd
qualitycoding.org
The 3 Laws of TDD: Focus on One Thing at a Time | Quality Coding
In TDD we create tests and the production code in parallel. The 3 Laws of TDD free us to focus on one thing at a time.
010
Jon Reid @qualitycoding.org · 17/08/2026
Then there's this 35-minute piece where he plays everything (and this was back in 1975). Album as a whole is fantastic. www.youtube.com/watch?v=xN4W...
youtube.com
Todd Rundgren A Treatise on Cosmic Fire HQ
YouTube video by Southern Rocker
010
Jon Reid @qualitycoding.org · 15/08/2026
You might have missed his prog
100
Jon Reid @qualitycoding.org · 14/08/2026
After all these years… the climax of the Utopia Theme still sends electricity through my body. www.youtube.com/watch?v=QYWR...
youtube.com
Utopia Theme
YouTube video by Todd Rundgren - Topic
120
Jon Reid @qualitycoding.org · 12/08/2026
How can we bypass the normal SwiftUI app launch sequence during testing? We've done this for app delegates, so let's also do it for SwiftUI apps. qualitycoding.org/bypass-swiftui-ap…
qualitycoding.org
How to Bypass SwiftUI App Launch During Unit Testing
How can we bypass the normal SwiftUI app launch sequence during testing? We've done this for app delegates, so let's also do it for SwiftUI apps.
121
Reposted by Jon Reid
Neil Taylor (digidol) @digidol.bsky.social · 10/08/2026
LLM coding assistants can free up brain cycles to concentrate on your customer's problems instead of the minutiae of code. But how do we get the best out of them? @iamleeg.bsky.social discusses "Patterns of AI-augmented software engineering" at iOSDevUK in Sept www.iosdevuk.com
Picture of Graham Lee with the talk title “Patterns of AI-augmented software engineering.” The dates (7th to 10th September) and the website (www.iosdevuk.com) are displayed. Background image is of the Aberystwyth seaside.
233
Reposted by Jon Reid
NakedPastor @nakedpastor.bsky.social · 09/08/2026
Someone shared that they were shown my #Jesus Eraser cartoon in church and asked what it said to them. A little five year old guy shot his hand up and said “he’s rubbing out the lines and letting the love in”. I just loved that.
06814
Jon Reid @qualitycoding.org · 08/08/2026
Want to refactor your SwiftUI views without worrying you'll break something? Here's the first test that makes that possible. qualitycoding.org/swiftui-tdd-fake-…
qualitycoding.org
SwiftUI TDD: Fake It Till You Make It (Part 2)
Write your first failing test for a SwiftUI view with ViewInspector, then fake it till you make it — the red-green-refactor cycle in action.
010
Jon Reid @qualitycoding.org · 08/08/2026
Heh heh, I’ll go follow the comments
010
Jon Reid @qualitycoding.org · 05/08/2026
I have expertise in TDD for UIKit code. What will it look like for modern Swift and SwiftUI? The start of a new series. qualitycoding.org/tdd-swiftui-lets-…
000
Jon Reid @qualitycoding.org · 03/08/2026
In TDD, you sometimes write code that looks obviously wrong on purpose — like hard-coding "0" instead of real logic. It feels uncomfortable. That discomfort is actually the point. Here's why. qualitycoding.org/swiftui-tdd-fake-…
SwiftUI logo surrounded by Red → Green → Refactor → Integrate → back to Red
020
Jon Reid @qualitycoding.org · 02/08/2026
Why I Hard-Coded "0" Into My SwiftUI View on Purpose qualitycoding.org/swiftui-tdd-fake-… #SwiftUI
qualitycoding.org
SwiftUI TDD: Fake It Till You Make It (Part 2)
Write your first failing test for a SwiftUI view with ViewInspector, then fake it till you make it — the red-green-refactor cycle in action.
021
Reposted by Jon Reid
Beth Andres-Beck @beth4ma.bsky.social · 30/07/2026
OpenAI: “an internal evaluation which prompts models to pursue advanced exploitation using complex attack paths” Translation: “We told it to hack, and it hacked!” Calling the computer “rogue” for doing exactly what you told it to is silly.
55214
Jon Reid @qualitycoding.org · 29/07/2026
⏱️ Follow these steps to achieve faster #Xcode test feedback, dropping from 47s to 1.6s. Enhance your workflow. Essential for TDD. qualitycoding.org/optimize-xcode-fo…
qualitycoding.org
How to Optimize Your Xcode Project for Fast Test Feedback
Learn how to overcome Xcode's slow test feedback and enhance your TDD workflow. Follow our steps to achieve faster test feedback, dropping from 47s to 1.6s.
000
Jon Reid @qualitycoding.org · 24/07/2026
How did you know I was working on my app press kit just today??
000
Reposted by Jon Reid
Jason Gorman @jasongorman.bsky.social · 22/07/2026
Okay then. Folks have been asking, and it seems a shame to waste 3 1/2 years of legwork, so I'm scheduling one Code Craft & AI workshop. Tues Sept 1st - 18:45 - 21:00 BST £99 + VAT Plus you get a copy of my book-in-progress, The AI-Ready Software Developer www.tickettailor.com/events/codem...
tickettailor.com
Register – Code Craft & AI – Zoom
Code Craft & AI – Zoom, Tue 1 Sep 2026 - Tuesday Sept 1st 18:45 BST £99 + UK VAT Large-scale studies by the DevOps Research & Assessment group, CircleCI, Faros and others show an undeniable pictu...
067
Jon Reid @qualitycoding.org · 22/07/2026
What's one of the first things you need in a new Xcode project? A gitignore file to keep out unwanted files. Here's how to generate the gitignore you need. qualitycoding.org/generate-xcode-gi…
qualitycoding.org
How to Generate a Useful Xcode Gitignore to Avoid Noise in Git | Quality Coding
What’s one of the first things you need in a new Xcode project? A gitignore file to keep out unwanted files. Here's how to generate the gitignore you need.
011
Jon Reid @qualitycoding.org · 22/07/2026
It didn't start this way, but my wife & I became an XP team. I showed her stuff, and she gave me so much feedback, I realized she's way stronger at seeing the customer perspective than I. She became more than my product director. In #ExtremeProgramming terms, she's my On-site Customer.
010
Jon Reid @qualitycoding.org · 20/07/2026
Hi Margaret! I have no plans at the moment for an Android version. But if there's enough demand… 😅
100
Jon Reid @qualitycoding.org · 20/07/2026
Other apps hand you preset categories (and some prevent you from deleting those preset entries). Me, I don't presume to know your needs — my starting categories are just examples.
100
Jon Reid @qualitycoding.org · 20/07/2026
I'm building the trip preparation checklist app _I want_ for myself. Note I say "preparation checklist" not "packing list" because hey, I have more to do than pack. With completely customizable "categories" (Flying, Driving, etc.), I bet people will use it in ways I never thought of. #BuildInPublic
iPhone screen "Select Categories": Choose which categories to include in your trip checklist.
260
Jon Reid @qualitycoding.org · 18/07/2026
Want to refactor your SwiftUI views without worrying you'll break something? Here's the first test that makes that possible. qualitycoding.org/swiftui-tdd-fake-…
qualitycoding.org
SwiftUI TDD: Fake It Till You Make It (Part 2)
Write your first failing test for a SwiftUI view with ViewInspector, then fake it till you make it — the red-green-refactor cycle in action.
000
Jon Reid @qualitycoding.org · 17/07/2026
In TDD, you sometimes write code that looks obviously wrong on purpose — like hard-coding "0" instead of real logic. It feels uncomfortable. That discomfort is actually the point. Here's why. qualitycoding.org/swiftui-tdd-fake-…
SwiftUI logo surrounded by Red → Green → Refactor → Integrate → back to Red
030
Jon Reid @qualitycoding.org · 15/07/2026
Why I Hard-Coded "0" Into My SwiftUI View on Purpose qualitycoding.org/swiftui-tdd-fake-…
qualitycoding.org
SwiftUI TDD: Fake It Till You Make It (Part 2)
Write your first failing test for a SwiftUI view with ViewInspector, then fake it till you make it — the red-green-refactor cycle in action.
121
Jon Reid @qualitycoding.org · 14/07/2026
SwiftUI TDD: Fake It Till You Make It (Part 2) qualitycoding.org/swiftui-tdd-fake-…
qualitycoding.org
SwiftUI TDD: Fake It Till You Make It (Part 2)
Write your first failing test for a SwiftUI view with ViewInspector, then fake it till you make it — the red-green-refactor cycle in action.
000
Jon Reid @qualitycoding.org · 12/07/2026
New in TestableView: An easy way to unit test how Environment changes your SwiftUI views. github.com/jonreid/TestableView
github.com
GitHub - jonreid/TestableView: To hide ViewInspector boilerplate for SwiftUI unit tests
To hide ViewInspector boilerplate for SwiftUI unit tests - jonreid/TestableView
010
Jon Reid @qualitycoding.org · 11/07/2026
Have you ever written a custom test assertion in Swift Testing and watched the failure point to the helper function instead of your actual test? qualitycoding.org/swift-testing-cus…
qualitycoding.org
How to Make Custom Test Assertions in Swift Testing
Stop chasing test failures through helper functions. Here's how to write custom Swift Testing assertions that report errors exactly where they belong.
000
Jon Reid @qualitycoding.org · 08/07/2026
Discover how Swift 6's MainActor isolation impacts XCTest, with tips on handling concurrency warnings for view controller testing. qualitycoding.org/xctest-mainactor
qualitycoding.org
XCTest Meets @MainActor: How to Fix Strict Concurrency Warnings
Discover how Swift 6's @MainActor isolation impacts XCTest, with tips on handling concurrency warnings for view controller testing.
021
Jon Reid @qualitycoding.org · 07/07/2026
Swift Testing's failure messages look "funny". But that's not the real problem. The real problem is when they show up in the wrong place entirely. qualitycoding.org/swift-testing-cus… #SwiftLang
Image shows a man looking through binoculars and asking "WHERE ARE YOU?".
000
Jon Reid @qualitycoding.org · 06/07/2026
> ❯ Elegant Objects by Yegor Bugayenko recommends against `-er` names

⏺ Good catch — TipsBootstrapper has the same -er shape as Controller. Bugayenko's critique: -er/-or names describe a job
  title (what it does) rather than what the object is, and tend to signal procedural thinking smuggled into an object.

  Looking at what's already in the codebase, the existing names are all "thing" nouns, not agent nouns: SavedFile,
  KeyValueStore, TemplateRepository, TipsResetStore — none end in -er.

  ⭐ TipsStartup — names the thing itself (the startup routine/state), matches the noun convention already in use, and
  still reads naturally as TipsStartup.create().configureForLaunch(...).

  ❌ TipsSetup — close second, but "setup" reads slightly more like a one-time action than a persistent thing.
  ❌ TipsLifecycle — accurate but broader than what the object actually does (it only handles the launch moment, not the
  full lifecycle).
  ❌ TipsLaunch — reads oddly as a type name (TipsLaunch.create() sounds like invoking a launch, not building an object).

  Want TipsStartup in the plan?
000
Jon Reid @qualitycoding.org · 06/07/2026
I pulled out my copy of Elegant Objects by Yegor Bugayenko www.yegor256.com/elegant-obje..., found the rule I was looking for, and continued with this prompt:
yegor256.com
Elegant Objects
'Elegant Objects' is a book about object-oriented programming from an idealistic and a bit futuristic point of view.
100
Jon Reid @qualitycoding.org · 06/07/2026
Ahh, naming. Claude started with TipsController because hey, consider how many Controller classes it's seen. It can do better — if you know better. I called out "controller" so it went with TipsBootstrapper. But again I had that nagging thought: we can do better still.
110