Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What books do you keep on your desk?
272 points by blueintegral on April 4, 2018 | hide | past | favorite | 212 comments
What books do you find yourself referring to frequently? Any field, not just software engineering.

I keep ~10 books at my desk. 9 of them are related to Javascript / Python / Probability etc [1]., There is one book though, that I really love to see everyday. Arabian Nights. That was the first book that was gifted to me when I was 11. I always had it with me. It reminds me of my childhood when things get too stressed and I read excerpts out of this book.

[1] https://www.amazon.com/JavaScript-Definitive-Guide-Activate-... [2] https://www.amazon.com/Thinking-Fast-Slow-Daniel-Kahneman/dp... [3]https://www.amazon.com/Introduction-Probability-Models-Tenth... [4] https://www.amazon.com/Hackers-Black-Book-Important-Informat...

Among the books, you included Thinking, Fast and Slow which really stands out, and I was wondering what you gained from it, and how you'd summarize its relevance/value?

I've been meaning to read it, and I think it's really interesting that it provides enough value to be among the others.

This is a fantastic book. It's essentially a summary of the author (Daniel Kahneman's) academic career, worth reading because he's one of the founders of "behavioral economics" - the idea that economic-decision making should be studied using real people and experiments--how they do it in psychology--rather than a bunch of mathematical models on a blackboard which may or may not accurately capture human behavior (despite being mathematically usable/tractable).

If you read this book, you'll learn how absurdly influential Kahneman has been: he did the original research on the endowment effect, anchoring, loss aversion, and tons of other stuff you'll see quoted around here all the time. He's also heavily cited by Taleb.

I wish more academics would write like this. It's a hard book to summarize because it's long and completely free of bullshit. It's more or less 400 pages of "here's the question, here's what we did, here were the results, we were surprised because" 20-30 pages at a time. It's an outstanding book by an outstanding professor.

Although the book still has tremendous value (FWIW, I've read it too), I hope more people also read the above blog (& the comment on it by Kahneman himself), to keep a balance of perspectives and the current "replication crisis" in psychology studies.

Kahneman writes:

[quote] What the blog gets absolutely right is that I placed too much faith in underpowered studies. As pointed out in the blog, and earlier by Andrew Gelman, there is a special irony in my mistake because the first paper that Amos Tversky and I published was about the belief in the “law of small numbers,” which allows researchers to trust the results of underpowered studies with unreasonably small samples. [/quote]

Previous discussion:


This book has helped me recognize various cognitive biases and heuristics that I or the people around me are demonstrating. Sometimes people say things that just "feel" wrong and this book has helped me identify and name why it feels wrong. It can get a little dry at times, but for the most part the research and examples are memorable. I also find the framework of the "two systems" to be a simple reminder to slow down and think about things that surprise/frustrate me before arriving at conclusions (or responding to that frustrating coworker :P).

I would also recommend You are not so Smart and You Are Now Less Dumb if you like the cognitive bais theme

Which translation of Arabian Nights do you have? I've been wanting to read it for a few years now but haven't got around to it. I think this will the next book I read. Any suggestions are appreciated!


I'm not sure where you can get it in the states.

For others who might be wondering, it is also known under the title One thousand and one nights (Les mille et une nuits)


Programming Python from O'Reilly. It helps lift my monitor nicely.

Honestly, I've yet to find a physical book that has proven to be a useful reference in the long run. Programming languages just change too quickly; it's the web or the code.

As for more meta-programming/business/interpersonal books, the few that I've read are not ones I've ever had any real desire to go back to.

> Programming Python from O'Reilly. It helps lift my monitor nicely.

Wow - same with me. Perfect size to match my monitor base! I also keep a 2002(?) copy of "Creating Web Pages for Dummies" to remind me of my roots.

>> Honestly, I've yet to find a physical book that has proven to be a useful reference in the long run. Programming languages just change too quickly; it's the web or the code.

In the old days you might use a compiler for 3-4 years. Nowadays, something you'd buy a book on could change versions in less than a year. Anything I bought in the early days of XCode/iOS was obsolete before I knew it. I bought a JQuery book and it was already a point release behind.

"I've yet to find a physical book that has proven to be a useful reference in the long run"

Me either, but how else do you signal to other programmers how knowledgeable and well-rounded you are in the field?

probably with the quality of your work? :)

Your collection of PDFs :-)

For real study, I find books better than online references, even if many do go out of date quite quickly these days. Something about printed words on paper that helps with focus. Online references are great for quick questions, but when I want to take some time to understand something in depth, I always prefer a book, or if one is not available, I will print the online material for study.

I have 2 of the 7 books of the X Window Programming Reference in that role.

Apart from K&R, there are very few programming books which are worthwhile; up to about 10 years ago the ORA series were worthwhile, but nowadays especially with StackExchange it's just far better to get the one fragment of information you need in a handy searchable pasteable internet format.

