I read many books in 2018. I’m listing them out here, along with recommendations. Here’s the recommendation “key”:
👍 = I recommend this book. (This metric is intentionally fuzzy.)
😔 = This book influenced my mental model of the world/reality/myself
🏢 = Book topic is architecture and/or urbanism
💵 = Book topic is finance/economics/politics
😫 = This book is hard to get through. Lengthy and/or academic
🐲 = Fiction (most of the fiction I read had fantastic(al) creatures in them, hence the dragon)
If you want anything of value from this list, quickly skim through it. If any of the book topics/titles look of interest to you, consider reading. If a book doesn’t look interesting to you, but I’ve strongly recommended it, you should read it. :)
I re-read The Problem of Political Authority, which continues to be my most recommended book. It contains straight-forward, elegant prose, provocative ideas, and perceptive analysis. What else could one want in a book?
I added a few lines on some of these books. Most I didn’t say anything about. I could have spoken at length on many, many more of these books, but it’s daunting to do so on such a list. This makes me want to re-do how I record thoughts on books. Hm.
I read (and finished) the Dresden Files series. All fifteen of them. I enjoyed the series immensely, though I didn’t mark them with a 👍 - if you’re into fiction, film noir, and crime-fighting wizards, this series is for you. If not, don’t waste your time. If you think reading should only be non-fiction to make you smarter, or “hard” fiction, to make you smarter - I disagree. The Dresden files were like candy. Easy, bite-sized, not complex, and delightful. Won’t kill you in small doses.
This is Ron Chernow’s first biography. Ron Chernow has authored many other biographies, including the Hamilton biography that inspired the musical. The institution we know today as “JP Morgan Chase” had an interesting start and history. After reading Money, Bank Credit, and Economic Cycleshere’s my analysis on MBCEC, for the curious, I have little appreciation for large banks doing their leveraged buyouts and functionally fraudulent activities, but it’s still interesting to know the basics of such a prominent institution in America.
For a while, the bank had more of a say in international relations than the US government did. The government had limited access to capital, and the bank could provide it, so large banks played a role in “cracking open” south/central America and Asia, often with many deleterious effects in those regions.
Jane Jacobs is a hero. She loves cities, and when you’re done reading this book, you might love them too. She identified huge problems in the 50’s with the profession of “city planning”, and most of the industry is clueless to her critiques, bumbling along, making the same errors they always did. (Sorta like doctors draining “bad humors”.)
I think most of the built environment in America is headed straight for insolvency and bankruptcy, and if there was a time to change bad practices to good ones, it passed long ago. But this book is still a must-read.
I was recently working on a feature, committed what I thought was clean code, and started getting errors. I git stashed, and re-ran my tests, and still got errors. Here’s the full stacktrace:
> b ruby -Itest test/models/model_name_redacted_test.rb -n=/errors/
# Running tests with run options -n=/errors/ --seed 55842:
/Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-reporters-1.3.5/lib/minitest/reporters/default_reporter.rb:49:in `after_suite': undefined method `name' for nil:NilClass (NoMethodError)
from /Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-reporters-1.3.5/lib/minitest/reporters/base_reporter.rb:59:in `report'
from /Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-reporters-1.3.5/lib/minitest/reporters/default_reporter.rb:89:in `report'
from /Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-reporters-1.3.5/lib/minitest/minitest_reporter_plugin.rb:26:in `each'
from /Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-reporters-1.3.5/lib/minitest/minitest_reporter_plugin.rb:26:in `report'
from /Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-5.11.3/lib/minitest.rb:808:in `each'
from /Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-5.11.3/lib/minitest.rb:808:in `report'
from /Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-5.11.3/lib/minitest.rb:141:in `run'
from /Users/joshthompson/.rvm/gems/ruby-2.3.7/gems/minitest-5.11.3/lib/minitest.rb:63:in `block in autorun'
Coverage report generated for Unit Tests to /Users/joshthompson/wombat/threatsim-rails/threatsim/coverage. 1512 / 17964 LOC (8.42%) covered.
This is a relatively common error. Something is nil where it ought not to be nil.
But now for the kicker.
I found out that if you hold the cmd key down and click one of those file paths, the file in question will open in your editor!!!
AND YOU CAN JUST PUT A PRY IN THERE SOMEWHERE AND YOU’LL HIT IT NEXT TIME THAT LINE OF CODE EXECUTES!!!
I use Slack at work. And used it in Turing. And am in a few programming-related Slack groups. (Ahoy, #DenverDevs). My last job, I used Slack. The job before that, I got the whole company on Slack. I’ve used it for years.
Slack delivers value to me, and induces little anxiety, and most importantly, Slack does not interrupt my day, and I don’t think I interrupt other people’s days via Slack much either.
Slack is famous for ruining other people’s work-days. Their complaints are valid:
Slack’s default notification settings will ruin you.
It tries to make sound and pop up a desktop notification every time someone says something in a channel you’ve joined. This is unacceptible.
Turn off all audible notifications, and while you’re at it, turn off the rest, too:
I have sometimes been in the same room as people who have audible notifications when someone posts anything to any channel, and feel vaguely horrified. Don’t be this person.
When I’m at my computer, I know that I’ll see Slack regularly. It’s rare that I would go without checking slack for more than 30 minutes. Deep Work: Rules for Focused Success in a Distracted World would probably prefer me to go an hour or two without looking at Slack during the day. I hope to get there some day, but am not there yet.
Since I check Slack regularly when I’m at my computer, I turn off all notifications. If someone sends me an urgent message, they might wait for a while before I write back.
This is OK to me, as I treat direct messages as asynchronous communication, and encourage others to do the same. “You there?” isn’t a message I’ll ever send.
There are a few channels where an @here or @channel will cause a notification “dot” to show up on Slack. The vast majority of the rest of the channels I’m in, I’ve muted even @here and @channel.
This means I can be in many channels, and never even know there’s conversation happening in them until I choose to go look in them.
For example, if you call course.duration, it might return 6.
6 what? 6 Days? 6 weeks? Avdi talked about making the value “whole”, by including every element required to correctly parse the duration attribute. course.duration would now return something like Weeks, or Months. Unambiguous.