10 ms·
Optimizing the Lichess Tablebase Server
- hocuspocus 2y agoI know it's not a fair comparison but I'm truly impressed by the quality of engineering shown by the Lichess team, when their main competitor was for example boasting about a migration to GCP and yet suffering from repeated outages due to fairly organic growth in popularity. While I believe they employ 100x more people. Lichess' mobile app was a weak spot, however the v2 rewrite in Flutter is already pretty good while still in beta. And keep in mind Thibault pays himself less than 60k/year.
- peter_retief 2y agoLichess is a great service to casual chess players like myself to get a quick game against another human. Never much of a wait. What I do want to know is how does one pronounce Lichess? Lie chess, Le chess?, League chess?
- hocuspocus 2y ago/li:/ as in libre.
- jffry 2y agoAccording to https://lichess.org/faq#name https://lichess.org/faq#name: "Lichess is a combination of live/light/libre and chess. It is pronounced lee-chess" They also link this video: https://www.youtube.com/watch?v=KRpPqcrdE-o https://www.youtube.com/watch?v=KRpPqcrdE-o
- tecleandor 2y agoI guess it's because of the lychee fruit?
- peter_retief 2y agoThanks.
- ycombinete 2y agoI’m team lie-chess.
- sgt 2y agoI don't think he needs to feel bad about increasing his salary. Make it 200k/yr and make his life easier, which can only be good for the project long term.
- hocuspocus 2y agoI don't know him personally but from the talks he's given, he seems to be ideological about Lichess and his own lifestyle, in a way that would be considered fairly anti-capitalistic by most of the HN crowd :)
- treyd 2y agoDo you have links to any of these talks you could recommend?
- heap_perms 2y agoNot OP but I can recommend this talk by Thibault (the founder): https://www.youtube.com/watch?v=LZgyVadkgmI https://www.youtube.com/watch?v=LZgyVadkgmI
- epidemian 2y agoIDK about France (where Thibault is from, and IDK if he lives there), but where i'm from, you would have a very comfortable life earning 5k every month, so his self-imposed 60k/yr salary doesn't seem unreasonable at all. At some point, more money yields diminishing returns.
- diggan 2y ago> but where i'm from, you would have a very comfortable life earning 5k every month, so his self-imposed 60k/yr salary doesn't seem unreasonable at all. (Some) HN commentators seems weirdly out of touch when it comes to salary outside of IT-heavy cities in the US. The other day someone claimed $125k/year for an employee wasn't "big money" (https://news.ycombinator.com/item?id=40927175 https://news.ycombinator.com/item?id=40927175), so I'd take any comments saying some salary is high/low with a box filled with sand.
- deleted 2y ago[deleted]
- epolanski 2y agoI think you're highly overestimating how many devs Chess.com has
- hocuspocus 2y agoI am not, that's why I said employees not devs.
- Sesse__ 2y agoLichess is a great example of how efficient Wikipedia should have been (both on the code and organization level). :-)
- aeyes 2y agoDid they have to reduce cost or is there any other reason to not stick 20TB of SSDs in a box and call it a day? 4TB SSDs only cost ~$300, even HP or Dell SFF drives aren't much more expensive. I guess they were interested in doing the testing and optimization for fun. From a product standpoint I probably would have invested my limited time in other projects.
- broodbucket 2y agoLichess is a non-profit with a lot of volunteers, they probably don't have the same time vs hardware cost balance as most for-profit companies do
- traceroute66 2y agoIt is important not to automatically make assumption that all non-profits are impoverished and run by volunteers. One of the most famous examples is Wikipedia. Technically yes, they are a non-profit. Impoverished ? Certainly not ! Look at the financials, as others have already pointed out. Especially if you are in the habit of donating to non-profits, the financials can make for interesting reading.
- KolmogorovComp 2y agoWhy scale up when you can optimise? I'm probably going to be downvoted for this, but imo this is really the mindset that leads to bloated software.
- 2y ago
- robbles 2y ago> here are the empirical distribution functions (ECDFs) with 30ms added to each response time > The added constant seems artificial, but it's just viewing the results from the point of view of a client with 30ms ping time. Otherwise the log scaled x-axis would overemphasize the importance of a few milliseconds at the low end. I thought this was interesting - maybe it's a standard practice I was just unaware of but it seems like a smart trick.
- deleted 2y ago[deleted]
- everyone 2y agoA lichess is a female lich I'm assuming? (It's like baron / baroness)
- o11c 2y agoNoble titles are a poor comparison since they're the rare example where there actually is an exclusively-male root form. For most words the root form is neuter, and both male-only (if it exists) and female-only forms require an affix. Properly, a male lich is "werlich" and a female lich is "wiflich" (unlike other words the /f/ sound is not likely to disappear); the plurals add "-en". But generally sex is irrelevant for undead{cn} so the neuter form by far predominates. "lichess" is an abominable mixture of German and French roots ... so naturally it is indistinguishable from the rest of English.
- claytonwramsey 2y agonote - "chess" is not a Germanic word (deriving from the Arabic شَاه (shah), meaning king). Ironically enough, it comes to English via the Old French eschés, meaning that "lichess" is arguably made from entirely French roots.
- o11c 2y agoHm, I guess the "libre" is French, but "live", "light", and most importantly "lich" are all German. If we look for relatives of "libre", they include "leed"(song) and the first half of Leopold (adding "bold") and Luther (adding "army"). The common meaning is "people".
- OsrsNeedsf2P 2y agoIt's "Libre" chess, as in "Free (and open source)" chess
- deleted 2y ago[deleted]
- asepbolang137 2y ago[dead]
- 29athrowaway 2y agoThere is also lishogi but it is smaller enough to not require such optimizations yet. Shogi is the most entertaining for chess variants. Xiangqi not as much.
- imperialdrive 2y agoLichess is one of those things you just have to sit and appreciate like a fine wine. It's absolutely wonderful for people in the chess community. I use it every day and am inspired by the functionality and performance, especially knowing it's a 1-2 person shop with limited budget.
- lepetitchef 2y agoMe too. Recently the new beta mobile app is even cleaner and has haptic feedback which is so cool.
- TheRoque 2y agoYou forgot to mention that it's free, open source, and doesn't nor will ever ask for your money, and a lot of people donate. Their expenses are public. It's also available as an app !
- wavemode 2y agoI wish more open source end-user software learned from Lichess, in terms of how user friendly, well designed and well maintained it is.
- why5s 2y agoI gotta be honest: I aspire to create something as valuable and as cool as lichess one day.
- treebeard901 2y agoSome questionable choices are made in this optimization. The reason for the optimization is that there is so much IO activity the RAID checks can't complete. It is unclear from the article if the RAID checks were ever completed on 17TiB of data. Instead, they choose to disable the periodic RAID checks and instead switch to doing the error checking as a page of data is read in. The two are not equivalent, and both should be used for important data. Finding corrupt data only as you try to read it can lead to long running data corruptions, maybe to the point your backups do not go back far enough to restore the uncorrupted data. Underpinning this also is a change to RAID 0... While the fastest option, they are putting a lot of faith in that NVMe config handling that kind of workload. Hope they have good backups... EDIT: A good way to solve this is to spin up a temporary server, restore your backups to it, do the full data checks and when successful, you have also checked your backup and restore process along with the integrity of the file. You still want to have enough overhead available to complete the RAID checks on the primary server and don't use RAID 0 for performance.
- lukhas 2y agoThey are indeed not equivalent, but for our use case this is sufficent, if we detect data corruption we can just throw away the files and download/regenerate them (this is a freely available dataset, if a bit large, https://en.wikipedia.org/wiki/Endgame_tablebase https://en.wikipedia.org/wiki/Endgame_tablebase will explain it better than me). For this reason, it is also not backupped.