Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Rob Napier

@cocoaphony@mastodon.social
mastodon 4.8.0-nightly.2026-10-06
  • Open on mastodon.social

Swift and Go. Love 'em both. They make me mad in completely different ways. Infosec as required. robnapier.net

0 Followers
0 Following
28 Posts
Joined August 15, 2018
Cocoaphony Blog:
https://robnapier.net
GitHub:
https://github.com/rnapier
Twitter (defunct):
https://twitter.com/cocoaphony
Open post
Rob Napier @cocoaphony@mastodon.social
· 2mo ago
I'm curious if this is a controversial opinion: Claude Opus ~ 4.6 is good enough for just about all coding problems. 4.5 is ok, but I do like 4.6 better. 4.8 is even better (and what I mostly use), but not a lot. If I were forced back to 4.6, it'd be fine. Fable is… slow. I really don't get why people care about Fable. My point: Maybe we're kind of done? And if we don't need to train a new model 3 times a year, and just need inference, maybe we don't need a gazillion data centers? But… 1/
3
1
1
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 16mo ago

"Elevate an app with Swift Concurrency" is a great talk. "Approachable concurrency" looks like how I've always imagined Swift Concurrency would be. Thanks @simanerush@iosdev.space for walking us through it.

Moving to structured concurrency has been so hard, but has uncovered so many long-existing bugs, and working in fully structured code really is delightful to me. The transition is still very hard, and there are key tools we still need, but I think we're getting there.

https://developer.apple.com/videos/play/wwdc2025/270/

developer.apple.com
72
1
21
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 7mo ago
Replying to on mastodon.social
If I had to rate this article on a propaganda scale, I'd give it a 3. Anthropic is absolutely engaging with how hard it is to get serious code out of LLMs. Just the fact that there is a known-good implementation (gcc) that the agent was allowed to reference means it isn't relevant to 75% of the work I do. BUT THAT'S OK. Point your over-eager boss to this article, explaining how limited this problem really is, and how weakly it was solved, and at what cost. This is the state of the art today.
13
2
2
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 2mo ago
Replying to
@badsamurai@infosec.exchange Was just yesterday finally forced into creating an account. The IRS sent me a letter, and it's not possible to let your accountant talk to the IRS on your behalf without first handing your personal info to this private company who, as you point out, lets the country of Montenegro (.me) manage their DNS. Also, getting set up was horribly broken, and after numerous opaque failure messages, I had to fall back to a video call that required me to have and use a Google account.
2
1
1
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 5mo ago
Replying to
@nicklockwood@mastodon.social when Windows Vista passed on, its soul had to go somewhere. We know where it went.
5
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 8mo ago

I've been exploring why incremental xcodebuilds take longer than I think they should, and I've been seeing this interesting remark from -driver-show-incremental:

remark: Incremental compilation: Fingerprint missing for existing interface of top-level name '==' in ...swiftmodule

Thousands of these for different symbols. I can't find anything discussing what this remark means. Does anyone know what this is?

11
1
3
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 6mo ago

RE: @mergesort@macaw.social

I'm also a fan of Transit. It has a delightful design and its what I reach for first when I'm in a city trying to understand the bus system.

macaw.social
5
0
2
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 7mo ago
Replying to
But I also *do* believe this kind of setup will eventually (maybe 5 years, but I personally think more like 10-20) become a normal part of software development, in the same way that compilers have replaced hand-coded machine language. A next-generation compiler, that still requires quite a lot of engineering to make it work, but erases certain kinds of problems. And so I'm very happy to see Anthropic explore this space to figure out how that might work, even if I think it's miles from shipping.
7
0
2
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 5mo ago
Replying to
@isaiah@mastodon.social generally a new branch per "thing to do" (bug, new feature, experiment). Worktrees let you put these in separate directories, while still letting git manage them. And I believe in short-lived branches. I do something, merge it, delete the branch. I generally even do this when I'm working on personal projects.
4
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 8mo ago
Replying to
But to be a bit serious about what a coding assistant has unlocked. I've been poking around with Opus 4.5, while mostly cleaning the basement, on this project to grab CI "flaky test" logs and work out exactly what test is causing the problem and then fix it. And it just works. I mean, let it grind for 15 minutes, and it spits out "right there's your problem; here's the fix." And yeah, I could have done it by hand, sure. But I've put it off for months because it's so tedious.
8
2
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 7mo ago

“We’re lazy, not reckless. The difference is caring.” — Noam Efergan. @ARCticConference@mastodon.social

6
0
3
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 8mo ago
Replying to
@krzyzanowskim @steipete @xjki @mergesort @dimillian I’ve made a good career for myself specializing in all those things “not well represented in the training data.” And a reason I’ve long recommended to people that they seek some topics to have great depth in. This is hardly the first time we’ve faced price pressure on mediocre programs that solve straightforward problems. I think the work you’ve done digging deep into how the stuff works continues to pay off.
6
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 6mo ago

I know it's an old joke, but still one of the most hilarious markings to me. No seriously, just stop. Stop some more. It's over. Go home.

3
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 6mo ago

