Its been about six months since I started building a PHP library to help PHP devs interact with the Datomic REST API. Over one hundred commits later I finnally released the beta version of the project to the public. I announced it on Reddit’s PHP developers subreddit and as expected it didn’t generate a lot of interest. However, on the other hand Patomic was quite exciting to build and really kept my PHP skills razor sharp.
The official GitHub repo can be found at http://github.com/taywils/patomic
The discussion thread on Reddit is at http://www.reddit.com/r/PHP/
In short Patomic was a huge step for me in terms of becoming a better software developer. Ever since I began taking coding seriously in 2011 I was always impressed by the sheer quality and vast number of open source tools, utilities, libraries, frameworks etc… that were just freely available for anyone to download and use. This occured to me when I first started coding in Ruby after having only written C and C++ while using Rubygems. I knew instantly that the Ruby community took a bold step when it integrated the package manager into the core language itself; all of a sudden everyone was hacking on crazy offbeat gems and Ruby I believe at one point was the most popular language on GitHub most likely for that very reason. Anyways aside from my early facination with open source tools I tried several times to create a re-usable library or large project of sorts but always fell short of just completing something or quit when I got to the boring parts.
If there is one thing to take away from building my first open source project its that persistence is key. There were many times when I just wanted to quit, start something new, go work on other code or just shrug and call it a night. Looking back at the GitHub commits the codebase changed so much over the course of the project and it just goes to show you how much time went into re-thinking and refactoring the scope of the project.
For instance look at this here blog, its been a work in progress since about 2011 and this current iteration is the 3rd complete re-write. I often tell myself over and over that one day I’ll just sit down and make it mobile responsive but for some reason I never find the time or some other lame excuse. Anyways as you can tell from the timing of this blog post that its important to just commit to a task and endure the boring aspects. Along the way you’ll pick up brand new skills, possibly meet new people and who knows it just might open up some interesting opportunities.