Ask HN: Fun Tech Book Recommendations?

I'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't know much about. I'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.

What books do you suggest?

[1]: https://www.goodreads.com/book/show/13130963-seven-databases-in-seven-weeks

139 points | by chrisshroba 1594 days ago

29 comments

  • whb07 1594 days ago
    "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...

  • marttt 1594 days ago
    "Land of Lisp" by Conrad Barski: http://landoflisp.com

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

  • mihemihe 1594 days ago
    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... )
  • hprotagonist 1594 days ago
    • marmot777 1594 days ago
      Thats an absolute classic that reads like a spy novel detective story, and, at times, Unix manual. Perfect.
      • hprotagonist 1594 days ago
        you'll never see a pack of benson and hedges and think of anything else again.
    • djaque 1594 days ago
      Excellent book and I later realized that the author is the Klein bottle guy from numberphile.
      • hprotagonist 1594 days ago
        funny, when i saw that i thought “hey the cuckoo’s egg guy is making klein bottles!”

        I’m so happy that he’s got himself a weird and cool life and hasn’t lost that exuberance at figuring esoteric stuff out.

  • TallGuyShort 1594 days ago
    "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 1594 days ago
    "Learn You a Haskell" by Miran Lipovača: http://learnyouahaskell.com/

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

    "If Hemingway Wrote JavaScript" by Angus Croll: https://nostarch.com/hemingway

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

  • japhyr 1594 days ago
    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...

  • ismitley 1594 days ago
    Someone recommended this book on here a couple of weeks ago: 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 1594 days ago
      Thank you, I just bought it :-)
  • W-Stool 1594 days ago
    Soul of a New Machine by Tracy Kidder. Pulitzer Prize winner for non-fiction in 1982.
    • save_ferris 1594 days ago
      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.
    • fred_is_fred 1594 days ago
      Seconded! This is a great read. No mode bit!
  • fu86 1594 days ago
    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/

  • Pete_D 1594 days ago
    • johnsonjo 1594 days ago
      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

    • saboot 1594 days ago
      Oh, I really like this one! Thank you, this looks like a very fun project.
  • gradschool 1594 days ago
    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 1594 days ago
      +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...

  • aganame 1594 days ago
  • bexsella 1594 days ago
    Game Engine Black Book: Doom - http://fabiensanglard.net/gebbdoom/

    Game Engine Black Book: Wolfenstein 3D - 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.

  • alexbilbie 1594 days ago
    I really enjoyed Writing an Interpreter in Go - https://interpreterbook.com/
  • z5h 1594 days ago
    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 1594 days ago
    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...

  • moretai 1594 days ago
    Side question: Do people read dense technical books for fun?
    • jolmg 1594 days ago
      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.

    • commandlinefan 1594 days ago
      Hm - maybe “fun” isn’t the right word, but I do find it mostly relaxing and pleasant to work through one as long as I’m not under any time pressure. I enjoyed TAOCP, for example, but I’ve definitely tried to read other books that I ended up giving up on, too.
    • zarkov99 1594 days ago
      For me a fun book has to be clearly written and present new (for me) ideas in a somewhat aesthetic way. Density I suppose is secondary. SICP is one of the best examples of the right balance, also Elements of Computing Systems.
    • fokinsean 1594 days ago
      I have a hard time making it through one not for fun.
  • runninganyways 1594 days ago
    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...

  • nikivi 1594 days ago
    Not sure about fun but I collected some book recommendations here:

    https://wiki.nikitavoloboev.xyz/books#recommendations

  • fred_is_fred 1594 days ago
    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...

  • e9 1594 days ago
    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...
  • anderspitman 1594 days ago
    CODE by Charles Petzold
    • vertexmachina 1594 days ago
      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 1594 days ago
    Structure and Interpretation of Computer Programs [1]

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

  • ArtWomb 1594 days ago
    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/

  • iillexial 1593 days ago
    "Mostly adequate guide to FP (in javascript)"

    I really enjoyed this one.

    https://github.com/MostlyAdequate/mostly-adequate-guide

  • sunstone 1594 days ago
    "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 1593 days ago
    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 1594 days ago
    The Little Typer