Skip to main content

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 adapter design pattern. Just like a hardware adapter (such as those electrical outlet converters you can find at airports), a programming adapter converts one interface to another. But rather than reading me ramble about it here, why not check out my commits? If I've done my job, hopefully you'll learn a thing or two! You can find my pull request here.

The adapter design pattern is, in many ways, like an outlet adapter!



With this week 2 contribution, I've fulfilled another one of the personal goals that I'd set for myself in a previous post, and that is to contribute using something I wanted to improve on. It has been a while since I've touched C++ code, and it's always good to brush up on design pattern fundamentals!


Comments

Popular posts from this blog

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...

DPS909 - Release 0.1 - A Fork in the Road

Hello friends, welcome back to my journey into the world of open source. Continuing from the last milestone (in which we explored pushing a simple app to Github), this time I begin to scratch the surface of a major aspect of open source - community contributions. For the Release 0.1 deliverable, I work alongside my fellow classmates from the DPS909 course, as we work to review and bugfix each other's work. For reference, we all created the same, simple note-taking app, but each programmer's individual preferences resulted in slightly different designs with unique source code. According to proper Github etiquette, users wishing to contribute to a project should first fork a version of the repo to their own Github account. Then, a separate branch of the repo should be made to specifically address the contribution being made. After the changes are implemented, a formal pull request should be submitted to the official project repo, so that it can be reviewed by the original auth...

DPS909 - Lab 2 - Git Practice: Simple Noter App

Once again, I am continuing my journey to become a full-fledged member of the open source community. For this small milestone, I am practicing the creation and management of a Github repo using git bash on my local machine. For test material, I have created an incredibly simple, browser-based sticky note app, appropriately called Simple Noter. For those interested, the final product is hosted on Github Pages, and can be found here: https://jerryshueh.github.io/simple-noter/ The app itself is very basic - simply type a note into the text space and hit CTRL + X to save. Your note will be saved between sessions until you clear your browser's local data. It uses a number of open source and free-to-use resources, such as Kenny Wong's Hotkeys.js , and Google Fonts. By the way, something I've learned is that all Google Fonts are distributed under the SIL Open Font License, which allows anyone to use and modify them for personal or commercial purposes. As for the learning proce...