<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: ohr</title><link>https://news.ycombinator.com/user?id=ohr</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 23 Sep 2026 22:23:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ohr" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Let Them Write RFCs]]></title><description><![CDATA[
<p>Article URL: <a href="https://ohadravid.github.io/posts/2026-08-let-them-write-rfcs/">https://ohadravid.github.io/posts/2026-08-let-them-write-rfcs/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49259181">https://news.ycombinator.com/item?id=49259181</a></p>
<p>Points: 5</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 11 Aug 2026 14:40:21 +0000</pubDate><link>https://ohadravid.github.io/posts/2026-08-let-them-write-rfcs/</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=49259181</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49259181</guid></item><item><title><![CDATA[The Exhaustion of Talking to a Tool]]></title><description><![CDATA[
<p>Article URL: <a href="https://ohadravid.github.io/posts/2026-06-tool-talking/">https://ohadravid.github.io/posts/2026-06-tool-talking/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48677005">https://news.ycombinator.com/item?id=48677005</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 25 Jun 2026 17:55:46 +0000</pubDate><link>https://ohadravid.github.io/posts/2026-06-tool-talking/</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=48677005</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48677005</guid></item><item><title><![CDATA[The Best (Query) Plans of Mice and Men]]></title><description><![CDATA[
<p>Article URL: <a href="https://ohadravid.github.io/posts/2026-04-query-plans/">https://ohadravid.github.io/posts/2026-04-query-plans/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47936051">https://news.ycombinator.com/item?id=47936051</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 28 Apr 2026 15:40:47 +0000</pubDate><link>https://ohadravid.github.io/posts/2026-04-query-plans/</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=47936051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47936051</guid></item><item><title><![CDATA[New comment by ohr in "Why is calling my asm function from Rust slower than calling it from C?"]]></title><description><![CDATA[
<p>(Author here) yes! I also wrote about this (specifically in Python->Rust FFI) in another article:<p><a href="https://ohadravid.github.io/posts/2023-03-rusty-python/#v2---rewrite-even-more-in-rust" rel="nofollow">https://ohadravid.github.io/posts/2023-03-rusty-python/#v2--...</a></p>
]]></description><pubDate>Tue, 30 Dec 2025 09:58:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46431459</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=46431459</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46431459</guid></item><item><title><![CDATA[New comment by ohr in "Why is calling my asm function from Rust slower than calling it from C?"]]></title><description><![CDATA[
<p>(Author here) thanks! Even as an experienced Rust developer, this is a lot of syntax which is part of what makes it archaic I think.<p>As usual with Rust most of it is due to inherent complexity: for example, when you deal with raw pointers, you need to specify if they are const or mut, and you must have a syntax that’s not &, and not too wordy: so * is a good choice (might be changed to &raw in the future!). And if you want to say that something is generic and the generic parameter is a pointer… you just end up with a lot of syntax.</p>
]]></description><pubDate>Tue, 30 Dec 2025 07:54:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46430673</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=46430673</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46430673</guid></item><item><title><![CDATA[New comment by ohr in "GPT-5 goes hard on real-world programming"]]></title><description><![CDATA[
<p>But if you let it run the tests, it’ll just do that on its own (or delete the tests, but usually it won’t), which is very useful and seems to match the article’s sentiment.</p>
]]></description><pubDate>Mon, 18 Aug 2025 18:58:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=44944047</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=44944047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44944047</guid></item><item><title><![CDATA[New comment by ohr in "Improving performance of rav1d video decoder"]]></title><description><![CDATA[
<p>Used the Save Page WE Chrome extension to capture the html (after cleaning up with inspect element + delete), and added a bit of custom JavaScript to scroll everything to the right place. Needed the extension for the styling to be captured correctly.</p>
]]></description><pubDate>Sat, 24 May 2025 18:57:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=44083081</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=44083081</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44083081</guid></item><item><title><![CDATA[New comment by ohr in "Improving performance of rav1d video decoder"]]></title><description><![CDATA[
<p>(Author here) I'm a huge fan of the "How to speed up the Rust compiler" series! I was hoping to capture the same feeling :)</p>
]]></description><pubDate>Thu, 22 May 2025 14:11:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44062243</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=44062243</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44062243</guid></item><item><title><![CDATA[New comment by ohr in "Improving performance of rav1d video decoder"]]></title><description><![CDATA[
<p>I think that since the 1.5% one is only for aarch64 it's a bit unfair to claim the full number, more like 1/2 if you consider arm/x86 to be the majority of the (future) deployments</p>
]]></description><pubDate>Thu, 22 May 2025 12:55:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44061586</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=44061586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44061586</guid></item><item><title><![CDATA[New comment by ohr in "Improving performance of rav1d video decoder"]]></title><description><![CDATA[
<p>Thanks! Would be interesting to see if Rust/LLVM folks can get the compiler to apply this optimization whenever possible, as Rust can be much more accurate w.r.t memory initialization.</p>
]]></description><pubDate>Thu, 22 May 2025 12:22:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44061353</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=44061353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44061353</guid></item><item><title><![CDATA[New comment by ohr in "A Rust API Inspired by Python, Powered by Serde"]]></title><description><![CDATA[
<p>(Author here) Thanks! That's useful feedback.<p>I also agree - the final article isn't skim-friendly enough, which drives away some readers.</p>
]]></description><pubDate>Thu, 15 May 2025 17:12:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=43997114</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=43997114</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43997114</guid></item><item><title><![CDATA[New comment by ohr in "A Rust API Inspired by Python, Powered by Serde"]]></title><description><![CDATA[
<p>In WMI, the fields are lazy loaded when you do a `*` query, but the real crate [does use the same Serde reflection tricks](<a href="https://github.com/ohadravid/wmi-rs/blob/main/src/query.rs#L100">https://github.com/ohadravid/wmi-rs/blob/main/src/query.rs#L...</a>) to create the correct field list when you query a struct which improves perf a lot!</p>
]]></description><pubDate>Thu, 15 May 2025 15:40:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43996183</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=43996183</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43996183</guid></item><item><title><![CDATA[New comment by ohr in "A Rust API Inspired by Python, Powered by Serde"]]></title><description><![CDATA[
<p>> don't you have to get your version's struct data member type correct<p>No, since Serde will happyly fill a `u64` field with any other `u{8,16,32}` value, and even with signed types (as long as the actual value is non-negative) - this is sort of what happens when you deserialize a JSON `[1, 2, 3]` into `[u64]`.</p>
]]></description><pubDate>Thu, 15 May 2025 15:37:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=43996159</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=43996159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43996159</guid></item><item><title><![CDATA[New comment by ohr in "A Rust API Inspired by Python, Powered by Serde"]]></title><description><![CDATA[
<p>That's understandable, but I think it depends on how many different structs like this you have and how many fields you need to work with (for our usecase, we had tens of structs with tens of fields each).<p>There's also an Alternatives section in the article about other approaches that can achieve similar results, but of course 'do nothing' is also a valid option.<p>Edit:
> If actually concerned about the need to know UI8 ..<p>Just a small note: even if you don't care about the fact that it's a UI8, you still have to use the correct type. For example, if the field happens to be returned as UI4, this code won't work!</p>
]]></description><pubDate>Thu, 15 May 2025 15:23:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=43995992</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=43995992</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43995992</guid></item><item><title><![CDATA[New comment by ohr in "A Rust API Inspired by Python, Powered by Serde"]]></title><description><![CDATA[
<p>(Author here) I needed to do a bit of "reflection" in a Rust crate but didn't want to implement a procedural macro, so I used Serde (which is a (de)serialization crate) instead.<p>This is also a deep dive into Serde internals - hope you'll like it!</p>
]]></description><pubDate>Thu, 15 May 2025 15:03:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=43995796</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=43995796</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43995796</guid></item><item><title><![CDATA[New comment by ohr in "Frankenstein's `__init__`"]]></title><description><![CDATA[
<p>Thanks, I hate it!
Jk, but would you consider this a good solution overall?</p>
]]></description><pubDate>Sat, 19 Apr 2025 13:47:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=43736368</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=43736368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43736368</guid></item><item><title><![CDATA[State of the Crates 2025]]></title><description><![CDATA[
<p>Article URL: <a href="https://ohadravid.github.io/posts/2024-12-state-of-the-crates/">https://ohadravid.github.io/posts/2024-12-state-of-the-crates/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42379172">https://news.ycombinator.com/item?id=42379172</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 10 Dec 2024 17:45:58 +0000</pubDate><link>https://ohadravid.github.io/posts/2024-12-state-of-the-crates/</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=42379172</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42379172</guid></item><item><title><![CDATA[New comment by ohr in "My most downvoted StackOverflow answer"]]></title><description><![CDATA[
<p>well yes! also calling an answer which mentions c++ <i>as well</i> “off-topic”, it’s not like I wrote a haiku about marmalade.<p>And why insist on deleting if people found it useful? It’s literally at the bottom of the page, so it’s not a public menace or anything.</p>
]]></description><pubDate>Fri, 06 Sep 2024 18:27:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41468561</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=41468561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41468561</guid></item><item><title><![CDATA[New comment by ohr in "My most downvoted StackOverflow answer"]]></title><description><![CDATA[
<p>The magic for HN! Added this link to the post as well, thanks!</p>
]]></description><pubDate>Fri, 06 Sep 2024 04:43:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=41462943</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=41462943</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41462943</guid></item><item><title><![CDATA[New comment by ohr in "My most downvoted StackOverflow answer"]]></title><description><![CDATA[
<p>(author here): on the contrary, my point is that I was wrong(ish), and I often think about that before I get angry at other people on the internet.<p>The other point is that there's (usually) no need to choose between good moderation and civility, and at least IMO "blatantly off-topic and should be deleted" really fails at being civil.</p>
]]></description><pubDate>Fri, 06 Sep 2024 04:43:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=41462940</link><dc:creator>ohr</dc:creator><comments>https://news.ycombinator.com/item?id=41462940</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41462940</guid></item></channel></rss>