Hacker Newsnew | past | comments | ask | show | jobs | submit | ookdatnog's commentslogin

> one that every practicing biologist would agree with

Where are you getting this from? As far as I'm aware biologists, practicing or not, are not particularly concerned with the study of human behavior.


It depends on what you're working on. If you're doing real algorithmic work, often the algorithm is a lot more complex than its spec because it needs to be fast.

Take sorting a list for example. The spec is quite short.

- for all xs: xs is a permutation of sort(xs)

- for all xs: sorted(sort(xs))

Where we can define "xs is a permutation of ys" as "for each x in xs: occurrences(x, xs) = occurrences(x, ys)"

And "sorted(l)" as "forall xs, x, y, ys: (l = xs ++ [x, y] ++ ys) => x < y".

A straightforward bubble or insertion sort would perhaps be considered as simple or simpler than this spec. But the sorting algorithms in, say, standard libraries, tend to be significantly more complex than this spec.


The article does go into cache coherency which is very much intertwined with multicore parallellism:

> The cache coherency protocol is one of the hardest parts of a modern CPU to make both fast and correct. Most of the complexity involved comes from supporting a language in which data is expected to be both shared and mutable as a matter of course.

I feel like we live in a world where everyone works very hard to pretend that C is our best low-level language, when in reality an APL-like purely functional array language would be a better candidate.


Fair enough, though I still think even there the headspace of the author was more in line with proving single-threaded C virtual machine model does not map to how CPU actually behaves, not that a natively parallel language would be best suited to model a contemporary multicore or data parallel processor.


APL? Sure, but CSP perhaps? ... I am going to have to think about a FPGA implementation of APL... perhaps..


You are coming to a wrong conclusion due to a misunderstanding of what the separation of powers means. I will first try to illustrate with a thought experiment, after which I believe you will agree that there is something wrong in your reasoning, and then I will demonstrate where your logic went wrong.

---

Thought experiment: Suppose a dear loved one is brutally murdered by a relative of the current democratically elected leader (imagine a hypothetical leader, country, etc). Through various extralegal manipulations, the leader ensures that the murderer is not convicted (evidence disappears, jurors are appointed in a fishy way, the judge turns out to be a family member of the murderer, ...) and you notice that none of the usual paths of recourse work. Perhaps you go to the press, but his supporters just dismiss this as a smear campaign. Crucially, this leader is very popular, their party controls the legislative and has appointed judges for years.

Following the reasoning in your post, which I think can be summarized as "the legislative and judicial branches, which are legitimately elected/appointed, chose not to stop him, therefore the separation of powers is not violated and this is how a democracy is supposed to work", the leader's actions do not constitute a violation of the separation of powers, and this incident does not demonstrate that this country's democracy is unhealthy.

---

I hope you agree that this conclusion is wrong, yet it follows inexorably from the argument you have made (because the sole precondition, that the other branches are legitimately elected/appointed, is satisfied). So we must conclude that there is a mistake in your argument, and I think it originates in the conflation of two of the core features of liberal democracy -- that is (a) leaders are elected and (b) there is a separation of powers. You are essentially saying that (b) holds because (a) holds, but it is important to remember that (a) and (b)are independent features that sometimes oppose each other: it is by design that the system (especially the judiciary) can overrule the majority of the population, at least for some time.

So the question of "are the judiciary and legislative branches effectively enforcing the separation of powers" is not actually related to whether these branches are legitimately appointed/elected, but to whether they are independent. By this I mean that they play their constitutionally prescribed role even if at times this is unpopular. For example, the judiciary's job is to enforce the law. In the thought experiment, they are not independent from the executive, and that is a deep system failure: they should enforce the law (convict the murderer) even if the (popular and legitimate) executive disagrees.

For example, the law is crystal clear wrt who has the authority to enact tariffs on foreign nations. The President cannot legally do this as the Constitution vests the power to raise taxes in Congress; reasonable people cannot disagree about this. Congress has granted him emergency powers on the basis of a fentanyl crisis at the Mexican border; the scope of these emergency powers clearly does not include imposing tariffs on, say, Australia. Again, there is no room for interpretation here, this is all crystal clear. The fact that the tariffs haven't been effectively struck down yet is a clear failure of the separation of powers, because the law is so clear. The popularity of the president or his policy is completely irrelevant to the question of whether he should be stopped by the courts.

