Hacktoberfest - This is not the end
Tags: python, javascript, hacktoberfest, opensource
Published: 2020-10-29 23:01:25

This is the last week of Hacktoberfest and I'd love to try something new and accomplish milestones. 

At first, I cloned a Dockerized python repo and tried to learn Docker and python in one day to solve one simple issue. I did set up the environment and able to run the application, however, I didn't notice that the repo hasn't been updated for a while and the issues seem not to be issues anymore... I gave up that repo and looked for other repos to contribute. At that time, I found my laptop is a bit slower than usual, therefore, I restarted it.

When I came back to my machine, I found that I can't log-in to my system. Whenever I entered my password, it brought me back to the log-in page. After reading some relevant posts in the [forum](https://forums.linuxmint.com/index.php?sid=ab0928c3f302ac6ac177dab5bb707d1c), I got the conclusion of the 100% use of my root partition disk causes this log-in loop issue. But, how is the root disk full? I did remember it wasn't full the last time I check the disk space. I, then, Googled something like "docker takes over spaces" and realized that I didn't clean the containers and images after I build that Dockerized app. I used [docker system prune](https://docs.docker.com/engine/reference/commandline/system_prune/) to free up 2.6G space. `docker prune` is used to remove the unused containers, networks, and images. We can also use `docker prune --all` to deeply clean up all unused ones, not just the dangling ones. After using these 2 commands, voila! The root partition disk was no longer 100% used, and I was able to log in to the GUI system!

After solving these issues, I started with 2 relatively easy issues of a Netflix browser extension repo, [netflix-list-exporter](https://github.com/daltonmenezes/netflix-list-exporter). This browser extension has chrome and Firefox versions, therefore, I learned something new about Firefox extension as well (since I have only worked on chrome extensions before). 

The issues I solved are [sorting exported list alphobaticlly](https://github.com/daltonmenezes/netflix-list-exporter/issues/5) and [removing trailing whitespace](https://github.com/daltonmenezes/netflix-list-exporter/issues/4).

I also found a python/C#/Ruby console app repo to practice python that I literally just learned this week. I, at first, chose the issue of adding a python email validator. However, this repo was a bit popular, other developers also want to work on this issue. The owner of the repo indicated that he would accept the first PR, however, developers can still send the PR after the issue is closed by the first PR. After commenting on the email validator issue, 2 other developers also left comments and sent their PRs before I finish mine. Therefore, I turned to the [add python name validator](https://github.com/dmodena/polyglot-registration/issues/13) issue and was able to be the first one who sends the PR. It was kind of nervous since these issues are popular and there might be other developers working on it at the same time. Under the little pressure of that, I was able to solve the issue and was the first [PR](https://github.com/dmodena/polyglot-registration/pull/24) to close that issue. It is a perfect python practice for me. Firstly, the difficulty is okay for me, neither too hard nor too easy. Secondly, it sort of has a time limitation. I'm happy that I chose to learn a new language in my last week of Hacktoberfest and was lucky enough to find a suitable issue to solve. 

I've met different challenges in Hacktoberfest, what I've learned and gained is way more than I expected. I'm grateful to have the chance to learn new stuff in one month and open the doors to explore them in the future!