Monthly Archives: January 2020

See a satellite tonight (maybe)

I’ll admit, it’s been awhile since I’ve seen the International Space Station pass overhead (it’s something I loved to do in the past).

While reading about Elon Musk’s ambitious plan to build a constellation of over 40,000 satellites for providing Internet coverage, I discovered a pretty awesome website for tracking viewing opportunities for his Starlink constellation, as well as other notable objects in orbit (such as the ISS):

See a Satellite Tonight is a project put together by James Darpinian, that shows you which satellites will be visible in your location per the next few days. As an added bonus, you can view where in the sky the satellites will pass overhead using Google Streetview. It’s pretty neat!

On the off chance that the SpaceX Starlink constellation is passing overhead, check it out — you’ll see a train of (as of this writing) 60 satellites appear overhead.

Due to weather and lighting condition in Oakland, I haven’t been able to see it yet, but my dad sent me the following message after using the same website:

Made a point to get up early this AM to watch for Elon’s Starlink. Wow, what a sight! 60 satellites in a row. Just thinking about all the implications of this. Definitely a visual I’ve never seen in my lifetime! Kind of surreal, actually.

Next level code review skills

I’m always searching for better ways to improve my workflow, increase productivity, and just generally learn new and exciting things. (Besides, it’s part of having a healthy growth mindset.)

We’ve had some big changes on our team during the past year and I’ve felt like I’ve needed to step up when it comes to reviewing code that my fellow colleagues write. While searching for some ideas on how to improve my code review skills, I discovered a blog post from 2018, entitled “Code Review from the Command Line“.

This blew my mind and really helped reframe how we engineers should approach code reviews:

When I ask that other people review my code, it’s an opportunity for me to teach them about the change I’ve just made. When I review someone else’s code, it’s to learn something from them.

Jake, the author of the above post, goes on to describe his setup and custom tooling for conducting an interactive code review.

He uses custom git alias to see which files have changed and how many changes there are, a custom script that visualizes how often the files within the pull request have changed over time, and another custom script that can visualize the relationship between changed files.

All of these go above and beyond the call of duty for reviewing code, but it’s stuff that decreases friction and can make a sometimes tedious process much more enjoyable.

I’ll be implementing some of these ideas into my own workflow in the near future.

Book Review: “Talking to Strangers” by Malcom Gladwell

Talking to Strangers” examines how our internal and cultural biases affect our interactions and perceptions of the people around us.

Early in the book, Gladwell mentions a study that gets right to the heart of the book and was really eye opening for me.

It’s a study into the “illusion of asymmetric insight” and shows us how we think we’re good an interpreting what a stranger is thinking or their intentions (spoiler: we’re actually really horrible at it).

Participants were required to complete a set of words with missing letters and then asked what the results say about them.

For example, someone was given “TOU _ _”. Some people would fill in the blanks as “TOUGH” and others would put “TOUCH”.

Afterward, the participant was asked if they think these results reflect their beliefs and core values. Nearly every participant said their word choices were random and had no relation on how they view the world.

Then they were given a random set of words from other people and asked the same question: What do you think these word choices say about these strangers?

Everyone had a strong opinion within literally minutes of being asked the same question about themselves! “Whoever wrote these sounds pretty vain“, or “this person sounds very obsessed with money and power.

Crazy, right?

The book is full of studies like this, as well as specific examples from real life interactions like this (some with very tragic consequences) and takes a deeper look into why things might have played out the way they did — from a traffic stop in Texas that went very wrong, broken diplomatic promises before World War II, a high-profile sexual assault that occurred at Stanford, and even looking into the motivations of people who try to commit suicide and our collective misunderstanding as to why and where these things happen.

I went into this book not knowing exactly what it was about. I thought, “Oh! New Malcom Gladwell book and it seems to be getting some good reviews, let’s go for it”. It took around a chapter or two for me to really get into the book and see where it was going, but when things finally clicked for me, this was fascinating and enlightening look at every day interactions.

Book Review: “You Look Like a Thing and I Love You” by Janelle Shane

You Look Like a Thing and I Love You is a great, quick read for anyone who is even remotely curious about what things like AI, machine learning or neural networks actually mean and how it affects your day-to-day life.

Whether it’s facial recognition, to self-driving cars, to the search results you get from Google, this book describes the different types of machine learning algorithms, often in a humorous way (the first few pages deal with the author trying to generate pick-up lines using a neural network — hence the title of this book).

It’s a quick read and dives into some of the limitations that machine learning algorithms are bound by and how machine learning algorithms can be tricked, return results outside the parameters of a problem, or even cheat (e.g., when one AI agent was given an objective to minimize the number of times a character died in a video game, it found out how to simply pause the game).

One particular section of the book talks about the recently released GPT-2 data model by OpenAI, which can be used to generate fairly intelligent and coherent sounding blocks of text. It prompted me to try and run the model on my own machine.

After giving the model a prompt of “machine learning can be scary,” the computer responded with the following block of text:

“The problem is, it’s easy to forget that we can’t avoid the problem with software. It’s often hard to avoid the problem, but knowing how to avoid it is not the same as knowing how to avoid it. The problem is, the problem is easy to avoid, but the problem is hard to avoid.”

Do we need to worry about robot overlords any time soon? Probably not.

This is a book that I’d recommend to both people who are tech savvy and to parents who might still call you with questions on how to turn on a computer… or at least anyone curious to how machine learning affects various aspects of our lives.

My top music of the decade: 2010s

It’s hard to believe that I’ve been sending music data to Last.fm for nearly 15 years! Because of this, we can start doing some crazy things… like compiling a list of all top artists I listened to over this entire decade.

From 2010 to 2019, the list is:

  1. Bob Dylan
  2. Hot Water Music
  3. Johnny Cash
  4. State Radio
  5. Dispatch
  6. Daft Punk
  7. Chuck Ragan
  8. The Glitch Mob
  9. Bad Religion
  10. Frank Turner
  11. Aesop Rock
  12. DJ Shadow
  13. Manu Chao
  14. ait-J
  15. Widespread Panic