(Non-programming book recs: recently The Man Who Stole Portugal (non-fiction, surprisingly relevant to crypto) and The Time Of Gifts (biography, extravagantly written, requires checking wikipedia every 5 dozen words unless you have a really excellent knowledge of European history)

A few immediately come to mind:

- Garner's Modern American Usage

- The Hardware Hacker (I am a huge fan of bunnie)

- The Art of Electronics (Horowitz and Hill)

I don't really have "reference" books on my desk. Most rotate out quite frequently depending on what I'm researching and writing about. These can range from Raizman's History of Modern Design to Lewis Carroll's Symbolic Logic.

In addition I make plenty use of thesauruses. I have a few old ratty copies but mostly do a quick flit over my keyboard to pull up synonyms. When a word is on the tip of your tongue, looking up another that you know is related to it in a thesaurus is the best way to efficiently jog your memory.

+1 for an English usage guide.

I prefer the updated Garner's Modern English Usage because it caters for the broad church of English not only the USican dialect.

Also, +1 for a thesaurus.

I keep a dead tree Roget's handy – he's buried just down the road – and macOS provides the Oxford gratis. I also have Chambers on iPad/iPhone for pennies – a completely different slant.

Effective, concise communication is a huge part of tech. Get better at it day by day by surrounding yourself with the best tools. It costs next to nothing, and it improves the rest of your life to boot.

Aside: I keep a bookcase next to my desk with ~50 novels in three languages. One chapter rewires my brain to think different and has solved innumerable problems. Your HR dept may not approve. Challenge them.

Interesting to see 2 books on electronics. May I ask the nature of your work?

Certainly! But the answer may not be as interesting as you perhaps had hoped. I'm just a hobbyist and have been slowly teaching myself the basics for the past couple years. I keep the two books by my desk to double check calculations and to aid my imagination when I've come up with something to create.

So far my most proud accomplishment is designing a binary adder in EAGLE and getting the PCB manufactured. I put all the files up on GitHub in the spirit of open hardware, too:


Clean Code - Robert C. Martin: I got this book in college for a class and enjoy referring to it when I feel that my code quality is starting to decay.

Computer Principles of Modeling and Simulation - T.G. Lewis/B.J. Smith: I received this book as a gift from one of my favorite professors in college. It was published in 1979, but I find the material still relevant when it comes to introductory concepts of computer simulation.

Big Java Late Objects - Cay Horstmann: Another text from my time at college, specifically from my data structures course. I keep it because I like the way it explains fundamental data structures with well-written Java.

Head First Design Patterns - Eric Freeman/Elizabeth Robson: Another college textbook, and one of my least favorite reads of all time, but I'll be damned if it doesn't explain design patterns well enough for me to keep it around. I refer to it now and then but only when I feel like punishing myself.

Learning PHP, MySQL, JavaScript, & CSS - Robin Nixon: A dangerously outdated introductory web development text that I bought when I was in high school. It was the first programming book I ever purchased and I keep it around because I enjoy remembering what it felt like to explore web development for the first time. I've not referred to it in years, for obvious reasons, but it explained full-stack web development very well and gave me a foundation that I've been able to build on to this day. I remember standing in the tiny Computer Science section at Barnes & Noble where I found it, taking it home and cracking it open, and working through it until I had to make myself go to sleep. It's the first programming book that really hooked me.

A few Stroustrup books.

A few Chinese language books (to help communicate with co-workers)

A few Algorithmic Trading related books as well as a few math books.

And, laugh if you wish, a few Buddhism books to help remind myself patience, no negative energy, etc. If I am feeling frustrated I can read a few quick thoughts.

The combination of algorithmic trading and Chinese makes me really curious about your work environment; sounds awesome!

Could you share your favorite books on algorithmic trading? I've been interested in it for a while.

I have been learning Chinese for a few years now :-) I was sick of translating e-mails and documents and not being in on the "inside office humor and wechats". Plus learning Chinese is a stress release for me as I spend time practicing writing with a pen and paper.

I can agree that learning Chinese is a stress release. Just learning the characters by itself is very calming and stress-relieving.

Also, all that Chinese Internet humor is a reward :-D

My guess is he has "Algorithmic Trading & DMA" and "Trading and Exchanges". Both are excellent.

I have the Ernest Chan books.

"Options, Futures, and Other Derivatives (10th Edition)"

and a few other Economics and Finance books. Happy to share a complete list if anyone really wants it.

Here are the books on my desk:


"The C++ Programming Language", Stroustrup

"Programming: Principles and Practice Using C++", Stroustrup


"Quantitative Trading", Dr. Ernest Chan

"Algorithmic Trading", Dr. Ernest Chan

"Machine Trading: Deploying Computer Algorithms to Conquer the Markets", Dr. Ernest Chan

"Advances in Financial Machine Learning", Marcos Lopez de Prado

"Options, Futures and Other Derivatives (10th edition)", John C. Hull


"Open Heart, Clear Mind", Thubten Chodron

"Buddhism For Beginners", Thubten Chodron

"Working with Anger", Thubten Chodron

Reading For Pleasure:

"Naked Statistics", Charles Wheelan

"Algorithms to Live By", Brian Christian and Tom Griffiths

"Dark Pools"

"The Quants", Scott Patterson

"The Physics Of Wall Street", James Owen Weatherall

Plus some Chinese books, I wont bore with the details, unless anyone wants to know. Fun Fact, while I was in China for 8 weeks in late 2017 I bought 60 Chinese books and stuffed them in a suitcase. It cost me $4,000RMB (~$604 USD) to check all of my stuff and purchases home :-)

The Math books are:

"Discrete math", Susan Epp

"Discrete with Ducks"

various Calc books. If you want to learn math, find books that work for you. We all learn differently here.

My opinion: The Chan books are just amazing. Thought provoking and motivational. I am still reading the Prado book.

My opinion 2: If you ever want to slow down in life and learn what you are about, read about Buddhism. I'm not trying to start a flame war. It just works for me. It isn't being told what to believe because that is the way it is. I feel Buddhism lets me explore myself to find the right answers that work for me. Since studying my anger levels are in check. I am a better Husband. My wife comes first always.

I would be interested to know if there was a 'gold standard'/'bible' of finance books for someone who knows very little, but doesn't mind a technical read.

This isn't general finance, but 'The Intelligent Investor' by Benjamin Graham is recommended a lot - some of it's uninteresting, but there are a few really useful/interesting sections!

In terms of Company Valuation (for cash flowing companies, not startups), the bible in that world is "Valuation (McKinsey & Co)"


I would like to hear the complete list :)

See above.

yes can you share the complete list for finance and math books?

See above.

Not laughing at the Buddhism books. That's actually a great suggestion!

Thanks. When I tell people I practice Buddhism they make some smart remark about being a monk.

