Html/Javascript widget

Sunday 23 September 2018

Glue code

In software engineering, glue code is code that contributes nothing for the system's goals, serving only to tie loose ends of data structures, like conditions or constraints. It usually happens when an extension (additional feature) is implemented as if on a use case, setting an alternate behaviour to a class by means of a condition, which calls for fragmented code that wasn't originally intended: glue code. This makes original classes harder to understand and their extensions hard to spot at first. Object-oriented development's inability to handle transversal concerns may relate to a lack of more accurate criteria to identify and select the right functional requirements.

Concerns - relevant features grouped by similarity

The ISO 42010 standard says: concern <system> interest in a system relevant to one or more of its stakeholders. Concerns are basically system requirements

A concern can be small or large, general or specific, anything or everything.


Some statements by stakeholders regarding their concerns:

Our concern is to halve the order to delivery time. Stakeholders: Novotny, Bencsch

Our concern is throughput. Stakeholders: Damnd. Software development manager.

Our concern is next financial year budget deltas. Stakeholder: J. CFO. COO.

Our concern is prevention of unauthorised access. Stakeholders: Novotny, Volny

Our concern is the disability access law. Stakeholders: Company lawyer. Software development manager.

Thus a "concern manifestation" is a stakeholder's general interest in the subject matter. A type of concern is entirely contained within one or two system components, being tightly related to the application domain.

Saturday 22 September 2018

RAD and prototyping - a brief definition

RAD stands for Rapid Application Development and is an 80's concept by Barry Boehm in software development which consists in working on a prototype. Its conception meant a drastic contrast to the waterfall model, which was sequential and linear, while prototyping allowed for incremented changes as new requirements crop up until the final product is released. RAD is especially well suited for developing software that is driven by user interface requirements. Graphical user interface builders are often called rapid application development tools and are remarkable for allowing developers to add visual features such as labels, text boxes, combo boxes etc in front of the customer and perform trivial tests with fictitious data as a means to capture user requirements and to form an idea of how the finished system should look like. Thus, the RAD model is based on prototyping and iterative development with no specific planning involved by focusing on gathering customer requirements through workshops or focus groups, early testing of the prototypes by the customer using iterative concept, reuse of the existing prototypes (components), continuous integration and rapid delivery.

Thursday 13 September 2018

The Ring of Gyges

"Suppose now that there were two such magic rings, and the just put on one of them and the unjust the other; no man can be imagined to be of such an iron nature that he would stand fast in justice. No man would keep his hands off what was not his own when he could safely take what he liked out of the market, or go into houses and lie with any one at his pleasure, or kill or release from prison whom he would, and in all respects be like a god among men.

Then the actions of the just would be as the actions of the unjust; they would both come at last to the same point. And this we may truly affirm to be a great proof that a man is just, not willingly or because he thinks that justice is any good to him individually, but of necessity, for wherever any one thinks that he can safely be unjust, there he is unjust.

For all men believe in their hearts that injustice is far more profitable to the individual than justice, and he who argues as I have been supposing, will say that they are right. If you could imagine any one obtaining this power of becoming invisible, and never doing any wrong or touching what was another’s, he would be thought by the lookers-on to be a most wretched idiot, although they would praise him to one another’s faces, and keep up appearances with one another from a fear that they too might suffer injustice."

-jrr tolkien

There used to be a time when I would lose myself in thoughts of what i would do if I had such power. An exercise in whimsical visions, but utterly useless for practical purposes, and even harmful for turning us away from our human capacity for action over thoughtful inertia. I'm proud to say that I'm no longer a victim of the vice to construct pleasurable visuals of a reality that I wish were true. 

Yet, I would fall prey to the temptations that the Ring of  Gyges produces. My motives might be purely egotistical in nature, but still, I know that deep inside I would do something I normally wouldn't under normal circumstances. 

Monday 10 September 2018

Chuukan Kanriroku Tonegawa Episode 10

Start with what seemed to be an otherwise routine check of the Restricted Rock Paper Scissors simulated environment. Everything is apparently set up for the first test of the long-awaited gambling event. Until Tonegawa asks if the cards deposited in the box have any kind of micro-chip embedded in them to activate the count (there is a huge electronic board that is supposed to record which cards have been used). His query is met with a parade of blank expressions, making him realise their answer. He looks for some redeeming quality in their failed attempt at carrying out orders and asks them if the boxes have any mechanism to register the discarded gesture cards. This time he takes longer to realise that they let him down again, taking to his feet and opening the closest enclosure only to peer down at a vast amount of empty space. He's reasonably crossed and asks them to personally sit inside the boxes and manually count the votes. The subordinate body takes that impassively and voices their refusal at this offhand solution. Tonegawa curses at them and storms out of the room, visibly distressed. 

Tonegawa makes it to his old meeting room, which allows him some reflective exercises and to put the whole situation in perspective. Looking back, he realises that maybe he might have been too harsh on them. But he also takes no fancying to the idea that they couldn't figure out on their own that it was obvious that the whole point of the rehearsal was to test the main supporting components in Restricted Rock Paper Scissors. While lost in a pensive mood, the phone rings, informing him to come over and observe the black suits' progress. He picks up an arbitrary card and puts it in the box (those things are more like crates used for storage). Without getting his hopes too high, he observes in wonder as the electronic board is updated at once, divulging the current count of the remaining cards. 

