I are can read to.

So when ever I fly somewhere I try to read an entire book.
Additonally most every night I try to do something productive, sometimes that thing is reading.
I figured I'd share some of the things I've been reading and some quick thoughts.

C.O.D.E: The Hidden Language of Computer Hardware and Software

- Charles Petzold - 1999 Microsoft Press

Reading: May 2019 - June 1, 2019. Rating: I'd give it an 8.

Purchase on Amazon

Code breaks down how a computer works into its most basic components. Petzold starts with an explanation of how codes work, how information can be encoded, and then describes the transmission of that information. He then describes how technology we've had for over a hundred years could be used to build a functional computer. Starting with the construction of a Morse code relay he progresses to how microprocessors, memory, storage, and software all work.

Looking at this in terms of 'data paths' and 'control' inside of a microprocessor is quite revealing. Previously I knew of both and what they do, but this solidified them in my mind.

Clean Code: A Handbook of Agile Software Craftsmanship

- Robert C. Martin - 2008 Prentice Hall

Reading: Sometime early/mid 2018. Rating: 9.5

Purchase on Amazon

Though I'm going to try to keep this reading list up to date starting June 2019, I would be remised if I did not reach into the archives to talk about Clean Code by Robert C. Martin. As I read through this book the necessity of clean code burned its way into my core. I now suggest this book to every person that I program with. The book's examples are in Java, and while I program primarily in Ruby, the concepts translated smoothly. As I read through the book, many aspects of my code started to stick out like neon signs pointing to messy code. I cleaned up what I could and going forward continually have an eye towards clean code.

So many things I previously thought nothing of now drive me mad. The order of functions. The naming of functions. What a function is... a class, a method, how to order things... on and on. And I think it's the cumulation of these little things that have made me a better programmer. One of the people I suggested this to gives credit to his new and much more awesome job to this book. If you're a programmer, read it. You and everyone you work with will thank you!