My first sewing project

After I recently learned how to use a sewing machine at an all-day bootcamp class, I ordered my own machine from Amazon. I knew that I wanted to reinforce the things I had learned as soon as possible, but I didn’t think that I would be able to finish anything useful in time for my current cosplay projects in progress. San Diego Comic-Con is less than a month away, and my remaining items include brown skinny jeans and a white jacket, both of which are too structurally complex for a total beginner.

However, after unsuccessfully shopping for plain square scarves or handkerchiefs that were the right shade of red, I realized that I could buy some fabric, cut out the squares, and sew the edges to look neat and tidy. In Super Smash Bros. for Wii U, which is the character design that my roommate and I are using for reference, it looks like Fox and Falco wear the same color scarf as each other. (You can see this costume on the Fox amiibo.) Fox wears a military green jumpsuit, so that’s easy enough to match, but Falco wears a red one. It’s important for the sake of Falco’s costume to get the right shade of red so that the scarf is vivid but the jumpsuit doesn’t clash too badly.

I stopped by Britex Fabrics in the Financial District because I had a few spare minutes before attending a nearby conference. After accidentally browsing some $95/yard fabric near the entrance, I ventured farther into the store and found some 100% cotton fabrics that were much cheaper. I looked at probably two or three dozen different shades of red, most of which looked pretty much the same to me, so I chose based on price and how it felt like the fabric would drape when I wrapped a triangle around my neck as a scarf. A store employee helped me estimate how much material I would need for two scarves, then measured and cut a yard (around $12) for me.

A few nights later, when I finally got around to setting up my sewing machine on our kitchen table, I had difficulty threading the bobbin case. I did this once during the bootcamp class, but when I tried following the instruction manual, I struggled to translate the written instructions and simple line diagrams to real life. After watching a few different YouTube videos that explained other steps really well, but not my particular step, I gave up (bad idea!) and decided to just poke the thread where it looked vaguely right, and figure out later on whether it mattered.

Unsurprisingly, it did matter, so when I started feeding my scrap fabric through the machine to test it out, the bobbin thread kept bunching up and then breaking. This is apparently a common enough failure that it was included in my instruction manual’s one-page troubleshooting guide. At this point, I called my roommate over (“Hey, you can complete puzzle games where you rotate blocks, right? Can you help me rotate some real-life blocks?”) and together, we threaded the bobbin case successfully. Everything went pretty smoothly from that point on. I was able to back tack when starting and finishing my stitches, and when I got sloppy and let the fabric wander too far away from a straight line, I used a seam ripper to undo my mistake.

It took me a while to set up the machine, cut both squares of fabric, iron all eight edges, sew all eight hems, and tidy up my materials, but it was so incredibly satisfying to be able to produce exactly what I needed for our cosplay project. I’m glad I found a simple project to reinforce my new skills, and I’m looking forward to making something more challenging next time.

A test pose with my new scarf

You can see what Falco looks like on Smashpedia.

Sewing bootcamp

Last Saturday, I took a 7-hour class at Workshop as an intense introduction to learning how to sew. I registered for the class partly for the sake of trying something outside of my comfort zone, but also because I wanted to decide whether to buy a sewing machine to continue teaching myself at home. Back in college, I never wanted to learn how to cook to feed myself. I was only interested in learning how to bake cookies to give as gifts or to host rush events for my service fraternity. Likewise, I don’t want to sew in order to alter my regular clothes or save money. What I want is to wear better costumes at Halloween, Bay to Breakers, and comic / anime conventions.

Workshop’s 7-hour sewing bootcamp was the perfect place for me to test my interest. They provided a bunch of identical sewing machines and boxes of sample fabrics that our instructor had already pre-cut to the sizes we would want to use for the day’s starter projects. We started by gathering around one machine while our instructor gave us a rapid-fire explanation of the various components and what we would do with them. Several of us looked stricken at this point, so she reassured us that we would get the hang of it very quickly once we got our hands on the machines.

When I first returned to my seat, I felt like I had already forgotten everything she told us. After taking a moment to poke at the machine and try some reasonable guesses, I raised my hand and told her that I couldn’t remember at all where to start, so she reviewed the first three steps with me. Once I had actually gotten started, I found myself remembering more than I expected. It was also useful to have classmates on both sides (there were ten of us gathered around a long table) so that I could ask my shorter, simpler questions to a peer without waiting for the instructor to return to me.

The first thing we did was to load top and bottom threads onto the machine. The threads hook onto each other, which is how they stay in the fabric after they’ve been pulled through by the needle. Our “hello world” task was to add a stitch onto a piece of scrap denim. After we had confirmed that the thread was indeed going into the fabric, we continued practicing different stitch styles and speeds, backtracking (which is like reversing the gear to go back over the same section), and stopping to lift the foot so that we could turn the fabric and then continue stitching at a 90 degree angle. I was surprised by how much we were able to make mostly just using those two skills.

