> echo "Welcome $(whoami)"
Hopefully you find what you're looking for.

$ cat about

Hey, I'm Amy.
I've always wanted a nickname but unfortunately it doesn't get any shorter.

I'm currently living the west coast aesthetic dream in Seattle as a PhD student in at UW CSE. Previously I did all that as an undergrad at UBC (Vancouver); secretly I still miss the dry Edmonton sun.

In terms of CS, I'm interested in a variety of things. Chiefly, I work on tools for computational design and fabrication workflows, especially those using programming languages.

a picture of me looking out into the hills of Burnaby

$ more research

Knitting Weird stuff UW August 2021 - May 2023
Carpentry Compiler 2: Design Space Boogaloo UW GRAIL December 2020 - August 2021
Rewrite rule generation UW PLSE August 2020 - present
  • • "makin' rules"
Readonly annotations for synthetic separation logic Yale-NUS School of Computing May 2019 - Aug 2019
  • • Worked with Prof. Ilya Sergey on extending SuSLik (a synthesizer for declarative separation logic) to allow for readonly annotations
  • • Separation logic allows you to specify the layout of the heap. However, synthesis is like a deal with the devil: you don't get what you want, you get what you asked for. Underspecification leads to undesirable results
  • • For example, specifying that you'd like to synthesize a procedure that counts the number of nodes in a tree might inadvertently swap all the sides of the tree while maintaining your declarative specification. Readonly permissions are simple and expressive way to tell the synthesizer that something shouldn't be touched.
  • • Implemented a simple permissions calculus that modified language rules with parameterized permisisons.
  • • Published in ESOP 2020 (paper link).
Mutation Testing for Distributed Systems UBC NSS Lab May 2018 - Jan 2019
  • • Worked under Dr. Ivan Beschastnikh to understand the application of mutation testing in the context of distributed systems
  • • Conventionally speaking, mutation testing means verifying the quality of your test suite by seeding errors into the system and running tests to see how many detected the mutation
  • • It is unclear how to apply mutation testing to distributed systems given the interaction of multiple nodes and deliberate fault tolerance
  • • Wrote a testing framework in Go and ran preliminary evaluations

$ jobs

Software Engineering Intern FuseMail September 2017 - April 2018
  • • Worked as a dev intern on the backend of a website portal that handles email security.
  • • I really enjoyed the casual-yet-focused and distraction-free atmosphere at work (and all the mechanical keyboard users)
  • • We use with Linux (Ubuntu 16.04), Git (BitBucket), JIRA, Crucible. SQL, nginx, node, memcached and redis, NSQ. Microservices
  • • Learned that if you want to be a sysadmin, (1) have a data plan (2) pay your internet bills
  • • Official resident poster designer
Undergraduate Academic Assistant UBC Extended Learning May 2017 - August 2017
  • • Developed code examples and comprehension questions in TypeScript, Java, and BSL (teaching subset of Racket) for a 6-part software engineering edX online course open to the public as part of a MicroMasters
  • • One of my favourite parts was grading student submissions and seeing the creative ways they would spice up their assignments, as well as answering thoughtful questions on our discussion forum
  • • We really had to focus on what would be a cohesive, scaffolded, yet substantial approach to this series as it entailed bringing learners from very diverse experience levels together to the level of someone ready to begin a masters program
Undergraduate Teaching Assistant UBC Computer Science September 2016 - May 2017
  • • Interacted with students, other teaching assistants, and professors to deliver a comprehensive learning experience for an introductory computer course
  • • One of the comments on my evaluation forms that really resonated was "she made me feel really smart whenever I left the lab." I think encouraging students to feel capable and inspire them to explore computer science is a worthwhile goal
  • • Between grading exams, grading assignments, TAing in lecture, conducting labs, running supplementary tutorials, and holding office hours, labs were definitely the most fun. You get to see a diverse range of students and once you come up with a good analogy for a tough concept, you can use it over and over again and seem terribly clever!

$ tail -f volunteerism.log

President UBC CSSS May 2019 - May 2020
  • • General overlording
