Wednesday, 24 August 2016

ERP. Why does thou not spoil?

As you know by now, I live in the city-state of Singapore. Here, we have one of the most ingenious methods for "managing" traffic density during peak periods over many areas in Singapore. In short, we pay more to drive into the businesses and main shopping districts.


Picture from LTA website

Recently, my dad went through one of these "gantries" but was unsure if the fee has been successfully deducted from his cash-card. 

So this set me researching on what are the penalties for ERP-related offenses.

1) Receive a letter from LTA within two weeks to pay the ERP fee, together with an admin fee of $10.

2) However, you pay ERP fee, with the admin fee of $8 (less is good) if payment made online or AXS.

Useful Links

ERP Information
LTA Online Fine Payment (Use this to check for your offense details too)

Thursday, 16 June 2016

ADF Faces vs JSF (Taskflows)

You might be familiar with the term ADF; it stands for Application Development Framework. It is a framework by Oracle that simplifies application development, while enjoying all the best practices and standards built into the framework. I would put it in this way: if you want to create the same productive application using another technology stack/framework, you may need to code a whole lot more for it.

In fact, ADF Faces is built on top of JSF standard framework (JSR-127), while offering a whole lot more functionality and improvements to it such as new UI components and simplifies web development. However, some people felt that the learning curve is too steep for ADF, especially the ADF BC (business components). That itself can be another post of its own. In this post, I shall focus on the differences between ADF Task Flows and JSF Task Flows.


JSF Page Flow
ADF Task Flow
The entire application must be represented in a single page navigation file (faces-config.xml). Although you can have multiple copies of faces-config.xml in a project, the application loads these files as one at runtime.
The application can be broken up into a series of modular flows that call one another.
All nodes within a JSF page flow must be JSF pages. No other types of objects can exist within the JSF page flow
You can add to the task flow diagram nodes such as views, method calls, and calls to other task flows
Navigation is only between pages
Navigation is between pages as well as other activities, including routers
Application fragments cannot be reused
ADF task flows are reusable within the same or an entirely different application. After you break up your application into task flows, you may decide to reuse task flows containing common functionality
No shared memory scope between multiple requests except for session scope
Shared memory scope (for example, page flow scope) enables data to be passed between activities within the task flow. Page flow scope defines a unique storage area for each instance of an ADF bounded task flow
Can be converted to an ADF taskflow
Cannot be converted back to JSF Page Flow

Friday, 10 June 2016

Recipe for a successful team (Part 2)

You might be familiar with this scenario, where perhaps someone close or within your circle of friends ended up with some form of depressive disorder due to unsafe and dysfunctional culture in the workplace. And, sometimes things start to get better with a change in job.

Yet it is more important to recognise the effects of stress in the workplace. Once stress builds up, you very much can't focus and do well in your job.

One of the main culprits of stress in the workplace is Psychological Safety. The lower psychological safety is in the workplace, it decreases the likelihood of workers asserting certain behaviors that increase overall productivity.

Fortunately, I have, in my workplace, an effective manager that exhibits some good managerial traits to develop psychological safety within the team. Someone that I am sure I can learn a lot from, and also a good friend for the last 5 years or so.

Here are my 3 key observations for improving psychological safety:
  1. Growing with people. This creates value for employees and stakeholders, and in turn increasing personal and business value. Simple gestures such as occasional breakfast/lunch to build relationships and subtly creates guidelines for interaction and conflict handling, involving employees in achieving the team's goals.
  2. Acknowledge your vulnerability. Come on, do you really trust someone who can't be vulnerable? As for me, I trust someone who openly shares their failures and learning points so that others benefit from it. I know that after my own struggles, I try to share this with someone I can trust, be it in the workplace or at home. This doesn’t make one weak; it makes you safe and a secure base, which creates a culture of psychological safety for your team.
  3. Use curiosity to your benefit. Ask lots of questions. This forces people to generate answers. By understanding the different levels of accountability in different people, you can understand why they behave in a certain fashion, for example.
One of the common scenarios that can happen is this. Imagine yourself in a team meeting and you dare not ask questions to clarify the next task you are about to embark on. This has definitely got to do with feeling insecure and afraid others may perceive you as unaware. As you continue with your tasks.... this has got to be one of the most unproductive times spent at work.

Low psychological safety is a problem in so many workplaces everywhere. And leaders need to start brainstorming on ideas to create a good culture in your team. If you have not given it much thought on improving psychological safety, you might want to start today.

Thursday, 9 June 2016

Recipe for a successful team

After graduation, I have been in the workforce for over 5 years. Since then, I have been developing my career on various levels; technical and non-technical related. I spent some years working in a public service agency, where I worked with a local team in managing software projects.

I have since moved on to an MNC, with its headquarters in the USA, working with a diverse team comprising of members from the USA, Beijing, and Singapore. At this company, I was on the ground, sort of, working on the nitty gritty - research and development work, instead of a high-level project management role.

Every now and then, I'd like to reflect on What it takes to be a successful team. Surely, by now you would have known that fellow tech company, Google, is one of the world's leading companies. In that aspect, they produces some of the most successful products and most importantly, successful teams.

