Articles

I Made My First Contribution to an Open Source Project

Recently I decided that it was time I started giving back to the open source community that has given me so much value throughout the years. I rely on so many amazing open source projects each day… It truly is amazing how much we can accomplish when we work together. First PR

Choosing a Project

The first step in making a contribution to the open source community is choosing a project. To aid in this process, I utililzed the GitHub explore feature. This made it easy to find lots of lively projects that could potentially be good candidates for a first contribution. After some searching I found Memos. For years I have been (stupidly) using a private Discord channel as a place to store quick notes, materials for later reference, and even code snippets. While Discord certainly did this job well, it never sat right with me that I was using it for this purpose. What if Discord shut down one day and I lost all of my data? This is why Memos stood out to me. Memos is a self hosted twitter-like feed of personal notes. It also has social networking features in case you wanted to share your memos with others (think household grocery lists, recipe links, etc.) After spinning up an instance of the web app on my server, I was sold.

Perfect Digital Footprint for Senior Citizens

If you are anything like me chances are you know several technologically challenged individuals in dire need of some assistance in managing their computers, technology, digital footprint, etc. As technology progresses things will only get more and more difficult for older folks to understand and adapt to. On top of this, rampant scams, viruses, and traps cause uneducated computer users to get taken advantage of, or even have their data or money stolen. This means that it is up to us younger folks to make it as easy as possible for our elders to safely use the technologies that our society has quickly begun to force everyone to need.

Recovering Files from a Computer that you just Installed Linux on (or otherwise wiped)

As someone who frequently installs new Linux distros on lots of different systems, I am no stranger to the process of packing up old files, wiping hard drives, and moving files back onto a device. However, recently I learned a very valuable lesson from a Linux install gone sour. I backed up all my files onto an external ssd, wiped my laptop, and installed the latest version of Linux Mint. Once the install process had finished, I plugged in the external drive and began copying files back over to the laptop. Mid way through the transfer an error message popped up. I unplugged the drive and when I plugged it back in the laptop was unaware that a new device had been plugged in. The drive died leaving me with just a small ounce of hope that I could recover any files that weren’t written over.

I Made My First Contribution to an Open Source Project

Recently I decided that it was time I started giving back to the open source community that has given me so much value throughout the years. I rely on so many amazing open source projects each day… It truly is amazing how much we can accomplish when we work together. First PR

Choosing a Project

The first step in making a contribution to the open source community is choosing a project. To aid in this process, I utililzed the GitHub explore feature. This made it easy to find lots of lively projects that could potentially be good candidates for a first contribution. After some searching I found Memos. For years I have been (stupidly) using a private Discord channel as a place to store quick notes, materials for later reference, and even code snippets. While Discord certainly did this job well, it never sat right with me that I was using it for this purpose. What if Discord shut down one day and I lost all of my data? This is why Memos stood out to me. Memos is a self hosted twitter-like feed of personal notes. It also has social networking features in case you wanted to share your memos with others (think household grocery lists, recipe links, etc.) After spinning up an instance of the web app on my server, I was sold.

Memos

Actually Contributing

While I have a decent amount of experience when it comes to Web Development, I have never worked with a large scale project like Memos. It took me a while to orient myself in the code base and to get a feel for all of the tools the project uses in its tech stack. After looking through the code for a few hours, I searched through Memos’ issues page scanning for something that looked doable. I didn’t find anything I felt comfortable tackling, so instead I began to look for my own bug. As silly as it sounds, I found a few spots in the menus where there had been typos. So, I made it my mission to fix these typos and submit my first pull request. Quickly after my first contribution, I read and responded to a request for updated documentation. While zipping around Memos gather info for the documentation changes, I found a small bug! (Rounded Corner on top of Square element)

Small Bug

I knew exactly what to do. Submit an issue, create a new branch in my fork, fix the bug, submit a PR and bada-bing bada-boom we are slowly helping the project improve :)

Small Bug Fixed

Quick Aside

If you’re reading this and you are interested in making your first contribution, here are the steps you should take to get started.

  1. Make a fork of the project you are looking to contribute to.

  2. Once you have found the bug or feature you want to work on, make a branch with a similar title to the target issue or feature.

  3. Work on your changes.

  4. When your code is good to go submit a pull request from the original repo. At the top of the page there is a link that asks if you want to compare across forks. Click this and choose your fork and the feature or issue specific branch.

  5. Create a thorough, yet clear and concise description of the changes you made in this pull request.

  6. Submit your request and wait. Depending on the project it could take a long time before the maintainers are able to review your changes. They may even suggest changes or deny your request.

Conclusion

At the end of the day, I am so happy I finally took the leap and started contributing. I have found this to be a really fulfilling experience and I am extremely excited to keep working together with the community to make awesome projects. If you have any coding skills and haven’t contributed to a project yet, I highly recommend doing so!