Archive for February 9, 2026

Monday, February 9, 2026

Retrocade 1.3

Craig Grannell (Mastodon):

Still, I did write ‘Why I want Apple Arcade to include classic arcade games – and why that’ll never happen’. But now it has happened, thanks to Retrocade. And here’s the bit that genuinely surprised me: Retrocade is good to the point I think it’s the best entry point for normal people who want to play arcade classics.

[…]

The touch controls – from trackballs to paddles – actually work. You can rotate your iPhone for vertical games. And plug in a Backbone Pro or a Magic Keyboard and the app instantly reconfigures the controls accordingly.

[…]

Apple mobile gaming has gone from an outright “NO!” on emulation to Apple Arcade hosting a fantastic virtual arcade, but without setup faff – or the faint sense of criminality that comes from downloading ROMs from TotallyLegalOldGamesHonest.biz.

There’s no Mac version.

Previously:

Apple XNU: Clutch Scheduler

Apple (via Hacker News):

The traditional Mach scheduler attempts to achieve these goals by expecting all threads in the system to be tagged with a priority number and treating high priority threads as interactive threads and low priority threads as batch threads. It then uses a timesharing model based on priority decay to penalize threads as they use CPU to achieve fairshare and starvation avoidance. This approach however loses the relationship between threads and higher level user workloads, making it impossible for the scheduler to reason about the workload as a whole which is what the end user cares about. One artifact of this thread based timesharing approach is that threads at the same priority level are treated similarly irrespective of which user workload they are servicing, which often leads to non-optimal decisions. It ultimately leads to priority inflation across the platform with individual subsystems raising their priority to avoid starvation and timesharing with other unrelated threads. The traditional thread level scheduling model also suffers from the following issues:

  • Inaccurate accounting: CPU accounting at the thread level incentivizes creating more threads on the system. Also in the world of GCD and workqueues where threads are created and destroyed rapidly, thread level accounting is inaccurate and allows excessive CPU usage.
  • Poor isolation: In the Mach scheduler, timesharing is achieved by decaying the priority of threads depending on global system load. This property could lead to a burst of activity at the same or lower priority band causing decay for the App/UI thread leading to poor performance and responsiveness. The scheduler offers very limited isolation between threads working on latency sensitive UI workloads and threads performing bulk non-latency sensitive operations.

The clutch scheduler is the timesharing algorithm for threads on a single cluster. The Edge scheduler extends on the clutch scheduler design to support multiple clusters of different performance and efficiency charecterstics. The Edge scheduler uses the clutch timesharing per cluster and adds other multi-cluster features such as thread placement, migration, round-robining etc.

NetNewsWire 7

Brent Simmons (2025):

With retirement imminent — this is my last job, and June 6 is my last day (maybe I’ve buried the lede here) — I want to thank my team publicly for how they’ve made me a better engineer and, more importantly, a better person.

Brent Simmons (Mastodon):

I’m not retiring from writing apps — which means I’ll have a lot more time for working on NetNewsWire.

It’s been 15 years since the last time I could work on NetNewsWire during weekdays (as opposed to just nights and weekends), and I’m super-psyched for this.

Brent Simmons:

NetNewsWire 7.0 for Mac is now shipping!

The big change from 6.2.1 is that it adopts the Liquid Glass UI and it requires macOS 26.

Here’s the complete list of changes. I’m still on Sequoia, but from a brief test on Tahoe the Liquid Glass stuff seems to be tastefully done.

Brent Simmons (after an App Review delay):

NetNewsWire 7 for iOS 26 and up is available now on the App Store!

[…]

This version also fixes some small bugs and adds some small performance enhancements. (iOS developers might appreciate this bit: it adopts Swift structured concurrency.)

But, again, the main thing is the updated UI. It’s cool!

Previously: