<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: gsnedders</title><link>https://news.ycombinator.com/user?id=gsnedders</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 15:37:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=gsnedders" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by gsnedders in "John Ternus to become Apple CEO"]]></title><description><![CDATA[
<p>CryptoKit isn't relevant to `goto fail`, which was the origin of this thread, given CryptoKit merely implements primitives and not TLS.<p>If you really are doubting what gets used for TLS, open up Console.app, start streaming, run `nscurl <a href="https://example.com/" rel="nofollow">https://example.com/</a>` (or load it in Safari, etc.), and you'll see logging like:<p><pre><code>    default com.apple.network boringssl 18:11:46.229209-0700 libboringssl.dylib nscurl boringssl_session_apply_protocol_options_for_transport_block_invoke(2360) [C1.1.1.1:2][0x1008cef10] TLS configured [server(0) min_version(0x0303) max_version(0x0304) name(redacted) tickets(false) false_start(false) enforce_ev(false) enforce_ats(false) ats_non_pfs_ciphersuite_allowed(false) cc_mode_enforced(false) ech(false) pqtls(true), pake(false)]
</code></pre>
It really is boringssl which is nowadays used for TLS by the Network framework.</p>
]]></description><pubDate>Thu, 23 Apr 2026 01:15:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47871288</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47871288</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47871288</guid></item><item><title><![CDATA[New comment by gsnedders in "John Ternus to become Apple CEO"]]></title><description><![CDATA[
<p>See e.g. <a href="https://developer.apple.com/documentation/network/creating-an-identity-for-local-network-tls#Configure-the-Client-Devices" rel="nofollow">https://developer.apple.com/documentation/network/creating-a...</a> where the logging output makes it clear BoringSSL is what is used.<p>Or comments such as: <a href="https://github.com/apple-oss-distributions/Security/blob/rel/Security-61901/protocol/SecProtocolPriv.h#L2039-L2043" rel="nofollow">https://github.com/apple-oss-distributions/Security/blob/rel...</a><p>Unsurprisingly, given BoringSSL doesn't have a stable API (yet alone ABI), it isn't exposed as a system library.</p>
]]></description><pubDate>Tue, 21 Apr 2026 00:12:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47842945</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47842945</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47842945</guid></item><item><title><![CDATA[New comment by gsnedders in "Apple approves driver that lets Nvidia eGPUs work with Arm Macs"]]></title><description><![CDATA[
<p><a href="https://docs.tinygrad.org/tinygpu/" rel="nofollow">https://docs.tinygrad.org/tinygpu/</a> are their docs, and <a href="https://github.com/tinygrad/tinygrad/tree/4d36366717aa9f17356379296e36b4e690cdd8c7/extra/usbgpu/tbgpu/installer/TinyGPUDriverExtension" rel="nofollow">https://github.com/tinygrad/tinygrad/tree/4d36366717aa9f1735...</a> is the actual (user space) driver.<p>My read of everything is that they are using Docker for NVIDIA GPUs for the sake of "how do you compile code to target the GPU"; for AMD they're just compiling their own LLVM with the appropriate target on macOS.</p>
]]></description><pubDate>Sat, 04 Apr 2026 20:03:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47642819</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47642819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47642819</guid></item><item><title><![CDATA[New comment by gsnedders in "Vulnerability research is cooked"]]></title><description><![CDATA[
<p>To some extent, that’s just the nature of the incentive structure — you pay money for exploits with no penalty for false reports? Just rely on monkeys typing reports till one happens to be correct.</p>
]]></description><pubDate>Tue, 31 Mar 2026 05:54:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47583253</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47583253</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47583253</guid></item><item><title><![CDATA[New comment by gsnedders in "Vulnerability research is cooked"]]></title><description><![CDATA[
<p>The other thing is to remember is that when it comes to complex targets, attacks still are found by using a different fuzzer and/or targeting a different entry point.<p>It stands to reason that the same will apply for LLMs.</p>
]]></description><pubDate>Tue, 31 Mar 2026 05:51:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47583235</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47583235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47583235</guid></item><item><title><![CDATA[New comment by gsnedders in "Opera: Rewind The Web to 1996 (Opera at 30)"]]></title><description><![CDATA[
<p>Last I knew Opera still had a decent amount of engineering staff in Poland, and still had some in Sweden, both in the EU, plus still has some amount of staff in Norway, not in the EU but definitely in Europe.<p>That’s not to say their privacy story is fantastic, but they very much still have European operations.</p>
]]></description><pubDate>Tue, 24 Mar 2026 14:37:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47503278</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47503278</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47503278</guid></item><item><title><![CDATA[New comment by gsnedders in "Tom Homan confirms ICE to be at airports starting Monday"]]></title><description><![CDATA[
<p>A lot of countries don’t stamp passports — if you can guarantee the entry is immediately recorded in your central database, and you can reliably look up the latest entry for a given passport, a stamp doesn’t really gain much.</p>
]]></description><pubDate>Sun, 22 Mar 2026 21:50:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47482556</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47482556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47482556</guid></item><item><title><![CDATA[New comment by gsnedders in "Tom Homan confirms ICE to be at airports starting Monday"]]></title><description><![CDATA[
<p>ICE’s scope <i>isn’t</i> who is coming into the country — that’s  CBP’s scope. ICE’s scope is supposed to be those committing immigration offences who have already entered the country (either because the CBP failed to catch them, or because they were admitted but never left).<p>The only difficulty justifying this is ICE’s power to stop and question people, and an airport is no different to a random street from that point of view. Do they have probable cause? What suffices as probable cause?<p>And once you have probable cause, you run into the problem 8 USC 1304(e) creates: someone who doesn’t have documentation proving their legal immigration status falls into one of two categories, they’re either a citizen, or they’re an immigrant violating that section.<p>(And this is looking at it from a simple legalistic point of view, ignoring any questions about ICE’s behaviour or powers!)</p>
]]></description><pubDate>Sun, 22 Mar 2026 19:37:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47481255</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47481255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47481255</guid></item><item><title><![CDATA[New comment by gsnedders in "Brute-forcing my algorithmic ignorance"]]></title><description><![CDATA[
<p>Yeah, this.<p>In my experience, it’s the relatively basic questions that have the highest value — both because they’re what you run into programming most often, and because they’re less likely to overwhelm candidates in a high-stress setting.<p>The goal, at least from my point of view, isn’t to see if they can come up with the perfect algorithm, but about how they construct an algorithm, how they communicate about the decisions they’re making, how they respond to challenges about edge-cases, etc.<p>I’m also strongly in favour of picking out questions that are reflective of the actual codebase they’re being hired for — find something with some basic algorithmic complexity which has a relatively simple and easy to explain input and output, and use that as the problem.<p>In general, I think the best problems are those which any competent senior engineer could design a good solution for almost off the top of their head with little difficulty.</p>
]]></description><pubDate>Sun, 22 Mar 2026 18:02:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480271</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47480271</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480271</guid></item><item><title><![CDATA[New comment by gsnedders in "Noq: n0's new QUIC implementation in Rust"]]></title><description><![CDATA[
<p>It’s common enough for groups to not consider the spec done until there is a decent bit of implementation experience (both because actual implementers tend to find interesting bugs in specs, and because many things are hard to measure without any implementation).</p>
]]></description><pubDate>Fri, 20 Mar 2026 05:14:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47450763</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47450763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47450763</guid></item><item><title><![CDATA[New comment by gsnedders in "Autoresearch for SAT Solvers"]]></title><description><![CDATA[
<p>What counts as “our cost”? How long it takes to find the MaxSAT?</p>
]]></description><pubDate>Thu, 19 Mar 2026 02:40:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47434202</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47434202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47434202</guid></item><item><title><![CDATA[New comment by gsnedders in "Python: The Optimization Ladder"]]></title><description><![CDATA[
<p>Beyond the economic arguments, there’s a lot in JS that actually makes it a lot easier: almost all of the operators can only return a subset of the types and cannot be overridden (e.g., the binary + operator in JS can only return a string or a number primitive), the existence of like string and number primitives dramatically reduce the amount of dynamic behaviour they can have, only proxy objects can exhibit the same amount of dynamism as arbitrary Python ones (and thus only they pay the performance cost)…</p>
]]></description><pubDate>Sun, 15 Mar 2026 00:43:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47383004</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47383004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47383004</guid></item><item><title><![CDATA[New comment by gsnedders in "Python: The Optimization Ladder"]]></title><description><![CDATA[
<p>From when I was working on optimizing one or two things with Cython years ago, it wasn’t per-se the branch cost that hurt: it was impeding the compiler from various loop optimisations, potentially being the impediment from going all the way to auto-vectorisation.</p>
]]></description><pubDate>Sun, 15 Mar 2026 00:28:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47382893</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47382893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47382893</guid></item><item><title><![CDATA[New comment by gsnedders in "A new California law says all operating systems need to have age verification"]]></title><description><![CDATA[
<p>If you send a flag ever, then absence of a flag is also fingerprinting surface.<p>If you imagine a world where you have a header, Accepts-Adult-Content, which takes a boolean value: you essentially have three possibilities: ?0, ?1, and absent.<p>How useful of a tracking signal those three options provide depends on what else is being sent —<p>For example, if someone is stuffing a huge amount of fingerprinting data into the User-Agent string, then this header probably doesn’t actually change anything of the posture.<p>As another example, if you’re in a regular browser with much of the UA string frozen, and ignoring all other headers for now, then it depends on how likely the users with that UA string to have each option: if all users of that browser always send ?0 (if they indicate themselves to be a minor) or ?1 (if they indicate themselves to be an adult or decline to indicate anything), then a request with that UA and it absent is significantly more noteworthy — because the browser wouldn’t send it — and more likely to be meaningful fingerprinting surface.<p>That said, adding any of this as passive fingerprinting surface seems like an idea unlikely to be worthwhile.<p>If you want even a weak signal, it would be much better to require user interaction for it.</p>
]]></description><pubDate>Sat, 28 Feb 2026 06:49:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47191342</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47191342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47191342</guid></item><item><title><![CDATA[New comment by gsnedders in "IBM tripling entry-level jobs after finding the limits of AI adoption"]]></title><description><![CDATA[
<p>One thing that I’ve often seen is models, when very much told to just write a plan, still including sizeable amounts of code <i>in the plan</i>.<p>Maybe it’s needing to step back and even ask for design doc before a plan, but even then…</p>
]]></description><pubDate>Mon, 16 Feb 2026 03:04:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47030409</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=47030409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47030409</guid></item><item><title><![CDATA[New comment by gsnedders in "Apple patches decade-old iOS zero-day, possibly exploited by commercial spyware"]]></title><description><![CDATA[
<p>While not wholesale replacing it, there already is Swift in dyld: <a href="https://github.com/search?q=repo%3Aapple-oss-distributions%2Fdyld++language%3ASwift&type=code" rel="nofollow">https://github.com/search?q=repo%3Aapple-oss-distributions%2...</a></p>
]]></description><pubDate>Thu, 12 Feb 2026 15:24:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46989941</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=46989941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46989941</guid></item><item><title><![CDATA[New comment by gsnedders in "Show HN: Vibium – Browser automation for AI and humans, by Selenium's creator"]]></title><description><![CDATA[
<p>Also, as someone on the periphery of Selenium (mostly via WebDriver), some of the challenge is that Selenium has a huge amount of test code already written for it — and making radical API changes would break every test already written for it, and at that point you’re effectively a new library.<p>It’s gonna be very interesting to watch exactly how the adoption of WebDriver BiDi goes with Selenium, especially once WebDriver Classic starts to go away, and how API stability is balanced with exposing more and more async capabilities.</p>
]]></description><pubDate>Fri, 26 Dec 2025 15:15:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46392845</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=46392845</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46392845</guid></item><item><title><![CDATA[New comment by gsnedders in "Python 3.15’s interpreter for Windows x86-64 should hopefully be 15% faster"]]></title><description><![CDATA[
<p>> Performance isn't all that matters, especially once you have an established codebase and ecosystem.<p>And this is no small part of why Java and JS have frequently been pushing VM performance forward — there’s enough code people very much care about continuing to work on performance. (Though the two care about different things mostly: Java cares much more about long-term performance, and JS cares much more about short-term performance.)<p>It doesn’t hurt they’re both languages which are relatively static compared with e.g. Python, either.</p>
]]></description><pubDate>Thu, 25 Dec 2025 20:57:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46386996</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=46386996</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46386996</guid></item><item><title><![CDATA[New comment by gsnedders in "Show HN: Vibium – Browser automation for AI and humans, by Selenium's creator"]]></title><description><![CDATA[
<p>Is there any plan about how to deal with indirect prompt injection attacks that could trivially be lurking in malicious web pages, given the agent can navigate to an arbitrary URL?</p>
]]></description><pubDate>Thu, 25 Dec 2025 20:33:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46386866</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=46386866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46386866</guid></item><item><title><![CDATA[New comment by gsnedders in "Phoenix: A modern X server written from scratch in Zig"]]></title><description><![CDATA[
<p>Is there anything at a protocol level that prevents using a modern font rendering stack for it?</p>
]]></description><pubDate>Thu, 25 Dec 2025 20:28:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46386840</link><dc:creator>gsnedders</dc:creator><comments>https://news.ycombinator.com/item?id=46386840</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46386840</guid></item></channel></rss>