What I am working on
Styling SwiftUI Views - How does view styling work?
I am sure you have used SwiftUI's styling APIs before - for example to configure the look and feel of List
views. But how does this work, and how can we use view styling to our advantage?
In this series, I will answer these questions, and show you how you can create new custom styles for SwiftUI's views such as Toggle
, Button
, and GroupBox
. In a later episode, we will also look at how to create SwiftUI views ourselves that can be styled using this mechanism, so stay tuned!
Firebase
Build real-time web apps with Firebase and Angular
Learn how to build a real-time collaborative web app that uses Angular and Firebase to implement user authentication and advanced reactive data patterns, and then deploy it to Firebase Hosting, with Mark "Mayor" Techson (@marktechson) and David Vite (@_davideast).
Cloud Functions to the Rescue!
Do the following pain points sound familiar to you?
- "It's JUST calling 4 APIs for loading one page; why are you making such a fuss about it?!"
- "Can't you just handle that part of the logic on the client? We don't have time to add that now!"
- "There is this user setting that needs to be saved, just do it on the client side!!"
If you answered "yes" to at least one of these, you should definitely check out Zamzam's FrenchKit presentation "Cloud Functions to the Rescue!" to learn what Cloud Functions for Firebase are, and how they can help mobile engineers become more efficient.
SwiftUI
Animating a Circular Progress Bar in SwiftUI
Did you ever wonder how the circular animations in Apple's Fitness app are implemented? Amos shows us how.
Making our production SwiftUI app 100x faster — Clay
This article dives into how to use the SwiftUI template in Instruments to find out why a specific view got slower. The result might surprise you, but the bottom line is: use Instruments to find performance bottlenecks in your apps.
Detecting Xcode Previews
Sometimes, it might be important to know whether you're running inside a SwiftUI preview. Turns out, there is an environment variable (XCODE_RUNNING_FOR_PREVIEWS
) that tells us exactly that. Giovanni shows how to make this accessible via the SwiftUI environment.
AI and ML
Prompts for a better ChatGPT experience
One of the interesting aspects of ChatGPT is that you can influence its mode of operation. For example, you can tell it to act as a programming language interpreter.
For example, here is what happens when you tell it to act as a Swift interpreter:
Me:
func fibonacci(_ number: Int) -> Int {
return number < 2 ? number : fibonacci(number - 1) + fibonacci(number - 2)
}
fibonacci(10)
ChatGPT:
55
Me:
Array(0...40).map(fibonacci)
ChatGPT:
Sorry, I am unable to execute the given code. The calculation for the Fibonacci sequence for the given input will take a very long time to execute and may not complete. It is recommended to use an iterative solution for calculating the Fibonacci sequence for large inputs.
Pretty impressive, huh?
Add the web to ChatGPT
It's a well-known limitation of ChatGPT that it cannot access data on the web. This Chrome extension augments the ChatGPT interface on the web and injects the result of a web search into your prompt.
Tools
Search your tabs, bookmarks and history in the Chrome address bar
I don't know about you, but I usually have a ton of tabs open in Chrome - spread out across several macOS spaces... Being able to quickly search my tabs, history, and even bookmarks with a handy shortcut sounds like a massive improvement to me.
Screen Studio — Beautiful screen recordings in minutes
There are many screen recording tools, but this one is different - it automatically focuses on what's important.
I don't know what's more impressive: how slick the videos look, or the fact that Adam Pietrasiak only started building this 3 months ago.
Best Markdown Editors for Mac OS and iOS - 2022
How do you write your Markdown files? Inside VS Code, Byword, or - gasp! - Xcode?
If you're looking for better Markdown editors or authoring systems, definitely take a look at the tools listed in this article - MWeb Pro in particular looks pretty interesting.
Conferences
Conferences? There is an app for that!
How do you track conferences and ideas for talks? I’ve been using a couple of approaches (wikis, internal databases and spreadsheets, and - most recently - a combination of Asana and Craft) in the past, but Oliver is going all in and started building an app.
Also - I need to look up all those other conferences!
Fun stuff
Shift Happens
Shift Happens is a book about the tool that most of us use every day to interface with our computers. The Kickstarter campaign will start in February, and I am more excited about this than I am happy to admit.
The website has a number of really fun interactive elements - for example, you can browse a 3D version of the book (for this alone it's worth visiting the site, trust me), or a game in which you need to place keycaps in the correct spots on an on-screen keyboard (I scored 75% accuracy for the Mac keyboard - can you do better?)
Also… no less than 4 photos of keyboards using Comic Sans as the font for their key caps… 🙈
Comment
It is great to see that in-person conferences are back - but why did everyone think it's a good idea to run them all in April and May...?
From what I've seen on Twitter and Mastodon and the various CfP sites, things are shaping up to look great, and people attending those conferences are in for some really great talks and workshops. Speaking of which, many CfPs are still open, so why don't you make good on that New Year's resolution and submit a talk?
If you've lost track of all the great talk ideas you had for all those conferences, I've got good news for you - Oliver Binns has made it a point to not only speak at a conference, but has also started to build an app to help track talks and submissions. I have a feeling some of his own talks might cover stuff he's discovered while building this app...
Oh, did I mention that my book will be published soon? I've just signed off the final proof, and the publisher has told me it will be on (electronic) shelves near you in the next couple of days. You can pre-order it on Amazon, Bookshop.org, Barnes and Nobles, and your local book store, too.
Peter ❤️🔥