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.

Hackathons: how they transformed and led to an alternative career

Growing up, I was infatuated by technologies and computers. Tinkering and hacking electronics was a routine obsession before moving to Hong Kong for middle school, where STEM were regarded unpopular and less respected careers. So I entered college as a Business major, only to rediscover that I really liked CS. Before I know it, I applied for a major change in my freshmen year and joined an engineering fraternity in hopes of gaining mentorship in the new field. But contrary to my expectations I found no help when I needed it the most, instead failing intro classes as I misprioritized pledging over academics.

I naively thought I’d have a second chance, and didn’t take it too seriously initially because I told myself ‘I always loved computers’. When I found out after repeated appeals over years that my chances were close to zero, I ended in great despair, shocked at the unbelievable outcome as I took it all on myself and too seriously. Afterall, to be told that “you’ll probably not succeed in your lifelong passion because of your performance in your Calc I class” by virtual of a careless, innocent mistake, when I have been virtually following the passion since a boy, was shamefully heartbreaking. Over time, I lost my confidence, closed myself off, and wanted to give up on just about everything.

I later found emotional support in hackathons. It motivated me to devour knowledge like a maniac since I couldn’t learn the skills from school as a non-major. As I began to meet friends and help from industry professionals, I saw hope and decided to build my career back into CS. I relied heavily on alternate education, taking 16 Coursera courses and attending a tone of hackathons, while picking up a minor at school so I can take some fundamental classes like data structures. Then I prepped crazy for interviews while balancing a completely different major, and self-learned beyond syllabi to perform better than CS majors in technical classes. Last year, with convincing evidence of a notable internship, array of hackathon prizes and strong Professor recs, I “hacked” my way into the major, and have since been educating middle school kids of Computer Science, mentoring lower classmen and serving as teaching assistant so students don’t go through the same mistakes I made. Even today, I make sure I’m learning something new everyday. I’ve bid farewell to hackathons; finding myself with sheer motivation and interdisciplinary knowledge, I’m moving on to research to make the most use of my ability for the betterment of our world.

Learn. Build. Inspire.

Childhood obsessions with hacking, lifehacking & and beyond

When I was reflecting on my “hacking” experiences growing up the other day, I noticed a memorable page of my life when I had the freedom to do whatever I want – elementary school. Following is a brief memoir.

As a young and very curious child, I’ve always been fascinated by the mystery of what goes on behind that 128MB computer & the Internet. My parents were worried that I’d be addicted to gaming however so they passcode-d everything at home. So I hacked both the XP and Vista systems on my family’s desktop by bypassing the login screen using BackTrack3, a cybersecurity flavored Linux that is later rebranded as Kali-Linux. It was soon before my parents found out and decided to unsubscribe our cable network service at home. My answer to that as a naive 10 year old was to crack my neighbor’s WEP encrypted WiFi. Yet I did not have access to a mobile device and mobile phones that supported WiFi then were north of $500. Unyielding as I was, I really hoped to get on the Internet and chat with my older brother who was all the way across at a different country. With about $200 of savings over New Year’s holidays, I invested in a NDS and quickly turned it into a mobile connectivity device as I loaded home-brew MSN, YouTube and etc. third party programs on there. Not to mention having 20 Dialogs and Palkias was the funnest moments in Pokemon. Over my most memorable times of childhood, I’ve flashed ROMs and jailbroken an iTouch, NDS, PSP, Wii and Android phone. As I changed my major to Computer Science recently, I’ve realized I’d became a lifelong hacker the day I met our home’s first PC.

 

The most important part of a hackathon (and every group project)

Having been to over a dozen hackathons, I have had the fortunate experience of winning prizes while also miserably failing to complete some of my other hacks. And it is until the last couple hackathons I realized that, despite how rough and intensive the process is, the ideation step in the very beginning, followed by a solid pitch at the end, are the most important parts of a hackathon. The reasons are surprisingly simple: a good ideation guides you to building a great product, and a great pitch showcases the world a fantastic idea (of course, it has to work).

From diving straight into a newly conceived idea and unable to finish at the end of a 36 hour sprint, I always felt exhausted and would ask myself why we are never getting products done despite an awesome idea and having spent an awful lot more time than others. Then I slowly realized it is the communication and coordination that matters. No matter how much engineering power or prowess, as the team grows larger, the communication overhead increases exponentially.

Just recently at IDEA Hacks, I joined a team where we did not expect to win anything but experience from the start – however, all of us listened to each other and after careful consideration and collaborated planning of one’s idea, we divided our responsibilities and focused on executing it. With great team chemistry, we were able to finish the hack in about 10 hours and rewarded ourselves with nearly two full nights of sleep. Feeling energized and confident after impeccable refinements, we delivered a sensational pitch with such a simple but perfectly executed idea. The judges liked it; the audience loved it; and a month later, we were contacted by the primary sponsor for a demo at its educational campaign both online & offline. People often heard the saying “simplicity is the ultimate sophistication” – heck, it’s true.