After my first marathon, I started training again for a race on my home turf. This time around, I resolved to be much more consistent with my workouts, cutting down on skipping longer and harder runs. My goal would be the same this race – to get the Boston Qualifying mark for my age bracket: 3:00:00. However, it would be a much taller ask as the San Francisco Marathon course included a total elevation gain of 1175 feet. This would not be a fast course.
Nevertheless, I trained consistently as possible, routing my runs along portions of the actual course. I didn’t skimp on the fast finish long runs, pushing myself at a sustained fast pace for the last 6-8 miles.
The days, minutes, and seconds melted away quite rapidly, and sure enough, I found myself toeing the start line behind the seeded and elite runners. The San Francisco Marathon had a 3:00 pacer this year to accommodate the quicker Boston Marathon qualification brackets. I spent the last few minutes before the 5:30am start talking with fellow runners in the pace group, and the pacer himself. The pacer said that he wanted to go a bit harder on the flat miles so that the lost time on the incline would even out just under 1:30 pace for the first half.
After the seeded and elite runners took off, it was our turn. I didn’t get ahead of myself in the first mile and a half, even though I was feeling fantastic. I kept myself beside the pacer, slotting behind him and the rest of the pace group after mile 2. From my practice runs, I knew that there would be some heavy headwinds on Marina.
I was still feeling comfortable – the pace didn’t seem like a tough ask. I made sure to eat and drink at regular intervals, taking a little bit of my GU gel every aid station, and drinking water every other aid station. We made it to the 5.5 mile turnaround shortly after, with the biggest climb of the run ahead of us. We slowed down considerably, but I made sure to keep the same controlled stride up the hill. Following another minor incline up the Golden Gate bike path, we made it to the bridge.
The Golden Gate bridge carried the race over and back on the eastern walk path and the western bike path, respectively. Our pace group bunched up on the narrow walkway as the sun was beginning to rise over the city. I’d also run over and back on the bridge during one of my practice runs, so I anticipated some heavy crosswinds. I dropped back directly behind the pacer and some other runners headlining our pace group, drafting again. As we looped around back down a dirt trail underneath a bridge, we all caught a glimpse of the orange sun waking up a sleepy San Francisco downtown. In the midst of running 6:50 miles, it was a magical moment to behold.
Running off of the bridge, we spilled onto Lincoln Drive, rewarded with a largely downhill mile. I opened up on the downhill after the mile 11 aid station, pulling slightly ahead of the pacer. The road dipped and then pulled upwards, and the pace slowed again. Through the Richmond neighborhood, we fought a multitude of roller-coaster hills, crossing the half marathon timing mat in 1:29:30. The pacers swapped out, and a new pacer joined us to take us through to the finish.
Crossing Fulton into Golden Gate Park, I started to feel a bit tired. It was getting harder to hold the pace, but I was soon reminded why I had to stay on. My family was camped at the mile 14 marker, screaming, cheering, and willing me forward through the right turn into the heart of the park.
All of a sudden, the pacer and the rest of the pace group disappeared. There was a congealed mass of second half marathon runners, covering the large width of JFK drive. I panicked but quickly found the held sign, and darted in between the slower runners, rejoining the group. We curled around and made our way up another incline. My family was there again to cheer me on and will me through. I lunged forward, pushing through mile 17, and heading the pace group.
Running past the aid station at 18.5, I started to drift back. The 3:00 pace group pulled away through the traffic jam of runners, and I lost sight of the pacer’s sign. I dropped my pace slightly, but kept on running my race. There was still plenty of race to go, and I wasn’t going to lose more precious seconds dropping back further.
On the other hand, the runners had started to thin out. I focused on passing as many people as possible, chewing GU from the 19.7 aid station along the way. The miles rolled along, and moments later, I found myself near my old apartment passing the 23.5 aid station. Around mile 24, though, I felt the same sharp searing pain that I’d realized in my first marathon. This time, I sustained the jolt in my legs, corrected my stride, and didn’t stop to walk. I was fighting for seconds, and each one counted at this point.
Just before the 25th mile, the 3:05 pacer passed me. I focused again on running my own race, channeling everything I had for the last mile. The cheers from the finish grew louder and louder. This was what the speed training and fast finishes were for. I kicked as hard I could, crossing underneath the towering Bay Bridge. My legs tightened up some more, but I continued to run through the pain, giving it everything I had. I couldn’t hear much anymore except for my family’s cheers. I ran through the final timing pads, completing the race in 3:06:16.
It was bittersweet to drop off the pace on a well-run race. How close was I to getting that qualifying mark? It was only 6 minutes, but what would it take? In any case, I’d PR’d by more than 22 minutes – a great race by any standard. I was also pleased that the spread between the first and second half of the race dropped from 34 minutes to just under 7. Pacing myself evenly and hanging on after mile 20 would be the keys to getting the BQ next time.
There would be plenty of time to think about strategy, room for improvement, and pacing in the coming days before my next race in Santa Rosa. Until then, it was my day, and all I wanted to do was to share it with my supportive family and friends.
It’s a crisp fall morning in Fresno, California. The day is November 30, 2013. I step up to the hastily marked white starting line along with my fellow Lynbrook teammate Justin Robison for what will be the final race of my high school career. After what feels like an eternity, the starter’s gun cracks and echoes through the autumn air. I join the droves of fellow competitors bursting forward, quickly jostling for position in the course’s starting funnel.
While I had built up this race’s importance, I certainly did not rise to the challenge. I never locked into a steady race pace, and while rolling through the first mile in a brisk 4:53, I foundered over the next two-thirds of the race, slumping to finish the race in a dismal 16:25, 35 seconds behind my personal best that I’d run a month and a half ago. After constructing a promising cross country season, it felt anticlimactic to end things on an incredibly disheartening note.
The following track season presented a new series of opportunities, but I wasn’t very inclined. A severe lack of direction and lack of motivation prevented me from improving on any of my junior year times, and I closed an uninspired track season by failing to qualify for any league final event.
During my undergraduate years, I had made some flimsy attempts to get back into running, but nothing consistent materialized. In the same period that I’d run over 65 competitive races during high school, I’d only run 2 recreationally during undergrad. My university would also play host to a large marathon every April, and I resolved that one day I would participate and finish it. During school, however, I always found that it was easier to invent an excuse than to train instead. I graduated in May 2017 without taking any steps towards meeting my lofty resolution.
It’s now October 2018. I’ve recently moved to San Francisco, and with the change of location, I’m trying to become more active. I notice that a coworker regularly devotes her early mornings before the workday to logging an hour’s worth of running. Inspired by her dedication, I dust off my running shoes and, for the first time in three years, go for a run longer than 5 kilometers. I have to take it very slowly, but I’m hooked.
I invest in new running shoes, and I also bring back my old high school running gear. I’m nowhere near my old speed, but I’m building up my mileage, and soon enough, I’m hitting 5 miles each day. Things are looking pretty consistent, and on a whim, one fateful day, I decide to go long.
I figured that since I moved up to the city, I might as well do some exploration in a grand way. I start running at around 10:45 in the morning, jogging through Embarcadero, Crissy Field, Golden Gate Bridge, then back around Land’s End. Looping back from Golden Gate Park, it’s now been 16 miles and counting. I’m feeling a little twinging pain in my legs, but my enemy isn’t the run itself anymore, it’s the stoplights. Every pause in the run brings back the niggling pain with a vengeance. I power through, following the tracks back to my apartment past the 20th mile. When the dust settles, it’s been nearly three and a half hours, but I’ve circled the city for 21.1 miles.
After the impromptu long run, I’m feeling more confident about lasting longer distances in a race environment. I decide to give my old college goal the old college try. I sign up for the 2019 Illinois Marathon, maintaining steady mileage in the meantime. The marathon will take place in late April, giving me four months and change to train.
Training-wise, things drop off in late December. I go abroad for vacation, but I neglect running daily while I’m gone. I try getting back into the saddle in January, but it takes a whole month to bring my mileage back up to 5-6 miles a day. Things are consistent again, and after a longer 10 mile run, I stumble on a reputable marathon training plan in Strava. Turns out, I’m going to need more than just plain long runs to get in shape for the upcoming marathon.
Although the plan begins twelve weeks out from race day, I jump into the workouts about four weeks in. These workouts are much different from what I ran with Jake back in high school, so it takes some time for me to find my tempo, interval, and relaxed paces when running. Sticking to the plan, I run 16 miles that weekend at a controlled pace. I start early in the morning and head south from my apartment, before taking a right turn up a hilly county park road. After coming down the hills, my legs are worn out from the massively exaggerated camber, but I press on through the countless San Francisco stoplights until I’m back home. It takes me much longer than usual and I feel exhausted afterwards.
While the first week following the plan was tricky, I end up following directions and completing the described workouts. However, things fall apart from there. I start inventing the same excuses as before to get out of longer runs and harder workouts, running only the recovery runs within the plan. Sure enough, this training debt mounts higher and higher, coming to collect on it on race day.
The final long run of the aforementioned training plan called for 22-26 miles, but I barely made it 14 before crying uncle. Feeling dehydrated and fatigued, I throw in the towel and end the long run early. Disgusted with myself, I take a bus to cover the distance, before walking the last few hundred meters back home – the real walk of shame.
Needless to say, I’m not exactly feeling super inspired for race day. However, I’ve already made my arrangements, so I’m not bowing out now. If it’s any saving grace, I taper off properly, keeping my runs before the race light and relaxed. Soon enough, after an impromptu carboload with my friend, it’s just hours away from the race.
I wake up early and pack up my drawstring bag with a couple of essentials, and start walking towards the start line. Although I’m severely unprepared, I’m still feeling the same kind of mixed anxiety and optimism that only a large race can bring. At the starting line, I take a few strides to ease my nerves before settling in my corral. The last minutes before the start melt away steadily, and, after a brisk national anthem, the starter blares a muffled airhorn. We’re off!
When a roller coaster climbs to the top of its first drop, it accumulates potential energy, and it accumulates excitement in its riders. Then, the roller coaster begins to roll faster and faster once it passes the peak, until all of the accumulated potential energy and excitement is released in the form of kinetic energy and screams. The final five minutes to the start builds upwards to the peak. The start releases all the potential energy within all of us, as we burst forward to chase PRs and qualifying marks.
All my anxiety and buildup prior to the race immediately fades away. I slot behind a few runners and we form a small pack, moving through the first mile at 6:10. The pace is too fast. I was planning on running under 3 hours, which means that I should be running around 6:50 per mile. Still, I’m hanging on, and the next mile goes by in a quick 6:20. The initial pack starts to thin out as the other runners move ahead. I’m holding steady, negotiating the gentle curves in the Urbana neighborhoods, and running around 6:25 per mile for the next 3 miles.
Around the 10K mark, I feel a little bit of fatigue in my legs. I ignore it and press on. I figure that it will subside as the race progresses, and I focus on the next mile markers. However, as if on cue, my pace starts dropping down to 6:40 / mile, and then down to 6:50 / mile through the tenth mile. Since I hadn’t followed the training plan and done proper speed work, the sustained speed in the first miles of the race brings back the same 10K fatigue, but a bit harder this time.
At this point, the half marathon runners that I was following for pace take a left turn towards the stadium to finish off their race. I turn right, and suddenly, things get a lot quieter. There’s fewer fans around, and the runner in front of me must be 200… no… 300 meters away. I cross the half marathon mark in 1:27:23, taking another right turn into the heart of Champaign.
Something isn’t right. I’m feeling a lot more tired, and now I’m dropping off the pace – hard. The next few miles are all over seven minutes each, well over my goal pace. More consistent runners pass me convincingly, and it’s a tall order to try and follow them. Around 18 miles, the same nagging fatigue turns into a sharp jolt in my right leg. I’m forced to walk until the searing pain wears off.
“You all right, buddy?” A traffic officer calls.
“Yeah, I’m fine. Just need to walk it off,” I respond.
The pain recedes, but only temporarily. It becomes a regular guest every three-quarters of a mile, forcing me to walk even more. I wasn’t going to be able to hit my goal, so I focused on finishing instead. There were more runners to keep me company now, but I wasn’t feeling the same cameraderie that I felt during the first half. The clouds above darken, as if to curse my poor performance. I continue through the labyrynthic Champaign neighborhoods. Was that the 20th mile that I just passed? Or was it the 21st? I can’t remember. I keep pressing on, with one mile feeling like ten. The 3:15 pacer and his entourage blow past me. I try keeping up, but my haphazard hobbling can’t match their fluid strides.
After more intermittent running and hobbling, I cross Neil Street and pass underneath the Amtrak bridge marking the twenty-fifth mile. My legs are jelly as I turn right towards the stadium and the finish line. I will myself forward through the last few meters across the artificial turf. The clock is ticking towards 3:29:00, but I cross through the finish before it does.
It’s official – I’ve run a 3:28:50.
A respectable time, to be sure, but I can’t help and beat myself over my poor pacing. I ran the first half in 1:27:23, but then slumped as I did 5 years ago to run the next half in 2:01:27 – a massive 34 minute difference. What happened?
It’s the training. Instead of taking on the tougher workouts and longer runs, I was content running shorter and easier. Something will have to change if I want to be a successful marathoner.
While the pain eventually fades away over the coming days, something else doesn’t. I keep thinking to myself that while this was my first marathon, it certainly will not be my last. I have to do better. To that effect, I register for two more marathons – the 2019 San Francisco Marathon in late July, and the 2019 Santa Rosa Marathon in late August.
Once More, With Feeling
I give myself a single day’s rest before I work on the same training plan again, this time for the San Francisco Marathon. I’m still feeling soreness from the race, but the easy runs provide good recovery.
As it turns out, I’d registered for another race – the 2019 Yosemite Half Marathon – around the same time that I’d signed up for the marathon. The race would be only two weeks after the marathon, which means that some soreness during the race would be inevitable. I run the race as consistently as possible, treating it as a long run underneath the marathon training plan. While I open the first mile at 6:40, I slow down to a 7 minute mile pace and maintain that for the rest of the race.
The altitude and my general soreness slow down my race considerably, and even though the course is largely downhill, I close things out in a 1:32:30. Although it’s 15 minutes off of my personal best that I’d set 5 years ago, I’m much happier that I’ve run a much more consistent pace compared to two weeks ago.
Things start turning for the better with respect to training. My workouts are more consistent, I’m not missing any long runs, and I’m tackling speed workouts head-on. In fact, as of writing, I’ve not missed a long run in my training plan. Two weeks ago, I ran a 5 mile tempo in 31:58, a pace that I wouldn’t have dreamed of running in high school practice. Last week, I ran a 3x5K tempo workout, completing each interval at a controlled and consistent pace. And, two weeks ago, I came very close to completing a fast finish long run.
The Fast Finish Long Run is a special kind of long run that serves as a strong indicator for race success. First, you start slowly, running at an easy pace for the first 6 miles. Then, after holding the easy pace, you run the next 8-10 miles at your goal marathon pace. Finally, you push the last few miles very hard, running them at your 10K pace. Greg McMillan of McMillan Running remarks that “if you could finish a 14-22 mile fast finish long run with the last 8-12 miles at a fast pace and the last 2-3 miles very fast, then you would have no problem accomplishing your goal in the marathon.”
During my “training” for the Illinois Marathon, I’d only attempted the Fast Finish Long Run once out of the four times prescribed on the training plan. The run ended poorly; I could only hold on to my goal marathon pace for 1.5 miles.
However, in my most recent attempt, I did hold on to my goal marathon pace for 8 miles before tapping out. I was severely dehydrated, fatigued, and defeated, but I’d come much closer to finishing the run than I did before. While leaving the workout incomplete left a horrible feeling, there will be more chances to complete the run and prove my fitness before San Francisco.
In a recent long run, I took along an energy gel that I’d invested in. I held off on consuming the gel until around the half marathon distance, which is usually when I began to feel fatigue in my longer runs. The gel worked, and provided me with a solid boost that propelled me to complete the 20 mile run. I quickly fueled up, eating breakfast and drinking a smoothie shortly after, and felt none of the same fatigue that plagued me at the same distance two months ago.
An improved training regimen and a better nutritional plan make me much more confident in my performance for my upcoming races. Although bad races impart the worst feelings possible, as runners, we have to take them in stride and move on to the next mile. I’m hoping – no, I’m optimistic, that my next half of running will be a promising one.
I started working at Google two weeks ago, amidst a charged atmosphere following the dissemination of the internal manifesto. In light of the divide that has developed, I reflected on my professional goals that I had laid out during my last years at university. Here is a piece that I wrote for one of my classes that I feel still accurately describes my goals professionally.
April 18, 2016
As a child, I was told that I was very skilled at math. I loved solving problems, and I advanced this passion throughout middle school, high school, and even at the university level. I was very lucky to be the son of two engineers, because it meant that I always got the full support to study and pursue what I liked. In my later years of high school, my parents got me my own laptop so that I could work my own projects and ideas in my free time. After reading an NPR Article, which noted that personal computers were mostly “marketed towards men and boys”, I recognize this as a hefty, if not even an unfair privilege that nudged me in the direction of computer science.
However, growing up in Silicon Valley, I never felt that what I was studying was special in any way. My high school produced many other individuals like me, so striving to be a unique individual was much harder. I felt that this environment, while conducive for producing many engineering students, was not so forgiving for students wishing to study different things. Making the change to university was a sudden culture shock, because there were actually other students studying non-engineering subjects!
At UIUC, I feel that I am very lucky because there are others studying computer science like me, which means that I’m never alone. I don’t feel embarrassed or ashamed of my social identity either, because by virtue of the large student population, there’s always someone who shares my personality and values. However, as part of the majority demographic of my major, I worry that the face of computer science and engineering is becoming too homogenous. Whether we feel that the field is gradually becoming too “Asian” or too masculine, it’s not a good sign for budding minority students looking to study computer science.
While I hold the privilege of being a male in my field, I acknowledge the struggles that women face in the computer science and technology field. My mother has worked in the technology sector for more than 20 years, and from what I can glean of her experiences, life for females has not gotten easier. There is still a pervasive sense of chauvinism and sexism present in the workspace that deters other bright females from continuing in the field. Every day, my mother would work late hours as a software developer, complaining about the constant discrimination in her workplace and the lack of other female colleagues. An intern from USA Today was quoted saying “what’s the point of trying to recruit people from underrepresented backgrounds if they’re forced to assimilate into an unwelcoming culture?” which I thought accurately summarized my mother’s situation. This was reflected in the class resume activity, as we did not field any prospective female applicants.
The discrimination that my mother faced in the technology sector reeks of a deeper problem that needs attention. Tim Cook once remarked, “We pave the sunlit path toward justice together, brick by brick.” As I move closer to graduating and entering the professional world, I want to hold myself to the highest standards, and to make a conscious effort to dismantle the crass “brogrammer” mentioned in a CNN article. I think that it’s important for all of us to not only be obsessed with what we do, but also to be ambassadors for our field. We should all strive to extend our hand to help fresher, newer minds to overcome the barriers that exist, and to enter the computer science field. I feel strongly that as a privileged individual entering the field, others should be afforded the same liberties that I’ve had growing up. My brick will be to encourage aspiring students of minorities to pursue the same passion that I’ve been chasing since I was a child, and as a rising professional, I hope to stay true to this mission.
A couple of weekends ago, I travelled to Cambridge, Massachusetts for my first hackathon ever. I went to MIT with three other team members to participate in HackMIT 2015. I was very excited to have had the chance to be part of such a well-organized hackathon.
After a short day of Friday classes, I rushed to shove all the necessary hacking gear into my backpack. I quickly printed out my bus tickets and jumped aboard for the ride to Chicago. On the bus, I met with my teammates, and we discussed our plans, or rather the lack of, for the hackathon. What were we going to make? Cloud-sourced data mining? Some kind of web application? A delivery service? We couldn’t come to a consensus, so we simply agreed to table the discussion for the airport, and to catch a little bit of rest before our flight.
A heavy front of weather assaulted O’Hare airport when we arrived, pouring down sheets of rain. The inbound flight was delayed, which gave us more time to decide what we wanted to build. We eventually agreed to use a few of the available APIs at the event to write a web application for a delivery service.
Our flight touched down at Logan around 2 in the morning. We took a taxi to the Kresge Oval on MIT campus. My teammates and I immediately saw the HackMIT sign and approached the check-in tent. The check-in staff handed us an airbed and a dual pump for the night. We would be staying the night with assigned student hosts, and I was very excited to meet mine. We waited until our student hosts came to greet us and walk us over to their places.
I walked down Vassar Street with my host, getting to know him better. He was a mechanical engineering major, or a Course 2. True to his major, he analyzed the dual pump that we would use to inflate my airbed within seconds, pointing out its various mechanisms and valves that it used, and how the overall design could be improved. My host briefly showed me around his room, and we both promptly went to sleep.
After a few hours of rest, I made my way back towards Kresge Oval. The opening ceremony began, and each of the companies present made a small pitch about some of the prizes that they were offering. Following the pitches, we ultimately decided to use Postmates delivery API and the Google Maps API to write a web application that would deliver surplus restaurant food to food pantries and homeless shelters.
HackMIT 2015. The hackathon was held inside MIT’s ice-skating rink.
The hours ticked away very rapidly, and we soon found ourselves with less than 6 hours left of hacking. However, the build was far from complete. The frontend still looked very clunky, and we were having issues integrating the Postmates API with the frontend. We quickly resolved to use Flask for facilitating the integration of the APIs in python, and set out to complete the backend. For the next couple of hours, we immersed and gave ourselves a very brief crash course in Flask.
While I felt that we were moving in the correct direction, two hours of Flask was not enough to relieve our build of a menacing 500 server error. Despite the help and assistance of the corporate mentors present, we were still unable to release a stable, working build of our web application. The hacking promptly concluded after a false fire alarm that forced all of us out of the building.
After the hacking ended, we pitched our delivery web application to multiple corporate sponsors and individual judges. The whole pitching process harkened back to high school science fair days, as I felt the routine was quite similar. Despite making a somewhat incomplete web application, I still found it very rewarding and exciting to explain our idea to other people.
MIT’s central library, taken from Killian Court.
My teammates and I left the award ceremony thoroughly exhausted. We trekked nearly 3 miles across Cambridge to check into a hotel to get some rest before our flight. All of us were asleep within a matter of seconds. Soon enough, however, it was time to catch our flight back to Chicago. We wearily boarded our flight back to O’Hare, and then caught our bus back to campus. Immediately after we arrived, we all hurried over to the Digital Computer Laboratory for our morning Computer Architecture lecture. It would still take us the rest of our Monday to drop down from our hackathon high.
Flying back into Chicago on an early Monday morning.
Overall, HackMIT was a very humbling experience for me. It was enlightening to leave the Champaign-Urbana bubble and see the great ideas that other people were building. I personally enjoyed investing the time to build our idea from scratch. Although the hackathon left me mentally and physically exhausted beyond measure, I will be coming back for more. Our hackathon project left me thinking about avenues for improvement and new ideas, all of which I would like to see through in the future.
Today it’s your birthday. Do you remember? We’d come over to your house, maybe jump into your pool (provided that Rahul didn’t throw up chicken in the hot tub), have water gun fights, and play Halo together while eating Chandra uncle’s legendary barbecue.
Not a day goes by where I don’t think about you and your definitive fighting spirit. You always exemplified the absolute best behavior when you battled brain cancer, and not once did you ever complain or lament “why me?”. Although you’re gone, you’ve left me much to think about. Every day, I try to espouse the amazing fighting attitude, tenacity, and perseverance that were all characteristic of your brilliant personality.
I know that you’re in a better place now, safe from Babai’s diatribes or Chandra uncle’s handshakes. Some say that a person dies twice – when their body ceases to function, and sometime in the future, when their name is spoken for the last time. I doubt the latter will ever happen, because I’m sure that I speak for everyone when I say that you continue to live on in all of our hearts every day.
Happy 17th Birthday Milan. We all miss you very much.
As every computer science major knows, data structures is a very integral class in their curriculum. As a result, data structures can be considered the first major test if one wants to label themselves as a proficient programmer or computer scientist.
This semester, we would be working in C++, which was a considerable step up from Java. In preparation for the programming portions of the class, I took to Project Euler, a programming problem solving site that allowed me to hone my Java and object oriented programming skills.
Despite my prep, however, the first machine problem proved to be a patch of tricky footing for everyone. We were all faced with the novel task of writing our own Makefile and slogging through the syntax of C++ on our lonesome. Anticipating a long assignment, my friends and I convened together in an attempt to make some headway on learning our new second language. Within half an hour, we all found ourself walking into a brick wall editing our own Makefile.
We reached a crossroads of sorts, deciding that it would be unproductive to simply throw more time at the problem at hand. I voted to continue working on our machine problem at Siebel Center, where we could rely on the help of our course staff. My friends decided to stay back in hopes of slogging through and making some purchase on this tricky problem.
Riding the bus into the receding Urbana sun, I got off and ascended the few steps into the computer science building. I sat down at one of the basement’s resident EWS machines and began to work. Next to me was one of my classmates who was working on the same problem. We sat together and refined our individual Makefiles in hopes of allowing our program to fully compile. When I thought I was absolutely stuck, I reached out to the current TA, who walked me through the idea of Makefiles and also scanned my code for bugs. After a quick review, I compiled my code again: ./mp1 . The console showed no warnings, and using the terminal diff commands confirmed that my code was correct.
Just to be sure, I ran my final source code against the staff’s test suite, Monad. Five green “passed” markers greeted me, and I heaved a great sigh of relief. After nearly three hours of frustrating debugging and refining, I had solved my first true Machine Problem. I silently reminded myself that the programming problems would only get harder from here on out, but resolved to reviewing my current code for any other errors.
My programming neighbor wasn’t having the same luck, however. As he tried to understand the concept of flipping the PNG 180 degrees, the TA would constantly shoot him down, berating him with a sharp “为什么你不懂这个? 这是很容易。” (Why don’t you understand this? It’s really easy.) After the TA moved on to help another student in the office hours queue, I slid my chair over and began to walk my classmate through the steps that I had taken not so long ago.
“So I see that you’ve placed the target files on your desktop. Here, let’s put them into a new directory. Type in ‘mkdir cs225’ into the terminal, right over here, and press Enter…”
Prior to my first semester of school, many of my close friends and family said that university would be some of the best years of my life, full of substance, variance, and enjoyment.
Two weeks into school, I wasn’t so sure about that adage. I hadn’t done so much as to set a foot outside my dormitory unless necessary, holing myself in my room with coursework.
I would say it was by chance that I found my social niche. Simply sitting next to different people in classes introduced me to a new study group, and a new crew of weekend explorers. I began to spend more time outside my dormitory, and sure enough, I found that more often than not that I would be outside my room.
However, going to school in Urbana-Champaign has, to an extent, pigeonholed me in a vacuous bubble. Despite finding my group of friends, I feel that something is still missing. When a few friends brought up the notion of roadtripping to Chicago and Michigan over the weekend, I really couldn’t refuse. After all, maybe I would finally chance upon something that I could hold on to and develop into a fully-fledged idea. It was certainly refreshing to leave Urbana-Champaign for the first time in two and half months. I was able to finally get a taste of Chicago life, and was also able to visit Indiana and Michigan as well.
Perhaps something that really remained with me from our adventures up North was our visit with Jonathan, my friend’s brother. I was very excited to meet Jonathan after reading (sorry, viewing) his laundry list of completed projects. Jonathan was a personable and motivated individual and was very excited about his work.
Though 1900 miles away from San Jose, Jonathan made me and my friends feel at home. He invested his time to get to know us better, asking us about how we felt about our classes and social life at school. He implicitly emphasized the importance of passion and motivation, showing us the multitude of documentaries that he had tirelessly filmed and edited, as well as his brainchild and budding social project “FoodCircles”. As he flitted excitedly around his laptop and recording gear, he detailed the development cycle and conception of each individual project. The point of passion really began hit home for me. “Rohit, is computer science what you really want to do?” he asked.
I don’t know. I guess it’s too early to tell, but regardless, I went with my instinct and responded resoundingly with a “Yes, Jonathan. I really think so.” I’ve definitely made decisions and uttered outlandish comments out of impulse, but I know that my answer was correct, because I can’t imagine pursuing anything else for the remainder of my life.
First off, it’s been a while. I’ll try to write more often from now on.
It’s been two months since I set foot into my first college classes. I was, and still am, very excited to learn more about the vast field of computer science. To be honest, however, I couldn’t help feeling a few chills down my spine when my instructors repeatedly drove home that machine problems would constitute a sizable portion of the introductory course, calling them the meat and cheese of the class. I wasn’t very good at programming, and although I certainly wanted to become a better programmer, I secretly hoped that computer science couldn’t merely be trivialized to solving machine problems day in and day out.
When I scrolled through the major’s curriculum, It made me happy that computer science was so much more than programming. It warmed me inside that I chose a major that would transform me into a well-rounded, versatile engineer. I came to UIUC to gain a deeper and more profound understanding of how we manage data and allocate computing resources in an efficient manner. I left a cozy home 1,872 miles away to study computer science, not programming. And although I’m spending most of my first year grinding out machine problems with classmates, I look forward to some of the theoretical classes that I’ll take in the future. Writing code is fun and enjoyable, but learning why the aforementioned code works the way it does enhances the experience tenfold. I feel that the best of computer science is still yet to come.
Engineering excites me. After hours and days being forced to evaluate theoretical expressions that only held up in precise utopian states, it felt nice to finally be faced with problems that had practical applications and real results.
When I earned the presidency of my school’s Junior Engineering Technical Society, I couldn’t have been more elated. It was my goal to promote engineering schoolwide. Following our TSA’s TEAMS regionals runner-up finish, we were invited to attend the national Technology Student Association conference in Washington DC. As I read the results of the regional, I couldn’t help but think that this would be the pinnacle of achievement for our club. We were going to represent our school on a national stage.
Our team prepared well into summer nights to ensure a quality performance at our debut conference. We threw ideas onto powerpoints and documents, proofread and revised, argued and discussed. After hours of careful preparation, we were ready.
I for one felt greatly privileged to be on the 6am flight to Washington DC. After all the paperwork and cooperation necessitated with Lynbrook, we were all very lucky to have the opportunity to partake in the conference.
The conference center was a bustling hub of activity, with more than 7,000 participants in attendance. Many of them wore numerous ribbons on their name, such as “first time competitor”, “chapter president”, and “future engineer” providing a distinct sense of flair for each individual. Later in the night, the welcome ceremony fireworks made us all feel even more special and important. It seemed as if the conference would host a welcome mecca of enthusiastic engineers.
The conference’s opening ceremonial fireworks.
However, my glorified image of this engineering conference would take a drastic turn the very next day. Our team grouped up together, anticipating our first engineering challenge. The proctor summoned all the team captains and explained the challenge to us.
As he explained the task, I didn’t seem to be getting more optimistic. At the very least, the challenge seemed to be a joke after all the trouble we had been through just to partake in the conference and its festivities.
I say this with unwavering sincerity – we were supposed to balance a full 2-liter water bottle using a piece of paper, essentially engineering a load-bearing structure with a simple sheet of A4 paper. I was aghast. We had traveled nearly 2800 miles, completed a veritable mound of paper work, and spent a whole thousand dollars just to manipulate a simple sheet of paper?! I concealed my heavy disdain and carefully relayed the instructions to my teammates.
Unfortunately, as the challenge advanced, our team struggled with the task, and failed to create a piece of paper that would bear the weight of the full bottle. If it was any consolation, I could safely attest that our professional-grade writeup was top notch.
The oral competition wasn’t much better. Few of my teammates felt the need to understand the material we had prepared for the presentation on alleviating congestion, and it showed. The judges assaulted us with questions which we answered in shaky voices. Needless to say, I was disappointed.
During the awards ceremony, I wasn’t expecting anything. To my surprise, though, we were called up for our good performance on the writing section. We jovially jogged up to the stage and awaited the announcement of the awards. While we lined up, each team member received small “consolation” pins. As it turned out, we had placed 6th in the country for our collaborative research paper that we wrote on tracking.
The interior of the Gaylord Convention Center, the venue of the 2014 TSA National Conference.
Aside from the small recognition our team earned, I couldn’t take much away from the conference. Or maybe it was just that we had been promoting engineering incorrectly. I began to think harder, and came to the conclusion that we weren’t using the correct approach to bring engineering to fellow students. Quite aptly, a quote from the popular comedy show “The Office” came to my mind. In the episode “Safety Training”, Regional Manager Michael Scott remarks, “You don’t go to the museum and get handed a pamphlet on electricity. You put your hands on metal ball, your hair sticks up… and you learn science.”
Attending to the conference and participating in a trivial challenge felt like being handed the metaphorical pamphlet on engineering. It was no different from an FBLA or DECA business conference, neither of which successfully further true business concepts. The TSA national conference failed to seed profound engineering interests in fresh new minds. In the future, I believe that prospective engineering students should be placed in active environments containing tangible problems and challenges for them to solve. Put engineers next to an incomplete freeway interchange, and have them create actual design specifications for the onramps and exit lanes. Take students to a new server farm, and have them study the different file transfer protocols and infrastructure that allows a company to store its data. Plan a field trip to the local university laboratory, and allow participants to manage the manufacturing process – the machines, instruments, and materials – of a new medical device. Through these hands-on, close-up brushes with various scenarios, people will immerse themselves in the thrill of creation and the euphoria of success that comes with engineering.
A passive approach falls short to enlighten and ensnare new minds into the world of engineering. Using active scenarios, we can make a difference and fill the growing demand for new, hungry engineers.
I got up fairly early this morning, around 6:30. There were birds chirping outside, the sun was rising, and I didn’t feel tired when I got out of bed. I felt like I was 8 again – all I needed was to grab a bowl of cereal and sit in front of the TV to watch some Saturday morning cartoons.
I didn’t do any of that, though. Instead, I started on some of the last schoolwork I’d do in high school. As I started browsing the web for some material for my literature project, a reminder with an alarm clock icon popped up on the right hand corner of my screen. “CCS Semifinals in 10 minutes” it said. My heart lurched as I soaked in the text.
At the start of the season, I was pretty confident that I would be at San Jose City College, running in one of the last races of my high school career.
Instead, I was at home, mashing F5 and anticipating the live results of the competition. In retrospect, I only had myself to blame. Simply put, I slacked on my diet and training, and I paid the price.
In the future, I won’t be a spectator. I will be an active participant, and I will do my best to win. I still remember the time when I won my first and only invitational, and the indescribable euphoria that accompanied the victory.
I have to chase that feeling. This year, I will be chasing the finish line of the 2014 Chicago Marathon, searching for that euphoria, because I know I will find it.