The power of the pen

Stop buying cards and start writing them!

A few years ago I gave up on buying cards for holidays, birthdays, etc. If I’m being honest this was less of a decision and more of a necessity since I had forgotten to buy a card for some occasion and was left with no option but to actually write something myself. So I dutifully got out a correspondence card and wrote an appropriate message.

I don’t actually remember what the first occasion this happened was. Most likely it was Mother’s Day (I have a bad record of remembering Mothers Day). However, I do remember how difficult writing that card myself was. It’s so much easier just to let the writers at Hallmark write something for you! After years of delegating my personal messages to people I’d never met, I’d forgotten how to properly express myself on such occasions. The writing muscle had atrophied, and it didn’t like being called upon again!

But that’s not quite right either — it’s not the writing that’s hard. It’s really encapsulating your emotions and thoughts. How do you really express what a mother, wife, father, sister, or child means to you? How do you properly say thank you for the thousands of things that they have done to make you the person you are? Is there really a card that expresses how proud you are of how a child has grown over the past year? How can a card possibly do justice to the feelings you want to convey on these occasions?

But that difficulty is precisely why it’s so powerful to write a personal message and not rely on someone else to do it for you. However hard it is for you to write these things, no one can really do it better. A poorly written personal message from the heart always beats a “Happy Mother’s Day” added to the most beautiful card that you just bought.

I won’t say I’ve come to enjoy writing these cards — like many people I find it hard to find the right words to convey what I want to. Practice makes it easier but I wouldn’t call it easy. However, I have come to respect the requirement that you really spend the time to think through what you’d like to say to that person. We don’t really have that many occasions that require us to take a step back and express ourselves to our closest friends and family. It’s easy to go through life dealing with the here and now — but it’s important to step back and say “thanks” or “congratulations” or “I’m proud of you”.

So the next time you have the opportunity to buy a card for someone — write one instead. Enjoy the challenge, revel in the difficulty, and dig deep to find the best words you can. I promise you the recipient will appreciate the effort — and you just might find that you appreciate the chance to reflect as well.

Poor Design- An Example

Why you have to think about how people actually use your product


As you may or may not know, I’m an avid golfer. I haven’t written a lot about golf, but it’s one of my real passions — and I’m finally getting my kids into it. And I’ve finally gotten around to writing this post about a golf product that is poorly designed and gives a great example of what happens when you don’t fully think through how your users will utilize your product. I know this example isn’t relevant to most people — but I think it makes a useful point about effective product design.

My course uses a company called Strackaline to print out a sheet every day that tells you where on each green the hole has been placed. This can be very valuable information. The company has a mobile app that you can use, but that generally slows down the round. Most people simply utilize the one-page pin sheet that the software also produces. Above is an example of one from my course this weekend.


This pin sheet is quite useful and a very effective format for it’s purpose. The basic idea is to have an image of each green with colors representing high and low points, and the pin represented on the image of the green. In addition, there is a number indicating whether the hole is in front of or behind the middle of the green and by how far. The page is laid out with a grid of these images spanning three columns and six rows. This neatly fits all 18 holes and leaves enough space and a proportional area for each image. So far so good. The holes are laid out in a pretty standard format — left-to-right and top-to-bottom.


As logical as that layout may sound, however, it is not well suited to the way people actually use the pin sheets on a course. Let me explain. Most golfers will carry this pin sheet in their back pocket if they are walking. In order to make it fit, you have to fold it. This is generally accomplished by folding it in half — and then into thirds (so you don’t fold it right over the image of the greens in the middle). This leaves us with 6 separate panels — two of which are immediately visible at any time when the sheet is folded.

When you add the hole numbers onto this layout, you can see the issue. Holes that are played sequentially are never on the same panel. So, finding the current hole always involves refolding the paper to expose a different panel. I admit, this is a minor annoyance, but every time I do it I’m annoyed that someone at Strackaline hasn’t thought of a better method yet. A simple improvement would be to move from having the left-to-right flow being primary, to having the top-to-bottom flow being primary, though broken at the middle of the page. That would leave us with each panel housing 3 consecutive holes — and cutting down how often we need to re-fold the paper. It’s a simple change — but it fits the usage pattern of real users much better.

