Skip to content

Best of 2023

I’ve always enjoyed the "best of" posts—it’s a great way to find something interesting & new. I wanted to add to the fun this year! Following up on my 2023 retrospective, here are my favorites of the last year. Texts. Continues to be my all-time favorite app. Texting has always been a massive pain for me and Texts has solved that problem: snooze, scheduled send, tags, multiple inboxes, cross platform app, etc. Can’t recommend it enough. SuperHuman. I resisted using this email client for a while. It’s not improving as quickly as it should, there are still weird issues with it, but some of the core features are really useful (multiple inboxes, better keyboard shortcuts, and fine-tuned UX)…

Continue Reading

2023 Goal Retrospective

I’ve been doing retrospectives on my yearly goals for a while now. Here’s my review of last year’s goals and my thoughts about what I can change going forward. (as an aside, I’ve been working on open-sourcing some of the templates we use as a family to plan out our life—if you are interested in taking a look while I refine them, drop me an email.) What Worked Tracking daily + weekly habits works to reinforce their importance. Setting clear goals with specific metrics has continued to be successful. When a goal is less specific (no dates, no metrics, more of a ending state / lagging indicator vs input-based) A shared goal with my wife to go on two sans-kids trips (harder than it sounds with four young kids!) was great…

Continue Reading

Using ChatGPT to Convert LabCorp PDFs into a Google Sheet

The last couple of years I’ve monitored my food, blood levels, etc more closely. It’s a topic for another blog post, but it’s been really interesting to watch how key blood levels have changed over time and reacted to changes in my diet and exercise. I use lab core for all my blood work, and I’ve been relatively happy with them. However, their online portal does not allow you to download a CSV or Excel document of your blood work over time. They only offer a PDF download. This makes it challenging to track your levels over time and understand what’s changing and why due to lifestyle changes. Enter ChatGPT. With the latest vision models, you can use it to extract tabular data from the unstructured PDF that LabCorp provides you…

Continue Reading

What I’ve Learned Searching for a New Startup Idea, Part 2

(this is part two of a series of blog posts about what I’m learning as I hunt for a new startup idea to work on with my cofounder) Find the Best Talent Hire only great people. Eliminate toil incrementally, even at the early stages. Slow growth to avoid hiring B players; this will result in a net decrease in product velocity. This model breaks at some point in a company’s growth, but I think you can keep a small-and-mighty team for longer than one would expect. This was a key advantage Stripe had in its early days. Be Curious and Start Small Have childlike curiosity. Don’t be afraid to build something silly, small, or seemingly useless. Too much filtering of ideas on the outset can cause you to miss something big…

Continue Reading

What I’ve Learned Searching for a New Startup Idea, Part I

I’m a couple of months into hunting for a new startup idea to work on with my cofounder. I’ve learned a lot and I’m trying to capture these learnings as I go to share them. Finding an idea to build a new business around is an interesting process: it’s much different than having a burning problem that you got excited enough about to quit your job. Finding a big idea is similar to being an investor—mixing analytics, experimentation, serendipity, patience, and convictions about what the future looks like into a specific bet on an industry, future trends, product shape, and initial feature wedge…

Continue Reading

Downloading Fidelity Charitable & Cigna Health Records

Similar to my post about Amazon Photos and Wealthfront data extraction, here’s another set of scripts to download data from sites which have terrible interfaces. You can use both of these scripts by opening up the developer console and copy/pasting/executing them. Hopefully it saves someone some time! Download All Cigna Medical Claim PDFs This script will download all medical claim PDFs on Cigna over the last year. First, navigate to the claims summary page. Then set the filter to: view all, last year, for all people. Now execute this script: Here’s more explanation on why this trick works…

Continue Reading

Raspberry Pi Configuration Tips & Tricks

Through an unfortunate turn of events, my SD card of my raspberry pi got corrupted. Apparently this happens quite often: SD cards are not designed for constant activity like a standard SSD drive (this was news to me!). This time around, I decided to run many of the applications I put on the pi in docker containers (here they are), so it’s all self-documented. Below are notes on what I learned while setting up the pi again, and some misc devops-style tips & tricks that would be useful in any linux server environment. The nice thing about a pi is it gives you the excuse to learn about interesting linux internals. (I’ve written about my raspberry pi setup process in the past, if you want to read the precursor to this post)…

Continue Reading

Book Notes: Wanting

I ran into Luke Burgis years ago and was excited when his book Wanting came out. Rene Girard’s thought changed my perspective and lens through which I view many things in business and life. I think of the philosophy of Rene Girard is a kind of axiomatic definition of human interaction; the physics of human action and desire. When I found Luke was running a conference on Girard I had to attend. I’ve always enjoyed the first attempt at a niche conference. Only the true believers show up and you are guaranteed to have really interesting conversations. Additionally, it was a great way for me to dive deeper into Girard’s thought; I still feel like a total beginner…

Continue Reading

Learning Elixir and Ecto

I’m finally posting a long-running learning document that I wrote as I I continued work on my original Elixir side project. I stopped working on this for at least a year and recently picked it back up as part of exploring some technologies for my next startup. This post got way longer than I expected, but hopefully, it’s a great compendium of notes and learnings from someone trying to learn Elixir who has a strong understanding of ruby, python, javascript, etc. What I’m learning Here’s what I’m going to be learning: How does Ecto work? Supervisor, tasks, processes, etc. "Let it Crash" philosophy. What exactly does this mean in practice?..

Continue Reading

Choosing the right Ubuntu AMI for EC2

As part of setting up an app on an EC2 instance on AWS I wanted to try out Amazon Linux. Picking the latest compatible Amazon Linux AMI using CDK is easy: However, Amazon Linux isn’t always the right choice. What is Amazon Linux? It’s not Ubuntu, it’s Fedora (also, Amazon Linux 2 is older than 2023): Why? I have no idea. I’ve done a lot of random stuff in my time as a developer, and running into Fedora is not one of them. When I ran my ansible scripts against the gravitron fedora box it immediately failed: I was attempting to use ansible-dokku with Amazon Linux 2023, which explicitly is not supported. Gravitron-supported OS are listed here and included Ubuntu, so it was time to use an Unbuntu image…

Continue Reading