Optimism in the time of the 25th
It might have been raining — Of that I’m almost sure.
The good days of fall were gone and their void was filled by less than desirable weather. There were 7 days left of Hacktoberfest and I had most certainly ran out of ideas.
React-Native had been a great leap forward — as well as a git commit version nightmare — but it was not the sort of project I wanted to continue working on. While great for a resume, the project is too big and complex for someone at my level to work on for the rest of the semester. It is one thing to step out of your comfort zone, it is another to go to the middle of the ocean to learn how to swim.
My problem now rested in finding an agreeable swimming pool.
This late into the month, you would think I’d go with anything…just do whatever. But, truly, my heart was set on working on software I like to use. I didn’t like React. I used it because a class called for it. Memories of having learnt it are a blur and I am not sure I can tell you anything beyond how to start a project.
But 7 days were left, and I had resorted to google “neopets github”.
Desperation and disappointment were more than a familiar feeling at this point.
The tragedy of the ‘Almost’
When I worked on TinyNote, I found that it is easy for dark mode to have conflicts if you are not designing every part of the interface yourself. Currently, TinyNote uses a rich text editor from QuillJs and that causes a visibility error in dark mode. The colour for the text area and the colour for the rich text editor are the same or nearly the same. In light mode, it’s no issue, however, in dark mode, it means an user can only see the options by hovering over them. At least three of my classmates have tried to fix the issue by changing the colour of the rich text editor to no avail. If I remember correctly, it is because of bootstraps, they cannot find the property that holds the colour.
I bring up TinyNote, not only because the issue is similar to the one I found. But because in the post I made about it, I brought up a wild goose chase my procrastination created for me. When I was writing the post, I had in mind bibisco, as it was the only software I downloaded during the time of the time-wasting quest. It is a text-editor meant for novel writing that allows you to organize and keep track of different facets of your novel; information such as the characters, the narrative threads, and settings.
So when I searched for bibisco and found it was open source, finding that it had an issue in dark mode…felt oddly fitting. I took a look at the project and felt that I had found the one. Bibisco was software I liked to use. It was software I wanted to improve. It had a lot of files but navigating through them felt more familiar that looking at the many files that React had.
So I got to work.
It took several days to find a decent fix. My first approach was changing the colour of the highlight. However, the shade of grey used for text would not work with any colour that would also work in light mode. Because I also had to keep that in mind. The highlight function changed the background colour to yellow, regardless of mode.
I tried my best using colour theory and this contrast website I found here, but no colour would work. I thought about making the highlight colour depend on the mode, but there is no more iconic colour for highlights than yellow. The thought of using a different colour didn’t feel right.
So my next approach was to change the way the highlight function worked. I would keep yellow as the highlight but then changed the text colour to black. No other combination could beat that!
I soon realized that could not work. I could not find where the text color property was stored. I had checked the css files. It was not there. I checked the rich text editor files. It wasn’t there. So that left one place. The bootsraps…
Like I said, the issue felt oddly fitting.
It took a lot of trial and error. But eventually I found where the color was stored. I did it by color-picking the text and finding the hex value and then searching in VSCode. There were about 30 instances of that colour, so I decided the least intrusive way to fix the highlight issue – rather than create a function that changes the colour of several properties in the bootstraps, it would be better to change the colour of the text in dark mode so that it created better contrast with the highlight.
It was not a drastic change, the text went from #888888 to #707070, however, it was enough to create better contrast.
And here is when I realized my tragic mistake. When I looked through the repository looking how to make my pull request, I found that the owner was currently not accepting any code contribution as they were in the process of switching to electron and did not want any conflicts while transferring. Not only that, but the files I had worked on were not part of the public repo, so I realized I could not really work on this for the time being.
Lessons were learned.
And did it feel great to learn them on Halloween!
Hell is other issues
I was burnt out and the clock was ticking.
I tried looking at big projects, but I soon realized I did not have the time for them. My experience with React taught me that even if you only need to add a comment in one file, it could very well take anywhere from hours to several days to fix.
I only had hours, and the issues looked more complex than simply adding a comment.
I attempted the “good first issue” tag, but like much of Hacktoberfest, the tag was filled with exercises and website#6. If React had been an ocean, the issues here were puddles.
It was true I had limited time, but it was still time I wanted to use to grow as a programmer.
In the end, I decided to look for something I could translate into English. Depending on what I found, I could get a pull request done in the time I needed, and then continue with more later on.
It was somewhat challenging looking for repos that wanted a translation. Mostly because the term could be related to programming or because the issue was related to translation in the program itself. I also found that by using “translation” I got a lot of documentation needing to be translated from English into another language. While I was fine translating into English, I didn’t feel confident in my language skills to translate from English into something else. Not to mention, I do not know anything about Czech, and that seemed to pop up a lot.
I don’t think one can learn Czech in 5 hours.
Comedy:(Noun, countable, Medieval Europe) A narrative with an agreeable ending
`csvsc` is a library for building csv file processors.
That was the first line I translated for this project.
The project is pretty cool. It is written in Rust, something I’ve never used before, and it is meant to facilitate modifying the information in several cvs files. This was different from my first time translating since I translated all the documentation, not just a ReadME file, and this time I was actually able to write in the language I was translating from.
This time was also different because the owner of the project actually read my blog. That was not something I had expected to encounter; I knew some of my other classmates had had other people read their blogs, but I don’t think it had been people in the project they were working on. It was an interesting experience.
He was interested in my experience with open source and wanted to talk about it. He also brought to my attention that python Spanish documentation needed some work.
In the end, I didn’t really find a long term project to work on. I admit, I was disappointed that I managed to translate most of CSVSC in a couple of hours. But the experience did help me realize that translating documentation was not simply a quick issue I can work on when I’m short on time. Because the nature of documentation, by translating a project, I am learning a lot about it — at some level, I need to understand what is going on. I am also forced to explore to various parts of the project, I have to look through different files and folders, and double check to make sure I got everything.
So maybe that is my swimming pool, working on translating a bigger project. Even though the code is beyond my skill level, translation would bring me closer to understanding and getting comfortable with what goes on. It would also do wonders on my Spanish, as it is, I have a hard time talking about coding in Spanish. It is technical language I never learned, but I could use this as an opportunity to improve my communication and be able reach a bigger audience.
English might be popular when it comes to open source and programming as a whole, but its far from being the only language.