<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: hnedeotes</title><link>https://news.ycombinator.com/user?id=hnedeotes</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 19 Apr 2026 05:53:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=hnedeotes" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by hnedeotes in "We are sorry to inform you that you are in a cult"]]></title><description><![CDATA[
<p>wait a minute... OMG <a href="https://www.haskell.org/cabal/" rel="nofollow">https://www.haskell.org/cabal/</a></p>
]]></description><pubDate>Mon, 21 Nov 2022 14:47:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=33693041</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=33693041</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33693041</guid></item><item><title><![CDATA[New comment by hnedeotes in "Consciousness and the Laws of Physics"]]></title><description><![CDATA[
<p>It's more hand-wavy than it's admitted. When you think about it, the idea of emergent phenomena amounts to:<p>- There's no underlying consciousness or conscious originator (no god, no panpsychism, no underlying conscious layer at the basis of reality, no nothing)
- At some point, two or more elements (rocks, atoms, etc, that weren't conscious), aligned precisely in a given configuration and zap!, they became conscious and interactive
- All consciousness then sprang from that.<p>So the question would be, if systems favour inertia, stasis and conservation of energy, why would there be consciousness at all and just not an endless void, or a perfectly stable (as in homeostasis) system without conscious agents, or just rocks floating in the space.<p>I'm not saying the idea of emergent phenomena is wrong, just that you better answer the complex questions other "supernatural" theories try to address, before declaring it some sort of obvious and correct answer.</p>
]]></description><pubDate>Sun, 18 Jul 2021 00:52:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=27869976</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27869976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27869976</guid></item><item><title><![CDATA[New comment by hnedeotes in "It's been three years. Stop saying your European visitors are important to you"]]></title><description><![CDATA[
<p>I don't understand completely why you're being downvoted. I'm european, in favour of GDPR, and I think this is a valid way of doing it. These reactions confuse me the same as using incognito or adblockers to pass paywalls and such - if that's their business model and their choice, I'm going to say no, and won't even be interested.</p>
]]></description><pubDate>Fri, 16 Jul 2021 11:13:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=27855067</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27855067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27855067</guid></item><item><title><![CDATA[New comment by hnedeotes in "What I learned from Erlang about resiliency in systems design (2019)"]]></title><description><![CDATA[
<p>That's:<p>a) A theory
b) That in no way contradicts the possibility of a continuum where universes may rise, expand, contract and die, only to rinse and repeat
c) If nothing can be created out of nothing, and if in the universe energy cannot be created or destroyed that doesn't seem to be correct unless the universe is an artificial system
d) The only way for C) to be true is if everything is always the same thing in different forms, at which point we might as well say time is infinite<p>(caveat: artificial systems of course - but those still need to be initiated from somewhere else at some point down or up the chain of creation - so it should follow that something infinite must be at play)</p>
]]></description><pubDate>Wed, 14 Jul 2021 13:15:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=27832641</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27832641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27832641</guid></item><item><title><![CDATA[New comment by hnedeotes in "One by One, My Friends Were Sent to the Camps"]]></title><description><![CDATA[
<p>Unbound technological surveillance in the hands of a few, and police state on the basis of false flags are the stepping stones to RealFreedom™</p>
]]></description><pubDate>Wed, 14 Jul 2021 13:08:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=27832583</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27832583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27832583</guid></item><item><title><![CDATA[New comment by hnedeotes in "What I learned from Erlang about resiliency in systems design (2019)"]]></title><description><![CDATA[
<p>If time is infinite, it means that everything *must* already have happened *or* can be assumed to have happened, including game over and game restart.</p>
]]></description><pubDate>Sun, 11 Jul 2021 10:26:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=27799760</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27799760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27799760</guid></item><item><title><![CDATA[New comment by hnedeotes in "What I learned from Erlang about resiliency in systems design (2019)"]]></title><description><![CDATA[
<p>> no house/bike/computer will ever be better ever in the history of the universe.<p>Extraordinary claims require extraordinary evidence.</p>
]]></description><pubDate>Sun, 11 Jul 2021 08:41:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=27799343</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27799343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27799343</guid></item><item><title><![CDATA[New comment by hnedeotes in "What I learned from Erlang about resiliency in systems design (2019)"]]></title><description><![CDATA[
<p>Yeah, just look at the amazing tech and tools. The fragmentation is by design and doesn't come through languages.<p>And boy, that's some investment on technology you have there going.</p>
]]></description><pubDate>Sun, 11 Jul 2021 07:49:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=27799129</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27799129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27799129</guid></item><item><title><![CDATA[New comment by hnedeotes in "What I learned from Erlang about resiliency in systems design (2019)"]]></title><description><![CDATA[
<p>That's actually much a feature.
Many problems can still be done quite efficiently, for instance stream parsing a file you can have each N newlines being sent to different processes, and the same with many other problems that can be sliced, traversing nested collections, fetching batches of records from stores, etc.<p>Sometimes you can also reformulate the problem, but yes not all problems fit.<p>I would add though that whenever you want to write orchestration around that parallel work it's much easier in erlang than the alternatives.</p>
]]></description><pubDate>Sun, 11 Jul 2021 07:30:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=27799070</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27799070</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27799070</guid></item><item><title><![CDATA[New comment by hnedeotes in "What I learned from Erlang about resiliency in systems design (2019)"]]></title><description><![CDATA[
<p>> Erlang has a simple memory model that cannot do joint parallel tasks.<p>What do you mean?</p>
]]></description><pubDate>Sun, 11 Jul 2021 07:14:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=27799005</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27799005</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27799005</guid></item><item><title><![CDATA[New comment by hnedeotes in "Coming to Terms with Tailwind"]]></title><description><![CDATA[
<p>Webpack is also a single file.<p>> Is that bad? Not using Tailwind forces you to have a separate stylesheet that hides tag to property relationships, among other hidden abstractions. The class names barely need to be learned. With an IDE, you get class name completion, and there are only a few properties that have unexpected names.<p>Well, the purpose is actually to have separate stylesheets, so that you can name them in a relevant manner, I don't know, like menus.[s]css, panels.[s]css, just like so you know where things are, and so that you can use a class to define repeating elements across a codebase. There's no abstractions in CSS that aren't present or amplified in tailwind - there's pre-processing utilities that are useful in tailwind but they're present in any pre-processor without the remaining stuff. And in fact the logical way of using CSS is by defining classes and then defining modifications to those classes, when needed, when they're part of a hierarchy of classes that requires it. They're one grep away of being discovered in all css files.<p>> What do you mean "the point of CSS"? Read the spec. It says nothing about the number of properties a class should contain.<p>Uhh. Yeah, I might one day, but I don't get what you're saying.<p>> If you mean classnames should be higher level abstractions than CSS properties,<p>A classname is a selector token, that you can place in CSS hierarchies and define a set of rules, that affect the elements using that classname. It's obviously a higher abstraction than a style rule.<p>I wasn't talking about semantic html5, I'm talking about semantic markup for readers of the code. If I see "t-4 h-3 w-2 mongo-xyz bg-pearl-800 flex flex-col m-4" I can understand it after reading all of those properties in tailwind, perhaps and how they all interact. But I'll need to understand that it uses relative sizes (like, why...) that m-px is one 1px, m-4 is 1rem, but what I want is fixed sizes 99% of the time. That someone might have disabled some of the sizes generation. Then I don't know, if someone asks me to change the styling now I have to go through all the codebase, searching for elements that are styled like that, because I have not way of identifying it and I have to change all their classes to the new style. Obviously, it's much harder to have it placed in a single file. Inline classes are better somehow than inline styles (although you can't know exactly what it's affecting), and there's a place for inline styles, but 99% of the time it's bad.</p>
]]></description><pubDate>Thu, 08 Jul 2021 07:58:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=27769350</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27769350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27769350</guid></item><item><title><![CDATA[New comment by hnedeotes in "Coming to Terms with Tailwind"]]></title><description><![CDATA[
<p>Thank you, I can be wrong obviously, but your argument in light of our current times would actually indicate that a lot of smart informed people are more tending to idiotic brainless emanations than anything else.<p>This is of course unrelated to tailwind and the words I used there were pretty uncharitable - it's open source after all - but I have yet to see a good example of it clicking, the way I've seen it, in my assumedly small real use sample pool, doesn't seem good at all.</p>
]]></description><pubDate>Thu, 08 Jul 2021 07:38:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=27769252</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27769252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27769252</guid></item><item><title><![CDATA[New comment by hnedeotes in "Coming to Terms with Tailwind"]]></title><description><![CDATA[
<p>Yeah, I don't feel the same pains though.</p>
]]></description><pubDate>Wed, 07 Jul 2021 16:42:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=27763093</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27763093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27763093</guid></item><item><title><![CDATA[New comment by hnedeotes in "Coming to Terms with Tailwind"]]></title><description><![CDATA[
<p>So yeah, I agree with pre-processing utilities - but this is just the same problem as with CSS and I think the apply idea is actually pretty neat...<p>But... I need to know all those classes to know why the final rules are put in place, I need to know that they don't have conflicting properties, or if they have, their priorities. And when you add your own custom apply's in there, then it can also break just the same. And when you customise your tailwind classes it ends the same problem. So when you're trying to figure out why rows in a table with the same number of headers and same number of td's have different sizes because some no-breaking space class was applied, and why your a.btn isn't getting the same styling as your button.btn and etc, I always feel like I've wasted more time than I should (perhaps because I know css and used it extensively)<p>I might have been a bit harsh on saying "dementia" as it's disrespectful for those who've put the work in writing it and releasing. It's better than all previous frameworks - I just personally think that it's problem searching for a solution as you can't really win.</p>
]]></description><pubDate>Wed, 07 Jul 2021 16:39:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=27763051</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27763051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27763051</guid></item><item><title><![CDATA[New comment by hnedeotes in "Coming to Terms with Tailwind"]]></title><description><![CDATA[
<p>But honest question, wouldn't those years of wrestling with the right UI framework be better spent learning the underlying CSS rules and adopting a simple pre-processor that gives you programmatic generation for repetitive bits?<p>Because in the end, tailwind is better than bootstrap, but it's still the wrong way and incentivises wrong patterns.<p>And by making it "standard" it makes everybody new to the field start with it and use it, foregoing learning the CSS. And will be supplanted at some point, and then there'll be the dance again. And again. It's just this that I don't understand.<p>At the point you're customising tailwind and classes you run into the same problems as with CSS without clear guidelines/organisation. So the only way to not run into that it's to use it as inline styles but with classes...</p>
]]></description><pubDate>Wed, 07 Jul 2021 16:26:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=27762895</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27762895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27762895</guid></item><item><title><![CDATA[New comment by hnedeotes in "Coming to Terms with Tailwind"]]></title><description><![CDATA[
<p>Yes I did, that's why I'm of that opinion.<p>What it does is force you, as other frameworks, to learn all its intricacies, design decisions, use an heavy and complex development environment (that besides that reads files it doesn't have anything to go about reading?) so that you don't need to learn the underlying language.<p>Then it nudges you to write a soup of classes (that you need to learn, and need to learn the config because it seems by default it has -400 but not -500, or whatever, and need to learn their priorities), that you need to keep changing and copying pasting  (yes you can write classes that coalesce your styling... but that's kinda the point of CSS and/or any other pre-processor), and forget about semantically marking your html. (I'm not saying you have to write it badly, it's just that writing it poorly seems much easier - and is the same with CSS).<p>I just don't see the point - with the exception of the pre-processing part of course - CSS can use some little help in some places to generate programatically some things but I think those are better served by a pre-processor and not a framework as the framework tends to guide the overall design of the remaining things.</p>
]]></description><pubDate>Wed, 07 Jul 2021 16:14:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=27762762</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27762762</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27762762</guid></item><item><title><![CDATA[New comment by hnedeotes in "Coming to Terms with Tailwind"]]></title><description><![CDATA[
<p>Sincerely I don't understand what's the appeal of tailwind. It's just one more sign of dementia to add to the landscape.</p>
]]></description><pubDate>Wed, 07 Jul 2021 16:03:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=27762633</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27762633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27762633</guid></item><item><title><![CDATA[New comment by hnedeotes in "My approach to taking notes in meetings"]]></title><description><![CDATA[
<p>When the CEO asks what you think about it, just go<p><pre><code>  Chico, this no bueno!</code></pre></p>
]]></description><pubDate>Wed, 30 Jun 2021 07:01:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=27685750</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27685750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27685750</guid></item><item><title><![CDATA[New comment by hnedeotes in "What is simplicity in programming and why does it matter?"]]></title><description><![CDATA[
<p>The problem with what you're saying is that it's meaningless without concrete examples?<p>What is "over abstracted code"? Perhaps we agree on this point, but I don't know because when people talk about these things no one has any idea of what they mean - we use "over-testing", "under-testing", "over-engineered", "sloppy", "too much abstraction", "simplicity", "complexity", and everyone has different takes on what these words mean but everyone agrees they're bad or good. It's a bit non-sensical.<p>What is the problem of jumping through files? Do you feel the same about jumping through functions? Is it better to have a soup that you can only test by setting up a new solar system? Is that why testing is considered "expensive"? And what is the solution when products need to be evolved, redesigned or pivoted? Re-write? Re-hire a team? Do the same crap again but with new tools? No tests? Or you simply don't like jumping?<p>Is it worth it to have bad api's, bad products, that offset millions of hours in work around to all developers (and non-developers as well) who have to use them because someone couldn't be bothered? Shouldn't the premium on salaries for developers conjure some real interest in doing things right? Is it normal that governmental institutions, public companies, banks, etc have awful interfaces, buggy behaviour, etc?<p>Isn't it normal that if you're commanding a very comfortable salary there should be an expectation of continuous improvement, research and learning for the work you choose to do?<p>Perhaps I agree with what you're saying, or perhaps I completely oppose it, but I can't tell.</p>
]]></description><pubDate>Sun, 27 Jun 2021 14:31:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=27651858</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27651858</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27651858</guid></item><item><title><![CDATA[New comment by hnedeotes in "The most copied StackOverflow snippet of all time is flawed (2019)"]]></title><description><![CDATA[
<p>I agree with the no silver bullet thing - and written on another reply I don't even know if I agree with the example in the article.<p>> The fact that a map() function tells you that you're converting elements of lists does not save you from understanding what is that conversion doing and why.<p>It can actually, say you have a query that comes in, this calls a function that fetches records from the database, it's not a basic query, it has joins, perhaps a subquery, etc.
Then you have another function that transforms the results into whatever presentational format, decorates, wtv, those results, and it's also more than a few basic couple lines of logic.<p>And now you have a bug report come in, that not all expected results are being shown.<p>If you have<p><pre><code>  func does_query -> loop transforms
</code></pre>
You have 3 possibilities, the problem is on the storage layer, the problem is on the query, the problem is on the loop.
You read the query, because the bug is subtle, it seems ok, so now you move to the loop. It's a bit complex but seems to be correct too. Now you start debugging what's happening.<p>If you have<p><pre><code>  func does_query -> func maps_results
</code></pre>
You know it's either underlying storage or the query. Since the probability of the storage being broken is less plausible, you know it must be the query. In the end it's a synch problem with something else, and everything is right, but now you only spent time on reproducing the query and being sure that it works as expected.</p>
]]></description><pubDate>Thu, 17 Jun 2021 11:23:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=27538414</link><dc:creator>hnedeotes</dc:creator><comments>https://news.ycombinator.com/item?id=27538414</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27538414</guid></item></channel></rss>