Lessons learned from overloading a straight-A semester at a TOP5 CS grad school

Context: out of interest in taking a course by Professor Frank Dellaert while doing research with him, I took 6 courses as opposed to the 4 requirement in my final semester of grad school. 3 of them were PhD-level and I was heavily involved in robotics and deep learning in and out of class. While it was strenuous and quite a challenge to pull it off, I was able to survive overwhelming stress and ace all courses. This post details my learnings as, even though I don’t intend to repeat some of the unhealthy processes, the findings could be useful to others.

Be accountable and deliver early. 
Plan ahead and keep others updated of your status in case of any unexpected delays, so you don’t appear unreliable and unprepared last minute. This can come surprisingly handy if you need to reschedule or postpone things due to say, an unmanageable Schedule. Basically to “stay on top of things”, and you’ll get a lot of freedom to move things around without hurting your credibility in return. First impression can really matter, especially since you want to save time from amending broken relationships once you start to cultivate many connections in your career.

Save easy things to the last.
It may be tempting to start the less-demanding tasks to trick yourself into thinking you’re productive, but this is dangerous because trivial tasks can drain your energy and derail you from accomplishing greater goals in the long run. Think of it as an opportunity cost – except the effort required for hard vs. easy things is extremely disproportional – some hurdles are only meant to be conquered when you’re in your best state, and you want to know your bottom line before investing your effort, which helps to relieve a lot of stress anyways.  

It’s easy to get into a series of technically trivial tasks and believe you’re very productive when you’re really just “busy-working”. Examples include writing emails and research without a specific goal/scope. You want to tackle the hardest problems and derisk them first so when your brain is not as enthusiastic you are still able to churn out meaningful work without burning yourself out. Even in the context of academic research, sometimes it is easy to fell content in keeping up with the newest and coolest research publications heedlessly and feel good about continued learning. However, this is often not the most efficient way to deepen knowledge in a specialized domain, as I’ve found with my learning habits at least, that when I’m under pressure with concrete plans laid out, I tend to induce a deep focus mode where I’m at least 50-100% more productive in my analytical skills in a short period of time.

Make Todo lists your best friend. (max. weekly)
One thing I’ve been bad with previously is overplanning things I want to achieve next and underestimate the time it takes to complete them. As a result, I rarely got to stick to my todo list and found myself ignoring them eventually most of the time. When that happens, one should start with finer-grained TODO items that also have shorter duration. Say you’re confident you can finish subtask A of homework 1 in 2-3 hours but you don’t know how long the whole thing will take. What you can do is add the item to TODO list and resolve it ASAP. It can take 2 hours or up to a whole day. But if you add buffer times accordingly it’s makes for a reasonable day.

Get into the habit of maximizing productivity and turning it into a lifestyle.
I used to have this illusion where I believe I can switch between different work ethics and just “turn up” the intensity on demand – cram and invest myself into a subject last minute to get to a proficient level in no time. Turns out, in order to be good at something or really fully understand a matter, you have to practice a lifestyle that inherently is different. Don’t think of it a temporary on/off switch, rather keep exercising something regularly, and before you know it you’ll become the expert at it.

Don’t fret (crack) under pressure, no matter how challenging or voluminous the tasks ahead are.
Part 2: coming soon

Keep a laser focus and take on problems one at a time.
Part 2: coming soon

Live a healthy and sustainable diet and schedule. 
It’s not a myth – rest is important. It doesn’t have to be routine, but a somewhat reasonable schedule throughout the day is going to score you big wins at the end of the day.



How to dual boot Ubuntu alongside Windows 10 in Acer Laptops

So I recently got my hands on a Acer V15 Nitro as my main driver and primary dev device [machine learning with GTX1060 ftw]. Turns out newer Acer machines come with this InsydeH2O BIOS that can be a hassle to work with, requiring additional steps to configure boot menu options after installing Ubuntu from USB. After some searching online, I found this handy workaround by amp_man, and thought it’d be nice to share it here 🙂

[HOW-TO] Dual boot Acer Aspire R14

This probably also applies to other Acer models using InsydeH2O BIOS. After much messing around, this is how I got dual boot working on my Acer Aspire R14-471T:

1) Update to the latest BIOS (I know, it’s UEFI, but I’m going to call it a BIOS). My new laptop shipped with 1.07, 1.10 is the latest as of this posting.
2) Shut down, then while starting back up hit the F2 button many times until the BIOS Setup Utility loads.
3) In the “Main” menu, set the “F12 Boot Menu” option to “Enabled”. Press F10 to Save and Exit, then once Windows loads shut down again.
4) Insert your USB flash drive with your 64-bit Ubuntu installer on it.
5) Power on and keep pressing F12 until the boot menu pops up. Select the flash drive, boot, and install Ubuntu.

This is where things get tricky:
6) After ubuntu reboots, it will boot back into Windows. Shut down again. Reboot and hit F2 to enter the BIOS again.
7) Under “Security”, choose “Set Supervisor Password”, and set one. You will need this password any time you go back into the BIOS. A bunch of options on the page should change from grey to blue.
8) The “Select an UEFI file as trusted for executing” should now be available. If it’s not available, check that Secure Boot is still Enabled, if not, Enable it. Select it, and navigate to HDD0->EFI->ubuntu->grubx64.efi. The BIOS will ask you for a name for it, I called it Grub.
9) Hit F10 to save and exit, then immediately hit F2 again to re-enter the BIOS.
10) Now go to “Boot”, set “Secure Boot” to “Disabled”, and arrow down to the bottom of the list to your new “Grub” entry. Hit F6 until it’s the top of the list.
11) Hit F10 one last time. Your system should now reboot to the Grub boot loader!

My impact, my story, Our world.

Ever since a drama-filled college journey that saw my life’s greatest setbacks, I found myself indulging my weekends at 28 hackathons and taking 20 Coursera courses online in my final years of college. To some, my energy levels may seem superhuman, or crazy; but to me, it came down to three defining values: grit, compassion, and (social) responsibility. Until recently, leaving a positive dent in the not-so-perfect world we live in today has become an unrelenting mission guiding my next steps as I seek deeper impact in my story’s very next chapter.

Growing up gifted in math yet incredibly curious about the arts and passionate for user experience, I always sensed my career would involve the intersection of tech, business and design, as I was told by many to have a keen but rare sense of empathy. It was indeed an unexpected encounter with Elon Musk in my freshmen year as a student volunteer that inspired me to later overcome repeated rejections from changing majors to CS with exceptional perseverance. Today I am a risk taker cable of achieving the unthinkable thanks to a history of hardships and turnarounds. Yet after interning at my childhood dream company and getting into one of the nation’s finest engineering schools this past year, I had moments of uncertainty where I felt loss once again in what more I wanted in life. i.e. Could I better fuse my multidisciplinary talents to accomplish something more meaningful?

To my surprise, I rediscovered purpose from revisiting a childhood where I moved across continents, transferred schools 6 times and was obsessed with electronics to the extent that I was even slightly out of place (hats off to Elon). I took pleasure in observing different perspectives and always pondered creative solutions to challenge the status quo every now and then. It was then I discovered a knack for bringing people around me to achieve a united cause. When I moved to Hong Kong for middle school, people were fixated on traditional careers and in search for diversity, I resolved to revolutionize the way students learn so they have more time for extracurricular activities. I created ‘UrbanEDU’ to pioneer personalized online learning for kids in every corner of our world. In 3 months, it garnered 300,000 clicks from 10+ countries. As my first taste of a ‘startup’, I fell tirelessly in love with the prospect of empowering millions with technology, as much as it has shaped my life.

Education has since become a field I hope to transform. Besides researching intelligent, machine-inspired learning methods, I’ve taken my efforts offline more recently to teaching kids coding at local middle schools, where I’m currently heading up a non-profit’s development effort.

You see, when all my passions shaped from different walks of life start to converge in a way that motivates and brings the best out of those around me, I believe I am in a unique position to lead the world into a peek of what our future holds. And like Elon, my childhood was filled with an immense curiosity for space, computing and our society, where some of the moonshot ideas I’d toyed around once are slowly coming to life. It is my responsibility to not just myself but humanity to constantly innovate and question what is taken for granted, when I am fortunate enough to live a story myself where, with relentless hard work and visionary, dreams do come true.

Lessons Learned: Cracking the GRE

So a friend of mine has asked me for advice on cracking the GRE couple weeks ago, and with the experience I had preparing for American standardized tests, I’ve decided to write an article about it so others interested could share my lessons as well.

Disclaimer: I am by no means a Master of the GRE. I’ve scored 160+ for both verbal and quantitative sections and a 5 out 6 for Analytical Writing (AW) in 3 attempts without proper practice over the short period of 2 months. I DID take a 10-day Bootcamp in between, so I’d share some of that here in the future. I’m going to take it again next year aiming for 165+ on both sections to bolster a PhD application package. So in a sense, this would be a plan of attack/preview for myself that I’d actually be following 🙂

Verbal Reasoning: As the name itself suggests, reasoning is as much of a critical factor as verbal in evaluating this section. Yet many people tend to overlook this simple fact, and often times I see people try to cluelessly study up their vocabulary. In my experience, cramming up vocab this way didn’t really help (o’ good memories of the SAT), but I do recommend two sources of vocab builder for those who 1) have plenty time or 2) are serious about nailing their vocabulary:

  1. Magoosh GRE Vocabulary Flashcards Mobile App – super convenient and can even be addicting at times of commute, etc.
  2. Barron’s GRE High-Frequency 333 Words Vocabulary List – please buy the book if you enjoy this – its Math section is also super useful!

For me what worked wonders was to just think of it as a logical reasoning test (more math, if you will) and approach with a problem-solving mindset. An example would be to pay special attention to the connective phrases in between clauses of a long sentence to infer the mood (contrast, agree, unrelated, not enough info) that is intended at different parts of the sentence. There’re down sides to this, obviously, in that because the verbal section always comes first with a 1-hour writing, if you focus your logic really hard to excel those, by the time it comes to the math section you might be mentally drained. Different people have different ways to maintain their willpower, and I’m definitely not an expert at this, though I find this book to be very entertaining.
Bottom-line: Would I do this again? Maybe, though for my field any score above 160 is considered more than good enough. So I’d take this methodology with a grain of salt.

More to come next time on the Quantitative and AW sections. To be continued…


2017 – A turnaround year?

2017 is a special and incredibly blessed year. From getting into one of the most highly regarded engineering school to landing an internship at a Series A startup, or from start to finish my GREs in 2 months while winning Awards from Facebook, Amazon and Qualtrics at Stanford’s TreeHacks, everything seems to be going the right way. What’s more, of the 5 upper-division 4-unit courses I’m taking this semester, I survived with straight As. To the people who’ve unwittingly or knowingly contributed to this unanticipated success, you know who you are. I want to say a big thank you, pat on your shoulders, and whisper a light sorry for my occasionally competitive temper. Because, among all these turnarounds (or successes, as some would call them), the biggest relief is getting back to being myself. Rest assured, to accomplish such productivity deserves accolades, yet, to do so barely walking out of an elongated period of depression and loss of purpose is surely a miracle. I concede, I may have come across as ignorant, overachieving, or even snobbish at times, but for those who don’t know what I was like 3 years ago, that’s never the true me. I despise winning at the cost of others’ loss. I may have unintentionally alienated some – here is my greatest respect and sincerest apology. Without all the friends and support I received on the way, I would never be here. And thankfully, I can finally re-live a stress-free summer. Going on roadtrips with my close friends – it turns out, is part of an indispensable social interaction that I thrive and depend on. Thanks to those who helped me walk out of a constraining abyss. I also understand that some of you have been waiting, or even disappointed, at my irregular schedule – and I once again want to acknowledge your patience in always being there for me. You’ll be forever remembered, and one day we shall get to be happy and carefree once again.

Graduation thoughts (I)

So, graduation days are approaching in weeks. The fear of what’s next inevitably crawls into my mind as many start to ask, “what’s next?” As I begin to reflect on my four years of college, the question comes at a time when one could not be any more certain of his future going forward.

It’s not the first time I feel that way though. Alas, the same thought struck me during the end of middle school in Tenth grade. It feels quite different this time however. Something deep down tells me that being clueless about what’s next could actually be a good thing. After all, last time I knew for certain what I wanted to do – to be an investment banker for a few years then do my own thing – costed me three years of battling with our Engineering school’s admissions. At the moment, I just want to look back in the past year and reflect key events that were “the good, the bad, and the ugly” as I prepare to turn to the next page of my life.

Efficiency: from graduate school applications to technical projects both at work & school, I must say I’ve found my gift in completing challenges in a limited period of time. From taking the GREs to getting the rec letters in to cap off the applications took anywhere from 2-3 months tops. What needs to be improved however is knowing when and how to trigger that mentality. Sure, being productive in a certain job for long periods may improve one’s overall productivity, but if we are playing the long term game, who knows if that’s exactly the best thing to do? This may sound a little confusing at first, but let me explain what I mean.

In the study of Artificial Intelligence, the area of local search concerns itself with finding the global maximum which in most cases is masked by local maxima. In fact, using a classic search algorithm like hillclimbing can yield improvements in the short term, but it may very well take one to the local maximum closest by and just stop there. Think of the good old game of pinball we all used to love in arcades. You won’t be able to tell if the ball is falling to the winning slot until a series of unpredictable jumps. Notice how this draws a parallel to the real world – remember that our world is never static and no one is capable of predicting the future (or if you can, see Project Almanac for the drastic consequences). So we conclude that maximizing your productivity without sight of the mega jackpot can actually/potentially undercut one’s creativity, which is critical to long term adaptiveness and consequently success. The question here then becomes, when is the best time and how frequently should one toggle his or her less creative but more focused mentality? What is life’s equivalent of the “mega jackpot”? How does one even getting there without knowledge of it?

Following my journey of self-reflection, we’ll find answers in cross-disciplinary analysis of other factors of improvement in the coming weeks. Stay tuned!

Systems engineering: the godfather of everything tech

It didn’t come as a surprise when I switched my career interest from customer-facing web/mobile development to systems level engineering last year – as a child, I’v always pondered and fancied how our complex operating systems and firmware work (R4DS, iOS jailbreak, Android custom ROM, PSP & Wii homebrew, BackTrack3, WindowsXP/7 Hackintosh). After all, they are like the founding father of every program we run. They are the mediator, the manager of a computer’s resources, and essentially the ultimate ruling king of a computer.

Despite some confusion with the role “systems administrator”, I now aspire to begin my career as an algorithmic systems engineer, one who deeply understand the low-level fundamentals of computing, yet articulating algorithmic constructs and principles inside-out to be able to optimize for the best software performance and cleanest code. Though my end goal one day may still be to build the best software for customers, for now I believe that a strong understanding of what makes computers computers over the years, at least working from a historical perspective, is critical to sniffing the future trends and frontiers of computer technology.