Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Public static final int EM_NATION_TYPE_UYGUR = 1; (twitter.com/q3k)
228 points by q3k on Nov 1, 2020 | hide | past | favorite | 33 comments


This makes me sick, because I could see myself and many people I know doing the same thing, under the right circumstances, without even very much coercion needed, just writing a bit of business logic...

Totalitarianism is sustained by ordinary people looking forward to shipping the feature and having a nice dinner out on the weekend.




Do we have any proof that this code actually comes from the company in question? E.g. can it be found under https://www.dahuasecurity.com/support/downloadCenter/downloa... ?


OK https://www.dahuasecurity.com/support/downloadCenter/softwar... it is inside General_NetSDK_ChnEng_JAVA_Linux64_IS_V3.052.0000001.0.R.200407


Dahua Technology - Leading Video Surveillance Solutions.


I kept reading Dachau and wondering WTF is this.


Is the constant used anywhere? What does it change?


Code like this doesn't happen unless a programmer sits down and writes it. You have a responsibility to refuse to write code which is morally wrong. This is the cost if you don't: real human lives.


In China programmers probably can't refuse without very huge consequences for them and their own families.


There was another time, not long ago, when people justified doing or facilitating vile things against masses of fellow humans as “just following orders”.

Their point is valid—refusing might cost own life, and there's the prisoner's dilemma, etc. A situation like that seems unlikely to be resolved from within a system itself.

However, appeals to consequences aside, in the end each of us has a choice: write that code (slash architect that solution) or not.


There are a lot of people who have never faced the decision “Do I stand up for what’s right when it means my family will be murdered?”. While you’re clearly familiar with another scenario where that happened, others aren’t, and so the parent comment may help them realize that.


We don’t have evidence that the latter engineer was actually facing a choice between implementing the feature and non-figuratively sacrificing their and their family’s life. Unlike the 70+ year old precedent I was alluding to, for a talented software engineer of non-Uyghur descent in competitive modern China forever robbing yourself and everyone from your family of the opportunity to advance up the party hierarchy may well qualify as “very huge consequences”—meanwhile, what the feature in question facilitates may well qualify as a crime under international law.


Everyone may have the choice but for some it's easier to say no than for others..


Since it’s posted here on HN, I believe this is primarily addressed to those whom saying “no” would cost maybe a promotion, a customer, or even just impaired relationship with a manager.

Having to choose between your family and thousands of others is tragic and I can’t honestly claim which I’d choose, but being blind to that choice (intentionally or not) is probably even more tragic.


Unfortunately I doubt fear of reprisal was the motivating factor behind whoever wrote this code.


Perhaps. But I'm appealing to HN readers here, not to China.


From purely a programming perspective: Have they not heard of enums?


https://twitter.com/q3k/status/1322949727600680962/photo/1

I'm wondering what -1 could mean in that context.


That comment translates to: "charm value, -1 means invalid, 0 means not recognized, it ranges from 1-100 when detecting, higher the score means more charming."


This is absolutely disheartening. You would think, seeing how ferociously people attack Holocaust deniers, that we have learned our lesson but it is absolutely not the case.


"Never again". And here it's happening right in front of our eyes.

And no one can do anything because a war with China would be worse, and because China is not attacking outside its own borders.

There's some quote I can't find about countries that only do atrocities inside their borders are never held to account for them.


Never forget.


To help someone else with context:

https://en.m.wikipedia.org/wiki/Uyghurs


So, github should terminate this account immediately. But why is this source open to begin with?


Because you have the code, and why not? The same mentality as everyone sharing mp3 online back in the day.


Why? Is censorship in free society going to help? How?

HN should terminate your account immediately. See? It works both ways. Don't play with fire.


[disclaimer] Coming from EU context.

Sorry but what is the issue here? Because they use a special value for Uyghurs? We don't know the context why they did that, do we? Maybe it is totally fine. I would not see a problem with any other _NATION value...


Imagine UK company providing hardware for their CCTV network had this code under the hood:

    EM_NATION_TYPE_PIKEY = 1


Following in the proud tradition of IBM I see [1] and Facebook [2][3]. At this point it may be worth considering creating a professional code of ethics saying something about genocide being bad.

[1] https://www.amazon.com/IBM-Holocaust-Strategic-Alliance-Corp... [2] https://www.nytimes.com/2018/10/15/technology/myanmar-facebo... [3] https://www.vice.com/en/article/xg897a/hate-speech-on-facebo...


I'd say there is a pretty big difference between actively building software to accomplish a goal, vs failing to remove content posted by others to accomplish their goals.


I don't think that made what I said any less true. Obviously I'm not saying that Facebook is flagging people to be put in concentration camps or doing anything akin to that. What I am saying is that our industry has been complicit in multiple genocides at this point and I think we should do something about that.

When you become a doctor you must take the Hippocratic oath, I don't see any harm in considering adopting something like that.


Doctors don't take an oath that says "I won't give patients tools that could be used to harm others". They take an oath not to do harm themselves.




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

Search: