<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: raiflip</title><link>https://news.ycombinator.com/user?id=raiflip</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 04:44:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=raiflip" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by raiflip in "Functional programming is finally going mainstream"]]></title><description><![CDATA[
<p>At that point you're left with two benefits:
1) Organizing your codebase so that it is easy to find which functions operate on which data
2) Controlling access to those methods on the programming language level. I.E, TankerService is the only class with Tanker instances and therefore the only part of the code with access to those methods.</p>
]]></description><pubDate>Wed, 13 Jul 2022 00:59:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=32077790</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=32077790</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32077790</guid></item><item><title><![CDATA[New comment by raiflip in "Functional programming is finally going mainstream"]]></title><description><![CDATA[
<p>So you're filtering specifically for timeslots where the end date is null and therefore guaranteeing that you return a timeslot dated to now?</p>
]]></description><pubDate>Wed, 13 Jul 2022 00:56:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=32077771</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=32077771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32077771</guid></item><item><title><![CDATA[New comment by raiflip in "Hooks Considered Harmful"]]></title><description><![CDATA[
<p>FP has also benefited from a hype cycle, and FP does improve code in a lot of ways. Making your data immutable makes it easier to reason about, and pure functions prevent surprises. However if your argument is state is bad, and FP avoids state, so that is why it is good, but you encounter a scenario in which state is required, then the benefits of FP start to degrade.<p>The reality is closer that, state should be immutable, and minimized as much as possible, but at the end of the day, almost every interesting problem requires storing state. Once you reach that point, classes are simply a better solution for state than closures. Especially if your class and its variables are immutable, you get all the benefits I mentioned and none of these tradeoffs. Your state is explicitly stated.</p>
]]></description><pubDate>Mon, 21 Mar 2022 19:19:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=30758506</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=30758506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30758506</guid></item><item><title><![CDATA[New comment by raiflip in "Will the current high tech salaries last?"]]></title><description><![CDATA[
<p>Sometimes it sounds like bay area programmers think how expensive their area is, is how it is for programmers elsewhere. I also get paid around the same range in NYC, but my mortgage is nowhere near 10k, my taxes eat maybe 40%, and I can definitely find restaurant meals for less than $30.<p>The high expenses of the bay area are a policy choice by the local and state government to disallow investment. As such everyone is competing for the same old housing stock and office space that cost a 1/3rd of what it does now years ago. In effect, house owners and landlords are appropriating tech profits to themselves.<p>I hope the banning of single home zoning in California helps to alleviate this issue.</p>
]]></description><pubDate>Thu, 03 Feb 2022 04:03:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=30188498</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=30188498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30188498</guid></item><item><title><![CDATA[New comment by raiflip in "I took a job at Amazon, only to leave after 10 months"]]></title><description><![CDATA[
<p>"Turn around time to get a server spun up was ~6-8 weeks." -> ok this one threw me for a loop. I can literally get an EC2 server spun up within minutes inside Amazon. But as others have stated org quality varies a lot. If you are dealing with an org that requires you to say at the beginning of the year exactly what budget you need, I could see that.</p>
]]></description><pubDate>Wed, 05 Jan 2022 22:13:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=29815806</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=29815806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29815806</guid></item><item><title><![CDATA[New comment by raiflip in "Why I distrust Google Cloud more than than AWS or Azure"]]></title><description><![CDATA[
<p>I think this is absolutely it. A lot of best practices go down the drain when the compiler compiles the bytecode. As such a lot of best practices are about people, not the computer. APIs can be just as stable behind a network or a library, but way more people are onboard with never break your APIs than they are never break your function.</p>
]]></description><pubDate>Thu, 22 Apr 2021 13:01:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=26902246</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=26902246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26902246</guid></item><item><title><![CDATA[New comment by raiflip in "OpenSearch: AWS fork of Elasticsearch and Kibana"]]></title><description><![CDATA[
<p>It seems reductionist to say Amazon primarily wraps around open source. What about EC2? S3? Glue? DynamoDB? Many of the services that provide the most value are services Amazon has built out.</p>
]]></description><pubDate>Mon, 12 Apr 2021 20:09:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=26784515</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=26784515</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26784515</guid></item><item><title><![CDATA[New comment by raiflip in "US Navy – Tic Tac UFO – High frequency gravitational wave generator"]]></title><description><![CDATA[
<p>Regardless of whether or not gravitons actually exist, it is feasible that the US government will want to signal to adversaries that they do have this technology. After all, a deterrent is useless if your adversary doesn't know it exists. You can't be deterred by something you don't know about.</p>
]]></description><pubDate>Sun, 17 Jan 2021 02:55:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=25807648</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=25807648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25807648</guid></item><item><title><![CDATA[New comment by raiflip in "What Is Life? (2019)"]]></title><description><![CDATA[
<p>Old Testament version of Christianity? You mean Judaism?</p>
]]></description><pubDate>Thu, 31 Dec 2020 22:17:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=25597817</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=25597817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25597817</guid></item><item><title><![CDATA[New comment by raiflip in "Parse, don’t type-check"]]></title><description><![CDATA[
<p>Types are just labels that a parse has already been done and doesn't need to be done again. Use them when you don't need to parse again, don't when you do want to parse again.</p>
]]></description><pubDate>Thu, 26 Nov 2020 22:12:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=25223895</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=25223895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25223895</guid></item><item><title><![CDATA[New comment by raiflip in "WTF Happened in 1971? (2019)"]]></title><description><![CDATA[
<p>Eh I can see where you are coming from, but I don't necessarily agree with that. At least here in the US, corporations never accepted to unions as legitimate. It always took giant draw out strikes.</p>
]]></description><pubDate>Tue, 24 Nov 2020 00:22:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=25193678</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=25193678</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25193678</guid></item><item><title><![CDATA[New comment by raiflip in "WTF Happened in 1971? (2019)"]]></title><description><![CDATA[
<p>The drip is definitely correlation until proven to be causation. So it is possible the drop was a function of a common underlying cause.<p>The reason no other explanation makes sense to me is that any purely market based explanation, like energy or China, we would see a corresponding drop in US labor force productivity, but the whole point is that that productivity did not drop.<p>One question i have for you is, why didn’t the union just fight the cuts? A union is not a nicety granted by the corporation, its whole reason to be is to fight corporate power when needed. It sounds to me like that union was already made powerless by the time the crisis occurred.</p>
]]></description><pubDate>Mon, 23 Nov 2020 19:52:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=25190933</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=25190933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25190933</guid></item><item><title><![CDATA[New comment by raiflip in "WTF Happened in 1971? (2019)"]]></title><description><![CDATA[
<p>Graph created by the Washington Post: <a href="https://www.washingtonpost.com/resizer/7IbsRIhRFbTYRuEjla6kiZQOwvY=/arc-anglerfish-washpost-prod-washpost/public/YC4GHPZ5MI5DHNQVM2TN4E4JZI.jpg" rel="nofollow">https://www.washingtonpost.com/resizer/7IbsRIhRFbTYRuEjla6ki...</a><p>You can see union membership was on the decline since the 1950s, but it accelerated around the 70s. It is hard to see the timeline in that graph, in this one it is harder to see the acceleration, but it is easier to see the timeline: <a href="https://rpubs.com/jncohen/uniondensity" rel="nofollow">https://rpubs.com/jncohen/uniondensity</a></p>
]]></description><pubDate>Mon, 23 Nov 2020 19:28:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=25190648</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=25190648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25190648</guid></item><item><title><![CDATA[New comment by raiflip in "WTF Happened in 1971? (2019)"]]></title><description><![CDATA[
<p>For sure</p>
]]></description><pubDate>Mon, 23 Nov 2020 19:25:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=25190615</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=25190615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25190615</guid></item><item><title><![CDATA[New comment by raiflip in "WTF Happened in 1971? (2019)"]]></title><description><![CDATA[
<p>A fairly simple explanation that for some reason I don't see a lot of is the drop in union membership density around this time period. Such a drop would decrease bargaining power and therefore decrease the rate of wage increase</p>
]]></description><pubDate>Mon, 23 Nov 2020 17:27:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=25189157</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=25189157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25189157</guid></item><item><title><![CDATA[New comment by raiflip in "Inventing Monads"]]></title><description><![CDATA[
<p>Totally agree, that’s a good point.</p>
]]></description><pubDate>Sun, 30 Aug 2020 14:48:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=24323277</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=24323277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24323277</guid></item><item><title><![CDATA[New comment by raiflip in "Inventing Monads"]]></title><description><![CDATA[
<p>That example seems a bit odd as a design. You’re throwing an exception to represent a no result, but suppressing it to convert the exception to a none. Monads give you the convenience while being consistent.</p>
]]></description><pubDate>Sat, 29 Aug 2020 20:55:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=24319370</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=24319370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24319370</guid></item><item><title><![CDATA[New comment by raiflip in "Inventing Monads"]]></title><description><![CDATA[
<p>What if you need to access 5 resources in a row, any of which can throw exceptions? A monad centralizes the repeated logic in its flatMap function.</p>
]]></description><pubDate>Sat, 29 Aug 2020 20:21:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=24319140</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=24319140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24319140</guid></item><item><title><![CDATA[New comment by raiflip in "Inventing Monads"]]></title><description><![CDATA[
<p>A monad really is just a wrapper around a value, with flatMap and return.<p>For some kinds of monads, like maybe, that’s all you need.<p>But, some other kinds of monads need more logic. List is one, IO is another.<p>In OOP language, sometimes all you need is the parent class. But sometimes you need to extend the parent and add more.</p>
]]></description><pubDate>Sat, 29 Aug 2020 20:18:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=24319130</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=24319130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24319130</guid></item><item><title><![CDATA[New comment by raiflip in "Inventing Monads"]]></title><description><![CDATA[
<p>I really like how this article builds up from a simple real life use case.<p>Shameless plug for my own article that did something similar about a week ago: <a href="https://medium.com/@ameltzer91/an-easy-to-understand-monad-guide-fdad10356a9c" rel="nofollow">https://medium.com/@ameltzer91/an-easy-to-understand-monad-g...</a></p>
]]></description><pubDate>Sat, 29 Aug 2020 19:37:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=24318843</link><dc:creator>raiflip</dc:creator><comments>https://news.ycombinator.com/item?id=24318843</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24318843</guid></item></channel></rss>