Jon Reid

Jon Reid

@qualitycoding.org

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

892 followers198 following619 posts

Pinned

👋 Greetings, Bluesky! I've been a developer in the Apple ecosystem since Mac OS 7. Got test-infected. Wrote a book for iOS developers. I'm an Exvangelical (not a typo), originally from Japan, love music (especially prog and fusion).

Blast from the past… The latest official email from Cocoapods lists my pods: - ApprovalTests_Swift (last updated Aug 18, 2022) - MockUIAlertController (last updated Feb 11, 2019) - MockUIAlertViewActionSheet (last updated Dec 23, 2015)

View full thread

Evolution of a tool: MockUIAlertViewActionSheet became MockUIAlertController. That in turn became ViewControllerPresentationSpy.

I read "Mock Roles, Not Objects" (OOPSLA 2004) and learned about jMock. In 2006, I ported jMock to Objective-C to help me write tests at Apple. So Apple technically owned it, though it probably died a forgotten death.

Blast from the past… The latest official email from Cocoapods lists my pods: - ApprovalTests_Swift (last updated Aug 18, 2022) - MockUIAlertController (last updated Feb 11, 2019) - MockUIAlertViewActionSheet (last updated Dec 23, 2015)

- OCHamcrest (last updated Oct 8, 2023) - OCMockito (last updated Oct 8, 2023) - ViewControllerPresentationSpy (last updated Jan 8, 2023) - XcodeCoverage (last updated Jan 1, 2020)

I started a new job in September. Today, the company gets a new name: GemTalk Systems is now GemDB. They've been around for 40 (!) years.

View full thread

When I got my Master's degree, I really wanted to work in Smalltalk. When Apple rebuilt itself around NeXTStep, I got the next best thing: working in Objective-C. It doesn't have the same "always running" quality of Smalltalk, but it does have real message-based OO.

I started a new job in September. Today, the company gets a new name: GemTalk Systems is now GemDB. They've been around for 40 (!) years.

My career has been about increasing developer joy and lowering the cost of change. Those are two sides of the same coin. The same principles that lower the cost of change also make for happier coders.

Now I'm doing QE on an object database where changing your code doesn't mean fighting your schema. No object <-> database translation! …It's pretty slick, and devs will definitely be happier. (Remember, the things that help human coding also help agentic coding.)

Starting your first SwiftUI test with TDD? Assert First gets fiddly when ViewInspector is involved. So outline the test as plain-English comments first, and you'll know where you're going before writing code. https://qualitycoding.org/describe-test-plain-english/

qualitycoding.orgDescribe Your Test in Plain English | Quality CodingStarting a SwiftUI test with TDD? Write the test in plain English first, as comments, so you know where you’re going before ViewInspector gets fiddly.

Last night, I used AI to help me assign date info and captions to some of my mother-in-law's scanned photos. Then I had it extract a skill. It even created several scripts. "grandma-photos" will be ready for the next batch of photos. So designing skills isn't just for work.

Jon Reid reposted

Bringing back a classic post. Kent Beck's Decompose Run-On Tests. Updated for Swift Testing jaimzuber.com/testing/deco... Kent's original Facebook Note is the post I've shared the most when teaching devs to write maintainable test suites

jaimzuber.comDecompose Run-On Tests (In Swift Testing)Years ago, while Kent Beck was at Facebook, he posted a short note called Decompose Run-On Tests. The original images are long gone and it no longer shows up in search results. But it changed how I wr...

Jon Reid reposted

LLMs frequently state that a test is “flaky” or “previously failing” as an excuse not to fix it. Is that the result of reinforcement learning, or have you all been doing that in the training data?

“It takes experiencing the fixed system to know that there was a problem that needed fixing.”

Allen Holub@allenholub.bsky.social

I just had my piano tuned today, and suddenly, there's a sparkle to the sound that wasn't there before. The interesting thing is that yesterday, I was wondering if it needed tuning at all. Everything sounded okay, there were no obvious off notes. 1/5

I need to add a section answering the most common question: "This book focuses on XCTest + UIKit. Is it still relevant for Swift Testing and SwiftUI?" Short answer: - Swift Testing has some differences, but testing is still testing. - For SwiftUI testing see qualitycoding.org/tdd-swiftui-...

qualitycoding.orgTDD with SwiftUI | Quality CodingFrom the author of iOS Unit Testing by Example… These are all the posts so far in the series. Subscribe to this new series to get articles as they come!

Jon Reid reposted

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.

Enter /insights into Claude! The report it generated for me lists: - What's working - What's hindering you - Quick wins to try - Ambitious workflows

Jon Reid reposted

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.