Reading Review

For a couple of years now I’ve occasionally been keeping track of what I read in a Google Doc, in hopes I’d use it to write a blog post about what I’m reading. So here’s the first one. The idea behind the reading review is to become more deliberate about what I’m reading online; to take more than just a couple of seconds to think about what I’m reading and to share it with others in a more thoughtful medium than just posting to Facebook or Twitter randomly.

I’ve split this review into two sections: technical and general reading. There’s not always a strict division between the two, but I find it helpful to keep them separate.

General Reading

Why is Everyone Outraged?

The ways in which people choose to try and improve things will not always seem important to you, especially if it is not a problem you can identify with. It might be tiny, but representative of a larger problem you don’t understand. If you have no experience in a problem, you may think it does not exist. You may consider the person to be exaggerating, or lying, or trying to jump on a bandwagon, or trying to impress people.

Zygmunt Bauman: “Social media are a trap” via this

Everything Doesn’t Happen for a Reason via this via this via this

Why every HuffPost article about Donald Trump calls him a liar via this

Back to Work #255: A Ladle of Ladling

30 Years After Explosion, Challenger Engineer Still Blames Himself

This is a sad but good read. Imagine living with the helpless feelings he must have had then and continues to feel now.

Technical Reading

The Website Obesity Crisis via this

How to properly mirror a git repository

The following is what I ended up doing. In addition, the article details how to do this when you already have a working copy checked out. I don’t often find the need to perform these steps, so this serves as a reminder.

$ git clone --mirror
$ cd upstream-repository.git
$ git push --mirror

Searching for gmail messages having no label

The query that ended up working for me was:

has:nouserlabels -in:sent -in:chat -in:draft -in:inbox

The article talks about ways of setting this up as a shortcut. I have not done that as I don’t find myself needing this that often. I almost never find myself wanting to look at the “All Mail” view that’s built in to GMail.

Retrieval of public key from SSH private key

I can never remember how to do this:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/

The -y option signals to output the public key only.

Install composer dependency without updating others

I’ve always had issues with composer trying to update packages without my wanting to. Even if I pin to specific versions in my composer.json file, then add a new package, then run composer update to install the new package, inevitably I find that it will update dependencies of the existing packages. This is annoying for a couple of reasons. (1) The updates to the other dependencies causes the composer.lock file to get updated in addition to adding the new package. I try to keep my commits as focused as possible, so I don’t want the unrelated changes to other packages in the commit for installing a specific new package. (2) A lot of packages out there don’t really seem to follow semver very well so innocuous updates to dependencies can cause things to break.

Setting up a client secrets file for Google APIs

This is an article about GAM setup, but it’s helpful for navigating setting up Google service accounts in general.

If you would like to comment on this article, please send me an email at
Feedback from comments may be incorporated in the form of updates to the article text.