objc.io's Avatar

objc.io

@objc.io

https://www.objc.io

84
Followers
2
Following
41
Posts
07.02.2025
Joined
Posts Following

Latest posts by objc.io @objc.io

Video thumbnail

Swift Talk 482
Interpolating Matched Geometry Effect

We build a custom matched geometry effect, control its interpolation with a progress value, and drive it with keyframes.

talk.objc.io/episodes/S01...

06.03.2026 16:16 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 481
Matched Geometry Effect for Positioning Badges

We try a new technique for badge positioning, first building it by hand, then seeing if a LLM can come up with the same solution.

This episode is public, enjoy! ๐Ÿ˜Š

talk.objc.io/episodes/S01...

27.02.2026 16:33 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 480
Building a Coding Agent (Part 2)

We give our little agent read, write and bash tools. Now it can write a simple Swift program, and execute it.

talk.objc.io/episodes/S01...

20.02.2026 16:36 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 479
Building a Coding Agent (Part 1)

We learn how agents are implemented by building one, with an outer loop for user input, and an inner loop for tool use.

This episode is public, enjoy! ๐Ÿ˜Š

talk.objc.io/episodes/S01...

13.02.2026 17:45 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 478
Solving the View Model Problem (Part 3)

We clean up our property wrapper, and create a macro to save us from some boilerplate code.

talk.objc.io/episodes/S01...

06.02.2026 16:03 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 477
Solving the View Model Problem (Part 2)

We create a view model protocol and property wrapper that regenerates view models when new values are passed to a viewโ€™s initializer.

talk.objc.io/episodes/S01...

30.01.2026 16:39 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 476
Solving the View Model Problem (Part 1)

We investigate, and outline a potential solution to, creating and updating view models in SwiftUI.

This episode is free to watch, enjoy! ๐Ÿ˜Š

talk.objc.io/episodes/S01...

23.01.2026 16:02 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 475
Settings Form Layout (Part 2)

We use SwiftUIโ€™s Grid as a simpler way of laying out our settings form.

talk.objc.io/episodes/S01...

16.01.2026 17:25 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 474
Settings Form Layout (Part 1)

We build the layout for a typical macOS settings form in SwiftUI, using sections for structure and a custom form style to lay out the elements correctly.

This episode is free to watch, enjoy! ๐Ÿ˜Š

talk.objc.io/episodes/S01...

09.01.2026 17:07 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 473
ThumbHash (Part 6)

We transform the RGB image into LPQ color space, and compress chroma more than luminance to produce a good-looking thumbnail using less data.

talk.objc.io/episodes/S01...

19.12.2025 21:07 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 472
ThumbHash (Part 5)

We apply our transforms to an RGB image, separating the data into three channels before transforming each individually.

talk.objc.io/episodes/S01...

12.12.2025 17:18 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 471
ThumbHash (Part 4)

We apply our discrete cosine transform to an image, using Core Graphics to process the data, and see it working for the first time.

talk.objc.io/episodes/S01...

05.12.2025 17:17 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 470
ThumbHash (Part 3)

We extend our discrete cosine transform to work in two dimensions, so we can apply it to image data. Sorry about the audio this week! ๐Ÿ˜ฌ

talk.objc.io/episodes/S01...

28.11.2025 15:35 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 469
ThumbHash (Part 2)

We finish our basic version of a discrete cosine transform, and use it for some compression experiments.

talk.objc.io/episodes/S01...

21.11.2025 17:14 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 468
ThumbHash (Part 1)

In a new series, we reimplement the ThumbHash algorithm, starting with a simple discrete cosine transform.

This episode is free to watch, enjoy! ๐Ÿ˜Š

talk.objc.io/episodes/S01...

14.11.2025 17:00 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 467
Visual Node Editor (Part 9)

We add share support, which exports diagrams as different content types, including text, JSON, image, and PDF.

talk.objc.io/episodes/S01...

07.11.2025 16:46 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 466
Visual Node Editor (Part 8)

We clean up the code and transform the project to a document-based app.

talk.objc.io/episodes/S01...

31.10.2025 18:10 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 465
Visual Node Editor (Part 7)

We add snapping to node resizing, with shared state managed in the model rather than in preferences or the environment.

talk.objc.io/episodes/S01...

24.10.2025 16:14 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 464
Visual Node Editor (Part 6)

We refactor our view state, moving properties and logic into a compound struct. This makes gestures more testable.

talk.objc.io/episodes/S01...

17.10.2025 18:30 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 463
Visual Node Editor (Part 5)

We address some issues with multi-selection, moving node state to the graph view, which we plan to simplify later.

talk.objc.io/episodes/S01...

03.10.2025 15:28 ๐Ÿ‘ 1 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 462
Visual Node Editor (Part 4)

We add multi-select for nodes, but that means rethinking our focus architecture.

talk.objc.io/episodes/S01...

26.09.2025 15:04 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 461
Visual Node Editor (Part 3)

We wire-up the draggable resize handles, and deal with some tricky edge case logic.

talk.objc.io/episodes/S01...

19.09.2025 14:36 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 460
Visual Node Editor (Part 2)

We add focus behavior to the nodes and edges, with custom drawing and resize handles.

talk.objc.io/episodes/S01...

25.07.2025 15:08 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 459
Visual Node Editor (Part 1)

In a new series, we build a node editor to explore focus, selection, gestures, and accessibility.

This episode is free to watch, enjoy! ๐Ÿ˜Šโ€จ
talk.objc.io/episodes/S01...

18.07.2025 17:23 ๐Ÿ‘ 4 ๐Ÿ” 2 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 458
SwiftUI as Static Site Generator (Part 6)

We finish the series by adding Hummingbird as a web server, using WebSockets to reload live when something changes.

talk.objc.io/episodes/S01...

11.07.2025 14:30 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 457
SwiftUI as Static Site Generator (Part 5)

We generate share images from SwiftUI views, and use hashing to reload them correctly when content changes.

talk.objc.io/episodes/S01...

04.07.2025 15:00 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 456
SwiftUI as Static Site Generator (Part 4)

We add a templating system using the environment, and integrate Swim for HTML generation.

talk.objc.io/episodes/S01...

27.06.2025 19:35 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 455
SwiftUI as Static Site Generator (Part 3)

We add directory observation, which lets us use SwiftUI's preferences to generate the site.

talk.objc.io/episodes/S01...

20.06.2025 15:23 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 454
SwiftUI as Static Site Generator (Part 2)

We add file observation using GCDโ€™s Dispatch Source APIs, which handle both standard write events and atomic delete-plus-write sequences.

talk.objc.io/episodes/S01...

13.06.2025 18:24 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Swift Talk 453
SwiftUI as Static Site Generator (Part 1)

We build a very unconventional static site generator on top of SwiftUI.

This episode is free to watch, enjoy! ๐Ÿ˜Š

talk.objc.io/episodes/S01...

06.06.2025 15:07 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0