HNHacker News
TopNewBestAskShowJobs

nerdtime

-8 karma · joined October 24, 2020

submissionscomments
nerdtime··on Why I Prefer Functional Programming
No it's not that. Even in posts where I just state logical reasons for disagreement I get voted down in this thread.

People vote down what they disagree with, if they agreed with me, most peoples' biases would usually find my attitude appropriate.

If I said something like logically I feel a certain race is inferior genetically. People will vote that statement down purely out of disagreement and misinterpret it as an emotionally charged statement and illogical.

It's just a statement with no logic behind it. It's dead pan with nothing. You can't even find erroneous logic with it because the logic wasn't even spelled out. You can only technically disagree with the statement. But people will subconsciously add all sorts of embellishment.

That's how people work. Maybe Nimish didn't vote me down, but they certainly aren't voting me down because I'm crossing some sort of line. They're voting me down because they disagree. That's the majority of it.

You'll find that more than anything the majority of what I write are just dead pan responses with like 5% of the sentences being "expressive." In fact a great number of stuff that I write that gets voted down is just dead pan responses with zero "expressiveness."

It's because people can't tell the difference between someone disagreeing with them and an actual attack. That's human nature. We all think we're above it, but basically none of us are. You'll find that even you are like this.

The reason why I get voted down is because my opinions tend to be different than most people. So people interpret this disagreement as an attack.

nerdtime··on Why I Prefer Functional Programming
>You're just trolling at this point. Please reconsider your confidence in this material, because you are egregiously mistaken.

Why the heck would I run such a long expose and troll you and be mistaken at the same time.

>How does this Haskell program write to stdout if it doesn't mutate memory?

Let's not be stupid here. Every program on the face of the earth must mutate memory because that's how computers work. Assembly instructions mutate things. We're not even talking about that. We're talking about application level programming where we only deal with primitives that the application programmer is aware about. I am saying that at the application level within the category of Hask nothing is mutated.

In your example tell me what haskell primitive.... What variable or data was mutated within haskell? That is what I'm referring to.

Try to implement IO or ST in another lang using only purely functional primitives. Use your algebra to make it work. You'll find it's impossible. What this means is that imperative primitives must exist for any programming to work.

>Then it doesn't work. Every Haskell program does nothing, because mutation of program state does not occur.

Obviously I'm operating on a certain layer of abstraction here. In X = 6, X is obviously immutable in haskell. A runtime is obviously executing your haskell program and mutating the console but your haskell code itself is pure. But you know this. It's quite obvious you're the one that's trolling.

nerdtime··on Why I Prefer Functional Programming
>That's great, because the purity of Haskell does not inhibit mutability. It just constrains it to lie within some mutable context.

Haskell does inhibit mutability within your haskell program. Your haskell program does not mutate. What it does is it that it does IO operations and the mutations happen externally. It can also model mutation without doing actual mutation but in the end there's no point in a program modelling mutation if the program can't actually do mutation or IO.

>Location? What is a location? It's like you're saying you can't truly add 3 + 3, because someone still has to add 1s under the hood. It's just a different model of the same problem.

Location meaning outside of haskell. Like your database. I'm saying within haskell you have a variable.

  x = 3
You can never mutate that variable in haskell. However you can mutate the state of the console without ever mutating any state within haskell.

    print "hello"
The above triggers no mutation in haskell. A runtime outside of the haskell universe analyzes the IO instructions and mutates the console. What I am saying is that the thing that mutates the console has to do mutation. Whoever wrote that thing HAS to write imperative primitives. They are moving the imperative nature of programming INTO a framework. They are not eliminating the problem.

This is the same thing as a database string. UPDATE. You are moving all the imperative errors that have to deal with threading and mutations to the database. But your haskell sql string is still pure.

Again my argument is just saying that this thing that is doing the UPDATE or mutating the console cannot be built using haskell style code or immutable algebraic concepts. Imperative primitives need to exist and someone needs to use those primitives to do the actual mutations.

The OP is basically saying algebra is the future and it can replace everything. I'm saying it CAN'T.

>Honestly, it sounds to me like you've never used the language, and your criticisms come off a bit like standing on an aircraft carrier shouting about how iron boats will never float.

And honestly you sound like the guy standing on the iron boat. The person I'm shouting at is you, but you're just dismissing me.