That's fair game. I got the comments for being veggie and meditating. Others will have it for some other reason. Teasing is alright as long as it's not done again and again.

Practicing Buddhism is a scale not a binary thing. I’ve been a veggie since birth and meditated on and off. What I do like about Buddhism is less “do what I told you in a book” but more of “look inside yourself, find what works for you, and do that”.

Words to live by, my friend.

Me neither. Nothing like a saucy koan to snap me out of an infinite stoopid-loop.

Stay true to yourself. E-Mail in profile if you want to chat about Buddhism.

I hate that the default attitude of our society about people with religious beliefs necessitates your disclaimer.

What attitude can you expect from rationalists towards those who decide to believe in claims without requiring evidence or justification? The moral high ground which you seem to think exists for you, does not.

At this point no one may even read this, however I’d like to get it off of my chest. Philosophy, the fundamental study of reason, existence, knowledge, values, etc., has been around a very long time and yet is still more valuable to us an individuals and in a society then it has ever been. Religion is a lovely and long studies framework for studying those philosophical principles. It’s not the only framework but it is an exceptionally accessible framework to use.

Philosophy does not require evidence. Philosophy does not require justification. In fact at times it’s best to remove those from your philosophical thought experiments in order to better understand some principle or thought.

Rationalism as a philosophy isn’t without its faults. And many lovely arguments have been made around it. Keep that in mind.

