Hacktoberfest 2017

Last week, the awesome guys from DigitalOcean launched this year’s installment of their Hacktoberfest… hackathon? I’ve decided to take part in it because there’s a limited edition T-shirt up for grabs. I mean, it’s limited edition. Who could say no to that?

But wait… Hacktoberfest?

For those of you who have no clue what I’m talking about, here’s Hacktoberfest in 3 steps:

  1. Sign up on the Hacktoberfest 2017 website by linking your GitHub account. If you don’t have one, better make one now.
  2. Find 4 public projects hosted on GitHub (or perhaps pick 4 nasty bugs in the same one) and submit a pull request to them. It doesn’t matter if the pull requests are not accepted or merged, what’s important is to get them out there.
  3. Make sure you do this by the 31st October.
  4. Win a free T-shirt! It’s a T-shirt. People sure love T-shirts, right? And it’s free. Do I need to say more?


I rounded up a small list of worthy projects eligible for a wholesome make-it-count PR made by moi. Here they are, least ambitious first:

  1. librini: I love C and use every opportunity I get to flex my flimsy low-level development muscles. One of my C practice projects makes use of INI files to load its simple runtime configuration. At the moment I’m using a custom (1) parsing algorithms for config files which is even simpler than an INI file. This is kind of ropey so I’ll be switching to something equally simple but nicer in the near future. So I found this little INI parsing library which I’m quite happy to use and improve with minor documentation updates and removing compiler warnings. Because nothing feels better than running clang on your C project with -Wall -Wextra enabled and getting no compiler complaints whatsoever. [PR] [Issue]
  2. vault-viewer: I use Vault at work quite a lot. It’s a pretty sound secret management system. The problem with it is that, as much as I love ye olde command line, browsing Vault directories can get a bit cumbersome sometimes. How about we put a simple web interface in front of it? Yeah, let’s do that. How about we add a few quality-of-life improvements to it? Can never go wrong with a few ‘back’ buttons here and there. [PR].
  3. s-tui: good-looking CPU monitoring CLI tool written in Python. I’m currently looking into adding a threshold-based hooks system to it so that if a certain metric (e.g. temperature, voltage, etc.) exceeds a defined upper limit, an arbitrary script is run perhaps to alert someone that their server is toasting itself. PR on the making!
  4. ranger: this is probably the most difficult and annoying of the pack. ranger is my favourite file browser. It runs on the terminal and lets you move around and manipulate files using Vim-like keybindings, which rocks. Long story short, ranger has been dragging on this bug whereby its image preview functionality made images be painted on top of the previous one. This means that if both the previous and the next image previews are of different sizes, the smaller one will appear superimposed onto the larger one. This is annoying and I’d like to fix it.

My plan for the rest of the month is to power through my remaining 2 PR’s. Let’s see how it goes. I recommend you do the same. Help fix things, learn heaps of new stuff in the meantime, get a free T-shirt. So get PR’ing!

1: rubbish

Back to top ↑

Do you have any questions, comments or feedback about this article to share with me or the world?

Send an email to my public mailing list. You can also reach out to me privately if you'd prefer. I would love to hear your thoughts either way!

Articles from friends and people I find interesting

SDL2 common mistakes and how to avoid them

This article was discussed on reddit. SDL has grown on me over the past year. I didn’t understand its value until viewing it in the right lens: as a complete platform and runtime replacing the host’s runtime, possibly including libc. Ideally an SDL appl…

via null program January 8, 2023

DynamoDB Stream to Lambda Filtering With Go CDK

DynamoDB Stream to Lambda Filtering With Go CDK It’s been bothering me that I have a Lambda function set up to process data from DynamoDB Streams that doesn’t use Stream event filtering. All of the filtering was done in Lambda itself, wasting precious CPU …

via adrianhesketh.com December 20, 2022

I shall toil at a reduced volume

Over the last nine years I have written 300,000 words for this blog on the topics which are important to me. I am not certain that I have much left to say. I can keep revisiting these topics for years, each time adding a couple more years of wisdom and impro…

via Drew DeVault's blog December 1, 2022

Generated by openring