I am currently taking my last co-op term off (Fall 2015) mostly due to personal burnout – I can’t believe I haven’t had a break longer than two weeks since I started university four years ago! While it sucks that I have to dip into my savings to pay for tuition next term, I think it’ll be worth it for my mental health in the long run.
After spending the past four weeks playing games and sleeping in, I guess it’s finally time for me to start planning what I’ll be doing for the next four months. I have to admit, Diablo 3 and League of Legends can get boring and repeative really fast after a few weeks of non-stop gaming. On top of just helping my parents around the house, I’ve laid out 4 main tasks that I want to accomplish this term.
Continue to work on our FYDP
I’m currently working with Josh, Connor, and Fasih on a medical document editor called Sana Protocol Builder for our FYDP (Fourth Year Design Project). This project is sometimes called a “capstone project”; it is the cumulative application of our four years of engineering education. As such, this is a very imporant project that I want to do well in because we have real-world clients from MIT depending on us and we can make a real difference in the world. Plus, being marked by project success in 4B during symposium is also a good motivator!
For now, I’m hoping to at least finish porting the frontend by the end of September. Afterwards, we will need to re-evaluate our roadmap. In any case, I want to be functionally-complete by the end of this term. When we return to campus in January, we can begin user testing and iterate on our UX.
Fix up my broken side projects
Oh boy, I don’t know what’s worse: having 10 useless side projects that nobody cares about (e.g. simple calculators) or having 1-2 side projects that barely or don’t work. My GitHub is currently littered with partially working projects. If I have some free time, I really want to fix them and bring their documentation up-to-date.
I originally thought this was supposed to be a simple web scraper and Flask application that I can do in a weekend. Apparently not! I can’t believe how many setbacks I encountered while trying to deploy this application live. I think there’s something fishy going on with Celery Tasks using PeeWee to access MySQL because I keep getting the
The MySQL server has gone away (error 2006)error.
- Steam Screenshots
This IFTTT channel may as well be abandonware. It’s just another web scraper running on Google App Engine that scrapes users’ Steam profiles for new screenshots. Unfortunately, this entire application will stop working as soon as Valve desides to update the HTML for their user profiles. For now, I’m using this application for my personal profile to automatically share my screenshots to Facebook.
This is just a C++ singleton class to manage Unix command line arguments. The files in this repository were actually copied from my ray tracer in CS488. While this manager have limited customizations, I think other people may want to use this because it is very simple as they can just drag-and-drop into their own projects. This probably won’t take more than a day or two to clean up and document for public use.
Extend my ray tracer
I hate to admit it but my ray tracer sucks compared to my classmates’ last term. After spending 150 development hours on it, my final scene was rather lackluster. I probably would have a better scene if I didn’t spend so much time trying to debug my refractions and architecturing my ray tracer. I don’t even want to count how much time I’ve spent refactoring and re-architecturing my ray tracer. With all this free-time this term, I want to implement the features that I didn’t have time for last term:
- Fix the memory leaks/errors due to the Lua interface
- Implement photon-mapping and caustics
- Luminaires that have volumes
- Directional lights
- Investigate Disney’s ray-sorting optimization
- Better type checking for colours, vectors, and points
- More illumination models and primitives (why implement the base classes if there’s only 1 child class?)
In the end, I doubt I will have enough time this term to implement all of these features because of my other commitments and the inherit difficulty of debugging floating-point applications. But it would be nice to at least implement photon-mapping before I apply to animation studios for full-time.
Find a full-time job
Not much to say here… With my savings emptied due to lack of income this term, I can’t take a graudation trip with my classmates. Thus when I graduate in than 8 months from now, I got nothing else to do besides full-time. Unfortunately, I don’t exactly have a plan on where I would like to work or what career path to take.
- Working in Toronto or Canada will allow me to stay with my high-school friends and make my taxes simpler.
- Working at a start-up in San Francisco or New York will allow me to learn more and make a lot more money.
- I also want to work at an animation studio like Pixar, Dreamworks, or Disney because graphics was without a doubt my favourite course of my undergrad. I’m just a bit hesitant that I don’t have enough math background (there’s a lot of daunting grad-level courses for topics like splines and curves) and the pacing at large companies is generally slower than start-ups.
For now, I’m just going to keep a spreadsheet of companies that I’m interested in, their locations, and salaries. I probably won’t be sending out my resume until late November or early December.