Chris Eidhof @eidhof.nl · 13/02/2026I'm still experimenting with LLMs. I made a self-improving agent from scratch and wrote about what I learned: chris.eidhof.nl/post/self-fo...chris.eidhof.nlSelf-Forking Agents — Chris Eidhof 0120
Chris Eidhof @eidhof.nl · 05/02/2026When you work with LLMs, you can also take a different approach towards dependencies. Instead of seeing them as fixed, you can actually just completely integrate them and take ownership. chris.eidhof.nl/post/integra...chris.eidhof.nlIntegrating Dependencies into LLM-Assisted Projects — Chris Eidhof 010
Chris Eidhof @eidhof.nl · 03/02/2026I'm focusing on learning more about LLMs this month (not just using them, actually understanding how to work with them more intently). Today, I built my own little assistant: chris.eidhof.nl/post/llm-mon...chris.eidhof.nlFood Assistant — Chris Eidhof 090
Chris Eidhof @eidhof.nl · 01/07/2025I recorded my Attribute Graph talk from a few weeks ago. I hope this is helpful! chris.eidhof.nl/presentation...chris.eidhof.nlAttribute graph — Chris Eidhof 0122
Chris Eidhof @eidhof.nl · 10/06/2025I had such a fun day at WWDC, was really great talking to everyone! Hope to see many more people tomorrow at 3pm at the One More Thing conference, I'll be talking about the Attribute graph. 050
Reposted by Chris EidhofKlemens 🦆 The Art of Fauna 🦆 @strasser.bsky.social · 03/06/2025The Art of Fauna just *WON* an Apple Design Award in the Inclusivity category. 🤯 But it is also a finalist for Social Impact. 💚 Two nominations, one win. I still can't believe this. What a year 🥹 #indiedev #WWDC #WWDC25 #TheArtOfFauna 4218824
Chris Eidhof @eidhof.nl · 31/05/2025Working on my @omt-conf.bsky.social presentation... (Feeling a bit like that guy from the meme). 150
Chris Eidhof @eidhof.nl · 22/05/2025(it looks more impressive than it is because not everything is working 100% correctly yet. but getting closer). 030
Chris Eidhof @eidhof.nl · 22/05/2025I've been playing around with this tool to record and play back my typing. I took inspiration from Retcon and made the history draggable. Things like automatically doing the indentation / syntax highlighting quite don't work yet, but those are the "easy" polishing bits. 2121
Reposted by Chris EidhofKlemens 🦆 The Art of Fauna 🦆 @strasser.bsky.social · 15/05/2025I am beyond thrilled to finally share this! 🥹 Today is Global Accessibility Awareness Day - and Apple sat down with me to talk about how I build accessible apps. 🦾 The interview is now live on the *front page* of the App Store: apps.apple.com/at/story/id1... #GAAD #A11Y #accessibility #indiedevapps.apple.comDiscover the art of accessibility : App Store StoryLearn about collection Discover the art of accessibility featuring Art of Fauna: Cozy Puzzles, Study Snacks: Language & More, Letter Rooms: Fun Anagrams and many more on Mac App Store. Enjoy these ap... 148723
Reposted by Chris EidhofPaul Hudson @twostraws.bsky.social · 09/05/2025What's new in Swift 6.2? A whole ton of stuff – raw identifiers, Collection conformances for enumerated(), method key paths, backtracing, weak let, Observations, InlineArray, and of course a big batch of concurrency changes too. Want to see it all in action? www.hackingwithswift.com/articles/277...hackingwithswift.comWhat's new in Swift 6.2?Raw identifiers, backtraces, task naming, and more. 57724
Chris Eidhof @eidhof.nl · 06/05/2025You could use the pattern in the linked gist towards the end of the blog post. I'll expand the blog post in the next days to include that code. 000
Chris Eidhof @eidhof.nl · 06/05/2025How to correctly initialize a view model in SwiftUI: chris.eidhof.nl/post/swiftui... (for when the view needs ownership of the view model).chris.eidhof.nlSwiftUI View Model Ownership — Chris Eidhof 2247
Reposted by Chris EidhofGeoffrey Litt @geoffreylitt.com · 13/04/2025www.geoffreylitt.com/2025/04/12/h...geoffreylitt.comStevens: a hackable AI assistant using a single SQLite table and a handful of cron jobs 74410
Chris Eidhof @eidhof.nl · 09/04/2025I think I went through almost all the remaining emails I had a few days ago, would you mind sending it again? 110
Chris Eidhof @eidhof.nl · 01/04/2025talk.objc.io/episodes/S01...talk.objc.ioAttributed String Builder (Part 6)To conclude this series, we render the result of our attributed string builder to a PDF file. 030
Chris Eidhof @eidhof.nl · 01/04/2025It’s hand rolled and uses attributed strings. We covered a bunch of it on Swift Talk! 110
Chris Eidhof @eidhof.nl · 23/03/2025Interesting! I think you can always write something with a keypath (as long as all function arguments are hashable) 420
Chris Eidhof @eidhof.nl · 21/03/2025yes, that's my understanding as well. Maybe it's not a problem that the body redraws? If you don't have a performance problem then it doesn't matter :) 100
Chris Eidhof @eidhof.nl · 21/03/2025Another "linkable explanation": why I avoid `Binding(get:set:)` in SwiftUI. chris.eidhof.nl/post/binding...chris.eidhof.nlBindings — Chris Eidhof 4213
Chris Eidhof @eidhof.nl · 19/03/2025In our workshops, people often use `Group` and somehow it always makes me feel uneasy — it can behave in unexpected ways. I finally figured out the actual problem, and it's not really `Group` that's the issue. chris.eidhof.nl/post/why-i-a...chris.eidhof.nlWhy I Avoid Group — Chris Eidhof 1172
Chris Eidhof @eidhof.nl · 03/03/2025I thought I'd found a bug in SwiftUI, but it turned out to just be an unlucky combination of implementation details: chris.eidhof.nl/post/swiftui...chris.eidhof.nlSwiftUI Phase Animation "Bug" — Chris Eidhof 093
Reposted by Chris Eidhofobjc.io @objc.io · 28/02/2025Swift Talk 443 Staggered Animations Revisited After a two year hiatus, we build a staggered modifier in SwiftUI that works with any view in the view tree. This episode is free to watch! 😊 talk.objc.io/episodes/S01... 151
Chris Eidhof @eidhof.nl · 24/02/2025Did you ever look at jj? It’s my goto git interface now. Also Retcon is amazing. 200
Chris Eidhof @eidhof.nl · 22/02/2025In Dutch it’s the same. Translates as phone cell. Not the same as cell phone. 101
Chris Eidhof @eidhof.nl · 26/01/2025The store didn’t have my usual shampoo. Got a different brand with a different fragrance and now I keep thinking there’s a person standing right next to me because I’m not yet used to the new smell. 🙃 060
Chris Eidhof @eidhof.nl · 24/01/2025Went to a miso-making workshop today, where we made miso paste and onigiri, so much fun (and so delicious). The only difficult bit left is waiting for half a year until the miso paste is ready with fermentation... 030
Reposted by Chris EidhofCurt Clifton @curtclifton.net · 07/01/2025Coming Feb. 5–6 to Apple Developer Center Cupertino and on livestream, Bring SwiftUI to your app! We’ll focus on how your expertise in imperative user interface frameworks like UIKit and AppKit can help you get comfortable with SwiftUI’s declarative approach. 12812
Chris Eidhof @eidhof.nl · 03/01/2025I’ve been saying the same thing. Excel, SwiftUI, Makefiles, its all the same (incremental programming). 030
Chris Eidhof @eidhof.nl · 21/12/2024I think once I want to take another step with this project I should seriously consider moving towards that. Currently the nice thing is that there's zero external dependencies, so nothing can break and everything fits into my head. But hopefully soon! 010
Chris Eidhof @eidhof.nl · 20/12/2024No video today because I’ve got to watch the kids all day. Will be back at it on Monday! 040
Chris Eidhof @eidhof.nl · 19/12/2024(I also only figured that out after bridging NSSlider myself). 050
Chris Eidhof @eidhof.nl · 19/12/2024The `Animatable` protocol lets you hook into the animation subsystem of SwiftUI. You can expose any property using `AnimatableData` and have it interpolated for you (but the property does need to conform to `VectorArithmetic`) 0162
Chris Eidhof @eidhof.nl · 18/12/2024Keyframe animations are a very powerful tool to have in your toolbox. They're more complicated than regular SwiftUI animations but allow you to animate almost anything you can think of. 1324
Chris Eidhof @eidhof.nl · 17/12/2024Phase animators can help to work around the limitations of the regular SwiftUI animation system. They let you do animations that end up in the same state as the starting point. 080
Chris Eidhof @eidhof.nl · 16/12/2024In many cases, adding a `.animation` or `withAnimation` might be all you need to have beautiful interruptible animations in SwiftUI. 0294
Reposted by Chris EidhofDrew McCormack @drewmccormack.bsky.social · 13/12/2024I've spent the 6 months working on a new approach to shared data in Swift: Forked. Main features: - Git-like branching and merging for Swift structs - Advanced merge algorithms (CRDTs) - Macros to make structs mergeable - Sync structs via CloudKit with <10 LOCs appdecentral.com/2024/12/13/n...appdecentral.comNow we’re all Forked!Forked is a new Swift framework for working with shared data, on device, and across networks. 26317
Chris Eidhof @eidhof.nl · 13/12/2024Today we recap a bunch of things we looked at in the last two weeks of short videos. It was a bit of a struggle to get this in at under one minute but I managed 😅 080
Chris Eidhof @eidhof.nl · 13/12/2024is this Last Christmas? Or maybe All I Want for Christmas is You? (Could be fun replacement ear worms). 😬 110
Chris Eidhof @eidhof.nl · 12/12/2024Haha sorry! There is a little bit of it but not quite like Xcode. 110
Chris Eidhof @eidhof.nl · 12/12/2024Often it doesn't really matter whether you use an overlay or a ZStack, but if the views have different sizes and positions, it definitely does! 1162