<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: bdash</title><link>https://news.ycombinator.com/user?id=bdash</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 29 Apr 2026 21:39:07 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=bdash" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by bdash in "macOS's Little-Known Command-Line Sandboxing Tool (2025)"]]></title><description><![CDATA[
<p>It is a little more direct than that even. The application's entitlements are passed into the interpretation of the sandbox profile. It is the sandbox profile itself that determines which policies should be applied in the resulting compiled sandbox policy based on entitlements and other factors.<p>An example from /System/Library/Sandbox/Profiles/application.sb, the profile that is used for App Sandboxed applications, on my system:<p><pre><code>  (when (entitlement "com.apple.security.files.downloads.read-only")
        (read-only-and-issue-extensions (home-subpath "/Downloads")))
  (when (entitlement "com.apple.security.files.downloads.read-write")
        (read-write-and-issue-extensions (home-subpath "/Downloads")))
  (when (or (entitlement "com.apple.security.files.downloads.read-only")
            (entitlement "com.apple.security.files.downloads.read-write"))
        (allow process-exec (home-subpath "/Downloads")))</code></pre></p>
]]></description><pubDate>Sat, 21 Feb 2026 19:08:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47103671</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=47103671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47103671</guid></item><item><title><![CDATA[New comment by bdash in "macOS's Little-Known Command-Line Sandboxing Tool (2025)"]]></title><description><![CDATA[
<p>App Sandbox is fundamentally a way for programs to use the underlying sandbox subsystem without having to write SBPL code themselves. When a program has opted into the App Sandbox, the system applies one of these sandbox policies automatically during app initialization. The policy examines the entitlements of the application to determine which additional resources should be permitted. See /System/Library/Sandbox/Profiles/application.sb if you're curious.<p>By far the biggest advantage of App Sandbox is that the policy ships along with the OS. If a system framework changes what resources it accesses in a software update, Apple can update the policy so the framework functionality still works. If your app uses a custom sandbox policy, you're on your own to both notice that something has changed and to update your policy.<p>The downside is that the App Sandbox policy is limiting and inflexible.</p>
]]></description><pubDate>Sat, 21 Feb 2026 18:43:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47103444</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=47103444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47103444</guid></item><item><title><![CDATA[New comment by bdash in "macOS's Little-Known Command-Line Sandboxing Tool (2025)"]]></title><description><![CDATA[
<p>See <a href="https://bdash.net.nz/posts/sandboxing-on-macos/" rel="nofollow">https://bdash.net.nz/posts/sandboxing-on-macos/</a> for more details on how sandboxing works on macOS. It touches on how the SBPL Scheme source code is interpreted in userspace to build a bytcode representation of the policy, and the kernel MAC hooks that the Sandbox kernel extension uses for enforcing sandbox policies.</p>
]]></description><pubDate>Sat, 21 Feb 2026 18:31:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47103338</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=47103338</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47103338</guid></item><item><title><![CDATA[New comment by bdash in "Demystifying ARM SME to Optimize General Matrix Multiplications"]]></title><description><![CDATA[
<p>There are SME / SME2 instructions that use the ZA tiles as vector registers / vector groups. These can take advantage of the higher throughput of the SME processing grid vs SSVE instructions that operate on Z registers. See the `FMLA (SME2)` case under Peak Performance at <a href="https://scalable.uni-jena.de/opt/sme/micro.html#peak-performance" rel="nofollow">https://scalable.uni-jena.de/opt/sme/micro.html#peak-perform...</a>.</p>
]]></description><pubDate>Sun, 01 Feb 2026 01:26:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46842734</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=46842734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46842734</guid></item><item><title><![CDATA[New comment by bdash in "Demystifying ARM SME to Optimize General Matrix Multiplications"]]></title><description><![CDATA[
<p>Intel's software optimization guides have similar annotations on many of their guidelines, and have done since long before LLMs were a thing. As a reader it's useful to know how impactful a given recommendation is and how generally applicable it is without having to read the more detailed explanations.</p>
]]></description><pubDate>Sun, 01 Feb 2026 00:39:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46842460</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=46842460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46842460</guid></item><item><title><![CDATA[New comment by bdash in "Demystifying ARM SME to Optimize General Matrix Multiplications"]]></title><description><![CDATA[
<p>SSVE instructions are executed by the SME engine, which trades latency for throughput. SSVE is really intended to support use of SME, rather than as a replacement for Advanced SIMD on the CPU core itself.<p>The Apple Silicon CPU Optimization Guide has a lot of great information on SME and SSVE, along with more general information on optimizing for Apple's CPUs<p>A few quotes from Apple's guide that are particularly relevant to SSVE, from "SSVE Vector Execution Unit Optimization":<p>> Broadly, this unit is designed to support long vector and matrix operations performed on
ZA storage _in the SME Processing Grid_.<p>> Recommendation: Use SSVE in a supporting role to enable high throughput SME grid computation.<p>> [Magnitude: High | Applicability: High] SSVE offers wide 64B vectors. While the ISA includes instructions that can operate on multi-vectors, the throughput is often only one 64B vector per cycle. Use SSVE to enable SME, which offers higher parallelism.<p>> Because of non-speculative execution, communication latencies, and in some cases long memory and computation latencies, SME engine instructions trail execution in the core by dozens to thousands of cycles. Any core compute instructions that consume data produced by the SME engine may have to wait an indeterminate (but long) amount of time for the data to arrive.</p>
]]></description><pubDate>Sun, 01 Feb 2026 00:00:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46842182</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=46842182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46842182</guid></item><item><title><![CDATA[Spinning around: Please don’t – Common problems with spin locks]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.siliceum.com/en/blog/post/spinning-around/">https://www.siliceum.com/en/blog/post/spinning-around/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46797868">https://news.ycombinator.com/item?id=46797868</a></p>
<p>Points: 158</p>
<p># Comments: 63</p>
]]></description><pubDate>Wed, 28 Jan 2026 16:48:59 +0000</pubDate><link>https://www.siliceum.com/en/blog/post/spinning-around/</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=46797868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46797868</guid></item><item><title><![CDATA[New comment by bdash in "Electron-based apps cause system-wide lag on macOS 26 Tahoe"]]></title><description><![CDATA[
<p>Strangely the WindowServer issue is a constant issue on my personal MacBook Pro, but I've never seen it on my identical work MacBook Pro. It seems like there's some other factor that is necessary to trigger the problem.</p>
]]></description><pubDate>Thu, 25 Sep 2025 21:33:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45379419</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=45379419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45379419</guid></item><item><title><![CDATA[New comment by bdash in "Electron-based apps cause system-wide lag on macOS 26 Tahoe"]]></title><description><![CDATA[
<p>I'd sorta hope they are testing widely-used applications in the way that typical end users will experience them before releasing a new OS version.</p>
]]></description><pubDate>Thu, 25 Sep 2025 21:29:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=45379373</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=45379373</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45379373</guid></item><item><title><![CDATA[New comment by bdash in "Electron-based apps cause system-wide lag on macOS 26 Tahoe"]]></title><description><![CDATA[
<p>This affects some of the most widely used applications on the platform, including "productivity" applications such as Slack that Apple uses internally. How did no-one at Apple notice this and do something about it prior to macOS 26 being released?</p>
]]></description><pubDate>Thu, 25 Sep 2025 19:40:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=45377927</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=45377927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45377927</guid></item><item><title><![CDATA[New comment by bdash in "I made a real-time C/C++/Rust build visualizer"]]></title><description><![CDATA[
<p>I've had success using <a href="https://github.com/nico/ninjatracing" rel="nofollow">https://github.com/nico/ninjatracing</a> along with Clang's `-ftime-trace` to visualize the build performance of a C++ project using CMake. <a href="https://github.com/aras-p/ClangBuildAnalyzer" rel="nofollow">https://github.com/aras-p/ClangBuildAnalyzer</a> helps further break down what the compiler is spending its time on.</p>
]]></description><pubDate>Fri, 15 Aug 2025 02:38:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=44908042</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=44908042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44908042</guid></item><item><title><![CDATA[New comment by bdash in "How easy is it for a developer to "sandbox" a program?"]]></title><description><![CDATA[
<p>It mostly seems to be deprecated to encourage developers to use App Sandbox rather than doing custom sandboxing things. With custom sandboxing baking implementation details of system frameworks into the sandbox policy is almost unavoidable, and Apple would really rather you didn't do that as it limits their ability to make changes in the future.<p>The underlying sandbox subsystem is what App Sandbox uses.
Apple can happily rely on implementation details of system frameworks in their policies because they can update them as the system frameworks change.<p>The sandbox subsystem is what all of Apple's system software uses for sandboxing, as well as many security-conscious third-party programs such as web browsers. It's not going anywhere anytime soon, despite being marked as deprecated.</p>
]]></description><pubDate>Sun, 15 Jun 2025 18:53:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=44284233</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=44284233</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44284233</guid></item><item><title><![CDATA[New comment by bdash in "Mac app launches slowed by malware scan (2024)"]]></title><description><![CDATA[
<p>What's most amusing is that in the most recent blog post (<a href="https://eclecticlight.co/2025/04/30/why-some-apps-sometimes-launch-extremely-slowly/" rel="nofollow">https://eclecticlight.co/2025/04/30/why-some-apps-sometimes-...</a>), the handful of log statements that serve as the source of the claim in fact confirm that it is syspolicyd performing a malware scan that is responsible for the delay during launch.<p>11.012004 com.apple.syspolicy.exec Recording cache miss for <private><p>20.898736 AppleSystemPolicy Waking up reference: 174<p>The first of the two messages is from `syspolicyd` and is reporting that it has no cached malware scan result for a file it was asked to scan. The malware scan is triggered by an up-call within the AppleSystemPolicy kernel extension during a MACF hook (`proc_notify_exec_complete`, `file_check_library_validation`, or `file_check_mmap`) if the kext doesn’t have a cached malware scan result for the vnode of the file in question.<p>The second log message is from the AppleSystemPolicy kernel extension when it receives the result of the malware scan and permits the process to resume execution.<p>It's a little puzzling that the original analysis is published based on speculation, without any real attempt at verifying that the data supports their hypothesis. Looking at `top` or Activity Monitor during the slow launch would show which process is performing work. A spindump captured during the slow launch would reveal what work it is doing. The system log store captures the process and subsystem that logged any given message. A few minutes in Binary Ninja or Hopper gives you a rough idea of what the code that emits the log is doing.</p>
]]></description><pubDate>Fri, 02 May 2025 00:13:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=43864828</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=43864828</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43864828</guid></item><item><title><![CDATA[New comment by bdash in "‘Bluey’s World’: How a Cute Aussie Puppy Became a Juggernaut"]]></title><description><![CDATA[
<p>Doctor Bandit Heeler is an archeologist. <a href="https://www.youtube.com/watch?v=Uiv_V7QOy3A" rel="nofollow">https://www.youtube.com/watch?v=Uiv_V7QOy3A</a></p>
]]></description><pubDate>Sat, 22 Mar 2025 16:06:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=43446722</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=43446722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43446722</guid></item><item><title><![CDATA[Doom II running on an Avengers Infinity Quest pinball machine [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=Nf8uIzg_aUA">https://www.youtube.com/watch?v=Nf8uIzg_aUA</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42701335">https://news.ycombinator.com/item?id=42701335</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 14 Jan 2025 18:12:50 +0000</pubDate><link>https://www.youtube.com/watch?v=Nf8uIzg_aUA</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=42701335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42701335</guid></item><item><title><![CDATA[New comment by bdash in "TCC and the macOS Platform Sandbox Policy"]]></title><description><![CDATA[
<p>The code snippets are purely declarative because they are reconstructed from the simple bytecode that the macOS sandbox library generates after evaluating the Scheme code. At that point any abstractions present in the source code are long gone and only predicates and actions remain.<p>If you look at typical SBPL source code you'll see it tends to contain a mix of straightforward, declarative `(allow …)` policies and custom functions/macros used to simplify repeated patterns. See <a href="https://github.com/WebKit/WebKit/blob/11b5279aec6113c661dac368e2fc015fbc598f9c/Source/WebKit/Shared/Sandbox/iOS/common.sb">https://github.com/WebKit/WebKit/blob/11b5279aec6113c661dac3...</a>, for example.</p>
]]></description><pubDate>Tue, 10 Dec 2024 06:46:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=42374424</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=42374424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42374424</guid></item><item><title><![CDATA[New comment by bdash in "TCC and the macOS Platform Sandbox Policy"]]></title><description><![CDATA[
<p>It still compiles the rules down to a very basic bytecode: <a href="https://bdash.net.nz/posts/sandboxing-on-macos/#sandbox-policy-evaluation" rel="nofollow">https://bdash.net.nz/posts/sandboxing-on-macos/#sandbox-poli...</a></p>
]]></description><pubDate>Tue, 10 Dec 2024 06:32:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=42374355</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=42374355</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42374355</guid></item><item><title><![CDATA[New comment by bdash in "Firefox-Passwords-Decryptor: Extracts and decrypts passwords saved in Firefox"]]></title><description><![CDATA[
<p>Passkeys are a different story than the keychain more generally. Other browsers that work with passkeys via the system APIs had to jump through hoops and get Apple's approval to do so: <a href="https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_web-browser_public-key-credential" rel="nofollow">https://developer.apple.com/documentation/bundleresources/en...</a></p>
]]></description><pubDate>Fri, 01 Nov 2024 01:27:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=42013212</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=42013212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42013212</guid></item><item><title><![CDATA[New comment by bdash in "M4 MacBook Pro"]]></title><description><![CDATA[
<p>When I first run locally-built software I tend to notice XProtect scanning each binary when it is launched. I know that XProtect matches the executable against a pre-downloaded list of malware signatures rather than sending data to the internet, but I haven't monitored network traffic to be sure it is purely local. You can see the malware signatures it uses at /private/var/protected/xprotect/XProtect.bundle/Contents/Resources/XProtect.yara if you're curious.</p>
]]></description><pubDate>Thu, 31 Oct 2024 03:45:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=42003295</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=42003295</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42003295</guid></item><item><title><![CDATA[New comment by bdash in "M4 MacBook Pro"]]></title><description><![CDATA[
<p>I suspect they're referring to changes to Gatekeeper in recent macOS versions: <a href="https://arstechnica.com/gadgets/2024/08/macos-15-sequoia-makes-you-jump-through-more-hoops-to-disable-gatekeeper-app-checks/" rel="nofollow">https://arstechnica.com/gadgets/2024/08/macos-15-sequoia-mak...</a><p>It used to be that you could run any third-party application you downloaded. And then for a while you'd have to right-click and select Open the first time you ran an application you'd downloaded, and then click through a confirmation prompt. And macOS 15, you have to attempt to open the application, be told it is unsafe, and then manually approve it via system settings.</p>
]]></description><pubDate>Thu, 31 Oct 2024 03:38:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=42003256</link><dc:creator>bdash</dc:creator><comments>https://news.ycombinator.com/item?id=42003256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42003256</guid></item></channel></rss>