Writing stuff has always been enjoyable. Unfortunately, it has been relegated to the bottom of my to-do list ever since I started my undergrad here (with the exception of Summer 2017 period when I had more free time). This is the only thing I could do to rectify this situation: the update before school starts.

  1. I’m back from a month-long summer break in Malaysia! Thanks to my co-op program at Waterloo, summer break really isn’t a thing for me as all school breaks are at most 2 weeks in length. Getting home is therefore rendered impractical considering the time and money spent on the flight. This time, though, I had a month off this time (thanks to my employer for the flexibility in adjusting my work term length!), so I seized the opportunity to go home. Being able to spend time with my family, catch up with some old friends, and relish in the local food made every second spent in my city worthwhile, and this one month would be one of the most memorable moments in my undergrad life.
  2. Summer in Toronto had been amazing, replete with activities and entertainment ranging from watching the live Raptor’s show in the bar and watching the victory parade, to cycling around the Toronto island or simply jogging around the town. My summer internship had been an enriching one — now I have a better sense of how working at a trading firm would look like.
  3. Hobbies — I lost the penchant to do a complete writeup on the process of me solving the IMO (simply because I had retired from the participation in this contest for a good 5 years), but I do have my solutions uploaded here (first time having 6 problems solved, though problems 3 and 6 are probably considered out-of-contest-time solutions and I only got problem 3 after reading some comments on AoPS). Solutions to other contests are also in the same repo, just to showcase my love for math Olympiad 😉 .

    Codeforces — this is the only competitive programming that I’m actively doing till now. Until last August, I had been steadily marching from cyan / blue to purple rating (except a downfall), surpassing the purple bar with an astonishing 35th place on a Division 2 contest. The journey to the next rating band (orange) steepened significantly after that, however (despite it’s being only < 150 points away) with me hovering between 1953 to 2014 rating points consistently for the next 10 contest, only to breakthrough with a lucky #75 later on before crawling slowly to scrap by the orange bar. Regardless of how long I can maintain this, I am happy to unlock this achievement, at least for once.


  4. How about school? “Oh no I haven’t gone to school for 8 months!” While this is not the correct way to convey this fact, but it’s true. I will be starting my Fall study term in two days (after 7 months of internship + 1 month of vacation), so stay tuned!

That’s all, for now. 🙂

Dear Winter

Just face it — time flies, and it’s the end of April of the year 2019. Following UWaterloo’s calendar, this also signifies the Winter 2019 term has reached the end. In the past two years, this brought me the relief of finishing yet another academic year, especially in 2017 when the internship search and academic workload have been tumultuous. Consequently, the new non-academic life style in Spring has always been something I was looking for. Now, instead of celebratory, there’s a sense of emptiness lurking in my heart. The previous anticipation of the end of the April final exam season has since been replaced by the reluctance to accept the fact that the term was really over.

Contrary to the past Winter terms, I spent my term interning in the Uber’s Advanced Technologies Group. The learning curve at each research internship just got steeper each time, with this me facing a brand new challenge this time: machine learning. Amid the rewarding experience of learning something completely new, there’s always the self-doubt of where I’m working hard enough to contribute meaningfully to this internship. There were so much to be done that my coworkers actually described 4 months as too short; it’s only towards the end of the term did I feel it — I was ultimately swarmed by the ambivalence of both the excitement by the new interesting direction and opportunities the project was leading to, and the anxiety that time was running out. How I wished there were more time to work on it!

Several coding explorations filled the first half of my Winter term, ranging from algorithmic (CommuniTech Code & Win, and the Terminal AI challenge) to hackathons (Hack the Valley, Acorn Talent, and LunarHacks). Excited by the prospect of these hacking opportunities and the free weekends from the co-op terms, I turned myself into these hackathons with the intent to learn skills needed for application development. These five programming contests / activities were tinged with the nights we pulled our lethargic selves for all-nighters just to get stuff done, shivers as we were racing against the submission deadline to add our desired features, and the hilarious moments when we had to package our project as if it’s something “useful” during the pitching session. Eventually, I came to the point of deciding that I should halt these intensive exploration and focus on ML- or algorithmically-related aspects of CS. Nonetheless, the time luxury that made these explorations possible was something I would always appreciate. (Note: I travelled to Portugal as a supporter of the Waterloo’s ACM-ICPC team at the World Finals event, but I will save this to a later post I guess. 🙂 )

Screen Shot 2019-06-08 at 10.58.17 PM
One hackathon project: the image denoiser

The winter term was the first time I broke myself away from the tranquil university town (Waterloo) to a metropolitan that accommodates one-sixth of Canada’s population (Toronto). Interns event (Escape Room and Axe Throwing) by ATG aside, the vibrant Toronto atmosphere incentivized me to self-explore several places, ranging from the repeated visits to the Toronto Symphony Orchestra performance and the skating rinks, to several winter-exclusive events like the Light Festivals. Other times, strolling around the downtown area itself (when weather permits) or inside the Eaton centre served just in time to take a break from exhausting my brain after a day of work, or simply a gruelling Codeforces contest. Roaming around the city definitely became easier with weather turning warmer, but the winter-exclusive activities like skating and the light festivals, and the Toronto winter vibes in general, remain the moments that I wish I could live again.

WhatsApp Image 2019-03-24 at 14.58.13
Another exploration in the term: the Illusion Museum 😛 (creds to the hangout buddy)

With a few months left in Toronto before heading back to Malaysia for vacation, I hope to seize the opportunity to relish in the urban atmosphere where the weather is welcoming enough to make people stay outdoors. Nevertheless, this winter term will most likely be one-of-a-kind experience throughout my undergraduate journey, and will therefore be deeply ingrained in my memories. 🙂

Ps: thanks to my hangout buddy (schoolmate / friend who happened to be in Toronto with me in the term) for joining me for the in-city travel, and dragging me to places in return!


Pi Day Reflection