The main reason this needs to exist is to make sure that, indeed, the next election is a free and fair election. If the separation of powers does not hold, then there is nothing stopping the executive from manipulating the election and hollowing out democracy. This has happened many times in history, and it is exactly what people (rightfully, I believe) fear about the Trump presidency.


Respectfully your thought experiment is meaningless as the president already has the power of pardon. See Joe Biden’s pardon of his son.

Tariffs are due to be deliberated on during this session by the supreme court and as such checks and balances will have an opportunity to act.


Your statement is wrong in two distinct ways:

- Fundamentalists never hijacked the FSF, they founded it: Stallman is about as fundamentalist as possible about free software.

- In the case of the FSF, the fundamentalists are absolutely walking the walk, both in terms of contributing software, and in terms of going out of their way to not use proprietary software.


> in terms of going out of their way to not use proprietary software.

Performative and an example of very self-defeating tactics that belie motivations other than actually accomplishing anything.

> they founded it

This is true, but it actually contributes to arguments that the FSF is full of crazies content to preach from the monastery of ascetic suffering rather than live in a world with lots of independence and strong open source.


> most lived at subsistence levels with starvation always at their doorstep

Genuine question: is this something we know from evidence, or an assumption? I vaguely recall having read that comparison between skeletal remains of early farmers and hunter-gatherers indicated that the latter had a better diet, but I'm not sure if I'm remembering correctly or how much that observation generalizes.


We actually have a ton of evidence refuting this. The two things anthropologists spend their whole time rejecting in popular sciences is the barter myth and the idea that hunter-gatherer lives are "nasty brutish and short".

The nasty brutish and short idea might have been true about many medieval European peasants but the rest of the world wasn't cramped up with livestock and poverty conditions with poor sanitation. Other people simply didn't face as much disease. There was actually some really interesting work in bioarcheology in 2018 that showed that even extremely long lifespans was not actually that rare.[0] And those who made it to adulthood could generally expect a long life (obviously tons of variation here). In the city of Cholula, Mexico, between 900 and 1531, most people who made it to adulthood lived past the age of 50.[1]

[0] https://sc.edu/uofsc/posts/2022/08/conversation-old-age-is-n...

[1] https://onlinelibrary.wiley.com/doi/10.1002/ajpa.22329

Not to mention the famous "Man the Hunter" symposium where Marshall Sahlins introduced the Original Affluent Society Thesis which has since been largely upheld and reinforced.


Both early farmers and hunter-gatherers regularly endured calorie scarcity. The difference between them along this dimension is minor compared to the difference between either group and us and our calorie security.


> most lived at subsistence levels with starvation always at their doorstep

I find this hilarious. Modern civilization has starvation at our doorstep. If the modern supply chains fail, so very many would starve.

Did toilet paper become scarce about 5 years ago? I don't see what protects the population from that for food and water.


you have a point actually. Non-agricultural people had much more varied diets and we have almost zero archeological examples of famines leading to mass deaths of non-agricultural peoples but we have plenty of examples of that happening to agricultural people. Agriculture was, especially initially, a huge step back in food security.

Obviously things have changed a lot since then but some of the risks remain. Cuba is a fascinating case study for what happens when a modern agricultural supply chain can collapse (due to US sanctions). Many many died. But since then there's been a massive focus on locally grown food and even wild tending. I know many people who are into permaculture and alternatives to industrial agriculture who have traveled there to study


AFAIK the first somewhat widely-known language to do this was Haskell (through libraries). I'm not 100% clear on the entire history, but I think it goes something like:

1. Initially there was no way to do effects in Haskell, everything was pure.

2. Then it was realized that IO can be modeled with monads, so the IO type and do notation were added.

3. Gradual realization that monads can be used to also constrain effects, ie you can construct a type of "stateful computations" that can read and write to a specific state, but not touch other states or write to disk or something.

4. Monad transformers are invented, which allow stacking monads on top of eachother to support multiple effects. Together with type classes, this gets us pretty close to extensible effects (the approach used in Flix, if I understand it correctly). So for example you can express that your function needs to write to a log and may exit early with an error message with the constraints `(MonadWriter w m, MonadError e m) => ... -> m resultType`, and you can then use monad transformers to build a stack that provides both of these effects.

