Software Engineer, free software enthusiast, aspiring musician, and an indie game developer prototype.


Data loss: and now what?
Jun 4, 2020 |
Quarantine Notes
Mar 29, 2020 |
Jan 1, 2020 |
1st Gamedev Meetup of Southern Santa Catarina
Dec 6, 2019 |
Imprima - First Game Dev Experience
Oct 31, 2019 |


programming , indie game , game development , meetup , ruby , gem , open source , flagit , python , flask , serverless , dynamodb , vuejs , quarantine , covid19 , data , infrastructure , postmortem

#programming #ruby #gem #open source #flagit

So I’ve developed a ruby gem. It’s not revolutionary, the code isn’t complex, it has no magical solution to a problem that we face everyday. But why do I love it so much? Because it was my first gem, it fits my needs and it was really fun to code and I will tell you why.

One day I was messing around with physics on Unity 2D, more and more power was being added to the main character on each commit that was pushed to master. After doing the basics I was trying to come up with something like a “sticky wall”, when the player sticks to the wall, like in Super Meat Boy, Celeste and Towerfall, all by Matt Makes Games (they are a GREAT inspiration for me as a game developer prototype).

Super Meat Boy sticking to the wall when jumping.

When I finally pushed the commit I was so happy and proud that I wanted to tell my friends, I wanted to tweet about the “sticky wall” and how much I was excited with game development. That’s when I thought

There must be some tool that allows me to tweet without leaving the terminal. Actually, I bet there is something that makes it easy to tweet my last commit URL.

There wasn’t. At lest not that I could find at that time. So I kept thinking “How difficult should be to code something that tweets for you?” And actually, it wasn’t that hard. I found some Ruby wrappers for the Twitter API, did my own version of a Tweet client, put it together with the Git gem in order to indentify the last commit and get its URL and voilà, I had all I needed to build Flagit.

What amazes me the most is the hability of identifying the oportunity to build, create and innovate instead of accepting the reality and dealing with what you have already been provided with. I could just have looked for the tool, found out there wasn’t any and manually tweeted it myself. But I wanted to build a gem for a long time, and that was the push that I needed.

This post is more about the “why” I did it, instead of Flagit itself. But sure, if you are working on an open source project and want to announce some contribution or even some update on a personal repository, you should use Flagit, it will make things easier for you in no time. And if you come to a situation where you wished there was something that did XYZ tasks for you, just build it. Build the thing you were wishing for, analyze how difficult it might be and consider if it deserves your time or not.