Hello, World!

I'm a software developer and resident of Northern California. This is my personal website. I have a tendency to tinker, and here you'll find lots of evidence of that! Here I point you to projects that I've done for work and for pleasure and share some things that I find interesting.

In real life, you'll find me in and around Los Altos, Mountain View, and Palo Alto, California. Please say hi! Online, the best ways to reach me are the links in the footer.

January 2, 2025

AGENT IO

Many people buy domains for their impulsive ideas, and there's one that I bought in 2009 when I was sitting at WWDC with Jeff Buck thinking about making some online services using Nu. We didn't do anything with it then, but a few years later Danielle Arvanitis helped me work up a proposal for something that other people eventually built as sandstorm.io and I went to work at Google. Now I finally have a use for it.

more...

October 28, 2024

Managing gRPC APIs with Service Infrastructure and Envoy

I'm speaking tonight at the gRPC Meetup in Sunnyvale. Thanks to Larry and the gRPC team for hosting me!

gRPC isn’t just for internal services! More and more API consumers are getting up to speed using gRPC APIs, and with transcoding and AIP-127, gRPC can be used to build great HTTP/JSON APIs. But most API management products focus on HTTP/JSON APIs and address gRPC as an afterthought (if at all), and gRPC service meshes generally don’t address needs of external consumers like API key issuing and verification.

more...

June 18, 2024

Link Blogging with Pinboard

Recently Marsh Gardiner got me interested in using Pinboard to track bookmarks. I quickly realized that I could use it to replace the nascent and undeveloped bookmark tracking that I was adding to this site, and also that with the Pinboard API, I could get the best of both: easy input and management of bookmarks using Pinboard and its many associated third-party tools, and customized presentation and discussions of bookmarks that I import.

more...

June 13, 2024

Comment Support

This website now supports comments. Sign in using the button on the top right (or click here) and comment on any post, including this one.

more...

May 28, 2024

Spotify Discover Weekly

What are you listening to? Here's a reflection of my listening habits in my Spotify Discover Weekly list. Today you'll see lots of DHH (Desi hip hop); I am still riding a wave from our son Michael's Hindu wedding last summer.

more...

On Medium:

I wrapped my Spotify history the hard way: using Go and PostgreSQL to analyze a year of streaming.

By now, Spotify users everywhere have gotten their 2019 Wrapped results...

On Medium:

OpenAPI and gRPC Side-by-Side

Spend some time working with OpenAPI and gRPC and you’ll notice that these two technologies have a lot in common...

On Medium:

I got a golden ticket: what I learned about APIs in my first year at Google

A year ago, I found a job in one of the world’s biggest API companies...

Link Tagsrecentadvice aftershokz agents agi ai alienhominid alltheplaces android apimanagement apis apisyouwonthate appengine apple art auden automation avro badshah beastieboys benfolds bios blogging boba bobdylan books breaches breakfast brevity brunopedro bsky buf bullshit cacm cameronblevins capitalism changesets chatgpt cherylwaters christophkern cli cloud cloudrun cncf coffee commenting community companies concerts conferences connect cplusplus css dart dartmouth dashboards data databases datalakes datapoisoning debugging defunkt design devex devsite diet dirtywave documentation easteregg eda editions editors edm eks empire endpoints engineering envoy events faith family finch flaxseed frost fruit ftc gallbladder games gateway gateways gcp geekbench geo girard github gloo go google googlemaps gorilla gregorymone grpc grpcweb hacking health healthchecks heartworms help heresy hichord history homelab http hype hypebusting iceberg ideas imgoing india innerengineering inonshkedy integrations interviews iusethis jamesmurphy java jennifergovola jokes json juliaangwin k8s kafka kagi kaitenzushi keithharing kelseyhightower kentstate kexp kiosks kubernetes law lcdsoundsystem licenses linkblogs llms localfirst locations lucagalente lyrics m8 malloryhaigh martinkleppman matduggan materialdesign mccarthy meetups meridethwhittaker meta microsoft middleware minipcs minneapolis minsky museum music nat networking nginx npr nutrition nyt openapi opensource openstreetmap operators oreilly otobokebeaver overture pancakes performances pescatarian peterdenning pharisees pinboard pinkpantheress platformcon platformengineering platforms podcasts poetry portland portugaltheman postgis postideas privacy production productreviews programming prost protobuf protocolbuffers protos pubsub python quality ransomware raphaelpinson recipes repos rss rtree rubrik rust saas sabotage sadhguru santaclarauniversity score scrapers scu sdks seahorse search security sfmoma signal snl snowflake software songs soup spotify spotifyengineering sqlite startups steelydan storage strawberries styleguides sudorandom super73 sushi synthesizer synthhistory teams teensy tiles timbowmanjr timburks tinydesk toddlyons tonic trackers travel turing unkey usps vanta vegan via:license victortangermann videos vulnerability walking web webarchive webinars weezer wikimedia williamdalrymple wix workflows workouts yoga youtube zed zombiezen

About this site

This site runs on Google App Engine using the Go Standard Environment. Images and other files are stored in Google Cloud Storage. The site is styled with Material Design Lite.