Vice-President External UBC CSSS May 2018 - May 2019
  • • The meaningful crux of the job is organizing UBC's Technical Career Fair, which connects over 50 companies and 2000 students. We want to help expose both parties to cool work and great talent, as well as let students get a taste of what kinds of interesting sectors there are in the industry
  • • I got to coordinate slash vibe with some really cool people from other great clubs around campus, like the Cognitive Systems Society, Engineering Physics Student Association, and the UBC branch of IEEE, as well as my own fantastic minions within the CSSS
  • • I also coordinated external vendors and interested companies, and make sure everyone gets to the right place at the right time! This meant sending lots of emails, putting together documents, and coordinating marketing materials
Hackathon Mentor HearMeHack | UBC ECESS September 26, 2017
  • • Workshop and floor mentor for a learning hackathon centered around giving concrete experience to beginner programmers
  • • It's really fascinating hearing the diverse interests of different students and what they're excited to learn!
  • • Ran workshops on HTML/CSS/JS (where I focused mainly on JS) and code style/languages
nwHacks Logistics Coordinator nwHacks 2017 April 2016 - May 2017
  • • Logistics coordinator for a 600-person, weekend-long collegiate hackathon at the University of British Columbia
  • • Booked venues, catering, and other odds and ends like security detail
  • • Managed setup, scheduling, mentor/sponsor greeting, participant needs, and other site logistics
  • • I love staying up all night for these things, and hackathons have such a great vibe
Brand and Development Manager Agora Cafe September 2016 - May 2017
  • • A laid-back creative position where I designed branding and marketing materials for a volunteer-run, sustainable, low-cost, vegetarian cafe on campus run by mostly Land and Food Systems students
  • • An amazing opportunity where I met some absolutely wonderful people who were always uplifting. They are so positive, forgiving, warm, and fun - the other executives, the volunteers, and the customers
  • • Cooked entrees and soups, baked goods throughout the day, served coffee and tea, made sandwiches to-order, washed dishes, and so on. Led volunteers and dealt with any major issues throughout

$ ping amy.zhu

I know reaching out first is pretty hard, but I assure you, every email is a delight. I check my inbox every twenty minutes (if only for fabric sales or shipping updates).


$ ps u | grep hobbies

The part that I care about the most.

I've recently(ish) read:
  • Leo Tolstoy: War and Peace, Anna Karenina, Kreutzer Sonata
  • Italo Calvino: On a Winter's Night a Traveller
  • Zadie Smith: On Beauty
  • Haruki Murakami: Norwegian Wood, 1Q84, Sputnik Sweethearts
  • Kazuo Ishiguro: A Pale View of Hills, Never Let Me Go
  • Cormac McCarthy: The Road
  • Isaac Asimov: Foundation
I'm reading:
  • Marcel Proust: In Search of Lost Time
  • Ivan Goncharov: Oblomov
  • Vladimir Nabokov: Pale Fire
  • Yevgeny Zamyatin: We
Over the past few years, I've gotten into writing my own murder mystery dinner parties, UW-themed virtual escape rooms, drawing and embroidering PLSE versions of designer handbags, sewing historical clothing, disassembling and repaining my Switch Lite (to perhaps ill effect), learning how to build my own subitism burner for incense appreciation, partaking in poetry circles, trying to type on a steno keyboard, starting to weave on my four-shaft table loom, and learning to facet gemstones (waiting to obtain an UltraTec v2 to do this more often). More projects to come.
I like paper and pencil, or oil paints.
If you're really interested for some reason, here's my deviantArt... at your own risk.
vertical black sesame cake & matcha whipped cream
orangeflower madeleines
juniper and lavender meringues
apricot and lavender sourdough with walnuts
natural rainbow 5-layer chiffon cake with fruit (chinese bakery cake) - raspberry, carrot juice, pandan, butterfly pea, blackberry, stabilized whipped cream
earl grey cupcakes with lavender italian meringue buttercream and royal icing-decorated tulip/leaf sugar cookies
idea: black sesame sable cookies with bitter matcha white chocolate chunks
For more ideas check this pinterest cake board I have
I like small knitting projects, scarves, and dpns. But next I want to knit one of the sweater patterns from Brooklyn Tweed! Most recently made three (3) ripple bralettes! PLEASE, please, let's talk about knitting; I love knitting. Here's my Ravelry!
I'm also really into garment making and would love to take a tailoring course. I've made blouses, tons of skirts and a few dresses, a romper or two, a jumpsuit, a yukata.
And I've recently gotten into weaving. I have a 4-shaft table loom and a bunch of cool boat shuttles from a local market in Luang Prabang!