cwizou

Joined 6 years ago

Karma
826
Submissions
168
Member since
May 6
Former hardware reviewer, I make the Aerial screensaver for mac https://aerialscreensaver.github.io
View on Hacker News

Recent submissions

Comment · 1 month ago
Some of the restrictions have already been implemented in macOS 27 by restricting access to (at least some ?) containers even with Full Disk Access on.

One niche issue resulting from this : it broke the ability to access my own screensaver settings and files from it's settings app, because those settings live inside a container for a system extension that belongs to Apple (because Apple still hasn't publicly released it's "modern" screensaver api, it's still old style plugins run by a legacy extension).

Several screensaver developers I know got bitten by this and there's no proper workaround, you just have to use "/Users/Shared" and hope that doesn't go away any time soon.

In my case it silently broke migration for Aerial from 3.X to 4.X in Golden Gate (where I moved away from the legacyScreenSaver extension to the new undocumented wallpaperextension format). I did move to "/Users/Shared" earlier this year but some people will inevitably get caught by this if they didn't update, and there's no recourse, FDA doesn't work, you can't even ask for access, nothing works. And since it's a silent fail, I didn't even notice before this week.

Comment · 2 months ago
Comment · 5 months ago
I missed that part, and since it's a newly delivered plane (this January), it's safe to assume the mitigation was in place. Preliminary report will be interesting here.
Comment · 5 months ago
Comment · 5 months ago
As far as I can tell this is for WallpaperAgent, an extension to `com.apple.wallpaper` that are ran by WallpaperAgent on the desktop. For screensavers check my other post, I posted a sample the private screensaver api to bypass that.

Apple's uses both for their own "Aerials" and they have a sync system to share the position between the screensaver player and the desktop player.

Comment · 5 months ago
Oh wow, that's seriously awesome. I did manage to reverse engineer the private screensaver `.appex` framework and make it work for Aerial 4 (I released a sample project/documentation last week here alongside v4 for those who want : https://github.com/AerialScreensaver/AppexSaverMinimal).

I also tried the same with Wallpaper appexes, the reversing seemed easy enough, but WallpaperAgent refused to load them, so I still use the classic trick of using my own window with a video player on top of the wallpaper, and below the icons.

I will have a look and check what I missed.

Comment · 6 months ago
I didn't talk to him to verify, but at the very least it's his username (and the account is old enough at this point : https://www.reddit.com/user/Doc_TB/comments/), and his very Belgian english.

I know both are close and Sam handles his website, so since the links are fixed, I have near zero doubt it's Sam here on reddit.

Comment · 6 months ago
Comment · 8 months ago
Maybe there was an edit but it's the opposite, 66% disobeyed.
Comment · 1 year ago
According to an AMD engineer I asked at the time, when they evaluated Ryzen/K12, it was "maybe" a 15% advantage for ARM depending on scenarios.

The efficiency came solely from the frontend which is a lot heavier on x86, and stay up longer because decoding is way more complex. The execution units were the same (at least mostly, I think, might be misremembering) so once you are past the frontend there's barely any difference in power efficiency.

Comment · 1 year ago
Comment · 1 year ago
Ha, you do the exit trick too then, I just missed it.

FYI that works 99% of the time, but for some people it sometimes crashes (because we exit our host container - legacyScreenSaver.appex - and sometimes if you do it at a wrong time things just hang).

Comment · 1 year ago
That's super cool, congrats on releasing it ! It's a feature that some people periodically ask me to add in Aerial, but I never got to it. Piping from yt-dlp to AVFoundation is definitely the way to go.

I was gonna warn you about a bug in macOS 15+ where your screensaver stays around after you go back to the desktop, but for some reason your code seems to avoid that issue. I'm not quite sure how, as you don't hook stopAnimation or any event apart from the deinit. But it works, so, massive kudos, I'll have to try and understand why !

Comment · 1 year ago
Interestingly in french we use "condamné" for sentenced, and for any kind of sentence (even a fine).

We don't ever use "sentence" in a legal context (it still exists but is old fashioned), things diverged quite a bit it seems between those languages.

Comment · 1 year ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton