Tony Arnold
banner
tonyarnold.com
Tony Arnold
@tonyarnold.com
Cocoa-wielding person-like-object.

I help to build Reveal: https://revealapp.com/
Reposted by Tony Arnold
Us developers have learned the hard way that:

1. Prototyping is more like 10% of the actual work - even though the business folks thinks we're 90% done

2. Shipping prototypes to production is possible but generally a bad idea

Vibe coding is prototyping. Others will learn - soon
April 14, 2025 at 11:35 AM
Reposted by Tony Arnold
It can be difficult to find a clear, concise explanation of how method dispatch works in Swift, when calls are resolved statically or dynamically, and what that means for performance.

I wrote a post summarizing my learnings, with key cases and examples: nilcoalescing.com/blog/MethodD...

#SwiftLang
Method dispatch mechanisms in Swift: static and dynamic dispatch
Dive into how static and dynamic dispatch work in Swift, how they affect performance, and how to control method resolution to write faster, more efficient code.
nilcoalescing.com
March 28, 2025 at 7:54 AM
Reposted by Tony Arnold
Like Trump, Tim Cook doesn’t need to care about education anymore. They and the rest of the gerontocracy will be dead by the time the results of their choices are fully realized. Our system rewards sociopathy. At least it’s inspiring revolution.
January 22, 2025 at 6:26 AM
Reposted by Tony Arnold
Using #SwiftUI’s UIGestureRecognizerRepresentable and Anchor Preferences, you can build a ButtonStyle that is triggered by a long-press in a parent view in addition to regular taps.

This enables building custom menus like this that allow triggering an action with a single long press.
January 19, 2025 at 9:46 PM
Is anyone building meaningful things yet this year? Show me the awesomeness you’ve made that you are proud of!
January 9, 2025 at 10:27 AM
Reposted by Tony Arnold
Software engineers of the world, I beg you.

Stop disabling copy and paste in password fields.

Sincerely,

Someone with non-human memorable 20+ character passwords generated by a password manager.
January 9, 2025 at 12:47 AM
Reposted by Tony Arnold
oh shit new logo just dropped
January 8, 2025 at 12:35 AM
Reposted by Tony Arnold
Codable conformance for Swift enums has evolved over the years, with the compiler now handling much of the work automatically. I wrote a post about automatic conformance, customizing it, and writing fully custom encoding and decoding logic when needed: nilcoalescing.com/blog/Codable...
#SwiftLang
Codable conformance for Swift enums
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases.
nilcoalescing.com
January 7, 2025 at 5:34 AM
See you all next year! 🙌🏻
December 31, 2024 at 11:51 AM
Reposted by Tony Arnold
A really nice personal milestone to end 2024, Boutique crossed 1,000 stars on GitHub last night. I spent months building v1, two and a half years improving Boutique 2.x, and am very excited to launch 3.0 with Observable support and many new features in the new year. 🥳

github.com/mergesort/Bo...
December 29, 2024 at 4:53 PM
Ghostty 1.0 is out — I've been beta testing it, and it's a wonderful, fast terminal. You should download it and give it a try! ghostty.org
Ghostty
Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.
ghostty.org
December 26, 2024 at 11:00 PM
Reposted by Tony Arnold
Nakatomi Plaza is Aubrey’s sister. Fun fact.
December 23, 2024 at 10:20 PM
🌴🫶🏻
December 23, 2024 at 6:37 AM
Reposted by Tony Arnold
welcome to the cocktagon
December 22, 2024 at 3:11 AM
Reposted by Tony Arnold
If you are writing something about concurrency and want some feedback, send it my way. Draft, published, whatever, I'd be happy to look it over!
December 22, 2024 at 12:24 PM
Reposted by Tony Arnold
Coming on Feb. 5–6, at Apple Developer Center Cupertino and on-line, Bring SwiftUI to your app! Join me and my colleagues as we share details of SwiftUI specifically targeted for experienced UIKit and AppKit developers!
December 20, 2024 at 10:34 PM
Gosh, Bluesky’s OAuth requirements are a bit special, aren’t they? Really struggling with how complicated it is.
December 19, 2024 at 6:16 AM
Reposted by Tony Arnold
My talk from @swiftleeds.co.uk is up in case you want to check it out.

youtu.be/N5iIXwBW54A?...
Swift Concurrency is new and hard, and you can do it - Matthew Massicotte | SwiftLeeds 2024
YouTube video by SwiftLeeds
youtu.be
December 18, 2024 at 12:57 PM
Right, what should I use to cache a bunch of data that will update over time, and require fairly constant querying? SwiftData seems fine, but the whole “must use classes for instances of a model type" is pretty meh.

What other options do I have? Boutique, perhaps?
December 18, 2024 at 1:38 AM
Does anyone know how to allow natural feeling scrolling with nested scrollviews in SwiftUI?

I have a vertical scrollview that *can* contain horizontally scrolling content at times - but the horizontal scrollview "eats" the vertical gestures.

#swiftui
December 17, 2024 at 6:12 AM
Reposted by Tony Arnold
I got a thing working! Multiple cursors for `NSTextView`.

Library is actually text system-agnostic and `UITextView` isn't too far behind. Not "done" quite yet, but quite far along. And has some of the pieces in place to support very large numbers of cursors.

github.com/chimeHQ/IBeam
GitHub - ChimeHQ/IBeam: A Swift library for multi-cursor support
A Swift library for multi-cursor support. Contribute to ChimeHQ/IBeam development by creating an account on GitHub.
github.com
December 16, 2024 at 7:14 PM
I'm still working away at this slowly, but also I am on holidays from work so I fully intend to do very little but float around in the water a bunch 😊
December 15, 2024 at 7:08 AM
Reposted by Tony Arnold
I'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...
Now we’re all Forked!
Forked is a new Swift framework for working with shared data, on device, and across networks.
appdecentral.com
December 13, 2024 at 7:52 PM
I miss being able to edit posts here on Bluesky like I can on Mastodon. It's a really useful feature!
December 11, 2024 at 8:22 AM