• Writing
  • Photos
  • About
  • Search
  • Subscribe
  • Bike videography03-10-2025
  • A new project02-21-2025
  • San Jose-LA Amtrak02-05-2025
  • San Pablo Reservoir01-29-2025
  • Caltrain to Golden Gate Park01-26-2025
  • Polacon San Francisco01-23-2025
  • Southern France, Pt. 301-21-2025
  • Southern France, Pt. 201-21-2025
  • Southern France, Pt. 101-14-2025
  • Visiting the Miami Library01-13-2025
  • My commute12-18-2024
  • Tiburon sans car12-10-2024
  • SamTrans tour11-21-2024
  • Benches11-13-2024
  • SLO by Amtrak11-13-2024
  • The Homevoter Hypothesis11-12-2024
  • If you care about safety, ride an e-bike11-05-2024
  • Fifield-Cahill Ridge Trail10-27-2024
  • Sony RX100 VI 📸10-25-2024
  • Food photos over the years10-25-2024
  • Traveling to Santa Rosa10-21-2024
  • Berlin visit10-21-2024
  • Saturday Bike Camping10-20-2024
  • Conservatives & Bikes10-12-2024
  • Purisima Creek10-11-2024
  • Half Moon Bay10-11-2024
  • Amtrak: Seattle-San Jose10-10-2024
  • Muni 30 Bus10-10-2024
  • Bike Camping10-10-2024
  • Coyote Point10-10-2024
  • YIMBY Prom10-09-2024
  • E-Scooters: First Thoughts04-26-2024
  • How I Bike to the Airport04-24-2024
  • Portals03-22-2024
  • Visit to Newport Beach08-25-2023
  • Bike Summit 202308-25-2023
  • Visit to San Diego08-21-2023
  • BART with Mike08-10-2023
  • Rayban Stories08-10-2023
  • Folding bikes or no?06-06-2023
  • Car Country05-23-2023
  • Writing Without Bullshit05-04-2023
  • The Moral Imperative for Bike Lanes04-06-2023
  • Biking to Work03-13-2023
  • First Anniversary03-12-2023
  • Legion of Honor03-12-2023
  • Running Injuries01-24-2023
  • Why I bicycle12-10-2022
  • A Los Angeles commute11-27-2022
  • Russia 1985-1999: TraumaZone11-27-2022
  • Post-9/11 Conflict11-27-2022
  • Half Moon Bay07-07-2022
  • Onsite05-04-2022
  • An updated goal list02-21-2022
  • Early life lessons02-19-2022
  • Saying thank you12-28-2021
  • San Mateo County History Museum11-28-2021
  • Alternative experiment protocols08-24-2021
  • Podcasting workshop08-09-2021
  • Being Ignored & Building Software08-09-2021
  • Screenshare iOS to Zoom, Meet05-02-2021
  • Chrome Productivity04-13-2021
  • Chrome extensions I use04-12-2021
  • Jekyll + Emails04-12-2021
  • Improving Audio04-07-2021
  • Content Marketing Tips03-04-2021
  • How I Got My Jobs03-03-2021
  • How To Do Logging In Python02-15-2021
  • Notes on remote work02-08-2021
  • Gift Giving02-04-2021
  • It's all Legacy Code01-22-2021
  • Power01-17-2021
  • Daniil Dubov01-14-2021
  • Technical Writing, the Google course12-25-2020
  • Tech Interview Gauntlet10-19-2020
  • Coercive regulations09-09-2020
  • USB Footpad Review07-21-2020
  • A Conversation with Ben Jacobson04-27-2020
  • Live-Streaming Site in 30 Mins04-05-2020
  • Pay remote workers a premium04-01-2020
  • Interrotron04-01-2020
  • 30 Days to Backend Software Engineer03-15-2020
  • 18% of Github Projects Have CI02-02-2020
  • Google Docs to Markdown02-01-2020
  • McCarthy vs. Roosevelt02-01-2020
  • Building a Home Gym12-27-2019
  • A Newbie's Guide to Digital Art12-07-2019
  • Netflix DVD automation vids12-07-2019
  • My current curiosities12-02-2019
  • The Case Interview (of Software Engineering)12-01-2019
  • OSI Layer Notes09-23-2019
  • Java Primer for Python Developers09-12-2019
  • The Morning Paper - Testing08-18-2019
  • The Morning Paper - Virtual Machines08-18-2019
  • How to Run Pandas' Test Suite06-30-2019
  • Defining Runway05-10-2019
  • mypy, the Optional Static Type-Checker for Python04-30-2019
  • Make your own Google Analytics04-26-2019
  • 10 Lessons from Magic the Gathering04-15-2019
  • Better than the news04-14-2019
  • Why weightlifting?03-30-2019
  • An Optimized Alternative to RTFM01-19-2019
  • Take a Break Ya Dingus!10-14-2018
  • The Zero-Indexed Stock Market10-14-2018
  • Software engineer? Start a podcast.07-24-2018
  • How to Survive the Graveyard Shift07-23-2018
  • Making Markets, Pawn Shops, and Farmer Joe07-20-2018
  • The Declaration of Independence07-06-2018
  • Querying Access Logs on AWS06-05-2018
  • Entry-Level Software Engineering QnA05-04-2018
  • Some more iPad weightlifting sketches03-12-2018
  • Static Websites on Google Cloud03-09-2018
  • Weightlifting sketches02-11-2018
  • Why use Docker locally?01-22-2018
  • Static Site Hosting on AWS01-16-2018
  • The Net Present Value of Content12-17-2017
  • Information Asymmetries and Paying it Forward12-15-2017
  • Tumblr to Jekyll07-20-2017
  • The Accidental Engineer07-15-2017
  • Generative Text Models12-25-2016
  • github-email-thief12-28-2015
  • Make Your Own Gmail12-24-2015
  • Modern anti-spam and E2E crypto12-22-2015