cflynn07/myblog

View on GitHub
posts/2020-06-16-book-review-learning-computer-architecture-with-raspberry-pi.md

Summary

Maintainability
Test Coverage
[Exported Anki Cards][1]

###### The computer, a box that follows a plan

<img src="/static/images/2020-06-16/learning_computer_architecture.jpg" style="width:50%;">

Learning Computer Architecture with Raspberry Pi is an approachable, detailed
survey of computing. Topics covered include microprocessors, memory, software,
networking, 3D graphics, lossless/lossy compression, etc.  Mixed in is a
pleasant amount of computing history; how computers evolved from giant monsters
of electromechanical switches to miniscule doped silicon wafers and
transistors, and who some of the key figures in computing history are.

I'm a software engineer and I went through a university computer science
program, so when I picked up this book I had a decent level of familiarity with
computing. The topics are discussed in detail but not in a non-approachable
manner. I think someone with relatively little background knowledge of
computing would be able to absorb the information easily.

Engineers help each other is by building and offering abstraction layers so
anyone that wants to do **anything** doesn't have to know **everything**. I've
operated at a higher level of abstraction, above the workings of hardware, for
quite some time and I wanted to enhance my tree trunk of knowledge. For that
purpose, this book was great. I feel more aware of the low level **physics**
that support everything I do. Being a general survey of many topics, a reader
will see clear opportunities for further reading to go deeper.

The chapter on 3D graphics felt a bit forced, meaning it attempted to cover too
many complex topics without sufficient foundational explanation. However this
made me decide to purchase and begin reading another book on 3D graphics. I
plan to revisit the 3D graphics chapter of LCAw/RPi after completing this new
book to test my understanding improvement.

The book uses the Raspberry Pi as an example for many concepts, however
actually possessing a RPi isn't necessary. I happened to have one sitting near
my while I read the book (functioning as a Bitcoin node).

##### Spaced Repetition Flashcards using Anki
This is the 5th technical book I've managed to read this year. I'm working on
improving my comprehension and retention ability. I tried something new with
this book, spaced repetition flashcards using the software tool Anki.  I found
that using spaced repetition flashcards was vastly superior to simple note
taking. Whereas just reading and taking notes might result in something like
~20% retention, spaced repetition flashcards helped me retain 80%-90% of the
books details. As I read, I made flashcards. Every day while I was working on
reading the book (and after I finished reading) I review the flashcards.  Anki
helps focus your memory efforts by most frequently showing you the flashcards
you've remembered least-well and exponentially backing off review as you
memorize.

[1]: https://gist.github.com/cflynn07/09f64f206dd8809e24d2e76bedcf4f63