The viewer might be tempted to expect another advancement of the plot, but for Tonegawa there's still something amiss: his curiosity prickles his probing senses, and he inquires about the technology utilised for the working boxes. He lifts the top to check the technology behind the counting feature, and what he finds is Saemon playing a playstation 4 while comfortably seated. The whole interior of the box is outfitted with the latest in video games, with countless options to keep a youngster entertained for hours. Other boxes are opened to assuage his inquiring demands, revealing other aspects of his subordinate team that he was previously unaware of: a Saemon's coworker had always dreamed of owning a personally library, and now he had just that, albeit in a rather confined space. The last display also brings to the viewer a moment of personal affection: the last black suit had set up a form of "cat cafe", complete with 3 kittens that do nothing but cuddle and purr. Tonegawa is speechless, managing just enough semblance of sanity to tell him to keep the feline occupants quiet. 

Even though things aren't going his way, the rehearsal should still go on and they proceed to the part where they have to actually reenact the people taking part in the real thing. The mock gambling session has another quirk: the game turns out to be lackadaisical when the men limit themselves to only exchanging niceties among each other. They might be constrained by the current labour ties, which mandate that their performance should be carried ut in as formal an atmosphere as possible. Certainly not something exciting enough to entertain the chairman. 

Enter Endou, the local loan shark. He makes his very first appearance explaining to Tonegawa that he needs real broke people. A regular passer-through is introduced, his back to the camera and padding slowly across the room. He wears the same garments as Kaiji, until a clear view of his facial features proves that he was just a run-of-the-mill gambler, with nowhere no to go apart from indulging in his own personal petty pleasures. This includes the horse track and pachinko. Other walk-ins are introduced, their backgrounds explained. The intention behind this is to ingrain in the employees responsible for simulating the events to be held abord the Espoir a sense of wickedness to make the playing atmosphere more faithful to what the chairman has in mind. The real question is? won't the chairman be displeased? Only the angle of his eyebrows (and Tonegawa's efforts) can answer this. 

Chuukan Kanriroku Tonegawa Episodes 7,8 & 9.

The next three episodes don't do much to advance the plot. We get to see Tonegawa lecture the blacksuits about health hazards at work when one of them came down ill. He even has all of the rounded up to teach them how to properly wash one's hands and sanitise them every now and then. It doesn't do much when he has to take a temporary leave from work when he himself became bedridden as the result of some wayward virus still managing to overcome his defence strategy and forcing the main character off the action for a couple of days. A regular blacksuit is assigned the role of temporary manager, except that regular blacksuit is a misnomer. This particular blacksuit was chosen to fill in for Tonegawa because he happens to be the oldest member of his team.

There's a whole new subplot about how he left many opportunities slip and now he's working side by side with younger people, something considered shameful from a professional point of view. He eventually overcomes his hesitations and his unfavourable past and does his best, only for Tonegawa to come to work and step into a roomful of coughing blacksuits upon his return.

 Ebitami makes a reappearance, trying to make up for Tonogawa. The latter dismisses his attempts and just tells him that there are no shortcuts to success after Ebitami convinces him to sit through a lecture for an opportunity to make easy money after it turned out to be pyramid scheme. The former Teiai member makes a last ditch effort to impress the titular character by trying his hand at entrepreneurship and starting a new line of lobster wrap called Ebiroll.

Of course, since lobster wrap is already a well-known food item, it has to stand out in some way. Ebiroll accomplishes this requirement by using a whole lobster wrapped in flatbread, complete with its claws and eyes sticking out on the front end, where the customer takes the first bite. Ebitami convinces Tonegawa to hold a demonstration fair at their usual meeting room along with all the rest of his team. Everyone is hesitant to eat the foodstuff artifact, until Tonegawa takes the bit between his teeth and takes the fateful first bite.

