• Resilience Coding

    All Roads Lead to Rome

    Medieval Latin

    Coding is becoming a commodity now from learner as young as six to oldest at 82. A simple code can be IF ELSE logic in excel formula. Codes can also be easily recorded and auto generated like Robotic Process Automation (RPA). The emphasis had evolved to objective driven coding more than a means to an end.

    Fundamental is Resilience

    Like a Kungfu master, the key in being resilience lies in a strong foundation. There are many good coders around, so what makes you stand out? Basics and fundamental allows you to focus and be resilience in achieving your end. There are so many similar solutions around. The one thing that differ lies in your fundamental mindset to path your coding to your “Rome”.

    Cloud Computing Power

    In the past, computing power was limited and constrained by disk storage. There was much focus on elegant codes to achieve the results. Now, it has shifted to getting what we wanted instead of how to get it. Moreover, Cloud technologies allow you to scaled your computing power easily. One such coding language to achieve popularity is Python. Its is geared towards readability and resilience aka machine learning.

    Machine Learning is Resilience

    Machine learning is not human intelligence. It is just a means of resilience codes leveraging on raw computing power. The perspective of coding is less elegant now and more towards being resilience. After all, you are less likely to be limited by disk storage or computing power. You have more cloud techniques at your disposal to achieve your results. If you give up, you fail. If you are resilience, so will be your codes!

  • Hello. IT. Have you tried turning it off and on again?

    Source: The IT Crowd
    Speaker: Roy Trenneman

    On numerous occasions, we have a one liner requirement that require us to implement the request in our application system. Getting such a requirement always lead me to seek solace in a the famous funny classic show “The IT Crowd”. The phrase is one of my favorite in the show because I always feel like a reboot could be great!

    Eager to Please

    We are sometimes the result of our own action. It is natural to please the customers without know why they need it. Usually, the person conveying the message are not a suitable person to articulate the customer needs. Thus, do we “shoot the messenger”? Unfortunately, our old code of chivalry have prevents us from doing so. So, what are the next course of action we should consider?

    Customer is Not always Right

    Firstly, the organization must understand that customer is no longer always right. It is interesting to find that many demands are actually made from internal to implementation team with the thought that giving what customers wanted will please the customers. In summary, the purpose of giving is to please the customer. It is time to throw our old ways and consider a new way of handling requests.

    Shooting the Messenger

    A request should not always be translated to a task or action. This enlightenment means we must drop our chivalry and “shoot the messenger. Of course, this is not literally and meant that we must drop the practice of the reliance of passing the messages. With Cloud technologies, data can be easily be obtained to confirm or disprove requests. The key is to understand what customer really needs.

    Customer Experience

    After “shooting the messenger”, organizations shall turn towards a new role called Customer Experience (CX). This role is like an ambassador who learns, understand and even feel the customer wants and needs. The role go beyond passing message to needs analysis and “deep learning” to provide a positive experience aka consumer satisfaction (You could refer to my initial study on overall consumer satisfaction). Deep learning requires capture of data points to measure with the purpose of improving customer experience. So, is your organization agile enough to take the step to “shoot your messenger” and transform to Customer Experience?

    Meanwhile, I can only stick to Netflix watching The IT Crowd.

    A basic CX read, Customer Experience: What, How and Why Now

  • Java, PHP, JavaScript and C are some of popular programming languages that have been used in application development and widely stated in job requirements. Yes, I deliberately drop Python because I still feel it is trendy due to machine learning (ML). However, Pseudocode is one job skill that has been neglected to be stated in mainstream job ads.

    What is Pseudocode?

    Pseudocoding is not actually a programming language but a technique to describe readable system steps for users and developer. It is structured in such a way that is readable for end users yet functional for developer to code in any languages.

    Sample Pseudocode
    Why Pseudocode?

    In my “old days”, pseudocode is important and taught as part of computer subject. It is a must-have skill for all coders for its emphasis on algorithm over programming syntax. As such, it is surprising to me now that some coders do not know pseudocode when being asked to demonstrate this skill. A good coder with strong Pseudocode skillset can easily switch across different programming languages compared to one who only know certain programming languages.

    How to Choose Excellent Coders

    Like all arts, normal coders are easy to find. The excellent ones needs to be sift through the midst of programming languages as they transcend across different codings. One way to identify such developers is to apply the fundamental practice of using Pseudocode. There will be a shift in mindset to reduce the reliance of hard skill and turn to applying the basic logic of programming with Pseudocoding.

  • Strategic and Operational excellence are key objectives for many organisations. It is difficult for organisations to achieve both at the same time. Most organisations tends to focus on one or another, investing resources in either one. Business often emphasis strategic needs while IT focus on operational excellence. There comes a period where an organization needs to bridge these objectives together. Enterprise Architecture (EA) is one such bridge to bring these two objectives together.

    Enterprise Architecture (EA)

    Enterprise Architecture (EA) aims to provide a holistic view of business and IT with the aim of aligning strategic and operational excellence. It aims to provide a bridge between business and IT with standardized EA framework of common vocabulary, models, tools and content metamodel. However, the notion of EA can be very far fetched and ideal to reality because many of EA program are abstract and conceptual in nature.

    Agile and EA

    The practices of EA runs contrary to the discipline of Agile. Huge efforts are expended to standardize and collate information at Enterprise level losing sight of Agility. Traditional EA ultimately fails to deliver because it is not able to address the business needs timely. Enterprise strategy become obsolete and irrelevant as technologies innovate faster and faster. As EA continue to remain coupled to traditional waterfall, Agile methods gradually become the mainstay for adapting to business excellence.

    How can Cloud help EA be Agile?

    Thus, we have seen huge gap of EA in being Agile. Luckily, this can be addressed by Cloud technologies. Any system within cloud platform can be quickly be viewed holistically and automatically be generated as a blueprint of EA. Cloud technologies have also retain its Agile capabilities to fit strategic innovations for business while fulfilling operational excellence.

  • What is Shadow IT?

    I came across a term Shadow IT and find it “amusing” and yet relatable. Shadow IT are Information Technology (IT) systems setup by non-central IT teams with the objective of bypass or overcome the cons of central system. Looking back, I had been on both ends of Shadow IT, a creator and eliminator.

    Making Sense of Shadow IT

    What gives rise to Shadow IT? Waterfall evaluation, procurement and budget approval often takes longer time to review as usual. From business view, this contradicts agile and speed of adapting to change. With agility, Shadow IT provides a window of innovation and prototypes to the incumbent central IT.

    Cooperate, Assimilate or Eliminate

    Like rebels, the objective of Shadow IT serves an alternate voice to centralised IT. If the Shadow IT remains niche, it may usually end up being a cooperative system and even can integrate to the central system. Of course, there will also be a scenario which Shadow IT become the innovated solution and this could be easily assimilated into the incumbent IT with better budgets and resources. In worst case, Shadow IT may face elimination organically from pressure like compliance and security or inorganically from obsolete technology or support.

    Future of Shadow IT

    Cloud technologies have actually encouraged Shadow IT and central IT must recognise the value of Cloud towards Shadow IT. Sandbox can be created to allow business to create Shadow IT in a controlled space. There will come a time where Shadow IT coexist and central IT must learn to manage and leverage the advantages from There are some interesting read that you may want to check it out for this topic e.g. Shadow IT A Complete Guide – 2021 Edition.

  • Agile is a pretty huge demand skillset now. It must be surprising to think that Agile was once frown upon as a non-mainstream methodology in the past. I used to be one such “hidden” Agile practitioner until I came out in 2013.

    Journey to Agile

    Agile have its roots from many models and one of them was Rapid Prototyping Development (RAD). I was exposed to RAD using tool like Visual Basic. This was where I begin to explore incremental changes deployment rapidly contrary to a traditional Waterfall development model. Without realizing, I had started my journey towards Agile methodologies.

    Formalize Agile with XP

    As I became more experienced with RAD, I decided to look into a formal methods that could incorporate changes faster and systematically. A new paradigm opened up in the form of Extreme Programming (XP), with concepts of pair programming and emphasis of code quality over documentations. It was not easy to implement XP in a traditional team setting compared to using Agile by myself.

    Minority Agile

    The limitations of Agile shows itself when I tried to implement XP for teamwork. The Agile mindset was more difficult to adopt for many as majority of education system had emphasised on Waterfall model. The lack of support towards Agile methodology was disheartening during the period of 2005-2012. However, I had persisted with Agile even though it remains as minority within the IT space. Putting my signatory in agilemanifesto.org had helped to serve as a constant reminder to strive on with Agile.

    SCRUM certification

    In the midst of my search for an Agile company, I came across a job requirements for SCRUM. In a way, the emergence of Agile or SCRUM in job ads shows signs of change in the Software Development Lifecycle (SDLC). A key reason for this change came from the shorter deployment time of mobile application and eCommerce. Gaining confidence that Agile will be the game changer, I got certified with SCRUM instead.

    Waterfall Agile Hybrid Model

    The expected surge in Agile did not really take off as much as I expected from 2014 to 2016. SCRUM soon died away as well. As what Agile preach on handling change, I learnt to incorporate Agile practices within a Waterfall model which I termed the Waterfall Agile Hybrid model. This model fits systems best with configuration paradigm and cloud technologies while conforming to the norms of Waterfall.

    Waterfall Agile Hybrid for Cloud

    The explosion of cloud technologies pushed Agile into mainstream! Cloud implementation multiplied and marry Agile with it. The rest becomes history as Waterfall took a backseat. While Agile becomes the new norm for Cloud, the Waterfall roots remains entrenched in many parts of organizations ranging for budget planning, approval process and finance. Thus, Waterfall Agile Hybrid model remains relevant until an organization completes its transformation to a pure Agile entity.

  • Chatbot is the New UI

    User Interface (UI) has always been a hot topic to simplify usage for system. Recent cloud technologies have evolve UI to a next level which is not seen in the past. We are now able to use machine learning to recognise natural language for Chatbot. How will Chatbot change our paradigm towards software development? Let us break Chatbot into basic components for easier understanding.

    Machine Learning

    Machine Learning (ML) have materialised AI (Artificial Intelligence) in action response logic in systems. This makes perfect sense to introduce machine learning framework into systems to handle predictable events with users.

    Natural Language Processing

    System response have been constrained by standard system logic processing. Natural Language Processing (NLP) gain a lot of breakthroughs with the addition of machine language framework with speech and voice recognition and natural language understanding.

    Chatbot

    The RE introduction of Chatbot is due to the advances made on the two fundamental concepts of Machine Learning and Natural Language Processing in its ability to replace the UI. Users can really interact with minimum switch cost, decrease training time and high stickiness for superior Chatbot.

    In 2021, we should expect to see a fierce battle of Chatbot in the future Cloud space due to COVID-19 pandemic and the need to distance and remote work from home. Do watch for more updates and review about Chatbot technologies.

  • There are two ways to view your visitors for your website. Google analytics is a good comprehensive view of your visitors demographic and trending topics. However, you will require WordPress premium plan for Google Analytics integration. WordPress also provide a default statistics.

    Google Analytics
    1. Desktop > Go to Google Analytics.
    2. Login with your Gmail account.
    3. Select the domain name if you have more than 1.
    4. Mobile > Download Google Analystics.
    5. Similarly, Login with your Gmail account.
    6. It will take about 24 hours to populate the data.
    WordPress Statistics
    1. Go to My Sites > Stats.
    2. You can view Traffic, Insight or Ads.
    3. Traffic is similar to Google Analytics with less details.
    4. Insight is something related to WordPress and your posts vs the traffic. It will give you a clue to the type of content, tags and categories that will attract more audiences.
    5. Ads is another feature which Google Analytics will not have because WordAds is enabled by WordPress Premium Plan itself.

    Overall, Google Analytics gives a detailed breakdown of traffic compared to WordPress stats. The advantages of WordPress stats are the correlation of traffic vs type of content. The Ads stats also give a good view of $$ made from your content. Of course, I will do a detailed review once I made my first $100 from Ads. 😁

  • Netflix, TV and Cloud Musings

    What do Netflix, TV and Cloud have in common? In a way, they represent a behavioral change in users. Needless to say, I am one of those who have spend more time on Netflix than using my TV. It leads me to wonder if my TV is now a display relic in my house. This invoke a reality check in my traditional IT skills.

    TV and my cable set top box

    Cloud skills are like Netflix. To me, it is a positive change from traditional IT to evolve to new paradigms. However, not all companies have been quick to embrace the Netflix model and suffered badly with this change.

    Profiles pics in Netflix

    From user view, there has been very low barriers in making the switch from TV to Netflix. The Netflix model is designed to be simple for any users who are using a mobile phone. Similarly, cloud skills are actually much simpler that its traditional counterparts. Anyone who are familiar with internet can easily pick up cloud skills.

    So, why are there a quirk of companies in acquiring specific cloud skills? Isn’t it much cost effective to allow existing resource to learn and acquire the needed cloud skills? After all, we don’t really need much help to learn and watch Netflix! 🤭

  • Sharing to social media is easily configurable with WordPress Premium Plan with its advanced social media option. There are 2 key options, automatic sharing of post to social media and manual sharing buttons of social media.

    Automatic sharing to social media
    1. Go to Configure > Sharing > Connections.
    2. Select one of the 4 social media to publish automatically i.e. Facebook, LinkedIn, Tumblr or Twitter.
    3. Login to your social media to connect to your account to WordPress.
    4. Once connected, your blog post can be automatically publish to your social media account as well.
    5. Post can only publish once.
    6. If you publish incorrectly, you will need to unpublish in WordPress and delete the erroneous post at social media. The same post will not be publish again. You will have to manually share it to social media with social media buttons
    Sharing buttons of social media
    1. This is the classic sharing buttons of social media.
    2. There is many social media buttons that you can configure to enable at the end of your blog post.
    3. This allows users to easily share your blog to any social media.