Today, I made my first "pull request" on Github.

Github is a web-based version control environment that is used mainly to manage software code, and most of the code is open-source. It works basically like this: there is a central repository of code checked-in or "committed" (also called "pushed") by people who write code, to Github. In order to work on the code in a decentralized fashion, but still retain control over the quality of the source code, this distributed sytem has been created.

So, I checked-out, or "fetched" a copy of Postly, a Ruby API wrapper designed to work with the Posterous API. I was happy to see some of the basics had already been worked out, such as posting request, working with comments, and pulling all sites for an account. However, I had a need that was not written into the code. The need was to pull Posterous posts for a specific subdomain, since I manage multiple sites through Posterous. I wrote some code, by adding it to lib/postly/site.rb. It was the perfect opportunity to get up to speed with Git.

Using TortoiseSVN [how-to], Putty, and MySysGIT, I configured my computer, now having the ability to manage Git branches on my local PC and connect with Github.

I forked the existing Postly code [aka "made a copy for myself to work on"]. The original author is twoism on Github. I made my changes to my branch of the code, then "committed" them back to my repository on Github. Then, I made a "pull request", which notifies the author that code is ready for consideration to be checked into a project.

A small step, but its nice contributing to something for the good of the public. It is appropriate to thank the thousands/millions of developers contributing to open-source projects, collaboratively solving problems, by connecting distributed resources in time and space.


A figment of

Afomi is the digital sandbox of Ryan Wold. This site, like myself, is a work in progress. I am always evolving it to better share my inspirations and aspirations.


Ryan is a systems-thinking Product Developer and Designer who practices agile, test-driven, and lean software delivery, while solving problems with people.

Random Notes