5. Monad transformers have some issues though: they affect performance significantly and the interaction between effects is tricky to reason about. So an alternative is sought and found in extensible effects. The initial proposals were, iirc, based on free monads, but those aren't great for performance either, so ever since there has been a whole zoo of different effects and handlers implementations that all make different trade-offs and compromises, of which I think the `effectful` library is now the de facto default, and I think what it offers is quite similar to the Flix language's effect system (I'm not sure on what finer points it differs).


> I'm not 100% clear on the entire history, but I think it goes something like:

You can see my talk "A History of Effect Systems" for a synopsys of the history. I gave it at Zurihac this year. It's very close to the history you gave (though I think point 1 is not right: Haskell always had a way to do IO)

https://www.youtube.com/watch?v=RsTuy1jXQ6Y


I don't think performance was a motive for effect systems in Haskell, it was more about making effects easier to compose, understand and debug.


I don't think it was a primary motivation, but at least the slowness of mtl is mentioned as one of the motivations for the existence of the library.

https://hackage.haskell.org/package/effectful#what-about-mtl


Especially the set example is also just confusing for 7th grade kids (or anyone who doesn't already understand sets, really). It's technically correct to say that you can store the unique ingredients of a recipe in a set, but that's not an obviously useful thing to do (if you want to compose a shopping list, you need the quantities as well), so the example doesn't actually illustrate anything that helps make sets more intuitive to the student. I think many, if not most, kids of that age will also not even correctly parse the phrasing "list all the unique ingredients" (not to speak of the unfortunate phrasing "a set can be used to list all ..." while you're trying to illustrate the difference between a list and a set).


> The government is not prosecuting for speech, which is what the free speech protections can and should guarantee.

This has absolutely started happening, albeit not yet on a large-scale, systematic basis. Mahmoud Khalil [0] resided in the US legally when he was detained with the intention to deport.

[0] https://en.wikipedia.org/wiki/Mahmoud_Khalil_(activist)


Khalil also gave material support to terrorists which is explicitly called out as a no-no on your residency paperwork.


That would be a crime. Khalil was not charged with any crime. The only conceivable reason to not charge him at this point, is because there is no evidence of him committing a crime.


The admin doesn't have to charge him, they can just revoke his visa and deport him.

He passed out written Hezbollah materials. Like with their name, flag and logo on it.

He shouldn't go to jail, but he is no longer welcome in this country.


That's not providing material support. It's just speech.


It's not undemocratic. The behavior of the parliament reflects the reality that only a tiny minority of the population care at all about this issue.

One might be tempted to blame a lack of media attention, but I don't think that's it. For example in the US, the Snowden revelations attracted tons and tons of media attention, yet it never became a major topic in elections, as far as I'm aware. No politician's career was ended over it, and neither did new politicians rise based on a platform of privacy-awareness. No one talks about mass surveillance today. No one cares. There is no reason to believe that the situation is different in Europe.


Parliamentary democracy just fundamentally has a weakness when it comes to single-issue voting. After picking a party to vote on based on housing, economic policy, crime, ..., how much voting power so to say is left for.. which guy the party says they'll send to the european commission? And what that guy's stance on chat-control is? If they're even publicizing that...


Not to mention that once voted in they are not bound by their campaign promises.



I think the primary positive feature of democracy is simply that we have regular peaceful transitions of power. I'm not sure that the fact that the people choose their own leaders by itself leads to higher quality leadership, or even leadership that cares more about said people. But the fact that the baton passes every couple of years is absolutely invaluable.


> how much voting power so to say is left for.. which guy the party says they'll send to the european commission?

Short of a direct (referendum based) democracy how do you resolve that?


In principle https://en.wikipedia.org/wiki/Liquid_democracy is an interesting idea to address this sort of issue.


More expressive voting systems help. If your vote has meaning when cast for something other than 1 of 2 platforms it can encode more of your preferences. Referendums are also not the only variety of direct democracy, you can have sortition.


How many people participate in party candidate selection at all... it's a mixed bag to "primary" out an incumbent... sometimes it's easy as they don't see it coming or a threat... others the entrenchment goes deep.


> The behavior of the parliament reflects the reality that only a tiny minority of the population care at all about this issue

Then it's not very democratic to change it.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: