Book Review: Immune by Philipp Dettmer

Immune

Given the current state of a global pandemic that can severely affect your health (and given the fact that we recently tested positive to the pathogen responsible), this book was an especially relevant read.

It’s an easy to read (and often hilarious) look into how our immune systems work. The incredible complexity of our bodies is amazing, but Dettmer uses all sorts of analogies to make things easy to digest.

For example:

“You can imagine the MHC class II receptor as a hot dog bun that can be filled with a tasty wiener. The wiener in this metaphor is the antigen. The MHC hot dog bun molecule is so important because it represents another security mechanism. Another layer of control.”

The book goes into various detail about how our bodies fight off bacterial and viral infections, the response to an allergic reaction, and how things like vaccines work.

In fact, the whole section on vaccines was especially interesting and particularly devastating to those of the crazy anti-vax persuasion. Prior to the COVID-19 epidemic, one of the biggest anti-vaccination campaigns was against the measles vaccine.

I’ll admit to not knowing much about measles and took it for granted that I was immunized from it. After reading this book, all I can think is, holy crap, what a horrible disease to have willingly chosen to get! Measles actively destroys your immune system and makes you lose immunity to other diseases.

“So in the end, being infected with measles erases the capacity of the immune system to protect you from the diseases that you overcame in the past. Even worse, a measles infection can wipe away the protection that you might have gained from other vaccines, since most vaccines create memory cells. Therefore, in the case of measles, what does not kill you makes you weaker, not stronger. Measles causes irreversible, long-term harm and it maims and kills children.”

Overall, this was a quick, easy and enjoyable book. Highly recommended!

Immune by Philipp Dettmer

Book Review: The Art of Power by Jon Meacham

Art of power

I’ve slowly been working my way through presidential biographies and just finished this book about Thomas Jefferson. (Obviously, this is going very slowly, as he was the third president of the United States).

One thing that has struck me as I’ve read through three books is how my impressions and opinions of various founding fathers has evolved:

After reading “Washington by Ron Chernow”:

  • George Washington: Sometimes aloof, a reluctant leader that seemed indecisive. Also self conscious about his teeth.
  • John Adams: Arrogant, argumentative. Short and bald. Seems like a total dick.
  • Thomas Jefferson: Charismatic yet condescending. Non-confrontational yet passionate. Politically savvy. Introvert.
  • Alexander Hamilton: Ambitious, eager, whip smart.
  • Ben Franklin: Wise old sage.

After reading  “John Adams” by David McCullough:

  • George Washington: Sometimes aloof, a reluctant leader that seemed indecisive.
  • John Adams: Righteous, passionate, good and loving husband and father. Prolific writer. Deeply interested in human behavior and feelings.
  • Thomas Jefferson: Humorless, spendthrift. Flirt. Defensive. Incapable of compromise. Seems like a total dick.
  • Alexander Hamilton: Smart kid with great ideas.
  • Ben Franklin: Wise old sage.

And now, after reading “The Art of Power” by Jon Meacham:

  • George Washington: Sometimes aloof, a reluctant leader that seemed indecisive. Yet he was not the hero America deserved, but the hero America needed.
  • John Adams: Misguided monarchist. Power hungry.
  • Thomas Jefferson: Thoughtful philosopher. Defender of individual rights. Patient. Methodical.
  • Alexander Hamilton: Wrong about everything. Preferred a British style of government. Along with John Adams, seemed like he wanted to tear up the constitution and destroy America. Seems like a total dick.
  • Ben Franklin: Wise old sage.

Bottom line: Biographies paint the subject in the most favorable light and throw everyone else under the bus.

—

I really enjoyed digging into his life and his underlying philosophies. I’ll admit to not knowing much more about Jefferson other than he was the third president of the United States, author of the Declaration of Independence, and his mug and home adorn each side of our five-cent coin.

He was a savvy politician, deep thinker and someone who was completely curious about every facet of life, science and technology.

And man… he really did not like Alexander Hamilton.

Another thing that I didn’t really pick up in previous biographies was the struggle and friction between northern and southern states, 50-some years ahead of the Civil War. There were threats of succession (by Northern states, no less!) in the early 1800’s due to his election and the political power that Southern states held.

Both this book and the John Adams biography went into a lot of detail about their early friendship, the animosity the grew between them while Jefferson served as Adams’ Vice President and the subsequent rekindling of their friendship in the years after Jefferson left office as the third President. They ended up exchanged something like 360 letters with each other until they both died… on the same day:

July 4th, 1826 — the 50th anniversary of the Declaration of Independence.

Bonkers!

Positive COVID

Well, this was probably inevitable at this point.

There was an outbreak at our kid’s daycare center a week or so ago, and ended up bringing it home. Now, we’re all positive and hunkered down.

Definitely frustrating, as we’ve really tried to limit our interactions with others and keep the surface area of our bubble as small as possible. Outside of our youngest, we’re all max-vaxed, thankfully.

Here’s to hoping our symptoms are mild and that we’ll be better soon.

My top music of 2021

Spotify has wrapped (which is fun and cool) and I had some initial opinions on it, via Twitter:

My Spotify Wrapped 2021 is just going to be kids songs all the way down, isn’t it?

Fortunately, it wasn’t! With regards to looking back at musical tastes, I’ve always been partial about Last.FM and it’s also a fun thing to look back on when I remember to grab the data in time — especially since Spotify Wrapped is fully baked around the beginning of December. (Though, that’s probably because a lot of people’s profiles will be overrun with Christmas music.)

My top artists for 2021 are:

1. Bad Religion
2. Bob Dylan
3. Dispatch
4. Fat Freddy’s Drop
5. The Sounds
6. Hot Water Music
7. Joe Strummer
8. Polyphia
9. Bing Crosby
10. The Beatles

Bad Religion tops the list due to reading their biography earlier this year and just really going back through their catalog remembering some of their songs.

It’s kind of interesting comparing it to my musical tastes from 10 years ago. Hot Water Music and Bob Dylan were there. The more things change, the more they stay the same.

Experimenting with parallel computing using node worker_threads

I’ve wanted to play around with worker threads in Node JS, so I put together this little repository that demonstrates how it all works. Check it out here.

In order to simulate multiple threads that are each processing data, each worker thread uses a randomly generated timeout between 100 to 700 milliseconds. In addition, it has a random number of loops (between 10 and 1000) that must be completed before the worker is terminated.

It’s kind of fun to watch the tasks run and automatically complete inside the terminal (check out the screenshot of the output up top).

So long to an eternal optimist

Desmond Tutu speaks at Civic Center Plaza.

In 2008, I was fortunate enough to attend a talk and rally by Archbishop Desmond Tutu in support of Tibetan freedom at the United Nations Plaza in San Francisco. This rally was held ahead of the controversial 2008 Olympic torch relay that was making its way through San Francisco during the week.

Much later, I read “The Book of Joy”, a series of conversations between the Dalai Lama and Archbishop Desmond Tutu. In my opinion, it’s one of those rare and potentially life changing books. Two men, who have both faced many challenges, share how they managed to remain optimistic and hopeful despite the incredible challenges they’ve faced in their lives.

What a kind, beautiful soul and someone that we needed in our world today.

Using Obsidian Notes as a ‘Second Brain’

Recently, I’ve been digging into ways to better organize my notes, links, and other digital detritus. There’s a lot of it and it’s all over the place!

I stumbled upon a concept called the “second brain” after reading a discussion on Hacker News. Essentially, it’s a way to better organize your digital life, so that you can easily store (and look up) information.

Essentially, a second brain is a personal knowledge management system that serves as an extension of your mind so you don’t have to think as hard or remember as much. You offload thinking and remembering to your private second brain.

Like Sherlock Holmes’ “mind palace”, it’s a place to store all of your lingering thoughts and curate the information you consume on a daily basis from books, the Internet and other sources so that you don’t get overwhelmed with unnecessary info and take action with the knowledge that matters.

Sign me up!

One of the interesting tools that someone in the Hacker News thread mentioned was an app called Obsidian.

Obsidian

I’ve been playing around with it recently and am cautiously optimistic. It has apps for MacOS, iOS (…and other systems, if you’re of that persuasion).

Plus, no vendor lock in! It’s all Markdown files stored on your local devices (and using your preferred cloud storage service).

Advent of Code: The most wonderful time of year…

December is upon us! That means the latest edition of the Advent of Code is here.

The Advent of Code is essentially a daily programming challenge featuring a new problem each day through Christmas. The problems all relate to a certain theme. This year, it sounds like we’re going on an undersea adventure.

— Day 1: Sonar Sweep —

You’re minding your own business on a ship at sea when the overboard alarm goes off! You rush to see if you can help. Apparently, one of the Elves tripped and accidentally sent the sleigh keys flying into the ocean!

Before you know it, you’re inside a submarine the Elves keep ready for situations like this. It’s covered in Christmas lights (because of course it is), and it even has an experimental antenna that should be able to track the keys if you can boost its signal strength high enough; there’s a little meter that indicates the antenna’s signal strength by displaying 0-50 stars.

Your instincts tell you that in order to save Christmas, you’ll need to get all fifty stars by December 25th.

Collect stars by solving puzzles. Two puzzles will be made available on each day in the Advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants one star. Good luck!

I’ll be partaking using my preferred language of choice: x86 assembly.

I kid, I kid. JavaScript.

The World of Yesterday by Stefan Zweig

This is an absolutely beautiful (yet heartbreaking) memoir written in the midst of World War II.

Completed in 1942 (and sent to his publisher just days before he and his wife took their lives), it provides an intimate and fascinating look at life in Europe during the end of the Victorian Era and through two world wars.

I think one of the most striking things about this book (especially in the later pages) is how mournful, almost hopeless, Zweig is about the state of Europe and the world as a whole. And it’s no surprise, right? He was an Austrain Jew who saw the home and the people he loved destroyed.

Take this passage, written about Paris. He lovingly describes his time in Paris after he graduated from university and how it was a city that could always make people happy.

“I had promised myself a present for the first year of my newly gained freedom—I would go to Paris. Two earlier visits had given me only a superficial knowledge of that city of inexhaustible delights, but I could tell that any young man who had spent a year there would be left with incomparably happy memories for the rest of his life. Nowhere but in Paris did you feel so strongly, with all your senses aroused, that your own youth was as one with the atmosphere around you. The city offers itself to everyone, although no one can fathom it entirely.”

And then a paragraph later, we get to the hard truth about the time period this book was written in:

“Of course I know that the wonderfully lively and invigorating Paris of my youth no longer exists; perhaps the city will never entirely recover that wonderful natural ease, now that it has felt the iron brand forcibly imprinted on it by the hardest hand on earth. Just as I began writing these lines, German armies and German tanks were rolling in, like a swarm of grey termites, to destroy utterly the divinely colourful, blessedly light-hearted lustre and unfading flowering of its harmonious structure. ”

Another powerful aspect of this book is that while reading, we know that he would soon take his life and he’d never get to see how this tragic story (World War II) ended and how the cities, art and music he loved would eventually recover.

The World of Yesterday by Stefan Zweig

Sid Meier’s Memoir!: A Life in Computer Games

The Civilization series is easily one of my favorite video games of all time. (See here, here, here, here and here). I have very fond memories of talking to my middle school teacher about various strategies to utilize within Civ I and I still vividly remember the wickedly cool box art.

So, it’s no surprise that I’d dig into the memoir of the man who created the games himself, Sid Meier.

It’s a nerdy trip through early computer gaming history and fostered a bunch of nostalgia for old DOS games that I used to play. It’s also a fantastic romp through the mind of a game designer.

There were a number of fun little quotes and life lessons, as well:

“I think that in life, as in game design, you have to find the fun. There is joy out there waiting to be discovered, but it might not be where you expected. You can’t decide what something’s going to be before you embark on it, and you shouldn’t stick with a bad idea just because you’re fond of it. Take action as quickly and repeatedly as possible, take advantage of what you already know, and take liberties with tradition. But most importantly, take the time to appreciate the possibilities, and make sure all of your decisions are interesting ones.”

Generating terrain maps

Recently, I went down a rabbit hole attempting to learn how to generate interesting looking maps for games (insert mind-blown-gif here). While I’m not going to be using Voronoi diagrams anytime soon,  I am still interested in attempting to generate Civilization-like maps.

Most map generation algorithms rely on perlin noise. I wanted to go a different route.

So far, these are the rules that I’ve come up with for my algorithm:

1. Create a grid of some given size (e.g., 100 x 50). Set all tiles to “ocean”.
2. Randomly pick 8 tiles (variable) across the map to seed as “land”.
3. Now iterate across all tiles on the map and build an array of tiles that are “ocean” tiles but have a land tile N/W/S/E of them.
4. Once you have this array, randomly pick a single value. Flip it from “ocean” to “land”
5. Repeat step 3 until a given number of tiles have been filled across the grid (e.g., for an “Earth-like planet”, 30% of tiles will be land).
6. Now, to add some additional randomness — iterate across all tiles and build an array containing all “land” tiles next to water (N/W/S/E).
7. Randomly pick 1, flip from land to ocean.
8. Repeat step 6 a given number of tries (e.g., 100).
9. Done! (Maybe)

Height maps, biomes and all that can come later. To quote Amit, whom I linked to earlier:

The most realistic approach would have been to define elevation first, and then define the coastline to be where the elevation reaches sea level. Instead, I’m starting with the goal, which is a good coastline, and working backwards from there.

Anyway, it’s been kind of neat to figure out.

Another example map, created using the above rules: