
Ask HN: Fun Tech Book Recommendations? - chrisshroba
I&#x27;m currently reading Seven Databases in Seven Weeks [1] and finding it to be a really fun and interesting look at some tech I don&#x27;t know much about. I&#x27;m wondering what other interesting books there are out there that focus less on teaching you all the technical details of a technology, and more on what makes it exciting and interesting.<p>What books do you suggest?<p>[1]: https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;13130963-seven-databases-in-seven-weeks
======
whb07
"Domain Modeling Made Functional" by Scott Wlaschin*

Talk about a great book from cover to cover! Functional language evangelists
are always ranting about types and their usefulness but fail to concretely
convey how and why they can help. In this book Scott uses F#, but it applies
to the broader range functional languages with a strong type system like
Haskell, OCaml, Scala etc.

The main thread of the book is building an ecommerce shop of and he begins at
the base foundation what the "business" needs and how it can be modeled using
the type system to carefully detail and build on the idea of making "illegal
states unrepresentable".

Highly recommended as it shows that the author has spent quite a bit of
thought on conveying the useful ideas and being concise in explaining them. If
you're new to the world of functional programming it does a great job of
explaining the concepts and how to use them. For the experts, it specifically
helps you be aware of better modeling around types.

* [https://pragprog.com/book/swdddf/domain-modeling-made-functi...](https://pragprog.com/book/swdddf/domain-modeling-made-functional)

------
marttt
"Land of Lisp" by Conrad Barski:
[http://landoflisp.com](http://landoflisp.com)

Oh, and his Haskell tutorial seems fun as well:
[http://lisperati.com/haskell/hasktut.pdf](http://lisperati.com/haskell/hasktut.pdf)

------
mihemihe
I had a really good time myself reading: The Phoenix Project: A Novel about
IT, DevOps, and Helping Your Business( [https://www.amazon.com/Phoenix-
Project-DevOps-Helping-Busine...](https://www.amazon.com/Phoenix-Project-
DevOps-Helping-Business/dp/0988262592) )

------
hprotagonist
[https://www.amazon.com/Cuckoos-Egg-Tracking-Computer-
Espiona...](https://www.amazon.com/Cuckoos-Egg-Tracking-Computer-
Espionage/dp/1416507787)

~~~
marmot777
Thats an absolute classic that reads like a spy novel detective story, and, at
times, Unix manual. Perfect.

~~~
hprotagonist
you'll never see a pack of benson and hedges and think of anything else again.

------
TallGuyShort
"Things to Make and Do in the Fourth Dimension" is really fun, but it's not
really tech, it's more just math. But I do a lot of work with scientific /
numerical computing so some may group them together. In addition to math, it
covers some interesting algorithms and fun ways to use spreadsheets for
images, etc.

I also really enjoy books about the tech used in the early space program.
"Digital Apollo" is probably the one that makes the best light / easy reading.

------
plyptepe
"Learn You a Haskell" by Miran Lipovača:
[http://learnyouahaskell.com/](http://learnyouahaskell.com/)

"Learn You Some Erlang for great good" by Fred Hebert:
[https://learnyousomeerlang.com/](https://learnyousomeerlang.com/)

"If Hemingway Wrote JavaScript" by Angus Croll:
[https://nostarch.com/hemingway](https://nostarch.com/hemingway)

"Clojure for the Brave and True" by Daniel Higginbotham:
[https://www.braveclojure.com/clojure-for-the-brave-and-
true/](https://www.braveclojure.com/clojure-for-the-brave-and-true/)

~~~
rubinelli
No Starch Press has several books in a bundle for a few more days:
[https://www.humblebundle.com/books/data-science-no-starch-
bo...](https://www.humblebundle.com/books/data-science-no-starch-books)

------
japhyr
Recently someone on HN recommended _Unix: A History and a Memoir_ by Brian
Kernighan. I'm almost finished, and it's been a wonderful read.

I love reading about the development of early programming languages and
computing environments, but I was surprised to find how helpful it is for
deepening my understanding of things I use every day. It's amazing to me that
tools like grep, which I use without a second thought, were written in the
1960s and 1970s and the code behind them hasn't been changed all that much.

[https://www.amazon.com/UNIX-History-Memoir-Brian-
Kernighan/d...](https://www.amazon.com/UNIX-History-Memoir-Brian-
Kernighan/dp/1695978552/)

------
ismitley
Someone recommended this book on here a couple of weeks ago:
[https://bigmachine.io/products/the-imposters-
handbook/](https://bigmachine.io/products/the-imposters-handbook/)

This is a pretty neat book, that explains a lot of difficult concepts in
technology in an easier to grasp manner. Things like P=NP and Big O get
covered.

~~~
vo2maxer
Thank you, I just bought it :-)

------
W-Stool
Soul of a New Machine by Tracy Kidder. Pulitzer Prize winner for non-fiction
in 1982.

~~~
save_ferris
Haven’t read Soul, but I read and very highly recommend one of his other
books, Mountains beyond mountains. Incredible story about how much one person
can impact the world.

------
fu86
LOL (Let Over Lambda) is fun to read if you are not try to get the information
in your head as fast as possible but rather read two or three pages a day very
carefully and feel how your brain bends :) It is a hardcore technical book,
but the language (Common Lisp) will not make you more money in 2020 or boost
your new startup faster to market. So, read it to entertain your brain, it is
worth it!

[https://letoverlambda.com/](https://letoverlambda.com/)

------
Pete_D
Mazes for Programmers

[http://www.mazesforprogrammers.com/](http://www.mazesforprogrammers.com/)

~~~
johnsonjo
The same author Jamis Buck also recently came out with a book called The Ray
Tracer Challenge [1]. He came to my University’s Game Dev class while I was
there and he showed us all about maze algorithms and such. I thought one of
the more interesting applications he brought up was over world (a.k.a.
map/game world) generation using a maze algorithm. Which is awesome, because
maze algorithms primarily try and create a single path between any two points
which seems like a great property to have in a traversable game world. You
could then choose to open up additional paths to your liking.

[1]: [https://pragprog.com/book/jbtracer/the-ray-tracer-
challenge](https://pragprog.com/book/jbtracer/the-ray-tracer-challenge)

------
gradschool
Anything by Gerald Weinberg is great. The technology is dated but the insights
about working as a programmer are as relevant as ever, and the writing style
is so enjoyable that my ex girlfriend who hates computers wanted to read it.

~~~
marttt
+1, Weinberg's "An Introduction to General Systems Thinking" [0] blessed me
with the Systems Triumvirate:

1\. Why do I see what I see?

2\. Why do things stay the same?

3\. Why do things change?

I notice that I am very often using these questions to get a general grasp of
something I don't understand. I think this book is considered a classic in the
systems thinking field by many.

0:
[https://www.goodreads.com/book/show/583766.An_Introduction_t...](https://www.goodreads.com/book/show/583766.An_Introduction_to_General_Systems_Thinking)

------
aganame
[https://poignant.guide/](https://poignant.guide/)

------
alexbilbie
I really enjoyed Writing an Interpreter in Go -
[https://interpreterbook.com/](https://interpreterbook.com/)

------
z5h
There aren't many tech books I've read front to back and done pretty much all
exercises. Exceptions include "The Little Schemer" and "The Seasoned Schemer".

Importantly, they really up one's ability to write higher order functional
(and pure functional) code leaning heavily on a style that would help in any
functional language with tail call optimization.

------
aliswe
Don't know if it qualifies but I believe all Joel Spolskys books are fun and
about tech.

[https://www.amazon.com/Joel-Software-Occasionally-
Developers...](https://www.amazon.com/Joel-Software-Occasionally-Developers-
Designers/dp/1590593898)

------
moretai
Side question: Do people read dense technical books for fun?

~~~
jolmg
The dense, technical books I've read, I've done so because I wanted a deep
understanding of whatever the book's about. I want that understanding because
I believe it will somehow lead to good things, like being able to accomplish
certain goals, or build stuff that will benefit me. I guess I may get
something of a thrill when understanding certain things, and when later I'm
able to build or do things I couldn't before. I guess that's fun.

However, while I read _for_ fun, I don't find reading fun. Even for story
books, I read because the content is fun, not because visually parsing ink on
paper is fun.

------
runninganyways
Unity in 24 hours is pretty cool. If you haven't done game development before
this will open up a lot of possibilities for you and it's pretty fun. For
example, not only will it show you how to create 2D and 3D games but it's
pretty easy to turn a 3D game into a virtual reality game. But especially with
virtual reality it doesn't have to be a game. So it's actually super practical
in my opinion.

[https://www.amazon.com/Unity-Development-Hours-Teach-
Yoursel...](https://www.amazon.com/Unity-Development-Hours-Teach-
Yourself/dp/0134998138)

------
nikivi
Not sure about fun but I collected some book recommendations here:

[https://wiki.nikitavoloboev.xyz/books#recommendations](https://wiki.nikitavoloboev.xyz/books#recommendations)

------
bexsella
Game Engine Black Book: Doom -
[http://fabiensanglard.net/gebbdoom/](http://fabiensanglard.net/gebbdoom/)

Game Engine Black Book: Wolfenstein 3D -
[http://fabiensanglard.net/gebbwolf3d/](http://fabiensanglard.net/gebbwolf3d/)

Fabien Sanglard

Both are a fascinating read about hardware of the early 90's and how id
Software took advantage of it to produce the results they did.

------
fred_is_fred
Racing the Beam: The Atari Video Computer System

Is a good read about the Atari 2600 and how the devs were able to fight within
the limitations of 1970s and 1980s hardware to develop a gaming platform.

[https://www.amazon.com/Racing-Beam-Computer-Platform-
Studies...](https://www.amazon.com/Racing-Beam-Computer-Platform-
Studies/dp/026201257X)

------
e9
Simple and fun to read + you build full game console and games for it. Has
more practical knowledge than my full undergrad degree in Computer
Engineering: [https://www.amazon.com/Black-Video-Game-Console-
Design/dp/06...](https://www.amazon.com/Black-Video-Game-Console-
Design/dp/0672328208)

------
anderspitman
CODE by Charles Petzold

~~~
vertexmachina
Fantastic book. I learned everything it covers in college, but the way it
masterfully connects them all together is incredible and made connections in
my brain that I didn't have before.

There's also something satisfying about seeing incremental abstractions
develop in an intuitive way.

------
mateuszf
Structure and Interpretation of Computer Programs [1]

[1]:
[https://mitpress.mit.edu/sites/default/files/sicp/index.html](https://mitpress.mit.edu/sites/default/files/sicp/index.html)

------
ArtWomb
Can recommend Ge Wang's Artful Design. Dense, photo-graphic-novel hybrid you
can sample for hours. And low-key it's an encyclopedic History of Computer
Music ;)

[https://artful.design/](https://artful.design/)

------
iillexial
"Mostly adequate guide to FP (in javascript)"

I really enjoyed this one.

[https://github.com/MostlyAdequate/mostly-adequate-
guide](https://github.com/MostlyAdequate/mostly-adequate-guide)

------
sunstone
"The Signal and the Noise" might qualify. How to reason about systems of messy
data.... like the weather for example. Very well written and entertaining.

------
sindresv
The 7-in-7 series is quite good. If that was your first book in that series i
would recommend one of the other books in that series

------
Buttons840
The Little Typer