RE: @lapcatsoftware@mastodon.social

For me, the StM feature that’s worth the whole price. Everything else is just bonus. I hate autoplay videos so much.

mastodon.social
2
1
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 7mo ago
Replying to
@cocoafrog@hachyderm.io @ktoso@mastodon.social @ole@chaos.social Absolutely; it works well for performance. This particular issue was deadlock (*), either due to a Task exiting when it shouldn't, or a Task not honoring cancellation, and not exiting when it should. In Kotlin, coroutines generally can be debugged similarly to threads. In Swift, when things go wrong, there's not really any way to inspect the system. (*) yes, I'm playing loose with the meaning of "deadlock" but the app stops doing what it should.
2
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 7mo ago
Replying to
@ktoso@mastodon.social @ole@chaos.social ironically I actually have such a list (or at least a list that includes the problematic Task). The thing I want to debug is in a unit test, and in unit tests I track all Tasks via a wrapped initializer so that I can centrally cancel all of them and detect tasks that fail to respect cancellation. But I don’t have a way to attach a debugger to them to see what’s going on.
2
1
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 7mo ago
Replying to
@cocoafrog@hachyderm.io @ktoso@mastodon.social @ole@chaos.social but it won’t show me what line of code each task is currently at the way I can with threads. It’s also very difficult for me to profile tests, because our tests rely on some hooks we only allow in DEBUG and I’ve had a very hard time getting SwiftPM packages to be profiled in DEBUG, or to pass a flag we could use instead. (Making that work is a big goal for this year.) Problem is also not consistent and may be a test order interaction, which is hard with Instruments.
1
1
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 8mo ago
Replying to
@xjki and it’s not that the AI code is universally bad. It’s actually usually pretty good. But it goes off th rails in such unexpected ways, and sometimes subtly where the code *looks* good but has actually completely broken something, sometimes for understandable reasons, and sometimes bizarrely. If it were a single developer, you’d never believe they both wrote code section A which is excellent and meticulous, and code section B which is sloppy and makes beginner mistakes.
1
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 26mo ago
Replying to
@drewmccormack@mastodon.cloud this is my major concern. I’ve found that adding MainActor and Sendable annotations has uncovered quite a few threading mistakes. Not generally in my personal projects, but when you work on a massive product with dozens of developers over many years, “just think carefully about it” doesn’t scale well and compiler checks are good. But I agree with the concern about the new solutions creating new bugs. I’ve seen that several times already, and I find it hard to code-review.
6
2
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 5mo ago
Replying to
@mattiem@mastodon.social @kyle@mister.computer We're seeing the same things we always see: Technology cannot solve problems that are fundamentally about human coordination. It's not just spreading knowledge and understanding. In many cases we do not have the same goals. There is no "correct" answer that a super-oracle could spit out and we would be satisfied.
0
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 5mo ago
Replying to
@shac I’m always reminded of working on telephone switches in the 90s, designed in the 70s. Protected Call Store memory was baked into the hardware, memory that persisted between reboots, and a fairly simple annotation assigned certain variables to that pool. Similarly, when I worked on mail inserters, crashing reboots were not an excuse to pause. Paper was still flying. Software was expected to just recover. Both iOS and OS X started down that old road, but never took it seriously enough.
0
5
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 5mo ago
Replying to
@arclight I agree broadly, but we're seeing too many events where an agent actively circumvents protections and escalates privilege. Our mental model is often "junior admin," but at times they act more like an attacker. It's hard to build a permission model for an entity that needs insider access to function, but does, at times, "go rogue." These posts are helpful to remind us how easy and common it is for these tools to break containment. Better training isn't enough. We need better tools.
0
1
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 5mo ago
Replying to
@isaackuo @arclight I don't agree with that. I get incredible analysis from models. But I need to grant them access to things I wouldn't make public, like troubleshooting logs that customers choose to send. Claude, today, discovered a subtle user-impacting bug when analyzing my personal account's logs. I wasn't even looking for it. And then it pointed to the exact line of code that causes it. I don't want to give that up. But we need better tools to get that without "might delete the database."
0
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 7mo ago
Replying to
@mei@donotsta.re shows, should have been clearer. I mean for Swift
0
0
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 8mo ago
Replying to
@isaiah@mastodon.social @stevestreza@indieweb.social I’ve got a bunch of Home Assistant things I want to set up but I’m finally “too old for all that” and don’t do it. I’d rather putter around in my workshop instead. Been thinking of how to prompt some assistant to redo my dashboards to what I want.
0
2
0
0
Open post
Rob Napier @cocoaphony@mastodon.social
· 5mo ago
Replying to
@mattiem@mastodon.social @kyle@mister.computer All my experience so far is that we're already into the upper right of the S-curve. The models are getting incrementally better, but often just moving sideways. Claude 4.5-4.7 is definitely not *exponentially* better. We're running into big compute bottlenecks, with rising downtime and degrading performance, which is your point, but harnessing that isn't something raw inference (smarter AIs) can do. "AGI" (whatever that is) can't build itself a data center.
0
4
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 03:27:13 UTC