nerdtime··on Why I Prefer Functional Programming
>but you're talking about that as though it were an inherently flawed or invalid approach,

This is just your bias. I never said this. I feel some people worship a paradigm so much that they see everything as an attack. FP is great however it is not a one size fits all solution. There are limitations. This is literally what I said.

>Mathematicians have no trouble modeling change. There are many ways to do so. Some are algebraic, some are not. There is nothing wrong with modelling mutability using immutable structures: that is how you probably think about history, after all.

You can model change with purity but the program in the end actually has to conduct the change without the modelling. The application has to eventually perform real world actions and the purity of your program cannot protect you from potentials pitfalls of imperative style errors/mistakes.

You have a database. The purity of haskell does not remove the necessity of mutating data in that database.

What you can do is segregate dealing with mutation/IO to a framework or external service. This is what haskell does, but you see this is just shifting the problem to somewhere else. Someone somewhere still had to deal with the issue of mutation. Modelling mutation with purity does not eliminate the problem it only moves the problem to another location.

Segregation of mutation/IO into a framework is a good thing. It makes it so that the problem can be solved one time, rather then a problem solved many times. However the main point of my post is to say that "math" or "algebra" is not a one size fits all solution. You cannot model everything this way, moving the problem into a framework does not make the problem disappear. Someone still had to use imperative primitives to deal with the issue. Think about the complexity of a SQL database.

nerdtime··on Pyston v2: Faster Python
Why not make the languages that are easy to use speedy? That way I don't have to search for one or the other.
nerdtime··on I am an Uighur who faced China’s concentration camps
https://news.ycombinator.com/item?id=24922097
nerdtime··on I am an Uighur who faced China’s concentration camps
Guys don't be stupid. Colloquially we all associate genocide with killings, the oxford definition captures this fact. We all know it, you can look up the formal term but when someone utters the word genocide the last thing they think about is sterilization. They think killings. We all know this by common sense. You guys are using technicalities to further an argument for no reason.

In addition to this the technical terms are all different so it's not like I've been proven wrong. My oxford definition actually incorporates the word "killing" so we can argue about technicalities till forever or we can not be stupid and admit that when people hear or use the word "genocide" they think about "killings" "murder" and mass "slaughter"

Under the other definitions basically an abortion clinic becomes a genocide clinic. We don't associate abortion clinics with genocide... nothing is out of line here At all.

You guys can cite the UN definition of genocide but nobody uses that definition in the english language, it's really too big a of an essay for someone to hold in their head. Realistically when you see the word in an article or uttered by a person it's using the oxford definition which is the exact context we're in right now.

nerdtime··on I am an Uighur who faced China’s concentration camps
And it's also possible China is completely in the wrong. I'm not even advocating for an even sided situation, I'm advocating understanding the situation first before throwing an accusation.

What we do know is this... we have people on the inside of Hong Kong and we know that in Hong Kong China is not conducting mass genocide or opening up re-education camps in Hong Kong. This is different from what's happening with the Uighurs... we need to know what prompted China to react much more heavily against the Uighurs (as opposed to Hong Kong) and we also need to confirm whether the alleged "genocide" is real.

The post that was called disgusting is indeed a valid alternative viewpoint quite possibly from someone closer to the situation than your average white guy.

Also keep the outrage in check. Even a modern western country in 2020 is capable of this crap. The US has their own detention camps open today. It exists using a technique called extraordinary rendition to get around American laws. The camp is called gitmo and there are some real pictures about some really horrible shit that went down at gitmo.

nerdtime··on I am an Uighur who faced China’s concentration camps
>I'm not American so the US-China rivalry comment is not relevant to me. If my family was killed by a bombing attack I would want to get to the bottom of why it happened in the first place without just blaming an entire population and justifying their genocide.

When someone bombs your family you take the time to find out why they were bombed and try to understand the otherside before shutting down the otherside.

But when someone voices their own opinion. You just call their opinion disgusting and accuse them of genocide.

The man is obviously not supporting genocide. If the chinese are supporting genocide than the man obviously doesn't know but an accusation of genocide needs extreme proof and right now there's only rumors.

Maybe what's really going on is you're selectively applying your empathy to whatever suits your preconceived viewpoint.

nerdtime··on I am an Uighur who faced China’s concentration camps
No it's not. First off he's not advocating genocide and second off you need proof that genocide is happening before you can make such a serious accusation.

