Projects > 100 Days of Code > Day 1

Day 1 - Tuesday, August 20, 2019
Overview

Project Information
6.009 Lab 1: Image Processing (Spring 2019 - Instructions)

Progress

  • Completed Lab 1 up to the Blurring Filter.

Reflection

YES I FINALLY STARTED THE CHALLENGE (and actually wrote a blog post about it!!!!)

After reading about #100DaysOfCode a few years ago, I have been really looking forward to starting the challenge. Seeing all the super cool projects and amazing stories from individuals who were going through the challenge inspired me.

But alas, life always seemed to somehow get the best of me. I never found the time to actually sit down in peace, and code for the joy of it. Something just always seemed to come up. I initially intended to start this project at the beginning of 2019, but time slowly ticked away..

After graduating back in June 2019, I thought that this would finally be the time I "officially" started. I started setting up my IDEs, terminals, and website templates. This took a lot longer than expected.

Before starting, I had eagerly sketched out a 100 day work plan of all the fun, interesting projects to complete by specific deadlines. The schedule was impossibly aggressive. Rather than seeing the challenge as "fun", I saw the looming personal deadlines as sources of stress. I quickly fell behind schedule, got discouraged, and stopped the challenge soon after.

After my summer internship ended, I found myself with free time for the first time in 4 years. With a month of rest before diving into my next project, I decided that this was finally the time to put my foot down, and to actually COMMIT myself to start the challenge. I wouldn't find myself with another rest period like this again in a while. I learned from my previous mistakes, and aimed to approach the challenge with a more realistic approach, so that I can set myself up for success.

Again, actually STARTING on the first lab was difficult, but after finally sitting down and taking a good look at the starter code and instructions, I quickly became really focused. After a while, I quickly became so drawn in that I got through 2/3rds of the lab before I realized it was 4am! I didn't want to stop, but seeing that I had obligations in the morning, I decided to call it a night.

At the end of Day 1, I finished the 6.009 Lab 1 up to implementing the Blurring filter. Feel free to check out the lab link instructions above for more details! As this is an MIT class, I will not be making my code public on github.

Lessons Learned

Lessons from Day 1:

  1. JUST DO IT. The activation energy to START is the most difficult part. Newton's first law of motion: an object will remain at rest (or in motion) unless acted upon by an external force. Once I got started, it was easy to keep going. You can do it, just sit down, relax, breathe, and START. The rest is history :)
  2. Coding is fun! When I take the time to actually sit down, breathe, relax, and focus on the challenge, coding actually became super fun and almost meditative! Since much of my previous programming experiences were from internships and labs, programming often felt like an obligation, rather than a source of leisure. With obligations and responsibilities came expectations, and I often equated it to sources of stress. After just getting through Day 1 and actually getting into the zone, I found, for the first time, that it was actually really fun :) I look forward to the challenges and projects to come!
  3. Remember to pace yourself. The challenge was one hour a day, and I shouldn't make myself feel obligated to do more if I don't feel like it, lest it become another obligation, rather than a fun experience. The one hour is a wonderful activator, and I often choose to go past it when I'm deep in a project, often for 10s of hours on end. But I know that in the future, I must definitely remind myself that good habits take repetition and positive feedback to build, and that I should not burn myself out too early with the challenge.
  4. Don't overcommit. Giving myself impossible schedules is just a recipe for failure. Create more flexible schedules, and focus on building good happy habits. I want to learn a lot of different things, but I will learn best if I focus on learning the material fully first, rather than rushing myself to the next new project.
  5. Prioritize understanding and implementation first. Speed will come later. When completing some of the tasks in Lab 1, I was somewhat disappointed at the speed/efficiency in which I was implementing some of the algorithms that I considered pretty "basic". Currently I do not have much coding experience outside of schoolwork and internships, and I cannot expect myself to be super fast or good as the role models I look up to immediately. I will grow at my own pace. Prioritize understanding and learning first. Speed will come through experience.
  6. It's okay to not be perfect. As someone who is almost a perfectionist, who almost approach things with a mentality of "do it well/to the best of your ability, or don't do it at all", I have found that in just the past few days alone, I have spent more time making sure my code and blog posts looked perfect than actually coding/learning about algorithms itslef. Improvement does not come from perfectionism. Things don't need to be perfect all the time. It is okay to fail from time to time. That is part of the learning process. I need to remind myself that I don't need to be perfect. I just need to be improve, and that will come through experience.
  7. I'm SUPER pumped for this challenge.

Let's DO THIS!