Skip to main content

Posts

DPS 909 - Release 0.4 - Quick Weekly Recap

Last week , I talked about my external contribution and the trouble I had with setup. This week, I performed my contribution to our internal project: Seneca Telescope . I wanted to work on an aspect of the project that I had not dabbled in before, so I chose to restructure some code in order to create fixtures. So here's a quick recap of the work I did for this week's release 0.4 contribution. Internal Contribution - Adding Fixtures to Telescope In this context, fixtures refers to elements in a software project that are used to create a reproducible testing environment. In the case of project Telescope, there are certain components of the web app that parse RSS and Atom feed URLs in order to derive the contents of a blog. In order to test these components, we created a "dummy" blog account that produced a very specific feed output when parsed. Since we know what output to anticipate, we can use the dummy blog to test the various parsing components of Telescope.
Recent posts

DPS 909 - Release 0.4 - More Setup Troubles!

External Contribution This week we begin release 0.4 in our Fall 2019 DPS 909 course. I am growing a bit more confident in contributing to shippable OSS now, so for my external contribution I continued by Python work from last week by submitting a PR to another Python-based web application. This time, the project was LibreOffice Crash Reporter , which aggregates crash reports from the well-known, open source office software suite, LibreOffice . I found this tool to be useful because I have used LibreOffice for quite some time on my laptop, which unfortunately did not come bundled with the full Microsoft Office package (student offers are only good for one key, and I used it on my desktop workstation already!). While LibreOffice is a reliable alternative, I can personally vouch that it is a bit more crash-prone than Microsoft Office, which made contributing to the LibreOffice Crash Reporter project all that more interesting for me. The issue itself is simple: there is a dropdown l

DPS 909 - Release 0.3 - Contribution Updates

It's been a very busy week, between school work, work-work, and filthy cold Canadian weather. But, fortunately, I was able to get my PRs in, so let's take a look at what I did. Internal Project - Seneca Telescope As mentioned last week , our Fall 2019 class of DPS 909 has initiated a project called Telescope , which is a blog aggregation app that aims to completely overhaul the old and outdated CDOT Planet website. For my contribution to the project, I decided to code a backend filter that detected inactive blogs. To achieve this, I drew upon some of my old experiences as an applied research assistant and followed the age-old adage - if it's data work in Node, just throw JSONs at it! All jokes aside, the method I chose was simply to parse the blog feeds, extract the latest post dates, and write them to a "redlist" JSON file if they were older than a certain threshold (I didn't want to use blacklist because that sounded too grim). It's a blog feed g

DPS 909 - Release 0.3 - Diving Deeper

Hacktoberfest has come and gone. For everyone who attended and made an effort... hopefully you all got your shirts! For the rest of us... well you win some and then you lose some. But if you didn't, don't let it get you down - the true open source is the friends you made along the way. And speaking of friends, our Fall 2019 class of DPS 909 at Seneca College has decided to do something a little special for our Release 0.3 assignment: we've started our own internal, open source project! To cut a long story short, we've been tasked with developing a web application that aggregates open-source-related blog posts from current and former students of the DPS 909 course. A very old, and very out-dated version of the website current exists here , but it is clunky, buggy, and prone to errors that block up the whole system. It's our job as the current students of DPS 909 to redesign and revitalize this website into something much more intuitive and robust. The repo of our

DPS 909 - Release 0.2 - Hacktoberfest Week 4

It's the home stretch for Hacktober fest! For my final contribution, I decided to tackle my last goal , which was simply to do something fun and interesting. Once again, thanks to GitHub user vichitr and his brilliant project , I was able to quickly find something to contribute. I've always thought that programming algorithms was a good challenge and invited great learning experiences, so for my final PR, I decided to program an example of the sliding window technique in Python. The sliding window technique is a very useful algorithm that is used across many disciplines of software design. It allows users to compare subsets of data (i.e. windows) within a larger collection, in order to find significant items. Personally, I have encountered the sliding window technique during some applied research projects that I have tackled in the past. In a particular machine learning project, I used the sliding window technique to construct subsets of data that were then fed into a separa

DPS 909 - Release 0.2 - Hacktoberfest Week 3

I'll admit it right off: this week, I did not have a lot of time to spare for Hacktoberfest, so I was unable to tackle a new goal (out of the ones I set for myself at the start of the month). Nevertheless, I did not want to jank up the weekly momentum I had by missing a contribution, so I simply opted for a simple one instead. I found a nice project , by GitHub user vichitr , that focused on encouraging amateur contributors during Hacktoberfest, not unlike the last repo I contributed to. Instead of focusing on design patterns, vichitr's project contains a variety of issues that programmers are invited to tackle. I decided to contribute to issue #6 on the repo, which is to implement a data structure in the language of your choice. Since I was short on time for the week, I decided to contribute a threaded tree by overhauling a previous project I did as a school assignment. A threaded tree is a binary search tree that supports easy, in-order traversal of its values. Normally,

DPS 909 - Release 0.2 - Hacktoberfest Week 2

For week 2 of Hacktoberfest, I decided to do some actual coding! Github user ZoranPandovski has an absolutely amazing project that is perfect for novice contributors: simply code an example of any programming design pattern in the language of your choice! The issue can be found here , so please post to the thread if you wish to take part in this project. You can also contribute explanations about each design pattern to the repo's documentation - it's a great way to share your knowledge! Don't know what design patterns are? No worries, there are plenty of online resources to learn about them. Design patterns are a fundamental aspect of programming logic and software design, so if you really want to get serious about programming, then study up! After you've learned all you can about design patterns, why not flex your newfound skills by contributing to ZoranPandovski's project? For my contribution, I've written some very simple C++ code to demonstrate the