Top
Best
New

Posted by dreis_sw 10/23/2024

What happens when you make a move in lichess.org?(www.davidreis.me)
359 points | 158 commentspage 2
ruereed 10/24/2024|
what actually happens when i make a move is someone takes my piece
evrydayhustling 10/24/2024||
It seems shocking to me that the server enumerates and transmits all legal next-moves. I get that there could be chess variants with server side information, but the article also says it might be good for constrained clients. Is it really cheaper to read moves off a serialized interface than to compute them client side??
jdthedisciple 10/24/2024|
pretty sure computing moves is in NP so probably yep
evrydayhustling 10/25/2024||
Nope, finite number of pieces and finite number of viable moves to check on each. Not sure what you're thinking of, but the entire concept of complexity class only applies if there is some axis of scaling (n-size chess board?).
jdthedisciple 10/25/2024||
I think you might be misunderstanding:

Yes the instance of chess is finite but the problem of computing moves is inherently in NP.

The key is that just because a problem is in NP it does't mean that its difficult to solve the instances with small parameters.

See the famous coloring, SAT, or any other equal NP problem...

evrydayhustling 10/25/2024||
When we talk about what class a problem belongs in, we have to define the problem with respect to some scaling axis. For example, coloring with K=3 colors is NP-complete with respect to N = # nodes in the graph, but not with fixed N and scaling K. But I think it would actually be an interesting and non-trivial exercise to define a variant of chess with a scaling axis such that computing a list of valid moves for one player is NP-complete. Just scaling board size won't do it. Any suggestions?
jdthedisciple 10/25/2024||
Sorry I think I was talking about a different thing. With depth as scaling axis it should be NP-complete, but not with depth=1 which is what was being talked about. My bad.
bobmcnamara 10/23/2024||
nit: fen only encodes board state, not game state

Edit: also includes move count but not repetition.

xrisk 10/23/2024|
How is the game state not just the board state? Move history doesn’t matter in chess (FEN encodes the 50 move rule)
andrewaylett 10/23/2024|||
Per Wikipedia, it doesn't encode the threefold repetition rule.

https://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notati...

anamexis 10/23/2024||||
Indeed, the 50 move rule, as well as castling rights, whose move it is, and whether any pawns are currently eligible for en passant.
kzrdude 10/24/2024||||
Unfortunately move history does matter
michaelmarkell 10/23/2024|||
Timing of moves
shironandon 10/23/2024||
what happens to those websocket connections when the API is updated or redeployed?
paxys 10/23/2024||
It's pretty easy to build auto reconnect capability in the client. The server will drop all its connections and go out of rotation, and the client will start a new connection and find the new one. If the switch happens fast enough then the user shouldn't even notice.
conover 10/25/2024|||
Along with the reconnect solution already mentioned, you can also decouple your Websocket and business logic layers using something like Pushpin: https://pushpin.org/. This allows you to deploy your business logic layer without disconnecting/reconnecting clients.
zazaulola 10/23/2024||
It is to be expected that LLM will make a decision on its own if it suspects any changes to the API. In any case, there is no time to fix the code during the game.
VoidWhisperer 10/23/2024||
They werent talking about an LLM here
sam0x17 10/23/2024||
20 years later I still think "female lich" whenever I see the word lichess, even though I know it's li chess.
krisoft 10/24/2024||
One day I, if I find the time for the pun, i really want to sculpt a chess set where the black pieces are all undead necromancer wizards and the white pieces are all asian fruits with rough-skin. That way we can have a game of lychees vs liches on lichess.
AlienRobot 10/23/2024|||
When you promote a pawn to queen that's actually the lichess.
Suppafly 10/23/2024|||
makes me think of the Asian fruit.
Keyframe 10/23/2024||
there are more of us then!
blastro 10/23/2024||
lichess is one of the best sites on the internet. very happy to contribute my $5/mo
hilux 10/23/2024||
Hello, fellow Patron!

Even though nowadays I hardly have time to play, I'm still happy to support such a delightfully honorable and usable(!) open-source project.

dankwizard 10/23/2024||
People love mentioning that they donate to LiChess.

It's a weird trend. Altruism truly does not exist

