@qcoding@iosdev.space
@qcoding@iosdev.space avatar

qcoding

@qcoding@iosdev.space

Technical agile coach at Industrial Logic. Author of iOS Unit Testing by Example. Over 20 years of #TDD. Code with joy, drive down your cost of change. he/him

This profile is from a federated server and may be incomplete. Browse more on the original instance.

qcoding, to random
@qcoding@iosdev.space avatar

🌟 I'm on the Job Hunt! 🌟

Two decades of experience with Objective-C + Swift.
iOS developer: I've worked on apps for Fortune 100 companies.
Author of iOS Unit Testing by Example: I'm a leading expert in iOS unit testing, refactoring, and TDD.
Technical agile coach: I know how to ship value sooner, increase flow, reduce waste, and level up developer skills.
Remote work for 7 years: I know how to have closer collaboration remotely than most teams have in-office.

Please boost for reach.

qcoding, to random
@qcoding@iosdev.space avatar

TL;DR organizational structure is a better indicator of defects than code metrics https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=5c034f72ae0847553366485a7b33e2372e9432a2

qcoding, to random
@qcoding@iosdev.space avatar

Welp, I finally got around to making a dedicated page for my boo with its own domain. Better late than never, right? Check it out: https://iosunittestingbyexample.com/

qcoding, to random
@qcoding@iosdev.space avatar

"Zoom orders workers back to the office" is funny, but there's nothing unique about Zoom doing it.

