<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: YourDadVPN</title><link>https://news.ycombinator.com/user?id=YourDadVPN</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 10 Jun 2026 08:57:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=YourDadVPN" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by YourDadVPN in "sp.h: Fixing C by giving it a high quality, ultra portable standard library"]]></title><description><![CDATA[
<p>There isn't a language that achieves C's performance, access to hardware and portability while also having superior syntax. The reason C is hard is because it makes sacrifices to enable the above. A Rust (for example) compiler targeting many microcontrollers (8/16-bit word size (not all), Harvard architectures like AVR, non-8-bit byte) simply can't be written due to assumptions made by the spec. Many such architectures are still in use.</p>
]]></description><pubDate>Sun, 24 May 2026 16:39:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48258770</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=48258770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48258770</guid></item><item><title><![CDATA[New comment by YourDadVPN in "mimalloc: A new, high-performance, scalable memory allocator for the modern era"]]></title><description><![CDATA[
<p>This is interesting. I wonder who the "other allocator" was. I think this would benefit from direct comparison with jemalloc, glibc and others. It would also be interesting to observe the effects of different "page" sizes (a better name than "pages" wouldn't go amiss either).</p>
]]></description><pubDate>Fri, 15 May 2026 09:55:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48146635</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=48146635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48146635</guid></item><item><title><![CDATA[New comment by YourDadVPN in "GrapheneOS fixes Android VPN leak Google refused to patch"]]></title><description><![CDATA[
<p>The developers of each have engaged in a few flamewars and the commenter I replied to was critical of GrapheneOS using similar language, so I made a (tongue in cheek comment) implying the commenter was starting the flamewar back up</p>
]]></description><pubDate>Sat, 09 May 2026 22:31:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48078908</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=48078908</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48078908</guid></item><item><title><![CDATA[New comment by YourDadVPN in "GrapheneOS fixes Android VPN leak Google refused to patch"]]></title><description><![CDATA[
<p>Is the CalyxOS Vs GrapheneOS shitflinging about to start up again?</p>
]]></description><pubDate>Sat, 09 May 2026 22:00:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48078681</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=48078681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48078681</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Google broke reCAPTCHA for de-googled Android users"]]></title><description><![CDATA[
<p>The EU's proposed system uses ZK proof. You get a PGP signed message from "someone" who knows your identity (government or private agency) then store it on your phone to pass to websites that need your age. It does have an obvious flaw in that whoever you give the token to has no proof it's actually yours.<p><a href="https://ageverification.dev/av-doc-technical-specification/docs/architecture-and-technical-specifications/#132-acronyms-and-abbreviations" rel="nofollow">https://ageverification.dev/av-doc-technical-specification/d...</a></p>
]]></description><pubDate>Sat, 09 May 2026 21:46:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48078571</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=48078571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48078571</guid></item><item><title><![CDATA[New comment by YourDadVPN in "You can beat the binary search"]]></title><description><![CDATA[
<p>Fair point that binary search causes a lot of branch mispredictions. Did you ever measure whether the unrolled linear search with 8 elements outperforms a "rolled" one? Because with instruction level parallelism I wonder how much difference removing 8 mostly easily predicted (in the linear search) branches makes.</p>
]]></description><pubDate>Sat, 02 May 2026 12:56:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986017</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=47986017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986017</guid></item><item><title><![CDATA[New comment by YourDadVPN in "You can beat the binary search"]]></title><description><![CDATA[
<p>Interesting, thanks for sharing. I actually assumed ?: desugared to an if-else and never checked. I was a bit confused by the if-else chains you have e.g. on line 111 where it looks like you could just use the else branch for every case?<p>You could circumvent the counter issue by pinning to a specific core, otherwise you'd have to use scheduler events (ftrace/perf on Linux) to know which CPU you were running on at specific times and when so you could subtract the right counters (I've had to do this before and it isn't pretty). It would also prevent issues where your task gets preempted and moved to another core and you have to warm the caches again. If you use Linux, options like isolcpus and nohz_full ensure you're not measuring the scheduler/other tasks but have to be set at boot. But if your loops between clock_gettime take substantially more than clock_gettime itself then at least the timer overhead is probably not that important.<p>As for the branch prediction, I would think most of the branches would be predicted correctly because usually you'll have runs of "not x" before each "is x". Switching between many loops of course hurts the prediction.<p>My SIMD knowledge only extends as far as which compiler options make my code faster.<p>No shame using LLMs, I use them extensively, but I find I have to write some code yourself because I make noticeably more mistakes coding if I have let the LLM do everything for a couple of weeks.</p>
]]></description><pubDate>Sat, 02 May 2026 08:11:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47984447</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=47984447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47984447</guid></item><item><title><![CDATA[New comment by YourDadVPN in "You can beat the binary search"]]></title><description><![CDATA[
<p>How did you do it? Hopefully you generated thousands of such arrays and measured the cost of searching all of them as a single iteration? Because depending on what you use to measure time, the overhead of reading the timer would likely dwarf the cost of searching such a small array. The best case is a dedicated cycle counter instruction/register (e.g. rdtsc) and even that may cost hundreds of cycles. Cache hits cost less than a cycle so if your timing code gated a small number of searches you essentially didn't measure the search at all.<p>That aside your findings point to the prefetcher having identified your linear searches as sequential access so practically every single access was a cache hit (you effectively measured the latency between a CPU and its L1 cache). If you wanted to test this you could do something like make each element some number of cache lines wide. Stream prefetchers have a maximum stride, so variables more than that many bytes apart won't be prefetched. Google's multichase benchmark uses 256 bytes IIRC.</p>
]]></description><pubDate>Fri, 01 May 2026 15:50:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47976195</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=47976195</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47976195</guid></item><item><title><![CDATA[New comment by YourDadVPN in "You can beat the binary search"]]></title><description><![CDATA[
<p>I'm guessing you don't really do this for users since the response for all of them should be 401 on any user that you aren't logged in as? I would argue even for IDs that don't exist, you should get the same error whether they don't exist or you just aren't authorised to see them. It's been a few years since I worked in web but I think that's what I would have done, GitHub does similar for private repos.</p>
]]></description><pubDate>Fri, 01 May 2026 15:31:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47975955</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=47975955</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47975955</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Your Terminal Is Burning Battery Like It's Mining Bitcoin"]]></title><description><![CDATA[
<p>What does it do for you that, say, konsole, gnome-terminal or even xterm wouldn't?</p>
]]></description><pubDate>Wed, 29 Apr 2026 07:23:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47945140</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=47945140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47945140</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Learnings from our years of Kubernetes in production"]]></title><description><![CDATA[
<p>Why are people using "learnings" as a word, when "lessons" already fits all its use cases? It's quite jarring.</p>
]]></description><pubDate>Thu, 08 Feb 2024 00:38:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=39296316</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=39296316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39296316</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Japan's precision moon lander has hit its target, but appears to be upside-down"]]></title><description><![CDATA[
<p>Considering they knew these failure modes in advance, would it not have been prudent to put some sort of self-righting mechanism on the lander? Something like the mechanical arms you see in Robot Wars.</p>
]]></description><pubDate>Thu, 25 Jan 2024 16:47:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=39131584</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=39131584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39131584</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Ask HN: How do you go from good to great Programmer?"]]></title><description><![CDATA[
<p>Well, almost. I use a lot of assertions to check the obvious (value out of range, null pointer, etc.) and test the happy path(s) to prove the code at least works in the cases I can anticipate. I add unit tests for complex algorithms, and to prove a reported bug is what I think it is and that it has been fixed. Otherwise, I think using unit tests to find bugs is mostly busywork.<p>For even a fairly trivial piece of code, the search space for bugs can be vast or even infinite. Writing unit tests to find bugs within that space is like throwing darts at an infinitely large wall and trying to hit an unknown number of invisible targets. You can only write tests for the potential bugs you anticipate - if you could anticipate a bug, you  wouldn't write it, right? You end up with dozens or hundreds of tests that probably never failed, except when you have to change something. Such was my experience when I tried to maintain high code coverage. When I switched to writing assertions and acceptance tests, my rate of bug reports did not change, and I was more agile.</p>
]]></description><pubDate>Fri, 19 Jan 2024 12:40:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=39054748</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=39054748</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39054748</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Ask HN: How do you go from good to great Programmer?"]]></title><description><![CDATA[
<p>What is your opinion of code coverage requirements now? I have been in a "phase" of seeing them as "code quality theatre". Considering that a function which takes a single 8-bit integer as an argument already has 256 unique inputs, and may bug only on 1-2 values, 100% statement coverage can be very misleading. A typical function has billions or trillions of unique inputs and 100% statement coverage could be very nearly 0% state space coverage. I'm 5y into my career (but 15y into programming) and aware that my opinions will change and develop as I progress. This one has been stable for a while though.</p>
]]></description><pubDate>Thu, 18 Jan 2024 16:15:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=39043562</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=39043562</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39043562</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Everything that uses configuration files should report where they're located"]]></title><description><![CDATA[
<p>I think the best way to achieve this is by providing an OS API that results in the files always being created in the same place. Applications/libraries could still choose their own filenames and syntax, just the location would be OS controlled. I think there is room for a new desktop/laptop OS to emerge and one good idea from mobile OS design I would like to see is having everything be an API call that allows the OS to impose standardisation, permissions and user preferences rather than the free-for-all desktop OSes have (though I propose letting the user run non-compliant applications, and not porting the iOS app store only model into the OS).</p>
]]></description><pubDate>Sun, 25 Jun 2023 09:52:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=36466493</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=36466493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36466493</guid></item><item><title><![CDATA[New comment by YourDadVPN in "13yearold spent $64k of her parents'money on mobile games without them realizing"]]></title><description><![CDATA[
<p>At 29, I don't feel like I was "basically finished" until 25 or so, and feel significantly more mature than I was even a year ago. I'm very interested to know why you think 13 year olds are mostly finished developing.</p>
]]></description><pubDate>Fri, 09 Jun 2023 11:03:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=36256051</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=36256051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36256051</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Apple reveals Vision Pro, a AR/VR headset unlike any other"]]></title><description><![CDATA[
<p>I was talking about the posts/linked articles rather than the comments. I counted six in the first 20 posts, and the titles are mostly quite ad-like.<p>While I was initially interested by the announcement, the size, lack of internal battery and price makes this a hard no for me. Idk what they were thinking - doesn't anyone remember Google Glass? That was half the price and size and nobody wanted it.</p>
]]></description><pubDate>Mon, 05 Jun 2023 19:55:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=36202594</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=36202594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36202594</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Apple reveals Vision Pro, a AR/VR headset unlike any other"]]></title><description><![CDATA[
<p>Wonder how much Apple paid for all these ads.</p>
]]></description><pubDate>Mon, 05 Jun 2023 19:03:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=36201548</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=36201548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36201548</guid></item><item><title><![CDATA[Ask HN: Do you think metaverse will catch on?]]></title><description><![CDATA[
<p>Meta seem to have gone quiet on it publicly but they are still doing research in VR/AR, and now Apple are entering the industry. What do you think the future holds for VR and metaverse? Will it catch on?</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36195531">https://news.ycombinator.com/item?id=36195531</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 05 Jun 2023 12:54:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=36195531</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=36195531</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36195531</guid></item><item><title><![CDATA[New comment by YourDadVPN in "Companies with the Worst Reputations in America: Twitter, Facebook and TikTok"]]></title><description><![CDATA[
<p>Why was Bitcoin an option?</p>
]]></description><pubDate>Sun, 04 Jun 2023 21:02:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=36189546</link><dc:creator>YourDadVPN</dc:creator><comments>https://news.ycombinator.com/item?id=36189546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36189546</guid></item></channel></rss>