TODAY THIS CODE UNIT WILL EXPLAIN THE GOING-ONS WITHIN THE LAST 168 HOURS [STOP]
IT WILL BE DRY AND BORING [STOP]
YOU HAVE BEEN WARNED [STOP]
UNCLOG YOUR EXHAUST PIPES AND PAY ATTENTION [STOP]
Actual picture of me, circa 2021
So I started this week off by helping Anton (a fellow Telescope contributor) test out a really neat addition to our CD pipeline: GitHub Action Deployment. Essentially, whenever we’re ready to push a new version of the software out to prod we simply add a Git tag specifying the version of the software we’re shipping, and push the tag to trigger the auto deployment routine. It also builds REALLY beautiful release notes. This is a really sweet addition that tickles my pipeline fancy (uhhh… wait). I worked with something similar to this in my OSD600 class, although my project was Python based as opposed to web based so it was great to learn more about this, the backend, and deployment.
Later in the week I reviewed a funny bug from Doctor Josue regarding our Netlify deployment: our deployments on Netlify were “failing” is the successive build had no major changes. This is annoying from a reviewer point of view, as each new PR which didn’t require a rebuild of our site was automatically marked as failing our CI checks. But more importantly, our Netlify badge was INCORRECTLY LABELLING US AS FAILURES. We discussed this issue during our meeting, and this is a really great solution that I hadn’t thought about. It just goes to show that sometimes the simplest solution is the best (even if it is just a temporary band-aid fix.) And now it proudly (forcefully?) displays our successful builds.
More excitingly, our SearchPage
component landed, a component which was blocking my Search
component, as it’s dependent on SearchPage
. I hastily reviewed it, and really appreciated the commentary in the code as it really helps a plebian such as I understand more about functional components and design decisions. Once day I’ll be as good of a programmer as Calvin, but it is not today. As soon as it landed I got to work on finishing up my port of the Search page. In essence, Calvin’s component does the actual searching in our database for user posts, and my component gives his work a page to be displayed on.
Although, I have to say I’m kind of conflicted on it. Calvin did such a great job on his SearchPage
component that I don’t see why we should even use my wrapper component at all. Moreover, we can just inject the SEO, Header, Banner, and Darkmode toggle button that my Search
page renders using his PR. However, for completeness sake this mirrors how our Gatsby branch did it. Ah well. On a side note I think my descriptions and titles are getting to be pretty good. I also got a nice hint from my Professor which will lead me down a rabit-hole, my favourite place to be. I’ll have to work on this with Anton later in the week as he’s expressed interest in making our web-app more accessible-friendly and meta tags relates to this.
Speaking of Professor, I also got some really great reading material from a comment by the one and only Humphd about local storage. Coincidentally this is also something that I need to utilize for my on-going capstone project.
I also raised a new issue here about a warning we started to get recently as our React version is not on the latest version (v17.0) As NextJS depends on React, NextJS' next version (v11.0) depends on updating React. This lead me to read about the new features in React 17.0, which hilarious enough, add “nothing”.
I also helped research (and discuss) a bug with our darkmode toggle button that Abdul and Anton both started noticing that I annoyingly couldn’t reproduce on my end. Funnily enough, it was eventually discovered that the reason I couldn’t reproduce this bug was due to the white darkmode toggle button blending in too well with our white background, essentially making it disappear. Even funnier, this issue only visible on widescreen monitors (my browser monitor is portrait.)
Lastly, I also find myself getting more and more interested in the world of Microservices. Ray and Professor Dave are starting a REALLY interesting discussion and I’m very interested to see where it goes.
Friday is finally upon us, and I started off my day by participating an a meeting with Doctor Josue, Anton, Ilya, Abdul, and Professor Dave. Unbeknownst to me, this meeting would span a whole five hours. (and this is how you know you truly love something: when five hours flies by and strangely enough you’re still ready for more.) The purpose of the meeting was to help out Ilya, a fellow contributor, get his work in before our 1:30PM deadline. We made it in time and I learned some new git features (git cherry-pick
), and some new TypeScript features by watching my fellows voraciously hack away at a new addition.
Our Friday triage meeting was as entertaining as always, although I disappointingly had to tell the group that I couldn’t get my two issues in by our deadline. This week simply got away from me, but I think there’s always a lesson to learn: plan better and don’t over or under estimate the time cost of programming.
However, on a brighter note, the new feature that I took under my (broken) wing is looking positively amazing. The tl;dr is that I’m championing a new database addition to our project to keep track of our Planet Feed List, amongst other pieces of data. I’m not a database guy at all, but I do love to design new additions, and I love to play with APIs, so I get the best of both worlds here. I have a bit of basic experience using Firestore and I’m really looking forward to contributing something that I actually feel slightly confident working on. The best part about this feature is that we’re planning on additional features which will built off this basework that I’ll be doing! It’s in its very immediate infancy right now so I’ll discuss it further on next week’s blog post, so keep an eye out for that. Or don’t, I’m a robot not your mother.
That about does it from me this week. It excitingly exploded towards the end and I’m more and more eager to begin another week in the world of open source development.