by jacquesgt
5 subcomments
- If you want to help improve the security of OS software through the magic of memory safe languages, the team that did this work is hiring: https://jobs.apple.com/en-us/search?search=Spear&sort=releva...
Knowledge of Swift not required. If you know your way around OS software, can reason about the security of the code you write, and are excited about writing exhaustively tested software, we’d love to talk to you.
We’re hiring for roles in kernel/systems and userspace. Like the Platforms SOTU mentioned, we’re using Swift at all layers of the software stack now. https://www.youtube.com/live/yl2jsIoMfDU
I had the pleasure of leading the effort to ship Swift in the Secure Enclave back in 2022. Now I have multiple teams working on accelerating the transition to memory safe languages. We’re showing that with good planning and a relentless focus on testing, we can improve security, performance, and functionality. And we get to have a ton of fun working with some amazing colleagues. It’s the most enjoyable and impactful work I’ve ever done in my career.
by KolmogorovComp
1 subcomments
- > Operations like filter and map allocate memory, but that allocation is only necessary if the value escapes. The Swift standard library provides .lazy.map and .lazy.filter, but they don’t work in every case. For logic that only iterates over the filter or map, it’s much more efficient to loop with continue (or use for … in … where) and transform elements into local variables as necessary.
It does feel like a compiler/optimiser failure to have to rewrite those cases.
- Beware: As of a few months ago, when I tried to use the lifetime features shown off in this post, I ran into constant compiler crashes with very simple programs, until I gave up and wrote off the features as unusable. This happened on both stable and nightly compilers. I guess they work well enough for this TrueType interpreter, but I suspect they’re using a narrow subset of what the features are supposed to support. Or maybe things have been fixed very recently.
That said, I’m looking forward to using Swift lifetimes once they actually work!
- During the State of Platform keynote, on the subject of Swift adoption across macOS, several examples were given, not only TrueType engine.
RIS is happening across all OS levels, if the keynote is to be believed.
- > By the end of the project, we wrote nearly four times as many lines of test code as we wrote for the Swift interpreter itself.
This is the most interesting bit to me. Engineers consistently underestimate the amount of effort that testing demands for projects that need truly high quality, it’s nice to see this shared.
- The author discussed this a bit on Mastodon as well:
https://xoxo.zone/@numist/116716469017975106
by saagarjha
1 subcomments
- Interesting that this is published under the MIT, rather than Apple’s more favorite Apache 2, license
by weinzierl
1 subcomments
- Back in 2023 there was talks about Microsoft rewriting the font stuff in Rust for similar reasons Apple is now doing the Swift move.
I'm not sure what became of it and if it ever shipped. If anyone knows I'd be curious.
- So, hinting only takes place at low resolutions, I believe. How often is it used, eg viewing “typical” PDFs on “typical” screens?
- "we used a fuzzer to minimize a corpus of 10 million PDF files down to 4,200 without any loss of code coverage"
Did they need a fuzzer for that? They could've render them all and see what's exercised?
by airstrike
5 subcomments
- As much as I enjoyed Swift, one can only wonder what the world would look like if they had gone with Rust as their default language instead.
by raphlinus
2 subcomments
- Welcome to the club of doing high performance text in a memory safe language!
by AndriyKunitsyn
5 subcomments
- What's funny is from 2023 (I think), macOS just draws the UI unhinted. You have a 1080p display and you don't want to see the letters in the UI blurred to death? Tough luck, 1080p is incompatible with macOS, everybody needs "retina", and nobody cares that Windows and all Linux DEs look on 1080p just fine.
It looks like this hinter will be used only in rendering PDFs, because that's where they test the performance.
- I think these are the types of things Apple should've focused on instead of half-heartedly barging ahead with SwiftUI and breaking the language in the process
by LoganDark
2 subcomments
- I'm surprised the code has visible LLM smells. Though, I shouldn't be surprised. I hope the important bits are still human-controlled (and the same for Apple's many operating systems that absolutely deserve to remain stable and understood).
- No mention of AI? Hand written code?