All these companies show that they don't understand how effective work is actually done, and how to organize around that. Instead, they're relying on the implicit benefits of the past where work happened to be done in person (but they don't know how).

qcoding, to random
@qcoding@iosdev.space avatar

Replacing my AirTag batteries didn't work. I learned that Apple placed the contact near the edge of the disc. Also, Duracell added a child safety feature "bittering agent" near the edge of the disc. The agent prevents the AirTag from connecting.

Solution: sandpaper

qcoding, to random
@qcoding@iosdev.space avatar

I was on macOS Monterey on my M1 machine. Upgrading to Ventura makes crash with a kernel panic. I verified that installing Loupedeck onto a clean Ventura without my files works fine, so it's something in my existing data. Has anyone had this problem and fixed it?

qcoding, to random
@qcoding@iosdev.space avatar

If something is hard to TDD, what does it say about the design? A bad example from Apple leads us to explore design sense, SRP, and Clean Architecture. https://qualitycoding.org/design-sense/

qcoding, to random
@qcoding@iosdev.space avatar

What if… we stopped saying “individual contributor” and started saying “team member”?

qcoding, to random
@qcoding@iosdev.space avatar

I know folks enjoy Advent of Code for the coding puzzle challenges. And if that's you, go for it and have fun!

Meanwhile, there's a separate set of skills called software crafting. So I'm curious what this Advent of Craft will be like. https://github.com/advent-of-craft/advent-of-craft

qcoding, to random
@qcoding@iosdev.space avatar

Join me as I live-code setting up GitHub Actions for Continuous Delivery on an Xcode project — all to support fast, continuous feedback.
https://www.twitch.tv/qcoding
Starting 24 hours from now (9:30am Pacific, 17:30 UTC), and lasting roughly 1 hour.

mikaelacaron, to random
@mikaelacaron@swiftdevs.space avatar

How do you stay productive every day?

It’s wild that I can be super productive one day, and absolutely not the next

What do you do to be more consistent? (This isn’t clickbait, I’m actually wondering how ya do it)

qcoding,
@qcoding@iosdev.space avatar

@mikaelacaron Ensemble programming. Each line in this graph represents the ups and downs of each individual. Coding together gets the collective maxima, moving the work forward whether you're up or down.

qcoding, to random
@qcoding@iosdev.space avatar

I hope that this podcast will inspire other iOS developers to grow in their unit testing skills and begin to explore Extreme Programming for their teams. https://qualitycoding.org/podcast-ios-unit-testing-champion/

qcoding, to SwiftUI
@qcoding@iosdev.space avatar

I'm taking a small break from live coding, so there will be no stream this Sunday.
But do return on Sunday, March 10. We'll start writing a game using ! What does test-driven development () look like in a SwiftUI world?
The chat is lively: you can ask questions and help answer mine. Follow me on Twitch for the go-live notification. https://www.twitch.tv/qcoding

qcoding, to random
@qcoding@iosdev.space avatar

"Recognizing Code that Resists Unit Testing"
Developers writing for Apple platforms often struggle with unit testing. "Here is my code. I don't see how to write a unit test for it." When this happens, the code is trying to raise a red flag about its design. There's something about it that resists testing. In this talk, you'll learn what kinds of dependencies make testing difficult and what to do about them. https://www.youtube.com/watch?v=FFk583ZtGd8

qcoding, to random
@qcoding@iosdev.space avatar

It's amazing how few Git commands you need to do Trunk Based Development.

qcoding, to random
@qcoding@iosdev.space avatar

tip:
See code that looks similar?
First, make them identical.

qcoding, to random
@qcoding@iosdev.space avatar

We made a lot of progress in yesterday's live coding session. Check it out if you're curious about automating TestFlight deployment without bringing in other dependencies like Fastlane. https://www.youtube.com/watch?v=CdWAnemflQw&list=PL-NrXVEjQ-o8N2opeVDjRFNeXp588C35H&index=8

qcoding, to random
@qcoding@iosdev.space avatar

Just did a personal coaching session with an iOS dev:

• Discussed how to reduce conditionals in their view model with Strategy pattern
• Changed test from using oddly exposed property to testing behavior
• Extracted test helper to improve readability
• Xcode's automated refactoring is weak, but is still better than doing things by hand
• Simplified test code and removed clutter (code that had no effect)

I learned from them:

• Xcode has Editor > Structure > Format to Multiple Lines (^M)

qcoding, to random
@qcoding@iosdev.space avatar

May 4, 1970. Kent State. Four dead in Ohio. https://www.youtube.com/watch?v=JCS-g3HwXdc

qcoding, to random
@qcoding@iosdev.space avatar

Agility isn’t dead, it just smells funny.

(hat tip: Frank Zappa)

qcoding, to random
@qcoding@iosdev.space avatar

A timely message from a friend.
With the internet freaking out about Easter and Transgender Day of Visibility falling on March 31, 2024, what if… Jesus is using this to highlight this marginalized people group, to see them through His eyes of Love, that we might see the Image of God in this people group the Church has rejected.
https://www.tiktok.com/@joelhickenbottom/video/7352774038571273518

qcoding, to random
@qcoding@iosdev.space avatar

The paper indicated the three most significant changes associated with Copilot's rise concerned:

qcoding, to random
@qcoding@iosdev.space avatar

Remembering Elijah McClain, as the last sentencing goes through. Here are his last words.

I can't breathe. I have my ID right here. My name is Elijah McClain. That's my house. I was just going home. I'm an introvert. I'm just different. That's all. I'm so sorry. I have no gun. I don't do that stuff. I don't do any fighting. Why are you attacking me? I don't even kill flies! I don't eat meat! But I don't judge people, I don't judge people who do eat meat.

(1/2)

qcoding, to random
@qcoding@iosdev.space avatar

This is why I resist upgrading macOS (and why I make a full clone before attempting it). My scripts are broken on Sonoma. Yes, they're enabled in Privacy & Security > Accessibility. Yes, I turned accessibility off & on again. Yes, I rebooted.
Does anyone have a fix before I downgrade?

itsjoshbruce, to php
@itsjoshbruce@phpc.social avatar

Had a developer moment updating a project: "Man, this is no good; I should do something about it."

That's the judgy part. The part that wants to throw everything away and start over using my current knowledge, patterns, and understanding.

This is the distracting part.

The site still works. The code is well crafted for my knowledge, patterns, and understanding at the time. Time to start making notes of how to get "there" from "here."




qcoding,
@qcoding@iosdev.space avatar

@gdinwiddie @itsjoshbruce Mikado Method looks like Discovery Trees, but functions differently. It has a workflow:

  • attempt thing
  • discover prerequisite step
  • reset the code

Now repeat from the prerequisite.

The "reset and try again from the next node" is what makes the Mikado Method powerful. Discovery Trees don't prescribe that (but could use it).

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • tacticalgear
  • thenastyranch
  • ngwrru68w68
  • magazineikmin
  • khanakhh
  • rosin
  • mdbf
  • Youngstown
  • slotface
  • everett
  • cisconetworking
  • kavyap
  • DreamBathrooms
  • anitta
  • InstantRegret
  • Durango
  • osvaldo12
  • ethstaker
  • modclub
  • GTA5RPClips
  • Leos
  • cubers
  • tester
  • normalnudes
  • megavids
  • provamag3
  • lostlight
  • All magazines