Thursday, December 4, 2014

The Grand* Finale

Pull Requests Associated with this Milestone:

Filer Issue #303 PR
Appmaker Issue #2338 PR

With the hope of not sounding overly dramatic, past week and a half has been quite overwhelming in just about every direction in my life. Pertaining to my plan for the 0.4 milestone though, my original plan for fully realizing a live iframe instance of the remixed app template was deemed both too onerous and unnecessary for its function due to factors such as the ever-changing Webmaker tools pages and assets that would make for a very volatile environment to try and parse or retrieve data objects reliably for a long period of time. My 0.3 implementation is apparently more than sufficient in its current state, and all that was requested of me (as briefly described in my earlier post) was to fix up the URL reference to an HTTP route that they will add functionality to in the near future, and merge my solution shortly thereafter.

This turn of events has left me scrambling for a suitable alternative in a very constrained and stressful period of time. I quickly perused through a handful of Mozilla project code bases I'm familiar with for anything of remote reasonableness to my sought after goals for this semester's end. I quickly recalled leaving behind a very small Appmaker bug I was assigned a month or so ago by Scott Downe involving a couple value setting additions in JSON objects in lieu of my 0.3 milestone. Most of the effort for implementing this involved asking Scott where the JSON blobs were located in the codebase so that I can simply inject the properties and call it a day. This was a start, but something more sizable and challenging needed to complement it for a respectable release.

It was at this point that I turned to an early project I contributed a little code to at the start of my work with CDOT this past summer - Filer. An issue Mozillian coding tour-de-force @Modeswitch put up dealing with rebuffing an old performance test of his for this module in order to be run both in node and in the browser, as well as cater to a provider-agnostic configuration seemed to fit the bill. This required a complete reintroduction into my knowledge of Browserify, as well as a bit of a refresher crash course into some filer methods and invocations. I needed help with this one, and thankfully, I managed to get some time and guidance from former CDOT team members Gideon Thomas and Kieran Sedgwick on my options and concerns of how to get started and solve this bug. As per the link on the top of this blog post, a pull request is already up, and I'm still not 100% sure of my solution, but after requesting review from all the major Filer contributors, so far the only corrections I've had to make were minor. I am waiting for good news either way - be it more input on how to complete this if anything was left out, or an "r+" and a merge into the master branch.

I wish I could have done something even more substantial to conclude my time in this course. It's been inspiring, and it's also been a wonderful opportunity for me to keep my open-source skills sharp from my summer position. The open source philosophy and its realization has now left me spoiled; I often seem to feel that the work I do has genuine impact, and as a person who's no stranger to needing assistance to overcome logical hurdles in the realm of programming principles, it is available and many times happy to try and turn my shortcomings into strengths. I will inevitably get back to this type of work in one of its many shapes. I'm hoping to acquire a post-graduate position at CDOT to further enrich my experience with this work, and my upcoming group implementation project is heavily influenced by open source workflows and intends on emulating those in order to achieve greater and more efficient productivity in its development lifecycle.

It has been nothing short of a pleasure to be a part of David Humphrey's world, whether as a student or a research assistant. I owe this man much gratitude for extending and bequeathing his passion unto me. I do not take that lightly. I very much hope to still remain a part of it for years to come.