Greg Kopel
banner
gregkopel.bsky.social
Greg Kopel
@gregkopel.bsky.social
Software Developer: iOS | macOS | Swift | Swift UI
Still coding in Obj-C 🦖
https://netmedia.dev
Reposted by Greg Kopel
Over the last few months, a bunch of promising leads haven't worked out. These things can take months, so who knows? But in the meantime, I have room for more work.

I help teams adopt Swift 6/Concurrency with confidence and success. More info about me here:

www.massicotte.org/consulting
Consulting
I write stuff here.
www.massicotte.org
November 10, 2025 at 4:16 PM
Been working with a client for 3 years — their iOS app is 10 years old, half of it still in Objective-C.
I sneak in Swift concurrency, property wrappers, etc., but honestly sometimes I feel like a dinosaur 🦕
Anyone else stuck in a mix of old and new? 😅
April 26, 2025 at 8:13 AM
Interesting article: a good example of a Swift-based service architecture: www.swift.org/blog/how-swi...
How Swift's server support powers Things Cloud
You might be familiar with Things, a delightful personal task manager that has won two Apple Design Awards and is available across Apple devices including iPhone, iPad, Mac, Apple Watch, and Apple Vis...
www.swift.org
April 22, 2025 at 12:39 PM
Reposted by Greg Kopel
If you haven't heard, there's a new Bluesky client coming this summer
➡️ @phoenix.tapbots.com from the makers of Tweetbot and Ivory.

Our team is very eager to give it a try. It's always exciting to see the Bluesky ecosystem growing.
March 17, 2025 at 2:36 PM
I’m aware that the end of January might not be the best time for cycling but I’ve just released version 2.0 of my app. If you like cycling, feel free to give it a try: bikemind.app
January 25, 2025 at 8:17 PM
Do you plan to learn how to write tests in Swift? It's great opportunity to learn and to help: @twostraws.bsky.social is looking for as many folks as possible to help contribute tests for Ignite - his open source project. I plan to join, do you? :)
See: twostraws.gumroad.com/p/hacking-wi...
GitHub - twostraws/Ignite: A static site generator for Swift developers.
A static site generator for Swift developers. Contribute to twostraws/Ignite development by creating an account on GitHub.
github.com
January 9, 2025 at 4:32 PM
Reposted by Greg Kopel
This is why I’ve never played the SEO game, and (other than a weeks long experiment with AdWords in 2003) have never accepted pageview-measured ads on Daring Fireball. The way that SEO-driven ads would — not *might*, but *would* — corrupt both format and content was obvious to me.
this is the internet Google created where everyone is trying to keep page time up, word count above a certain level, etc. it fucking sucks and it’s just because everyone is trying to game the algo to make their little ad rev pittance
I wanted to know if Kraven the Hunter had a post credits scene so I found an article about it.

There were TEN paragraphs before I got a yes or no answer.

This was one of them. Do they really think I needed this beforehand?
December 14, 2024 at 9:10 PM
Reposted by Greg Kopel
A passage from the Tao that’s frequently worth revisiting.
December 27, 2024 at 10:15 PM
If you're searching through developer.apple.com/documentation for some introductory materials, pay attention to such symbols. These are usually very well written interactive tutorials
December 25, 2024 at 8:13 AM
Reposted by Greg Kopel
What does it mean for something to be Turing complete?

I answer this question, and more, through a series of fully interactive Turing machine simulations! Play, pause, step forwards and backwards, and even write your own Turing machine programs in my latest blog post.

samwho.dev/turing-machi...
December 20, 2024 at 10:33 PM
Reposted by Greg Kopel
My talk from @swiftleeds.co.uk is up in case you want to check it out.

youtu.be/N5iIXwBW54A?...
Swift Concurrency is new and hard, and you can do it - Matthew Massicotte | SwiftLeeds 2024
YouTube video by SwiftLeeds
youtu.be
December 18, 2024 at 12:57 PM
If you’re taking a programming course, divide it into sections and take breaks. After completing the first section, take a few days off and practice coding on your own. Let your brain assimilate what you’ve just learned. Then, move on to the next part of the course.
December 17, 2024 at 9:35 PM
Reposted by Greg Kopel
I got a thing working! Multiple cursors for `NSTextView`.

Library is actually text system-agnostic and `UITextView` isn't too far behind. Not "done" quite yet, but quite far along. And has some of the pieces in place to support very large numbers of cursors.

github.com/chimeHQ/IBeam
GitHub - ChimeHQ/IBeam: A Swift library for multi-cursor support
A Swift library for multi-cursor support. Contribute to ChimeHQ/IBeam development by creating an account on GitHub.
github.com
December 16, 2024 at 7:14 PM
When I think about folks starting their journey in iOS development, I find it can be tricky to navigate all the available materials and identify what is fundamental and essential. I believe Apple Pathways is a good resource for this purpose: developer.apple.com/pathways/?ci...
Welcome to Pathways - Apple Developer
Pathways are simple and easy-to-navigate collections of the videos, documentation, and resources you’ll need to start building great apps and games.
developer.apple.com
December 14, 2024 at 12:27 PM
As an iOS consultant, whenever I'm about to sign a multi-page contract full of NDAs, contract penalties, and other legal lingo, I remind myself of this post: signalvnoise.com/svn3/my-kind...
My kind of contract
The work for hire terms at Segura, a design firm in Chicago. My three favorite bits: 1. “Time is money. More time is more money.” 2. “If you want something that’s been done before, use that.” 3. Th…
signalvnoise.com
December 10, 2024 at 12:29 PM
Reposted by Greg Kopel
I'm excited to chat with @massicotte.org about Swift 6 and concurrency... again 😳
This is your chance to get your question answered about concurrency and the future of Swift.
Let us know what you'd like us to talk about ASAP.
December 9, 2024 at 1:56 PM
If you're struggling to understand the difference between 'some' and 'any' in Swift, this is, by far, the best article I've come across: www.donnywals.com/whats-the-di...
Thanks @donnywals.bsky.social .
Omnomnomnom, that was a good pizza :)
What’s the difference between any and some in Swift?
Any and some are both keywords that can be applied to existential types. Learn about their differences and similarities in this post.
www.donnywals.com
December 7, 2024 at 2:26 PM
When I think about 3 best iOS development changes in recent years:
1. Previews: no need to restart project to see UI changes.
2. Swift Data: been using in my side projects only, but feels much lighter than Core Data.
3. SwiftUI + Observation. I like it for almost all cases. Maybe except drag & drop.
December 7, 2024 at 11:48 AM
"I don't adopt a new Apple technology until it's been out for at least a year" said a guy who works with Apple platforms for +25 years. Love it. Very interesting talk with Matt Massicotte about Swift Concurrency: www.youtube.com/watch?v=oMg2...
Dev Conversations #4: Matt Massicotte - Swift 6 strict concurrency
YouTube video by Swift Toolkit
www.youtube.com
December 3, 2024 at 9:27 PM
I’m currently working on an iOS app for a bank, focusing on a Wallet Extension, a tiny utility that integrates the iOS Wallet with my app. If you do something similar, note that Wallet Extension disappears in iOS 18.1 but hopefully will return in 18.2 as some folks report: tinyurl.com/3u7yp462
Wallet Extension Not Working on iO… | Apple Developer Forums
tinyurl.com
December 1, 2024 at 9:56 AM