You could also imagine a few other simple improvements, like a dotted line explaining where to fold the sheets (since folding a page into thirds isn’t obvious). I know these are minor quibbles and not really a major issue — but I also think it is a good example of how designing a product with basic intuition does not always match up with how your product gets used in real life — and spending the time to understand real world usage patterns can help you design better products.

And, Strackaline team, if you read this, please feel free to use my suggestions!

My Travel Tech Stack

I’ve heard from a lot of people that they enjoyed my post iPad Pro: My Travel Computer. I thought it might be useful to break down what my travel tech stack looks like. I’ve been using this kit for a while, and it works remarkably well for me. I’m a big believer in travel that less is more — so this isn’t a huge list; but it works very well for me.


  • iPad Pro 10.5″. You can read my earlier post on this one. I’m enjoying this device so much that it’s generally the only device I take with me when I’m away from my desk — whether it’s for a trip or just a meeting. I’ve even debated getting the 12.9″ version to make it more useful.
  • Kindle Oasis. I still love reading books on my Kindle. I’ve had a Kindle in my tech stack since the very first version and I’ve loved them all. I find the distraction-free reading environment wonderful — and a big help in reaching my goal of reading 50 books this year.
  • Bose QC35 Headphones. I love these over-ear, noise-cancelling headphones for both in office use and use on airplanes. They do a great job of blocking out engine noise and are a must if you’re on a long flight.
  • Airpods. It may seem silly to travel with two sets of headphones, but I really prefer the Airpods for most usage that isn’t either (a) on an airplane or (b) drowning out the office). These are so small, they don’t really take up space and are perfect for listening to music or podcasts or doing phone calls during the day.
  • RAVPower 22,000 mAh Battery. This has been an incredibly valuable addition to the stack. Since all of my devices are USB-charged, I can now charge anything on the road. This battery is quite large, but can re-charge my iPad fully and means that I’m never out of juice for my phone or iPad when I’m on the road.
  • Syncwire 4-port USB Charger. Another benefit of having all your travel devices charged over USB, is that you just need one power brick. I keep this in my suitcase and not my backpack (since I can recharge from the battery pack during the day). It can charge my iPad, iPhone, Kindle and headphones — all at once! It’s perfect for travel. Since usually some number of my headphones or batter pack don’t need daily charging, this is all I need to bring.
  • Leather Journal with Dot Paper. I still love to travel with some paper (not a ton). As I’ve written before, I find paper to be a great tool for brainstorming and broad thinking. It’s also helpful for taking some notes in meetings where even an iPad isn’t appropriate. I don’t like to travel without it as it’s hugely valuable. I like simple paperback journals with a leather cover (I love the feel of the leather cover).
  • Incase Icon Slim Backpack. This backpack is the newest addition to my setup and so far I’m loving it. It’s sleek and stylish for business meetings, but stores everything I need. It can hold everything above, plus some business cards, a couple of short charging cables, a water bottle, an extra layer, etc. I know that if I have a larger bag I will find a way to fill it, so I love how compact and small this bag is. Big enough — but no bigger.

And that’s really it! I’ve found this travel gear to be incredibly useful on the road. It’s worked quite well for me overall. Being able to travel with one charger for all your devices and a battery pack that ensures you’re never out of juice is very freeing. It’s working incredibly well for me! What’s your favorite travel gear? Let me know — I’m always looking for new ideas!

Flying Drones with Google Assistant


I’m glad so many people enjoyed my post on Flying Drones with Code. A few people at Upstart enjoyed the post and asked me to come and present the drone coding experience at one of our lunch ‘n learn sessions in the office. This turned out to be a lot of fun (you can see a quick video of our final result here…). However, one of my colleagues said she was bringing her kids in to see the project — and that they already tried the basics but wanted to “learn from the pro.”