A moment of expectation and suspense ensues, his expression of appraisal lingering for what seems to be an eternity. Everyone looks on in suspended surprise and soon one by one they start tasting the curious snack. Tonegawa at long last tries to put into comprehensible words his sensation, just stating that it stings. Soon, the others drop their pretense to politeness and start to come clean about their personal opinions, which is not very positive. Ebitami is devastated, not the least because he had purchased a large amount of the ingredients required for the chaotic lobster wrap. His former coworkers still have a shred of humanity in them though and start proposing to buy the culinary components so he can recoup his financial losses.

 Fukumoto decides that it's time to display another side of both Teiai and Tonegawa. We are treated to the interview process at Teiai. Before the interview, there's a selection process that starts with the acceptation of the job application and a written test. It's never clear what exactly is demanded in this test, but we can all guess that it's either an IQ or a general knowledge test. Most likely a combination of both. After passing the exam and being called for the interview, the applicants are expected to be dressed properly for the job, which includes wearing the characteristic black suit and having a facial expression peculiar enough to be told apart from the rest of the employees. Anyone who is too conventional is dismissed, Tonegawa holding the reins and showing how to proceed with the niceties necessary to discharge the unwanted men. His learner thinks for a second that he had understood, confidently conducting the next interview which takes place with a man who would be less out of place working for Dr. Wily. Everything about this candidate is perfect, he aced his written exam, gave all the right answers and had a peculiar facial expression just like Tonegawa had taught him. Only problem is that he looks like Gutsman, causing Tonegawa to explain that no one should stand out more than the chairman. His apprentice falls into a pit (more like a black hole) of doubts and quandaries, and not even Tonegawa's firm resolution can pull him out.

 After the morning shift is over, it's time for a reprieve in a middle manager's work life. Lunchtime is up, but our protagonist deems himself to be a little hungrier than usual. He decides to pass his usual prandial haunt and aims for a more casual eatery, which he describes as a place that he wouldn't usually eat at. An overhanging navy blue banner with large lettering beckons to him, and he makes his way inside. Taking his place, he notices a man eating a sort of pork dish in a relatively small bowl and thinks that might be appetising enough, but in a larger bowl to meet his current hunger's requirements. He orders the large portion of whatever that stranger is eating, and everyone within earshot range gasps at his words. The staff prompts him for confirmation, and he assuredly reasserts his position. Some minutes later a bowl bigger than his own chest is brought before him while simultaneously the employees ask if they can take his picture, causing an awestruck Tonegawa to peek at a succession of pictures on the wall up above, famous men defeated by the large portion. All of them visibly beaten and worn, having to wave the white flag and call it quits before it was over. Tonegawa battles with his own thoughts, angry at himself for not being careful with his order. He remembers how backing down would is never an option for real men and defeat would lower his self esteem (and his team's opinion of him). At length, he pulls himself up and tells them to get the shutter ready and that they are going to witness a legend. He braces for the battle ahead and start to furiously tackle the opposing pork. It's a vicious contest. Tonegawa devises strategy after strategy to finish the edible layers in the best possible way to pace himself until his food antagonist is no more. But it reveals itself a fierce foe by its underlying layers of pork, causing Tonegawa to regroup and charge at it again. After a violent clash, he still manages to consume the last rice grain with enough decorum to grace the picture with a victorious poise. Unfortunately, upon his return to Teiai, the chairman was feeling unusually generous and told him to taste his latest savory find: the pork dish he had just waged a deadly battle against, in sandwich form.

Functional independence

A concept tied to modularity in software, occurs where a package or class addresses a specific functionality. Having many functionally independent modules makes a software system resilient to change: because functionally independent modules rely on fewer other modules, there is less chance of changes to these modules spreading to those which are functionally independent. Functional independence means that changes in one component are less likely to affect the software as a whole. The modules conceals content from unauthorised entities, showing what's necessary only to this functionality. This constraint requires the help of fewer other modules to exert this control. In the software industry, functional independence can be measured using two criteria: cohesion (the degree to which a module performs only one function) and coupling (how other modules are required to perform its function). Cohesion can be understood as the measure of a module's relative functional force. It is the degree to which interrelated tasks are executed by a single module. In object-oriented projects, cohesion can also be seen as how much a class encapsulates attributes and operations strongly related to each other. Coupling is a measure of relative interdependence among modules. In object-orientation, coupling is the degree to which classes are linked to each other. Cohesion and coupling metrics evaluate how components rely on each other. With a very dependent set of functional requirements, the solution tends to be have a degree of subordination to the inner workings of other components. Object-oriented development makes it easier to create reusable components. That's why this paradigm makes use of abstractions such as classes, objects, interfaces, attributes and methods. Encapsulation, inheritance and polymorphism also help reusability, extensability and maintenability. That's why the most important task in object-oriented projects is the identification of classes and the responsibility assignment of the same. Software patterns have been created in order to help the project professional in this decision process. A pattern is compound binary made of a problem and a matching solution, with a name and applicability in new contexts and guidelines about to use best to use it. The use of patterns allows for the reuse of existing solutions to cut back on time and effort that would be used to think up an entirely new solution. Its premise rests on past successful experiences and tried and proven architectures. The universal goal of functional independence is to maximise cohesion while minimising coupling.

Tuesday 4 September 2018

....

One of the themes that dominates my thoughts is that people's Health depends a large part on the trajectory of their own Life. And that Life as a fractal in larger and smaller patterns both. Your health depends on how you see where you're going, and not just in your own life but in the life of Yours. And ultimately, your People. 
This is an obvious and common-sense theme, but one that is easy to overlook. Mostly during those dark times when we wonder where we went wrong. 
A grassroots resistance is all about an Antidote to that despair.
You need to have a hold of your own Identity and, consequently , your Destiny.
And without those things, you swirl down the drain. Just sit back and die. 
It is interesting that they somehow never seem to get at “root causes” of ill health. By extension and reverse engineering, they haven't ever figured out what makes for health and happiness. 

What makes for health and happiness is a sense of Belonging.
People of all stripes talk about community: an extended family, spread out across villages.

The health of a person’s own and his People’s environment - his world, his Ecology, which is this here planet Earth — is the largest of those fractals, and its uncertain health is an overarching factor in how his People are reacting to their Situation.