|Think about Loose Coupling|
OT: A Volunteer's Lamentby Sandy (Deacon)
|on Oct 12, 2009 at 02:27 UTC||Need Help??|
Once upon a time, there was a young humble programmer (ok, not so young) who wanted to use perl to improve the world.
As life would have it, there was not a lot of opportunity to solve world hunger, or create ever lasting peace via a computer language, so she had to settle for something a little less dramatic. With one young son in elementary school, the school seemed to be overflowing with young minds which could be brought to the pleasures of Perl.
A plan began to bubble forth, and congealed into an idea... teaching the older children how to program, using Perl. After school. After classes. For free! I repeat, for free! She approached the court with a plan, to be told that much consideration must be given before allowing an unknown subject within the castle walls. Access to the magic of the computers could be potentially dangerous, although how so, the court did not seem to know, only that they had been told by the great IT wizard that said that this was so.
After many months (I am not kidding here, it took from the beginning of Sept to mid-November), the court decreed that, in spite of no blessings by the IT wizards, that they would take the risk.
At this point, the humble programmer's trusted man-servant and she taught (or at least attempted to teach) the wonders of Perl to the young vassals, and helped those interested minds find the beginning paths to the wonders of computer programming.
Through this journey of 14 weeks, the Queen never once took notice of this humble programmer, nor of her quest.
However, the humble programmer's reward was the joy on the children's faces when they could make the computer make farting noises on command! Ah, the joy of youth.
Quest twoA year passed, and this humble programmer once again felt the urges to save the world. And once again, many lofty pursuits seemed beyond the skills of a simple programmer. However, having approached the courtiers of the court (home and school association) and offered her services, a new quest came to light. It appears that the lofty web site had gathered dust and required a good cleaning.
How, the programmer said to herself, could a good cleaning truly be a noble quest. Once cleaned, dust would simply gather again and again. Perhaps it was time to bring forth the heros of web development, Earl Template, Duchess CSS, and Duke Content Management of System.
But there are hazards on this quest. The Great School Board Server was protected by the mighty IT wizards, who allow no Open Source Software to dirty their pristine MS environment. None shall enter (or have access to) the Great School Board Server.
So the quest begins, and with the help of the magic of Perl, the magic of wiki, templates, and css, a peasant's Content Management System is devised that will allow the court to manage the web-content via very simple wiki, and beautiful pages of html shall be produced. The only thing missing is the magic incantation to put these html pages on the Great School Board Server.
The Queen and her trusty servant, who dabbles in web-magic, were petitioned for a hearing. The trusty servant, able to produce web pages with minimal flair, was not interested on expanding her knowledge of web-magic, nor was she interested in modifying the results of her incantations. All shall remain as is.
As with all great tales, the fates intervened. The Queen's trusted web-dabbler moved on to fairer shores, leaving this castle with no one to spin-webs. During the summer months of inactivity, our humble programmer worked feverishly using her magic incantations, and the mighty web heroes, to transform the dusty dried web into a dew-sparkled work of beauty (ok, a little exaggeration, but this is just a story...). The new dew-sparkled web site had been infused with the magic of java-script drop-down menus, starting only with a single drop of YAML text, a drop of templates, therein multiplying to all of the web pages, so each would share a common core. In her quest for simplicity of maintenance, our humble programmer had decreed that nothing shall be written twice. Pictoral tales (appropriately sized for the great internet) of great sport or celebration can be conjured with a simple flick of the wrist. The goal, again, was to provide magic where the incantations could be performed by those not in the least bit skilled in the art of spinning webs.
During this time of feverish activity, she joined forces with another knight, highly skilled in the art of Volunteer. The two schemed unabashedly to defeat the curses that cause outdated websites. When the court came back from holidays, requests for hearings were once again put forth. The Queen took no delight in outsiders' help, and would have no discourse with either of the two subjects.
True to her skill as a great volunteer, our Knight petitioned those even more powerful than the Queen, beseeching them to ensure a reputation worthy of new enrollment by painting the web in beautiful colours. "It has already been done", she cried, "the only thing missing is the transfer to the Great School Board Server". And lo and behold, the greater powers decreed that this shall be done.
Although a great achievement had been attained, the quest has not yet ended, for there still lurks the curses of dusty and dried-up websites. The Great School Board, where great decisions are made, hired a young eager apprentice web-spinner, not only to aid the Queen in this story, but all the Kings and Queens under the umbrella of the Great School Board. However, this poor apprentice was shackled with the curse of 'no open-source', and could not have access to our humble programmer's magic.
What, pray tell, shall be done? The Queen has at her side, a fair young maiden, wishing to be indoctrinated in the arts of web spinning, or so the Queen claims. Overtures were made to this young maiden, with promises of spells and potions to recreate and enhance the freshly dusted web site. Deafened by what we know not, the young maiden made no reply. Again and again our humble programmer and Knight Volunteer made overtures, and again and again they fell on deaf ears. Pleas were made to the Queen. "Help", they cried, "we do not wish to see the freshly spun web dry up into dust, it must be constantly freshened. Please do not let it lie fallow."
The Queen responded by ignoring the two servants, and appealed for web-magic from the young apprentice at the Great School Board. The apprentice in turn could not offer what was required, as she was busy with spells for other kingdoms. The not-so-young humble programmer almost gave up the quest, but was heartened by Knight Volunteer's stories of noble quests, completed in spite of many obstacles, where the rewards were many. The Great Knight Volunteer also recounted tales of appreciation by many of those in the court.
Faced with many appeals and cries of outrage by our valiant Knight Volunteer, the Queen condescended to request website dustings from our humble programmer. However, the ever mystical username/password required to upload to the Great School Board Server was still unknown to all within the castle walls. The young maiden, whom it was said wished to be a web spinning apprentice, was still mystified by all that said "html".
Although freshly dusted html sits on our humble programmer's laptop, the website itself begins to gather dust. Our humble programmer begins to feel that the quest was not so noble after all, because no matter how pretty, an out-of-date web-site is simply no better than the out-of-date information contained therein. The humble programmer and the Knight Volunteer were again beseeching all and sundry for someone, anyone to ask for and obtain the mystical username/password so that the castle web-aspiring apprentice could at least upload to the Great School Board Server. All requests were ignored.
"What to do! What to do!" cried our humble programmer and Knight Volunteer in unison. Our Knight Volunteer grabbed her lance, her armour and her unshakable determination, and went forth to confront the Queen. Unknown to our fair Knight, the Queen employed the evil of unknown forces, who sent a Dragon to swallow our fair Knight whole. The Dragon was successful at knocking the fair Knight off of her feet, and declared that the Knight Volunteer must never again involve herself in anything to do with the now dusty website.
The humble programmer, unaware of the of Dragon or his intentions, arranged an audience with the Queen. "Much goes on in my mighty kingdom that you are not aware of", says the Queen to the programmer. "All spinning of webs must come from me or one of my own. It is not allowed for outsiders to be privy to our magics."
"But", cried the humble programmer, "I have repeatedly beseeched you and your aspiring web apprentice for an audience so that I may impart my thoughts and experiences, as well as to deliver the magics and potions that can create web sites with a few simple incantations. I have been repeatedly ignored. My only humble request is that this meeting not take me away from those tasks that, indirectly, put food on my table."
The audience has been tentatively committed for two weeks from this telling.
Our humble programmer is no longer eager to save the world from anything. Our humble programmer wonders if the Queen should have access to her magics before they are dispersed into the winds via CPAN. However, hubris (one of the three virtues of a progammer) makes our programmer very proud of her work, and the resulting website. There would be great disappointment if the website did not take root and flourish. "What to do?"
If there is a moral to this incomplete quest, it is simply
"Do not volunteer your efforts, no matter how noble, no matter how supported by those around you, unless the Queen Bee wants your help."
What to do?