(normally) - in two flavors. Used only to prioritize high-traffic pages for dev work, iff JS and tracker enabled. The former/defunct training site's id: ga('create', 'UA-52578333-1', 'auto'). The book site's id, now used for all: ga('create', 'UA-52579036-1', 'auto'). JS is also used if enabled for thumbspage galleries, Top buttons, TOCs, etc. Jun-2019: tell Google Analytics to anonymize IP address on receipt for privacy. More: https://developers.google.com/analytics/devguides/collection/analyticsjs/. Oct-2022: install a GA4 tag (i.e., script) alongside the prior UA tag. UA tags will stop collecting data in 2023. It's okay to use both until the cutover (and Google advises doing so), but the UA tag will be pointless after that and should be removed. This handles genhtml-insert clients; others get tags by running insert-analytics.py in package-publishing scripts. Also per Google: "In Google Analytics 4, IP anonymization is not necessary since IP addresses are not logged or stored". Let's hope so... -->
Click here to view this article
The link above opens an archived copy of a page originally located at oreilly.com. That site went through a purge in summer 2018, which deleted historical pages and redirected their URLs to its new homepage—a page best described as an inane sales pitch for the company's subscription-based website, geared more towards middle management and corporate budgets than to readers of books. In the process, the site dropped both still-read articles and a memorial to a still-respected editor. Whether the cuts were unwitting or crass, history can never be truly erased in a world with web-page saves.
All articles saved from the purge: