<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: hurril</title><link>https://news.ycombinator.com/user?id=hurril</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 05 Jun 2026 23:33:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=hurril" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by hurril in "I'm skeptical about efforts to revolutionize schooling"]]></title><description><![CDATA[
<p>I was one of these "smart students" but it really wasn't that I did not want to be there. I was a lazy, or complacent, f*ck. I've have had to learn how to learn and how to have discipline late(r) in life.</p>
]]></description><pubDate>Fri, 05 Jun 2026 10:05:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48410348</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=48410348</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48410348</guid></item><item><title><![CDATA[New comment by hurril in "MacBook Neo is so popular that Apple doubled production"]]></title><description><![CDATA[
<p>Anything in particular that your Linux experience adds over what is available on macOS?</p>
]]></description><pubDate>Thu, 04 Jun 2026 17:54:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48402155</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=48402155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48402155</guid></item><item><title><![CDATA[New comment by hurril in "Remove-AI-Watermarks – CLI and library for removing AI watermarks from images"]]></title><description><![CDATA[
<p>Would the DRM exist without piracy?</p>
]]></description><pubDate>Wed, 20 May 2026 13:16:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48207198</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=48207198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48207198</guid></item><item><title><![CDATA[New comment by hurril in "Remove-AI-Watermarks – CLI and library for removing AI watermarks from images"]]></title><description><![CDATA[
<p>This is again conflating at least two things and this is so prevalent in this context. Let us not conflate how annoying DRM:s are to us users that buy the things, with pirates thinking they somehow have a right to use any software without paying fairly for it. I would even go as far as to say that you pirates are the reason I have to have a DRM in the shit I bought and paid for.</p>
]]></description><pubDate>Wed, 20 May 2026 10:40:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48205656</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=48205656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48205656</guid></item><item><title><![CDATA[New comment by hurril in "Why senior developers fail to communicate their expertise"]]></title><description><![CDATA[
<p>I don't think I can agree with you here because a lot of these things that people know but that is supposedly hard to dress in words, is very often just positions that someone holds arbitrarily, so is difficult to impossible to explain. The positions do not have explanations because they are not held for good reason.<p>I say this as someone with 3 decades of professional experience. That does not make me right, please do tell me that I am in fact wrong! It does mean that I might be one of these guys with positions that should be challenged, however.<p>You know what? I welcome this. Explain to me why I am wrong, let's do it your way, dear youngin!</p>
]]></description><pubDate>Fri, 15 May 2026 12:43:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48147901</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=48147901</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48147901</guid></item><item><title><![CDATA[New comment by hurril in "Cannabis and driving? Studies reveal big risks"]]></title><description><![CDATA[
<p>I am still an idiot. But driving baked would be impossible :)</p>
]]></description><pubDate>Fri, 15 May 2026 11:09:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48147141</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=48147141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48147141</guid></item><item><title><![CDATA[New comment by hurril in "Cannabis and driving? Studies reveal big risks"]]></title><description><![CDATA[
<p>I don't see how anyone would even want to attempt to drive while baked.</p>
]]></description><pubDate>Fri, 15 May 2026 07:18:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48145527</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=48145527</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48145527</guid></item><item><title><![CDATA[New comment by hurril in "I built a Game Boy emulator in F#"]]></title><description><![CDATA[
<p>OCaml is wonderful too but having written F# for different companies for years, my code is pretty much never that hybrid stuff. Sure, .NET:s weird asynch apis, sometimes the code comes out a little bit weird but that is the exception to the rule imho.</p>
]]></description><pubDate>Fri, 01 May 2026 12:39:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47974094</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=47974094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47974094</guid></item><item><title><![CDATA[New comment by hurril in "I built a Game Boy emulator in F#"]]></title><description><![CDATA[
<p>Ah F#, my greatest love. How I wish the C# guys and girls would see this instead of further bastardizing (don't hate me) C# into being everything but poorly.<p>Don't you see that if you would use F# instead, creating projects with C# and F#, that you would get what is being added to C# but actually working and ergonomically? Interop is great!</p>
]]></description><pubDate>Fri, 01 May 2026 06:56:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47971936</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=47971936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47971936</guid></item><item><title><![CDATA[New comment by hurril in "Functional programming accelerates agentic feature development"]]></title><description><![CDATA[
<p>It really isn't. Having worked for several decades on "both sides", this really is my experience. The functional side is better typed and has fewer side effects of this kind. It is more normal, as in more common, to have code work correctly as soon as it compiles. This is my lived experience having worked with Java, Scala, F# and Rust since 1999.</p>
]]></description><pubDate>Sun, 05 Apr 2026 06:49:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47646810</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=47646810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47646810</guid></item><item><title><![CDATA[New comment by hurril in "Patterns for Defensive Programming in Rust"]]></title><description><![CDATA[
<p>Well it isn't a good call. This is the kind of code that OOP makes people write.</p>
]]></description><pubDate>Fri, 05 Dec 2025 22:17:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46168104</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=46168104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46168104</guid></item><item><title><![CDATA[New comment by hurril in "Patterns for Defensive Programming in Rust"]]></title><description><![CDATA[
<p>You have a good point there, that is better. But it is still, well honestly, wrong. Two orders ordered at different times are just not the same order, and using a typeclass approach to say that they most definitely are is going to bite you in the back seat.<p>PartialEq and Eq for PizzaDetails is good. If there is a business function that computes whether or not someone orders the same thing, then that should start by projecting the details.</p>
]]></description><pubDate>Fri, 05 Dec 2025 20:26:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46166794</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=46166794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46166794</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>An architecture that consists of monads.</p>
]]></description><pubDate>Mon, 08 Sep 2025 17:22:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45171037</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45171037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45171037</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>See, I don't think you don't really understand my point. I said this elsewhere: I have been programming Scala and Haskell for more than 15 years, which I am sure you have as well. This is not ment as a proof of my point as that would be arguing form authority. This is not my intention. But there are more things at play here.<p>What I think you are doing is: well quantum mechanics is just simple mathematical construction and some artithmetic.<p>Is it really? Is it _just_ that?</p>
]]></description><pubDate>Mon, 08 Sep 2025 05:31:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45164906</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45164906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45164906</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>I am going to interpret your question as one asked in good spirit.<p>I like this book:
<a href="https://www.manning.com/books/functional-design-and-architecture" rel="nofollow">https://www.manning.com/books/functional-design-and-architec...</a></p>
]]></description><pubDate>Mon, 08 Sep 2025 05:27:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45164887</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45164887</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45164887</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>I think that a big problem here is the fact that in OOP, everything is an object, i.e.: a class. And if all you have is a hammer, then .... But it is much better to picture the model, controller and the view as emergent. But implementing this in OOP is too challenging because some things in either of those three domains are going to be a process, or a piece of state or a role, etc.<p>And in implementing some process, what is it? As in: what is its encoding in $language and where does it go?<p>So you end up with the local stamp collectors in the office and get into an argument of: it is part of the model, so should be in the Model class. "Process, nah, that is totally a controller aspect. It does something." etc.</p>
]]></description><pubDate>Sun, 07 Sep 2025 06:44:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45155942</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45155942</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45155942</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>You both have good points. But there is monads the mathematical and programmatic concept, and there is also something a little bit handwavy in how these things are incorporated into an application architecture. The latter is what is being used on the one hand in comparison to MVC, etc, on the other.<p>I.e.: a monadic architecture in Haskell is good, but one in Java is going to suck. A sort of half-way point is in The Elm Architecture, which is a sort of deconstructed IO monad.<p>(Writing this as someone with decades of experience in writing monadic architectures.)</p>
]]></description><pubDate>Sun, 07 Sep 2025 06:37:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=45155906</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45155906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45155906</guid></item><item><title><![CDATA[New comment by hurril in "Why F#?"]]></title><description><![CDATA[
<p>It runs on .NET, for god's sake. This is not a small platform.</p>
]]></description><pubDate>Tue, 01 Apr 2025 17:51:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=43549645</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=43549645</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43549645</guid></item><item><title><![CDATA[New comment by hurril in "Why F#?"]]></title><description><![CDATA[
<p>F# is a wonderful language, one that I write as my daily for the second time during my carrier. It _baffles_ me how it isn't more popular than it is because it truly is very very good. And I say this as an experienced and avid functional programmer.<p>We even do the frontend in it using Fable and Elmish, which is to say: we basically write our frontends in Elm, but the platform is .NET.</p>
]]></description><pubDate>Tue, 01 Apr 2025 17:50:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=43549627</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=43549627</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43549627</guid></item><item><title><![CDATA[New comment by hurril in "Ask HN: What are you working on? (March 2025)"]]></title><description><![CDATA[
<p>My own functional programming language. I'd done an imperative before but wanted one that has pattern matching, would let me do currying _and_ uses a bidirectional type-checker. All of this is currently implemented but not for all type constructs. It's name? Marmelade. Because Lady Marmelade and thus files with a lady suffix. m.lady.<p><a href="https://github.com/pandemonium/marmelade" rel="nofollow">https://github.com/pandemonium/marmelade</a></p>
]]></description><pubDate>Mon, 31 Mar 2025 19:40:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=43538974</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=43538974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43538974</guid></item></channel></rss>