HNHacker News
TopNewBestAskShowJobs

lukhas

190 karma · joined November 10, 2022

submissionscomments
lukhas··on Is Cloudflare Down?
It seems to be working mildly better in Chromium than in Firefox, but I still got that "Dashboard temporarily unavailable" error on most of my refreshes.

Of course now that I gave up on them it seems to be back online, all without a hint of an issue on their status page...

lukhas··on Lichess: Post-Mortem of Our Longest Downtime
We're an understaffed charity.
lukhas··on Optimizing the Lichess Tablebase Server
They 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 will explain it better than me). For this reason, it is also not backupped.
lukhas··on Optimizing the Lichess Tablebase Server
As mentionned elsewhere, we're renting most of our infra from OVH, and paying, monthly, for 40TB of SSDs or NVMes would simply explode our yearly budget.

Source: am président of the lichess charity (and also one of the sysadmins)

lukhas··on Optimizing the Lichess Tablebase Server
We're up to 2 employees now! The founder and a mobile dev.

The impact on costs is "not small", because as a rough estimate, the charity pays overall about twice what the dev gets in take-home money, because French employer taxes are high (keyword for the Frenchies reading us: URSSAF).

Source: am President of the Lichess charity and have the honour and pleasure of dealing with most of the French administrative paperwork.

lukhas··on Lichess: Block Ads and Trackers
It's not listed in this page because it varies month-by-month, but we publish our yearly books in a lichess blog post and on the government "Journal Officiel":

2022: https://www.journal-officiel.gouv.fr/pages/associations-deta...

2021: https://www.journal-officiel.gouv.fr/pages/associations-deta...

The TL;DR is that donations so far exceed our expenses, thanks to the generosity of our userbase, and thanks to the hundreds of volunteers doing work for free.

lukhas··on Lichess: Block Ads and Trackers
Nothing is modest at Lichess scale, we have a few million users, several thousand of them post in forums daily and chat with each other.

Also, we're a chess website with more than one million games per day, and some people like to cheat. We're classifying "fair play and anti-cheating" as "moderation" in our expenses because the two are intertwined.

lukhas··on Lichess: Block Ads and Trackers
Lichess is a non-profit with hundreds of volunteers, several part-time paid contributors/moderators and 2 full-time devs, not a company.
lukhas··on Lichess: Block Ads and Trackers
(I'm a Lichess sysadmin & trustee)

So far France has given us exactly 0 euros and 0 cents, but has required us to hire and pay an accounting company to certify our books due to the level of donations we're receiving.

We could maybe argue that being allowed to exist as a non-profit is something France deserves kudos for, if you're in a good mood.

lukhas··on Lichess: Block Ads and Trackers
Lichess sysadmin (and trustee) here!

We're paying taxes on our employees, they're paid like regular French employees and therefore the employer is taxed accordingly. This is not income tax on our donations or swag sales.

I would prefer if the non-profit in France were "employer-taxed" less than for-profit companies, but no one seems to care.

lukhas··on Lichess: Block Ads and Trackers
Lichess sysadmin here!

We're self-hosting most of our infra on bare-metal, on the best price/quality hosting provider I know of (OVH). I doubt you could store ~1TB of metrics going back 4 or 5 years on fast NVMe storage for less than this in the cloud.

lukhas··on Lichess gets a big upgrade. It doesn't go as planned
That's the one and only server running https://github.com/lichess-org/lila, ie. the main scala JVM application.

See https://lichess.org/source for a list of all the services with a more-or-less up to date diagram.

lukhas··on Lichess gets a big upgrade. It doesn't go as planned
Currently it's "-Xms30g -Xmx30g -XX:+UseG1GC -XX:+PrintCodeCache -XX:ProfiledCodeHeapSize=500m -XX:NonProfiledCodeHeapSize=500m -XX:NonNMethodCodeHeapSize=24m -XX:ReservedCodeCacheSize=1024m -XX:InitialCodeCacheSize=1024m -XX:ParallelGCThreads=24"

Everything after G1GC was suggested by various helpful experts on HN, Discord, by email and other media.

lukhas··on Taking Lichess to the next level
Keeping a template image containing enough code to start fishnet (https://github.com/lichess-org/fishnet/) so that we can boot up quick and (relatively) cheap fishnet instances should the need arise.