Posts

Showing posts with the label OpenSource

OSD700 Preface

It's the weekend January 15, 2022. The first of my 6th semester and it is looking like a heavy one.... Though it's fine, because who's classes better to power through no other than Dave's . When I saw that there were 2 classes being delivered by Prof. Humphrey, I stood my ground on the schedule builder and waited patiently for the first moment to claim my spot in his classes.  I got into OSD700 no problem but had to apply for waitlist for the cloud computing class. To my luck, I eventually got in and acquired my carefully curated choices of 4 classes, which are very closely related in that the knowledge, and content found in each of them apply to the rest very synergistically. (P.S. the other 2 classes are Microsoft Azure Technologies, basically another alternative to AWS, and PRJ, our capstone project course in which my group are planning on building a web app) OSD700 // WINTER2022 Boy oh boy, this course is gonna really test me to my limits, I can feel it. Let's s...

Release 0.3 Part II : Cache Money

Image
In addition to a telescope issue, we were also tasked to contribute to another open source project in github. One that we previously worked on was also suggested. Now I would have taken the initiative to find another repo, and in fact I did find an interesting react app issue to work on, however due to time constraints from leaving this last minute, (consequences of bad time management, you'll suffer now AND later) I decided to revisit a repo I had worked on instead, and see if any issues exist that I may make a meaningful contribution on. So I went back to Survol, a chrome extension I had worked on a month ago during hacktoberfest and found a good issue.  Cache the changelog on onboarding page #141  So opening the settings/onboarding page for this chrome app will open a new tab with options to tweak settings and a change log on the right side documenting the additions to each version revision of the extension. This info is used through fetching the Github API. Everytime you o...

Release 0.3 : Telescope and The Quest for Infinity.... Scroll

Image
Welcome adventurers, sit down while I tell a little story of a brave programmer who slayed an issue so boldly, his PR request broke a record all time high of 57 comments. Alright so Release 0.3. Got it done right on time, just by the hair... I took on an issue on Telescope that was to add paging functionality to the search results, which also related to the another issue which is to enable infinite scrolling to the same component. Prior to this, humphd (our valiant maintainer and professor, whos been reviewing like a million PRs for the past few days.) has already added the SWR react hook to implement the same feature but on the home page feed. So I used that as a reference point. Issue #1222 I started work on the issue and first tried to implement the swr react hook with the current search components we had. This was confusing and tricky since with a search page we want to wait for the parameters for the search to be entered and then wait for the user to click the search button befor...

Static Analysis Tooling

Image
With a small scale project that only involves a few coders, styling differences are a minor nuisance. But with a larger scale project involving more coders with different habits and stylings, the tab users and space users might start the next civil war of our time. Therefore we use static analysis tooling to moderate and standardize the styling used in a specific repo. This week our professor has tasked us with implementing static analysis tools in our link checking project. Before this lab, I've had prettier and eslint installed on my vscode as extensions but never fully understood and used them to their potential. But this lab cleared a lot up regarding these topics. So I installed prettier as a dependency and generated a config file with a few rules to test out Then I added a few files/directories to an ignore file to skip formatting some files. After that I tested out the formatting by running npx prettier --write . In addition to prettier, I also installed ESLint for further f...

Lab 6 : Link Checking Telescope

Image
This week, we put our link checking program to use with telescope, an aggregated blogging site for all of the current and past OSD600 students dev blogs. Last week I blogged about working on the site by contributing to an issue. Our professor tasked us this week to check links for the 10 latest posts that appears in telescope using our link checking program from earlier this semester. So unlike the other students that haven't worked on telescope yet, which you can read about 2 posts back, myself (and a few others I expect) have already got telescope setup and have long since beaten that huge struggle. I'd look at the slack chat and I see everyone running into problems left and right, and man do I really feel for them. Took me a while to get it running initially, but fortunately I can go straight to implementing the link checking feature in my program. So I thought writing the feature would be fairly simple, and for the most part it was. First, using the api with the url 'lo...

Hackvember-fest , PR#4.... days late + Conclusion

Image
A lot of tabs were opened today... And yes most of them were stack overflow threads, and react docs, and dev blogs, it was real satisfying being able to close all of them. However with all these information in aid for my quest to fix an issue, I've finally done it tonight. My 4th PR.... which is 4 days late. Oh well, I learned a lot today and that's what matters. So about 4 days ago I started working on an issue in this repo. It's called papercups and its an open source live customer chat web app, backend written in elixir, and frontend with typescript/react.  I found this repo a while back last month but was scared to touch it because of all the technology that built the app and it intimidated me. But with last weeks newfound confidence after setting up telescope and working on that, I was eager to try this out. So I found a relatively straight forward (yeah, right) issue to add an edit functionality to one of the pages for the customer data, and asked the maintainer if I ...

Hack.... vemberfest.. PR No. 3

Image
OK so this is pretty long overdue (sorry Prof!) And I still have one more pull request to go and that's on me yes. BUT, this week I spent working (or should I say learning) on our course's aggregated blog website which coincidentally, our prof is making us work on this week for the lab, so I guess I got a good head start going on.  So I took on an issue that seemed pretty straight forward in the repo. It was to change the functionality of the search bar when filtered by author. Seemed pretty straightforward enough, so I went ahead, forked the repo and cloned it on my computer. Now the reading begins, the lengthy process of coding. And the fact that this was a whole website coupled with different technologies that I'm not familiar with only made it waaayyy longer, which maybe is a sign that I should have started working on this much much earlier. But that's what happens when your time management skills is hot garbage. Anyways, I spent the next few days learning about eac...

Git : Rebasing Refactoring Amending

Image
As if I still don't know everything about git. This week learn about rebasing and amending, rewriting git history as the prof described it. So let's say you're writing a word document and you're in the editing phase. You violently mash Ctrl+S every time you make a small fix. Adding punctuation, deleting a word, making a new line, you save again and again and again. Now imagine if you had a log for every time  you save that file, like a git commit. Now that's a lot of entries, and we as coders do this with git commiting as well, but with git saving and tracking each one of those commits, our logs get a bit convoluted and messy. That's why git rebasing and amending is here to save the day. So for this week's lab our prof wanted us to practice these new git concepts by polishing our code and git commiting to our hearts content, since we will be rebasing in the end. So I made my changes and made a couple of commits to the code. Once I was satisfied with the chan...

I Fixed a Typo!

Image
I've done it. I made my first official contribution to the world of open source development. I fixed a single typo. This week's been pretty busy so I haven't gotten around to participating in hacktoberfest, which is pretty much our assignment for this whole month. But this weekend I got around into exploring github and its millions of repos. It's pretty amazing to see all sorts of projects that are hosted on the website, from personal to big projects, from react applications to google chrome extensions, there were a lot that caught my eye. The hard part was picking one that felt like I could contribute to. Ultimately that's the goal of this whole assignment from our professor, dipping our toes into the world of open source and making baby steps in contributing to them.  The 1st of 4 pull requests that I will be making this month consists of a typo. A minor one that I managed to notice by chance whilst I was testing out the app. A lightbulb lit up above my head and I...

Journeying through Git Merging

Image
So this week Prof H's has got us experimenting with multiple branches for our program and merging them altogether. The first part of the task seemed simple enough, the features that were required were not that much of a headache to code. The real challenge here is merging 3 branches altogether that's been coded separately. It just seems like the more you learn about git, the more you realise you barely understand it. And that was the challenge this week with the merge feature. The final merge tree of this whole debacle So I created 2 different branches and went to work on adding the features. I added an option to the CLI program that would output a json array of the URLs and their status' And in the other branch I added another option, of 3 different flags that would filter the url outputs based on their results. Once I was done with these commits, it was time to merge them. Merging the first issue was fine, because it was essentially a fast-forward merge, but a little note...

Pull Requestin'

Image
This week in my Open Source endeavors, our task was to delve deeper in the open source world and try our hand in contributing more by using pull requests. Our professor had tasked us to add a feature to any of one of our peers' programs. Simple enough, except this would be my first time actually tinkering with someone else's code to add an actual contribution, pretty exciting. So I looked through the list of repos of the class and I decided that I wanted to step out of my comfort zone and try out a program in a language different than mine. Currently, I'm taking a web development class using ASP.NET and wanted to polish my skills in C#, so I found a perfect repo for that from a coursemate, Zayed. CheckLink  [ https://github.com/abuZayed15/check-link ] I thought "wow that sounds pretty similar to my program..." so it must have been the perfect fit right? Regardless, I was already quite interested in trying out C# programming and so I read and I learned. My previous...