2024

Sep 23 Quickly saying “no” to ideas is extremely harmful
Jul 18 I Joined Google (again)
Jan 4 Deciding between a static and dynamic site

2023

Dec 25 2023 Year in Review
Dec 5 Considering File Formats for ChineseDict

2022

Dec 29 2022 Year in Review
Dec 13 Recent Running Lessons
May 22 Questions I Ask Companies in Interviews
Mar 12 Kuli'ou'ou Ridge Loop Trail
Feb 12 2021 Year in Review
Jan 1 Favorite Books of 2021

2021

Nov 22 Recruiter Autoreply Bot 2
Nov 20 Things I Wish I Had Known About Earlier

2020

Dec 27 2020 Year in Review
Dec 19 How to clone a Google Source Repository in Working Copy iOS
Aug 16 Grace Hopper 2019 Trip Report
Jul 4 用20行Python构建Markov Chain语句生成器
Mar 15 The Most Commonly Used Chinese Words
Mar 11 Napa Half Race Report

2019

Dec 31 2019 Year in Review
Dec 28 The Best Books I Read in 2019
Dec 12 CIM Race Report
Nov 21 Marathon Training Update
Nov 10 I'm Joining Waymo
Aug 31 Things I Learned as a First-Time Intern Host
Jul 13 How are Words Represented in Machine Learning?
Jul 6 3 Tips for New Technical Interviewers
Jun 14 On Being Injured (Again)
Jun 5 Setting Up a Recruiter Auto-reply Bot
Apr 27 Measuring My Chinese Progress
Feb 6 Kaiser SF Half Race Report
Feb 3 Building a Running Pace Calculator With AMP
Feb 3 How I Host Static Sites With Automatic Deploy on Green
Jan 29 A Year of the Pomodoro Technique
Jan 16 Build a Markov Chain Sentence Generator in 20 lines of Python

2018

Dec 24 2018 Year in Review
Dec 10 Reading Notes: Mindset: The New Psychology of Success
Nov 20 How to Solve Every Software Engineering Interview Question
Nov 14 Reading Notes: The Manager's Path
Oct 20 More Similar Mandarin Words
Sep 27 Reasons to Try Trail Running
Sep 25 It's OK to Make Mistakes in Coding Interviews
Jul 26 Sydney Photos
Jun 23 Doing Cryptography in TensorFlow
Jun 23 Some Similar Mandarin Words
Jun 3 China Camp Trail Race Report: Things I Wish I Had Known
Apr 16 Understanding the Security of Cryptographic Hash Functions
Mar 31 What I Learned taking Stanford CS255 Introduction to Cryptography
Mar 30 New Blog, Who Dis?
Jan 5 How to Export Evaluation Results in Tensorflow

2017

Dec 31 Goodbye 2017, Hello 2018
Nov 19 Example: Save and Load a TensorFlow Model
Oct 22 Chrome Security Architecture
Feb 27 Mt. Rainier Backpacking Trip

2016

Dec 31 2016 Year in Review
Jul 31 Where Web Payments are Going
Jul 25 You are an engineering manager whether you realize it or not
Jul 14 How to be an Asshole
Jan 11 2015 in 5 Themes

2015

Nov 29 Breaking the Cycle
Oct 25 Wrist Upgrade: Suunto Ambit3
Mar 24 Reading Papers: Bufferbloat, SSL Warnings, Orleans, and more
Jan 12 Visualizing JavaScript Project Structure

2014

Sep 18 How System Calls Work
Jun 15 Unforseen Perks of Pair Programming
Jun 6 Interviewing 2 Years in: What Worked
Apr 28 Intro to Angular.js Talk
Apr 22 Things learned while preparing for Angular Live Code
Mar 14 Two interesting IE JavaScript quirks
Feb 20 JavaScript's Mutative vs. Non-Mutative Array Methods
Feb 8 Hello World, Again

2013

Feb 25 Japanese Programming

2012

May 1 Pechakucha Waterville Talk
Feb 7 Ueno Zoo 上野動物園
Feb 2 Tsukiji Fish Market 築地市場
Feb 1 January in Japan
Jan 27 Tokyo Tower 東京タワー
Jan 7 Nara 奈良
Jan 5 Fushimi Inari-taisha 伏見稲荷大社
Jan 3 Osaka Aquarium 海遊館
Jan 3 Kiyomizu Temple 清水寺

2011

Jan 3 Study Abroad in Japan

2010

Apr 21 Huge Snow