<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: yccs27</title><link>https://news.ycombinator.com/user?id=yccs27</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 30 May 2026 22:39:53 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=yccs27" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by yccs27 in "What it takes to transpose a matrix"]]></title><description><![CDATA[
<p>It's the same topology! Just replace each shuffle/blend with multiplication by a root of unity and addition, and you get FFT!</p>
]]></description><pubDate>Tue, 26 May 2026 12:20:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48278753</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=48278753</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48278753</guid></item><item><title><![CDATA[New comment by yccs27 in "What it takes to transpose a matrix"]]></title><description><![CDATA[
<p>A good example for this is A + A^T; you can fuse the two operations but you cannot get around the access pattern of matrix transposition.</p>
]]></description><pubDate>Tue, 26 May 2026 11:05:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48278049</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=48278049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48278049</guid></item><item><title><![CDATA[New comment by yccs27 in "Minnesota becomes first state to ban prediction markets"]]></title><description><![CDATA[
<p>Making laws more explicit in important cases is valuable because it reduces uncertainty about legal interpretation. Using your example of cellphone use, under distracted driving laws the prosecution would have to prove that the specific case of cellphone use was distracting enough to be a safety hazard. With the more specific ban on cellphones, that is no longer an obstacle.</p>
]]></description><pubDate>Wed, 20 May 2026 13:18:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48207238</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=48207238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48207238</guid></item><item><title><![CDATA[New comment by yccs27 in "Show HN: Hsrs – Type-Safe Haskell Bindings Generator for Rust"]]></title><description><![CDATA[
<p>Thank you for the detailed answers!<p>I think purity is something the programmer just has to annotate themselves. Any boundary between languages with different type system guarantees will always have this kind of friction - Rust to C/C++ FFI also has to deal with ownership, lifetimes and aliasing manually.<p>Regarding type classes, monomorphisation indeed seems like a difficult obstacle for polymorphic function. But just translating type classes and impls might not be as difficult? So going from:<p><pre><code>    trait Foo {
      fn foo(&self);
    }
    
    impl Foo for Bar {
      fn foo(&self) {...}
    }
</code></pre>
to<p><pre><code>    class Foo a where
      foo :: a -> IO ()
    
    instance Foo Bar where
      foo :: Bar -> IO ()
      foo self = ...</code></pre></p>
]]></description><pubDate>Wed, 20 May 2026 09:17:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48205087</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=48205087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48205087</guid></item><item><title><![CDATA[New comment by yccs27 in "Show HN: Hsrs – Type-Safe Haskell Bindings Generator for Rust"]]></title><description><![CDATA[
<p>It's great that this allows passing Rust structs both as ForeignPtr and as native records with marshalling!<p>Some questions/ideas:<p>- Is there a way to generate #[hsrs::data_type] bindings for Rust library types, or do you need to create custom wrapper types for them?<p>- It seems like all #[hsrs::function]s are translated to return IO (since Rust functions can do arbitrary side effects). It would be great if you could (unsafely) mark functions as pure, to get pure Haskell functions without having to wrap them in unsafePerformIO.<p>- Both Haskell and Rust have HM type systems, so I wonder if you could also translate type classes from Rust to Haskell.</p>
]]></description><pubDate>Tue, 19 May 2026 11:31:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48191967</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=48191967</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48191967</guid></item><item><title><![CDATA[New comment by yccs27 in "Monad Tutorials Timeline"]]></title><description><![CDATA[
<p>Monads got their name from monoids (being a monoid in the category of endofunctors). Monoids are equivalent to one-object categories, so the name uses the greek syllable "mono" for one.</p>
]]></description><pubDate>Thu, 30 Apr 2026 10:06:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47960342</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=47960342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47960342</guid></item><item><title><![CDATA[New comment by yccs27 in "Illegal vs. Unwanted States"]]></title><description><![CDATA[
<p>I've noticed this with UI interfaces before: For example, an IBAN field which actively blocks you from entering more than the expected number of characters. Seems like a good idea - except whoever sent me their account number helpfully included spaces to separate blocks of numbers, so when I copy-paste it the last few digits get cut off. Now I not only have to delete the spaces, but also copy the missing digits again! Just make the field red and block me from submitting until I fix my input!</p>
]]></description><pubDate>Tue, 28 Apr 2026 19:50:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47939669</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=47939669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47939669</guid></item><item><title><![CDATA[New comment by yccs27 in "[dead]"]]></title><description><![CDATA[
<p>Does "Pharma" actually dose medication based on the Eyring equation? I'm not convinced we actually know the value of ΔG. AFAIK, the optimal biological dose is determined via dose-ranging studies during Phase I/II of clinical trials. And drug metabolism rate is measured, not derived from theoretical models.</p>
]]></description><pubDate>Mon, 30 Mar 2026 14:43:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47575016</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=47575016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47575016</guid></item><item><title><![CDATA[New comment by yccs27 in "Waymo Safety Impact"]]></title><description><![CDATA[
<p>Road capacity does not increase with speed above 50 km/h on urban roads or 70 km/h on highways. Following distance scales with speed, so more speed can actually mean fewer cars per unit of time.<p>In theory, braking distance scales quadratically with speed. In practice, people leave less room on highways, because they rely on others driving predictably, but spacing still increases faster than linear.</p>
]]></description><pubDate>Fri, 20 Mar 2026 07:20:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47451516</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=47451516</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47451516</guid></item><item><title><![CDATA[New comment by yccs27 in "Hisense TVs add unskippable startup ads before live TV"]]></title><description><![CDATA[
<p>I'm not so sure this is really a free market equilibrium. There are two effects which explain the prevalence of ads even if consumers are willing to pay more for ad-free products:<p>- Imperfect information, aka Market for Lemons: It can be hard to find out how prevalent ads will be when buying a product. Consumers often make a purchasing decision without knowledge about ads.<p>- Changing terms after lock-in, aka Enshittification: Manufacturers (like Hisense here) can add advertising to products after consumers have already bought them. Initially, consumers have negotiation power since they can freely choose a product, but later they are locked in and cannot easily react to the manufacturer changing the product to their detriment.</p>
]]></description><pubDate>Tue, 10 Mar 2026 14:19:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47323647</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=47323647</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47323647</guid></item><item><title><![CDATA[New comment by yccs27 in "The “JVG algorithm” only wins on tiny numbers"]]></title><description><![CDATA[
<p>The last line of the introduction<p>> By doing so, we aim to provide a novel paradigm [...]<p>also made me think of item 19 on your list:<p>> 10 points for claiming that your work is on the cutting edge of a "paradigm shift".<p>I'm sad though that you didn't call it the "Baez crackpot index"...</p>
]]></description><pubDate>Tue, 10 Mar 2026 10:25:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47321350</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=47321350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47321350</guid></item><item><title><![CDATA[New comment by yccs27 in "Voith Schneider Propeller"]]></title><description><![CDATA[
<p>This reads a lot like an advertisement.
The linked page [[Cyclorotor]] is more neutral and has more information on the design and applications outside of marine vessels:<p><a href="https://en.wikipedia.org/wiki/Cyclorotor" rel="nofollow">https://en.wikipedia.org/wiki/Cyclorotor</a></p>
]]></description><pubDate>Thu, 19 Feb 2026 11:42:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47072781</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=47072781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47072781</guid></item><item><title><![CDATA[New comment by yccs27 in "Wisconsin communities signed secrecy deals for billion-dollar data centers"]]></title><description><![CDATA[
<p>It‘s preying on the city‘s desperation to get a cash payout, to get space and utilities worth much more. Facebook abuses its market power to pit city governments against each other, while the cities don‘t have many alternatives.</p>
]]></description><pubDate>Fri, 30 Jan 2026 19:31:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46828803</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=46828803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46828803</guid></item><item><title><![CDATA[New comment by yccs27 in "Are two heads better than one?"]]></title><description><![CDATA[
<p>The saying probably assumes that each chronometer has a certain small probability of malfunctioning, resulting in a significant error (basically a fat-tailed error distribution). With three chronometers, you can use a robust estimator of the true value (consensus value or median). With two, there's no robust estimator and if you use the mean, you have twice the probability of being significantly wrong (though only by half as much).</p>
]]></description><pubDate>Wed, 14 Jan 2026 14:11:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46616266</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=46616266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46616266</guid></item><item><title><![CDATA[New comment by yccs27 in "Show HN: Cachekit – High performance caching policies library in Rust"]]></title><description><![CDATA[
<p>Thanks for the link, nice to see the informal conventions spelled out like this!</p>
]]></description><pubDate>Wed, 14 Jan 2026 08:50:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46613816</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=46613816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46613816</guid></item><item><title><![CDATA[New comment by yccs27 in "The chess bot on Delta Air Lines will destroy you (2024) [video]"]]></title><description><![CDATA[
<p>True, although better pruning can massively lower the effective branching ratio compared to pure alpha-beta, making the algorithm benefit more from longer search time again (which is why pruning is so important).</p>
]]></description><pubDate>Tue, 13 Jan 2026 11:06:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46599472</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=46599472</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46599472</guid></item><item><title><![CDATA[New comment by yccs27 in "Looking for flagged discussions on HN? See what's active"]]></title><description><![CDATA[
<p>Users with enough karma can "flag" posts and comments, which a) calls for moderator attention and b) decreases ranking. It's meant for off-topic/inflammatory/low-quality submissions.</p>
]]></description><pubDate>Fri, 09 Jan 2026 22:03:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46560025</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=46560025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46560025</guid></item><item><title><![CDATA[New comment by yccs27 in "Some Junk Theorems in Lean"]]></title><description><![CDATA[
<p>It is enforced automatically for most purposes: If you're writing a proof involving e.g. the sqrt function, you want to use theorems about it, e.g. that (sqrt(x))^2 = x. Almost all of those theorems have x>=0 as a precondition, so you do need to prove it when it matters.</p>
]]></description><pubDate>Sat, 27 Dec 2025 15:31:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46402543</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=46402543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46402543</guid></item><item><title><![CDATA[New comment by yccs27 in "Inverse Parentheses"]]></title><description><![CDATA[
<p>Thanks, writing it as 1+2(*)3 made it click for me.<p>Reminds me of the '$' operator in Haskell - it lowers the precedence of function application, basically being an opening parenthesis that's implicitly closed at the end of the line.</p>
]]></description><pubDate>Mon, 22 Dec 2025 09:49:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46352686</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=46352686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46352686</guid></item><item><title><![CDATA[New comment by yccs27 in "Thoughts on Go vs. Rust vs. Zig"]]></title><description><![CDATA[
<p>No. There is a global allocator which is used by default, but all the stdlib functions that allocate memory have a version which allows you to pass in a custom allocator. These functions are still "unstable" though, so they can currently only be used with development builds of the compiler.</p>
]]></description><pubDate>Fri, 05 Dec 2025 12:10:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46160221</link><dc:creator>yccs27</dc:creator><comments>https://news.ycombinator.com/item?id=46160221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46160221</guid></item></channel></rss>