An uneventful week as a Project Maintainer (...before a crazy one)
Tags: opensource, github
Published: 2021-01-30 02:10:21

Let's begin this technical blogpost with a quick review of my (meager) contributions this week to Telescope:

> **Reviews**: 4
> **Comments**: 3
> **Commits**: 5
> **Issues Filed**: 1
> **Merged PRs**: 3
> **...Re-Reapproved PRs**: ...1
>
> *These stats are not 100% accurate, just the stuff I haven't missed*

​	Kind of a quiet week for me. A lot of my school work was neglected last week since we were had a deadline to hit and I wanted to push as much crap in before the deadline hit. Same story next week, as [Telescope version 1.6](https://github.com/Seneca-CDOT/telescope/milestone/2) is due next Friday evening. Let's break down the week and highlight some interesting things that happened:

​	As usual our Tuesday's begin with a meeting. It was filled with the usual good energy, we had a few laughs, and as usual I am always excited to meet with the team. I started with a technical contribution: [Porting the BannerDynamicItems](https://github.com/Seneca-CDOT/telescope/pull/1613) component from our Gatsby frontend to our Next frontend port. I'm just waiting on the `<DynamicImage/>` component to get ported before I can test my component fully. I also learned that in Next you can't style a `<Link />` component:

```typescript
<Link className={c1asses.footer} href="/myfeeds" >
Add yours!
</Link>
```

vs.

```typescript
<Link href="/myfeeds">
	<a className={classes.addYours}>Add yours!</a>
</Link>
```
Essentially, the child inside of the `<Link/>` must enforce the styling.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/fw6v2rqcwgsfg7xofs55.png)

​	Wednesday came around. [I find I'm missing some things](https://github.com/Seneca-CDOT/telescope/pull/1614#discussion_r565592378) during a code review process. I think this, like anything else in SE, is a skill that you can learn over time. Just navigating around GitHub is something I'm getting better at, however, I still didn't notice the ESLint disable line (or maybe that's just my eyesight) that another reviewer had noticed. Granted this PR was a big fix and needed to go in, still though. I still think my flow on GitHub has improved dramatically since a week or two ago.

I also helped test out the project in Node 15: We [got a really neat PR that adds Node 15 support](https://github.com/Seneca-CDOT/telescope/pull/1617) from [Mo](https://moho472.medium.com/), another (*awesome*) contributor/maintainer (*who like me, shares a love of public transit*). It also gave me a chance to finally set up [NVM](https://github.com/coreybutler/nvm-windows) (... for Windows) which surprisingly just worked off the bat.

l learned about [React.memo](https://github.com/Seneca-CDOT/telescope/pull/1615) (i.e. *memoization*) when reviewing another PR, something I've never even heard or thought about:  essentially it ensures that a component is only re-rendered if the result **won't** be the same as the first render (basically, if the function arguments are the same, the result will be the same as well, thus don't re-render.) I look forward to trying it out someday.

​	Friday, Friday, Friday. I gave some advice [here](https://github.com/Seneca-CDOT/telescope/pull/1618) to a fellow maintainer's commit issues. I approved The Legend Tony's [SEO PR](https://github.com/Seneca-CDOT/telescope/pull/1566) and kept an eye on it as SEO is something I'm weirdly interested in and have NO knowledge on the subject at all. Between [Anton](https://medium.com/@birtony) and [Humphd](https://blog.humphd.org/) giving me a basic overview during our meetings and this PR, I learned a lot about how SEO actually works. I also watched a Tech Talk from DigitalOcean about NextJS and how exactly it allows for more competent SEO (tl;dr: search engine web crawlers will get served the entire page vs. nothing loading on the client side w/ just vanilla Create React App.)

I submitted a draft PR (also something I haven't done before) of the `<Search>` [component](https://github.com/Seneca-CDOT/telescope/pull/1621), I'm just waiting on a dependency to fully finish and test this PR.

My about [page component](https://github.com/Seneca-CDOT/telescope/pull/1624) is finally done and merged (big thanks to Cindy/Roy/Dave for helping me fix it). Now I just have to think about how I want to  style it, and where I want to go from here. This is a pretty interesting PR because of its potential for future doc additions. I haven't given much thought on how I want to iterate on this yet, but I know that NextJS has batteries included [dynamic routing](https://nextjs.org/docs/routing/dynamic-routes) (which is really neat) so maybe I'll do something with this and simply render all files in the [docs](https://github.com/Seneca-CDOT/telescope/tree/master/docs) folder

Speaking of  docs, I approved a rather old [PR](https://github.com/Seneca-CDOT/telescope/pull/1517) which helpfully added a file on debugging! Something that I always tell myself I'll learn more about but simply never do.

And I'm ending my day by reviewing [Royce's](https://roycedev.medium.com/) [SearchResults](https://github.com/Seneca-CDOT/telescope/pull/1625) component, though there isn't much to report on this as we're still talking about this on Slack. It's a work in progress.

___

___


And in other news, 

I've been spending some time this week reviewing fundamentals and found out that one of my favourite programming Youtubers released two very relevant videos: a [React Crash Course](https://www.youtube.com/watch?v=w7ejDZ8SWv8) and a [NextJS Crash Course](https://www.youtube.com/watch?v=mTz0GXj8NN0) (Thanks again to [Royce](https://roycedev.medium.com) for letting me know.) Good stuff, always enjoy watching his Web Development Roadmap videos.

I finally got a theme set up on [my site](https://chrispinkney.com/), so that's cool. Slowly working on this overtime this semester.

Oh, and I got a new funny avatar for GitHub that my friend Elisa made for me: 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7n983bz0kswz5jmny8vj.png)

Lastly I want to wish a speedy recovery to my Unix Scripting professor Les Czegel, who was recently replaced by another professor due to health concerns. I hope he's already, I only had for 2ish weeks but he seemed to be really sweet and caring.