2019 Year in Review: Finishing School, SIGPwny, Japan
this post was started 6 February, finished 9 July, and is backdated
Been a while since the last post! I’ve been busy I guess. Haven’t had too
much of an itch to blog until I got to Seattle and had a little
downtime caffeine at 10pm by accident. Writing late at night remains one of my favorite hobbies.
I still really like the idea of blogging and hosting your own thing, because it’s a log of my life and I can share it with friends. I’d also like to refine my writing and decide on a tone for this particular blog, especially as I get interested in / develop expertise in my various subfields. For now, “this is my life and also random rhythm game information” seems good.
Past year, give or take:
- Final year/semester of school (super draining)
- Went 100% into SIGPwny work
- Breakup (fine at first, kinda resurfacing given the Seattle move)
- Spent summer in Champaign working on projects
- GDQ (week-long speedrunning event) for free
- Spent early fall in Chicago to support some SIGPwny things, Stepmania work, accidentally destroyed a laptop
- Japan! For three months and change.
- Moved to Seattle!
School
The last year was a nice capstone. I was gearing up to do some deep technical projects (m68k -> LLVM IR lifter) because I wanted LLVM experience and thought I wanted to do remote LLVM-y work. My professors promptly told me that I was wrong and that I should under no circumstances work remote or go to grad school. Which, were the two paths I was considering. This was in 〜October of my senior year. Y’know, right before grad school application deadlines and large tech firm company recruiting pipelines started? i.e. not the time to set your life on a different trajectory?
So that was fun. I thought about it for a few weeks and DM’d a bunch of random people on the internet asking for advice and decided to punt the decision to the next cycle — i.e. take a year off. Getting a PhD might be in my future, but for the time being I was warned that the process is pretty solo/isolating, and would only want to do that if I had a goal that would specifically require an academic environment. Right now that might look like “make it impossible for ISPs or backend-router-controllers to know what websites a user is going to.” It seems like a challenging topic that’s pleasantly privacy, user-facing, and network-y. I’m not certain if it’ll continue to be interesting to me, and I’m not certain a graduate program is the right place to do that work, but it seems like the most plausible “deep research topic” I might want to devote multiple years of my life to. I deeply considered working on fascinating censorship projects with a particular professor, but ultimately decided that now was not the time.
SIGPwny (Security Club)
I had decided that I was super satisfied with where DDR was as a club, and that it was no longer making me happy to do maintenance and teaching all the time. So I moved onto SIGPwny, and focused on making it a team. Previously it had been a loose collection of smart people, but I figured that charisma and community were my thing, so I might as well flex those skills to build an org into something stronger than what came before.
My big goal was to make it more accessible. This is challenging in security spaces. The field demands the ability to quickly and deeply understand systems, so there’s often not a lot of time for teaching and learning slowly. Personally, I want to be surrounded by people who are highly skilled, because that’s a good way to learn. Teaching a hundred freshmen how to use the command line is not going to help me learn how to be highly skilled at anything other than teaching freshmen how to use a command line. But I also wanted to really deeply trust and enjoy spending time with my peers in the club. I wanted good culture. These goals of “get good” and “be patient and kind” are historically somewhat at odds with each other. I wanted to find out if you could do both.
The single best thing we did was probably a novel meeting format: 15m presentations and 45m hands-on exercises. Senior members were conscripted into making presentations and then walking around to help junior members complete exercises. (The junior members eventually grew confident enough to start running meetings later). I found that it was a good way to keep skilled people aware of how to interact with newcomers, which did a lot for team culture. It also enabled both older and newer members to deeply learn a particular subject, and then teach it to others.
I secured a sponsorship for $5,000 to go to a conference in Milwaukee, and $5,000 from a professor for a SIGPwny server. I did the logistics for the Milwaukee conference and set up some people infrastructure (trained the sysadmins). I gave a talk at the conference that summarized the work I had done — the basic thesis was that you don’t need to give up pursuit of skill to build good teams. (slides / talk vid / abstract)
Having the server let us set up some consistent infrastructure that we owned, which greatly helped for establishing a sort of…. technical consistency? within the club. Setting up and moderating / building out a Discord for community gave people a place they’d regularly come back to (we’d had a few failed Slack channels before). We set up CTFd, a framework for security exercises and posted many easy ones for newcomers to solve, which helped reduce barrier to entry. We hooked Discord and CTFd so that people could cheer their peers on when they solved challenges.
We went to the Milwaukee conference, and the kids had fun playing the CTF there. Our most enthusiastic and most green freshman, Thomas, found a bug in the CTF framework that enabled multiple-submission of flags. It’s a shame I didn’t look at it closely earlier because we could’ve easily secured first place by re-submitting a 100pt flag 10 times. Overall, it was good for team camaraderie, and I’m proud to have organized it. Thomas was then invited up on stage at closing ceremonies to describe the bug he found.
Wrapping up the school year + summer
I ended up prioritizing my clubs a lot more than my classes. This strained some academic relationships with peers, which was frustrating, and made completing the classes a lot more of a chore. To be fair, my trend in college had always been to prioritize clubwork because it made me a lot happier and gave me a lot of other positive outcomes. I definitely took it to an extreme in my last year, skirting by with a minimum passing grade in one required class.
This stressed my relationship a lot. We were unhappy from previous disagreements; we broke up.
I enjoyed a relatively relaxing summer in Champaign spending time with close friends before we all moved away. I got a free room for SGDQ, since a friend who owns a small arcade machine rental business was supplying half the arcade and needed a hand. It was fun! I knew a few people going and got to meet some people I had previously seen on the internet in a variety of adjacent dance game / hacking circles. Plus, I got to learn a bunch about the speedrunning / streamer communities. And, they had ITG c: though my body wasn’t too happy about playing it for a week straight.
I tried fixing a bug in Stepmania’s couples mode, since it’s been broken for somewhere between 5 and 10 years, and couples mode is important to me. It did not go well. (I accidentally poured a glass of water into my laptop. It allllllmost escaped doom.) I am officially convinced this codebase is cursed.
I briefly swung by Champaign before leaving the US, partly to say bye to friends, but chiefly to support a recruiting / kickoff CTF that I had conceived and wasn’t originally planning to attend. We invited vulnerability researchers, security principals, and security researchers to come to UIUC and help students solve challenges in a 5 hour friendly competition where we provided pizza and mild entertainment in the form of literal capture the flag around the CS building. I may have led a procession of students through the ACM office and up/down stairs, promising them a flag on my back. This was a secret ploy to get everyone up and moving, some exercise halfway through the competition. Perhaps the most surprising thing we learned was when we asked students to separate into “first timer” and “experienced” categories based on having completed the 3rd year systems programming class, the first timers dominated the leaderboard.
Japan
I went for three months, starting in October. Roughly every two weeks, I moved. I found various forms of cheap housing (friends’ floors, homestays, volunteering at a English conversation cafe), and traveled between a few different cities. I don’t care too much for tourist attractions that don’t hold a lot of personal significance; I mostly went to learn about culture firsthand and to practice a bunch of conversational language, plus to see Japanese friends who had been exchange students at UIUC. I also went to learn about the job market and software consulting market. And to play ITG! I visited World Game Circus, one of maybe 2 arcades in Japan with ITG, and met the owner. He wrote a sweet blog post about my visit in English and Japanese.
I mentioned that I had come from a university in Illinois and the he said “Oh, UIUC?” which surprised me greatly! Apparently our little club is famous in parts of the world that care about mods (custom visual gimmick DDR content), though I think my friend is the one who’s driven the mods community in Japan. I can’t really claim responsibility for UIUC’s place as the post-ITG mods capital of the world, but I can certainly feel proud for my part in growing RIP.
I didn’t expect to make too many new Friends, since I was moving around so much, but I ended up finding a group of foreigners who were living around Tokyo longer-term that I really bonded with. I hope I’ll see them around the world in the future…
I spent some time with a family friend who used to work for the family business about twenty years ago. She moved to Japan and now works as a translator/interpreter, and has a husband and kids. (He works as a traditional house mover. like, moving the house itself. it’s very cool.) She knew my father, mother, and late uncle before I was alive, and provided me with some perspective on my family that I had never known before. I was pleasantly surprised to learn about my family, and by extension myself, so far away from home.
While there, I think the word I heard used to describe Japan most was “convenient”. The train system and ubiquity of convenience stores with good food certainly allows for an incredibly convenient lifestyle. Japan also has reasonably-priced healthcare and low crime, which was something that female Americans I met pointed out as a huge plus — they felt extremely safe walking home at night. There are certainly problems, as there are anywhere, but a lot of the baseline services for human life are quite well designed. Still, Seattle is currently the place for me, so I’ll have to visit again someday.
Before I left for Japan, I interviewed at a handful of firms that I thought were interesting. While there, I negotiated my offers over email. I read Patrick McKenzie’s salary negotiation blog post probably two or three times. Ended up grabbing dinner with him, would recommend pinging him if you’re in Tokyo and interested in talking about software and business.
I got back to the States, quickly packed all my things into boxes, and flew to Seattle to apartment hunt. And that takes us to the present! Currently staying with some friends, starting work in about a month. Equal parts scared and excited.
Other fun tidbits:
- I went to Korea for a weekend and caught up with Hosang. Since he sometimes logs out of his comms, this involved a phone call and two meals with his mother before we got in touch with each other. Then we met in a coffee shop and went to a concert… I think on the top floor of a print shop? And got briefly stranded in Seoul because the trains stopped running while I had a plane to catch.
- I got an offer for an extremely exciting contract job that would have required leaving Japan early.
- I met up with Japanese friends I hadn’t seen in two or three years. It was nice being older / more mature, and seeing them under less stress in their jobs than they were in school. Plus! Speaking together in Japanese after I had know almost nothing last we met was super satisfying.
- I met someone from Seattle in a club in Shibuya during a security event. He introduced me to the organizer of the following week’s security event, which resulted in me volunteering at PacSec. At the dinner after PacSec, I sat across the table from a guy who develops exploits for a living. We had a reasonably polite conversation about exploit development, until he casually mentioned that he had done some work hacking ITG. Yes, that ITG — the dance game I spend so much time on. At first I was convinced I had misheard him, but then he shared some research (slides) he had done years ago on breaking the crypto. So, I went to Japan because of dance games, found my way into a security event, and met someone else who hacks exactly the same dance game. What a coincidence!
I’m kinda settled into “learn software / security consulting” as my goal for the next year. I really like my Seattle friends. Being in the same town as my ex is raising some feelings, but I suspect they’ll be manageable. There’s too many new people to meet here c:
thx to ash for feedback