Designing fairness-aware performance metrics for gig-economy workforces

Gig-economy platforms — Uber, Lyft, DoorDash, Instacart, Amazon DSP, and many smaller ones — share a deep operational problem: they need to evaluate the performance of large numbers of independent workers using objective data, but the data is full of factors the worker cannot control.

Read more

From manual script to production pipeline

A pattern I have seen in nearly every company I have worked at, regardless of size or sophistication: somewhere in the engineering org, there is a critical data pipeline that is “automated” only in the loosest sense. An engineer runs a script. The script does some things. Sometimes it works. Sometimes it produces malformed output and somebody has to spend two hours figuring out what went wrong, manually cleaning up, and re-running.

Read more

Data structures and algorithms: A practical reference

A practical reference covering the core data structures and common algorithm patterns, from arrays and binary search to graph traversal and dynamic programming.

Read more

Why union find is such a cool algorithm

One of my favorite algorithms in graph theory is Union Find. It is a beautiful algorithm for tracking disjoint sets. A disjoint set is a group of nodes in an undirected graph that are all connected to each other through some path, but disconnected from any node outside the set.

Read more

5 year reflection of myself as a software engineer

I’ve been working full time since 2020, and it’s been 5 years in my professional career. I’m currently a software engineer at Amazon, and before that I worked at a startup. If you count my college years, when I interned at PayPal, I’ve been involved in building software for 8 years.

Read more

Startup, big company, or academia?

The useful question is not which type of organization is best. It is which role offers the work, support, financial stability, and room to learn that you need.

Read more

Competed at ICPC North America Championship

ICPC stands for International Collegiate Programming Contest. It is the largest competitive programming (CP) competition among the universities of the world.

Read more

Reading network packets with netdump

A packet capture turns networking from an abstract diagram into bytes you can inspect. This tutorial develops netdump, a small C program that reads Ethernet frames and explains the IPv4, ARP, TCP, UDP, and ICMP headers inside them.

Read more

Primer Server

Primer Server is a web application for designing PCR primers. It puts sequence input, design settings, and a visual display of results in one browser interface.

Read more