The word "pulp" might bring to mind the image of a soft, wet, shapeless mass of material. And in the realm of software, this definition isn't too far from the truth. In this context, "Pulp" is my versatile hub of applications, an amalgamation of APIs that serve various other applications and websites I use. Picture it as a digital kitchen sink, where every conceivable need can be met, with the right combination of app interplay.
The genesis of Pulp is a story of adaptation and evolution. At the end of 2022, Heroku, a well-known cloud platform service, made the decision to cease offering free dynos – a unit of computational power on their platform. This decision significantly impacted many developers, myself included, who had been relying on these free dynos to host various apps that were, at first glance, not quite essential enough to justify a financial investment.
For me, these were a collection of apps that were in various states of development and deployment. As time went on, though, I found that some of these "non-essential" apps kept creeping up into my day-to-day tasks, becoming minor yet noticeable pain points in their absence.
The Pulp system has an activeadmin interface, a Ruby on Rails-based framework that provides an admin dashboard to help manage data within the application. This interface is a critical feature for manual Create, Read, Update, and Delete (CRUD) operations. However Pulp lso serves another purpose: it acts as an API for automated CRUD tasks.
At the time of writing, one of the tasks Pulp handles is taking my daily commits and logging them into a database table. This data is then used by my changelog application to ingest and display my contribution information.
Another task is linked to my bookmark application, which currently uses the aforementioned activeadmin for manual CRUD operations, but plans are in place to automate this process in the future.
The future of Pulp is fluid and ever-evolving, with additions planned on an ad-hoc basis. These updates will be shared either through this medium or the repository wiki. However, it's important to note that while Pulp is a Ruby on Rails (RoR) application, its code isn't perfect – yet.
The adage "Make it work, make it right, make it fast” is an apt description of the current state of Pulp's code. I'm satisfied with the tests, but I am aware that I need to iterate on the code to improve it. It may not be up to the standard I'd typically commit at work, but it accomplishes what it needs to, and I am confident in my ability to refine it in time.
The phrase "the enemy of perfect is done" resonates strongly with my journey with Pulp. In software development, the pursuit of perfection can often hinder progress, but I am happy with where Pulp is at this moment. I am also committed to laying out and addressing the issues in future iterations. Pulp, like any software project, is a work in progress—a soft, wet, shapeless mass of potential that is continually being molded into something useful, efficient, and adaptable.