We made two projects before lunch: a pouch that tied with an attached string or ribbon, and a beer or soda koozie (which I’ve always called a cozy, so that was disorienting to hear all day) with a little decorative pocket. I made noticeable mistakes on both of these projects. I knew that we would be making the pouch by pinning two rectangles together and then sewing the two layers together along three of their four sides. However, I pinned my ribbon to the wrong spot, so when I sewed those three sides, I also sewed the ribbon halfway into the inside of the pouch. After turning the pouch inside out and realizing what I had done, I considered my options and then cut the ribbon mostly off, tying it to a little loop that had formed on the outside and deciding that it would now be decorative instead of functional. I sewed the beer koozie correctly, but when I traced the pattern using a tailor’s best friend (a white crayon for temporary markings that are easily removed without laundering) and then cut it out with bulky scissors, I made it quite a bit bigger. Even after some adjustment (I borrowed a can of PBR from a classmate to size it), I still ended up making it a bit too big.

Lunch was a welcome break from intensely focusing and talking out loud. I went across the street and ate a sandwich and mindlessly read articles on my phone. In retrospect, though, I wish I hadn’t done that last bit, since my eyes and my mind could have used a bit more rest.

After lunch, we used scrap denim again, this time to learn how to make button holes and attach buttons using a sewing machine. We were impressed to learn that one of the wider stitch options could be used to send the needle precisely through the holes of each button, as long as we were careful to adjust it manually before stepping on the pedal. A few students broke their needles at this point, so they got an opportunity to learn how to change the needle on their machine. We also used a different foot to hold down the fabric when making button holes. This special button hole foot had a guide that helped us keep track of how large we were going to make the hole. On my first try, I ended up making the button hole too small, but after I measured the button more precisely, I made it fit easily.

The toughest part of the afternoon was making a zipper pouch. Like the earlier pouch, this was mostly two rectangles of fabric that were attached together on three sides. However, we had to start by attaching the zipper to the top edge, which was a precise task that required swapping out for yet another foot (shaped differently than the standard foot and the button hole foot) and ripping out some loose temporary stitches after putting the real ones in place. The hardest part for me was guiding the fabric through the machine after I had already attached a zipper to it, since the zipper was bulky and not flat, unlike everything else we were working with that day. I ended up with a somewhat lopsided zipper pouch, even after detecting the problem partway through and ripping out some stitches in order to redo the bottom edge. I also learned the hard way that I shouldn’t cut fabric with the only interesting parts of the print at the very edge, because those edges get folded into the final product, so my pouch that was supposed to have cowboy boots just looks like it has some abstract colors instead.

Our final project was a tote bag, which was conceptually simple but still tiring, especially after a long day of learning. It was really satisfying to call upon the basic skills that we had been practicing all day, and to realize that we were getting a lot better and that things that had seemed baffling at 11:30 am were now simple at 6 pm. Some students finished so quickly that they made an extra pouch or an extra beer koozie, but I used most of our allotted time to finish my tote bag.

I’m really happy that I signed up for this class. I appreciated the hands-on guidance when using a sewing machine for the first time, since that had really intimidated me. (I have no experience at all with most crafts and physical tools.) I’m also glad that we started making things almost immediately. It was fun, of course, but also crucial in solidifying what we learned. I’ve ordered a machine to use at home and I plan to head to a craft store to start buying some starter threads and fabrics next week.

View this post on Instagram

I made some stuff today at #WorkshopSF!

A post shared by Sharon Wong (@charon5) on

Strange Loop

Last year and this year, I flew to St. Louis to attend Strange Loop. I’ve attended several conferences, a few hackathons, and plenty of local meetups throughout the past two years and Strange Loop is still my favorite developer event. It prides itself on being at the forefront of technology and on unifying industry with academia. Most talks are about functional programming, distributed systems, and new languages, but there are also a number of passion projects that wouldn’t fit neatly into a formal conference track.

The talks I’ve attended at Strange Loop have very little application in my daily life, and that’s really refreshing. Most of the time, I need to be practical about time management, so I prioritize what I learn based on whether it could help me at my current job, or whether it could help me become more employable in the future. When I’m at Strange Loop, all I care about is the rush of encountering something new and challenging.

One highlight from this year’s conference was Analyzing Rap Lyrics Using Python. Julie Lavoie wanted to see if she could write some code to determine which rappers were the most sexist in their songs. She explained natural language processing (NLP) concepts and told us how she tried to apply them to her project, as well as the hurdles she ran into. For example, text search relies on stemming, a process for putting words into a common form so that we don’t count verb conjugations and plurals as unique words. However, stemming libraries don’t support many slang terms used in rap lyrics, so Julie’s program needed to work around that by manually consolidating certain words. You can watch Julie’s talk on YouTube.

