I've been meaning to read it, and I think it's really interesting that it provides enough value to be among the others.
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.
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.
I'm not sure where you can get it in the states.
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.
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.
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.
Me either, but how else do you signal to other programmers how knowledgeable and well-rounded you are in the field?
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)
- 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.
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.
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:
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.
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.
Could you share your favorite books on algorithmic trading? I've been interested in it for a while.
Also, all that Chinese Internet humor is a reward :-D
"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.
"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
"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.
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.
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.
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.
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.
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.
Mind you, I have that with particular novels & movies I return to, too.
thats really intersting. curious if you have any examples tht come to your mind.
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!
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.
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 actually just made an engine  for the Searx  meta-search engine to allow it to search through a local library using the Recoll  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  which resembled the defunct Xesam  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.
 https://github.com/asciimoo/searx/pull/1257 and https://github.com/koniu/recoll-webui/pull/61
What software do you use for this, and how much time does it take for you to keep it running?
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.
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.
And actually, it has a few cool links on its homepage to similar books. In particular, there is a link to this gem , which, for example, has a chapter  on what appears to be a very interesting generalization  of the "master theorem" of CLRS. Another good resource that pages links to seems to be , which was recently mentioned on HN.
Of course, for an even deeper treatment of asymptotic analysis check out Flajolet and Sedgewick !
 (PDF warning) http://opendatastructures.org/mcs.pdf
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!
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.
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.
- 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
- The Phoenix Project
- Making Work Visible
- Effective DevOps
- The Pragmatic Programmer
- REST in Practice
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.
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.
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.
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.
"What's my purpose?"
"You pass butter." -- Rick Sanchez
- Speech and Language Processing, Jurafsky & Martin
- 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.
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.
Had a bunch of books about electricity/electronics (google for 'best book about ...')
Also bitcoin got me to hear about Statistics:
Lastly, Queinnec LiSP is never far from reach
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.
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.
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
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.
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.
[How to fail at Almost every thing and still win big]
Meditations by marcus arelius
It's often a better reference than the POSIX spec is.
 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.
by Donald G. Reinertsen
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
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.
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.
Coincidentally, I have The Undiscovered Self sitting on my desk at this moment.
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.)
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
I have nothing programming related on my desk; we have Google to thanks for that.
~10 SQL Server/DW/BI books (not just on the desk but scattered everywhere)
-Sapiens : A brief history of humankind
- Book of Life - By J. Krishnamurti
- 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
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.
or in some systems, the command 'ascii'
More seriously, I generally don't re-read books. 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 only negative is the biscuit recipe isn't very good.
- 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!)
Nothing related to my day job in JS land, just fun reading material for my free time.
UNIX and Linux System Administration Handbook. I have an old version but it's also great material and excellent writing.
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 think this is most likely situation but wasn't sure if more would answer this.
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
I'm a junior in my first job and I've had these books in my personal library for a while now. Incredible helpful
There's also Clean Architecture, but I haven't read that one yet.
- Martin: Clean Code
- Martin: Clean Architecture
- Fowler: Refactoring
- Feathers: Working Effectively with legacy code
Every now and then I open these at a random page and read.
It reminds me that life is suppose to be fun and not just about algorithm and technologies!
Domain-Driven Design: Tackling Complexity in the Heart of Software
The study and practice of personal information management.
Tufte's Visual Display of Quantitive Information.
Donald Norman's Design of Everyday Things.
Economics in One Lesson by Henry Hazlitt
Makes my life feel ephemeral and therefore more precious
- Procedural Generation in Game Design
- The Art of Halo 3
- PUBG + Cats
- Get Programming with F#
* The Intelligent Investor
* Malgudi Days
Also Functional Programming in C#.
I'm a bit of a Manning junkie