Skip to content

Categorizing Personal Email Contacts with AI

For years I’ve wanted to send out a yearly update (digital Christmas card of sorts) email to friends, both new and old. One of the problems is I don’t have a good address book that indicates who is a personal or work contact. I’ve been playing with datasette and I thought it would be fun to index all of my past emails and have AI categorize if they are a work, personal, or vendor contact. Importing Emails The first step is importing your emails from gmail into a local database. The easiest way to do this is to use a combination of Google takeout and a datasette plugin (note that it’s easiest to use my fork of the datasette plugin, the original package is dead)…

Continue Reading

Setting up eMMC on an Orange Pi

The main reason I ended up getting the orange pi (3B, to be exact) was because it has an eMMC connector. This means you don’t have to use an SD card for your boot drive, which I’ve had issues with in the past (they aren’t built for the read/write patterns that OS systems require, so they fail fairly often). I also assumed the device would be quite a bit snappier with an SSD (which turned out to be true). However, it ended up being trickier than I thought to get the OS on the eMMC card. tl;dr: you want to use dd to copy the .img file to the emmc after bootstrapping the system with a SD card with the OS image…

Continue Reading

Pi Hole, TailScale, and Docker on an Orange Pi

I’ve always been fascinated by this super cheap and relatively fast hardware you can buy now. A while back I bought a Raspberry Pi and a friend recently told me about the Orange Pi. I decided to give it a shot primarily because it supports an eMMC chip which allows super fast ssd IO (170mb+ writes in my case). I was nervous about compatibility issues, but I was pleasantly surprised that it worked out of the box without any real issues. The hardest part was actually getting the eMMC working (which I’ll detail in another post). Here’s a walkthrough of what I did to get the orange pi up and running…

Continue Reading

How to Throttle Your Internet Connection

A conversation with a friend recently turned me on to PFSense. It’s an open source firewall system that enables you to control what’s happening in your network. One of the features it enables is packet throttling. It got me thinking, can I throttle my internet connection speed just on my local machine? I’ve been interested in digital minimalism for a long time. One of the things I’ve never been able to crack is nudging me towards stopping the use of all of my devices without forcing me to do so. If I’m forced, I’ll need an escape hatch for when my predetermined schedule doesn’t work, and then I’ll abuse that escape hatch…

Continue Reading

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