Another engaging talk from last year was Learnfun and Playfun: a Nintendo automation system. Tom Murphy found out that the NES stores the current point total in a memory location that he could easily access. He also knew that he could represent all possible game moves as a tree and then efficiently prune a branch when that move would lead to failure. Using this knowledge, he wrote a program that played NES games by guessing different moves and maximizing the total score. This technique worked very well for Mario, but less well for games that require advance planning. You can watch Tom’s talk on InfoQ.

Through its diversity in both speaker lineup and talk topics, Strange Loop provides unique opportunities for discovery. The social events are the perfect complement to this environment. For one night each year, the conference rents out City Museum, a 10-story museum filled with climbable art. When you arrive, you learn two things. First of all, the gift store sells knee pads, and unlike almost any other museum, you may find that useful. Second, the museum doesn’t provide maps so that you’re forced to explore on your own. Crawling through winding caves and gazing out at the sparkling city skyline from the rooftop are good ways to make friends with some of the hundreds of developers around you. And you do want to make friends, especially before you go down a 10-story slide and get too dizzy to walk in a straight line.

Strange Loop is different from any other industry event I’ve attended. The location and the people are both remarkable and allow me a chance to peek into lives far away from my own. I feel lucky to have accumulated so many fond memories there and I can’t wait to return to St. Louis next year.

If you want to learn more detail about the event or hear other perspectives, I highly recommend the dozens of blog posts linked from Strange Loop Coverage on GitHub.

Learning a language

There’s a lot of big talk about how technology can change education. As a very fortunate student who genuinely enjoyed school and had the resources to realize that, I can’t relate to a lot of it. Gimmicks that make school feel more like a game or a movie didn’t appeal to me. I liked books just fine the way they were.

One of my few miserable subjects in secondary school was the foreign language requirement. Despite all my frustration, I didn’t exactly quit — I studied it for five full years, eventually passing the IB SL French exam, but shirking the option to take the AP exam. At the time, I was pretty unhappy about having trudged through all of this. I was also bitter that my public school couldn’t teach it to me when I was five years old and could absorb languages much more easily.

The first step was to automate some of my problems away. One of the first computer programs I wrote outside of class was a flash card app to drill myself on vocabulary words. This was well before the advent of slick mobile apps, so I never felt deprived when tapping through my command-line Java program. The next step was to find source material that I actually cared about. TV shows and comic books were hard to find and slow to download, so I settled for Wikipedia articles on familiar topics.

The last piece I never found in high school was confidence. I spent many hours learning how to read French, and that paid off at exam time, but I never learned how to feel comfortable listening to someone speak or having someone listen to me speak. Duolingo has finally started to change that. While I’m still no sparkling conversationalist en français (or for that matter, in English; let’s be honest), playing with this app in the comfort of my own home has gotten me to enjoy these crucial practice drills in a way I’ve never enjoyed them. For the first time, I actually feel happy and excited to be studying another language. That’s a pretty powerful feeling.

DevelopHer Hackday

This past weekend, I attended DevelopHer Hackday at LinkedIn. It was my first ever hackathon and one of my first truly technical industry events. I’ve been to a few meetups and a conference (specifically, she++ at Stanford) that were especially for women in technology, but a lot of those events are about talks and social time rather than coding. Armed with my computer, I felt a lot more at ease than I usually do in a room full of strangers.

I showed up without collaborators or a project idea, and I’m definitely glad that I did. After arriving at LinkedIn pretty early on Saturday morning, I happened to meet several young women from Hackbright Academy and then had the privilege of working with them for a full day. We decided right away to work in Python and then spent some time brainstorming projects that we would find relatable before another lone programmer like myself wandered over to join our table. Wendy brought strong skills, lots of enthusiasm, and a project idea that eventually evolved into DressUpBox.

I’m not going to give a play-by-play of the event, but I did tweet a lot of it. One unexpected perk was being close enough to Shoreline that we were treated to a fireworks show around 9:30 pm. There was an instructor who led yoga classes and breathing exercises. There were ridiculous oversized beanbags that are approximately the size of a full or queen mattress. And most importantly, there were lots of friendly, supportive LinkedIn employees who volunteered their weekends to make sure the event went smoothly.

Before this weekend, I wasn’t sure I’d enjoy a hackathon. It’s not that I’m never competitive; I played quiz bowl very enthusiastically for most of high school. (Ask me about it sometime, especially if you ever played at NAQT or ACF.) And yes, I had my share of late nights in front of a laptop as a Computer Science major. But for whatever reason, I had trouble seeing myself as someone who would enjoy such an event.

I’m happy to confirm that those doubts were completely wrong. Do you have trouble focusing on personal projects at home? Being surrounded by people helps a lot. Maybe you don’t feel very competitive? Hackathons can be an exhilarating way to help others learn a new language. It was exhausting, but it’s so worth it that I’m already looking forward to my next hacking event.