Sign in

objc.io

@objc.io
100 followers 2 following 58 posts

www.objc.io

PostsRepliesMedia
objc.io @objc.io · 10/07/2026
Swift Talk 499 Split Pane Animations (Part 2) We profile the smoothness of our animations, using the Animations Hitches instrument with signposts to help us identify the right sections. talk.objc.io/episodes/S01...
000
objc.io @objc.io · 03/07/2026
Swift Talk 498 Split Pane Animations (Part 1) We build a split-pane view that can divide panes dynamically, either horizontally or vertically, with smooth animations for adding and resizing. This episode is free to watch, enjoy! 😊 talk.objc.io/episodes/S01...
030
objc.io @objc.io · 26/06/2026
Swift Talk 497 Building a Language Model: MLX We use Apple's MLX framework to make our neural network much faster, with shorter, cleaner code using built-in convenience functions. talk.objc.io/episodes/S01...
000
objc.io @objc.io · 19/06/2026
Swift Talk 496 Building a Language Model: Fixing Backpropagation We fix two mistakes with our reimplementation of Andrej Karpathy’s micrograd, switching from a recursive to an iterative, topologically sorted approach to backpropagation. talk.objc.io/episodes/S01...
000
objc.io @objc.io · 12/06/2026
Swift Talk 495 Building a Language Model: Gradient Descent We make the forward pass differentiable, building a graph that backpropagation walks in reverse to compute gradients. Gradient descent uses those to train the network, updating weights to reduce loss. talk.objc.io/episodes/S01...
000
objc.io @objc.io · 05/06/2026
Swift Talk 494 Computing the Loss Function We finish the neural network’s forward computation, turning raw inputs into probability distributions. Comparing those with the targets gives us a loss value: a measure of how good the predictions are. talk.objc.io/episodes/S01...
010
objc.io @objc.io · 29/05/2026
Swift Talk 493 Digrams with Neural Nets We start building a simple neural net to recognise digrams. Swift doesn’t have built-in types for things like matrices, so we create our own. talk.objc.io/episodes/S01...
010
objc.io @objc.io · 15/05/2026
Swift Talk 492 Building a Language Model: Neural Nets We explore neural nets, the foundation for modern machine learning. Our first small step is backpropagating through a computation graph, inspired by Andrej Karpathy’s Micrograd. talk.objc.io/episodes/S01...
140
objc.io @objc.io · 08/05/2026
Swift Talk 491 Building a Language Model: Tokenization We tokenize our text with byte-pair encoding, merging frequent character pairs to build a new vocabulary of tokens. talk.objc.io/episodes/S01...
021
objc.io @objc.io · 01/05/2026
Swift Talk 490 Building a Language Model: N-grams We implement a simple n-gram to better understand language models, training a complete—if slightly useless—model on a single book. This is a public episode, enjoy! 😊 talk.objc.io/episodes/S01...
011
objc.io @objc.io · 24/04/2026
Swift Talk 489 Rewriting Recursive Expressions We try a different approach to syntax trees. By separating recursion into a generic map function, we can write operations in a simple way—with some complexity elsewhere. This is a public episode, enjoy! 😊 talk.objc.io/episodes/S01...
000
objc.io @objc.io · 17/04/2026
Swift Talk 488 The FormatStyle API We look at the API’s more interesting formatting options, and how they interact with SwiftUI. This episode is free to watch, enjoy! 😊 talk.objc.io/episodes/S01...
000
objc.io @objc.io · 10/04/2026
Swift Talk 487 The Layout Protocol (Part 4) We add two finishing touches to our custom bar layout: layout values for relative widths, and support for system spacing. talk.objc.io/episodes/S01...
022
objc.io @objc.io · 03/04/2026
Swift Talk 486 The Layout Protocol (Part 3) We add alignment support to our custom layout. It only takes a few lines of code, but aligning without pushing views out of bounds is a little tricky. talk.objc.io/episodes/S01...
010
objc.io @objc.io · 27/03/2026
Swift Talk 485 The Layout Protocol (Part 2) We make sure that our custom layout distributes space evenly, respects minimum widths and layout priorities. talk.objc.io/episodes/S01...
020
objc.io @objc.io · 20/03/2026
Swift Talk 484 The Layout Protocol (Part 1) We revisit an old layout challenge and solve it with a custom layout. This episode is free to watch, enjoy! 😊 talk.objc.io/episodes/S01...
010
objc.io @objc.io · 13/03/2026
Swift Talk 483 Matched Geometry and Corner Radius We try to animate a view’s corner radius with matched geometry effect, and discover some surprising quirks with SwiftUI transitions.
 talk.objc.io/episodes/S01...
020
objc.io @objc.io · 06/03/2026
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...
000
objc.io @objc.io · 27/02/2026
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...
010
objc.io @objc.io · 20/02/2026
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...
000
objc.io @objc.io · 13/02/2026
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...
120
objc.io @objc.io · 06/02/2026
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...
010
objc.io @objc.io · 30/01/2026
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...
010
objc.io @objc.io · 23/01/2026
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...
020
objc.io @objc.io · 16/01/2026
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...
010
objc.io @objc.io · 09/01/2026
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...
030
objc.io @objc.io · 19/12/2025
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...
010
objc.io @objc.io · 12/12/2025
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...
010
objc.io @objc.io · 05/12/2025
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...
000
objc.io @objc.io · 28/11/2025
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...
010
objc.io @objc.io · 21/11/2025
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...
010
objc.io @objc.io · 14/11/2025
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...
000
objc.io @objc.io · 07/11/2025
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...
000
objc.io @objc.io · 31/10/2025
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...
000
objc.io @objc.io · 24/10/2025
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...
010
objc.io @objc.io · 17/10/2025
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...
010
objc.io @objc.io · 03/10/2025
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...
011
objc.io @objc.io · 26/09/2025
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...
010
objc.io @objc.io · 19/09/2025
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...
030
objc.io @objc.io · 25/07/2025
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...
030
objc.io @objc.io · 18/07/2025
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...
042
objc.io @objc.io · 11/07/2025
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...
010
objc.io @objc.io · 04/07/2025
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...
040
objc.io @objc.io · 27/06/2025
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...
050
objc.io @objc.io · 20/06/2025
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...
000
objc.io @objc.io · 13/06/2025
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...
040
objc.io @objc.io · 06/06/2025
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...
020
objc.io @objc.io · 09/05/2025
Swift Talk 452 Building a Token Field (Part 5) We finish our drag-and-drop implementation, displaying an insertion point for dragging and using Transferable for the drop. talk.objc.io/episodes/S01...
000
objc.io @objc.io · 09/05/2025
Swift Talk 451 Building a Token Field (Part 4) We use SwiftUI's drag-and-drop APIs to support token reordering. While dragging is almost free, we need a delegate to track the dropping position. talk.objc.io/episodes/S01...
010
objc.io @objc.io · 25/04/2025
Swift Talk 450 Building a Token Field (Part 3) We add more selection and backspace behaviors. Token fields on macOS feel natural, but they're actually quite complicated! talk.objc.io/episodes/S01...
010