About this site
Why I made this
I read both volumes with the reference lists open in another tab. They are two long
Markdown files of bare links, and by the time I got to them a fair number were dead. Volume 1
came out in 2020, and 44 of its links go through a URL shortener:
goo.gl, bit.ly, tinyurl. Google announced that
goo.gl was shutting down and then kept serving the links that still got traffic,
so some work and some do not, and you cannot tell which from the address.
I wanted a version I could search on my phone that told me whether a link still worked before I tapped it. So I built one. Right now 31 of the 494 links no longer resolve. The site says which, and when it last checked.
Whose work this is
The lists belong to Alex Xu and Sahn Lam, the authors of System Design Interview: An Insider’s Guide. They publish them at github.com/alex-xu-system/bytebytego. Each paper, post, talk and page of documentation in them belongs to its own authors and publishers. None of them are affiliated with this site, and neither are the book’s authors or ByteByteGo.
The upstream repository declares no licence, which under GitHub’s terms means all rights are reserved. So I do not copy anything from it beyond the facts a citation is made of: a title, an author, and the address where the work can be read, with a link back to the source list on every page. If Alex Xu or Sahn Lam would rather this site did not exist, an issue on their repository or mine is enough and I will take it down. There is no advertising here, nothing is sold, and nothing is tracked.
What is hosted here
Nothing that I do not have permission to host. The site links to each work; it does not mirror it. A paper behind a paywall or a blog post with all rights reserved is a link and nothing more. Where a page publishes its own short description for link previews, I quote that on the reference’s page with the date I fetched it, so you can recognise the work before you follow the link.
The exception is a source that declares a licence permitting redistribution, such as a Creative Commons licence or a public-domain dedication. Those I republish as reading pages, with the author credited, the licence named, and the original linked as the authoritative copy. Anything without such a declaration I treat as all rights reserved.
The code that builds the site is separate and MIT licensed.
Link checking
A crawler visits each link, records the HTTP status, content type and the page's own
title and description, and commits that summary so the site builds without network access.
It reads each host's robots.txt first and leaves alone whatever that asks it to.
Across 494 references, as of the last crawl:
- 377 reachable
- 61 behind a bot block or paywall, which usually means fine in a browser
- 14 not checked, because the host's
robots.txtasks crawlers to stay away - 17 returning "not found"
- 14 failing to connect
- 11 with no link to check
90 of the linked pages declare a licence that permits redistribution, and 5 of those are republished here as reading pages, with the author credited and the original linked as the authoritative copy.
Colophon
Static HTML from a small TypeScript build, a Go crawler and a Python extractor, all in one repository shared with the other site built the same way. No framework, no web fonts, no analytics, no cookies. The type is whatever serif your device already has.
Found a broken link?
Fix it upstream, where everyone benefits: open a pull request against alex-xu-system/bytebytego. This site picks up the change when it next rebuilds.
The sibling site
The same engine runs ddia.l3.ai, which does the same job for the reference list of Designing Data-Intensive Applications. Several chapters of volume 2 cite it directly.