I'm not sure if you're using the strict philosophical definition of rationalist or not (the "requiring evidence" phrasing makes me think not -- that would apply to empiricists, not that they're mutually exclusive though they were at odds in the past). If you are, I'd suggest that the body of early Buddhist work contains lines of thought that aren't dissimilar from Plato who was most definitely a rationalist.

If you're using the term in a more general sense, then social science provides evidence for the efficacy of various Buddhist practices (e.g. mindfulness). I know the state of affairs in the social sciences are suboptimal (e.g. the replication crisis) but it's the body of knowledge we have to work with now.

Religious faith is by definition believing in hypotheses without valid reason. That’s all I’m saying. If Buddhist mindfulness is effective then that’s great. But I’m talking about evaluating the truth of hypotheses using faith.

That which works is sufficient evidence unto itself. The whole idea that what is beyond the capabilities of reason doesn't exist is laughable, except when it becomes inhuman.

Yes, that’s why I said “requiring evidence”. I didn’t say we had to understand it. We don’t even understand our own brains, but they work. Now, prayer, does that work? I can’t really believe I have to explain this here.

be lucky I'm not your colleague, I'd have lifted your desk faster than a monk's Om

I guess I don't understand what you mean by this.

basically, fancy way to say I have similar topics of interests these days

I see, thanks for clarifying. E-mail in my profile if you want to chat about anything.

These are the ones right next to me now:

1. Design Patterns (GoF) - This book is all about design, someday I aim to really understand all the patterns.

2. High Performance Parallelism Pearls Volume 2 (Reinders/Jeffers) - There are couple of other books similar to this one. But, if you want to know how myriad HPC applications make use of parallel programming models such as MPI and OpenMP, this provides a good introduction.

3. The Annotated C++ Reference Manual April 1995 hardbound edition (Ellis/Stroustrup) -- What a fantastic little book, also got it for $4.95 at Powell's bookstore in Portland :) IMO this books provides a gentle introduction to C++, you can flip to any page and just start reading.

4. Numerical Recipes in C (Press, Teukolsky, et al.) - If I need to quickly prototype some scientific computation kernel, this is my go-to book.

5. Effective C++ 3rd edition (Meyers) - I like to approach this book from the back (i.e., indices), pick up a topic, and then read the contents one by one. Repeat.

6. Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers (Gottschling) - I like and dislike certain portions of the book. It definitely contains a lot of code explanations of C++ idioms, which helps a beginner like me.

A thick catalogue (ELFA Distrelec 'Elektronik och Automatisering' 2013-2014) on which I placed a stationary laptop hooked up to a 24" monitor. On that monitor I have access to more or less all the books in the world in one way or another so I don't bother with paper versions anymore.

I actually just made an engine [1] for the Searx [2] meta-search engine to allow it to search through a local library using the Recoll [3] search engine, making life even easier as search over my personal library is now integrated into the same search engine I use for other purposes. With full text search using a query language [4] which resembled the defunct Xesam [5] language it is above and beyond what the likes of Google Scholar offer.

While I'm in many ways something of a traditionalist - living on a 17th century farm in Sweden, cooking on a wood-burning stove, riding sidecar Soviet motorbikes etc - I made the move to a more or less paperless office quite a while ago. The one thing I do not do is rely on third-party services to accomplish this as those have proven to be both unreliable as well as unreasonably inquisitive with regard to any personal details they can filch from their users. I keep my own 'cloud', have my own (meta-)search engine, my own mail/web/etc server, etc.

[1] https://github.com/asciimoo/searx

[2] https://github.com/asciimoo/searx/pull/1257 and https://github.com/koniu/recoll-webui/pull/61

[3] http://www.lesbonscomptes.com/recoll/

[4] http://www.lesbonscomptes.com/recoll/usermanual/webhelp/docs...

[5] http://www.xesam.org/main/XesamUserSearchLanguage95/

> I keep my own 'cloud', have my own (meta-)search engine, my own mail/web/etc server, etc.

What software do you use for this, and how much time does it take for you to keep it running?

The 'cloud' (...which is a silly word...) runs on Nextcloud. Keeping it up doesn't cost much time at all, updates are close to painless for recent releases. I made a few apps related to library maintenance (OPDS Catalog) and reading (Reader, an epub/PDF/CBx reader)

Mail: Exim/Dovecot/Spamassassin/greylistd. Roundcube as a stand-alone web mail interface, not used much since Nextcloud gained a usable mail client. About 8 hrs per year of upkeep.

Web: nginx (used to use lighttpd) as frontend to a host of different applications and services running on two ancient Intel SS4200 servers. I'm about to move the whole bunch to a somewhat more upscale server (building a rack now to contain it plus some assorted network bits, disk cabinets and one of those SS4200's, the bottom bit of which will be used as a fruit/herbs drier so that heat won't go to waste...)

X2go to run X11 apps on remote locations

Searx for search, now also local search using Recoll and the mentioned plugin

GOGS for code hosting

I'm still running Trovebox as an image server, currently working on a media server to combine video, image and audio.

Subsonic/Madsonic for remote audio and limited video service, the same library is served by mpd on several machines in the network.

Some long-running experiments with XMPP (using Prosody) to use next to (and eventually replace) Telegram. If Telegram opens their server code this might not be necessary but I'm not holding my breath.

Eventually I'd like to end up with a plug-in replacement 'box' for many 'essential' network services, something which can run on modest hardware and does not take much upkeep so it can be used by as wide a range of people as possible. I'm not the first one, nor the only one to come up with this idea but as I've been doing this for more than 22 years now for personal and family use I do have some experience with the matter.

Gödel Escher Bach, or GEB.

It's one of the most informative books I've ever read with a really valuable perspective to view information through. I find myself applying it more frequently the more recently I've re-read it.

It is difficult for me to imagine its utility as a desk reference, but it is certainly just as rich and unusual a piece of literature as its reputation suggests.

Hofstadter's 2007 book "I Am A Strange Loop" develops one of GEB's themes in more depth. It's written in a more straightforward style than GEB, so it's less remarkable as a reading experience, but its perspective has stuck with me in a pretty fundamental way, so I would recommend it to anyone who enjoyed GEB and wants to dig further into the puzzle of consciousness.

Same along with Cracking the Coding Interview and Clean Code. I use to have Blizstein's Introduction to Probability but I can't seem to find it now.

edit: typo

Motion seconded. I read it first when I was barely ten, and even though I barely understood a word of it, I made a vow to myself to keep coming back to it until I did. I've been coming back to it constantly ever since, and I think I finally get it. I think.

I am freakishly hooked on this book and the thing I find, is that every 5 to 10 years I read it again, there are parts that realise I never understood (or even truly read) when I read it before.

Mind you, I have that with particular novels & movies I return to, too.

>I find myself applying it more frequently

thats really intersting. curious if you have any examples tht come to your mind.

Sure! As the book is from a very abstract point-of-view, it's challenging to have specific anecdotes. It feels more like a small adaptation to your perspective / addition to your base of reasoning.

Although it covers a plethora of topics, what really binds it together is the idea of 'strange loops,' and how loops are existent in most everything, how they signal information, how they come in various steps, etc, etc, etc.. I'm sure the author would disagree with that summary actually, but it's the best I can do.

In finance for example, it's prompted me to more actively search for loops in any given analysis, and sometimes at a much more macro level. In politics, I've ended up thinking a lot more deeply about some loops of how civilizations progress and ideologies change.

To summarize: The book does a fantastic job at showing you how all of these loops are present throughout computer science, physics, chemistry, music, art, and practically everything imaginable. Once you realize the existence of these loops that you were previously oblivious to, you start to search for them more actively. You should definitely check it out if this sounds interesting!

I am probably even less worthy of offering a summary of the book than you are, but I'll take a stab as well.

The author is interested in how meaning can arise from meaningless components. For example, any one cell in the brain doesn't seem to have awareness, intelligence, etc. -- so why is it that a brain's worth does seem to have these abilities? To take it further, one could consider the constituent atoms and such.

There are analogies with music, visual art, and more subjects. How is it that a single musical note conveys so little, yet certain arrangements convey so much?

The author has a rough idea about how this happens. He thinks this event (meaning arising from meaningless parts) is the core scientific-philosophical question for developing strong AI.

I keep a wide variety of references around this desk. Some of my favorites:

Manuel Lima's "Visual Complexity", "The Book of Circles", and "The Book of Trees". These are useful as references and as visualization inspiration.

Jacques Bertin's "Semiology of Graphics". Gorgeous and immensely useful.

Desmond and Nicholas Higham's "MATLAB Guide, 3rd Edition", and Yair Altman's "Accelerating MATLAB Performance". Both are invaluable for serious MATLAB work.

Titus A. Beu's book on Numerical Programming is very good as a reference.

For anyone needing to work on military simulations, "Engineering Principles of Combat Modeling and Distributed Simulation" by Tolk is the best reference I have found on the subject.

And TAOCP and CLRS are here for reference purposes as well.

I read that book cover-to-cover and worked most of the examples back in my middle school days. Animating that hot air balloon in the "Sprites" section...memories!

That's just hardcore. If I saw that on a desk I might think I was getting punked.

- Structure and interpretation of computer programs

More by nostalgia than by need

- The art of computer programmming

- Hacker's delight

These two are of great help when doing programming challenges. Hacker's delight is about bitwise tricks.

- Open Data Structures

Useful for a quick refresh on data structures.

Love all those books. Hadn't heard of the last one though. Looks like it's available online [1].

And actually, it has a few cool links on its homepage to similar books. In particular, there is a link to this gem [2], which, for example, has a chapter [3] on what appears to be a very interesting generalization [4] of the "master theorem" of CLRS. Another good resource that pages links to seems to be [5], which was recently mentioned on HN.

Of course, for an even deeper treatment of asymptotic analysis check out Flajolet and Sedgewick [6]!

[1] http://opendatastructures.org/

[2] http://jeffe.cs.illinois.edu/teaching/algorithms/

[3] http://jeffe.cs.illinois.edu/teaching/algorithms/notes/99-re...

[4] https://en.wikipedia.org/wiki/Akra%E2%80%93Bazzi_method

[5] (PDF warning) http://opendatastructures.org/mcs.pdf

[6] http://ac.cs.princeton.edu/home/

Algorithms, Etc. by Jeff Erickson chapter on dynamic programming is great, especially that part:

In a nutshell, dynamic programming is recursion without repetition. Dynamic programming algorithms store the solutions of intermediate subproblems, often but not always in some kind of array or table. Many algorithms students make the mistake of focusing on the table (because tables are easy and familiar) instead of the much more important (and difficult) task of finding a correct recurrence. As long as we memoize the correct recurrence, an explicit table isn’t really necessary, but if the recursion is incorrect, nothing works.

Dynamic programming is not about filling in tables. It’s about smart recursion!


This is such a good book. One of the few books I've re-read

Machinists handbook from the 60's era. I value it for the pre computer ways of thinking. Lots of gold in that one.

MOS 6502 series data book.

Moto 6809 Programmers Reference.

I actually had someone take me to the local Motorola office to get the 6809 book. Docs were free for the asking, and a kid asking was quite the event. Aspects of that conversation were important to my life.

I still have occasion to do paid work, and enjoy fun projects with both chips, and or variants seen today. These are few and far between, but very enjoyable. Mostly perspective and nostalgia in these. It's my roots.

The One Minute Manager parable has served me well mentoring and leading.

On Writing by Stephen King. Being able to tell a story with clarity has far more utility than one would expect. Besides, I want to write a novel one day.

The Art of Electronics, second edition. Probably need to update that one.

A Tektronix "How to use an Oscilloscope" book, well matched to my old, analog 400Mhz, 4 channel scope.

ANSI / ASME geometric dimensioning, tolerancing, standards books. 2D technical communication remains significant in my life.

Recent addition: Mold making Handbook.

I need a good primer and a good polymer tech reference. Any suggestions?

"Pirates of the Asteroids", childhood sci-fi. Again, perspective. Was the first one I really read through and got as a kid. Kept it, because asshole reminder. 'Nuff said. It's just a personal totem.

Correction to the above:

Engineering Handbook from the 60's era. Just glanced at it, and realized I had the title wrong.

Man, there are so many great references in this thread. I've made a short list, and will enjoy my next trip to Powell's books.

Thanks all.

The books on my desk are a combination of reference books and books that are good conversation-starters (I've read them already and don't need them as reference, but they're good for lending out to people, especially junior devs).


  - Effective Java (good for learning the mindset of developing backward-compatible APIs in any language)
  - Enterprise Integration Patterns (I work on an enterprise APIs team)
  - Designing Data-Intensive Applications
  - Camel in Action
Good for lending out:

  - The Phoenix Project
  - Making Work Visible
  - Effective DevOps
  - The Pragmatic Programmer
  - REST in Practice

It's dusty, but I can't throw it away.

Effective Perl Programming.*

A long time ago, when I was a college kid with tons of free time, I'd sit for hours at Borders* or Barnes & Noble and just read computer books. God bless those employees for never kicking a 20-something poor kid out who lived on free coffee refills, yet never bought books.

At the time, Perl was more significant. Something about its syntax made sense, even though nowadays I cringe at it. Though Python is worse, in a different way...

A decade later, and I still sometimes need to spit out the results of a bunch of commands, iterate through them with some regex, format it, etc. Perl became the internet's 'duct-tape' for a reason.

[1] https://www.amazon.com/Effective-Perl-Programming-Idiomatic-...

[2] https://dealbook.nytimes.com/2011/02/16/borders-files-for-ba...

It has been a really long time (years) since I had to use any printed book as reference material. For any question I have concerning a random factual matter, I am always able to find an adequate answer online in less time than it would take to reach for a book, look up the topic in the index, and then turn to the appropriate page.

Where I still find books useful is in learning a new subject from scratch. Reading an entire book from cover to cover gives me a broad mental overview of the whole subject, and that is extremely helpful when trying to put the random bits of knowledge I find online into context.

Desk Ref[1]. It's a ref for your desk.

It answers almost any question you might have pertaining to workshop activities. Speeds, feeds, that kind of thing. I keep it in our break room in case one of us needs to look something up. A lot of the younger technicians are fresh out of school, and we also have apprentices on our shift. Having a resource like this is invaluable for when they have a question, and none of us old-timers are available to answer it because something major has broken and we're scrambling to make it not-broken.

Our company prints its own training materials and we have a veritable library of Standard Maintenance Procedures, as well as manufacturer's manuals for all the different machines in our shop. We keep them indexed in a large filing cabinet.


Silence, John Cage

Man Against Myth, Barrows Dunham

The Elements Of Style, Strunk & White (4th ed.)

Telling Writing, Macrorie

The Zen Teaching Of Huang Po

The Pocket Pema Chödrön

Why I Write, George Orwell

Others come and go from time to time, but those stay.

The Zen Teaching Of Huang Po is a wonderful. I have Record of Linji (Huang Po's student) and Radical Zen: Sayings of Joshu (Huang Po's and Linji's contemporary) on my desk.

Princeton Companion to Mathematics: this guide is phenomenal in introducing a wide array of pure math topics. Just going through a few pages is hugely inspiring and simultaneously ego-deflating

I use a couple of books to prop up my monitor. I also got a notebook.

Ditto. Sad to say that my 2 Compact Edition(s) of the Oxford English Dictionary have been relegated to a block-of-wood.

"What's my purpose?" "You pass butter." -- Rick Sanchez

I rely mostly on hypertext for referencing, mostly through Dash for macOS and man pages. Books that I still occasionally reference:

- Speech and Language Processing, Jurafsky & Martin

- K&R

- Sedgewick & Wayne, but more for teaching than anything else.

In a previous life:

- The C++ Standard Library, Nicolai Josuttis,

- C++ GUI Programming with Qt 4, Jasmin Blanchette and Mark Summerfield

- The C++ Programming Language, Bjarne Stroustrup

- Effective Java, Joshua Bloch

- Scott Meyers' Effective C++ books.

Do you write C++ by chance? ;)

I stumbled upon a dictionary of quotations of sorts (the quotes are organized alphabetically by topic/theme) and oddly enough I’ve begun keeping that nearby for the motivation, thought provocation and genuine entertainment those snippets of texts provide. I’ve enjoyed it so much I’ll likely replace it with a thick poetry book once I’ve exhausted it.

Sounds interesting. Have a link or title?

The title is “The New Webster’s Library of Practical Information: Quotations”. ISBN: 0-7172-4565-9, and the only link I found that was representative of what the set I have resembles is below[0], though it’s worth noting that it’s quite overpriced in said link (afaik) so please don’t take this as a purchase recommendation.

Apparently newer additions have been released as individual books (not as part of a set), and I’m sure you could snag a free pdf of a dictionary of quotations via libgen for a quick peek.

[0] https://m.ebay.com/itm/The-New-Websters-Library-of-Practical...

- Martin Henson - Elements of Functional Programming (old, and on purpose, I like to have a sense of the pre trend FP mindset) I suggest everyone to try to grab it (library or paid tree), the cover is so pretty https://www.abebooks.com/book-search/title/elements-function...

Had a bunch of books about electricity/electronics (google for 'best book about ...')

Also bitcoin got me to hear about Statistics:

- http://www-bcf.usc.edu/~gareth/ISL - https://web.stanford.edu/~hastie/Papers/ESLII.pdf

Lastly, Queinnec LiSP is never far from reach

On the topic of pretty covers, I love the covers of these two books a lot:

1. The Art of the Metaobject Protocol (https://mitpress.mit.edu/books/art-metaobject-protocol)

2. The Art of Prolog (https://www.amazon.com/Art-Prolog-Second-Programming-Techniq...)

but haven't been able to find any other motivation to buy them. Also I have never printed the Common Lisp Quick Reference(http://clqr.boundp.org/clqr-a4-booklet-all.pdf) because I always imagine it having a really pretty cover, and everything I try just falls short.

Oh, we used the Art of Prolog in my sw engineering course. It's a good book, although it doesn't cover the newer features of Prolog interpreters, like Constraint Logic Programming, IIRC.

Thanks for the review, I have my eyes set on The Reasoned Schemer(https://mitpress.mit.edu/books/reasoned-schemer-second-editi...) if I ever feel like learning more about logic programming, maybe after that I can give The Art of Prolog a go :)

are there standard or near standard books about new topics in Logic Programming ?

I don't know, but there's a recommendation here: https://news.ycombinator.com/item?id=869042

side note: found a book about geometry in prolog https://link.springer.com/chapter/10.1007/978-4-431-68036-9_...

The Boglehead's Guide to Investing, mostly because my coworkers frequently ask for advice regarding their 401ks and IRAs, and it's a solid baseline for frugal investing.

None, I keep em on my bookshelf.

I refer to my design books. My favorite of all time, is "The Nature and Art of Workmanship" by David Pye, given to me by a former woodturning mentor.

For many years "SQL for Smarties" by Joe Celko was on the desk along with whatever specific technical reference i happened to need at the time.

There are no physical books now on the desk but the table of contents of some of the older books remind me of what to google often enough

Is SQL for Smarties more for software engineers or can it be used by analysts?

The Essential Calvin and Hobbes: a Calvin and Hobbes Treasury

With respect to software I refer to Programming Elixir/Phoenix (although both Programming Elixir 1.6/Phoenix 1.4 should be released soon). I'm also going through Functional Web Development with Elixir, OTP, and Phoenix by Lance Halvorsen at the moment.

Outside of software I have:

- The Intelligent Investor by Benjamin Graham

- Zero to One: Notes on Startups, or How to Build the Future by Peter Thiel

- Screenplay: The Foundations of Screenwriting by Syd Field

- Critique of Pure Reason by Immanuel Kant

One book that I have been meaning to add next to Syd Field's Screenplay is Story: Style, Structure, Substance, and the Principles of Screenwriting by Robert McKee.

"Code Complete 2nd Ed." - McConnell "DevOps Handbook" - Gene Kim et al "Deep Work" - Cal Newport "Tools of Titans" - Tim Ferris "Bleeding Edge" - Thomas Pynchon

Sun Tzu's The Art of War, O'Reilly's SQL Pocket Guide, Numerical Recipes in C++, an old GW-Basic manual, and a reprint of the first edition of Machinery's Handbook.

Most of my work is boring old enterprise apps in java, c# or c++; the GW-Basic manual is a relic from my first computer that I keep around for sentimental reasons. Numerical Recipes is referred to on occasion, as is the SQL pocket guide, the other two are good for taking a 5 minute break from things.

I use a library so have about 10+ on rotation every 2 weeks covering every topic. graphic novels, reference books, programming books, science books. with membership to 3 libraries it's much better than owning them and letting the get dusty on a shelf. I admit this came as a result of moving country and having to sell all my books. I will never go back to owning books I have so much variety now. public libraries are the greatest institution to exist.

Leaves of grass by Walt Whitman is something that I feel calls to me at times, and my bibleworn copy often sits on my workbench. I even have some sections memorized.

"Semiology of Graphics", by Jacques Bertin. Originally published in 1967, it describes principles of graphic communication, similar to Tufte's work.

Taleb's incerto. [Anti-Fragile, Fooled by randomness, Black Swan, Skin in the game]

Scott Adams' [How to fail at Almost every thing and still win big]

Meditations by marcus arelius

Advanced Programming in the Unix Environment

It's often a better reference than the POSIX spec is.

On that topic, I really liked Advanced Unix Programming by Marc Rochkind. [1] It was an early Unix programming book and covered very well how to correctly use many important Unix system calls and showed how to write some non-trivial apps including a simple DBMS, using them. IIRC I read recently that he is coming out with a new edition after many years:


[1] I got to read it because it used to be shipped for free with all HP-UX servers for some time, when I was working in an HP joint venture company.

The Principles of Product Development Flow: Second Generation Lean Product Development

by Donald G. Reinertsen


The Art of Electronics, Third Edition by Horowitz & Hill

Adams, Douglas. The Hitchhiker's Guide to the Galaxy

Brewer, Ebenezer Cobham. Brewer's Dictionary of Phrase and Fable

Euclid, Elements of Geometry

Fuller, Buckminster. Operating Manual for Spaceship Earth

Greene, Robert. The 48 Laws of Power

Kernighan & Ritchie. The C Programming Language

The King James Bible

Polya, George. How to Solve It

Overcoming Gravity

For most of my life never really had an interest in working out but learning more about calisthenics and body weight fitness in general has really changed things for me in a positive way, and this book really shows how to progress without access to weights or a gym.

Thinking in Systems by Donella Meadows

Getting to Yes by Roger Fisher and William Ury

ARRL Handbook for Radio Communications

ARRL Antenna Book

American Heritage Dictionary, 5th Ed.

Bible/Lectionary, Breviary, and Catechism

If fiction counts, I will probably never delete Flatland or the complete Joseph Conrad from my Kindle.

Right now: Modern Man in Search of a Soul, C. G. Jung

Just finished that! So good. Jung was a genius.

Coincidentally, I have The Undiscovered Self sitting on my desk at this moment.

Just recently tried reading that. Unfortunately it was too hard for me. Could be because of that the book seemed too vague.

None. Need to be prepared to leave at a moments notice. I used to keep a large technical library, but now it is at home. After having seen engineers with 25 years of service walked out the door with zero notice, I will be prepared to do the same.

That sounds like an awful environment.

Someone I know was "walked out" from the UK Ministry of Defence. He wasn't allowed to touch anything after being informed, but he was taken to his desk and asked what was his -- pictures of his children and so on.

(British employment law requires employers to give a notice period, but the employee doesn't have to be at work. This person would have then had three-six months "gardening leave" on full pay.)

One defense contractor pulled all the keyboards over lunch break. Employees return from lunch with a pink slip in place of the keyboard.

Always within arm's reach at both home and work:

Rudin, Real and Complex Analysis

Halmos, Finite Dimensional Vector Spaces

Billingsley, Probability and Measure

Kelley, General Topology

Lang, Undergraduate Algebra

Simmons, Introduction to Topology and Modern Analysis

Parthasarathy, Probability Measures on Metric Spaces

Whinston, Green and Mas-Colell, Microeconomic Theory

Refactoring by Martin Fowler. Working Effectively with legacy code by Michael Feathers

"A Brief History of Time" and "Universe in a nutshell" are always there. I never get tired of reading a random page from those books.

I have nothing programming related on my desk; we have Google to thanks for that.

_Amphigorey Too_ by Edward Gorey. When I've been staring at a computer screen and thinking about logic for too long it's nice to look at some beautiful hand drawn illustrations and enjoy some surreal humor.

Sorry, we have a clean desk policy... :-(

- Principles: Life and Work by Ray Dalio - Tribe of Mentors by Tim Ferriss - Thinking, Fast and Slow by Daniel Kahneman

~10 SQL Server/DW/BI books (not just on the desk but scattered everywhere)

My Emacs manual, only book I keep on my desk at the moment. Truth is, if I'm going to read for pleasure I go to my bookshelf. I don't want to read where I work.

Hello Hacker folks. Have previously shared a few essays in this forum, since topic of the day is book recommendations coincidentally recently published a collection of books that had inspired many of these essays - available on medium if you're interested. Cheers.


-Design of everyday things

-Sapiens : A brief history of humankind

-Zen pencils

- Book of Life - By J. Krishnamurti

The Bible

Douay-Rheims 1899 Version Here.

As a circuit designer/embedded programmer:

- USB Complete 4th ed (Axelson)

- Electromagnetic Compatibility (Ott)

- Small Signal Audio Design (Self)

- Roget's 21st Century Thesaurus

- Verilog by Example (a.k.a. the Little Blue Book) (Readler)

- Mouser Catalog

Not a book, but an ASCII table comes in handy ever so often

Yup. I work in a pretty pared down cubicle space and prefer not to leave my books at work— one of those dorks with a wall of them in my apartment.

But I do have an Ascii table and a DEC/HEX/OCT/BIN chart so that I can just glance up if I'm not feeling particularly quick.

And regex cheatsheet.

man ascii

or in some systems, the command 'ascii'

Designing Data-Intensive Applications by Martin Kleppmann.

Same here. Only book that stays on my desk. Others rotate.

I use CLRS and the 2600 book as monitor risers.

More seriously, I generally don't re-read books. One exception is The Cuckoo's Egg, which I reread every ~5 years.

"One exception is The Cuckoo's Egg, which I reread every ~5 years."

I do too, others I like to reread "hackers" by Steven Levy and Showstopper by G. Pascal Zachary. I don't know why but I always find these books highly entertaining.

Glad I'm not alone.

The Cuckoo's Egg is such a good read, at the time it came out there was a television program in the UK about it and I have been rereading the book every couple of years since watching that.

The only negative is the biscuit recipe isn't very good.

"The Power of Habit" by Charles Duhigg.....I have other good books too but this one is an asset...Every desk should have it

Interesting, that's on the Army Advanced Situational Awareness reading list (http://www.benning.army.mil/armor/316thCav/ASA/ReadingList.h...).

Trying to access this from China using VPN, it is blocked by "DoD" filters. As if it was top secret. A quick google search finds a cached pic of the webpage. FTW! And I am a liberal arts major ;-)

The link is not working for me :(

~ Books => I have most in digital and physical copies ~

- The C Programming Language (2nd edition) - Brian Kerningham / Denis Ritchie

- The C++ Programming Language (4th edition which discuss C++11) - Stroustrup

- Design Patterns Elements of Reusable Object-Oriented Software - GoF

- Effective C++, Effective Modern C++ - Scott Meyers

~ Specifications ~

- C99 draft spec, C++11 draft spec (too cheap to buy official copies!)

Clicky links for most mentions. (not all here) https://docs.google.com/spreadsheets/d/1ekA4jSrY4xOtQW6OCL4x...

SICP, ANSI CL, and Real World OCaml.

Nothing related to my day job in JS land, just fun reading material for my free time.

I've long ago recycled or burned most of my books as no library would take them. I only have a leather bound encyclopedia remaining in my house which I also want to get rid off. So much money poured down the drain... I don't find it enjoyable re-reading the same stuff.

Most recently, I've been keeping Character Strengths and Virtues on my desk. It's a catalogue of the things that we think are good about human psychology. It's a good conversation starter, and fun to flip through and read sections.

Joel Whitburn's "Top 40 Hits". "Computer Music" by Dodge and Jerse. Several others have been displaced by the web ... or obsoleted by the inexorable March of Science. (Life was more interesting before surface-mount.)

The Hardware Hacker by Bunnie Huang. It's great for casual reading and some reference to how electronics are manufactured.

UNIX and Linux System Administration Handbook. I have an old version but it's also great material and excellent writing.

>UNIX and Linux System Administration Handbook.

That's a great book. I've read parts of both the Unix and later Linux versions.

Edit: It also reminded me of the O'Reilly book Unix Power Tools - another classic. I had bought it early on and read almost the whole thing. Both it and the Handbook are quite thick, too.

I don't have any physical books on my desk[1]. Most of the stuff I usually need is online and takes less time than thumbing through books & indexes.

[1] I think this is most likely situation but wasn't sure if more would answer this.

1. Digital Design and Computer Architecture: ARM Edition

2. The Evolution of Cooperation: Revised Edition

3. The Ego Tunnel: The Science of the Mind and the Myth of the Self

(in backpack until I finish it). The Lucifer Effect: Understanding How Good People Turn Evil

None, I'm using google.

- Programming Interviews Exposed - Head First Design Patterns - Clean Code

I'm a junior in my first job and I've had these books in my personal library for a while now. Incredible helpful

After Clean Code, also check out The Clean Coder. Less technical, more career/project focused.

There's also Clean Architecture, but I haven't read that one yet.

The Pragmatic Programmer

Deep C Secrets 50 Effective C++ tips Design patterns Elements of ReUsable OO software Several short sentences about writing The official Ted guide to speaking

An unlined drawing pad, and graph paper. That's all.

Those are not books are they?

They are something like books once I'm done with them.

ASP.Net 4 and Java Programming used to hold up my monitor

These days:

  - Martin: Clean Code
  - Martin: Clean Architecture
  - Fowler: Refactoring
  - Feathers: Working Effectively with legacy code

"The Visual Display of Quantitative Information" by Tufte. A pretty book, and occasionally useful as a reference too.

Meditations: Epictetus, Social Contract: Rousseau, The Discipline of Market Leaders

Every now and then I open these at a random page and read.

Pete the Cat and the Missing Cupcakes

It reminds me that life is suppose to be fun and not just about algorithm and technologies!

There's a copy of The Third Policeman by Flann O'Brien on the floor next to my bed. Does that count?

Building Evolutionary Architectures: Support Constant Change

Domain-Driven Design: Tackling Complexity in the Heart of Software

Keeping Found Things Found, William Jones, Morgan Kaufmann press.

The study and practice of personal information management.

The Elements of Style: Strunk and White

Joe Celko's SQL for Smarties.

Tufte's Visual Display of Quantitive Information.

Donald Norman's Design of Everyday Things.

The C Programming Language, Metaprogramming Elixir, Master and Margarita, and The Undiscovered Self.

Clean Code and Clean Architecture

I want to get one of those giant XML bibles and keep it on my desk just to troll people.

Zero to One by Peter Thiel and The Obstacle is the Way, Ego is the Enemy by Ryan Holiday

Introduction to Algorithms (CLRS) and The Linux Programming Interface (Kerrisk)

"Signs and Symbols: Their Design and Meaning" by Adrian Frutiger

Ethics of Liberty by Murray Rothbard

Economics in One Lesson by Henry Hazlitt

A MacBook.

The Internet for Dummies, under my monitor stand to make it a bit higher

I keep one: www.google.com

DNS and BIND, 5th Edition

By far the #1 book I keep referring to and re-reading: Zero to One.

Just one book: my notebook. Everything else is on the bookshelf.

A dictionary written in the language I'm trying to learn

Machinery's Handbook and some GD&T reference books.

Programming Erlang.

Halmos & Rudin.

FDVS or set theory? Baby or Papa?

FDVS and baby, but I will upgrade to papa sometime!

Stephen Hawking- A Brief History of Time

Makes my life feel ephemeral and therefore more precious


The Underachiever's Guide To Happiness

Perl Pocket Reference from O'Reilly

Currently I have:

- Procedural Generation in Game Design

- The Art of Halo 3

- PUBG + Cats

What is that last one?

- Kubernetes in Action

- Get Programming with F#

The C Programming Language

8 shades of grey

* Sapiens

* The Intelligent Investor

* Malgudi Days

Code Complete

TAOCP always finds its way back to my desk. Volume 2 is here at the moment. I don't really keep any books as references, though. I have kept K&R on my desk before but these days I mostly use online documentation.

Right now, Learn Git in a Month of Lunches, and Learn Windows Powershell in a Month of Lunches.

Also Functional Programming in C#.

I'm a bit of a Manning junkie

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact