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.
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.
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.
By law of Divide-and-Conquer, most algorithms that involve breaking problems down into a single subelement of itself uses binary tree as its data structure/abstract data type. Looking at the bread-and-butter algorithms like merge sort, binary search, a question popped up in my mind: why don’t we divide the problem up 3-way, or even 4-way? Wouldn’t that seem to be doing more at each level down the recursion and seem faster?
Note that the assumed topic is different from an optimal binary search tree, which is defined as a binary search tree for which the nodes are arranged on levels such that the tree cost is minimum. The following evaluates the plausibility of using n-ary trees where n>2 to process divide-and-conquer problems.
Delighted to announce my new-found interest in algorithmic research & its applications. Goal is to finish CLRS over the winter and this blog shall see more updates about my progress on AI, Algorithms and Computer Vision.
It’s hard to keep up when all your friends are trying to get you to party and have fun sometimes. #keepworkin’
Over the weekend, friends Aishvarya Krishnan, Kartikay Goyle and I have been trying to extend our personal interests in machine learning and natural language processing by creating a “Siri” of our own. Named “Jola”, we made a personal assistant that emphasizes on learning user habits and applying that to the future. We wanted to make Jola open-ended and independent of any single corporation so that its possibilities remain truly limitless. It doesn’t have to bundle other products by a big company, but rather, undividedly help users accomplish the simplest of things, like calling an Uber.
We named it Jola because it stands for ‘very tall, violet blossom’. We envisioned it as a concept without limit to its heights. Also, by integrating it with the most common APIs in our everyday lives, such as Venmo, Yelp, Wolfram Alpha, Snapchat, etc., Jola is like the go-to hub for daily routines. Rather than positioning it as simply a voice-based search engine, we wanted to make it social, where users can share with each other the number of times they have used each app/service everyday.
How are Chinese apps offered on such a massive scale to monetize, given that almost everyone in China loves freeware and only buy into that model, so much that if you start charging people will switch to other competitor/free alternatives? (even if there isn’t one, one will come out so soon thanks to the extremely short production cycle)