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.

 

Advertisements

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.

Optimality of 2-ary (binary) search trees

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.

Looking into the future: algorithms, AI, Computer Vision

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’

Jola – our own take on Siri/Google Now/Cortana

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.

gallery gallery2 Photo Sep 22, 7 30 10 PM

Question: How do Chinese tech startups monetize their apps?

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)

Dreams of Becoming an Engineer – A Memoir (I)

While I was scanning through Piazza’s job posting, this particular line towards the end caught my attention and really resonated with me:

we’re looking for folks who’ve experienced hardship, and grown through it.

So I decided to give the entire job description a good read, and it was amazing – the more I read, the more I thought, this is basically a description of myself. So I thought I wanted to tell you my story. And I’m glad that this is a story where I can be as genuine as possible, because there’s no need for me to write an application according to the job guidelines like I used to before.

As the job posting does not seem to specify what kind of tasks or skill sets are expected, I will start by sharing a little about what has “shaped me to be who I am today”.

I was raised for the most part in Hong Kong, where I was very fortunate to have attended an international high school and undertaken the IB curriculum (comparable to AP) in a school that really focuses on its academics, with our school’s IB final exam scores placing the top 20% tier of the world’s average. It made sense that our school was competitive. But it was just a bit too competitive. Over the two years of senior high school, IB changed people. Many of my friends would minimize their time socializing, keep their best review resources to themselves, and not share their grade “A” essays with us because of self-acclaimed concern of plagiarism. To most people, IB was a ‘torture’ and a long, but painful experience. To me, however, I saw it as a perfect opportunity to exercise my leadership as I cruised through the two years with a repeating classmate who shared with me an array of resources past students used. With his help, we both studied hard and IB became more of a mind challenge than torture, and I never found it particularly hard as cooperative study groups and peer discussions I’ve organized saved me lots of time to develop leadership & communication talent.

This mentality was carried on when I was admitted to USC as a business student. During my first semester of college, I was extremely sociable, and would frequent study rooms with my friends and share our own takes on assignments and exam preps. This made life easy for me, as I wasn’t really learning everything on my own. It meant that while I was getting super involved on campus, I could still manage my studies. Indeed, I did well. I was placed on the Dean’s list.

But then what happened the second semester was something I’d never imagine. If I had a time machine, I would easily hit that revert button and travel back in time.

The second semester was when I decided to switch to my major to computer science. It was a tough decision then, but looking back today it was never a bad choice. However, the timing might have been bad as I tried to extend my social outreach by joining an Engineering fraternity the same semester, meanwhile hoping it could help me with computer science. Having gone through my previous business and General Education courses easily, I did not take class work seriously and prioritized pledging. It turns out, the workload of business classes was in no way comparable to our computer science ones. And joining the fraternity was no help to my academics but my alcohol tolerance. Being as clueless about work-life balance as most freshmen, I overestimated myself and was punished with heavy consequences: a newcomer in computer science, I’ve mistakenly put pledging ahead of my programming assignments without letting my fraternity brothers know so I could win their respect. And the result was, I failed to complete most of the assignments and was both mentally & physically exhausted by the end of the semester.

The following summer was the transformation moment for me. The academic failure I’ve experienced was the single worst hardship in my life and it definitely influenced who I became today. If one were to ask my friends about me a year ago, it would be something on the lines of “Jason is a very talkative and likable frat boy! He was the perfect kind of person for business and we enjoy being around him!” Today, I’ve quit my fraternity and cut ties with many of my old acquaintances so I could focus on studying computer science. After falling from the peak of my life to its deepest trough within months, I’ve decided it was time for me to start over and adjust to an entirely new lifestyle. The emotions may not get conveyed across in paper, but when I read that line “folks who’ve experienced hardship and grown through it”, I thought to myself, ‘this is my chance – finally a time where I do not have to be withheld from applying to internships because of my ugly GPA.’ So to that, I want to thank Piazza.

What followed was a smooth transition to the path I envisioned upon entering college. I gradually picked up the broken pieces of my life after landing my first job as a customer service representative at our university’s IT Services department. It was over there I learned that no matter what hardship one is in, there is always hope because anyone is in need of some form of help. Helping professors and professionals problem-solve technical difficulties integral to completing their work also helped me regain my confidence in what I love doing, which is to pursue a career in the tech scene. Finally, I also want to shout-out to my family friend who shared with me his insights on bringing up a MIT son – “to pay attention to every detail, and give your best at what you love.”

Today, I am a constant learner and maker. I still enjoy being in the company of others, but my number one priority right now is to stay productive and make progress everyday. I’ve just reconnected with a friend I made at IBM last year and he told me that conversations with me were always filled with positive energy. As an optimist, I am also not regretful of my actions. Despite my GPA, I’ve matured throughout the pledging process and made valuable connections. It has also changed my perspective on life, and made me a much more independent learner. In my latest computer science classes I’ve found myself helping my classmates more than our TAs. The new friends I make share similar interests and experiences with mine, and their whopping progress would remind me of missions I need to complete. My unspeakable experience has also made me clearer than ever about my passion in technology, where I attended 6 hackathons and went to 3 major tech conferences in the past year. Just over this summer, I was learning new programming languages and would practice them with projects everyday, whether it was on the train to work, or at 10PM when I get back from work. It was self-motivation at work. Learning never felt so empowering and compelling to me.  More so, it didn’t matter what I was learning, as long as it made me a more knowledgeable person. The philosophy of learning something new everyday originated from my IB times and has stuck with me since the trauma. There’s no entitlement or favor as to whatever I’m doing. I’m not studying for my parents, or for the sake of getting a job. I’m studying for myself so that one day I can change the world. So that one day I can redefine the education system so kids don’t have to undermine their friendships and live through a cutthroat high school experience like many of my peers did.

And that, is part my story.