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.
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.
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).
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!
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.
>> 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.
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)
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.
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 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.
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.
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.
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.
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.
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.
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.
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!
[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...
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.
I'm not sure where you can get it in the states.
https://en.wikipedia.org/wiki/Translations_of_One_Thousand_a...
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)
Deleted Comment
- 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:
https://github.com/matthewwiese/binary-full-adder
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 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.
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.
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/
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.
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.
edit: typo
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!