(I donated btw) (Probably more than you) (But who's counting)

hilux 10/23/2024||
You must be fun at parties.
trod123 10/23/2024||
If you consider this to be true, you would seem to have a rather low standard.

There are many aspects in which they are not the best.

dibyadarshan 10/23/2024||
Like?

Ad-free, compute intensive, non-CRUD, massively scaled, complex cheat moderation, infinite puzzles/analysis, educational (studies/tactics/openings explorer), etc. All this for free. I'm curious what's the best website in your opinion

trod123 10/24/2024||
I could elaborate, but rather, let me ask you this instead since its more relevant.

What is the point of responding with any legitimate criticism when any potentially negative sentiment however mild, upfront, expressing disagreement, gets downvoted to the point where the mechanics of the website squelches the person and silences them (by purposeful intent).

Can you ever have any legitimate intelligent conversation after a participant has been harmed and effectively silenced in this way?

When you cannot speak freely, there can be no intelligent communications raising the bar objectively. The opposite occurs, and anything provided, even seemingly rational conversation falls after such a threat or action of violence, all conversation then falls into the gutter as a result of the added coercive cost imposed. You may contend that its not violence, but it meets the WHO definition for such which properly accounts for psychological torture and coercion (of which this is a common form).

It should go without saying, but you cannot have any intelligent conversation when those who embrace totalitarian methods prevent you from speaking (and yes these meet the criteria).

At the point this happens, regardless of valid criticism, or pointing out errors in methodology, it all dies on the vine, the communication is clear; you will be punished for disagreeing. That destructive behavior inevitably leads to ruin.

This is fairly basic stuff, in order to think and be intelligent, one must be able to risk being offensive. In order to learn something new, one must risk being offended.

When neither are possible because you or someone else muzzles any conversation expressing disagreement or corrosively add cost, even under such modest terms as here, the fallout is silent, yet devastating.

It might not seem like much, but the light goes out of the world as those with intelligence withdraw their support, and the natural consequences which were held at bay by these people, albeit slow moving, become inevitable.

Best of luck to you. There is only the possibility of harm by continuing any discussion under these circumstances.

I'd suggest remembering this when you start wondering, "where have all the intelligent and competent people gone?".

Silence doesn't indicate agreement. It is indicative of the best and brightest no longer contributing to the same systems that seek to destroy or enslave them.

palata 10/24/2024||
It seems like your negative sentiment above has been downvoted a lot, and I understand your frustration. Your comment was indeed not offensive.

But I believe it was just that: a negative sentiment. Not exactly a "constructive, intelligent criticism". And when you go there, the reality is that people will vote to reflect their own opinion. If you say "This project is so amazing!" and get a ton of upvotes, it does not mean that your comment is super useful; just that many people agree. Similarly, if you say "Naah, it sucks" and get a ton of downvotes, it means that many people disagree. Not that they want to silent you.

Now try an actual constructive criticism: you may get downvotes (that's how it is because people are emotional beings), but probably upvotes as well if you bring interesting insights.

> There is only the possibility of harm by continuing any discussion under these circumstances.

That's fair. I think one mistake there is that you should have started with a constructive criticism rather than an admittedly polite "naaaah, I think it sucks".

trod123 10/24/2024||
There is no point, even my previous response was significantly downvoted, and that was quite constructive which contradicts your entire statement.

You might suggest such, but this has the effect of just baiting me for a response so it can be marked down more where you are engaging me for the effect to further punish.

You see these people don't do this because of their opinion, they do it because it causes psychological harm, its a totalitarian tactic that is not unknown. Silencing was used somewhat heavily during Hitler's rise to power.

Forcing the only conversation to first agree before moving forward, at any point, causes you to fight your own psychology to remain consistent and the process warps you subtly. Most aren't self-reflective enough to notice but the effect is the same regardless.

Robert Cialdini wrote quite a lot about the various lever of influences that are often used as mental compulsion/coercion, and Joost Meerloo and Robert Lifton both cover these structures and techniques in detail in the context of WW2 torture and moving forward. These behavioral structures run parallel with those of the Nazi's, and other totalitarian regimes.

This is what is happening, and when mild conversation causes this type of behavior, this is the time you should be most greatly concerned because its arbitrary, causes mass delusion, and continues until destruction, albeit slow, overtakes that group.

As far as I'm concerned, the people doing this can ride their train right to their own demise for all I care. They are true evil, and they'll be doing the world a favor when that happens. The rules of society will no longer protect them once they destroy society.

We were taught from children to not be violent. This is violence, there is no excuse for bullying, and people are no better than animals if they can't reason and be civil. What one does in small things, they do first in large things that matter.

If they want to be violent for a mild comment like that, they won't get anything from me, and I'll reciprocate in the only way I can right now, withdrawing and not providing anything of value.

I'll pray I never meet them in person because if you or anyone else tries to harm me, I'll be exacting an equal or greater cost in self-defense.

This destructive behavior is despicable on so many levels, and you say its not so bad but you don't realize just how bad it gets, this behavior promoting menticide, and robotization is what led to the gas chambers in Germany during WW2.

When no one questions rationally, or can express disagreement, evil flourishes. You can't ever argue with evil, you have to kill it, as we had to do during WW2 (at great cost).

Read the notes from the Wannasee Conference, or if you can't be bothered, rent Conspiracy (2001). The history is well documented by experts who studied these things to prevent it from ever happening again, and yet it seems no one has learned their lessons since they repeat it yet again.

They are emotional beings (/s), can you imagine that being a valid defense of Nazism during WW2? For the deaths of all those Jews in the camps? If it's unjustifiable at the extremes, it is unjustifiable anywhere.

These are the same things, the only difference is perspective and the fact that you don't have perfect information upfront at the bottom level, you only ever find out afterwards, and its a goose-step death march ever forward and people don't realize this is how it works. One step at a time, pivoting, with no questions.

This is only the beginning, and when you can't stop it early, then its too late to do anything later to prevent the massive destruction that these people inevitably bring on themselves and everyone else.

This is why it is so damn important to protect and maintain freedom of speech in a civil atmosphere. There can be no rational support for this behavior, not ever.

Please stop making excuses for the truly evil.

palata 10/25/2024|||
Well, moderation is very hard. I guess in an ideal world people would be able to upvote/downvote based solely on the quality of the comment, and flag for moderation when they genuinely think a comment is unacceptable. In such a world, your polite "nah it sucks" would still be downvoted (because it's neither insightful nor pleasant for Lichess supporters, let's be honest) but it would not disappear; it would just appear at the bottom of the list and you wouldn't know how many people disagreed with you. But that's not how it is, so your comment looks like it got moderated when actually I genuinely believe it just got downvoted by many people.

Now I would not compare this to Nazism or call it "true evil". Try to pick someone randomly in the street, go talk to them and politely explain why you find them unattractive (e.g. "I just would like to say that anyone finding you attractive would have pretty low standards"). Would you call it Nazism if they asked you to leave them alone?

trod123 10/25/2024||
When you silence people, you isolate them.

Isolation does weird things to the mind, one of which distorts reflected appraisal, other parts where reflected appraisal is denied in communications are even more impactful. It induces a involuntary hypnotic states which varies in intensity by exposure.

The tortured takes on mannerisms of the torturer, and when denied communication, or only distorted reflected apprsail long enough their entire being unravels, and you have psychotic break or disassociate completely. The psychotic break is a semi-lucid state where planning is capable. To make an apt comparison, an active shooter might fall into this latter category. Years of investigations into what causes these people to do what they did, and the powers that be can only say with certainty that these people were bullied, but no clear cause can be found.

Coercion is a dangerous thing.

You can corroborate what I've said with the literature in the books I mentioned, or with isolation studies where the studies had to be cancelled early for the safety of the study participants. There is a lot of research out there.

Destroying someone's identity, their personality, what makes them them, is true evil, and these structures are how you do it which is why its so important to recognize the problem, few do.

Your comparison is apples to oranges. It is not asking someone a opinion, its silencing them entirely by force, where they are disadvantaged when they don't answer. There is a very big distinction between the two.

palata 10/25/2024||
> When you silence people, you isolate them.

I do understand, and it is unfortunate that moderation gets mixed up with score. If you have a better solution, feel free to explain it! Because not moderating at all is a problem in its own.

trod123 10/25/2024||
It wasn't always like that. The actual solution is something that all forums have done for decades starting in the 90s with BBS/moderated usenet groups.

You only allow moderators to do the actual moderating. You don't allow upvotes or downvotes because they are used following a sybil attack structure (many sock-puppet accounts to one person) to silence or amplify messages.

You have a flag button (which they already have in place for HN), to report content that should be flagged for violating rules.

Those that report spurious (good) content get warned/punished for abusing the flag features. They may have the feature silently revoked (shadowbanned) for abuses, or banned for other activity suggesting the accounts are sockpuppets (i.e. going directly to an article when normal viewing requires first loading the index, then following a link with the associated metadata including the referrer to get to the page to make a report.

It really is that simple.

This moderates, and it limits bad actors, its still done in most online forums that are still around; because it works.

palata 10/28/2024||
> Those that report spurious (good) content get warned/punished for abusing the flag features.

What about this? Sounds like it may "silence" people who flag stuff that [those in power] think should not be flagged. How is that different from you thinking that you are silenced because people did not like what you wrote? Someone could feel like they get silenced/warned/punished because they genuinely flag what they see as inappropriate content, right?

trod123 10/30/2024||
> What about this? Sounds like it may "silence" people who flag stuff that [those in power] think should not be flagged.

In practice, when you write clear consistent community rules and guidelines that are unambiguous, the averse silencing issues of arbitrary action are non-existent. The only people who get warned are bad actors, or others with mental illness often based in delusion (who should be de-amplified and silenced as they are unwell).

Echo chambers promote the spread of mass delusion and the psychosis needed by totalitarian regimes to persist in their destructive natures towards a final outcome. This includes state-run media (a tyrant's best friend).

These use the same mechanisms we use naturally to develop our identity and adopt our culture as we grow from children to adults, but towards more destructive outcomes, the banality of evil and the radical evil (WW2) are well studied subjects.

It should go without saying these moderator actions all inherently come with reasonable graduated responses based on severity and persistence of the threat; sophistication naturally increases severity, but remains consistent unlike HN news.

You are told what you did wrong when you do wrong as opposed to the Chinese Anaconda in the Chandelier Strategy whose outcome will only result in all rational people being eaten first, then the irrational rest, then no ones left (since the Anaconda dies from not eating and it ate everyone).

Being told what rule you broke and having it be reasonable, fair and just, is fundamental in having due process, and underlies the basic "rule of law", and avoids conformist irrational silencing by mob or corrupt officials (as under a "rule by law"; you show me the person I'll show you the crime.)

> How is that different from you thinking that you are silenced because people did not like what you wrote.

At its core, you have to ask yourself what is the difference for you between objective reality and delusion, and secondarily (or primarily), what is your working definition of delusion. Finally, should the delusional be allowed to force you to become delusional through mental coercion? Those who are delusional are fundamentally destructive because they are blind to the truth (a requisite of evil people).

Needless to say, this is the bundle of questions underlying the core question you are asking, though it has intrinsic ties to how we know truth from falsity in the first place which is based in western philosophy. Unfortunately, this subject is not taught in developmental curricula anymore (K-12), and classical education covered this under the curricula that included both Trivium and Quadrivium curricula elements pre-Prussian school model of centralized education. The classical education gave rise to generations of hyper-rationalism which allowed rapid technological progress and advance up until WW2 when the change (given maturity time lag), occurred. At any one time two to three generations live side-by-side, a generation being 20 years. Those raised under the prussian model came of age in the 1930s-1940s. The late 1940s-1970s are when societal problems started occurring beginning at the critical point an individuals 30s-40s where political power is transferred generationally. It progressively has gotten worse ever since to current day.

Unfortunately, answering those questions without allowing ambiguity would exceed several pages and laying it out step-by-step so you can see the mental gymnastics done to point out the subtle distinctions, make this area fairly irreducible in a post here (its too long).

At its core, the issue is often started with corruption of language and definitions which involves creating circular or contradictory alternate definitions (not tied externally or objectively). As an example, take a look at the google definition for delusional (2), and then deluded, both claim to be from the Oxford Dictionary (from google). What happens when you say something based in fact, and they adjust the context deceitfully using these contradictory definitions.

Once you check those definitions out, then go to the Oxford Dictionary website and find that definition pre-1970. You will find there is a subtle but important distinction and that they are not the same. Newer similar ambiguous words are being adjusted to be tautological as well. The false premise being if you don't have words to describe something accurately, then it doesn't exist (often an underlying communist/marxist thought theme).

This lessening is what Orwell tried to warn against in his dystopian book related to language, deceit, and its impact on people.

This isn't an accident either, it is being done purposefully by intent and design following socialism/communism themes. The selfish ledger is a leaked google document that uses elements from Maoism in Google's own words, and debunked researchers, to mislead and promise utopia while leading to dystopia. This is why its important to keep older dictionaries when online references can be poisoned/paywalled without notice.

Check out Dr. Epstein on Youtube related to Google's Worst Enemy. You'll no doubt notice he's being discredited algorithmically by matching related videos up with Jeffrey Epstein to manipulate you. This is the common level of sophistication and it goes so much deeper in the literature, and its rationally supported.

To answer your core question.

The delusional or schizophrenic person doesn't base their reality on external objective evidence following rational principles, or structure. When someone does base what they say with evidence/fact, they aren't and can't be delusional until they use something incorrectly that may be valid but is not sound. Baseless feelings don't generally matter, they are transient where objective facts and supported premises do matter (above all else).

> Someone could feel like they get silenced

People can feel whatever they want, guidance is issued by moderators when something is unclear to remain consistent. Unwell people are encouraged not to participate. Using references to words like feelings, and other aspects of the mind all boil down to whether the person in question is being rational or delusional. If the latter, they are unwell and should be moderated. If the former, they can participate. The rules are consistent to segment the two based on rational behavior.

Rationality and our ability to discern falsehoods is largely what separates us from animals, and we are living through an age of lies, deceit, and ruin never before seen. Taken to one of many possible logical conclusions, eventually dependent systems will collapse as all systems have been made progressively more brittle as concentration/sieving occurs at all levels of centralized planning (predicted), and eventually just like under Mao, there will be a great dying only it will be much worse. A calamity, never before seen at such a scale. This is the natural consequence when you have a generation die off who disadvantaged their children through changes they made, so profusely that they don't have a replacement birthrate (i.e. depopulation).

As you can see many things are intertwined but they largely all come back to the fundamental building blocks of society and what made it work previously, which has been changed and made more brittle systematically over time, prior to bringing stress to cause failure for a pivot to statism.

If one isn't educated on what those building blocks in the first place are, its difficult to even have a discussion, or get traction on problems since there is no common ground for shared meaning.

Putting it mildly more damage is done with unsound methods based in delusion, and an incomplete picture on the failure domains, than no action at all. People today largely were never taught to think rationally. A very small minority are an exception, and they have no real voice.

Cascading failures on two sides of a shrinking cliff-side, with the delusional leading the way over the cliff like lemmings, and preventing any other path forward secure in their hubris and death march towards destruction.

It is not a hopeful outlook once you get to a point of no return, but that's how it is when people become complacent and eventually delusional.

TheRealNGenius 10/25/2024|||
[dead]
ilrwbwrkhv 10/23/2024|
Beautiful architecture. Startups and companies like Netflix should learn from this instead of cargo culting microservices.
enneff 10/23/2024||
And what exactly do you think lila, lila-ws, and redis are if not microservices (or as they should be called, “services”)? Lichess could easily be implemented as a single monolithic process but it is not.
immibis 10/23/2024||
They are services, but not micro. lila-ws spun off of Lila for a good reason (fault isolation) and not because "let's make everything a service". And they don't follow any standard microservice pattern - a reverse proxy isn't a microservice.
enneff 10/24/2024||
https://github.com/lichess-org/lila?tab=readme-ov-file#produ...
immibis 10/24/2024||
this architecture diagram shows that lichess is a traditional monolith with a handful of functions separated.
ajkjk 10/23/2024||
What? Do you have some reason to think Netflix's architecture is deficient?
paxys 10/23/2024|||
Because the top 5 comments on HN always say so, so it must be true.
ilrwbwrkhv 10/23/2024|||
Overly complicated with microservices. Can be made 10x simpler.
LinuxAmbulance 10/23/2024|||
Sometimes simplicity is not the best goal.

Redundancy, scalability, decoupling, resilience, best possible handling of errors, cost optimization, etc. may be more important at the scale Netflix operates at.

lcnPylGDnU4H9OF 10/23/2024|||
> Redundancy, scalability, decoupling, resilience, best possible handling of errors, cost optimization, etc. may be more important at the scale Netflix operates at.

So much that they built a tool to intentionally make things difficult (read: it arbitrarily stops production system processes/containers/etc.) and help inform what decisions to make in favor of fault tolerance.

> Exposing engineers to failures more frequently incentivizes them to build resilient services.

https://github.com/Netflix/chaosmonkey

https://en.wikipedia.org/wiki/Chaos_engineering

renewiltord 10/23/2024||
Embarrassing. I built 99% of Netflix functionality locally with VLC and a subdirectory of mkv files.
trashburger 10/23/2024||
Good for you. Now please aim 10,000 requests a second at your file server.
renewiltord 10/23/2024||
Because I don't use microservices, I don't need 10,000 requests a second to play a video file.
achierius 10/24/2024||
I think the point was 10,000 files on 10,000 different hosts, per second.
renewiltord 10/24/2024||
Well, if they’re only watching one second of video that’s easy. The files could be super small too.

Okay, I can’t keep this up. I was parodying the position not being serious.

ilrwbwrkhv 10/23/2024|||
For Netflix level of complexity. Pornhub has more traffic and serves more customer than Netflix with monolithic PHP and some services.
kredd 10/24/2024||
They require completely different levels of viewing patterns and complexity. It’s such a reductionist take.
ajkjk 10/24/2024|||
You know something about their internal architecture and why it was built that way and the tradeoffs involved, I guess?