It’s Pi Day again, which reminds me of the MIT decision date (I always loved enjoying their decision trailer because it’s incredibly entertaining. One thing I couldn’t help thinking of, however, was what would happen if I were to choose MIT on April 30 three years ago? I still remember the Pi Day when I logged into decisions.mit.edu, thrilled at the sentence “it’s our pleasure to offer you…”, yet an awkward ambivalence arose when I sensed that I wasn’t likely to commit to MIT (and no, I didn’t choose MIT, obviously).

This thought led me to the whirlwind of memory lane between December 2015 and August 2016: arguably one of the best moments I have in life. Just fresh from completing my A-Levels exam, I was on full course to complete my university application processes: the Regular decision of US colleges, and several others in Hong Kong and Canada. I was first threw a surprise admission offer by Princeton, then by Cambridge and MIT itself (on the Pi Day!), along with some full scholarship offer at other colleges. It feels like hard work from the IMO, A-Levels and SAT preparation that together took me years to prepare finally paid off, and the power is with me to make a choice.

Thereafter, gone were the days of idling (beyond teaching math Olympiad and picking up programming), and I were set to attend Waterloo. The romanization of life in another continent, and the warm Residence Welcome video stole my hype for this Canadian university. Only after settling down here did I realize the stress piling up when exams and interviews started, and the fantasy started transformed into anxiety. Perhaps this made me think of the same question again: how would I be if I were to be placed in MIT (or similar)?

It’s been three years, and however stressful life at Waterloo could be, I am grateful that the rigorous curriculum in math and computer science, and also the internship program made me a person that I want to be (though, there’s still a long way to go). And all these are attributable to the people around me — being in an environment where people around you are working on improving they appearance on resume definitely motivated me to work hard on that. On a not-so-serious remark, choosing a school in Canada also enabled me to blend into the life of the Canadians, ranging from embracing the Canadian hobbies (like skating and skiing) to simply exploring the cities and neighbourhoods around me. Perhaps, the only thing I would long for is the balance between a tech-focused environment and a multi-disciplined interests like humanities and physical sciences: something I did in the A-Levels and worked hard on (Physics and Economics). And this is something I envision to be something the Ivies look seriously on.

“Stay well and thrive”, a note to self as I continue along the Waterloo journey (which was also something I wrote three years ago).


Context: the 10-year-challenge campaign started by Facebook .

The craze for this 10-year challenge among my friend circle became evident as I scroll through Facebook or Instagram wall. The vicarious fun of entertaining oneself of the contrast between numerous pairs of before-and-after photos almost attracted me to join the squad, only to be held back by my self-conscience of preventing myself from being to obsessed with being present unnecessarily on social media. Nevertheless, in this writing space that’s more personal, it’s worth reflecting what had happened to me over the last 10 years.

Perhaps it’s such a coincidence, Jan 2009 was also the time I entered my middle school: the so-called elite high school in my hometown. This ‘status upgrade’ and the simplistic mindset in me gave me an illusion that the value of “following parents’ order” that Chinese have held sacrosanct doesn’t have to be followed closely; I should be now entitled with my own thoughts. While puberty gave me the audacity to speak out my thoughts, disagreements and demands, it failed to install me the skills to professionally voice them and to exercise my discretion on knowing what to do. This explains why I thought it’s okay to relentlessly query people about their marks: for the purpose to gauge my class ranking under the competitive (and somewhat toxic) environment, without knowing that these numbers could be privacy or taboo to people. Fast forward to college, I became way more well-received among my classmates. Being in the cohort of like-minded folks definitely helped; other than that, it’s only because I only learned how to interact with people at the age of 18. Perhaps that’s also why Prof. Arsmah (the former Malaysian IMO chairperson) texted me “You have grown up” along with a reunion photo in 2016, as compared to 2011 when she insisted me to tell her myself on how did the IMO go — “to improve your communication skills”, she said.

One lucky thing happening to me in the first half of the 10 years was the discovery of who I am: someone who loves math. If not because of the opportunity to get into the IMO training camp, I wouldn’t realize that I can spend my thoughts on a single math problem for a few hours just to taste the sense of accomplishment after solving it. Amid my practice of math problems and following the IMO training regime, alchemy happened as I advanced into the IMO team: something my parents and I thought it was impossible given the fierce competition in the selection process. That’s when math problem solving, turned from merely an exploration to a commitment and a habit. This habit perpetuated beyond the 2011 IMO despite being severely hit by the failure, even though it wasn’t clear if the hard work and sacrifice was worth it. Fortunately, achievements came along with my continuous practice, and my IMO career ended with the pinnacle: one and the only gold medal in IMO 2014. My full scholarships from Waterloo and HKUST, and the acceptances into other elite universities definitely served as great rewards and ramification to my achievements before, but what’s more heartening was the immense comfort before most pure math courses in Waterloo — simply because I have the motivation to deal with them.

The second half of the 10 years saw me entering the A-Levels programme, which also saw how my dreams were shaped. As glamorous as it sounds, the Malaysian IMO ‘ancestors’ often ended up in great colleges like Oxbridge and the Ivies, so I thought I would be the same as them one day. But it’s not until the college application period did I realize that I had to earn the respect of the admission officers through means other than the IMO. Luckily, my bursary from the SPM (Malaysian Education Certificate) also placed me to mix closely with people with the similar mind, sharing the similar dream: to get into one of the top 20 universities. For the first time, my motivation to work hard came from something other than merely to make my transcript look beautiful. For the first time, I became able to think of what I wanted to pursue in the future, and what were my areas of interest (and not-so-interest). The admission offers from 11 universities justified my hard work, eventually. But what’s matter was how the process shaped me into someone who’s dare to be more productive to chase for his dream.

The last quarter of the 10 years span was spent in the university, which was what I called the pivotal point of my life. In September 2016, I left behind people around me to embrace a new environment, in a new country, with new set of people around me. It’s this environment that I picked up programming and tuned myself towards a better self when comes to the WaterlooWorks Hunger Games period. It’s this place that I saw the weather around me turning from green to red to white, before turning green again. As I braved through the unprecedented challenge of job hunting season, I started realized what differentiates myself as a student and as a person: someone who doesn’t vs does care about skills other than those needed to get the good grades. The struggle to mould myself to someone who’s ready to contribute to the industry while still maintaining the other aspect of my life (school and work-life balance) gradually prepared me for the challenges I may face upon the adulthood, which is also a step towards maturity.

With that, what would happen in the next 10 years?

My 2018 ‘Sonata’

screen shot 2019-01-04 at 10.08.03 pm
Countdown at Montreal (2018->2019)

“It’s the time of the year again”: to look at what I have been through, ranging from switching into Computer Science to doing another math research, and how I broadened my tentacles from math competitions into regionals programming contest. It’s also a change of perspective, somewhat.

First Movement: Winter 2018 (Allegro vivace)

Quick, light, lively, which somewhat characterizes the Hackathon adventures amid my adaptation as a CS student. The closing section was preceded by a heavy-duty passage ending with a 7-note-chord at fortissimo (staying up late for a group project), but nothing else extraordinary that deviates from the usual pattern. 

It’s the first term after I switched into the Computer Science department, in the hope to explore a variety of courses that I would crack my head out just to get the course admission. This also means that, instead of diving under the infinite mathematical odyssey indefinitely, I would have to frequently get my head up and breathe the air of programming. As a fish who’s so accustomed in this mathematical sea, taking the Object Oriented programming course propelled me out of my comfort zone — that was the course that took me a disproportionate amount of time in completing the assignments and studying for the material. As I thought that the workload might be lighter as the term passed by, no– I had to gave up a few nights sleep just to complete our group assignment project, the chess engine. Only after seeing the ensuing success could I pat myself on my back for what I have done.

screen shot 2019-01-04 at 4.20.37 pm
Reversi game: snapshot of our homework

The second aspect of my adaptation as a CS student was my exploration and experimentation of programming competitions, which were the Communitech Code and Win Finals, Google Games (again), Citadel’s the Data Open, and the UOttaHack. Sleep deprivation became real after almost every single such event (all-nighters), but thinking of the new skill gained, it’s worth it.

#repost: skating as part of UOttaHacks (oops I mean…the Lifelog chrome extension we made)

The sweet spot behind every single coding struggle was that I am still able to immerse myself in the mathematical odyssey and swim as vigorously as I want in this infinite ocean. Contrary to the CS courses, the few pure math courses I took challenged me with the rather obscure concepts and identities. It’s also, however, these challenges that opened to me one of the most beautiful gem in the mathematical world (like the unsolvability of quintic polynomials).

Second Movement: Spring/Summer 2018 (Andante)

This movement is slower than the rest, probably because there’s no academic workload to bind me during a non-school term. But the cadence (i.e. chord progression) of this movement is difficult to predict: it can make a detour that leads to a I-IV-V-VI-V(7)-IV-I instead of a more straightforward I-IV-V-I (well, research outcomes are often unpredictable, right?). Another symbolization of the unresolved mysteries was the use of the modulation into the dominant key in the first section, which was then resolved in the later section by the tonic modulation except that one last part. Oh well…the only way to get around with it was the closing cantabile section. 

“That’s the one”, I monologued before Prof. David Jao’s profile, being captivated by his research focus on number theory and cryptography. Subsequently, I applied to work for him under the Combinatorics and Optimization research program, and got the offer a few days later.

It all started with “Crypto 101”: mindblown by the array of fundamentals (elliptic curves and their isogeny mappings, ideal class groups and binary quadratic forms, and the most dreaded yet the most quintessential quaternion algebra), and the intensive study and summarization of recent works and optimizations in post-quantum cryptography. Thereafter, I went into the scavenger hunt (as quoted from my prof) on the optimization sweet spots, bearing in mind on the future beast-in-development: the quantum computer attack, before deciding on the project to go forward: to implement a signature scheme using sagemath.org. There I went, starting to understand the pseudocode and the theory behind it, only to be obstructed by logic that hardly made sense to me, objects that I wish there’s built-in functions (but no), and one-liner sub-procedure that left me to figure its implementation details. Amid the clueless sessions of me trying to merely get its syntax correct, some room of optimization (for some auxiliary algorithms) appeared afloat upon the discussion with my professor. I rushed to my laptop and swiftly started the implementation process, and delightfully see that this optimization worked out. But the overarching problem was still there: how should I fill in the gap and make everything completely correct?

screen shot 2019-01-04 at 4.27.41 pm
Part of my sage math.org experimentation (hint hint: my full code has 600+ lines)

Complementing the research experience was the side project development, one of which was inspired by the research itself: the Big Integer Library in C++. Having the object-oriented principles fresh in mind after CS 246, I strived to maintain these principles in mind while maximizing optimizations simultaneously. This involved some efforts like learning the Fast Fourier transform and minimize compiler-specific redundancies, but when my running time improved from 4 minutes to 0.2 seconds, the pain is worth it. Another side of my coding was the practice on Codeforces, which saw me improving from cyan to purple within 7 contests. Unwilling to succumb to the fact that I was new to coding, I allocated time practicing on this competitive programming platform, in the hope to achieve a respectable rating and get that sense of vanity. While a few initial leaps in rating boded well on my mission, this effort was once hampered by a 90-point plunge, no thanks to my inability to cope with time constraint and a failed verdict by system test. Served as a wake-up call to restructure my contest strategy, I aced the two subsequent contests and eventually reached my lofty purple rating.

screen shot 2019-01-04 at 4.38.09 pm
Top 50 -> promotion to purple!

Rounding up those were the blessing of having friends around me to had great leisure activities, the most important of which was cooking. Being able to learn the arts and crafts of culinary that returns you with great gastronomical rewards have never been boring. The periodic gathering with mates over meals also served well to relieve the stress and tension from my work, sometimes made more mirthful by the atmosphere of birthday celebration (including mine in the piano room 😛 ) and brief vacation.

screen shot 2019-01-04 at 9.37.49 pm
Failed duo attempt during my birthday party XD
Picnic @ Toronto island during Canada Day!

Finally, thanks to my research prof I was given the privilege to travel to Santa Barbara to attend the Crypto 2018 conference. Relishing in the rustic campus view by the Pacific Ocean aside, I also had the opportunity to broaden my cryptography horizons well beyond what I was doing in my research through listening to the presentations. This marked a great closing to the Spring 2018 term. 🙂

screen shot 2019-01-04 at 9.47.30 pm
Crypto 2018: ft the opening speech and the sunset view I captured 😉

Third Movement: Fall 2018 (Presto)

The relatively relaxed opening seemed to belie the nature of this movement: it actually serves to build up the mood for the main theme. Thereafter, it’s just a healthy mix of running notes in semiquavers and 7-note chord in this movement, with the right hand becoming fugue-like in the middle section (i.e. multitasking between 7 courses and interview). The whole intensive nature lasts throughout the piece (except the last few bars: Christmas break). Not for everyone, tbh. 

The beginning of the term was characterized by extracurricular activities like the Velocity bootcamp, Hack the North, and the PennApps. But soon, the effect of taking 7 courses instead of 5 began to crystallize when the assignments started to pile up to the extent of me having up to 6 of them due in the same week. The study term then became a relay race of me with those homework, one after another, like an infinite relay week after week. Adding to these were the planned hurdles: the midterms, which sometimes came when part of classroom material still remained conundrum to me.

screen shot 2019-01-04 at 9.35.48 pm
Sneak peek on the classes I took ahem

Come mid-September, the WaterlooWorks recruitment season for Winter 2019 began. Having started my internship application and interview process since July, I should reassure myself that the process was going to be smooth. No, it didn’t happen. Still being fresh into the Computer Science major, the struggle of cherry-picking mutual interests from the thousands of job postings was tangible — I had grave trouble filtering jobs out of my shortlist. Following the submission of my applications was the great fluctuations of my feelings: fear, both because of the initial “no job” paranoid when interview never came in the first week, and of the “can’t cope” spectre when interviews and midterms started sandwiching each other; underwhelmed, every time after a sub-par interview performance, and after a rejection by a position that I had been dreaming for long. Only during the unfolding of the position offers towards the end of the recruiting period could I catch a breath out of my hectic schedule: I am rewarded with 3 offers.

screen shot 2019-01-04 at 4.39.40 pm
Sneak peek into my schedule in the busiest week (oh not included the self-note on what I should do)
screen shot 2019-01-04 at 9.56.30 pm
Onsite interviews I had in New York and Chicago 😉 (travel first, sweat later)

Embellishing my already packed schedule was my participation in the ACM-ICPC North American regionals, qualified through my rather unexpected placing of the top positions in the Waterloo local contest. As an amateur competitive programmer, the practice sessions offered a new perspective into competitive programming–the combination of teamwork, speed and accuracy. It’s therefore a great privilege to learn from the more experienced teammates and work with them during the contest, which resulted in our victorious placing of the 2nd place in the contest. Later in the term, come the Putnam contest that I have been enjoy writing every year. Though the extreme workload rendered any Putnam practice almost impossible on my own, cracking at mathematical problems have never been less enjoyable for me.

Second place at the regionals!
The routine of the term made me resonate with the third movement of the Moonlight sonata, prompting me to take some break from my routine and self-learn the piece (still in progress). Arms weary after each practice, this piece nevertheless gave me an avenue to express my feeling about my extra-hectic life during this 4 months. Luckily for me, this isn’t the only leisure I had: I had several short gathering over meals with several friends that were quintessential to my uni life, as well as some brief explorations over sports like archery, badminton and squash. This leisure went to a pinnacle at the end of the academic term as I travelled to Montreal again, this time with the bold try of skiing without really going through the 101’s, and finally a countdown there. 😉

screen shot 2019-01-04 at 10.05.43 pm
L: “three idiots” (a.k.a. travel companions); R: my fall from the (dis)grace during my first ski
Can’t be complete without my photo with Einstein!

Final remarks

2018 is a year characterized by adventure, mainly marked by my switch into CS and the ensuing change in my course structure and the commitment to side projects and hackathons. Perhaps, time to give credits to the following people (shamelessly citing from my Facebook post)

  1. people who offered me help and advice out of their initiative — even without me asking first
  2. those who offered constructive criticism when I need them the most, sometimes harsh enough for a wake-up-call
  3. those who disseminated their passion in different fields, encouraged me to try them out, and patiently provided guidance to those, even though I could be extremely intractable in those fields
  4. my comrades who struggled together with me, be it a group assignment, a hackathon project, or even when applying jobs together
  5. my family who continuously provide support and advice even from the other side of the globe

Thanks to these people I dare to make these adventure, not only in venturing into the CS field which I previously lack confidence in, but also trying new things out (like skiing and side projects). Having them around me simply alleviates me from the stress over my routine — even if it’s a simply discourse over life.

“May things happen in the way they should be, even though it won’t necessarily go in my favour”, here I wish, for 2019.

Annual tribute to my tech squad 😛

Lastly, photo credits to the following: A. Chan, J. Lim, Y. Li, S. Lin, F. Chen, Z. Low, the ACM official photographer. Apologies for using them unabashedly without your permission 😛 

The Independence

A tribute to my 7-term in Waterloo that ended with a 7-course struggle. 

“Merdeka!” exactly the phrase Malaysians love to call it when we are freed from our responsibilities. You can hear me introducing the notion of “achieving independence” to people in Waterloo after their midterms, or better still, the finals.

But for me, the notion of independence has a deeper meaning: it symbolizes my “breaking away” from Waterloo after being stuck for 7 terms (a.k.a. 2 years and 4 months in a row). It also marks my experimentation into an industry internship (though still doing a research in some kind) after staying faithful to academia for two internship terms.

Part 1: “Like a New Beginning”

(Reusing my first personal portrait)

It’s a new start. A new life. A new academic career. The undergraduate journey. There I went, trying to adapt the academic competitiveness in Computer Science and Mathematics, the ruthless winter that I would never imagine during my days in Malaysia, and the poignant homesick feeling that keep disturbing me intermittently. As the end of first year drew near, however, we were scheduled to start our first internship at various places, prompting me to be prepared to embark on yet another new adventure. The difficulty on finding the first internship added another layer on uncertainty on my next step: whether to stay in Waterloo for another study term, or be ready to accept whichever job that I would land on? In the end, I was awarded the research position on graph theory in the Waterloo’s Computer Science department itself, and I was beyond delight to begin another local adventure on this field.

The research term was a spring/summer term, so I got to enjoy the Waterloo neighbourhood under the climate that’s somewhat-like-home. Experimenting around the Waterloo park and taking a brief jog around the Waterloo-Kitchener area opened my eye on the somewhat rustic side of the Waterloo neighbourhood that shifts away from the academic intensity of the campus. Maybe that’s also the reason why I could focus on my research–it’s in my ‘home’ city, eh?

Part 2: Continuation

Fall 2017 came. Heart rooted deeply into academia, I decided to apply for the Combinatorics and Optimization research in December due to the perceived prestige this research program it gave me (and yes, I do agree that it’s prestigious even after my completion of this program). Learning that I was paired with Prof. David Jao whose research interest resonates with mine, I swiftly accepted.

Wait…this means another consecutive terms at Waterloo, isn’t it? Regardless, I was glad that this research offer spared me from the toil of job search, allowing me to focus on my academics (particularly the time-consuming Objected-Oriented programming course).

Come May 1, I happily hopped onboard to research about the post-quantum cryptography. I began my subconscious hailing around the corridor of the mathematical building as I was thinking about the solutions to my current problem I was working on, or simply giving myself some interval for digesting the arcane mathematical fundamentals I needed to succeed in this research project. Being a part of this domestic mathematical environment made me proud of what I was working on. Surrounded by friends around the Waterloo area with activities together (especially cooking) enhanced my summer experience even further.

But the demure voice of prompting me to leave Waterloo for my next co-op intensified as I kept listening about people’s experiences regarding a out-of-Loo co-op. The attractions. The entertainment district. The eateries. Am I supposed to be carried away by the thoughts?

Part 3: The Change

I decided that it was time for me to experiment something new for the next co-op: a new city, a new field. This somehow explained my penchant for developing technical side projects like the C++ Big Integer, and for attending two hackathons in the beginning of the Fall 2018 term despite the extreme workload ahead.

As the recruitment season started on WaterlooWorks, I went resolute on my desire to change, and filtered out almost all job postings that were located in Waterloo. This left me with about half of the mix in Toronto with the rest in the States. Subsequently, interviews from these applications came tide by tide, sometimes at the magnitude that’s capable of engulfing a human. But thankfully (and finally) I was getting these interviews.  Eventually on the Ranking Day (a.k.a. Results Day), “pop!”, 3 offers blinked in front of me. Mans going to Toronto, finally. 

2 months left in Waterloo, and that was really the grand finale of my consecutive streak in this university town. A temporary farewell–to the university, and the school life. “It’s going to be over soon”, I told myself as I was faced with the ongoing battle with the assignments and the exam preparation for the 7 courses. I am glad that I performed the very last bar of this grand finale well–the final exam.

“Merdeka!!!” I can’t stop screaming to my family and close friends after my last paper.

Screen Shot 2018-12-20 at 2.07.55 PM
The “independence” influence I like to spread among my friends


It’s official. I’ve moved in to Toronto now, and got to taste the first bite on the life in this new city. While fascinated by the dynamic lifestyle of the people here, I sometimes cringe as I think of the convoluted geographical distributions of the entertainment spots and eateries that I have always longed for all the while. Making things even more challenging was the initial challenge in locating a suitable residence during my internship, and the process of moving to a new city.

After all, Waterloo isn’t as ‘terrible’. I would still be proud of this city that produces the top performers in the ACM-ICPC programming competition and the Putnam competition every year. Perhaps, I just need a break from the university town and from studies, and I would be happy to embrace Waterloo, again. 🙂

Merry Christmas and “Happy Independence”! (as how I joked to friends) — taken at Eaton Centre, Toronto


It’s Fall 2018—nearly to the end. The long absence of me from this writing space suggests that something must have happened rather usually — and yes it did. I had never imagined myself of being that busy as this term with extra course load and internship application periods. Here’s some quotes from close friends, if I still recall them well.

“Wow 7 courses! How do you even handle it?”

“4 interviews in a day? Might as well spend your nights at the Career Centre jk.” (modified :P)

“ACM-ICPC Regionals and Putnam competition in the same term?”

(Along with some most contrived “Anzo you genius/god/master” and some more encouraging “don’t worry you got this” or anything similar).

At the end of the term, however, I am glad that everything has (almost) come to an end (just two more final exam papers to go!), and I will be starting my new subchapter of life in January (stay tuned…assuming I am disciplined enough to revisit this site!)

Maybe adrenaline just rushed into my head capriciously to prompt me here. 🙂 Also to tell all my readers (thanks for still being here 😛 ) that I am okay (just overwhelmed with work but it’s almost done!)