Uh oh. I’m definitely not a pro — so I decided I needed to add another element to the original drone flying project so that we could teach the kids something. And the something we added, was using Google Assistant to kick off our drone demo. This was easier than I though — and frankly most of the challenges are in the networking arena — especially making sure we could get a static IP for my Raspberry Pi at the office. So, if you’ve ever wanted to say “Hey Google, launch drone demo” and see a drone take off, do some flips, and land— keep reading to see how we did it…

Step 0: Drone Setup

The easiest thing to do here is to read my original post on how we set up our Mambo drone to be remotely controlled by a small Raspberry Pi. It’s not too complicated, but I won’t repeat it all here.

Step 1: Write your fun drone demo

This is the easy part. I decided that for my “drone demo” I would just have it do some crazy flips and then land. So, I created a simple drone_demo.py file to execute this. Here’s what I used:

from Mambo import Mambo
# we got this address by running 'sudo python findMambo.py'
mamboAddr = "YOUR MAMBO ADDRESS"
# make a mambo object. we need to se use_wifi to false as our Mambo does not have wifi
my_mambo = Mambo(mamboAddr, use_wifi=False)
# connect to our mambo drone
print("trying to connect")
success = my_mambo.connect(num_retries=3)
if(not success) exit()
my_mambo.safe_takeoff(3)
my_mambo.fly_direct(roll=0, pitch=100, yaw=0, vertical_movement=0, duration=.5)
my_mambo.smart_sleep(2)
my_mambo.flip(direction='front')
my_mambo.smart_sleep(2)
my_mambo.flip(direction='back')
my_mambo.smart_sleep(2)
my_mambo.turn_degrees(180)
my_mambo.smart_sleep(2)
my_mambo.fly_direct(roll=0, pitch=100, yaw=0, vertical_movement=0, duration=.5)
my_mambo.smart_sleep(2)
my_mambo.turn_degrees(180)
my_mambo.smart_sleep(2)
my_mambo.safe_land(3)
# disconnect when we are done
my_mambo.disconnect()

Step 2: Set up Node-RED

Node RED is a simple web server really intended for IOT projects. However, it’s perfect for our purposes here as it allows us to accept a simple HTTP request on our Raspberry Pi and then execute a command. My Raspberry Pi came with Node-RED already installed, so I just had to run it. That was easy to do from my main menu bar. Once the server is running, you can open up a browser (I used Chromium) and head over to http://127.0.0.1:1880/.

You should see a screen like this:


Node-RED allows you to build flows with inputs that cause actions. We want to create a flow that starts with an http request and executes a command. So, grab the http object from the Input section and drop it into the flow. Then grab the exec object from the Advanced section and add it to the flow as well. Finally, in order to help with any problems, grab the debug object from the Output section. You can then connect the right side of the http object to the left side of the exec object. I also connected the right side of both the http and exec objects to the left side of the debug object — so I can see any error messages (it ends up being a lot — but helpful). Once the flow is configured, it should look about like this:


Now we need to configure each object. First, let’s set up the http object to accept a GET request to /drone_demo. Just double click on the object and enter the right values:


Getting the exec command right is a bit harder. Here we are just trying to execute the proper command. However, I found that if I tried to use a relative location for the file it would have an error with the Mambo import. I also found the need to use the nohup command to prevent the exec module from stopping when I had my first smart sleep command. Here’s the command I used and an example of the configured screen:

nohup python /home/ryan/pyparrot/drone_demo.py


Once this is all set up, you should be able to execute the drone demo by pinging the appropriate address: http://127.0.0.1:1880/drone_demo. Check it out!

Step 3: Port Forwarding


Now that we have a web server running and accepting requests that can execute our drone code, we’ve done the most interesting (and easier) part. Now we need to connect it up to our Google Home. First of all, we need to make our Raspberry Pi accessible from the public internet so that it can talk to Google Home. This is generally done through something called Port Forwarding — which allows us to take our home internet’s single public IP and tell it to route all requests to a specific port (in this case 1880) to a specific internal machine (in this case our Raspberry Pi). I configured this in my Eero setup by going to Network Settings -> Advanced Settings -> Reservations and Port Forwarding -> Add a reservation.

At this stage, we also need to find the public IP address for you home network so that we can configure the final step of the process — connecting our setup to Google Home.

