Objective Decisions
Prioritisation of Panic
Let me start off by asking the folk on this platform one question. Imagine a scenario that you had lost something important with multiple potential negative consequences. For instance losing a bunch of keys including your car keys, your house keys, your changing room locker keys and a USB stick. What would be the greatest cause for alarm? I suspect that while there may be many possible answers aligned with each individual’s life priorities, the real men in this group know that the most feared is the reaction following the revelation to the wife. For while any calamitous occurrence may be approached objectively, with rationality, reflection and hopefully recovery, this particularly troublesome phase involves heightened emotions, reactivating Mrs Saif’s indelible memories of my many past failings. Objectivity, while desirable in principle, has to deal with such a tainted history.
I won’t elaborate further on my survival. I have survived. Barely. Indeed, over the years I must have acquired as poor an ability to remember traumas, as Mrs Saif is good at recollecting them. I haven’t figured out whether it is a natural self defence mechanism shielding me from PTSD, or whether it is a blessing that with age comes a little deafness, poorer eyesight, slower reactions and a reduced residual capacity of my intra-cranial hard-drive. But either way my poor wife’s vain attempts at reforming me, making me a better me, is met with the resistance caused by my irritatingly chilled attitude, constantly in perpetual denial of any need to change, and being so easily distracted.
This experience may help understand the general antipathy or indeed apathy towards any radical change from that which had been established over years. Objectively, a modern object orientated infrastructure within the core appears desirable. But such a goal is not a well defined endpoint. While there are a number of excellent bolted-on frameworks in CPAN, there are differences in priorities and performances. Entry of this form of modernisation into the core without upsetting core values is always going to difficult.
But this work is even more difficult for the poor core developer working on this task. He relies on feedback, without which he finds himself providing a valuable community service without any indication of what the value of his efforts is to that community.
So I decided, while watching a rubbish, inane but ludicrously popular game show, that for once I will make an effort. Not a personal resolution to be more responsible (apologies to Mrs Saif). I am too old for that malarkey. I will use Object::Pad
. I will try and replicate this game in an attempt to learn this new way of programming. I will try two things…Firstly by emulating this game using easily identifiable objects, secondly converting a module I have been using into one using Object::Pad
. Then I will report back my personal experience of this style of coding. As a disclaimer, I have only ever used classical packages in Perl so am unable to compare with Moose
, Moo
, Venus
etc. I am also as messy at coding as I am in my head.
Deal or No Deal
A simple game where the player has to only answer one question to win money, while captivating one half of the audience, and mystifying the other half at how this could possibly be called entertainment. It seems simple enough to code. We have a “Game Board” object, containing a series of “Box” objects. The boxes each contain a random “Money” Object. A “Banker” object and the game board interact with the player via Objects representing the “Display” and the keyboard “UI” derived from old packages I have lying around. These objects may each have methods for drawing or undrawing themselves, or sending a message to the player, and responding to the players choices.
My effort has been so far remarkably smooth. Using signatures, auto-magically generated setters and getters has made this a remarkably straight forward and efficient process. The game is not yet complete…the biggest attraction of this game is not the challenges it poses but the “banter” and the suggestion that there is any skill or strategy involved. A reasonable algorithm for identifying what the banker should offer would also be interesting. My next post, once this game is completed, is a little review of how the whole experience has been for me, the visible benefits and drawbacks if any.
“`
On the keys thing: I now have a bunch of AirTags: one on my keys, one on the waist pack that I use to carry wallet, sunglasses, etc., and one in my backpack, acquired after I terrorized myself by losing the waist pack for a couple hours while on travel solo. (I had put it on a chair with clothes lying on top of it.)
It's now much easier for me to pull up Find My and actually find things, which are usually misplaced and not "lost".
Agreed. Obvious after the event for me, and being a cheapskate, I got some cheap equivalents of Airtags. The "GPS" thing only appears to work as a "last location when connected" and not while (possibly) travelling in a bunch of laundry with a whole pile of theatre greens.
People who work on things people actually want or need tend to get the feedback. I think that's pretty obvious Object::Pad and Perl OO in general is not interesting and nobody is clammoring for it. It's a solved problem, meanwhile things like "any", "all", and other properly idiomatic things that move Perl forward is of great interest. Meanwhile, people are trying to cause repeated trauma or PTSD to the Perl community by way of YET ANOTHER ATTEMPT TO CHANGE THE PERL VERSIONING. Whatever trauma Mrs. Saif inflicts on you, it is peanuts compared to the trauma some people inflict on the silent majority.
LOL, Mrs Saif wants a version upgrade from me too...but really it isn't that traumatic. Her being upset comes from a good place. As do things that go in the Perl community. We have all different wants and needs, and "modernisation" is one goal that has many facets. I have tried Object::Pad, and I do find it makes things easier, and coding feels perhaps a bit more streamlined, and objects appear better encapsulated. As many people in the Perl community seem to want change as those who prefer the inertia of the existing way of working. If Perl usage is declining, and one wants to prevent that, one might look at many targets for improvement rather than targets to strike at; our goals, I believe are the same, and while we may approach any problem using domains of our experience and expertise, these diverse approaches are not necessarily incompatible with one another.