Do they even use Scala? I thought they were using Java (but I may have outdated knowledge). Lichess is written in Scala. Do you have any pointer to an article describing chess.com tech stack?
The listings on https://www.chess.com/jobs provide some hints. Some mentions of PHP and Java for the backend, Kubernetes, Kafka, Redis, MySQL, Mongo, AWS, and GCP, among other things.
Well there’s the bottleneck in a nut shell. Ditch the PHP. At least consider Play if you can’t ditch the Java (I can’t vouch for it, but theoretically it should help.)
Otherwise they should consider Elixir/Phoenix as it is easily distributable and/or Rust if they need breakneck speed per thread.
Individually the reasons given sound weak, but they make some sense if you see it as some self-reinforcing trend: the 2020 chess spike fueled by Corona and Queen's Gambit has put chess back into public consciousness and caused content creators to produce more chess content. That set the scene for the next wave, which was catalyzed by the cheating scandal bringing chess into mainstream media for a couple weeks, and creating narratives for people to follow. This has lead to chess related gifts and chess related social media posts, which reinforces the chess trend. Events like chess boxing probably helped, but are mostly a symptom of chess being more mainstream right now.
Feature wise I agree with you, lichess is amazing.
Chess.com funds a lot of tounaments that make the chess scene a lot more fun and interesting, lichess cant't do that.
I don’t mind paying for something particularly if it means the people who run it can make a living from it —- and hopefully ensure it’s still around in 10 years time.
Lichess has less chess variants, less learning content (made by IMs and GMs), and has some gameplay differences:
- on chess.com you can premove multiple times, each premove consume 0.1s on the clock
- on lichess, you can premove only one time, but it does not consume time on the clock
Also the player pool being different, the rankings are not equivalent, and chess.com's player pool is bigger.
Also, from personal experience (so this is only anecdotal), the most toxic players (insulting in the chat, or ragequitting, ...) I met were on lichess.
Comments of the form "X is better than Y" are subjective and do not add any value/information to the discussion.
I don't really get the whole mittens thing. Chess engines have been better than humans for a long time, and they've been on chess.com forever. I guess the joke of giving it rating of 1 when it is playing at a very high level and a cute picture is good marketing. But getting beaten by an engine isn't particularly fun. It isn't really educational either when it is so much better than you.
> All of this generates data that needs to be written to our databases. Sometimes our systems max out, and just as when someone exercises too hard and has to stop and catch their breath, our servers also become exhausted and need to recover. When that happens, they quit working, and our site and apps become unresponsive
Is this a tortured analogy, or are their servers actually crashing under load?
I don't think they're saying it crashes. They're suggesting that they have buffers of data that fill up during periods of high load, and when those buffers get full they have to drop any new incoming requests until the buffers get flushed to the database. During that period of time the site becomes unresponsive.
A web chess game is turn based with some basic logic to sync the clock. There are no secrets or complex state like many video games. Seems rather straightforward.
A complete chess game should be a very limited amount of data. I am finding conflicting reports that a typical chess game is 40 to 70 moves.
That being said, if any service suddenly saw a doubling of users within a month, plenty of sub-optimal architecture decisions can suddenly fall on their face which were otherwise adequate at the previous scale.
Replace chess with checkers and I think they'd still have ~90% of the same problems. This seems to be more about massive table/data growth than inherent complexity of the core business.
Chess found its way into my YouTube feed and that got me back into it. I wonder if this is just some bizarre case of the outcome of some thing like that.
“Oops we accidentally put chess in front of everyone for a week and now they’re all playing it.”
I found that as well. The cheating controversy seemed to have kicked off some interest and then chess started appearing in my YouTube and TikTok feed have started recommending interesting creators. For the first time I've been passively watching content learning chess more formally.
One interesting event can kick off feed recommendations and start this fly wheel effect.
Me too. I read a couple of articles about the Niemann/Carlssen debate, then I saw a guy talking about chess on youtube, and eventually I created a chess.com account.
Same. It also happened for my son (though oddly not my daughter...) and now he's really interested in learning chess and has been self-teaching through internet resources, so I guess that's a good thing.
Chess.com has the somewhat unique property of being a chess server run by people who aren't good at chess and aren't good at technology. I think they used to hire devs off Fiverr.
However they are somewhat good at business as they've convinced thousands of people to pay $17.00 per month for something that can be found for free at Lichess.org.
They do pay a ton of money to streamers to use their site exclusively, which is good for chess since it allows more chess players to make a living.
this is a sad fact of life. a great project in terms of engineering can be beaten by a job that is just a wordpress page but great in terms of marketing.
Thank you for mentioning this, it’s a very interesting thought actually.
For the uninitiated, the idea is that a product needs good engineering + good marketing to be successful. Products with only one of them will fail. The idea of Berkson’s fallacy is that even though it seems that good marketing is negatively correlated with engineering (and vice-versa) it’s actually because the baseline level of engineering and marketing is low, and products which happen to excel in one don’t need to excel in the other.
> Bad at the game, bad at engineering, but good at marketing. There's a lesson in here. Similar to how most of the software that runs the internet is poorly written and has bad fundamentals.
Maybe now we can get rid of Byzantine tech interview processes and instead just focus on hiring people that are capable of hacking things together.
That was more a commentary on hate-the-game not the playa. Lots of smart and talented people in the field, yet software coming out the door routinely has egregious usability and performance defects. Bizarre prioritization of features that are dictated by anything other than end-user needs.
Edit: remove the dig at management which is too easy a scapegoat to explain all ills
Black and white thinking that leads people to decry "elitist thinking" is exactly a signal of a person I never want to work with, because such un-nuanced understanding of tradeoffs required to work on professional projects is demonstrably beyond their current understanding of things that do exist for good reason.
"Hacked together" is the software equivalent of fixing things with duct tape. It sounds cool and fun, and is fun to do for your own playthings, but it is a terrible mentality for developing solid projects.
The game reviews are really nice to quickly see the key points of the game. Plus the UI all over is better than Lichess. That and network effects explain the rest.
Yeah, I am with you on this. It isn't even the case that Lichess UI is simple because it lacks advanced features, it just straight up feels more intuitive and way more pleasant to interact with. Chess.com UI reminds me of overcluttered websites from late 2000s/early 2010s.
Pure anecdata, but I only know one person irl who prefers chess.com, and I never managed to get a straight answer from him as to why, other than "i just play there and like it more, maybe i will check out Lichess at some point, idk."
Could easily go into a very long list of reasons as a long-time app/UX developer, but playing against the computer is a good starting point: on Chess.com as a beginner I was immediately able to play against a wide variety of AI's, each is given to you by their ELO strength, and they are tuned to have different personalities so you can practice against the different types. This is so much better than Lichess where you literally choose "Strength" 1-8 (no idea what that means) and it only then clarifies "Stockfish 14 Level 8"... ok? And after the game, analysis and review interfaces have so many more helpful things for understanding the game, seeing threats, etc. Maybe if I was already very experienced with Chess I'd not mind so much. But this is just one example of many I found as I tested both a couple months ago when I was starting.
On Lichess the puzzles are less well organized and explained, the Lessons interface is arcane and much less polished in terms of content overall though there are gems if you hunt and eventually figure out the UI, and online play is likewise has a lot of small things all over that make a big difference.
Worryingly, I disagree with your opinions despite your credentials. There's no accounting for taste, but then of course, all the carefully designed interfaces I don't like were made by people who thought they were great.
Some of the UI is really tiny on the smart phone version of the lichess app is my only complaint against their UI vs chess.com. As far as I'm concerned though they both could use a good designer. Neither of them are very good.
Besides that I tend to use, and pay for, chess.com more for their other features than for anything directly UI related. Their puzzles are better. I think their post game analysis is nicer to use, the way they do analysis in general is easier to use than lichess I think. They also have a lot of learning material.
As far as playing games go, I have friends who use both and therefor I play on both. It's about the same as far as I'm concerned.
In retrospect UX rather than UI would have been better in my post as I agree with this mostly (and I'd love a chance to redesign either app, that'd be a joy).
I don't know much about all of this but it seems to me that owning chess.com is 99% of their success if it's not great at the game or great at the engineering aspect.
Chess.com strikes me as a domain squatter who decided to try to make something of their site instead of selling it off once it was popular. Kudos to them, but at the end of the day they’re still domain squatters.
I'll admit it, I subscribe to chess.com. I pay $31 / year.
I mainly joined for the unlimited post-game analysis and puzzles. I also like the app, it's fast and intuitive. Lichess is great too, nothing against them.
"People" on the planet? If that's accurate it's not super impressive, considering that probably 95-99% (or more) of people don't take chess very seriously. I used to be the top 99-99.5% of Counter-Strike players (_very_ roughly obviously), and that wasn't very impressive at all even though it's way past top 99.9% of "people on the planet".
Most competitive sports & games are much more cruel than chess, but chess is still very cruel. Can you imagine achieving recognition or winning money as the 3000th best Fortnite player? Or the 3000th best League of Legends player? If so, you'd be winning on personality during streaming but certainly not on competitiveness.
I prefer their analysis over lichess’s and I think they are a lot more feature rich. Also, I think the company in general is pretty good at chess? I’m an 1800 elo player for reference.
I did not realize lichess was so much better. I just switched. The UI was a little off putting for some reason when I first started getting into chess.
I signed up to a chess.com membership a long time ago because the puzzles were behind a paywall and at the time lichess didn't have a puzzle rush mode. lichess now has similar puzzle modes to chess.com but it wasn't always like this.
I was going to post that I suspected this was due to some sort of automated or bot activity... a couple months seems like way too short a time for that much organic growth.
However, Google Trends also indicates a doubling of interest in chess as a search term over the past three months. Interesting!
Don't forget the cheating scandal and Carlsen declining to defend the WC title. Both made it into the mainstream news which at the very least caused people to search for chess.
Wow really? Have you got an article or something indicating that? Seems absurd to me that all cloud providers account for less than 20% of servers, either by traffic or sheer volume.
> What does that mean? 250,000+ new accounts are being created each day. People are playing games (16,000 chess moves per second on average)
I remember reading how Dropbox and other file sharing sites used hashing to create single instances of popular files and then just used pointers from accounts with that file to save disk space.
I would imagine a LOT of chess games probably start out the same and you can therefore store a pointer to where the game is on a subset of potential game starts and then write the difference as you branch out.
I may be underestimating the possible start conditions and/or the metadata storage cost (e.g. time in the game of each move doesn't go away).
I don't play chess, but my finger in the air estimate is that the whole record of the game weighs a few kb at most.
I'd venture a guess that all players data and their avatars take more space. Or maybe less, but not much.
Think of it this way. Every move is from 1 position on a 64 location board to another (therefore most moves could be stored in about 12 total bits). There might be a couple more bits to represent enpassant and promotion, and my simple representation could easily be compressed, but for a regular game (generally less than 100 moves), you can store it < 1kb. (You still need the names of the participants, and maybe some other metadata, but my point is that the game compresses easily without too much thinking at all.)
The game gets even more compact in that not all source and destination squares are possible at every move, etc. But, you're dead on in your estimate.
It is worth remembering that by playing you give chess.com possibly thousands of games, each of which can be used against you at any time in the future.
Just if their cheating algorithm says so and they feel like making it public.
Dont forget tiktok, ive seen a tutorial that changed so much my beginner view of the game it gave me the urge to play some games. It says ultimately what you have to do during a game is, you want to have some positive difference on pawns and then you exchange your pieces then promote then win. How cool is that?
I've re-visited the game multiple times but really have trouble engaging with the game. I've tried to read a couple of tutorials here and there on some simple strategies, but it doesn't seem like anything "sticks," and I always feel so clueless after the first few moves as to what I should do.
Any suggestions from the HN crowd on what may have provided you an "ah ha!" moment for chess strategy in general?
What worked for me was the old Chessmaster tutorials done by Josh Waitzkin. It gives you structured practice problems around general principles and strategies. It was kind of addicting the way they structured it and made me want to keep going. What I got out of it were the general fundamentals that allow you to perform an opening without using pure memorization, and how to look for tactical advantages in mid game like forks and skewers. Once I finished it I started easily seeing all the opening mistakes other beginners made and won a bunch of games just following the general principles. I’ve tried some other similar tutorials since but it is still the best I’ve used as an interactive tutorial.
I highly recommend Mato's chess videos on famous games (https://www.youtube.com/@MatoJelic), since he keeps them short (3-5 minutes), doesn't talk excessively about every single move, and only shows the interesting variations at critical positions of the game.
Sure, I'm not a pro but I've played for a bit so maybe this will help.
1. Choose a chess opening and stick to it. That means you'll always know how to react at the beginning of the game.
2. Counting. If your piece has more defenders than attackers, it's safe. If you're attacking your opponent's piece more times than it's defended, you can control that square. One of the biggest issues I had when starting out was literally just miscounting attackers and defenders.
3. Basic tactics. There are three fundamental tactics in chess: pins, forks, and skewers.
Other than that, watching chess Youtubers is pretty helpful. Some good examples are Aman Hambleton's beginner videos[1], and Daniel Naroditsky's "speedruns"[2]. The latter can be slightly more advanced but still very understandable imo. There are other good channels like Hikaru Nakamura's, Gotham Chess, chessbrah, and Eric Rosen but I think the two I suggested are the best.
* Watch his games (ideally with 10minutes or more time control) where he explains his thought process behind each move and what he is anticipating. This is priceless!
Yes. I hated Chess almost all my life, then got really into it a few years ago. I'm still very bad, mostly because I'm optimizing for having fun completely at the expense of getting better (e.g. I only play 5 minute games, which are terrible for learning but, hey, that's what I like). So caveat here that I might not be the best person to ask :)
Having said that, what really helped me other than various tutorials is the basic goal of the game. The goal seems like it's to checkmate, and I focused a lot of effort on that. And that is theoretically the goal.
But really, most of the time, especially in the beginning, you're not going to be spotting fancy checkmates and neither are your opponents. So your main focus in the beginning should actually be about winning a material advantage (capturing something of theirs without them capturing you in return.) Then, once you have an advantage, just try to trade off all the other pieces until there's nothing left.
I didn't understand this idea at first. But it makes sense like this - if you have the full board, except the opponent is missing a rook, anything can still happen. But imagine now almost all the pieces are gone, except you have that extra rook and he doesn't. Now, it's a much easier and winnable game, and there's nothing the opponent can do anymore. Of course you have to know how to win a rook endgame, but that's fairly easy to drill.
So my advice - drill how to win with two Rooks, with a Queen, and with one Rook. Then most games boil down to trying to get some extra material, and then trading off all the pieces, and then winning that endgame.
I am one of the people now playing chess every day but I don't think it's down to all those reasons listed. In my case, I am using it as a replacement for social media. Previously I'd pick up my phone and go straight to Instagram or some other app. I realised that my time was just wasted scrolling through pictures and videos that has absolutely no value.
Chess is something I can open on my app and I can play on the bus or before bed. While it's not the most value adding thing in my life I am enjoying it for now.
By the way, I suck at chess. I struggle to beat 900 rated players. Any tips?
If you actually want to get good, you'll need to:
(1) play in a focused way, and review your games to see what mistakes you made. Where did you go wrong, and why?
(2) study chess theory. Pawn theory, opening theory, etc. This will dramatically improve your play.
(3) review games by the pros. Understand why they do what they do. There are a million youtubers who will talk through their choices as they play.
For some reason, my perception is that random player selection on lichess leads to much stronger opponents than on chess.com in the lower ranks. Probably this is due to the more informed player base on lichess and a large influex of causals on chess.com
The problem is that this only fuels the cycle. Casual players are scared away from lichess, possibly extending the rift between both sites...
131 comments
[ 4.2 ms ] story [ 232 ms ] threadOtherwise they should consider Elixir/Phoenix as it is easily distributable and/or Rust if they need breakneck speed per thread.
https://archive.is/Sbhnk
https://trends.google.com/trends/explore?date=today%205-y&q=...
https://trends.google.com/trends/explore?date=today%205-y&q=...
None of their explanations sounds at all plausible though.
Also, from personal experience (so this is only anecdotal), the most toxic players (insulting in the chat, or ragequitting, ...) I met were on lichess.
Comments of the form "X is better than Y" are subjective and do not add any value/information to the discussion.
Is this a tortured analogy, or are their servers actually crashing under load?
Alternatively they might be doing something weird involving periodically flushing the database from memory and onto disc.
That wouldn't mean "crashing", but likely would mean the database wasn't usable as a database.
A web chess game is turn based with some basic logic to sync the clock. There are no secrets or complex state like many video games. Seems rather straightforward.
The hard part is scaling up everything around it:
- Stockfish real-time predictions
- anti-cheat monitoring
- the moderation tasks any social website needs
That being said, if any service suddenly saw a doubling of users within a month, plenty of sub-optimal architecture decisions can suddenly fall on their face which were otherwise adequate at the previous scale.
“Oops we accidentally put chess in front of everyone for a week and now they’re all playing it.”
One interesting event can kick off feed recommendations and start this fly wheel effect.
However they are somewhat good at business as they've convinced thousands of people to pay $17.00 per month for something that can be found for free at Lichess.org.
They do pay a ton of money to streamers to use their site exclusively, which is good for chess since it allows more chess players to make a living.
There's a lesson in here.
Similar to how most of the software that runs the internet is poorly written and has bad fundamentals.
For the uninitiated, the idea is that a product needs good engineering + good marketing to be successful. Products with only one of them will fail. The idea of Berkson’s fallacy is that even though it seems that good marketing is negatively correlated with engineering (and vice-versa) it’s actually because the baseline level of engineering and marketing is low, and products which happen to excel in one don’t need to excel in the other.
Maybe now we can get rid of Byzantine tech interview processes and instead just focus on hiring people that are capable of hacking things together.
Based on my daily frustrations with basically every piece of software, that already appears to be the status quo.
That’s the kind of elitist thinking that leads to Byzantine tech interviews and poor collaboration.
Edit: remove the dig at management which is too easy a scapegoat to explain all ills
"Hacked together" is the software equivalent of fixing things with duct tape. It sounds cool and fun, and is fun to do for your own playthings, but it is a terrible mentality for developing solid projects.
Pure anecdata, but I only know one person irl who prefers chess.com, and I never managed to get a straight answer from him as to why, other than "i just play there and like it more, maybe i will check out Lichess at some point, idk."
On Lichess the puzzles are less well organized and explained, the Lessons interface is arcane and much less polished in terms of content overall though there are gems if you hunt and eventually figure out the UI, and online play is likewise has a lot of small things all over that make a big difference.
Besides that I tend to use, and pay for, chess.com more for their other features than for anything directly UI related. Their puzzles are better. I think their post game analysis is nicer to use, the way they do analysis in general is easier to use than lichess I think. They also have a lot of learning material.
As far as playing games go, I have friends who use both and therefor I play on both. It's about the same as far as I'm concerned.
Or is that the same thing here?
I don't know much about all of this but it seems to me that owning chess.com is 99% of their success if it's not great at the game or great at the engineering aspect.
Microsoft Teams? Good lesson to startups and companies in general.
"#20. A bad design with a good presentation is doomed eventually. A good design with a bad presentation is doomed immediately."
https://spacecraft.ssl.umd.edu/akins_laws.html
> 20. A bad design with a good presentation is doomed eventually. A good design with a bad presentation is doomed immediately.
I mainly joined for the unlimited post-game analysis and puzzles. I also like the app, it's fast and intuitive. Lichess is great too, nothing against them.
To be fair, Danny Rensch is a 2402 FIDE rated player. That's better than 99.9% of people on the planet.
(that being said,
There are quite a few retired pros still earning in that cohort, so, yeah. The prize pool is pretty deep and 3,000 is still top 0.2%.
Glad i am using and supporting lichess instead
However, Google Trends also indicates a doubling of interest in chess as a search term over the past three months. Interesting!
There's a few possible drivers that are no doubt helping but it does appear that between one thing and another, chess itself is going viral.
Sounds bizarre until you remember that over 80% of servers are still on prem
I remember reading how Dropbox and other file sharing sites used hashing to create single instances of popular files and then just used pointers from accounts with that file to save disk space.
I would imagine a LOT of chess games probably start out the same and you can therefore store a pointer to where the game is on a subset of potential game starts and then write the difference as you branch out.
I may be underestimating the possible start conditions and/or the metadata storage cost (e.g. time in the game of each move doesn't go away).
Potentially some SIMD optimisations could be done in this direction
Maybe you could store all the moves in an array of 2 byte ints. I doubt you can have more than 32k moves in a chess game.
Assume 10kb per game in memory. You can run 1 million games on 10gb.
Store the moves in the end, run your analysis, etc.
Or am I missing something?
The game gets even more compact in that not all source and destination squares are possible at every move, etc. But, you're dead on in your estimate.
SCID uses 1 byte per move which is close to optimal (it splits it into 2^4 for piece and 2^4 for direction, with some edge cases).
SCID vs PC is a fantastic tool for chess players, I maintain a massive database of master games using it.
Just if their cheating algorithm says so and they feel like making it public.
Any suggestions from the HN crowd on what may have provided you an "ah ha!" moment for chess strategy in general?
If you're not motivated because it's confusing and unrewarding to fail, then persistence and practice is really the only solution.
1. Choose a chess opening and stick to it. That means you'll always know how to react at the beginning of the game. 2. Counting. If your piece has more defenders than attackers, it's safe. If you're attacking your opponent's piece more times than it's defended, you can control that square. One of the biggest issues I had when starting out was literally just miscounting attackers and defenders. 3. Basic tactics. There are three fundamental tactics in chess: pins, forks, and skewers.
Other than that, watching chess Youtubers is pretty helpful. Some good examples are Aman Hambleton's beginner videos[1], and Daniel Naroditsky's "speedruns"[2]. The latter can be slightly more advanced but still very understandable imo. There are other good channels like Hikaru Nakamura's, Gotham Chess, chessbrah, and Eric Rosen but I think the two I suggested are the best.
[1] https://www.youtube.com/watch?v=axRvksIZpGc [2] https://www.youtube.com/watch?v=sfjI4jEY58s&list=PLT1F2nOxLH...
Replacing chess with go. :P
His style of cheesey, caustic humor isn't for everybody. However, he GETS beginners.
"GM Ben Finegold's Message to Beginner Chess Players"
https://www.youtube.com/watch?v=B5bCfwCyo18
"The Reason People Don't Get Better At Chess According to Ben Finegold"
https://www.youtube.com/watch?v=SbF1bRwxIWY
* Start with climbing the rating ladder. He explains the basics and mistakes players at each level makes and how to avoid them https://www.youtube.com/watch?v=U2huVf1l4UE&list=PLl9uuRYQ-6...
* Watch his games (ideally with 10minutes or more time control) where he explains his thought process behind each move and what he is anticipating. This is priceless!
* Analyze your own games after you play
Having said that, what really helped me other than various tutorials is the basic goal of the game. The goal seems like it's to checkmate, and I focused a lot of effort on that. And that is theoretically the goal.
But really, most of the time, especially in the beginning, you're not going to be spotting fancy checkmates and neither are your opponents. So your main focus in the beginning should actually be about winning a material advantage (capturing something of theirs without them capturing you in return.) Then, once you have an advantage, just try to trade off all the other pieces until there's nothing left.
I didn't understand this idea at first. But it makes sense like this - if you have the full board, except the opponent is missing a rook, anything can still happen. But imagine now almost all the pieces are gone, except you have that extra rook and he doesn't. Now, it's a much easier and winnable game, and there's nothing the opponent can do anymore. Of course you have to know how to win a rook endgame, but that's fairly easy to drill.
So my advice - drill how to win with two Rooks, with a Queen, and with one Rook. Then most games boil down to trying to get some extra material, and then trading off all the pieces, and then winning that endgame.
Chess is something I can open on my app and I can play on the bus or before bed. While it's not the most value adding thing in my life I am enjoying it for now.
By the way, I suck at chess. I struggle to beat 900 rated players. Any tips?
The problem is that this only fuels the cycle. Casual players are scared away from lichess, possibly extending the rift between both sites...