Skip to the content.

Go back to index

Week 4 - 12/10/2020 to 16/10/2020

Intro

This week I’ll be taking a new approach that It’s more interesting for me and I think it will be more interesting for the 3 people that read me (shoutout to Abraham). I’ll just basically be grouping topics together, and try to write about the impacts that those topics had on me. So let’s begin.

Quantum

Basically this week I had to watch like 3-4 hours of videos about Quantum Physics, as you can imagine it didn’t went very smooth. This topic was interesting because I had 0 knowledge about this, but more interesting than the topic itself, was the lessons that I learned while trying to learn it. The lessons were:

  1. It’s impossible to understand a complex topic without solid foundation, and my foundation of physics are basically nothing. This goes link with the whole course about learning how to learn. You’re supposed by learning with small chunks.
  2. Understand what other people are expecting from you. At the beginning I thought that I was supossed to actually understando 100% this topics and incorporate it in my knowledge. I’m not saying that I didn’t learn anything new while watching the quantum videos, but I guess that university gave me this mentality that when I’m handed some book or some article I’m expected to master it and understand it completely. This week teach me that it’s not always like that. Sometimes people just expect that you’re aware that the topic exists, and just build some notion about it.
  3. PRIORITIZE. Learn to pick the most important, this week I failed to do this, as I started with this complex topics about Quantum and I just was in a dead end, wasting a lot of time. I’ll try to be more aware and learn from this.
  4. There are a lot that we don’t understand about our universe (finally something actually related to Quantum Physics). This is exciting to me, not everything is given and humanity has a long way ahead, I want to be a part of something great.

Testing

I learned about a few concepts that I’ve little knowledge about, like JUnit and Test Driven Development. This is mostly because in university I never had a class related to this, and I never took the time to learn it on my own. But now that i know it I feel like maybe it can cause me to be more pragmatic when I code and that I can actually achieve much better code if I implement it well.

I’m 100% sure that testing is something absolutely necessary for programming, and that we can’t skip it. But to be honest I don’t know if I will be actually more productive with TDD, I feel like it involves a lot of additional steps. I will not affirm anything about TDD until I actually try it for a while, and then I’ll decide for myself if is an improvement or not.

Machine Learning and Big Data

This one is really cool, I had the chance to actually code a User Recommender in java, which I enjoyed quite a lot. It was also a challenge because I had to use knowledge from several readings/videos from this week in order to fully understand it. I had the chance to learn about some key concepts about how machine learning works, but mostly about how tedious the process of data cleaning can be (specially in Java). I had done some data cleaning in the past, but this time it took me a lot of time to finish it, mostly because I think my computer is kind of slow and it took forever to compile the code. So one important lesson from this is: think before you code, sounds kind of obvious but hear me out. I’ve been always used to simple programs that take no longer a than some fractions of a second to run, but this time, because the ammount of data; it took a lot. So I couldn’t give myself the luxury of changing one thing at a time, I had to think very well what I was trying to do and not just randomly change code to see what happens. This saved me a lot of time when I understood it.

Moonshot Thinking

Moonshot thinking is just the idea that we should try to go for the big improvement or the big idea. In some part the speaker says that you should go for the 10x improvement instead of the 10%, in my opinion not everyone can be in the position to take the risk to go for the 10x, but I think that the position to do 10x things can be earned. You just have to work for it. And of course work alone is not enough, you need to have the attitude of someone that ones to do 10x stuff so you can atract other people with that mentality. One day I would absolutely love to be on the 10x position.

Git

I have been using Git for a couple of years now, but I learned some things while doing this reading. For example I didn’t knew that when you do the:

git add .

you’re actually adding files to what’s called the staging area. So I thing that the reading was useful in that regard, it gave me more technical terms that I didn’t use, so next time I want to ask or talk about git I can be more precise. Also I saved the link because I think it makes up for a pretty decent cheat sheet in case I ever need to use a different command than the usual.

Vim

I actually just had a vague idea of what vim was, but I hugely underestimated it. To be honest I thought that it was just an old console text editor that people used out of nostalgia. But boy was I wrong. I learned how customizable Vim can be, and how much faster and easier it can make your life once you get to dominate it. A huge downside of Vim is the learning curve, IMO. Because yes it’s highly customizable and it can make your life much easier but that is only if you take the time to actually learn it and practice it.