New Year New Me

01 Jan 2018

2017 passed by in the blink of an eye, and so much has happened in my life this past year. I’m still trying to figure out what kind of blog I want this to be, so I’m just going to post all kinds of things for now, including more personal posts like this one. I have been pretty darn busy with school over the past year but there are still some events that I want to highlight, and I’ll start with some of my bigger achievements this year.

Achievements

Github Contribution Chart

My Contribution chart for 2017 looks pretty busy, and overall I’m pretty happy with the amount of work I put into projects outside of school. I’ve learned many new skills and technologies, from web programming and databases to making a basic neural network in Verilog HDL.

The first project in 2017 that I was really proud of was the one I made at my first hackathon, Easy Reheat. This was a web app I made with a group for Hack The Valley 2017, and it takes pictures of food and recommends a suitable amount of time to microwave it for to achieve a good temperature. We added an extremely basic machine learning user feedback system towards the end that would learn if the time it recommended was too hot or cold, and adjust the internally stored data accordingly. I primarily worked on the front end, and I also implemented the Microsoft Azure chat bot myself using the back end one of my teamates wrote. Working on this project was a very eye opening experience for me, because it taught me what it was like to work in a team and also introduced me to a lot of new concepts, such as HTTP requests, containerization, computer vision, cloud computing, and there’s probably more that I’m forgetting. The hackathon was an amazing experience overall and we won a prize for the best domain name, so it was definitely a high point of my year.

Less than a month later, I went to another hackathon in Queens, where I teamed up with a few friends I have there to make From Here to There. From Here to There is a native android app that helps user find routes between two destinations but also recommends some routes based on how environmentally friendly it is. This project was particularly hard because I have really little experience working in Java, but I ended up figuring out how to hook up all the back end with the app so it worked out ok. I learned a lot at QHacks both through our own project as well as some workshops, and I am defintely looking to go back again.

Another achievement I’m quite proud of is finishing the course CSC240: Enriched Introduction to the Theory of Computation and not failing it! This course is honestly the hardest course I’ve ever taken in my life, and all assignments, quizzes, and exams were extremely brutal on the whole class. When the term started, there were at least 80 people in the class and I was well above average, but as people started to drop out, there were only 30 people left by the end and I was probably just barely above the class average, which was around 55%. Although the course was brutal, I learned a lot about writing correct and rigorous proofs, which has helped me a lot in my second year math courses. I have no doubt that it was the right decision for me to endure through the course and I’m extremely proud of myself for getting a decent mark in the course (I got a B).

As summer came along, I went home jobless, probably due to the fact that I was a first year and I didn’t put as much effort job searching as I should have. However, I got an interview midway through the summer by chance (through reddit), and after completing the interview I got an internship offer. However, the internship was in Japan and it would only be for 2 months, the plane ticket alone would cost more than I would have earned through the internship. The job would have had me working on a web back end with Django and AWS, which definitely would have been good experience for me to have. Looking back on it now, I should have put a little more thought into it before rejecting the offer because I’m slightly regretting not taking the internship, but the past is the past now. I’m just happy that I could pass an interview and qualify for an internship by my first summer on university, and hopefully I can do the same again next summer.

As school started again in the fall, I immediately jumped back into work mode and went to Hack the North, a Hackathon in Waterloo, with a friend from Toronto. We made Tensor Builder, a GUI tool to rapidly prototype computational graphs built with Qt. I implemented the web backend for storing / sharing graphs using ExpressJs connected with Firebase. I also helped with the UI here and there, but as I’m unfamiliar with Qt there was only so much I could do. This project took a lot more time than it did with any other hackathon I went to though because we were only a 2 man team and took on quite a larger project than I was used to, so finishing it was one of the most satisfying experiences I have had.

Lastly, one project I worked on towards the end of the year was Null Injection, a platformer I created for our UTGDDC game jam. I’m not going to go into too much detail because I wrote a post mortem here, and you can see the source code here as well.

Downfalls

My past year was definitely not just all achievements, there were many downs to go with the ups along the way. To start, I’ve made some failed projects at hackathons I’ve been to, like the Computer Vision App that my team tried to code at Pennapps, but I ended up working alone on it. I also tried to make an Art Competition Website at Hackprinceton, but all of my teammates left so I ended up helping a freshman learn the ropes with web programming. Even those these projects were failures, I used them as opportunitues to improve some of my other skills like writing documentation, writing tests, networking and some other soft skills like that.

Another big failure this past year was a game I tried to make over the summer, Heaven’s Edge. To be honest, I was way too lazy over the summer and did a lot less work than I should have. There was a big two month gap where I didn’t do any programming over the summer, which was way too much time wasted doing nothing. This is all in the past, so I’m not getting that time back anymore but it’ll serve as a reminder to make better use of my time in the future.

Lastly, my attempt to learn 3D graphics programming was a bit of a failure this year. I have started many tutorials and done some really small projects with basic model rendering and lighting, but I have not gone farther than that. I’ve gotten a bit familiar with the basics but I’m a bit dissapointed with the pace I’ve been learning, especially in these last few months in the fall.

The Future

Last year, I set out a lot of goals but only ended up achieving less than half of them. I was way too scattered and distracted throughout the year and ended up unable to focus on any single aspect in my life. For example, I wanted to get good at interview questions so I set out to do a lot of interview prep throughout the year, but I have barely gotten through a quarter of CTCI. Also, I had a list of things I wanted to study through, I call it my computer science study list, which includes things from data structures and algorithms to more specific topics like machine learning and computer graphics programming. I ended up not even getting through the intro section I set for myself, still working through a debugging course on Udemy. In short, I definitely need to shorten my list of goals and tighten my focus.

To be completely honest, I don’t really have a plan for 2018. To be even more honest, I don’t think I’m going to make a plan, at least not a very specific one. And I’m not going to set many goals, but instead I’m going to tighten down this year and focus on building better habits. For one, I’m going to try to eat healthier by cooking more and eating out less. Also, I’m going to get a lot more serious about applying for internships/jobs because I’m really going to need it this summer. I can’t let another summer go to waste like I did last year.

Most importantly, I think I need to look out for my mental health a lot more this year. I was really obsessed with making sure I succeed in life last year that I overworked myself quite a bit by taking 6 courses per semester while working on side projects and attending hackathons. I think that contributed to the burn out I was feeling and led to me wasting a lot of time over the summer. This year, I’m going to make sure I spend enough time enjoying my own life and not have my future determine how I live in the present. Here’s to a joyful new 2018, happy new year!