Preferably openly available content so that everyone can access (blogs etc.)
Focus is on "overall" score: tone, presentation, etc. as opposed to "very technically advanced" (although advanced examples fully welcome)
EDIT: awesome suggestions so far - should add that it doesn't have to be programming or even computer related... cookbooks count!
A lot drier but top marks for clarity: “Linear Algebra Done Right” by Axler.[2] It got me through both undergraduate and PhD math degrees. When something was confusing in a lecture or another textbook, I could always return to Axler for the most direct path from ignorance to understanding.
[0]: https://www.amazon.com/Chaos-Making-Science-James-Gleick/dp/... [1]: https://www.amazon.com/Information-History-Theory-Flood/dp/1... [2]: https://linear.axler.net/
- Namespaces in operation, part 1: namespaces overview — https://lwn.net/Articles/531114/ (2013)
You can see their entire kernel archives here[3]. And as to their excellent conference coverage, you can browse conferences by year[4]. Most recently, here's[5] their roundup of "Linux Storage, Filesystem, Memory-Management and BPF summit".
[1] https://lwn.net
[2] https://lwn.net/Articles/531114/#series_index
Improving almost anything by George Box blew my mind. As children and even as university students we have been lied to. We have been told that experiments must be carried out one at a time to assign effects. This is patently false. In fact, we miss out on potential interaction effects (think temperature and time in cooking) by using one factor at a time experimentation. In this book he discusses many now old but fundamental techniques by which large improvements in models can be gained with minimal data. It has helped me in my career immensely and made me aware of many usual methods and fields of study.
Over the past few years, Prisma has been quietly building a complete zero to advanced guide to databases that I've started to refer people to and use as reference myself. It stands out to me because it is focusing on a broader topic than what you typically find in docs, it's written simply, it is super comprehensive, and it's not trying to sell something.
In the 1980s the children's publisher Usborne published computing books for young readers and a few years ago they made the books available for free download. The books use illustrations extensively to explain concepts. Not only are these books well written with clear, concise explanations, they are also more readable and enjoyable than many programming and computing books published for adults today.
Anyone writing a technical guide (of any kind) would benefit from reading these as a source of ideas and inspiration:
The PostgreSQL documentation is pretty fabulous. It’s well organized, complete, clear, and purposeful. You can read it like a textbook from page 1, or dive into it as a quick reference.
Michael Kerrisk
Author of the Linux Programming Interface, innumerable man pages, and many other projects.
Absolutely, without question, the best longform technical writer. Reading his books, where he gets to exercise all of the skills in terms of sequencing, layering, explanation, repetition, etc is like receiving an architectural download from the universe.
Will also like others cite Knuth, whom I used to read just for relaxation that his orderly brain would induce in mine, and Stallman- the technical writings- who for all his flaws was and is an exceptionally gifted explainer.
Great job of providing low level details contextualized in a high-level narrative. He’s also got these amazing fantasy maps of the fictional landscape of data architecture: https://martin.kleppmann.com/2017/03/15/map-distributed-data...
One of the most complete (and useful!) books about an area of study I've found is The Art of Electronics[2] by Horowitz and Hill. They point out all the traps that are likely to be encountered by an engineer working with the components as they describe them, along with the various trade-offs.
1 - https://archive.org/details/bitsavers_borlandturVersion3.0Re...
Google Developer Documentation Style Guide https://developers.google.com/style/
Microsoft Style Guide https://docs.microsoft.com/en-us/style-guide/welcome/
(minor disclosure - I worked in the CS department at UCB when he was a PhD student but I didn't really know him, and I strongly doubt he remembers me.)
https://www.sqlite.org/fileformat.html
Much better than other file format docs I've read, covers almost all the corner cases well, broken up into logical sections, uses tables for data formats when that makes sense, etc.
What I found particularly unique about it was the way it highlighted changes made to the language since the first edition. Instead of having a notes section at the back or asides scattered throughout, it's structured like a redlined document (although much easier to read). Paragraphs that are no longer relevant are marked with a dotted vertical line in the margin, while additions are marked with a solid vertical line. Typically you'll see a removed section immediately followed by an addition that'll note something to the effect of "X3J13 voted to remove this from the language in July 1988..." and it'll go on to explain why that happened. Reading about all of the votes really hammered home the fact that Common Lisp was a compromise between many different organizations and dialects. So not only did it help me better understand Common Lisp, it helped me appreciate why Common Lisp is the way it is.
As a bonus, you get more examples in the comments—kind of like Stack Overflow, but attached to a particular feature or process of PHP.
https://zachholman.com/talk/utc-is-enough-for-everyone-right
“John Adams” by David McCullough. Possibly the best historical bio ever.
“The Making of the Atomic Bomb” by Richard Rhodes. The best recounting of the founding of Los Alamos.
“Hackers” by Steven Levy. The best book on the birth of creatine coding.
“The Soul of a New Machine” by Tracy Kidder. The best tale of hardware design I know.
“Masters of Doom” by David Kushner. The best book on the early days of gaming, esp. about Carmack and Romero.
Anything by Eric Raymond, esp. “The Cathedral and the Bazaar”.
Random good example post: https://devblogs.microsoft.com/oldnewthing/20220328-00/?p=10...
To me, it's representative of all the good bits of Microsoft, now, and also in the past. I wish they had more Raymond Chens, and less... whoever it is driving their focus on crappy adware, telemetry, bad "modernized ux", user hostile behaviour in general.
"why's (poignant) Guide to Ruby"
All right, this one is not purely technical. It's technical, but mixed with comics, art and a lot of personality.
It is an old classic in the community, and something that I aim up towards. Opened up my imagination to what a unique thing a technical book can become.
This book was originally published in 1969 and assumes you know nothing about cars or mechanical systems. They do a great job of getting the reader up to speed quickly without moving too fast or leaving out important concepts.
I was introduced to the book by my high school English teacher. He used it as an example of fine technical writing that doesn't feel like technical writing. I enjoyed the chapter he shared with us so much that I bought the book and read the whole thing. It's a great manual!
https://boingboing.net/2020/08/31/getting-started-in-electro...
Just a (rather petty) example, React documentation is often lauded as very good,and I kinda agree.
But if you visit from a "low" resolution laptop(1366x768) and click in advanced options to the right on this link:
https://reactjs.org/docs/getting-started.html
It turns out you cannot scroll the options easily by using keys or a 2-button mouse because it does not have a scroll bar (why?). You have to use the scroll-wheel(not everybody has it) or drag down the menu in a clunky way, and this is the documentation of a front-end framework.
Another pet-peeve of mine it is what I call the "Netflix effect", the documentation is fine but there is not a clear, straightforward table of contents, and there are lot of internal links in the documentation so you jump from one place to the other but you are not really sure what order you are following or how much ahead or behind you are jumping from your current section. Microsoft .NET documentation is like that.
On the other hand, this is a very good example(except by the annoying Discuss thing)
Everything is laid out in a very straightforward way, at any moment you have a very clear mental model of where you are in the document.
Postgres, Rails and Django are a little less clear in that sense but still extremely well organized.
Clear and concise articles that really dig into some of the hard technical problems with working at scale.
Has honestly made me a much better systems programmer since starting to read them.
Anything by Donald Knuth. He even teaches good writing in Mathematical Writing.
I always thought IBM held a high standard for their writing. So anything from the IBM System/370 Principles of Operation to their IBM Journal of Research and Development would be good.
Lately, I've been reading Algorithms by Dasgupta, et al and those boys can write.
Inside look at modern web browser (https://developer.chrome.com/blog/inside-browser-part1/) - fun illustrations
Nunjucks (https://mozilla.github.io/nunjucks/templating.html) - easy-to-use site nav
Vodafone + Core Web Vitals case study (https://web.dev/vodafone/) - packed with info and no marketing BS (disclosure: I was majorly involved in that content)
Here is another example, the manual for Microsoft Word 1.0 for DOS: http://toastytech.com/manuals/MS%20Word%201.00%20for%20DOS%2...
Every recipe we’ve tried have been great. But the reason I wanted to share it here is how ATK analyses and shares how they decide the best ingredients for different recipes. Gluten is a very important (and more nuanced than I realized) ingredient in traditional cooking and baking. So when you remove it there are a lot of surprising effects. (And some unsurprising ones). So ATK takes you through those nuances.
It’s really fun to learn and I’m not much of a cook myself :)
Also, their 'Analog Dialog' series [0] are quite something.
Edit: HP, too, made some excellent tech notes back in the day.
[0] https://web.ece.ucsb.edu/~ilan/Classes/ECE2A_F2010/Tutorials...
Mastering The Art Of French Cooking, Julia Child
These books are a combination of background information, recipe, and step by step instruction. So these are more a reference of how to write an implementation guide or Runbook, rather than how to describe an API or present architectural documents.
I also really liked Mastering Algorithms With Perl, and any of the For Dummies books on technical subjects.
I feel there has been a decline in the quality of tech writing since the internet became popular. Today's books are often extremely verbose while not conveying content well.
[p.s. RIP Pieter -> Read this: https://web.archive.org/web/20090420070511/http://www.digist...]
https://www.amazon.com/Technical-Writing-Principles-Strategi...
Back in the heydays of Ruby on Rails I also found the Net::SSH library by Jamis Buck to be very excellent in terms of documentation.
Eloquentjavascript
Gentoo Handbook + Arch wiki
SICP <3
ESR's blog
The Emlish book is great. https://zaid-ajaj.github.io/the-elmish-book/#/
Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# Book by Scott Wlaschin is amazing. His blog is also fantastic.https://fsharpforfunandprofit.com/
Get Programming with F# A guide for .NET developers by Isaac Abraham is also very good.
Not F# but the best written technical book I've read has to be The Pragmatic Programmer Book by Andy Hunt and Dave Thomas.
An example of making a boring technical topic into an engaging novel is The Goal Novel by Eliyahu M. Goldratt
https://www.goodreads.com/book/show/2700831-framework-design...
It's an entire ray-tracer explained in the literate programming style.
* Introductory Logic and Sets for Computer Scientists.
* Formal Specification: Techniques and Applications.
both by Nimal Nissanke.
The writing is Precise, Succinct, Clear with lots of examples. A wide variety of topics are explained without overwhelming the reader and all within a decent-sized book.
For example, the “HP ProBook 470 G5 Notebook PC: Maintenance and Service Guide” has an excellent reputation.
If your looking for something a bit more interesting, I suggest Mitigating Attacks on Houses of Worship by CISA: https://www.cisa.gov/sites/default/files/publications/Mitiga...
My recommendations would be Hilary Putnam, Nelson Goodman, and W.V.O Quine.
A paper I’m currently reading, which was seminal in phenomenology, is “ The Phenomenology of Cognition: Or What Is It Like to Think That P?”[1] by David Pitt. Really nice example of a well-formed thesis.
[0] https://www.boost.org/doc/libs/1_79_0/libs/math/doc/html/ind...
https://m-cacm.acm.org/magazines/2018/6/228044-coz/fulltext
Full disclosure: I know both authors well so I’m probably a little biased.
Bas Kast: The Diet Compass: The 12-Step Guide to Science-Based Nutrition for a Healthier and Longer Life
The title sounds clickbaity but the book isn't. Very toned down, unidological description of the curent state of the science in regards to diet and nutrition.
I can't find the text on line any more. Just ads for it as a collectable.
The blog post on go generics seemed to be a very well written piece.
* Gödel, Escher, Bach: an Eternal Golden Braid (GEB)
* Metamagical Themas
* I Am A Strange Loop (IAASL)
GEB and IAASL are thematically similar, and both are worth a read if you're interested in both Gödel's theorems (plus related work eg Church-Turing) and Hofstadter's philosophy of mind. GEB is a lot more creative and fun; IAASL does a better job of communicating the key technical ideas like incompleteness.
Metamagical Themas is a collection of shorter work, generally technical and fun.
Although Hofstadter was the first to come to my mind, these other authors/works also provide fun and/or excellent examples of technical writing:
* Neal Stephenson's "In the Beginning was the Command Line"
* Velleman's "How To Prove It" and "Philosophies of Mathematics"
* Mittelbach & Goosens "The LaTeX Companion"
* Waldrop's "The Dream Machine"
* Nielsen & Chuang's "Quantum Computation & Quantum Information"
* Lakatos's "Proof & Refutations"
* Chambers "What is this thing called science?"
* Doxiadis & Papadimitriou's "Logicomix".
# Example 1: Old HP application notes
Quote: "In a real sense, Hewlett-Packard sold MEASUREMENTS as well as products. According to one marketing professional, when you go to a hardware store to buy a 5mm drill bit, what you really want is a 5mm hole. So, likewise, as HP developed their massive line of innovative measurement instruments, the customers often had to be educated in the newer processes of the new measurement techniques, permitted by the newest product."
I'm too young to have experienced the heyday of HP as a test & measurement company, but they produced spectacularly good material. Many of their application notes introducing the fundamentals of a field such as spectrum analysis, signal analysis, modal testing etc. remain excellent introductions even today, despite being decades old and thus predating my birth. I've thoroughly enjoyed the following ones (amongst others):
[1] AN243 The Fundamentals of Signal Analysis
[2] AN243-3 The Fundamentals of Modal Testing
[3] AN150 Spectrum Analysis Basics (updated version)
# Example 2: LTC application notes, especially by Jim Williams
A big chunk of my electronics knowledge comes from data sheets and application notes. The application notes by Jim Williams (RIP) stand out to me. Jim obviously was very gifted, but always sides with the (probably much less skilled) reader, making complicated material accessible. He always retains a holistic picture, and also addresses many practical aspects one can easily stumble upon. He does it all with a minimum of math, a maximum of intuition, and a great sense of humour.
While there are many dozens of application notes by him, I particularly like the following one:
[4] AN47: High Speed Amplifier Techniques
Links:
[1] https://www.hpmemoryproject.org/an/pdf/an_243.pdf
[2] https://www.hpmemoryproject.org/an/pdf/an_243-3.pdf
[3] https://www.keysight.com/us/en/assets/7018-06714/application...
[4] https://www.analog.com/media/en/technical-documentation/appl...
Emacs and Vim manuals.