<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: OneLessThing</title><link>https://news.ycombinator.com/user?id=OneLessThing</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 21 Oct 2026 03:47:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=OneLessThing" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by OneLessThing in "I no longer care to work on any Ruby gems so I've archived all my repositories"]]></title><description><![CDATA[
<p>Parasites that kill the host are bad parasites.</p>
]]></description><pubDate>Mon, 19 Oct 2026 17:52:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=50155562</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=50155562</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50155562</guid></item><item><title><![CDATA[New comment by OneLessThing in "The AI Race Just Got Awkward"]]></title><description><![CDATA[
<p>It's not that the Chinese companies are right, it's that Anthropic has no place to complain about stealing.</p>
]]></description><pubDate>Wed, 30 Sep 2026 16:59:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=49911517</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=49911517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49911517</guid></item><item><title><![CDATA[New comment by OneLessThing in "If you're a button, you have one job"]]></title><description><![CDATA[
<p>I see it as the same problem of when to accept button input. In my view having the button give "ample warning a material change is about to happen" is making the button do something more than "one job." But maybe you're right if your point is that if you're showing a button it should do the work it says it will do.</p>
]]></description><pubDate>Sun, 05 Jul 2026 20:10:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48797538</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=48797538</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48797538</guid></item><item><title><![CDATA[New comment by OneLessThing in "If you're a button, you have one job"]]></title><description><![CDATA[
<p>They are both about when it is best to accept user input. In the specific example with rotating images nothing covers or moves the buttons so it is not relevant. My impression of the article was that the buttons one job was to accept input always, my argument is that there are times it's okay to not accept input, for example the short time after certain layout changes</p>
]]></description><pubDate>Sun, 05 Jul 2026 20:00:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48797466</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=48797466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48797466</guid></item><item><title><![CDATA[New comment by OneLessThing in "If you're a button, you have one job"]]></title><description><![CDATA[
<p>It's not so simple. There are times where you intend to tap one thing and something else appears underneath your finger instantaneously. So sometimes while rendering a layout you want to stop accepting input.</p>
]]></description><pubDate>Sun, 05 Jul 2026 05:36:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48791501</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=48791501</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48791501</guid></item><item><title><![CDATA[New comment by OneLessThing in "No Leak, No Problem – Bypassing ASLR with a ROP Chain to Gain RCE"]]></title><description><![CDATA[
<p>Yeah :/ that’s how I read it too. It would make more sense if they motivated the reason to find libc because like you said you could likely just use the non aslr gadgets exclusively. I think the author tried to use non aslr gadgets but had issues so went to the approach of using the GOT libc address and called that approach “bypassing ASLR”.<p>It’s a matter of opinion I guess. In the early days of ASLR it was common to look for modules that were not position independent for your ROP chain and that process was probably called bypassing aslr. These days we’d probably just call that not being protected by aslr.</p>
]]></description><pubDate>Sat, 15 Nov 2025 05:35:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45935304</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45935304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45935304</guid></item><item><title><![CDATA[New comment by OneLessThing in "No Leak, No Problem – Bypassing ASLR with a ROP Chain to Gain RCE"]]></title><description><![CDATA[
<p>Good job. It’s early 2000s level stuff but it’s still exciting when it’s happening on your desk. There are lots of options in this scenario outside of bypassing ASLR so I do find it odd to be the main feature of the title, but a fun read nonetheless.<p>It’s fun working on targets with a less established research history. And I love a soup to nuts writeup, Thanks.</p>
]]></description><pubDate>Sat, 15 Nov 2025 02:55:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=45934671</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45934671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45934671</guid></item><item><title><![CDATA[New comment by OneLessThing in "Love C, hate C: Web framework memory problems"]]></title><description><![CDATA[
<p>This is exactly my problem with LLM C code, lack of confidence. On the other hand, when my projects get big enough to the point where I cannot keep the code base generally loaded into my brains cache they eventually get to the point where my confidence comes from extensive testing regardless. So maybe it's not such a bad approach.<p>I do think that LLM C code if made with great testing tooling in concert has great promise.</p>
]]></description><pubDate>Fri, 10 Oct 2025 06:48:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45535997</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45535997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45535997</guid></item><item><title><![CDATA[New comment by OneLessThing in "Love C, hate C: Web framework memory problems"]]></title><description><![CDATA[
<p>This is why I love C. You can build these guard rails at exactly the right level for you. You can build them all the way up to CPython and do garbage collection and constant bounds checking. Or keep them at just raw pointer math. And everywhere in between. I like your approach. The downside being that there are probably 100,000+ bespoke implementations of similar guard rails where python users for example all get them for free.</p>
]]></description><pubDate>Fri, 10 Oct 2025 06:40:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45535956</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45535956</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45535956</guid></item><item><title><![CDATA[New comment by OneLessThing in "Love C, hate C: Web framework memory problems"]]></title><description><![CDATA[
<p>It's funny the author says this was 90% written without AI, and that AI was mostly used for the json code. I think they're just new to C.<p>Trust me I love C. Probably over 90% of my lifetime code has been written in C. But python newbies don't get their web frameworks stack smashed. That's kind of nice.</p>
]]></description><pubDate>Fri, 10 Oct 2025 06:30:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=45535899</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45535899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45535899</guid></item><item><title><![CDATA[New comment by OneLessThing in "Love C, hate C: Web framework memory problems"]]></title><description><![CDATA[
<p>It's interesting to hear these takes. I've never had problems catching unsigned wrap bugs with plain old memory sanitizers, though I must admit to not having a lot of experience with ubsan in particular. Maybe I should use it more.</p>
]]></description><pubDate>Fri, 10 Oct 2025 06:22:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45535848</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45535848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45535848</guid></item><item><title><![CDATA[New comment by OneLessThing in "Love C, hate C: Web framework memory problems"]]></title><description><![CDATA[
<p>I agree that it reads really well which is why I was also surprised the quality is not high when I looked deeper. The author claims to have only used AI for the json code, so your conclusion may be off, it could just be a novice doing novice things.<p>I suppose I was just surprised to find this code promoted in my feed when it's not up to snuff. And I'm not hating, I do in fact love the project idea.</p>
]]></description><pubDate>Fri, 10 Oct 2025 06:07:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=45535777</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45535777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45535777</guid></item><item><title><![CDATA[New comment by OneLessThing in "Show HN: I built a web framework in C"]]></title><description><![CDATA[
<p>Heres a link to the the problem I found: <a href="https://alew.is/lava.html" rel="nofollow">https://alew.is/lava.html</a></p>
]]></description><pubDate>Fri, 10 Oct 2025 03:44:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45535198</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45535198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45535198</guid></item><item><title><![CDATA[Love C, hate C: Web framework memory problems]]></title><description><![CDATA[
<p>Article URL: <a href="https://alew.is/lava.html">https://alew.is/lava.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45535183">https://news.ycombinator.com/item?id=45535183</a></p>
<p>Points: 165</p>
<p># Comments: 216</p>
]]></description><pubDate>Fri, 10 Oct 2025 03:39:57 +0000</pubDate><link>https://alew.is/lava.html</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45535183</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45535183</guid></item><item><title><![CDATA[New comment by OneLessThing in "Show HN: I built a web framework in C"]]></title><description><![CDATA[
<p>There is a heap overflow in the http parser. Should I spoil it or let people find it on their own?</p>
]]></description><pubDate>Thu, 09 Oct 2025 23:55:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45534230</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=45534230</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45534230</guid></item><item><title><![CDATA[New comment by OneLessThing in "Steve Ballmer's incorrect binary search interview question"]]></title><description><![CDATA[
<p>Okay I did the simulation. I don't think this strategy actually works, but I initially thought it might like you did. One such nash equillibrium my sim found was having the Ballmer player mix between picking either end of the range (not always 1 or 100 but around those numbers). I have the Ballmer player winning with around $.85-$1.00 EV per round. The resulting player strategy was to also try to start their binary search at the extreme ends of the range and hope they guessed the right side. It's kind of like the soccer penalty kick dynamic between the shooter and goalie. Goalie wants to pick the same side, shooter wants opposite sides. But with 100 choices, the goal is too wide I think.<p>I now think that not constraining the players remaining choices to follow binary search pattern would completely change the resulting equilibrium and improve the results for the player. But that would be more computationally demanding to calculate because there's a strategy choice for every range of choices. And also I've avoided work for 2 hours by working on this so that's not great haha. I _am_ curious what not constraining the player to binary search would do though...</p>
]]></description><pubDate>Tue, 03 Sep 2024 22:59:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41440174</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=41440174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41440174</guid></item><item><title><![CDATA[New comment by OneLessThing in "0-days exploited by commercial surveillance vendor in Egypt"]]></title><description><![CDATA[
<p>Yes, this has been a trend for a little while now. For example this gist[1] gives linux boot parameters to make linux significantly faster and all it does is basically turn off all default security mitigations. I would make the distinction between vulnerabilities and "exploitable" vulnerabilities though. Mitigations usually give a runtime performance hit but don't remove the underlying flaws, it can just make it harder, or sometimes impossible, to escalate a little flaw into full blown code execution. But also know that offensive techniques advance along side defensive ones. For example ASLR was once considered the death of vulnerability research, but new methods and ideas were found and bypassing ASLR is now just part of the job. Each mitigation must be regularly evaluated against the state of the art, and against the cost to performance (and complexity, etc.). You ideally don't want to be paying performance costs when they aren't helping security.<p>Rust, Zig, and others, are additionally paying compile time performance costs to remove some underlying vulnerabilities. Which is interesting and probably a good thing for software.<p>[1] <a href="https://gist.github.com/jfeilbach/f06bb8408626383a083f68276fa4df8a" rel="nofollow noreferrer">https://gist.github.com/jfeilbach/f06bb8408626383a083f68276f...</a></p>
]]></description><pubDate>Sat, 23 Sep 2023 15:07:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=37623920</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=37623920</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37623920</guid></item><item><title><![CDATA[New comment by OneLessThing in "0-days exploited by commercial surveillance vendor in Egypt"]]></title><description><![CDATA[
<p>I am this person. I work as a researcher finding 0-days.<p>From the employee perspective: Wages are equal. Big Tech work is less interesting (build big bug finding machines that find have high quantity of bugs) and report the bugs that sit into some bug tracker only to maybe be fixed in 3 months. Offensive security work is more interesting. It requires intimate knowledge of the systems you research, since you only need a handful and the shallow ones get found by Big Tech. You must go deep. Additionally offensive security requires the know-how to go from vulnerability to code execution. Exploitation is not an easy task. I can't explain why engineers work for companies that I deem immoral, but that's probably because they don't feel the same way as I do.<p>From the employer perspective: How much does the rate of X vulnerabilities per year cost me? If our code has bugs but is still considered the securest code on the market, it may not benefit the company to increase the security budget. If the company expands the security budget then which division is getting cut because of it, and what is the net result to the company health?<p>If you want to fix the vulnerabilities you need to make the price of finding and exploiting them higher than the people buying them can afford. And you must keep the price higher as advances in offensive security work to lower the price of finding and exploiting them. Since defensive companies don't primarily make money from preventing bugs and offensive companies do primarily make money by finding bugs, there is a mismatch. The ultimate vulnerability in a company, or any entity, is finite resources.</p>
]]></description><pubDate>Fri, 22 Sep 2023 22:12:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=37618445</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=37618445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37618445</guid></item><item><title><![CDATA[New comment by OneLessThing in "Handwritten Blog with Links in SVG – Demo"]]></title><description><![CDATA[
<p>I love thinking with a pencil/pen compared to a keyboard since there seem to be so many more expressive possibilities: Size, Position, Drawings, Arrows, etc. Not to mention research suggesting it's better for memory.<p>This is a demo of making a handwritten blog but using SVG rather than images. There are advantages of this including but not limited to reducing bandwidth. This blog was made on a tablet, images of the handwriting exported to Inkscape, and SVG placed into a html wrapper. I really wish the workflow from pen, pencil, and paper to blog post was smoother.</p>
]]></description><pubDate>Mon, 03 Oct 2022 04:07:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=33063369</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=33063369</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33063369</guid></item><item><title><![CDATA[Handwritten Blog with Links in SVG – Demo]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.alew.is/insertionsort.html">https://blog.alew.is/insertionsort.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=33063368">https://news.ycombinator.com/item?id=33063368</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 03 Oct 2022 04:07:54 +0000</pubDate><link>https://blog.alew.is/insertionsort.html</link><dc:creator>OneLessThing</dc:creator><comments>https://news.ycombinator.com/item?id=33063368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33063368</guid></item></channel></rss>