Ashley Gao

Ashley Gao

Theory, engineering, and photographs

Ashley

Hi, I'm Ashley. I studied theory of computation and mathematics at the University of Toronto, where I did research in complexity theory under the supervision of University Professor Allan Borodin in the Theory Group. I then worked as a software engineer at Nasdaq, building trading-protocol software. Outside of work, I love taking photographs, reading, and going to classical concerts.

Scroll to walk through town

Ashley's house

About

Ashley Qianxi Gao

Theorist / Engineer

Origin
University of Toronto
BSc, Computer Science and Mathematics, 2020 to 2025
Interests
AlgorithmsComplexity theoryMachine learning
Skills
ResearchCodingProblem solving
Hobbies

Photography80

Puzzles70

CatsMAX

Languages

English100

Chinese100

French5

Japanese5

Links

Trophy Hall

Awards

Achievements: 6 of 6 unlocked

  • University of Toronto Excellence Award Research award 2024, University of Toronto
  • Dean's List Scholar Every year 2021–24, University of Toronto
  • Governor General's Academic Medal, Bronze The most prestigious award for students in Canadian schools 2019, The Governor General of Canada
  • Canadian Computing Competition School champion 2019, University of Waterloo
  • Euclid Mathematics Contest School champion 2019, University of Waterloo
  • National Olympiad in Informatics in Provinces (NOIP) Second prize, senior level 2017, China Computer Federation

Theory Library

Research

Two volumes on algorithms: how to choose well when the best choice is too expensive to find, or depends on a future you cannot see. Both written with Prof. Allan Borodin at the Theory Group.

Manuscript, 2024with Allan BorodinRead the PDF

Fair Max-Min Diversification in Refined and Relaxed Metric Spaces

Shrink a large dataset to a few points so that every group gets its share of seats (fair) and the chosen points sit as far apart as possible (diverse). A pick is only as good as its closest pair. Earlier work handled ordinary metrics. We bend the triangle inequality by a factor c, so that c · d(x, z) ≤ d(x, y) + d(y, z), and ask how much a stronger one helps.

Theorem. In a refined metric, 1 < c ≤ 2, FairGreedyFlow is an α-approximation with α = (cm + c − 2) / ((c − 1) cm). Ordinary metrics give m + 1, which grows with the number of groups m. Here α never exceeds 1 / (c − 1), whatever m is.

So. For c > 1.5 the guarantee beats 2, the limit for ordinary metrics unless P = NP. For two groups, FairSwap achieves 4 / c² for every c in (0, 2].

Reportsupervised by Prof. Allan BorodinRead the PDF

The k-Taxi Problem: A Comprehensive Overview

There are k taxis in a city. Requests arrive one at a time, each from a pickup s to a drop-off t, and a taxi must be sent before the next one is known. The competitive ratio compares an algorithm's cost with a dispatcher who knew the whole night in advance. The report surveys the known bounds and shows the easy version is equivalent to k-server.

  • Easy k-taxi, deterministic, upper bound (work function algorithm)2k − 1
  • Easy k-taxi, deterministic, lower boundΩ(k)
  • Hard k-taxi (only empty driving counts), deterministic, lower boundΩ(2k)
  • Hard k-taxi, randomized, upper boundO(2k log n)

Since the report

Trading Floor

Work

Quest complete

Software Engineer at Nasdaq

Market Platforms Development. September 2023 to September 2024.

Objectives

  • Ramped up quickly on the large, production-scale codebase behind Nasdaq's trading engine.
  • Designed and delivered features for the protocol layer that carries orders and market data in and out of the engine, from customer requests to system improvements.
  • Diagnosed and fixed bugs end to end in a complex system, tracing root causes across components and teams.
  • Partnered with cross-functional teams to deliver consistent, high-quality features.

Rewards

  • Feature development
  • Debugging
  • Trading protocols
  • Cross-team collaboration
  • Java

You found an old scroll.

8=FIX.4.4|9=65|35=D|34=1|49=VISITOR|56=ASHLEY|11=HELLO-001|55=HI|54=1|38=1|40=1|10=157|

Workshop

Side projects

2022Augmented reality app

AiRCraft

A voxel-based AR app for building houses block by block, with a wide palette of blocks, and for importing Minecraft builds into the room around you.

Code on GitHub
Click to place a block

Notice Board

Notes

  • Sep 2024

    12 months at Nasdaq

    A year as a software engineer on Nasdaq's Market Platforms team, a large codebase, and why debugging feels like a puzzle.

Ashley

Some things I can prove. The rest, I wait for the light to show me.

Darkroom

Photographs

Light, and the people who walk into it. Every photo here also exists as 16-color pixel art. Hover to look through the lens, click to swap.

A child plays in a patch of stained-glass light on a checkered cathedral floor while visitors take photos behind her.
Madrid, Spain
A red wooden door in a courtyard at night, snow falling, seen through a dark doorway.
Beijing, China
A dark museum stairwell rising to tall windows, with one person silhouetted at the top.
Berlin, Germany
A tabby kitten sits on a wooden post above a blue sign that spells LOVE, against a clear sky.
Oia, Greece
Two visitors in silhouette in front of a glowing ring lamp in a red room; one photographs it, one reaches up to touch it.
Dessau, Germany
A person with a cane walks down a warm vaulted corridor toward a band of blue and yellow light.
Houston, United States

Save Point

Contact

Save your progress by writing to me.

ash@cs.toronto.edu

Fair and far

Fair and far

  • Pick the same number of blue circles and amber squares. That is the fair part.
  • Your score is the distance between your two closest points, so spread them out. That is the far part.
  • Lock in to see how close you came to the best possible pick. Or press Run FairSwap and let the algorithm from the paper play the level for you.

Night shift

Night shift

  • Ride requests come in one at a time, each from a pickup s to a drop-off t. Choose a taxi before you see the next one.
  • Only empty driving counts: the drive to each pickup. That is the hard k-taxi problem.
  • Or press Let greedy drive: it plays the night for you, always sending the nearest taxi.

Sep 2024

12 months at Nasdaq

I’m incredibly grateful for the opportunity to work in the industry as a software engineer. This experience has provided me with invaluable hands-on learning that I wouldn’t have gained in school. I’d like to sincerely thank all of my colleagues for their support—it’s been a truly rewarding experience!

This was my first time working with a large-scale, industrial codebase. It took some time to get familiar with it, but after about a month, I started to understand how to approach the solutions. They said I learned it quick =v=! Some of the tickets were development tasks, focused on designing new features, which was incredibly rewarding when everything came together. Other tickets were bug fixes, and although they could sometimes feel endless and a bit frustrating, they were equally interesting. Debugging feels like solving a puzzle—you gather hidden clues from all over to pinpoint the source of the issue! I also had the chance to collaborate with people with other expertise from different teams (to collect those clues, haha!), which really helped me piece together the bigger picture.

The team at an axe-throwing range

First team event! Axe throwing!!

Office Olympics puzzle round

Office Olympics in Puzzle, we got the bronze!! (from 4 teams ehehe)