Step 4: IFTTT

IFTTT (If This Then Than) is a great tool here because it provides a pre-built integration into Google Home (this integration is actually why I built this project using Google Home and not Amazon Alexa. First, you will need to connect the Google Assistant service to IFTTT. This should ask you to sign in to your Google Account and grant access. Then switch over and choose “New Applet”. Your If will be Google Assistant. You will need to specify the words you want to use to launch the demo. I picked “execute drone demo.” It just sounded cool.


You’re that will be a Web Request. You will need to point it to your public address with the appropriate URL and a basic GET method.

http://YOUR_IP_ADDRESS:1880/drone_demo


Step 5: Run the demo!

At this point, when you say “Hey Google, execute drone demo” — your drone should take off, dance around, and return to land! Of course, there’s usually a bunch of trouble shooting that goes along with this stage. It certainly took me a while to get this working — and even longer when I brought the Google Home into the office and had to get port forwarding working on our internal network! However, it worked pretty well and everyone was duly impressed

What’s Next

This project was a lot of fun, but it got me thinking about what else we could do with our little drone project. For instance, we could have IFTTT capture multiple commands and be able to control the drone in real time “Hey Google, fly drone forward” etc. Might be fun to try out. Maybe I’ll give it a shot when I find a bit more free time.

If you do decide to give this project a shot — I’d love to hear about your results. And if you have any difficulties getting it working, let me know and I’ll see if I have any advice. Enjoy!

Color Free — Moving to a Grayscale Homescreen


As I recently wrote, I have begun listening to more podcasts. On a recent episode of the Ezra Klein Show I heard guest Tristan Harris mention that he has his phone home screen in a grayscale mode. The basic theory is that the color in your phone is part of what draws you in and psychologically causes you to engage with the apps on your phone. There’s no question that our phones are well (and intentionally) designed to attract our attention — perhaps demand is a better word. I do find this overall “addiction” that we experience unhealthy, so I was interested in this idea.

I’ll be honest that I found the idea that just turning off color was going to make a big difference in my a bit strange and was unconvinced that it would make a real difference. After all, was it really just the color that was drawing me into my phone. On the other hand, it’s clearly true that the “little red badge” for notifications is something that draws your attention quickly — and I find it difficult to ignore. So, I figured I would give it a shot and see what I thought after using this feature for a little while.

However, I have found the change to be quite impactful. The lack of color definitely makes using the phone just feel different — and less appealing. The phone actually feels less interactive somehow. In many ways, it makes the phone feel more like my Kindle — something I use the way I want but doesn’t really dictate or control my interactions itself. So far, I’m really liking this change. I’ll be honest that many times after I flip color back on, I forget to turn it off again and go for a while with the full color screen. But once you’ve been using the gray scale version for a while, the colors really do feel over saturated and intense — it just feels like too much. Sort of the way Vegas feels to me — like stimulation overload.

I recommend giving this a try. Even if you don’t decide to stick with it, it’s an interesting experiment to give it a try. The setting is definitely buried, but here’s how to find it on your iPhone.


Setting -> General -> Accessibility -> Accessibility Shortcut (the very bottom choice). Once you’re there, pick Color Filters. Now, when you triple press the Home/Power button (for those on an iPhone X), your screen will switch between color and gray scale. Give it a shot and let me know what you think!

Intermittent Fasting

Late last year I had my annual physical. In general I’m in good health, but my doctor did point out that my cholesterol is high. Not incredibly high — but higher than it should be at my age. I also have a family history of heart disease and high cholesterol. He gave me a year to get my cholesterol down before he was going to put me on medication.

That was a bit of a wake up call for me. I’m not in the greatest shape these days, but I generally get a decent amount of exercise and I’ve been quite happy to maintain my weight and not add on any more pounds as I’ve gotten older. Apparently, those efforts were not enough. So, I decided to really focus on becoming healthier in the new year. There have been many parts to that — eating healthier (more vegetables, more fish, less meat and less processed foods), working out more regularly (100 pushups and 100 sit-ups every day in addition to my occasional runs). However, one element that has been incredibly successful for me has been to adopt intermittent fasting.

I am by no means an expert on intermittent fasting. However, the basic philosophy is to allow the body to enter a fasting state by going long periods of time between some meals. This typically as the benefits of (1) reducing total calorie intake and (2) encouraging your body to burn stored fat instead of a recently eaten meal for energy. You can read a bit more about intermittent fasting at https://www.nerdfitness.com/blog/a-beginners-guide-to-intermittent-fasting/“>Nerd Fitness.

There are lots of ways to implement intermittent fasting, but I picked a simple approach: I skip breakfast. That’s it. I typically eat dinner around 6:30, and just don’t eat again until around noon the next day. The goal is a 16 hour fasting window, so I can grab a snack at 10:30 or 11 if I’m feeling hungry, but I often don’t.

The results for me have been great. I’ve lost nearly 10 pounds, and have become noticeably more lean. I also feel great and have more energy (though I think most people would tell you I was never lacking in energy). I was somewhat worried about being particularly hungry (and more dangerously, hangry…) in the mornings, but I haven’t found that to be the case as at all. It’s been pretty much universally positive for me. If your’e looking for a simple way to feel better and healthier and lose some weight, I highly recommend it!

My News Diet

We live in a world of over-abundance of information. It is remarkable how many different media outlets, social networks, news sources, and random mobile apps compete for your attention. It is easy to get overwhelmed by all the different options — and to waste an incredible amount of time sifting through them all with little value to show for it.

In January, I gave up Twitter for the month and found it amazingly relaxing — with little lost in terms of information. For the time being, I’ve decided to continue to avoid Twitter with the occasional exception to post an interesting article or thought. I’m getting emails for interactions and DMs, but I’m really avoiding the feed. One big questions I get from people is how do I get news without Twitter. I have been refining my news diet for a number of years, so I thought I would share it here.

It’s actually been a bit of a journey. I used to sign up for a lot of different news sources and found it overwhelming and very duplicative. I’ve recently narrowed this list of sources and have found myself much happier with the more limited set of information. I don’t feel un-informed — and it’s eating up a lot less of my time.

I actually get a number of my news sources through daily email newsletters. I find that very refreshing

General News

These are my more general news sources. I actually receive all of them via daily email subscriptions (except for the Economist, which doesn’t have an email option). The emails serve as a great reminder to read through everything — and I like getting the information that way.

  • New York Times Morning Briefing. This is a great, quick read in the morning to give me an overview of what’s going on in the world.
  • ** Economist Espresso**. Also a quick morning read, but with a more international flavor. If I don’t get to something any given day, it’s usually this.
  • New York Times Evening Briefing. A very concise wrap up of the big stories at the end of the day.
  • New York Times California Today. A good news roundup (with one bigger story per day) of just CA news. It’s always good to know your state news on top of the national stories.
  • Pasadena NOW. I also enjoy getting the highlights from the city I live in. This daily newsletter is a good roundup of daily city news.

Industry Topics

  • Stratechery. This is a great daily read on the business strategy of the technology space. I’ve been a subscriber for a few years and find Ben’s analysis very useful and informative. Worth the $100/year.
  • Feedly Subscriptions.. Since the death of Google Reader (still a painful topic…), I have been using Feedly to curate my industry specific news sources. I find it a great way to have a list of sites that I can skim headlines for and read a few articles in more detail. I do spend some time curating the list of sites and will on occasion add or remove sites from the list. It’s a mix of standard tech sites (The Verge, Recode, Ars Technica, Five Thirty Eight) with some individual blogs. Limiting feeds and curating them regularly is key here.
  • American Banker Daily Briefing. Given my current role of establishing partnerships between Upstart and banks/credit unions, I find this to be a great source of daily news.

This overall news diet has been quite effective for me. I can get quick, general updates in the mornings and it only takes 10–15 minutes. I tend to look through my Feedly feed throughout the day. Mostly I read the headlines, but I do drill in and read full articles a few times a day. That doesn’t take much time — and I feel like I see most of the critical news I need.

Rocket Emoji

I love finding small apps that make my life better. This has led me to try I can’t count how many task management apps (my current one is Things, if you’re interested). Many times I eat up cycles for little or no reason.

However, one recent fabulous find has been Rocket. It’s s simple Mac app that lets you insert Emoji into any application. That may sound silly, but it’s been really useful for me. Sure, Apple has an emoji keyboard for the Mac, but it’s hard to pull up and slow.

Rocket autocompletes emoji whenever you start typing with a :. It can exclude certain applications like Slack (which has its own custom emoji) or code editors as well as website where the colon may be used regularly. It’s a small, but very helpful app — and I highly recommend it!

Echo Spot — my new alarm clock


My house was already pretty well “connected” with two Amazon Echo Dots and one Google Home (though to be fair, the Google Home has spent the last few weeks in a drawer, sorry Rishi…). I can’t say there was any obvious reason that I needed a new “smart home device” (and I hate the phrase), but I was intrigued by the new Amazon Echo Spot and some of the positive review it received, so I recently got one of those for my bedroom.

I was partly inspired to get the Spot because I had been looking for an alarm clock. I like being able to glance over and check the time and my phone was not well suited to that. I also like the idea of explicitly not keeping my phone near my bed — so being able to have a good alarm clock that allowed me to put the phone somewhere else seemed like a nice plus. And having Alexa thrown in was a bonus.

So far, I’m really liking the device. The screen is a great size. Once I switched the default clock from an analog display to a digital one, I find the interface quite nice. I also enjoy being able to give simple commands to Alex from the bedroom — and I sometimes use the new briefing features here as well (though I often do that downstairs instead). I’ve also set up an integration to my task manager, so I can quickly add tasks when I think of them (or my wife gives them to me).

It’s not a revolutionary experience, but it is well executed and quite helpful. It is also cementing Alexa’s place in my tech ecosystem. I fully expected Google to have the more capable personal assistant experience. I doubt Apple’s commitment to real software services — and their execution of them. I similarly thought that Amazon would excel in the productization of some of this through AWS, but not the execution on the consumer product. So far, I stand by my call on Apple but Amazon has surprised me.

As of now, Alexa is more useful that Google (or Siri) and available in more form factors. The ability to control Sonos through Alexa continues to be a wonderful feature. And I’m amazed that I can read my GSuite calendar through Alexa, but Google struggles to do that. Google might win out in knowledge areas or natural language processing, but for day to day tasks Alexa is by far the best — and becoming an important part of my technology stack .

No Twitter January

For a few years now I’ve done a “no alcohol” January. I started that after a particularly long New Years Even when I just felt the need to “detox” a bit. I actually enjoyed doing it and felt quite good afterwards. I also found that after totally giving up alcohol for a while, I reduced my overall consumption moving forward. And I lost a few pounds!

This year I added a “no Twitter” policy. I was inspired by Dave Girouard who went further giving up Facebook (which I haven’t been on in years), Twitter, alcohol and dessert. I couldn’t go with him on the last one… I tend to look at Twitter quite regularly, so I wasn’t sure how this little experiment would go. However, after a month I really enjoy the peace that comes with not having Twitter.

The first week or so was the hardest part. I would find myself worrying that I was missing something or was uninformed. Of course, that’s just silly. I get the New York Times Morning Briefing newsletter, which gives me just enough news. And I have my Feedly subscriptions, which pick up the details in tech and fintech. The idea that you’re missing something important is really just in your head.

However, having no Twitter on the phone changed my relationship with the phone. Sometimes I would check email, or read through my Feedly headlines and realize there was nothing left to do on my phone. Previously, I would open Twitter and scroll through for a while. It essentially turned my phone into an endless experience that could just suck up any idle time. Now, I tend to finish my task with the phone and realize there’s nothing there left to look at — and it feels amazingly freeing. It feels like I have retaken control over my relationship with my phone, and that’s a great feeling.

So, I’m back on Twitter now, but I expect to use it much less. I’ve turned on email notifications for replies and DMs so I don’t miss anything. I expect to check in every now and then, but I expect it will be much less a part of my daily life.