Posts

Random Musings

Way back when I just set out in the IT world, I attended an interview for an open position as a Programmer/Analyst (I hardly see any opening bearing that title anymore). The Interviewer asked me, amongst others, to explain my understanding of the concept of "Portability" in relation to software development. To be frank - I did not know the answer but I thought I could pull a fast one by just explaining it within the concept of the gramatical meaning. So, I replied that it was when a piece of software code was "small" and "compact". The Interviewer kept nodging me on as if I was on the right track. To my surprise -I did not get the job but of course, my response was way wrong but the interviewer gave me false hope with his body language. Moral of the story - don't try to adjudge the outcome of an interview based on the body language of the Interviewer - it could just be a red herring. Why do interviewers always ask - "where do you see your...

Artificial Intelligence, Oxymoron and Natural Intelligence

Image
I posted this question to a couple of online AI engines and to my surprise, none came up with the correct anwser. This is the question - "Two Americans were crossing a bridge on a bright summer morning, one was the father of the other and the other wasn't the son. So, what was their relationship?" This is a classic IQ question - supposedly, employed by Microsoft in the easrly 90s in the recruitment of top talent for its work pool. Essentially, this is a mis-direction fixation challenge. On the surface - it is a fairly straight forward question with the requisite hint at solving it. For whatever reason, most people asked this question are always fixated on the "father and son" narative, which in reality - is the hint to solving the question, but always end up getting it wrong. My point really is - the so called AI engines got the answer to the question wrong as well. The real poser is - should we still be referring to the encompassing ecosystem...

Mythical Man Month, Project Failures and the Knight in Shining Armor

Mythical Man Month is the title of a collection of essays in software engineering  and project management - covering the  good and bad practices in the IT sector. It was first written in the 70s and later updated in the 80s and 90s subsequently. One of the chapters in the book that caught my fancy then was the one aptly titled - "The second time effect" . Basically, the chapter is a treatise about the desire to tend to over do things when given the chance to upgrade or rewrite an existing application - so called version 2.0 There is always the tendency attempting to fix all the so called real and imaginary flaws found in version 1 and more often than not - you'll end up with a revised edition that is unduly bulky and overtly prone to more errors than version 1. I had a first hand experience in a similar situation and I'll be sharing my observations and hopefully, this could serve as a panacea to avoid a similar pitfall. Essentially, I became the honcho man supervisin...

Tensorflow.js load latest API and find/display the version

Working on Tensorflow.js API and wanted to find out how to accomplish the following: Load the latest Tensorflow.js API without recourse to the version number. Find out or print out the version of the library loaded. On the surface - these tasks look pretty simple and should not be any biggies but as usual, the Devil is in the details. Unfurtunately, I could not find any easy reference to accomplish them. Anyway, without much ado - following these steps would get you to El Dorado: <script src=" https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-vis@1.0.2/dist/tfjs-vis.umd.min.js "> </script> Add an event listener at the bottom of your htlm page, extract the version and spew it out to a place holder. <div id="version"> </div> <script> window.addEventListener('load', (event) => { ...

C# - Making Multiple instances from a STATIC class

STATIC classes are basically meant to be like global references in an application - created once and used for the lifetime of the application.  The primary advantage of this - apart from the obvious small footprint, is the fact that you don't need to instantiate a new instance of the class whenever you want to reference any of its members.  One of the requirements for using a STATIC class is that all the publicly accessible members must also be qualified with the STATIC reserved word.  Essentially, it means only one copy of the method is maintained throughout the life cycle of the application. In order to ensure some level of sanity, it is recommended that one does not pass parameters by reference to STATIC methods but rather, pass in your parameters by values, perform any processed needed and return any value - if needed, by value as well.  Sometimes though, you want to leverage on the simplicity offered by the STATIC class usage in terms of no instance - new clas...

Single Page Application – The myth, truth and chiefdoms.

Not sure how to start this, but start somehow, I must. If you are a software developer and you have not heard or come across the acronym – SPA – would really be a great surprise to me. This is not a really a full blown treatise about SPA – more of a pocket book definition or to be precise – a one page narration of SPA. So, I will tackle this write up using my preferred MO for presentation – the 5 Ws – What, Why, Where, When and Who . What is SPA – stands for Single Page Application – meaning you only have one SINGLE PAGE or container housing your application.  You may want to juxtapose this with another context in order to fully comprehend its full meaning. That will be dealt with in the “Why” definition. Why SPA – the main reason for the emergence of the SPA paradigm is primarily speed or instantaneous response to a user's interactions with controls or widgets on a web page. What does this mean? The traditional way of staging a web application is ...

SignalR - the latest BUZZWORD!

I love the computing industry, it is never in short supply of acronyms and buzzwords. One of the newly added ones is "SignalR" - which in its simplest form is actually a technology that allows FULL DUPLEX communication between the client and a Web server in real time. A typical web page is driven by HTTP ( which is the protocol through which the browser communicates with the server. The protocol in this case, is analogous to a LANGUAGE that is used for communicating between the client ( browser) and the server. The server supposedly, understands a plethora of languages but the language (Protocol) of preference for serving up web pages is called HTTP). The biggest challenge of HTTP has been its STATELESS form - which means - the SERVER ( web Server) does not maintain an open channel of communication directly with the client making a request. All it knows is that - a request came in from an address via a port, which is processed and then sent back to the address from wher...