Software Engineering | Mimi Chenyao | Fake & Basic
Personal Development
Other | Mimi Chenyao | Fake & Basic
The Fake & Basic Manifesto

Announcing Asian Barbie Version 3.0

Mimi Chenyao // Asian Barbie // Version 3.0

When I first started studying computer science, everything felt like an uphill climb.

Conceptual terms were confusing, my code didn’t compile half the time, and it seemed like I was in my advisor’s office every other week. I had never programmed before in my life; it took hours to complete assignments because I would have to Google and wade my way through pages and pages of condescending Stack Overflow threads to find the answer to a single one of my questions.

I had many questions.

Every time I finally understood what I was doing, I felt an overwhelming sense of triumph that made all the hours of struggle worth it. I wished that there were resources that explained things to me in a simple manner — to a beginner, language documentation is tricky and intimidating, and half the answers on the Internet don’t help, either.


Up All Night to Get Lucky: Lucky Cat Halloween Costume

Maneki Neko Lucky Cat Halloween Costume // Mimi Chenyao // Asian Barbie

Maneki Neko Lucky Cat Halloween Costume // Mimi Chenyao // Asian Barbie

Happy Halloween!

This year I decided to dress up as the Maneki Neko, or the Lucky Cat. These creatures actually come in many different colors; white represents happiness, purity, and positivity. It was a lot of fun to DIY my costume (and weird out my sister, who shares my Amazon Prime account, by buying a large bell and cat ears many weeks before Halloween).



Trees // Data Structures and Algorithms // Mimi Chenyao // Asian Barbie

Trees — they’re all around us in real life, providing us with fresh oxygen, giving us comfortable places to sit under and read, and acting as cool backgrounds to pose by.

(Okay, maybe that last one’s a me thing.)

As it turns out, trees are also all around us in the digital world. They’re the underlying data structures behind most file systems, library catalogs, 3D video games, network routers, music compression algorithms, and more. We just can’t see them, so we often don’t know that they’re there.


An Interview with Sam, UO Music Intern

Urban Outfitters Music Intern Interview // Mimi Chenyao // Asian Barbie

Although (usually) subtle, in-store music helps to set the tone of your shopping experience.

Sam is the Music Intern for Urban Outfitters. He helps curate the songs you hear in store (I totally don’t have a playlist consisting of remixes and covers of this UO song or anything…). We talked about personal tastes in music and aesthetic, and how a prospective UO intern can stand out.


Announcing: URBN Intern-Views Blog Series

URBN Intern-Views // #myURBNSummer // Mimi Chenyao // Asian Barbie

It’s that time of year again — a time when college students eagerly send in their resumes, cover letters, and application materials to companies of their choice in order to land a coveted summer internship.

A lot of people have messaged me since I started posting interviews with the URBN Class of 2017 interns, asking me for more tips, tricks, and experiences I had while I was with the company.

I’m really nostalgic for my time there. It’s where I met my best friend, and turned twenty-one, and learned how to be a halfway-decent software engineer. I had such a good time that I spent the entire first week back at school incredibly homesick. Even now, the Navy Yard, University City, SEPTA, Old City, and Fishtown have a special place in my cold, dead heart.


Insertion Sort

Insertion Sort - Data Structures and Algorithms - Asian Barbie

When was the last time that you sorted something?

Maybe you accidentally dropped your freshly printed Parisian Art History final paper all over the floor and had to put it back in order according to the page numbers on the upper right-hand corners. Maybe you were making door signs for all the members of your sorority, and decided to put them in alphabetical order. The last time I sorted something by hand, I was organizing all of the dresses in my closet by color.

Take a step back and recall your last sorting memory. How would you explain your process to an intelligent alien? (“Umm, I just started picking things up and putting them in order” won’t cut it, sorry not sorry).

When you really take the time to think about it, sorting becomes pretty complex and hard to put into words. And there are so many ways to do it.

Welcome to the world of sorting algorithms.


How I Study Data Structures and Algorithms

How I Study Data Structures and Algorithms - Asian Barbie - Mimi Chenyao

When I first started studying algorithms, I had an incredibly hard time because of two things.

One, I didn’t have a very strong mathematical foundation, and would struggle to understand the reasoning behind certain algorithms. Two, I was just plain bored. “Implement insertion sort and time your algorithm input on arrays of size 10,000…” Ugh! I approached my assignments with the same sort of dread that one normally reserved for seeing disagreeable relatives during the holidays: Yeah, sure, I’ll bang out this code as quickly as possible and retreat to my room to watch Rick and Morty the first chance I get.

Because I had such an approach, it was painful to study algorithms. Even worse, the knowledge didn’t stick. I couldn’t remember a damn thing after I’d handed in an assignment. Insertion sort? How was that different from Merge Sort, or Selection Sort, or, God forbid, BogoSort?


Big-O Time Complexity

Big O Time Complexity - Asian Barbie

I know what you’re thinking –“Big-O Time Complexity” sounds like the punchline of some nerdy that’s-what-she-said joke.

(I’m That Kid who snickered loudly at the term “Big-O notation” when it was first introduced sophomore year, so I won’t judge if you do the same.)

Big-O is actually one way to measure the amount of resources needed for an algorithm to run (also known as an algorithm’s complexity). “Resources” usually refers to time or space in memory. For simplicity’s sake, I’m going to be writing about time complexity only, so for the duration of this post, you can think of Big-O as a way to measure the amount of time an algorithm needs to run, depending on the size of its input.

If this all sounds hella confusing but also slightly interesting, good! Keep reading. Information sticks way better when you’re curious.