🍂 Mood: Put on the first sweater of the season for the brisk morning weather.

🎵 Soundtrack: Some random person’s “Acadia National Park 🌊” Playlist

☀️ Morning Issue Updates

I opened my email this morning to see that I forgot to re-run the tests after I made the suggested changes to the language example fix. Huge facepalm. How embarassing. I fixed the now changed indices and re-pushed the code. At least the reviewer was nice about it and the automated output was really clear. The bot automatically ran my code on a bunch of different infrastructure and had a link to logs for each one.

Screenshot of the Go Bot telling me that my code failed on every infrastructure

🔍 Back to Parsing

I reread my last blog post to remember what I was doing last Wednesday. 😅 Honestly this blog is mostly just for me to remember what I have done.

I set to work improving my parser so that it could take a directory, find every example test in it, and parse it to see if it contained the issue I have been tracking.

You can see the cleaned up parser code here.

🐞 I ran it against the golang/go repo… AND I FOUND ANOTHER EXAMPLE OF THE BUG! I opened another issue and made a fix! I also found a false positive. Hmmmm, I will have to dig into it more, but it was only one or two false positives so I don’t mind ignoring for now. Easy enough to check by hand.

Then I downloaded all of the other repos under the “golang” github org and… nothing. Which is good. But I am also slightly sad about it. Delusions of grandeur and all that.

One of the commenters of the main issue suggested running my parser against a “corpus of open source code”. After not finding any helpful github api calls, I took this list of top golang github repos and cleaned it up using some vim macros. Then I wrote a bash script that: (1) cloned the repo, (2) ran my parser on it, (3) deleted the repo. I did all of this on a GCP VM just in case I messed something up and ended up with too many cloned repos. It ran through the first 115 repos without finding any issues (except an issue with my bash script that caused it to stop working). I’m not surprised that I didn’t find any hits. I don’t know of any repo that uses the example tests outside of go itself.

🕵️‍♀️ Next Steps for Parsing

Tomorrow (maybe?) I’ll get the bash script working to continue checking other open source golang repos for this bug.

On the main issue I suggested that this might make a good go vet warning and a go maintainer agreed! He even suggested a similar warning to base it off of! So exciting! This could be a real non-documentation contribution 🙌

🎉 PARTY TIME

As of 10 minutes ago…MY FIRST CONTRIBUTION WAS MERGED!

🤩 On an issue I opened a go maintainer wrote “thanks for working on this”. Can you tell that words of affirmation is my first love language?

📚 Reading Github Issues

I didn’t do it! I’m going to have a lot of catching up tomorrow!