Recently, I came across an article by Julia Rozovsky, an analyst from Google, People Operations. After reading it, I could not agree more on the contents of it. In her short post (link below), she described how great team communication and interaction is the key to a successful team. 

"Is this applicable for my team? How can I apply the learning points from Google effectively?" 

These are some questions coming into my mind while reading it. I recommend all, especially those who are in people management or development role, to read it. 


In my opinion, some key points (excerpt from the article):
  1. Psychological safety ranks as the most important element in a running a team. It explains how taking a risk seems simple, yet it's difficult at the same time, due to multiple reasons. A common example; you opt for continuing without clarifying anything, in order to avoid being perceived as someone who is unaware?
  2. Self-protection occurs naturally in the workplace, yet it is bad for effective teamwork.
  3. The safer team members feel with one another, the more likely they are to admit mistakes and to take on new roles. 
  4. Individuals on teams with higher psychological safety are less likely to leave the company, they’re more likely to harness the power of diverse ideas from their teammates, they bring in more revenue, and they’re rated as effective twice as often by executives.
So the important question now is:

How do we foster high Psychological Safety in the team?

Monday, 9 May 2016

A New Joy. Bobby.

I always loved how living with a pet allows ourselves to recognise how good things really are in our lives. From hamsters to fishes, I've loved them all. However, it always felt as if something was missing if I do not have a dog in the house.

Troubles and challenges are inherent in our daily lives, yet, it is during these times where pets can really help us to focus on life's little joy and happiness.

Introducing Bobby.


Bobby.the.pom

My wife and I got Bobby from House of Pups. The experience of getting a new pet can be a enriching one, even educational and fun, or a disastrous one if you get it from a shabby shop. With this said, I have got to mention that Sinjie from House of Pups has made my decision to get Bobby an easy one.

A responsible dog breeder/shop will allow you to bring your dog for a medical checkup at your preferred vet and accept refunds/return if it has some medical condition. We brought Bobby home after the checkup and it was all good.

Exciting times ahead.

As I watch Bobby go through his day, I realized the lessons to learn and experience is right there before me, that's if you pay attention to him.

1. Proper Social Connect

2. Reduce Non-Meaningful Activities

3. Different Ways Of Care, Same Love.

4. Sets Your Priorities

5. Understand People's Behavior (prior to having your own kids)

Every day is a special day that God has made. When we take the time to look, we can find discover joy and happiness in the little things in life.

The Captain's Mirror.

Hello, I am back blogging after a long absence on my blog. Recently, I was rather hung up with my home's design and renovation works with my Interior Designer (a.k.a BK and Roy from Van Hus).

After considering various designs for my MBR toilet mirror; from a mirror with integrated T5 lighting to having a mirror cabinet, now I know that my toilet design is in need of a Captain's mirror!

If you have not heard of the iconic Adnet Mirror (a.k.a Captain's Mirror), this is a mirror with retro beginnings, yet seemingly perfect to be placed in a modern bathroom setting as well.

Adnet Mirror by GUBI (SGD 1500)
I love the design and look of the combination of leather and matt black finish. Unfortunately, the hefty price tag was a huge factor for me to consider making one myself. 

Once I got the tools and materials, I will be updating this blog on my DIY process. Stay tuned!

Wednesday, 16 December 2015

Alexa! How art thou?

As some of you might know, I will be moving into my own new home with my wife very soon. I have been looking forward to it for the past three years - Yes! that's how long HDB now takes to complete a 16-storey flat. Those of you still waiting and planning for your home, ROM and wedding, I'll suggest that you plan it early as your home keys will most likely arrive much faster than expected.

Okay, HDB flats aside.

Lo and behold, the Amazon Echo, also known as Alexa, arrived in my mailbox about a month ago. I purchased it during the Amazon's Black Friday sales (USD 149) and its amazing...

The Amazon Echo (aka Alexa)

Consideration #1 - Alexa is designed for local content in USA


One of my main considerations into getting Alexa was that it's designed mainly to be used in the United States. That means that getting Alexa to work on local content will mostly be locked to USA contents (e.g. Timezone, weather and news). This can be fixed by specifying "Singapore" in your commands. Say "Alexa, how's the weather in Singapore" or "Alexa, what's the time in Singapore". There's also a setting in the companion app that you can use to indicate distances in KM instead of Miles, and temperature in Celsius instead of Fahrenheit.

[update]
Maybe you are fellow techie, you could hack it (see here for details) to change the time zone to Singapore instead. Then, you will get the correct local time when asking Alexa. However, not much luck at the moment for the weather information, you still need to ask Alexa by specifying "Singapore" in your command. Note: If you followed the link and have tried it, you can use "Asia/Singapore" for the timezoneid parameter.

Consideration #2 - Power voltage requirements


As most travellers would know by now, the voltage in USA is 110V, whereas most of the rest of the world uses 220-240V. Fortunately, Alexa is a dual voltage appliance, it means that it can accept the voltage here in Singapore too. You just need to get a plug converter to connect it to our 3-pin socket.

Summary

So there you go, Alexa is a niffy virtual assistant that works pretty well in recognizing our Singapore English accent and do its stuffs. To show the other useful features of Alexa, I will be writing a separate post about the home devices/appliances that are integrated with Alexa.