<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: Manishearth</title><link>https://news.ycombinator.com/user?id=Manishearth</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 11:07:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Manishearth" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Manishearth in "Temporal: The 9-year journey to fix time in JavaScript"]]></title><description><![CDATA[
<p>.... we're talking about serialization here. "convert to a raw string" is sort of the name of the game.<p>It's a string in a well specified string format. That's typically what you want for serialization.<p>Temporal is typed; but its serialization helpers aren't, because there's no single way to talk about types across serialization. That's functionality a serialization library may choose to provide, but can't really be designed into the language.</p>
]]></description><pubDate>Thu, 12 Mar 2026 00:07:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47344402</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=47344402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47344402</guid></item><item><title><![CDATA[New comment by Manishearth in "Garbage collection for Rust: The finalizer frontier"]]></title><description><![CDATA[
<p>Yeah, and it's <i>even better</i> if you have a GC where you can control when the collection phase happens.<p>E.g. in a game you can force collection to run between frames, potentially even picking which frames it runs on based on how much time you have. I don't know if that's a <i>good</i> strategy, but it's an example of the type of thing you can do.</p>
]]></description><pubDate>Thu, 16 Oct 2025 05:31:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=45601745</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=45601745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45601745</guid></item><item><title><![CDATA[New comment by Manishearth in "Garbage collection for Rust: The finalizer frontier"]]></title><description><![CDATA[
<p>Worth highlighting: library-level GC would not be convenient enough to use pervasively in Rust <i>anyway</i>. library-level GC does not replace Rust's "point".<p>It's useful to have when you have complex graph structures. Or when implementing language runtimes. I've written a bit about these types of use cases in <a href="https://manishearth.github.io/blog/2021/04/05/a-tour-of-safe-tracing-gc-designs-in-rust/#why-write-gcs-for-rust" rel="nofollow">https://manishearth.github.io/blog/2021/04/05/a-tour-of-safe...</a><p>And there's a huge benefit in being able to <i>narrowly</i> use a GC. GCs can be useful in gamedev, but it's a terrible tradeoff to <i>need</i> to use a GC'd language to get them, because then everything is GCd. library-level GC lets you GC the handful of things that need to be GCd, while the bulk of your program uses normal, efficient memory management.</p>
]]></description><pubDate>Wed, 15 Oct 2025 16:27:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45594968</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=45594968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45594968</guid></item><item><title><![CDATA[New comment by Manishearth in "Temporal_rs is here! The datetime library powering Temporal in Boa and V8"]]></title><description><![CDATA[
<p>Diplomat has a wasm backend so it would even be really easy to produce a WASM ffi target with idiomatic JS and TS bindings.<p>Also, Diplomat supports traits and callbacks so you could actually make the timezone impl pluggable. Though we don't currently have JS support for that.<p>But also tz info isn't <i>that</i> big I think...</p>
]]></description><pubDate>Thu, 25 Sep 2025 07:02:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45370008</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=45370008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45370008</guid></item><item><title><![CDATA[New comment by Manishearth in "Memory Safe Languages in Android 13"]]></title><description><![CDATA[
<p>They're also explicitly tracking <i>new</i> code by language, and talking about memory safety vulnerabilities per year, and they also link to [1] which talks about how most memory safety bugs they get are in <i>new</i> code.<p>Most of the graphs here are about new code.<p>[1]: <a href="https://security.googleblog.com/2021/04/rust-in-android-platform.html" rel="nofollow">https://security.googleblog.com/2021/04/rust-in-android-plat...</a></p>
]]></description><pubDate>Thu, 01 Dec 2022 19:13:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=33821149</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=33821149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33821149</guid></item><item><title><![CDATA[New comment by Manishearth in "Memory Safe Languages in Android 13"]]></title><description><![CDATA[
<p>I always say that if the strongest complaint people have about your language is syntax; you've already succeeded.</p>
]]></description><pubDate>Thu, 01 Dec 2022 19:10:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=33821107</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=33821107</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33821107</guid></item><item><title><![CDATA[New comment by Manishearth in "So Zero It's Negative? (Zero-Copy #3)"]]></title><description><![CDATA[
<p>I don't understand your question.<p>GATs allow traits to abstract over associated types that are themselves to some degree abstract. In this case, it's necessary to do the relevant trait machinery around lifetime transformation since we need to be able to talk about "a replaceable lifetime of a type" in a generic way.</p>
]]></description><pubDate>Wed, 17 Aug 2022 23:51:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=32503378</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=32503378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32503378</guid></item><item><title><![CDATA[New comment by Manishearth in "So Zero It's Negative? (Zero-Copy #3)"]]></title><description><![CDATA[
<p>(the person who posted the article here isn't the author (me))<p>The bugs in part 1 all around using higher ranked trait bounds. I'd disagree with the characterization that they're "feature requests": five years ago, yes, I would agree, but this entire area of the compiler needs to be bug-free for an upcoming feature (GATs) anyway, and indeed, the issues I found were often fixed by people working on fixing related GAT bugs. Ultimately, my use of higher ranked trait bounds is an attempt to emulate some of what GATs get you in stable Rust, so it's not surprising that the bugs are in the same area of the code.</p>
]]></description><pubDate>Fri, 12 Aug 2022 00:07:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=32433358</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=32433358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32433358</guid></item><item><title><![CDATA[New comment by Manishearth in "Things I wish someone told me about getting a promotion"]]></title><description><![CDATA[
<p>> Total BS too. Maybe in India.<p>This has been the case at both my current and previous (American tech) jobs.<p>And it's pretty racist to assume that a person is working or has worked in India just because they have an Indian name.</p>
]]></description><pubDate>Thu, 13 May 2021 15:05:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=27142909</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=27142909</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27142909</guid></item><item><title><![CDATA[New comment by Manishearth in "Why AWS loves Rust, and how we’d like to help"]]></title><description><![CDATA[
<p>I think most of these companies have had a pretty large investment, they're just not really open about it in many cases. So yeah, it's a pretty <i>visible</i> signal, but the investments they had already were much larger ones. A team of core developers is a pretty small investment compared to having a ton of teams all over the place, which most of them had already.</p>
]]></description><pubDate>Wed, 25 Nov 2020 09:20:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=25207362</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=25207362</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25207362</guid></item><item><title><![CDATA[New comment by Manishearth in "Servo’s new home"]]></title><description><![CDATA[
<p>The wgpu crate is being developed by Firefox engineers for Firefox. As lastontheboat said we had a student integrate it into Servo this year.</p>
]]></description><pubDate>Tue, 17 Nov 2020 18:42:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=25127773</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=25127773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25127773</guid></item><item><title><![CDATA[New comment by Manishearth in "Servo’s new home"]]></title><description><![CDATA[
<p>The Linux Foundation is basically a catch-all foundation for smaller open source projects, this is not "Linux owns a browser engine".<p>The "Linux" there is more of an indicator of its origins than its purpose.</p>
]]></description><pubDate>Tue, 17 Nov 2020 18:40:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=25127759</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=25127759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25127759</guid></item><item><title><![CDATA[New comment by Manishearth in "Servo’s new home"]]></title><description><![CDATA[
<p>Many of us are looking for (or have found) dayjobs, but it's possible some folks may be open to contracting work on servo/etc. But nobody is being paid to work on servo right now.</p>
]]></description><pubDate>Tue, 17 Nov 2020 18:39:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=25127732</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=25127732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25127732</guid></item><item><title><![CDATA[New comment by Manishearth in "Servo’s new home"]]></title><description><![CDATA[
<p>We spent a significant amount of effort in the last year and a half working on a redesigned modular/parallel layout subsystem.<p>The VR focus was because it was a good way to get servo out to end users early without needing to be fully web compat -- WebXR doesn't require complex layout. We didn't drop our focus on full web compat during this, but full web compat has always been a more long term goal given how complex the web platform is.</p>
]]></description><pubDate>Tue, 17 Nov 2020 18:26:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=25127524</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=25127524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25127524</guid></item><item><title><![CDATA[New comment by Manishearth in "Servo’s new home"]]></title><description><![CDATA[
<p>Servo was never tightly integrated with a sizeable browser project. It shared some components with Firefox, but the only time Servo itself was inside an actual browser release was Firefox Reality for AR. Which still exists, though I'm not sure what the future of development for it will look like.</p>
]]></description><pubDate>Tue, 17 Nov 2020 18:02:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=25127155</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=25127155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25127155</guid></item><item><title><![CDATA[New comment by Manishearth in "Gravity is not a force – free-fall parabolas are straight lines in spacetime"]]></title><description><![CDATA[
<p>So this is the core problem with all of the general relativity materials that model it as a rubber sheet causing curvature in spacetime. They always model it with focus on _spatial_ curvature: which is totally able to model an orbit or a hyperbolic trajectory as a geodesic, but it totally cannot model "throwing a ball up" since the geodesic for throwing a ball up is just a straight line.<p>The important thing is that gravitation is a distortion in space-_time_, which is way trickier to model as a rubber sheet because you end up with one dimension of space and one of time. If you distort _those_ (also, they don't distort quite like a ball-in-a-rubber-sheet), you can get the results of a ball being thrown up. It's also possible to visualize this for 2 spatial dimensions with a distorted 3d space, but tricky.</p>
]]></description><pubDate>Mon, 19 Oct 2020 07:40:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=24824082</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=24824082</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24824082</guid></item><item><title><![CDATA[New comment by Manishearth in "My Favorite Rust Function Signature"]]></title><description><![CDATA[
<p>No, not quite, the signature will be `fn foo<'a>() -> &'a u8` (there is no way to elide this)<p>However, Rust lifetimes are stretchy-squeezy, and a free lifetime is basically the same as 'static when it comes to covariant lifetimes, since both are "I can be whatever you want me to be".<p>However if the lifetime is invariant (e.g. in <a href="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=33cfb6dfde60bb44e36a71b461e66724" rel="nofollow">https://play.rust-lang.org/?version=stable&mode=debug&editio...</a>), it is actually not 'static and will map to whatever lifetime is requested by the context.</p>
]]></description><pubDate>Thu, 17 Sep 2020 17:07:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=24507168</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=24507168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24507168</guid></item><item><title><![CDATA[New comment by Manishearth in "Supporting Linux kernel development in Rust"]]></title><description><![CDATA[
<p>I agree, as someone who works on rustc I think it's a <i>significant</i> endeavor to maintain a substantial fork of either Rust or LLVM.<p>(Rust does maintain a fork of LLVM, but it's just a couple minor patches that typically get upstreamed eventually)</p>
]]></description><pubDate>Tue, 01 Sep 2020 03:30:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=24338268</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=24338268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24338268</guid></item><item><title><![CDATA[New comment by Manishearth in "Laying the foundation for Rust’s future"]]></title><description><![CDATA[
<p>The text was changed due to feedback provided elsewhere in this HN page.<p>The blog post was drafted by the core and foundation team, however we did get sign-off from Mozilla on it.<p>Mozilla currently owns the trademarks that the Rust foundation plans to take ownership of, so they have to be involved to some extent. They have agreed to transfer it as mentioned in the blog post, and are going to work with us to make that happen.<p>The Rust project as an open source project with open governance has been pretty independent of Mozilla for quite a while now. However, Mozilla did provide some crucial services including trademark ownership, which is _extremely_ relevant to the discussion of forming a foundation.<p>Trademark ownership and is rarely impactful to the day-to-day workings of the Rust project, which is why I consider these irrelevant to whether or not Rust is still being "incubated" by Mozilla.</p>
]]></description><pubDate>Tue, 18 Aug 2020 17:02:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=24201167</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=24201167</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24201167</guid></item><item><title><![CDATA[New comment by Manishearth in "Laying the foundation for Rust’s future"]]></title><description><![CDATA[
<p>I want to clarify: The Rust project has been largely "outside" of the Mozilla incubator for quite a while already; with most of the governance being non-Mozilla individuals. The main things Mozilla provided was infrastructure (a lot of which has moved out in the past year), trademark ownership, and paying some people to work on Rust full-time (which many companies do now).<p>Make no mistake, Mozilla has contributed a lot to the Rust project, but the particular stage of maturity you mention was achieved some years ago :)</p>
]]></description><pubDate>Tue, 18 Aug 2020 16:10:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=24200448</link><dc:creator>Manishearth</dc:creator><comments>https://news.ycombinator.com/item?id=24200448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24200448</guid></item></channel></rss>