Subscribe for weekly commentary and coverage of Swift and Apple platform development. Written by Dave Verwer and published every Friday. Free.

Picture of Dave Verwer

Issue 636

17th November 2023

Written by Dave Verwer

Comment

Did you watch the GitHub Universe keynote earlier this week? Or should I say, the GitHub Copilot keynote?

I won’t talk about the state of AI, the Copilot technology itself, or any other potential issues in my comment today. All of that will change over time, and no matter where my opinion would land, I want to save my inbox. 😬 Instead, I want to talk about it more broadly.

GitHub is clearly all in on Copilot, and to prove that point, it was the focus of their entire keynote. Copilot in Pull Requests, generating descriptions and explaining code. Copilot in editors and IDEs, both first-party and expanding out into third-party too. Copilot everywhere.

Then, as the keynote closed, they previewed “Copilot Workspace”, and it’s an evolution of Copilot across the full software development process. Open a GitHub issue, describe your problem, go back and forth with the AI to define and edit a spec, then hit a button and have it open a Pull Request with the code and tests implemented. Magic! 🧞

Recently, I’ve received several quite pessimistic emails that focus on what might happen as this technology matures and becomes capable of things like Copilot Workspace. What will all the software developers do once we’re out of work? 😱

AI brings the potential for massive change in software development, and there’s a good chance it’ll meaningfully change the industry. I’m not pessimistic about it, though. We’ve been through big changes before, and so has almost every other industry. It’s progress, and if AI doesn’t drive it, something else will.

If we do end up in a world where we can write a GitHub issue, press a button, and see a perfect change get deployed, it’ll mean we have to get much better at writing issues, and we’ve been fighting that battle for decades! If this is what makes that happen, bring it on. 😂

Dave Verwer

Join the FREE iOS Architect Crash Course

If you’re a mid/senior iOS developer looking to improve both your skills and salary level, join this free online crash course. It’s available only for a limited time, so get it now.

Tools

The complete guide to Swift development in Neovim

We’ve had great support for Swift in VS Code for a while now, but what about other editors? If you’re a Vim user, there’s some support for a Vim mode in Xcode, but you’re probably still pining for the real thing. Wojciech Kulik has an amazingly detailed write-up of getting what looks like a great Swift development environment up and running using Vim.

Code

Mastering ViewThatFits

fatbobman continues his explanatory tour around Swift’s layout system. Last week, he tackled GeometryReader, and this week, he goes after viewThatFits and friends.


Distributing Work Between Actors

I enjoyed Jack Morris’ write-up of his experimentation with creating a concurrent database connection pool with async/await. It’s also a great example that a blog post can ask questions, as he does at the bottom, as well as deliver information.


Swift strings look identical but aren’t

There’s always a Unicode character you don’t know about, and here’s Damian Mehers to tell us about the one he recently found.

Design

Bento

This new app from Ryan Klumph makes creating those masonry-layout summary slides that Apple is very fond of incredibly easy. Pick a layout, pop some text in, choose some app icons and images, and you’re all set. It’s free, but there are a few ways to say thank you, either by including an optional watermark or by making a donation. There’s more information in the intro blog post.

Videos

Inferno – SwiftUI + Metal

I was pretty confident I would go my whole career without writing a Metal shader, but after watching Paul Hudson’s latest video… Well, I’m still pretty confident I won’t do it, but at least now I know I could! 😂

Seriously, though, this is a fantastic video that takes a genuinely approachable look at Metal fragment shaders for someone without prior Metal knowledge. Even better, it’s accompanied by a blog post and GitHub repository with possibly the best README file I’ve ever seen. Remarkable work.

Jobs

Founder/CTO @ XLIO – An opportunity to lead the development of a greenfield project requiring deep macOS integration (this is not “just another” Swift app) which will be installed on hundreds of thousands of devices worldwide. – Remote (within US timezones) with some on-site work (United States)

iOS Developer @ KURZ Digital Solutions GmbH – Join KURZ Digital Solutions! Take the lead in developing innovative apps as an iOS developer and explore modern technologies in a dynamic team. Experience a culture of learning and creativity that combines tradition and digital innovation. – Remote (within European timezones) with some on-site work (Germany)

Senior iOS Engineer @ Luma AI – We are a small AI research and product company working on new kinds of creative tools for 3D. Our mission is to democratize the 3D experience for all. iOS at Luma is at the center of the product universe. We are growing the iOS team from 1-4, please reach out if you’re interested! – On-site (United States in CA) with some remote work (within US timezones)

And finally...

Am I linking to this because it’s a great little tale of using CreateML to solve Rubik’s cubes, or because the 3D printable robot is called CUBOTino? I’ll let you decide! 🧩