Tom Kraina

@tomkraina.bsky.social

iOS/macOS/visionOS engineer, consultant, contractor. Writing code for MindNode. Somewhere between CPH, VIE, and PRG. ☕️🍷🏃‍♂️🚴‍♂️🏂🏔📱🖥

I love not being able to build & run an iOS app on my phone, because Apple added a paragraph to some fucking terms of service or whatever legal bullshit and I need to log in to the developer account in Safari first and click agree on that thing before I can continue 😑 (mjtsai plz don't quote me)

Xcode project settings:

Provisioning profile: Xcode managed profile
Signing certificate: Apple development
Status:

Unable to process request - PLA Update available.

You currently don't have access to this membership resource. To resolve this issue, agree to the latest Program License Agreement in your developer account.
Button: Try Again

End of an era. I remember signing up for @daveverwer.com ‘s newsletter some time around 2013-2014 and then waiting each Friday for a new issue arriving in my inbox and enthusiastically reading together with each article it linked to over the weekend.

Dave Verwer@daveverwer.com · 3mo ago

Well, that’s the end of an era! @iosdevweekly.com now has a new owner who will be taking it forward from here. I’m so happy it will continue without me, and I’ll be moving to work full time on the Swift Package Index. Please give the new owners, @droidcon.bsky.social, a very warm welcome!

"I have a finite time on this earth that I mostly want to spend interacting with other human beings. I don’t want to be the person arguing with a robot, or wasting my time reading something that a real person couldn’t be bothered to write."

Jason Koebler@jasonkoebler.bsky.social · 3mo ago

I wrote about being inundated with AI writing at every turn, unwittingly turning my brain into the AI police, and how shitty AI writing is randomly showing up in my real life outside of the internet www.404media.co/your-ai-use-...

How does this work when using nested ForEach statements because of Section (for headers and footers). I assume the element count for inner ForEach can be determined but what about the outer?

Natalia Panferova@natpanferova.bsky.social · 3mo ago

List in #SwiftUI is only lazy when it can determine how many views a ForEach element resolves to without evaluating the closure. Using an `if` statement inside ForEach, or wrapping rows in AnyView makes SwiftUI evaluate the ForEach closure for every element before any rows are displayed.

Dynamic List anti-patterns in SwiftUI, showing two incorrect examples. The first uses an if condition inside ForEach to filter elements, and the second wraps row content in AnyView. Both cause SwiftUI to evaluate every element upfront rather than lazily.

I’ve bitten the bullet and finally “upgraded” to OS 26 last week, thought 1/2 year is enough for Apple to make it stable enough (it’s not). Here’s what I have hit: 1) upgrade from macOS 15 to 26.3 bricked my MBP (firmware failure). DFU revive kept failing.

When I was driving today CarPlay would not let me use the Apple Music app until I stopped moving and looked at something on my iPhone. It was the “what’s new” sheet for iOS 26.4. 😐

18 years ago today I released MindNode. I was so anxious I kept checking my email on WAP whenever I left the house, just in case something broke. 😊 It didn’t. Somehow MindNode is still here — independent, no outside funding, shaped by the people who use it. Thank you for 18 years. 🎉 — Markus

Colorful illustration of people assembling the number 18 to celebrate an anniversary, with one person on a ladder placing the top circle and others holding the numbers, surrounded by balloons.

I guess I’ll stay on Sierra a bit longer ”What has surprised me with macOS 26.1 is the sudden rush of new bugs in an update that's normally expected to fix more than it creates. To consider what might have gone wrong, here's an overview of those I've been investigating so far.”

In one evening during vacation, I vibe coded an app. It lets you quickly expand links & grab website medatada, like text or images. Useful for getting map previews or posts. There might be an app/shortcut for that, but I don't care. Creating this was so much fun!

I desperately need a better way how to switch between different apps and especially different windows of the same app. I want to just hit a keyboard shortcut, fuzzy search for windows/tabs by title and then see the hits. There must be an app for that, right?

I've been using Git since it was invented and "yours" and "theirs" might as well be "hnunch" and "grwinf" for all they make sense to me as names for "the branch I'm rebasing main" and "the I'm rebasing *onto*". I have to look at the contents every. single. time. to figure out which one means which.

The bad thing about iPad Pro no one talks about is that you can never go back to a regular iPad. I had to return an iPad Air that I bought last week because of the display. I couldn’t stand looking at it. And bought the Pro instead. 120Hz all the things!

MindNode started as a simple way to connect ideas — now it helps thousands map out anything from simple to-do lists to big dreams. Still clean. Still focused. Still growing. 💙  What was your first version?

History of MindNode MapHistory of MindNode MapHistory of MindNode Map