Roger Chen — About Me

Introduction

Hi, my name is Roger. I’m from a medium-sized city that’s about 20 miles East of Los Angeles, California. Where I come from, meow-meow is a drink and walnut means home. Right now, I'm an undergraduate studying Electrical Engineering and Computer Science at the University of California, Berkeley.

My Work

I technically started programming in the fifth grade. Most kids played video games—I made websites for my favorite ones. My code then was abysmal. I taught myself as well as a hyperactive eleven-year-old could, and while most of my classmates today have learned more this month than I did in a year, those misdirected beginnings made me accustomed to teaching things to myself. Later in life, independent education became nearly the only way I learned anything.

For most of my life, I’ve been making websites and blogs. More recently, I’ve been more involved in the work behind-the-scenes: server administration, security, and performance. Today, I'm the primary server administrator for two high-traffic domains, namely the two below.

RogerHub

I grabbed my first *.com domain back in 2009 to run a monolithic weblog software I wrote the previous summer. It was my first really big project, and I learned a lot about extensibility and database management from making it. On the blog, I wrote about silly stuff—things my teachers said, thoughts I had while volunteering at places, facts I learned about computers. For fun, I also uploaded a couple of my JavaScript programs that did nifty things like look up the definition of words or generate hit counters. A lot of that changed when one of them got popular.

One of my programs took 1) your current grade in a class, 2) what grade you wanted in the class, and 3) what percentage of your grade the Final Exam was worth, and told you what you needed to score on it to make your goal. I’ll admit the calculation was rather trivial in comparison, after engineering and configuring the rest of the blogging system, but it received way more attention than I had ever hoped for. What started as a hundred visitors a day (which was already five times more than I received during academic off-season) grew ten-fold twice a year—every Finals season—until last December when the calculator received over 1.5 million impressions in a month.

As the traffic grew, I had to make big changes to keep the website online. I started with a simple hash table for caching database queries, but then I moved all my content to WordPress, designed and programmed new blog themes, and moved to more costly web hosting. Meanwhile, I started writing longer posts with fewer pictures on my blog. I also published more projects along the way, but none of them have yet surpassed this calculator in popularity.

After my third web host kicked me out for excessive resource consumption, I set up my own server on an unmanaged Linode VPS and switched from apache to NGINX (a lesson learned after a wave of traffic consumed all the machine’s memory). Each successive performance improvement doubled the amount of concurrent visitors my website could handle, but the number of visitors was doubling too. As the costs got higher and higher, I started putting in advertisements around the most popular pages, and they've since paid for my lifetime server costs and more.

The Daily Californian

My first semester at UC Berkeley, I joined the local student newspaper along with another web developer, Sean Zhu. Under the guidance of former Online Manager, Karoun Kasraie, we worked to expand the newspaper’s web presence and Online team. Sean programmed the front end designs, and I worked on integrating them with the back end. (See Elections 2012, Tech and Ideas 2012, the Housing Issue, and Best of Berkeley 2013.)

I currently serve as the Daily Californian’s Online Manager. I also work on infrastructural and tool-chain development, as well as server administration. This includes managing our developers’ documentation, developing programs for internal use, performance testing, sever configuration, and code review.