Adam Phillabaum

I’ve dabbled in software development my entire life. This is my attempt at conveying the lessons I’ve learned in said life.

Read this first

REDIS: Connection Count by Client

I just wanted a quick way to see where connections to my redis server were coming from, and how many there were. The redis CLIENT LIST command had all the info, I just needed to massage it.

AdamP@cartographer ~> redis-cli -h myredisserver CLIENT LIST | sed -n 's|.*addr=\(.*\)\:.*|\1|p' | sort | uniq -c
   2 127.0.0.1
 686 192.168.0.141
   2 192.168.0.144
   8 192.168.0.20
   6 192.168.0.66
   4 192.168.0.67

May your google searches lead you here, to prevent you from having to pipe this yourself.

View →


When In Doubt: Delete

People have known about effective communication for a long time, here is one of the best and earliest expressions of it, by Blaise Pascal in 1656.

I would have written a shorter letter, but I did not have the time.

And, here is my implementation of that rule: Delete things that aren’t important.

Delete key

 Definitions

In general communications, verbosity is bad. Conciseness is good. By nature, I’m verbose. So, to become a better communicator, I’ve had to actually think and practice at it. It’s all about clarity, which is balancing accuracy, precision.

  • Accuracy: how true is this statement.
  • Precision: how much detail is in this statement
  • Clarity: I’ll spend more time on this below

Here is a statement that is entirely accurate, and only a little precise: George H.W. Bush was born in Massachusetts.

Here is a statement that is precise, but not entirely accurate: George H.W. Bush was born in...

Continue reading →


The Halloween Calorie Penalty

Candy Analysis Spreadsheet
This is the first year we’ve lived in a house in a neighborhood that might have kids trick-or-treating, so naturally, we bought the big bag of candy from Costco – 150 pieces.

We had 8 kids show up. And, we tried to push a bunch on them, but we still only offloaded about 20 pieces on the kids. My wife is on her way to canonization for how little of the candy she’s eaten (and, my daughter pulled in her own stash)

So, I wanted to figure out just how much candy I’ve eaten in the 5 days that have elapsed since we opened the bag.

  • Snickers: 1,450 calories
  • Reese’s: 924 calories
  • Milky Way: 870 calories
  • Plus the calories from Crunch bars, Peanut M&Ms, Kit Kats, Almond Joys, and Twix (no plain M&M’s were consumed, because they’re nothing compared to the others in this bag)

For a grand total of 5,651 calories of candy in the last 5 days. That’s a lot of calories. So, to put it into...

Continue reading →


Watch What I Do, Don’t Listen to What I Say.

Binoculars

Let me preface this whole thing by saying: I love in-person user tests. In fact, we do them about once every-other-week at Rival IQ, just to watch a new user interact with our app. It’s always eye-opening and definitely helps you reset your perspective on your latest work(s). We’ll always do them.

With all that said: it’s almost total bullshit.

You have to take everything you see with a grain of salt. User tests are nigh impossible to run well enough to get concrete direction from. So, this blog post is about not doing that (maybe I’ll write one about users tests another time).

My biggest beef is that the user is in a totally foreign context. “Come to our office, sit in this unfamiliar chair, use this Mac, talk out loud about everything you’re doing, feel awkwardly watched and, oh, can you be here at exactly 2:30PM? And, one more thing, we’re recording this and simulcasting it to...

Continue reading →


Assume You’re Wrong

I was at PayScale for a little over 7. I’ve had some really incredible mentors along the way, and after several years, I’ve synthesized a lot of my learning into one simple sentence: Assume You’re Wrong.

Facepalm

I started taking this philosophy after designing several A/B tests and having all of our awesome designs and ideas ultimately fail when put in front of users. For the next test, my boss at the time, Doug, said: “Adam, what do we learn when this test fails?” I remember thinking: “oh sh*t. This is such an obvious thing to be asking myself, but I haven’t been.” It was one of my rare moments of introspection that help transform me: I need to assume that I’ve gotten at least one thing wrong, and that that was OK, but I needed to understand that a flaw existed.

One of the most difficult problems as a program or product manager is that you become attached to your solution to a problem, and...

Continue reading →


How to Make $1,200 with R

“How much should I rent my condo for?”
Turns out, the answer is: “Guess.”
So, I built the data-driven solution this problem.

Our family has spent the last year trying to buy a house in Seattle, and we’ve finally hit the mark and we’re moving in a couple week. But, what should we do with our condo? We’ve decided to keep it, and rent it out. But, as a mediocre software engineer and a person obsessed with data, how should I go about it? Zillow has rental zestimates, but they seem to be really lagging. Guessing didn’t seem right. So, I’ll do my own.

 Getting the Data

I know craigslist is the king of rental listings, so I went there to see if I could find some units comparable to mine. Turns out, it was super easy, I just filtered it to “queen anne” units with 2+ bedrooms. And, there is an associated RSS feed for this page now too.

Here is my example search, and the associated RSS.

This...

Continue reading →


My Tips For Presentations

I have a problem: I naturally give horrible presentations.

Adam_at_Dept_of_Education_Datapalooza.png

In January, I had to give a presentation to ~600 people in Washington DC. I was scared out of my damned mind. So I came with a couple of “todos” in my preparation:

  1. Prepare like I’ve never prepared before.
  2. In general, get more comfortable giving presentations, so I wouldn’t be so scared.

I know, the last thing the world needs is a bullet-point list saying: “don’t use bullet points.” So, I’ll leave the irony to others. And, yes, I’m aware that there are literally ~55,000,000 articles on the internet about this (well, I’m aware now that I’ve looked that up). But, this doc is as much for me as it is for you.

Now that I’ve done a couple presentations in public forums of varying shapes and sizes, here are a few tips:

  • Practice. Seriously. Do it. Practice your presentation at least twice. Once to find the “bugs” and a...

Continue reading →