Joined June 2007
134 Photos and videos
Stephen Celis retweeted
WWDC is an exciting time for most, but for us it can be stressful! Xcode betas bring new bugs that can affect people who depend on our libraries. But, we take this job seriously, and have already ushered out releases to workaround beta issues in 4 of our most popular libraries!
9
101
4,863
Stephen Celis retweeted
Today #WWDC26 introduced a brand new version of the “alert” and ”confirmationDialog” modifiers that are not only simpler and more ergonomic, but they are more correct, preventing impossible states. This is the 3rd iteration of the “alert” API in SwiftUI!
4
10
122
18,914
Stephen Celis retweeted
Once subscribed to Point-Free you will unlock access to our newest concurrency series, uncovering all things isolation. We show how it statically proves code is safe, how it works under the hood, how to override and share isolation, and so much more. 👉 pointfree.co/collections/bey…
To celebrate #WWDC26 we are running a rare 30%-off sale! Gain a deep understanding of advanced Swift topics, AI skills, beta previews, and much, much more: pointfree.co/blog/posts/208-…
4
29
6,325
Stephen Celis retweeted
Love to read this because we have spent many, many hours on this newest concurrency series!
7
32
2,520
Stephen Celis retweeted
To celebrate #WWDC26 we are running a rare 30%-off sale! Gain a deep understanding of advanced Swift topics, AI skills, beta previews, and much, much more: pointfree.co/blog/posts/208-…
5
16
7,827
Stephen Celis retweeted
this is huge! pointfree has made testing logic and value types a breeze in the past few years, classes were last territory to conquer. 😍
You know that thing where classes are really hard to test because you can only assert on each field individually and not on the whole object at once? Well, what if I told you that we fixed that thing?
2
5
2,356
Stephen Celis retweeted
This week we dissect “sending” closures, how they power the common Task {} API, and how they track their capture of non-sendable objects in safe ways. Watch us break it down, step-by-step: pointfree.co/episodes/ep368-…
1
9
4,332
Stephen Celis retweeted
Swift concurrency is complex and difficult to understand, but once you do you have a superpower at your fingertips other languages could only dream of. We spend hours and hours making it as approachable as possible. If you’re struggling with the topic, watch our entire series on isolation today: pointfree.co/collections/bey…
This week we dissect “sending” closures, how they power the common Task {} API, and how they track their capture of non-sendable objects in safe ways. Watch us break it down, step-by-step: pointfree.co/episodes/ep368-…
6
42
3,537
Stephen Celis retweeted
Region-based isolation can get tricky when it comes to closures, especially 'inout' arguments and nested closures. We will take things slowly to understand this topic fully, and even employ a trick we discussed on just the 2nd episode of Point-Free! 👉 pointfree.co/episodes/ep368-…
1
3
12
1,498
Stephen Celis retweeted
A thorny aspect to Xcode's default settings that we did not appreciate until today: app targets have default main actor isolation, but test targets do not, and all targets are in Swift 5 mode. That means tests do not exercise how your code will really behave in production.
2
5
39
4,424
Stephen Celis retweeted
A brand new library from Point-Free! DebugSnaphots can instantly make your classes and @​Observable models debuggable and testable. Simply apply the macro and get insight into how data changes over time, and write exhaustive tests on your feature's logic. pointfree.co/blog/posts/207-…
1
11
59
6,151
Stephen Celis retweeted
You too can *finally* understand the concepts of region-based isolation! We poke around all the ways that regions are defined and merged, and how values transfer between regions, allowing you to write permissive code that is 100% concurrency safe. 👉 pointfree.co/collections/bey…
1
3
27
1,623
Stephen Celis retweeted
The 'sending' parameter is a concurrency tool that allows you to specify how non-Sendable values cross isolation boundaries. We explore how it works by sending disconnected objects into and out of isolation domains. pointfree.co/episodes/ep367-…
2
18
2,109
Stephen Celis retweeted
Also coming next week: a brand new open source library that makes hard-to-debug, hard-to-test code easily debuggable and extremely testable.
This week's episode is on isolation regions in Swift, but it barely scratches the surface. Next week we dig deeper into how we can construct APIs that transfer values to other isolation domains. Until then, catch up here: pointfree.co/collections/bey…
2
21
3,242
Stephen Celis retweeted
This week we meticulously analyze various async functions line-by-line in order to see how isolation regions evolve and how values transfer between regions. This allows us to better understand how non-Sendable objects can be sent across isolation boundaries in a safe manner.
1
2
12
1,103
Stephen Celis retweeted
“Region-based isolation” expanded the definition of isolation beyond actors to something called “regions.” Learn what a region is, how they work, and how they loosened the overly strict sendability rules of Swift 5. pointfree.co/episodes/ep366-…
3
19
4,171
Stephen Celis retweeted
Do you know about Swift 6.2’s “nonisolated(nonsending)”? You may be benefiting from it and not even realize! You’re even already using it if you turned on “approachable concurrency.” It helps you avoid a whole class of concurrency errors that plagued earlier versions of Swift.
2
2
23
2,782
Stephen Celis retweeted
In Swift's original vision for concurrency all nonisolated async functions hopped to a concurrent executor. This seemed good since it maximized concurrency, but it made non-Sendable values unusable. Approachable concurrency solves that problem! Learn how: pointfree.co/episodes/ep365-…
1
2
23
3,444
Stephen Celis retweeted
Swift 6.2 introduced a vision for “approachable concurrency.” This includes two new features that make working with async code much easier: nonisolated-nonsending, and actor-isolated conformances. Let’s explore each topic and see how they improve things. pointfree.co/episodes/ep365-…
3
30
3,372
Stephen Celis retweeted
Naive benchmarks may suggest actors lag mutexes and locks, but these constructs just aren’t apples-to-apples: • Actor suspension is much gentler on the CPU than the act of acquiring a lock • Actor suspension points are more easily squashed than “withLock”
1
2
25
2,940