You're telling me that a holocaust level genocide is happening in China right now? Serious accusations require serious evidence. Prove it. Something like pictures of mass graves like the ones you've seen in the holocaust or the rape of nanking is sufficient for me to do a complete 180.

What's going on here is mob mentality and you're part of it.

nerdtime··on I am an Uighur who faced China’s concentration camps
>Excusing / advocating genocide

Genocide is a very serious accusation. The word is thrown around in this thread in a trivial way as if you can accuse anyone of advocating it. Let me spell it out for you: Pretty much no one advocates this. You're coming at him saying "I never said it was at holocaust levels" as if that makes a huge difference. This is mass human slaughter we're talking about.

He described it with the word "Holocaust" for two reasons. To detrivialize the usage of the word and because I've seen numbers being thrown around as if millions of people were exterminated.

>"concentration camps are bad but.." No but. There's no but there.

There is indeed a but. The US put the japanese in concentration camps in the past. This does not raise them to the same position as Hitler gassing the jews.

>I am going off first hand accounts and confirmed facts. What are you doing?

Confirmed facts of genocide? Show me some pictures. Show some proof. The seriousness of the accusation demands serious evidence.

>Reducing this to a "two sides" issue is shameless deflection. What part of the dozens of reporting done on Xinjiang do you think is false, and what facts are you basing that on?

He's reducing the issue to an "all sides" issue. Insulting an alternative view point is reducing it to a "one side" issue.

Let's keep things utterly clear here. It is completely wrong to build internment camps. Completely. But it is also completely and utterly wrong to silence another view point and accuse someone of genocide.

You don't solve an issue by attacking the people who created the internment camps without understanding the situation which caused them deploy such drastic procedures in the first place.

nerdtime··on Admitting That Functional Programming Can Be Awkward (2007)
Functional programs tend to be more modular than imperative or OOP counter parts but nobody really knows why nor do they understand the cases where FP becomes less modular.

FP is only modular when you use combinators. If you use closures then it's no longer modular.

   f x y = x + y
   g y = y * 2
   w x = (f x) . g
g and f are combinators and modular and w is the composition of both of those combinators.

   w = \x -> (\y -> (x + y) * 2)
In this case the above is not modular because it doesn't use combinators. The above style is actually kind of promoted by haskell when you need to do things with side effects. It actually makes FP more complex than it needs to be without improving modularity.
nerdtime··on Admitting That Functional Programming Can Be Awkward (2007)
The other phenomenon here is that an imperative program with immutable state is isomorphic (exactly the same) as a functional program.

Literally the same thing.

nerdtime··on I am an Uighur who faced China’s concentration camps
Curious, yeah this is interesting. The powers gained to quell the terrorism seem to be getting used to fulfill ulterior motives, not to different from the presidential powers gained after 9/11. Seems to be a common phenomenon.

Do you have a source where I can start reading more about this stuff?

nerdtime··on I am an Uighur who faced China’s concentration camps
>Maybe if you believed in your argument you’d reply with your real account, not a green one.

Looking at his karma which is barely anything in all accounts likely he has no real account. Also the usage of other accounts is likely a symptom of a post limit. Either he can respond to you with another account, or he can ignore you because he can't respond with the same account. Either way these actions are not sanctioned by the site.

>You keep comparing apples to oranges in order to fabricate an argument. There is no systemic genocide perpetrated by the USA

You can call it whatever you want. There was a sponsoring of troops by the US to slaughter people abroad for over a decade. Mass slaughter in the name of war rather than genocide.

The chinese are not slaughtering people. They are putting them in concentration camps and educating them. Torture, Indoctrination and brainwashing are the more appropriate terms with the accurate sentiment.

So yeah you're not wrong it is in way apples and oranges. Do you end terrorism by slaughtering terrorists? Or do you end terrorism by torturing, brainwashing and indoctrinating them? Pick the apple or the orange.

Oh and in both cases there will be innocent bystanders affected.

nerdtime··on I am an Uighur who faced China’s concentration camps
There is no disagreement here. Most people didn't agree with the Iraq war. He never said that his statement referred to the Iraq war.

Given the context, he's likely more talking about the immediate response following 9/11. Military action was highly supported following the events of 9/11. There was so much support, in fact, that the president now has the power to send troops to any part of the world without declaring war