<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: Veserv</title><link>https://news.ycombinator.com/user?id=Veserv</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 01 Nov 2026 15:15:33 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Veserv" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Veserv in "Reading and writing are less symmetric than you (probably) think"]]></title><description><![CDATA[
<p>Most of that is just due to the fundamentally poor I/O model of synchronous operations used on Linux and other Unix derived systems followed by hardware manufacturers cheating to make that fundamentally poor model look okay.<p>Essentially all modern high speed hardware is batched and asynchronous. The way to get high speed performance is to batch and asynchronously submit operations then wait for batchs of asynchronous completion. In addition to being more efficient to process, batching also enables "smart" hardware to more efficiently schedule the operations if needed since it has more context.<p>Batching many of the reads you want upfront reduces the need for as much speculative read buffering because you are more capable of telling it "all/most" of the information you actually want instead of it having to guess that you are going to do linear reads. The reads being asynchronous, which is what the hardware does, allows you to issue speculative reads explicitly. If you intend to read a 1 GB file then the userspace I/O library can fire off 1,000 1MB reads and then you can wait until the "next" desired portion of the data comes back before continuing your processing. This is in contrast to issuing a 1 GB synchronous read followed by your processing which delays your processing by the time of the entire read even though the hardware I/O can happen in parallel.<p>Essentially, the only remaining case where you then want meaningful speculative read buffering (beyond the default efficient block size of the hardware) is that you either do not understand your access patterns enough to batch them, or you have a data-dependent load pattern which happens to regularly resolve to something within the speculative read buffer. For instance, you read 8-bytes which tells you the offset into the file where the desired record is and that record happens to be nearby almost all of the time.<p>For writes, what you want is a data-or-time flush strategy which is actually just the flush strategy you should use in basically all cases where you do buffering. Data-based flushing exists to achieve efficient batching. Issuing large amounts of small operations kills you with overhead, so you buffer the operations to attempt to coalesce them into larger operations where the overhead is amortized away. However, if inadequate data is generated to reach the data-based flush condition, then you get large or potentially unbounded latency. You resolve this by also targeting a worst-case acceptable latency in low throughput conditions. In that case your overhead has been "amortized" away as a percentage of your processing time since the processing time was long enough to reach the time-based flush condition. What you are effectively doing is allocating N% of your time to completion to overhead which either fires if you generate enough data to amortize it away or if you generate enough time to amortize it away.<p>Writes being asynchronous also allows you to resolve the data loss issue (if the hardware cooperates). You fire it off and wait for the hardware to signal persistence of that write. Until you see a asynchronous completion for that asynchronous write, you can not assume it is persisted. You achieve ordering by issuing a write barrier which tells the hardware to signal completion of the write barrier when all writes earlier in the asynchronous queue have signaled completion. This can also be further extended to other layers if desired to allow the detection of various levels of "persistence".<p>Unfortunately, Linux and other Unix derived systems use the awesomely terrible fsync() model which is antithetical to efficient I/O. Instead of you issuing a write barrier and then getting notified when it completes, allowing you to continue to asynchronously issue subsequent writes, you synchronously wait for all earlier I/O to complete. This serializes execution as you wait ensuring that any attempt at ordering or persisting data is monstrously expensive. In fact, this is so horrible that hardware manufacturers realized they could massively improve their throughput benchmarks by lying about when data is persisted so the fsync() would complete faster ensuring that their throughput benchmarks would not get shot due to data persistence latency which is a different property. With a asynchronous model you can just rapid-fire the operations and the write barriers (which is the way the hardware is designed to operate) allowing you to evaluate both read/write throughput and data persistence latency without confounding them. This is both dramatically more useful and more efficient.</p>
]]></description><pubDate>Sun, 01 Nov 2026 04:58:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=50322841</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50322841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50322841</guid></item><item><title><![CDATA[New comment by Veserv in "Northflank Breached"]]></title><description><![CDATA[
<p>Adequate is making it uneconomical, or cost ineffective, for threats to your organization to attack you either deliberately or indiscriminately. Absent a specific organization, we can use a profile of commonplace, prevailing threats as a proxy. A profile of commonplace threats is, as I said before, a profit-motivated, commercial, professional group seeking a multi-million dollar payout and thus being profitable at a cost of a few million dollars per commercial target. That is "adequate" in the prevailing threat landscape if you are the "average" organization.</p>
]]></description><pubDate>Fri, 30 Oct 2026 18:16:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=50308000</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50308000</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50308000</guid></item><item><title><![CDATA[New comment by Veserv in "Polymarket 1h halt after vendor compromise; affected users will be 'made whole'"]]></title><description><![CDATA[
<p>Computer security has largely been built on the “not enough bears” theory.<p>Every target is worth attacking, but there are not enough bears to eat everybody. Sure, the bears are breeding, but exponential growth does not look threatening until it suddenly is.</p>
]]></description><pubDate>Fri, 30 Oct 2026 17:37:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=50307372</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50307372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50307372</guid></item><item><title><![CDATA[New comment by Veserv in "Northflank Breached"]]></title><description><![CDATA[
<p>Neither is correlated with good security outcomes against the prevailing threat landscape of profit-motivated, commercial, professional attackers with tiny budgets of a few million dollars. The standard is not "better", it is "adequate".</p>
]]></description><pubDate>Fri, 30 Oct 2026 16:44:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=50306511</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50306511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50306511</guid></item><item><title><![CDATA[New comment by Veserv in "Northflank Breached"]]></title><description><![CDATA[
<p>I do not see how that is relevant. Are you saying that trivial cross-tenant compromises are not egregious security failures demonstrating their systems are unfit for purpose because other companys make products that have even more egregious security failures that are even more unfit for purpose?<p>My bridge that collapses is adequate and acceptable because other people make even worse bridges that collapse even easier? No, the bridge still collapses, everybody gets a F.</p>
]]></description><pubDate>Fri, 30 Oct 2026 16:39:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=50306427</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50306427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50306427</guid></item><item><title><![CDATA[New comment by Veserv in "Northflank Breached"]]></title><description><![CDATA[
<p>Having crippling bureaucracy does not correlate with good security outcomes, except maybe negatively. However, having a history of unending egregious security failures, like Microsoft, does correlate with poor security outcomes. For that matter, having a present of unending egregious security failures also correlates with poor security outcomes.<p>Let us look on the front page and see if there are any, oh look here is one: <a href="https://www.binarysecurity.no/posts/2026/10/one-root-case" rel="nofollow">https://www.binarysecurity.no/posts/2026/10/one-root-case</a></p>
]]></description><pubDate>Fri, 30 Oct 2026 16:15:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=50306054</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50306054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50306054</guid></item><item><title><![CDATA[New comment by Veserv in "Reforming English Spelling"]]></title><description><![CDATA[
<p>The one the people implementing the spell-checker want. I am describing a mechanism for change, not the policy.<p>It is a mechanism that is far more practical and likely to succeed at broad reform than their plan of convincing magazine editors and instagram models.</p>
]]></description><pubDate>Fri, 23 Oct 2026 21:55:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=50215907</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50215907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50215907</guid></item><item><title><![CDATA[New comment by Veserv in "Reforming English Spelling"]]></title><description><![CDATA[
<p>If they really want to reform English spelling, they should write a spell-checking library in every major programming language that builds on every major platform and can be easily integrated into chat, message, and mobile keyboard applications which defaults to “English 20xx”, but still supports default English.<p>All it would need to do is not highlight “improved spellings” as incorrect in “English 20xx” mode at the start. Then it could slowly turn the knob as they see increasing usage.<p>If you want to do even more then you can implement speech-to-text and transcript generators that default to “English 20xx”.</p>
]]></description><pubDate>Fri, 23 Oct 2026 20:11:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=50214628</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50214628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50214628</guid></item><item><title><![CDATA[New comment by Veserv in "The compiler was supposed to end programming too"]]></title><description><![CDATA[
<p>"as if" is what semantically identical means. As I further clarified: "All observable and defined side effects should be identical otherwise you have a compiler bug."<p>The output program does what the input source code does. The abstraction is a precise translation and non-leaky, it just admits multiple possible internals. That does not make the translation any less precise.</p>
]]></description><pubDate>Wed, 21 Oct 2026 20:01:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=50186803</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50186803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50186803</guid></item><item><title><![CDATA[New comment by Veserv in "The compiler was supposed to end programming too"]]></title><description><![CDATA[
<p>Which is a strawman. They are clearly attempting to say that a compiler is supposed to generate a program that is semantically identical to the source code.<p>All observable and defined side effects should be identical otherwise you have a compiler bug. Optimizations that are not generically semantics preserving may be used, but should only be used where the program is semantically identical for your use case otherwise you have incorrectly used the options available in your compiler.</p>
]]></description><pubDate>Wed, 21 Oct 2026 19:37:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=50186405</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50186405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50186405</guid></item><item><title><![CDATA[New comment by Veserv in "Zuckerberg's Meta Takes Down No Kings Instagram During Protest Day"]]></title><description><![CDATA[
<p>I see that you are unaware of basic legal/moral concepts like “negligence” [1] if you think such standards are inhumanely cruel.<p>Thankfully, legal systems are not that inhumanly stupid.<p>[1] <a href="https://en.wikipedia.org/wiki/Negligence" rel="nofollow">https://en.wikipedia.org/wiki/Negligence</a></p>
]]></description><pubDate>Sun, 18 Oct 2026 05:16:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=50138120</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50138120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50138120</guid></item><item><title><![CDATA[New comment by Veserv in "Zuckerberg's Meta Takes Down No Kings Instagram During Protest Day"]]></title><description><![CDATA[
<p>They literally trotted out Hanlon’s razor as a moral argument that we should not blame Meta since it was probably just a whoopsie-doodle. This is a very common moral argument that people implicitly make or explicitly advance when using it.<p>I am pointing out how that is a absurd moral argument deriving from the rule of thumb. If anything, the corollary is the literal opposite.<p>Any stupidity indistinguishable from malice should be treated the same.<p>The usage as a epistemological rule of thumb just points out how great harm is usually caused by stupidity, intentional or otherwise, rather than intentional desire to cause the specific harm. If you aim to reduce great harms targeting just malice is not merely inadequate, it is likely missing the overwhelming majority.</p>
]]></description><pubDate>Sun, 18 Oct 2026 03:40:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=50137721</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50137721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50137721</guid></item><item><title><![CDATA[New comment by Veserv in "Zuckerberg's Meta Takes Down No Kings Instagram During Protest Day"]]></title><description><![CDATA[
<p>No. Hanlon’s razor explains that stupidity can cause the same amount of harm as intentional evil and is thus just as bad.<p>If harms are excused because they were not made with evil intentions then the Nazis who just liked making the numbers go up in a orderly fashion should be considered blameless.</p>
]]></description><pubDate>Sun, 18 Oct 2026 02:27:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=50137275</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50137275</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50137275</guid></item><item><title><![CDATA[New comment by Veserv in "Tesla Roadster"]]></title><description><![CDATA[
<p>If you knew that, then why did you think your statement:<p>> Every Tesla ever made has a door release that doesn't require any electricity.<p>Was a valid response to the comment you replied to:<p>> Like the people who get trapped in case of accident when the electricity fail and is burned inside?<p>Implying others are making untrue statements by making intentionally deceptive statements is very rude.</p>
]]></description><pubDate>Sat, 17 Oct 2026 09:21:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=50129360</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50129360</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50129360</guid></item><item><title><![CDATA[New comment by Veserv in "AdFection: Targeted ads turned into a pipeline for zero-click mercenary spyware"]]></title><description><![CDATA[
<p>What, your ad provider would just need to indemnify you for the consequences of their own fuckups. This is pretty basic stuff.<p>As for the ad provider, it is trivial to not deliver criminal payloads if your business starts from the assumption that doing so is costly instead of something you can foist on society for your own benefit.</p>
]]></description><pubDate>Thu, 15 Oct 2026 23:40:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=50111862</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50111862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50111862</guid></item><item><title><![CDATA[New comment by Veserv in "Tesla's Robotaxis Blow Through School Zones, NHTSA Petition Alleges"]]></title><description><![CDATA[
<p>I mean, they still have not figured out school bus stop signs after, what, 6 years of furious development? They consider that fit for commercial deployment even after it hospitalized that kid coming out from a school bus with the stop sign extended (SGO incident number 13781-5100) after being made aware of the safety defect.<p>Why would they feel the need to handle garden variety illegal behavior like school speed limits?</p>
]]></description><pubDate>Thu, 15 Oct 2026 09:32:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=50101282</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50101282</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50101282</guid></item><item><title><![CDATA[New comment by Veserv in "Unikernels were hard. key word: were"]]></title><description><![CDATA[
<p>It is not any different. Actually, it is worse because a VM is a much worse environment to run a application since you need that unikernel stub as well as the application.<p>The only advantage is that cloud services provide VM tenants so you are already stuck with a VM substrate and you want to minimize layers from that point on.<p>However, as a practical matter, the design of the Linux kernel is grossly insecure and basically impossible to make even remotely safe as evidenced by the unending sprawl of LPEs. Hypervisors are generally designed and configured in a way that is only mostly insecure instead of grossly insecure; a bad is better than terrible situation.<p>However, there is nothing stopping you from designing a kernel in a similar way and providing shared tenant processes with similar guarantees. You just need to port your applications to the new operating system, but you would also need to port them to a unikernel anyways if you wanted to go that route.<p>The only free action is lumping your applications with the full OS and dumping it onto a hypervisor. Anything else has porting work which is why the multi-tenant VM model is advantageous at all in the first place.</p>
]]></description><pubDate>Sat, 10 Oct 2026 23:40:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=50038243</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50038243</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50038243</guid></item><item><title><![CDATA[New comment by Veserv in "Unikernels were hard. key word: were"]]></title><description><![CDATA[
<p>Yep. Except every application runs in a down-and-dirty virtual machine instead of a nice clean process, so they get to experience the joy that is hardware booting and get to configure virtual device buffers instead of calling send(). Progress.</p>
]]></description><pubDate>Sat, 10 Oct 2026 23:23:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=50038140</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50038140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50038140</guid></item><item><title><![CDATA[New comment by Veserv in "11 of 23 Core Open Source Projects Run on 1 or 2 People"]]></title><description><![CDATA[
<p>How big and how much work do you think is occurring in sudo? Try guessing the churn for last month. You are probably underestimating it by a factor of 100x.</p>
]]></description><pubDate>Sat, 10 Oct 2026 04:45:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=50029655</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50029655</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50029655</guid></item><item><title><![CDATA[New comment by Veserv in "Reducing undefined behavior in the C language"]]></title><description><![CDATA[
<p>The question was: “The concept of undefined behaviour specific to C/C++ has always seemed batshit insane to me”.<p>I was explaining why undefined behavior as a concept is a very sensible idea. Whether the expansive interpretation of the optimizations you are allowed to do when encountering the “impossible” are reasonable is a different question.</p>
]]></description><pubDate>Fri, 09 Oct 2026 05:09:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=50016221</link><dc:creator>Veserv</dc:creator><comments>https://news.ycombinator.com/item?id=50016221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50016221</guid></item></channel></rss>