Books for the entire life

If you think in this way... when you grab a book and start reading it, you will get access to a brain of someone else that have invested at least I would say, three years of their life to research, analyze, and polish the content they are offering as a book. I do believe that reading is knowledge and it's one of the most accessible ways that you can satisfy your appetite to know how everything works. There are really great 20 USD books about literature, history, general science that you can start to read, and in the technical field of hardware / embedded you can by 100 USD dollars have the privelige to know all the intrincate issues that remarkable engineers had to face in their craft and read by first hand how they solved, so then you can test same situation and corraborate that within your own experience, don't you think this is amazing?

I created this section to share with you my thoughts about several books that in someway or another touched my mind. I don't want my thoughts to be spread across only with people I know, but with any human beign that may be interested in them. I'm not an expert in everything, neither in my professional realm, I just consider myself a relentless treeking learner that is always looking for better ways to explore the woods of this world. Welcome to my little library of Alexandria, hope you can enjoy it.

Obsessive Genius by Barbara Goldsmith

This is one of those books that you can easily read 20 pages every night or even more can it's really easy-to-go.

It's a book split in short chapters that explain the vicisitudes of a brilliant human being that discovered the radium and polonium elements even though when she started university at 24 in a country different to the one that saw her born.

An example of determination and perseverance to reach a goal that changed dramatically the way humans were observing science.

I discovered the book thanks to this mind blowing interview and right after finished it I knew I need it to have book and I don't regret it.

This is not a book that went into the trenches of physics or chemestry, you won't see any technical formulation whatsoever. Hence, it's not a technical book but rather, a well written book about the inner world of a woman scientist that battle up with all her strength to achieve as much as she could in aim to cure cancer, even though radium it's not beind used anymore for that purpose.

It's a book that will let you know all the big names in science over that time and how those names were related to Marie Curie in either or other way. It enlighten you about the relationship between Marie and Pierre which it was so unique from my perspective.

I highly recommend this book to be read in english, Barbara Goldsmith made a great job to write the book at a level that everybody can understand it. I loved the simplistic way she use to explain things but at the same time quite profound.

Complementary sources:

The Code Book by Simon Singh

Probably this is one those books that comes rapidly to your mind when you think about impressive ritch content because Simon has made a great job explaining really complicated topics into levels that can be digestable by any people regardless their profession. This is not a book that I recommend to read when you are about to sleep, if you really want to soak all the amazing information up.

If you are non-native english speaker and would like to really have a base knowledge on cryptography this source will enlighten you with all kind of phrases that you can use in your day-to-day but also at same time allowing you to know the several cases thrhoughout history where cryptography played a pivotal role in humanity. I found Simon words and ideas pretty tasty even though I'm way too far away to be an expert on the cryptography discipline.

There is an entire chapter dedicated to approach how Enigma machine was created, how does it work and how people at Bletchley ended it up in crack it. Furthermore, there are some interesting facts about how poles paved the way to reach to the end results and so on.

Also, you will get the door open to several characters throughout the entire history that will blown our mind as Mary Queen Scots, the Navajos, how RSA became to be what it's already known. Also the author provides great examples of frequency analysis, how the Vigenère cipher works, what's an asymetric and symetric cryptography algorithm, why I do understand number theory and it's relation between one-way functions?

This book is for all engineers looking for answers when they closely work with microcontrollers that feature some sort of secure element on the silicon die, specially in IoT arena where hardware devices are somehow connected to 3w or when you signing commit off using your GPG key :).

The infinite Game by Simon Sinek

This was my second book from Simon Sinek and I didn't regret to read it cause all the ideas exposed in this book just resonates with several thoughts on my mind. If you are a young engineer, I would suggest to read ideas coming off from Simon, a really talented human beign that it's just amazing how he is able to convey ideas to the masses.

Infinite games is all about perpetue the game you're playing which is naturally an infinite game. That means that within the game, there are players that come and go and that the there are not rules that will make the game end. Game theory is another field within mathematics that it's pretty interesting since you can extrapole several ideas and apply them into real life applications just as Simon exposed. Particularly Simon books are package with a great dosis of military histories that become valuable.

Between all the ideas that are exposed in this book I took one that have a profound impact in electronic engineering and it's the history why we do have GitHub Archive Program, it steams from Nikolai Vavilov idea about having a seed backup in case of possible natural disasters and how that idea can turn into a vision and how that vision can be transformed into a common cause that makes other people to protect with all their heart and strenght.

Leaders eat last by Simon Sinek

Atomic Habits by James Clear

A mind for numbers by Barbara Oakley

Software-Defined Radio for Engineers by Robin Getz, et. al

Signal Integrity by Eric Bogatin

Making Embedded Systems by Elecia White

Understanding and Using C Pointers by Richard Reese

How Linux Works by Brian Ward

Clean Code by Robert Martin

