it’s complicated

November 3, 2019

i put a draft of QuickSort implemented in Python – admittedly, i’m open to suggestions to further improve it and any other examples that will help understanding. Like my experiences before, it was “difficult” for me to find a “simple” explanation online.  Since some programming languages implemented it as part of a standard library, some ICT professional aren’t familiar with its internal workings and don’t bother to learn it.  i’m all for black boxes and abstraction but when trying to master a language it helps to implement fundamentals – this doesn’t only sharpen one’s thinking ( sort – pun intended – of a form of mental gymnastics) but also to familiarise oneself with the intricacies/quirks of a language.

this absence of “simple” resources seem to be due to a number of things.  my direct experience is that it is sometimes due to the attitude and education/training of technical personnel.  some of them just want to feel superior/smarter than the rest of us – their “hang-ups” from school is evident so that they in turn mistreat others that’s why, IMHO, hazing practices persist.  some act, understandably, as “gate-keepers” to try and make this knowledge exclusive in order to protect their jobs (i.e. economic reasons) or status (i.e. social motivations) or both. and while they most are capable enough to understand, they are not clever enough, equipped to, or motivated to (there’s an obvious misalignment of objectives) make these concepts “easily digestible” for others.  the willingness to help masks their hubris or condescension  – a humble brag of sorts. this fact necessitates me to query my own motivations.

while i don’t recall it being discussed (probably due to my specialisation), it may have been covered in passing by a course in my masters, i could no longer remember how it worked exactly before this endeavour.

the updated GitHub repository can be found at:


“easy” A

October 30, 2019

first, it was the Towers of Hanoi.  And then it was QuickSort.  i wanted to provide “simpler” explanations of concepts i was taught during my undergraduate days.   i eventually got them (with some effort) but they are trickier to “share” with others.  But like most technologists, i’ve substantially underestimated the the time and effort in realising these. i guess i was severely swayed by my experience in “simplifying” the normal forms when i taught databases.

i think i need to take a cue from the much greater individuals that preceded me. Or just use great ideas from others and properly attribute their work.  in any case, i should reacquaint myself with these concepts and refresh my memory – so that my unconscious mind can continue to work on these while i focus on something else.  hopefully, it will no be long between “Eureka” moments.

tower of Babel

October 17, 2019

for the last few days, i’ve been held up by the “Tower of Hanoi” problem.  at first it was just a debugging issue and getting the code to work as expected; however i realised the real difficulty was in being able to explain the algorithm “simpler” and in “plain English” – i’m still thinking about  how to do this.

toy story

October 11, 2019

“Toy Problems” are puzzles or illustrative devices.  they can be useful in discussing features supported by programming languages. it’s a bit of “mental gymnastics” or what can be oxymoronically  referred to as “recreational math”.

i started with something simple called a palindrome:  a word spelled the same backwards as forwards.  However, i extended it to detect “palindromic” strings instead: that is, it should also check multiple words, phrases, or sentences (that exclude a period or full stop).

Here’s the updated GitHub repository: