iOS Dev Weekly - iOS Dev Weekly - Issue 570

Software development is a lot like rock climbing, I think! 🧗‍♂️
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 570  August 5th 2022

 
Comment

  Comment  

 

I don’t think I’ve ever written about it before, but I believe there is an analogy between software development and rock climbing. 🧗‍♂️

I first started thinking about this in terms of source control. You make progress towards implementing a feature, then commit. Make some more progress, and commit again. Then repeat that cycle until you complete your task. Every commit is a safety net, protecting you from going too far from your “last known good” state. It allows you to experiment knowing that you’re never further away from safety than typing git reset --hard.

I’m no rock climber, but if Cliffhanger taught me anything, I know that climbing is a lot like using git! 😂 Every commit is a piton hammered into the rock face, and no matter how tricky your next move is, the rope attached to that last metal spike will catch you if you don’t make it. Eventually, you’ll reach the top of the pitch and look back at the rope looped through all your git history.

If we had thought to write every feature in the Swift Package Index from scratch today, it would have been too big a task to take on, but software releases also act like pitons. So like a rock climber, we put our first foot on the rock face with a system that gathered data from package manifests, then hammered some metal into the rock with a release before adding ingestion of metadata from GitHub. We then added piton after piton until we could create a build system for compatibility testing. Adding documentation generation to that build system wasn’t trivial, but it was possible because of all those previous releases.

There’s a reason I’m talking about this, of course. This week we hammered in our 500th piton and rolled out versioned documentation for the Swift community. There are full details in the launch blog post, but the cliff notes¹ are that if package authors opt in, we’ll permanently host DocC-generated documentation for every released package version.

It would not have been possible without the previous 499 releases.


¹ Yes, this pun is very much intended! 😂

Dave Verwer

 
 

  Sponsored Link  

 

Automated testing built by engineers for engineers

Waldo is end-to-end mobile testing done right. Easily create and maintain reliable automated tests without the pains of scripting. Catch and fix bugs earlier in your development life cycle. Start free today!

waldo.com

 
 
 

  News  

 

Two years of Indie Dev Monday

The last time I linked to Indie Dev Monday, it had only been running for a few months, and now it’s celebrating a second birthday! Josh Holtz does a fantastic job of highlighting developers from around the community. I was even lucky enough to be a part of it a few weeks ago. The anniversary merchandise sale is also raising money for Girls Who Code. Do you need even more reasons to go and check it out? I don’t think so! 🚀

indiedevmonday.com

 

Apple Entrepreneur Camp applications open

I link to these camp announcements every time Apple publishes them, but it feels like something is always missing. I’d love to see a recap of the previous camps when they open enrolment for the next one. I appreciate that not all apps from completed camps will be launched when the next camp starts, but I’m sure there are still plenty of great founders, apps, and stories from the alums that Apple could highlight.

apple.com

 
 

  Tools  

 

LLDB Print Object strongly captures an object, forever

Oleksii Nezhyborets has a valuable tip in this quick post about a bug in LLDB that needs no summary, as all the pertinent information is in the blog post’s title! If you’d like a version of po that works around the LLDB bug, he also links to swift_po from Dave Lee.

I hope this saves you from a few conversations with phrases like “But how can it be captured there?!” 😂

diggingdeveloper.blog

 

Security Application Static Analysis applied to iOS and Gitlab CI

Do you do any automated security checking on your apps? In this article, Benoit Pasquier digs into adding mobsfscan from the MobSF Mobile Security Framework to his CI process.

We’re not working on anything yet, but this topic has been on our minds for the Package Index, too.

benoitpasquier.com

 
 

  Code  

 

How do 3D transforms of iOS views work under the hood?

I missed this two-part (1, 2) series on 3D transforms from Alex Lee when it was first published in March. He was kind enough to drop me a note about it this week, though, and it’s worth a read if you’ve ever wondered what an m₃₄ is.

thealexanderlee.com

 

Using UIPasteControl in a UIMenu in iOS 16

Will Bishop has been looking into the new privacy warnings in iOS 16 and has written a great post on working with them to ensure that your users never see a privacy warning when pasting into your app.

willbish.com

 

Experimenting with Live Activities

Ole Begemann has been experimenting with implementing Live Activities after Apple recently added the feature to the betas. If you were looking for some real-world experience with this API, here you go! The app he’s building looks very cool, too.

oleb.net

 

Shaders Explained - Gradients

Have you always wanted to understand Metal 🤘 a little better but have been put off by how much there is to learn if you’re not already familiar with low-level 3D development? How about implementing a gradient in a shader instead? That sounds much more manageable, doesn’t it? Luckily, that’s what Peter Tretyakov has put together in this article.

mtldoc.com

 
 

  Design  

 

How I used DALL·E to generate a logo

I won't go over my thoughts again, but no matter what I think, the results that Jacob Martin got from DALL-E to generate a logo for his OctoSQL project are remarkable, given how young the technology is.

jacobmartins.com

 
 

  Jobs  

 

Senior iOS Engineer (Swift) @ GoodNotes – GoodNotes is a top-rated paid-for productivity app, available to use on iPad, iPhone and Mac devices with over 10m MAU. You will own your projects and work alongside a high-calibre cross-functional team to continue delivering a product our users love! – Remote (within European or Asia-Pacific timezones) or on-site (Hong Kong or United Kingdom)

Senior iOS Engineer @ Sendwave – We currently have a 4.6-star rating on Trustpilot — people put their faith in us to deliver their money quickly, securely, and affordably. And we’re pretty darn proud of that. – Remote (within US or European timezones)

MacOS/iOS Developer @ DeepL – DeepL is hiring! Want to join the team behind the internet's most powerful translation engine? We are seeking an experienced MacOS/iOs developer to join our Native Apps team, on a fully remote basis. – Remote (within European timezones)

 

You know what I'm going to write here by now, so I'll just leave you this link.

 
 

  And finally...  

 

When a thin blue outline just doesn't say focused enough. 😂

 
You received this email because you subscribed via the iOS Dev Weekly site.
We'll be sorry to see you go but you can unsubscribe instantly.
 
Shiny Development Ltd. Daresbury Innovation Centre Keckwick Lane Daresbury Cheshire WA4 4FS United Kingdom
 
 

 
 
©2022 iOS Dev Weekly | Privacy Policy | Twitter | Suggest a Link
 
Published with Curated

Key phrases

Older messages

iOS Dev Weekly - Issue 569

Friday, July 29, 2022

Where would you write Swift code without Xcode? TextEdit? 👎 Microsoft Word? 👎 Or … View on the Web Archives ISSUE 569 July 29th 2022 Comment I've been meaning to check out the Swift for Visual

iOS Dev Weekly - Issue 568

Friday, July 22, 2022

To embrace or resist the new wave of AI-based APIs. That is the question! 🤖🖼 View on the Web Archives ISSUE 568 July 22nd 2022 Comment Did you see Steve Troughton-Smith's experiments using

iOS Dev Weekly - Issue 567

Friday, July 15, 2022

Thank you for all of your help and support helping to make sure the Package Index is sustainable 🙏😍 View on the Web Archives ISSUE 567 July 15th 2022 Comment First up this week, I want to thank you all

iOS Dev Weekly - Issue 566

Friday, July 8, 2022

We need some help making sure the Swift Package Index is around for the long term? Can you help? 🙏 View on the Web Archives ISSUE 566 July 8th 2022 Comment I was going to start this week's issue

iOS Dev Weekly - Issue 565

Friday, July 1, 2022

How do you like to format your code? I like mine formatted automatically! 🤖 View on the Web Archives ISSUE 565 July 1st 2022 Comment I've seen a few people talking positively about Xcode 14's

You Might Also Like

SRE Weekly Issue #422

Monday, April 29, 2024

View on sreweekly.com A message from our sponsor, FireHydrant: FireHydrant is now AI-powered for faster, smarter incidents! Power up your incidents with auto-generated real-time summaries,

Quick question

Sunday, April 28, 2024

I want to learn how I can better serve you ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Kotlin Weekly #404 (NOT FOUND)

Sunday, April 28, 2024

ISSUE #404 28st of April 2024 Announcements Kotlin Multiplatform State of the Art Survey 2024 Help to shape and understand the Kotlin Multiplatform Ecosystem! It takes 4 minutes to fill this survey.

📲 Why Is It Called Bluetooth? — Check Out This AI Text to Song Generator

Sunday, April 28, 2024

Also: What to Know About Emulating Games on iPhone, and More! How-To Geek Logo April 28, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your

Daily Coding Problem: Problem #1425 [Easy]

Sunday, April 28, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Suppose an arithmetic expression is given as a binary tree. Each leaf is an

PD#571 Software Design Principles I Learned the Hard Way

Sunday, April 28, 2024

If there's two sources of truth, one is probably wrong. And yes, please repeat yourself. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

When Procrastination is Productive & Ghost integrating with ActivityPub

Sunday, April 28, 2024

Automattic, Texts, and Beeper join forces to build world's best inbox, Reflect launches its iOS app, how to start small rituals, and a lot more in this week's issue of Creativerly. Creativerly

C#503 Building pipelines with System.Threading.Channels

Sunday, April 28, 2024

Concurrent programming challenges can be effectively addressed using channels ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RD#453 Get your codebase ready for React 19

Sunday, April 28, 2024

Is your app ready for what's coming up in React 19's release ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

☁️ Azure Weekly #464 - 28th April 2024

Sunday, April 28, 2024

Azure Weekly Newsletter Issue #464 powered by endjin Welcome to issue 464 of the Azure Weekly Newsletter. In AI we have a good mix of high-level and deep-dive technical articles. Next-Gen Customer