Tech

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.

(more…)

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?

(more…)

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.  

(more…)

Announcing: Data Structures and Algorithms Blog Series

Data Structures and Algorithms - Asian Barbie

When I walked into Algorithms class earlier this semester, my first thought was “Oh God.”

I had not been a fan of Discrete Mathematics, the precursor to the course, and the thought of having to learn these data structures and algorithms — and implement them programmatically — made me want to hide under a large rock and never come back out again.

Then I dove into the class, and realized that algorithms are really cool, and understood everything right away, and got a great job in Silicon Valley, and saved up money over the years and bought a nice house on the water where I lived happily ever after with my 50 cats.

(more…)

The Thesis Diaries // Introduction: It’s a Catch!

The Thesis Diaries Asian Barbie

I wear a lot of dresses.

Most of them are the result of me spending an obscene amount of time on online secondhand-shopping apps such as Vinted, Poshmark, Ebay, and Mercari throughout my college career.

I first became hooked on Vinted because it advertised that users could trade clothing if they didn’t feel like spending money. Freshman-year me was strapped for cash but still a shopaholic, and during my first semester of college I both sent and received so many packages that the mail staff knew me by name by the end of the first week. #GoodTimes

There’s a special feeling that comes when you trade clothing with someone. Because there’s no actual money involved, it’s a more accessible form of acquiring a new wardrobe; the only factor is a mutual consensus from all parties involved. You also make instant connections with others through your mutual love of clothing — yeah, that dress is really pretty! I’ll give you this shirt for it.

It got me thinking. Although I’ve made many cool trades on these established platforms, selling for money is still the primary method of transaction. What if there were an app whose main focus was on trading, and trading only?

(more…)

Getting Swifty at Big Nerd Ranch: iOS Essentials Bootcamp Review

Big Nerd Ranch iOS Essentials Bootcamp

tl;dr this was the best career and life decision I have ever made.

Disclaimer: This is not a sponsored review. I was not contacted by Big Nerd Ranch to do any sort of endorsement; all opinions expressed are my own.

That’s not an exaggeration. If you’re determined to be an iOS dev and want to learn both the fundamentals of Swift as language and how to intelligently design iOS applications in the shortest amount of time possible, then Big Nerd Ranch’s iOS Essentials with Swift bootcamp is the program for you.

(more…)

7 Things I Learned From My First Software Engineering Internship

Software Engineering at URBN

Between Wednesday Sips and weekend brunch and countless escapades through the city this summer, I began my career as a software developer.

I got to attend daily stand-ups and work on tickets for the Urban Outfitters and Anthropologie iOS apps with the other engineers, and had an opportunity to lead a three-intern team in developing Snap & Match as part of my intern project. This internship made me learn a lot about good software engineering habits, both technical and non-technical. Here are some of the big ones.

(more…)

Introducing Snap & Match, an (Unofficial) Urban Outfitters iOS Application

I’ve been devoting a good amount of time over the last two weeks to my new girlfriend, a real cutie who is a personal stylist of sorts at Urban Outfitters.

She’s pretty, knowledgeable, and can make anyone look fantastic. Her name is Snap & Match … and she’s an iOS application that I’ve developed for my summer intern project with Billy as the backend developer and Natalie as the UI designer. Her codebase is all Swift/Objective-C code (no storyboards for me!). It was truly a pleasure getting to know iOS development through her.

Sad analogy aside, I’m actually really excited to show you this app. It’s something that fifteen-year-old me, who only wore the colors navy and white, would have appreciated. They do say to be the person you needed when you were younger, so…

(more…)

The Secret to Creating Elegant Solutions

I recently discovered a pattern for how I learn and absorb information from the world.

Whenever I’m picking something up for the first time, be it a programming language, new song lyrics, or a different route to drive to work, I never memorize or “get” the whole thing at once. One small thing sticks, and everything else builds around it.

(more…)

Say Hello to URBN’s First iOS Engineer Intern

La La Land Yellow Dress Forever 21

Forever 21 dress | Old Navy flip flops

It’s official — this summer, I’ll be working as an Associate iOS Engineer at URBN, the parent company that Urban Outfitters, Anthropologie, Free People, Terrain, and BHLDN, in their Home Office in Philly!

“I’m really bad at showing my excitement, but I’m really, really excited,” I told my future manager after I found out I’d gotten the position. This still doesn’t feel real (and trust me, I’ve been pinching myself since I received the offer letter). I’ll be writing, testing, and maintaining code with the rest of the iOS dev team and actually getting to see what “doing Agile” means in a business setting. I’m also the first intern the iOS team has ever had, which is really cool to think about.

(more…)