This week was the last one for open source. Around these days I have worked to finish the pull request for my Project of serializing and deserializing pages. I had a good experience with OS, but I couldn't finish a second pull request for my second stack. That is because I had some blockers to finding the bugs in the code that I change. The repository was too big so, to understand where the mistake come I needed to know more about the structure of the code.
Open Source
This week I had all my emotions running with the time. This was the last week of Open source. I really had a good plan to gain a second PR in another repository of my second stack. However, I had one PR in a React project but I never confirm with the staff if this repository was allowed. That happened because I started it on weekend and I had a bad experience with some people stealing the PR, I decided to start it first and then ask. Then, I didn't ask the staff. My plan was to finish the PR in Java repo, and then find another one in Javascript. I only wanted to use the "Happines" project for an extra work, but at the end the Java PR was really extensive and complicated to debug. I coudn't finish a right PR for my second stack because I was focus to get done my compromise with Java repository.
Something I'm proud of me is that I could finish the Java PR. I spend too many hours searching and learning how to build what they asked. For moments I thought I wasn't capable to do it. Especially when I had to search for the bug that stoped my code to pass the tests. The owner of the repository explained to me that the binarySearch they built was based on this structure PDF Indexing in Database. It helped me, a little to understand more about their configurations. In general, I felt this project helped me to overcome many fears about the interaction of big projects. How to handled the communication when you ask something, maybe, obvious. To finish this project I had to be brave with myself to overcome the fear of asking. I also asked some co-workers their view of the point of my issue because sometimes I couldn't get enough whit what the owner told me.
This last 8th March I did the pull requesto to merge my work in the Java repository. I was really excited because everything was like I wanted for my week. Nevertheless, I had a hidden bug that the boot test caught. It made me feel really bad, if I had a hope to get a second pull request in an allowed javascript repository, it was gone. Then, again a put all my attention to accomplish the PR in Java. I was pretty sad but tried to debug the code until finding something. I got some approaches and I shared them with the owner. That night the owner tried to find it again with the information a left. He said that was really tricky but There was a missing to set a value in a page after deserializing the page. He said that he went trhough one and half our debugging to figure out that something was wrong in the time to inisialize a Page named RevisionRootPage. I felt good because I was really close to finding it, but I'm not sure if I could get it before the deadline time.
Finally, I want to share what I gain of this experience in conclusion. In general, I feel I gain more confidence in my work.
At the end, in the Java repository the owner invited me to collaborate with more enhancesments in the project. He shared with me
that they are interesting to make a version numbers for the pages that I serialized/deserialized. That was something
that I didn't expect. It's a big honor that the owner congratulates the work that I had done. Also, I couldn't accomplish the
module with the minimum, which makes me feel a little sad. However, I won't eclipse my glad because I could finish at least
the Java repo.
What did I need to finish succesfull this module? I think I need more time. My java issue wasn't an easy one.
It was large and with basic concepts but not easy. I finished on time, at least for it, but with one week more
I could focus to finish a second PR for another project in JS. I think so the time for this module depends on the kind
of issue. If you have simple issues is easier to finish many of them in the period of time tTo me, it's relative
of your experience and the difficulty in your issue.