High Speed Digital Design by Howard Johnson

Hands-On RTOS with Microcontrollers by Brian Amos

When I was at university, I didn't take any course on real time operating systems. I do remember having a class over the semester where I was introduced to C programming language, but learning C in six months it's not an easy task if not impossible, neither more than three years it's not enough I would say. However, C it's the programming language where all majority of real time operating systems are made due performance, obviously there will be some assembly line codes that will be required for sure :). Anyways, knowning real time operating systems it's a MUST item to add in your hardware embedded engineering backpack.

If you've never been exposed to RTOS but you already have some background in C, this book is for you. It has been released in less than three years by the time I'm writing this review and Brian has made a great effort in sharing the right ideas when you need to work with RTOS.

Based on my experience, I tend to believe that usually you realize that you need to work with RTOS when your firmware requires to perform complex tasks with tigh timing requirements in an isolate fashion, that means that one task can run without having any knowledge of other tasks.

By the time you're desigining your firmware you intuitively discover that some syncronization should happening between one task and another and this is when it enters the primitive of the RTOS which are common components that you will see between differents RTOS. These primitives such semaphores, queues are explained in the book along with other concepts such as decoupling code that will make your firmware agnostic while preserving performance.

What I do like about embedded programmig is how detailed-oriented is to the actual hardware that you are describing and how you can soak every single characteristics to make it highly performance, as comparing to other level of abstraction where hardware characteristics are not a really concern.

As an embedded hardware designer you're always gonna find youself to select the brain of your board. Most of the time, this brain would be a microcontroller, but sometimes can be a microcontroller and a FPGA, but that's another topic. Asumming that the only brain is a microcontroller, you will have to face with several aspects such as memory (all kinds of memory involved in the process, normally RAM and FLASH), ecosystem offered, and more. Beteween all those aspects, there are some that are more related to the code you're will program into that brain and in this books I would say that the chapter dedicated in how to select a microcontroller covers the majority of the fundamental ideas that you need to set on the table to actually come with an specific microcontroller model.

In embedded programming there is one topic that it's HUGELY important because a high percentage of your time will be on this and it's debugging. There is another chapter dedicated to how to debug RTOS. Even though is more focused in tools associated to Segger which is the company that I think today it has a solid catalog of debug probes and software tools to explore every tine detail in microcontroller that have inside ARM Cortex processor. I guess it's a good start point to explore what options the market already offers. I wish that in near future we could have at our disposal open source and hardware options to explore at same level than propietary code. In this chapter you will learn to identify what are the components to keep an eye on it when exploring what's wrong with your device which comparing to bare metal, debugging is more complex and more difficult even when bugs appears after a long time of having the hardware running.

This book it's definitely oriented to embedded programming field rather than hardware. Hence, this book is to increase your level in RTOS topic from nothing to gain context, it will help you to know what are the typical considerations when dealing with RTOS so you can search by your own another literature if you feel that some topic has not been covered with finer grained ad want to explore more toward that direction.

Also, it shows code along with the explanations which is good if you expect to have implementations that ilustrate the ideas exposed, which I think it's FUNDAMENTAL to understand how the concepts are matched in real world scenarios, and the decisions behind why implement it in a particular way.

In overall, read book is for those are thinking about doing they first steps in RTOS jumping from the baremetal to a new and great world to explore in this realm of embedded hardware.

PCB Design for Real-World EMI Control by Bruce Archambeault

Grounding and Shielding by Ralph Morrison

Technical books are difficult to grasp due the fact that mainly the ideas author tries to convey may be unfamiliar with your way of thinking based on what you have learnt so far. Then, for the brain it takes time to anchor that idea to something that you already know and even before do that you need to step back and analyze if the knowledge that you want to anchor it really matters because it's even harder for the brain to unlearn something once you already grasped. Today, with so many pcb boards in the world, those who design or work with them need to understand the grounding concepts behind why electromagnetic and magnetic fields behave the way they do and "Grounding and Shielding Circuits and Interference" it's a book that delves into those concepts.

One recommendation would be to isolate yourself and start reading and take notes about what you may think it's key. This book is not full with equations but full of experiences coming from the own hand-writings of Ralph Morrison, a brilliant and well-respected physicist in my field, specially when it comes to EMI. This book drove me to those moments when I was learning Maxell's equations for the first time trying to calculate the E and H field at one specific point within a volumen region. How many of you remember the Ortodrasky-Green Theorem? And it's because in order to really master what happens when you have an interference of any kind within your board, you need to know how is the interaction between E and B fields, what makes a capacitor behaves as a capacitor at material levels? what actually means mutual inductance ? When having equipotential surfaces, what does really mean within a PCB? What happens with E if I decrease the distance between two conductors? How do I move energy from point of my circuit to another? These are the questions that I wondered myself while reading this absolutely piece of engineering work.