• The conversation of buying Electric Vehicle pop up during a typical family conversation with family friends. We are being asked will we will be buying EV if we be changing our petrol car. Recently, there is a lot of buzz in Singapore on EV. While the intention sound noble to the sustainability cause, I feel very sceptical to owning an EV in Singapore. Instead, this article will be a positive side to encourage you to buy EV assuming all concerns have been addressed.

    Pros of EV
    • EV produce lower gas emissions than combustion vehicles.
    • EV is quieter because it is running on battery power.
    • EV can use renewable energy for its battery source like solar or wind power.
    • EV could be easily monitored, automated and maintained. Imagine you can control and view your EV via your App.

    The steps to EV is gradual but will be possible. I may not able to see in my lifetime. Like the mobile enabled generation, we shall soon see an EV enabled roads! Stay tuned, it will be a rough journey to save the World!

  • Cloud Consideration

    The Cloud phenomenon is here to stay. Yet, many organisations remained entrenched in traditional department and structures that split into Infrastructure, Security and Application teams. You can easily spot the great divide from the job title and job description (JD) in the job posting. Here is why more change needs to be effected for Cloud.

    Organising for Cloud
    • The split between Infrastructure, Security and Application teams must be eliminated and teams will need to structured for Cloud architecture.
    • Cross functional teams needs to be encouraged because Cloud have automated many of traditional infrastructures and security roles.
    • Teams needs to be focused on metering and cost visibility to leverage monitoring of supply and demand with Cloud.
    • Your team must be designed to maximise Cloud functionality using Templates and Enterprise Architecture approach.

    Digitalisation and Digital Transformation with Cloud comes with digital mindset and the spirit to change. However, we will continue to see a steep battle for Cloud resources to entangle with traditional Infrastructure, Security and Application. Find your change agent and effect your organizational change! Cloud is a total change, it is not just hiring Cloud!

  • Digitalisation and technology have permeated our lives. COVID-19 pandemic has accelerated this process. The digital divide is growing wider and faster. Although our younger generation grow up in a tech enabled world, it will take decades before the entire world become tech enabled. There must be social considerations in our path to Tech-enabled economy.

    Checklist of Social Considerations

    • There must be the capability to share and unshare information by content owner.
    • Organisation do not own the content by content creator.
    • The collection and usage of information must be transparent.
    • Content must only be monetised with consent.
    • Parental controls must be enabled for all content.

    In a non-physical world, social considerations are often neglected. The rights and protection of data must be continue to be emphasised for tech-enabled world. We should also protect our young ones who should not be exposed to the information for their age.

  • Are you a Full Stack?

    Recently, I am bemused with many freshies out of school with claims of being a full stack and very long list of technical skills. The role of full stack may exaggerated and taken out of context. It seems there are no consideration to what is being taught and what is being practiced. It is pretty easy for an experienced person to comprehend what your full stack really means. Before you start calling yourself a full stack, you can try a simple checklist on yourself.

    • Have you implement and deploy at least 5 projects end to end? Projects, not school homework.
    • Are you comfortable in configuring and setting up server, database and web framework?
    • Are you adaptable in all forms of coding style and syntax?
    • Can you evaluate and provide solutions to real business problems?
    • Do you have moderate domain knowledge for at least one industry?

    In short, the skillset of full stack is similar to techno-functional role. It is not possible to acquire full stack capabilities straight out of school. In the real world, the “homework” is much unpredictable and only life practice can teach you the skills you need to be a full stack.

  • The Hype of Digital Transformation give rise to a sudden surge for IT jobs. In the wake of COVID-19, demand of IT jobs become stronger. There are also many who have made the switch from non-IT to IT skillset. While the hype is there, should you jump to the bandwagon?

    Here are some reasons that you should not unless…
    • Always work for your passion, not to chase the trend.
    • IT is a constant upgrading career. Be resilient and enter at your own risk.
    • There is a demand for flexible skillset, which is techno-functional skill or pseudo coding. A lot list of technical skills are the norm now. A showcase of technical skills or full stack is what everyone have now.
    • Taking IT course does not give you a ticket to IT career. Embrace what you learn and apply it to your daily life. Build your personal website or mobile application.
    • Code for love and love to code!

    Lastly, practice makes perfect! All coding are 1 and 0. Knowing different coding does not give you the USP. The key is to know your strengths and weaknesses. Do know where you want to be in 5 or 10 years time!

  • This is part 3 of my foray into Oracle ODA (Oracle Digital Assistant). After the intro in slaying ODA pizzaBot and then subduing Composite Bag, I managed to reach into a new uncharted water called Apache FreeMarker. ODA uses FreeMarker to display, evaluate or format the variables and entities.

    Ok, so we are getting you a ${pizza.value.PizzaSize?lower_case} ${pizza.value.PizzaTopping?capitalize} pizza.

    Oracle
    Biggest Challenge in FreeMarker

    Handling missing values is the biggest challenge for me! I literally tear my hair trying to figure out how to handle missing or null values. Needless to sad, Oracle ODA documentation is not helpful and I have to refer to Apache FreeMarker documents. Many scripting languages allows you to display the variables even they do not exist. Unfortunately, FreeMarker is more strict and helpfully dedicate an entire section. Like all coding documents, help is cryptic. It takes a lot of trial and error to figure out where it goes wrong with its critical ! and (( )).

    Default value and Formatting

    FreeMarker have a funny way to evaluate default values. It is easy for simple variables in ODA or you are not formatting the variables. However, things gets very tricky when you are using composite bag with formatting. Below are some cheats for you to figure out the correct syntax.

    ${pizza!’Not Set’} – Simple variable with no formatting and default value after !.

    ${(pizza.value.PizzaSize)!’Not Set’} – Composite Bag with no formatting with ( ) to encapsulate the (composite bag variable)

    ${((pizza.value.PizzaSize)!’Not Set’)?upper_case}} – Composite Bag with formatting with ( ) to (encapsulate the variable and default value) and another ( ) to encapsulate (both values for formatting).

    Hope these tips will save you a lot of time in formatting with FreeMarker in ODA. Just in case you are wondering, validation do not flag FreeMarket expressions. You only get the error when you test the skill. Below is a standard error shown due to above.

    error is: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: ==> eReadyPickUpDateTime.value [in template “FlowTemplate” at line 1, column 324] —- Tip: It’s the step after the last dot that caused this error, not those before it. —- Tip: If the failing expression is known to legally refer to something that’s sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use when-presentwhen-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??

  • Digital Mindset

    Digital transformation is not just digital changes. Transform your mindset as well.

    Me

    Digital Transformation may be the hype now! However, not many have adopted the the right approach. One critical step in digital transformation is the change in mindset.

    What is Digital Mindset?

    Digital Mindset refers to the realisation that digital transformation will help to automate existing SOP (Standard Operating Procedures) and accelerate innovation. The Digital Mindset can be effected at different level of organisations from top-down to bottom-up. It needs to be permeated to all rank and file to actions and behaviours.

    Digital Champions and Influencers

    The initial Digital Transformation is mainly driven by market condition. The attitude “Everyone is doing it, so should we!” is often adopted with no clear change to existing mindset. There will always be a large group of resistance rallied against the efforts of Digital Transformation. Organisation Champions and Influencers must be well placed to support the change to Digital Mindset. In a way, the message of change is sent clearly and strongly.

    Resistance is futile.

    Star Trek: The Next Generation – The Borg
    Digital Motivation and Reinforcement

    While there is trigger on the change for Digital Mindset, the next important step is to motivate and reinforce the new actions and behaviours. A good communication team, who is well versed in the art of digital transformation, is required to convey motivation messages to encourage the benefits of these changes. Feedback must be taken to reinforce the Digital Mindset and ensure the organisation stay on track.

    Clearly, the thing that’s transforming is not the technology — the technology is transforming you.

    Jeanne W. Ross of MIT Sloan’s Center for Information Systems Research
  • After pulling my hair in Oracle ODA intro, I strive onwards and continue my foray into the deep pit of ODA (Oracle Digital Assistant). Today is my first attempt to try out the ODA entities. There are variables in ODA that are described as Entities like real world data format. In this module, there is a cool feature called Composite Bag.

    Source: Oracle

    Composite Bag allows you to fill in variables grouped in a “bag”. There is also a neat feature to let you auto resolve entities via the chatbot. It really sounds very cool but getting it to work is harder than I thought.

    For example, a composite bag for a pizza might include entities for type, size, crust, and extra toppings. If a user enters “I’d like a large pepperoni pizza with a gluten-free crust”, the skill could extract “large”, “pepperoni”, and “gluten-free” from that input and not need to prompt the user for those values individually.

    Oracle

    As this is a new concept to me, the sequence, flow and placement of the code is important. It takes me a while to reference the pizza template repeatedly and changing the variable to what you have. In the end, I manage to get the auto prompt working! Code wise, it is much elegant than my individual variables.

    However, I hit issue to display the bag details. Grrr. I must retry pizza example to analyse how to display Composite Bag details. Another side note is that I have yet to test composite bag for REST or integration. That will be another battle!

    Not sure if Oracle heard me, please include auto complete in the syntax and flag the flow error for YAML!
  • In Singapore, there are more news and debates emphasising various views and commentaries on the switch to Electric Vehicle (EV). There are also lackluster incentives to encourage adoption of EV. One commentary touches on the difficult switch for a parent. Another commentary is on the lack of EV infrastructure. I have also commented on the unrealistic efforts to push for EV. This is a simple checklist on why we will switch to EV.

    • The cost of electric cars is similar to internal combustion engine cars.
    • There are 80% number of charging points compared to number of petrol points.
    • Charging duration is similar to the time taken to fill up your petrol.
    • There are sustainable disposable methods of vehicle batteries.

    For now, the push for Green Public Transport and hybrid vehicles are more realistic goals for end consumers.

  • Transportation Management System (TMS) challenges are constantly hounding traditional organisations. Like Digital Transformation, it faces its fair share of challenges during system implementation. This is a simple checklist to evaluate the challenges you are expected to face in TMS implementation.

    1. Is TMS your main business?
    2. Do you have legacy TMS that are different from global TMS?
    3. Are there more than 3 stakeholders involved beside the TMS operational staffs?
    4. Is there a clear TMS strategy provided by your business team?
    5. Do you have TMS subject matter expert (SME) in your organisation?

    Providing the answers to above checklist will give you a clearer picture of where your TMS implementation is heading. By having answers to the checklist, you will be better prepared. You may realise that TMS is also a digital transformation. That is why there are many similarities in the challenges. Do not make the mistake of executing TMS with just IT involvement!