This repository demonstrates a bug in NSFileWrapper where overwriting a file with the same content using -[NSFileWrapper writeToURL:options:originalContentsURL:error:] sometimes causes the file’s modification date to be set in the past instead of updating to the current time.
Here’s an AppKit quirk I found out this week. Usually, the NSStandardKeyBindingResponding protocol declares standard text movement and editing functions like selectWord or moveToBeginningOfParagraph or deleteWordForward. While text view subclasses can just override these to modify the behavior, you can get the same key event handling from any NSResponder: call interpretKeyEvents(_:) in its keyDown implementation, and you’re set.
In New Junior Developers Can’t Actually Code, Namanyay argues that StackOverflow would teach you something, while AI is all about speed. The graph Namanyay shared is this: Side note: Do you remember when StackOverflow was strongly associated with copy-paste-programming without understanding, and that Real Programmers™ read manuals and books instead?
Using regular expressions to perform text replacements can be tricky.
Without robust undo support or version control,
a preview of the changes,
or checking every replacement before it’s being made,
you can end up with false-positive matches and mess things up. Now Emacs 30.1 released and ships with yet another way to perform mass text replacements more safely:
Use run-of-the-mill diffs to show the changes that would be made if you applied a regular expression-based replacement.
I love the ingenuity of this idea, because it is so obvious.
Ethan Marcotte resigned at 18F not even a year after getting on the team, doing exciting things – because it’s tied to the U.S. government, and the DOGE-istas crossed principles he set up for himself. The principles are like exit strategies you would use in investing: they help to make a (morally) good decision early, so that when the stressful time comes, you can follow the plan and won’t be swayed by emotion.
Your beliefs mean nothing, and everything. The thing about a large undertaking like, say, “fixing the government”, is that in true Getting Things Done fashion, this is not a Next Action. It cannot be ‘done’. It’s also not a Project, being comprised of 2 or more actionable tasks. It’s an Area of Responsibility. It requires constant effort and realignment of one’s actions.
Matt Massicotte, looking for leverage to make Apple feel that their course of action is not okay (also on Mastodon): To put it mildly, I have been struggling with this. I have been trying to find ways to respond. Something that could give me some kind of leverage.
The Braille Institute released an update to their Atkinson Hyperlegible font. My late grandmother approved of its shapes, so check it out if you want to maximize legibility of all letters and numbers in your life. (And when do you not want to be able to read what you type?)
Burkeman challenges the common notion of productivity, like striving for ever-empty inboxes and ticking of all the tasks on our to-do lists.
He does that by offering paradoxical irritations (or interventions) – so that you, the reader, as a system of beliefs, have to react somehow to make sense of what you read.
When I addressed the second-to-last RxSwift reentrancy warning this week, I already cut my teeth on very simple state updates and refactored a them in a way that like much better now. I left the gnarly text editing component, the most involved piece of UI in a text editor, for last.
When I started developing Mac apps eons ago, I only had a crappy Intel Mac Mini that took forever to compile my apps. To make this manageable, I adopted library-based development and prepared UI components as dependencies I could compile once, then link as .frameworks into the app. Carthage was a big help there, automating the process.
So I am working on auto-completion in NSTextView in a package called TextKitAutoCompletion. This is the first new Swift Package project I started with Xcode 16, I believe; the previous one was still Xcode 15. And with 16, they changed how you can reference local packages from example apps in subfolders.
I avoided hamburger menus for the better part of the past decade. This time, I had no better idea. The result is the new mobile navigaton for zettelkasten.de. Also, it seems like the UI component sticks with people, and is not just a weird fad anymore. It’s too old for being trendy.
Professor John Gallaugher of Boston College has a free course on making apps with SwiftUI, to be updated in 2025: https://www.youtube.com/playlist?list=PL9VJ9OpT-IPSM6dFSwQCIl409gNBsqKTe On his website, there’s a previous iteration of the course using UIKit (which I believe is still a very valuable framework to learn in 2025, given how often you need to implement or fix things in SwiftUI!)
New to programming or app dev? You’re very welcome to ask all kinds of questions if you need orientation, be it about Swift, app or web development, programming in general, career, having a baby daughter – you name it!