<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: rq1</title><link>https://news.ycombinator.com/user?id=rq1</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 14:34:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rq1" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Efficient biosorption of nanoplastics by food-derived lactic acid bacterium]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.sciencedirect.com/science/article/abs/pii/S0960852426003159">https://www.sciencedirect.com/science/article/abs/pii/S0960852426003159</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47645039">https://news.ycombinator.com/item?id=47645039</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 05 Apr 2026 00:42:55 +0000</pubDate><link>https://www.sciencedirect.com/science/article/abs/pii/S0960852426003159</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=47645039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47645039</guid></item><item><title><![CDATA[New comment by rq1 in "Ladybird adopts Rust, with help from AI"]]></title><description><![CDATA[
<p>I assumed new projects but I just realised that I didn’t write it.<p>But still disagree: we have cbindgen.</p>
]]></description><pubDate>Tue, 24 Feb 2026 17:03:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47139516</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=47139516</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47139516</guid></item><item><title><![CDATA[New comment by rq1 in "Ladybird adopts Rust, with help from AI"]]></title><description><![CDATA[
<p>> I would say modern c++ written by someone already familiar with rust will probably be structured in a way that's extremely easy to port because you end up modeling the borrow checker in your brain.<p>I can't stress out how much important this sentence is. I would even remove the "familiar with rust" part.<p>Anyone who still thinks it's good to use C/CPP on modern hardware where Rust support is available and good: please print the sentence above and post it all over your place.</p>
]]></description><pubDate>Tue, 24 Feb 2026 10:20:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47135260</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=47135260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47135260</guid></item><item><title><![CDATA[New comment by rq1 in "Parse, Don't Validate and Type-Driven Design in Rust"]]></title><description><![CDATA[
<p>Imagine you read a value from stdin and parse it as:<p>Maybe Int<p>So your program splits into two branches:<p>1. Nothing branch: you failed to obtain an Int.<p>There is no integer to use as an index, so you can’t even attempt a safe lookup into something like Vect n a.<p>2. Just i branch: you do have an Int called i.<p>But an Int is not automatically a valid index for Vect n a, because vectors are indexed by Fin n (a proof carrying “bounded natural”).<p>So inside the Just i branch, you refine further:<p>3. Try to turn the runtime integer i into a value of type Fin n.<p>There are two typical shapes of this step:<p>* Checked conversion returning Maybe (Fin n)<p>If the integer is in range, you get Just (fin : Fin n). Otherwise Nothing.<p>Checked conversion returning evidence (proof) that it’s in range<p>For example: produce k : Nat plus a proof like k < n (or LTE (S k) n), and then you can construct Fin n from that evidence.<p>(But it’s the same basically, you end up with a “Maybe LTE…”<p>Now if you also have a vector:
xs : Vect n a<p>… the n in Fin n and the n in Vect n a are the same n (that’s what “unifies” means here: the types line up), so you can do:
index fin xs : a<p>And crucially:<p>there is no branch in which you can call index without having constructed the Fin n first,
so out-of-bounds access is unrepresentable (it’s not “checked later”, it’s “cannot be expressed”).<p>And within _that_ branch of the program, you have a proof of Fin n.<p>Said differently: you don’t get “compile-time knowledge of i”; you get a compile-time <i>guarantee</i> that whatever value you ended up with satisfies a predicate.<p>Concretely: you run a runtime check i < n. _ONCE_<p>If it fails, you’re in a branch where you do not have Fin n.<p>If it succeeds, you construct fin : Fin n at runtime (it’s a value, you can’t get around that), but its type encodes the invariant “in bounds”/check was done somewhere in this branch.</p>
]]></description><pubDate>Sun, 22 Feb 2026 00:10:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47106540</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=47106540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47106540</guid></item><item><title><![CDATA[New comment by rq1 in "Pro-democracy HK tycoon Jimmy Lai convicted in national security trial"]]></title><description><![CDATA[
<p>Well I never advocated the latter, so please. And my logic is very sound, better than yours. :)<p>I was replying to "the US does not get to decide who can have a nuclear <i>weapon</i> and who does not". As much as I agree with that... my previous comment.<p>We're not talking about a nuclear program.</p>
]]></description><pubDate>Mon, 15 Dec 2025 21:46:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46281174</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=46281174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46281174</guid></item><item><title><![CDATA[New comment by rq1 in "Pro-democracy HK tycoon Jimmy Lai convicted in national security trial"]]></title><description><![CDATA[
<p>As much as I agree with you. Iran is signatory of the NPT with all its consequences.<p>Instead of letting more countries develop these weapons, we should work on denuclearizing all countries, starting with the US and Russia and their insane arsenals! And maybe build a unified international legal framework for civilian nuclear developments and applications from energy to medical outside of the "security council's" ferule!<p>A nuclear war <i>cannot</i> be won, thus never fought!</p>
]]></description><pubDate>Mon, 15 Dec 2025 18:19:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46278235</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=46278235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46278235</guid></item><item><title><![CDATA[New comment by rq1 in "Vsora Jotunn-8 5nm European inference chip"]]></title><description><![CDATA[
<p>The next generation will include another processor to offload the inference from the RISC V processors used to offload inference from the host machine.</p>
]]></description><pubDate>Fri, 28 Nov 2025 00:43:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46074519</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=46074519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46074519</guid></item><item><title><![CDATA[New comment by rq1 in "C3 solved memory lifetimes with scopes"]]></title><description><![CDATA[
<p>What core type theory is C3 actually built on?<p>The blog claims that @pool "solves memory lifetimes with scopes" yet it looks like a classic region/arena allocator that frees everything at the end of a lexical block… a technique that’s been around for decades.<p>Where do affine or linear guarantees come in?<p>From the examples I don’t see any restrictions on aliasing or on moving data between pools, so how are use‑after‑free bugs prevented once a pointer escapes its region?<p>And the line about having "solved memory management" for total functions::: bravo indeed…<p>Could you show a non‑trivial case where @pool eliminates a leak that an ordinary arena allocator wouldn’t?<p>Could you show a non‑trivial case, say, a multithreaded game loop where entities span multiple frames, or a high‑throughput server that streams chunked responses, where @pool prevents leaks that a plain arena allocator would not?</p>
]]></description><pubDate>Sun, 13 Jul 2025 17:30:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=44551988</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=44551988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44551988</guid></item><item><title><![CDATA[New comment by rq1 in "Matt Godbolt sold me on Rust by showing me C++"]]></title><description><![CDATA[
<p>Ah I see, it’s a solution too!</p>
]]></description><pubDate>Wed, 07 May 2025 09:56:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43913834</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=43913834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43913834</guid></item><item><title><![CDATA[New comment by rq1 in "Matt Godbolt sold me on Rust by showing me C++"]]></title><description><![CDATA[
<p>I don’t really understand your point there.<p>Sound type systems are equivalent to proof systems.<p>You can use them to design data structures where their mere eventual existence guarantee the coherence and validity of your program’s state.<p>The basic example is “Fin n” that carries at compile time the proof that you made the necessary bounds checks at runtime or by construction that you never exceeded some bound.<p>Some languages allow you to build entire type level state machines! (eg. to represent these transactions and transitions)</p>
]]></description><pubDate>Tue, 06 May 2025 20:50:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=43909500</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=43909500</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43909500</guid></item><item><title><![CDATA[New comment by rq1 in "Matt Godbolt sold me on Rust by showing me C++"]]></title><description><![CDATA[
<p>Just create dummy wrappers to make a type level distinction.
A Height and a a Width can be two separate types even if they’re only floats basically.<p>Or another (dummy) example transfer(accountA, accountB). Make two types that wrap the same type but one being a TargetAccount and the other SourceAccount.<p>Use the type system to help you, don’t fight it.</p>
]]></description><pubDate>Tue, 06 May 2025 18:58:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43908499</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=43908499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43908499</guid></item><item><title><![CDATA[New comment by rq1 in "Whistleblower: DOGE Siphoned NLRB Case Data"]]></title><description><![CDATA[
<p>Another masterclass from the DODGY department.</p>
]]></description><pubDate>Tue, 22 Apr 2025 12:36:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=43761397</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=43761397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43761397</guid></item><item><title><![CDATA[New comment by rq1 in "What went wrong with the Alan Turing Institute?"]]></title><description><![CDATA[
<p>The purpose of these institutions is to fund research, which is not necessarily profitable.<p>I'm pretty sure Rosenblatt was criticized back then for his non-tangible stupid ideas, and why the hell was his research was funded to begin with.</p>
]]></description><pubDate>Thu, 27 Mar 2025 15:01:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=43494375</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=43494375</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43494375</guid></item><item><title><![CDATA[New comment by rq1 in "Record-breaking neutrino is most energetic ever detected"]]></title><description><![CDATA[
<p>Particle on steroids.</p>
]]></description><pubDate>Wed, 12 Feb 2025 19:12:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43028652</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=43028652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43028652</guid></item><item><title><![CDATA[New comment by rq1 in "Weierstrass's Monster"]]></title><description><![CDATA[
<p>No mention of the Cantor set (and its variants) indicator functions?</p>
]]></description><pubDate>Fri, 24 Jan 2025 08:31:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=42811482</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=42811482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42811482</guid></item><item><title><![CDATA[New comment by rq1 in "Looking at some claims that quantum computers won't work"]]></title><description><![CDATA[
<p>The author is DJB.</p>
]]></description><pubDate>Sat, 18 Jan 2025 22:52:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=42752076</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=42752076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42752076</guid></item><item><title><![CDATA[New comment by rq1 in "Show HN: I completed shipping my desktop app"]]></title><description><![CDATA[
<p>I’ll try to not be dismissive of the labour, though it’s kind of funny (or actually natural) that the heavy lifting libraries that only a few can actually write are open and free, while the shallow wrappers that everyone can write are paid and closed.<p>Decades ago we were calling out these software and now it’s the norm.<p>Another example along the line: I wanted to extract a frame from a video on iOS, it’s impossible with the built-in tools (screenshot aside) and found that someone built a paid app only for that.<p>I tell you where we’re heading, we’re screwed.</p>
]]></description><pubDate>Sat, 04 Jan 2025 11:42:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=42594136</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=42594136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42594136</guid></item><item><title><![CDATA[New comment by rq1 in "Everything I built with Claude Artifacts this week"]]></title><description><![CDATA[
<p>I did just that actually to:<p>* build a codegen for Idris2 and a rust RT (a parallel stack "typed" VM)<p>* a full application in Elm, while asking it to borrow from DT to have it "correct-by-construction", use zippers for some data structures… etc. And it worked!<p>* Whilst at it, I built Elm but in Idris2, while improving on the rendering part (this is WIP)<p>* data collators and iterators to handle some ML trainings with pausing features so that I can just Ctrl-C and continue if needed/possible/makes sense.<p>* etc.<p>At the end I had to rewrite completely some parts, but I would say 90% of the boring work was correctly done and I only had to focus on the interesting bits.<p>However it didn’t deliver the kind of thorough prep work a painter would do before painting a house when asked for. It simply did exactly what I asked, meaning, it did the paint and no more.<p>(Using 4o and o1-preview)</p>
]]></description><pubDate>Thu, 24 Oct 2024 07:13:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=41932835</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=41932835</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41932835</guid></item><item><title><![CDATA[New comment by rq1 in "First images from Euclid are in"]]></title><description><![CDATA[
<p>What's the data link between the telescope and the ground ?</p>
]]></description><pubDate>Tue, 22 Oct 2024 21:59:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=41919156</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=41919156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41919156</guid></item><item><title><![CDATA[New comment by rq1 in "Math is still catching up to the genius of Ramanujan"]]></title><description><![CDATA[
<p>What a kind heart!</p>
]]></description><pubDate>Tue, 22 Oct 2024 11:14:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=41913152</link><dc:creator>rq1</dc:creator><comments>https://news.ycombinator.com/item?id=41913152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41913152</guid></item></channel></rss>