CS373 Fall 2022: Ami Iyer Blog 3
It seems like each week only gets busier than the last. Project due dates are starting to pile on top of each other with more events to get involved in. While I try my hardest not to over-commit, I think some degree of pushing your limits is necessary in order to keep a good learning pace. I had an NLP Project due last week which I wish I had begun earlier since it proved more challenging than I anticipated. Even though I started 5 days before the deadline, I realized that I was not as fast as my peers at processing the information given to me and felt very overwhelmed by all the steps involved. To be quite honest, it made me feel inferior as everyone around me claimed to have been able to finish the project within a day or two while I struggled to even understand the objective clearly. That, combined with the fact that I accidentally overwrote a lot of my functional code, really strained my mental health during the week, but I managed to complete the project with a slip day, albeit not perfectly. For the next project, I want to get started on it with my friends earlier, at least to get a better grasp of the design we are meant to implement. I also felt like I had made a fair amount of progress on the SWE project but I am missing some key understandings (writing acceptance tests for one) to pull it all together.
On the topic of SWE, however,
- What did you think of Paper #3: Continuous Integration?
The paper felt like a very informative, detailed read. I liked that it specified all the parts that made continuous integration work along with some tools that groups could use to support it. Listing out some of the common pitfalls/mistakes that people make was also insightful to read as a programmer because it helped me create a mental checklist of things I should look out for when working on projects in groups.
- What was your experience with assertions, unit tests, and coverage? (this question will vary, from week to week)
I actually really enjoyed these topics! Testing code in previous CS classes always felt cumbersome and loosely structured but having this framework and assurance on what makes “good test cases” was very helpful. I am sure the assignment will reinforce these topics a bit more concretely too, which will be useful.
- What was your experience of exceptions, lists, tuples, and int caching?
A lot of the concepts were already quite familiar to me but being able to examine the Python concepts side by side with Java allowed me to more deeply appreciate the construction of these programming languages and the various things they facilitated. Int caching especially was interesting because of how much thought the developers put into writing *effective* code that adapts to different inputs.
- What made you happy this week?
Overall, I felt more productive this weekend than the last. I was told that I was impressive for being able to balance a healthy lifestyle between academics, work, health (sleep, food, exercise), and spending time with my friends. Even though it’s not always a perfect balance — for example, this past week I worked out way less — I think dedicating time to more than one thing in a week is always good. It’s not easy, certainly, but I think with the right support system I’ll be able to manage it.
- What’s your pick-of-the-week or tip-of-the-week?
Most people are pretty horrible at keeping track of all their passwords, including me. Oftentimes, I just save my passwords to Google because it is easy and convenient, but this is definitely not the best tool out there. My passwords are often leaked because Google is not a very secure storage place, but, until recently, I did not take the initiative to find a better password manager. One of my friends suggested using Bitwarden since it is free and allows you to self-host as well. For anyone else seeking better protection of their digital information, I would recommend using Bitwarden to keep track of their passwords!