<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: Weebs</title><link>https://news.ycombinator.com/user?id=Weebs</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 10 Apr 2026 06:41:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Weebs" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Weebs in "Show HN: Tired of logic in useEffect, I built a class-based React state manager"]]></title><description><![CDATA[
<p>They're modeling reactivity, not classes. It's a well established pattern in functional programming<p>The one time setup mixed with repeated render calls is odd, but it's a design decision they made. It reduces boiler plate, though I don't necessarily agree with it because it is a leaky abstraction</p>
]]></description><pubDate>Thu, 09 Apr 2026 00:57:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47698100</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=47698100</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47698100</guid></item><item><title><![CDATA[New comment by Weebs in "Hypothesis, Antithesis, synthesis"]]></title><description><![CDATA[
<p>"I thought this would be about Hegel... oh, wait"</p>
]]></description><pubDate>Wed, 25 Mar 2026 03:05:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47512734</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=47512734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47512734</guid></item><item><title><![CDATA[New comment by Weebs in "The Swift compiler is slow due to how types are inferred"]]></title><description><![CDATA[
<p>This is a direction I've been pushing in partly because I'm using a significantly slower type inference algorithm in my language. I'm hoping with that and focusing on separate compilation I'll be able to keep the fancy inference without sacrificing the UX too much</p>
]]></description><pubDate>Thu, 13 Jun 2024 15:09:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=40670646</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=40670646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40670646</guid></item><item><title><![CDATA[New comment by Weebs in "The Swift compiler is slow due to how types are inferred"]]></title><description><![CDATA[
<p>Afaik that is true of traditional HM, but fortunately there was a big advancement in inferring subtypes w/ Dolan's Algebraic Subtyping a few years ago! It's not nearly as fast as HM (O(n^3) worst case) but generally fast enough in real code</p>
]]></description><pubDate>Thu, 13 Jun 2024 15:04:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=40670601</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=40670601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40670601</guid></item><item><title><![CDATA[New comment by Weebs in "Android isn't cool with teenagers, and that's a big problem"]]></title><description><![CDATA[
<p>I've been left out of the loop by people before because of it. It's not a big deal but it's annoying to have it come up all the time</p>
]]></description><pubDate>Wed, 15 Nov 2023 20:51:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=38282306</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=38282306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38282306</guid></item><item><title><![CDATA[New comment by Weebs in "Effective Rust (2021)"]]></title><description><![CDATA[
<p>There's definitely tradeoffs to some things, and I think in particular Rust's static guarantees can cause additional friction, but in general I've found ML derived languages to be extremely practical because it's a good local maximum on the graph in terms of complexity vs runtime safety (where languages like Java add too much friction without enough benefit compared to something like Python)<p>I've found in software development the 80/20 rule is extremely true, but when you need something from that last 20%, it can <i>really</i> mess up your architecture trying to work around it. To me this is why others love LISP so much, and I appreciate F#/OCaml for getting me as close to that potential as possible while keeping static analysis reasonable. Clever use of type systems is great for RAD and making sure critical components make certain classes of bugs a compile time error, and it can turn into undecipherable magic, but the additional information and guarantees advanced type systems provide allow me to focus on my immediate problem instead of the interplay with a larger system.</p>
]]></description><pubDate>Thu, 15 Jun 2023 15:49:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=36342220</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=36342220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36342220</guid></item><item><title><![CDATA[New comment by Weebs in "Melange 1.0: Compile OCaml / ReasonML to JavaScript"]]></title><description><![CDATA[
<p>Good to hear they're providing a good dev experience. My only gripe at the time was more of a worry on whether the split was going to be worthwhile because the ML ecosystem is already so small, but I'm glad to hear the project has been effective for you.</p>
]]></description><pubDate>Thu, 15 Jun 2023 15:39:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=36342073</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=36342073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36342073</guid></item><item><title><![CDATA[New comment by Weebs in "Melange 1.0: Compile OCaml / ReasonML to JavaScript"]]></title><description><![CDATA[
<p>I have nothing to say other than thank you! I might not use OCaml often myself, but I appreciate the effort to improve the ML ecosystem in any way :) I was a bit disappointed with the ReScript fork abandoning the compatibility with OCaml so this project was welcome news</p>
]]></description><pubDate>Mon, 12 Jun 2023 17:39:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=36297667</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=36297667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36297667</guid></item><item><title><![CDATA[New comment by Weebs in "Plan 9 from User Space"]]></title><description><![CDATA[
<p>> And we should all try to do something weird.<p>YES<p>It's a big world out there and there's so many cool techniques we know are helpful but aren't widespread and really should be, and so much more to be discovered still!</p>
]]></description><pubDate>Fri, 28 Apr 2023 20:37:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=35746808</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=35746808</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35746808</guid></item><item><title><![CDATA[New comment by Weebs in "Type system of Fortnite's Verse language"]]></title><description><![CDATA[
<p>You got me thinking and I think part of what it comes down to for typed FP languages is that you can either generally<p>1) Go for a simple design, but having poor interop with existing ecosystems because the language lacks equivalent features. I see Elm in this camp, and it's hard to live in because the FP community has fewer people than other communities to build up another ecosystem<p>2) Go for a more fully featured design, integrating with some ecosystem (like F#, Scala), but you end up with multiple overlapping concepts and inconsistency in the native language's ecosystem<p>It seems like dynamic FP languages are the only ones to get away with a simple core and wide ecosystem by avoiding the need for features that are important for writing modular code in typed MLs. OCaml is probably closest to the sweet spot as a language+ecosystem, but the language tools are a bit weak coming from other platforms</p>
]]></description><pubDate>Thu, 30 Mar 2023 18:59:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=35377412</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=35377412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35377412</guid></item><item><title><![CDATA[New comment by Weebs in "Type system of Fortnite's Verse language"]]></title><description><![CDATA[
<p>Yeah I'm not saying immutability solves the problem, I am saying that having good support for immutability is helpful for building those synchronization and rollback systems. If I thought immutability was all you needed I wouldn't be bringing up the effects system & pointing out how current languages still fall short in my own experience.</p>
]]></description><pubDate>Thu, 30 Mar 2023 18:46:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=35377244</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=35377244</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35377244</guid></item><item><title><![CDATA[New comment by Weebs in "APL: An Array Oriented Programming Language (2018)"]]></title><description><![CDATA[
<p>I'm not the person you replied to, but symbols are easier to distinguish visually, tho they need careful balance. Too many are worse than too few</p>
]]></description><pubDate>Thu, 30 Mar 2023 14:57:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=35373617</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=35373617</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35373617</guid></item><item><title><![CDATA[New comment by Weebs in "Type system of Fortnite's Verse language"]]></title><description><![CDATA[
<p>For those wondering why they've created yet another language, keep this in mind: Fortnite content is running code on possibly 100 remote clients simultaneously, and code often has state that needs to be synchronized across clients, which can often require rolling back the system to a specific previous state (which is a context FP languages tend to shine, because of the first class support for working with immutable data giving you easy snapshots of a system and resetting state)<p>It's a difficult problem to put it lightly, so as someone that dislikes new languages for only one tool, I consider this one of the cases where the benefits can outweigh the negatives<p>Interestingly this language has a concept of effect types that as far as I know has been only present in mostly research projects & a few general purpose languages like PureScript. Leaning on that to eliminate certain classes of bug from taking up your mental resources seems promising. Even in an ML I found myself wanting stricter guarantees about execution available while writing a PvP shooter for only a <i>few</i> clients, imagine 100! You can create DSLs to help with these things, but at that point I think it's asking to much for a beginner to learn both a new language and well enough to understand how DSLs can let you describe things with different semantics than you've already learned<p>I noticed they seem to have no mention of tagged enums/algebraic data types, which is unusual for a typed functional language, but there is an Optional type at least. I wonder if it has to do with the differences of their conditionals, which sound like they have far reaching implications, but I'm still not totally clear on how conditionals work in Verse</p>
]]></description><pubDate>Thu, 30 Mar 2023 14:39:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=35373354</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=35373354</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35373354</guid></item><item><title><![CDATA[New comment by Weebs in "Are We Wayland Yet?"]]></title><description><![CDATA[
<p>Push to talk is another important one (for me)</p>
]]></description><pubDate>Fri, 08 Jul 2022 00:00:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=32021298</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=32021298</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32021298</guid></item><item><title><![CDATA[New comment by Weebs in "Spending more on retaining developers reduces the cost of hiring developers"]]></title><description><![CDATA[
<p>This has been hitting me hard lately in my late 20s. I'm realizing all of the cool "new" concepts I'm learning have been around since the 60s<p>It's made me rethink the supposed "skill reset" that happens in software which leads to software developers leaving for other roles more often than other engineering disciplines.</p>
]]></description><pubDate>Mon, 14 Mar 2022 19:01:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=30676658</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=30676658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30676658</guid></item><item><title><![CDATA[New comment by Weebs in "f.lux"]]></title><description><![CDATA[
<p>I know this is anecdotal but tools like f.lux made a huge different for me. I grew up with difficulties falling asleep and blue light filters like f.lux made an immediate impact on my ability to fall asleep on time. I was no longer in my teens at the time so that may be a factor</p>
]]></description><pubDate>Thu, 10 Mar 2022 15:35:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=30628051</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=30628051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30628051</guid></item><item><title><![CDATA[New comment by Weebs in "The day Steve Jobs dissed me in a keynote (2010)"]]></title><description><![CDATA[
<p>also, better latency</p>
]]></description><pubDate>Wed, 09 Mar 2022 19:56:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=30619220</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=30619220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30619220</guid></item><item><title><![CDATA[New comment by Weebs in "20 Years of .NET"]]></title><description><![CDATA[
<p>What these all have in common though, is encouraging shared mutable references, they don't do a lot to make effects in a system explicit, don't encourage a clear organization of code, and many fundamental concepts (functions as values) were missing early on or still are (discriminated unions)<p>I agree that pretty much any 15 year old code base is going to get rough, but I think these languages have some clear footguns that aren't doing them favors either. I work on a codebase that isn't more than a few years old, and there's complexity issues from simple things like the language lacking good semantics for transforming data immutably, and that complexity spirals<p>I can attest that writing messy processes in languages that do address these concerns is absolutely possible, I've done so myself, but the mess is contained to a particular area and it's not as hard to follow which pieces of a system feed into another. Things as simple as making immutability the default and mutation explicit like Rust, and requiring modules be organized into a hierarchy like F# are huge wins. As much as I've gotten annoyed with F#'s project files hierarchy requirement because it requires some extra work/considerations for codependent types and codegen, it's amazing how much easier it is to jump into a new codebase where you can clearly see to understand behavior you start with the bottom of the file list, and to understand core logic/patterns you go to the top of the file list</p>
]]></description><pubDate>Mon, 14 Feb 2022 18:01:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=30335446</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=30335446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30335446</guid></item><item><title><![CDATA[New comment by Weebs in "20 Years of .NET"]]></title><description><![CDATA[
<p>I've always been frustrated that active record ORMs have completely overtaken tools like Linq2Sql.<p>I don't deny the value of the active record pattern where it works, but in almost every case I've used SQL over the past 5 years, I don't want a complex abstraction layer. I just want something to make it easy and safe to talk to the database for the 90% of straight forward queries we write.<p>With something like that, I feel as though I'd rather write my own active record system than use the configuration based systems we see with EF</p>
]]></description><pubDate>Mon, 14 Feb 2022 17:43:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=30335132</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=30335132</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30335132</guid></item><item><title><![CDATA[New comment by Weebs in "Those writing extensively on note-writing rarely have a serious context of use"]]></title><description><![CDATA[
<p>I think the key thing to me here is that these notes are designed to be clicked through without losing track of where you were, and keep the context of why you're reading this current note. The stack concept they have here is really great<p>I'm prone to winding up with too many open tabs when I use lots of atomic notes with links, and now I'm having to juggle a set of tabs while looking through this information.</p>
]]></description><pubDate>Mon, 14 Feb 2022 03:51:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=30328182</link><dc:creator>Weebs</dc:creator><comments>https://news.ycombinator.com/item?id=30328182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30328182</guid></item></channel></rss>