Maybank 61st Annual General Meeting Y2021

The postponed Maybank 61st AGM was conducted on 6th May 2021. This is my second time join Maybank AGM online.

Maybank was supposed to conduct their 61st AGM on 15th April but due to technical glitch they had to postpone the AGM to 6th May.

The AGM starts at 10AM and ends by 330PM

Maybank Online AGM is conducted via Boardroom.

maybank chairman tan sri zam opening remarks
maybank chairman tan sri zam opening remarks

Key Highlights FY2020 Performance

maybank financial Y2020 performance
maybank financial Y2020 performance
  • Net Operating Income increases 0.6% YOY
  • Overhead reduces by -2.7% YOY
  • Pre provision profit is RM13.52B (increase by 2.6%)
  • Provision for Credit losses increase more than 100% to RM5.07B

Macroeconomic Headwinds

maybank operating landscape
maybank operating landscape
  • Covid 19 pandemic forced border closures.
  • Result in weak global and domestic demand
  • Low interest rate environment
  • Asset qualities weakness

Dividend Payout

maybank dividend payout Y2020
maybank dividend payout Y2020
maybank dividend yield vs other banks
maybank dividend yield vs other banks
maybank capital perservation
maybank capital perservation
  • 52 sen dividend payout for Y2020
  • Maybank dividend yield is higher than other banks in Malaysia and regional banks.
  • Highest dividend payout for the past 10 years at 91.2% payout
  • Capital level is still healthy even after dividend payout

Key Responsibilities

maybank responsibilities
maybank responsibilities
  • Customers – provide financial relief
  • Employees – enabled WFH and other safety measures
  • Investors – reclassification of dividend for faster payout
  • Regulators – establish framework and guidelines for lending
  • Communities – Maybank contributed over RM20M to mercy

Moving Forward FY2020 – Digital Solutions

maybank M25 target outcomes
maybank M25 target outcomes
maybank digital journey
maybank digital journey
  • M25 – 13% – 15% ROE and more than 100 sen earning per share
  • Digital journey – SME online application, EzQ to make appointment to any Maybank branch and develop online platform for small businesses.

Corporate Social Responsibilities

maybank assisting communities
maybank assisting communities
  • Contributed RM20M to Mercy
  • Raised RM3M to assist vulnerable communities and to support Covid-19 initiative

Questions from Shareholders

maybank appointing tan sri zam who doesnt have financial background
maybank appointing tan sri zam who doesnt have financial background
  • Most questions are regarding Covid-19 impact to Maybank performance & its dividend policy.
  • Maybank CEO explained that it is hard for Maybank to gauge the impact but the dividend policy remains around 60% of net profit.
  • For all attendees of Maybank AGM will receive RM50 to their MAE for the postponed AGM and another RM50 who attended the AGM on 15th April. So who attended both AGMs will receive RM100.
  • According to Maybank, they don’t plan to reduce their branches like other global banks.
  • Maybank uses its huge database on analysis for credit risks and loan offering.
  • Another question whether Maybank plans to introduce its own bitcoins in which Maybank replies no.
  • A shareholder asks why Maybank appoints Tan Sri Zam as its chairman who doesn’t have any financial background. According to Maybank they need someone with technology background at board level to help Maybank in their digital journey.

Conclusion

Good insight on Maybank performance on the meeting and Maybank plans to do more digital solutions moving forward to mitigate Covid-19 impact.

Another good thing receive door gift of RM50 which this is my second time receiving RM50 for attending Maybank AGM.

2 Night Stays at Hotel Hilton Kota Kinabalu Sabah

hotel hilton kota kinabalu sabah lobby
hotel hilton kota kinabalu sabah lobby
hotel hilton kota kinabalu sabah lobby
hotel hilton kota kinabalu sabah lobby

Room

hotel hilton kota kinabalu sabah 2 single bed
hotel hilton kota kinabalu sabah 2 single bed
hotel hilton kota kinabalu sabah 2 bed room
hotel hilton kota kinabalu sabah 2 bed room
hotel hilton kota kinabalu sabah room
hotel hilton kota kinabalu sabah room
hotel hilton kota kinabalu sabah toilet
hotel hilton kota kinabalu sabah toilet

Breakfast

hotel hilton kota kinabalu breakfast western
hotel hilton kota kinabalu breakfast western
hotel hilton kota kinabalu breakfast nasi lemak
hotel hilton kota kinabalu breakfast nasi lemak

Swimming Pool

hotel hilton kota kinabalu swimming pool
hotel hilton kota kinabalu swimming pool
hotel hilton kota kinabalu swimming pool
hotel hilton kota kinabalu swimming pool

Room rate

As of July 2020, the room rate is RM180 per night for 2 single bed including breakfast.

Location

hotel hilton kota kinabalu sabah location
hotel hilton kota kinabalu sabah location

From KKIA to Hotel Hilton: 7km, 11 min driving
From Hotel Hilton to Pasar Philipines: 2.6km, 8 min driving
From Hotel Hilton to Likas Beach: 8.5km, 12 min driving

It is easy to find restaurants surrounding the hotel and within 5 min you can get your Grab.

How To Reduce Maybank Housing Loan Principal @ Prepayment

I have a housing loan with Maybank. So  I want to know how to reduce the principal. So I called Maybank call centre and according to the call centre, I need to deal directly with Maybank branch where I applied my housing loan.

If you don’t know the branch phone number you can get it from Maybank call centre.

When I call to Maybank branch where I applied my loan, the person in charge informed me the steps.

1) Transfer Extra Payment Directly to Maybank Housing Loan

  • The extra payment is parked at advance payment but the outstanding loan is still be reduced

2) Outstanding Loan will be Automatically Reduced

3) If Advance Payment is More than the monthly payment, Standing Instruction (SI) is automatically stop for next payment cycle (If you pay from SI)

4) If you want Advance Payment to be transferred directly to Loan Principal

  • Go to any Maybank branch to give instruction to transfer the advance payment.
  • It requires customer thumb print to do this thats why have to go to the branch.

Notes:

  • I called Maybank on 3rd May 2021.
  • Please verify with your branch to double confirm

Epson Ecotank L3150 Install to Macbook M1

I just bought Epson Ecotank L3150 printer to replace my kaput HP printer.

It was a hassle to install the Espon Ecotank because it took time for the printer to self configure. For me it took, around 10 minutes as what the user guide informed.

Ensure that to Start button stays on and nothing is flashing if not you will face error in installing Epson software and driver.

You need to install one software and its driver to configure correctly the printer.

Download the Epson printer and driver

espon ecotank L3150 software and driver
espon ecotank L3150 software and driver

Run the Epson Set up

epson ecotank L3150 first time wifi set up
epson ecotank L3150 first time wifi set up

Just follow step by step instruction then choose Wifi Connection Setup.

Choose Wifi Setup using USB Cable

epson ecotank L3150 use cable for wifi set up
epson ecotank L3150 use cable for wifi set up

 

epson ecotank L3150 use cable to connect to printer
epson ecotank L3150 use cable to connect to printer

Install Printer Driver for Mac

epson ecotank L3150 install driver
epson ecotank L3150 install driver

Add Printer After Driver Installation

macbook M1 add printer
macbook M1 add printer

Select Epson Printer and Use its Epson L3150 Series Driver

macbook M1 use epson L3150 series
macbook M1 use epson L3150 series

If Everything OK, You can start Printing with Epson Ecotank L315 Printer

macbook M1 Epson Ecotank L315 printing panel
macbook M1 Epson Ecotank L315 printing panel

Godot MultiPlayer Lobby Tutorial Part 1

I want to do a multiplayer games but it is hard to really understand how it works.

I did refer the official tutorial from Godot here. but I still can’t understand it then I read the code example of multiplayer bomber.

From the multi player bomber, I just extracted when a lobby is created by Host and then a Player joins the lobby.

I did this to simplify the GDScript so I can focus on understanding its inner working.

Besides I add additional print() to see which function is called first and understand their sequence. To know the sequence I added timestamp when the function is called.

Example:

I also rearrange the scripts into different folder to reflect its purposes and change gamestate.gd to GameState.gd

Print at Critical Functions To Detect Functions Calling Sequence

scripts/global/GameState.gd

  • print(“game state – connected_ok()”, ” time stamp: “, OS.get_system_time_msecs())
  • print(“game state – player connected(). ID: “, id, ” time stamp: “, OS.get_system_time_msecs())
  • print(“game state – register player() “, id, ” time stamp: “, OS.get_system_time_msecs())

scripts/lobby/lobby.gd

  • print(“game state – register player() “, id, ” time stamp: “, OS.get_system_time_msecs())
  • print(“lobby – refresh_lobby() Players: “, players, ” time stamp: “, OS.get_system_time_msecs())
  • print(“lobby – _on_connect_success()”, ” time stamp: “, OS.get_system_time_msecs())

A Player Joins As Host @ Server

When a player joins as host, below is the print output.

Launch The Application

  • Run the application via command line (I’m using Linux)
  • Then click Host
Godot Multiplayer Lobby - starting game
Godot Multiplayer Lobby – starting game

Host / Server output:

As you can see, no network signals (network_peer_connected & connected_to_server) are emitted during the network server connections.

Godot Multiplayer Lobby - print output
Godot Multiplayer Lobby – print output

A Player Joins as Client

When a player joins as client, below is the print output.

Godot Multiplayer Lobby - starting as player @ client
Godot Multiplayer Lobby – starting as player @ client

Host / Server output:

Godot Multiplayer Lobby - server print output when a player joins as client
Godot Multiplayer Lobby – server print output when a player joins as client

Player / Client output:

Godot Multiplayer Lobby - print output as player @ client
Godot Multiplayer Lobby – print output as player @ client

Print Output Timestamp Sequence

I rearrange the print out timestamp based on which comes first. Below is the result.

Notes:
The timestamp here differs from screenshots as I did this article in few days, hence the difference in timestamps.

Sequence Diagram

From the “Print Output Timestamp Sequence”, I developed the sequence diagram for better visualization.

Godot Multiplayer Lobby Sequence Diagram
Godot Multiplayer Lobby Sequence Diagram

Key Take Aways

  1. A put “remote” if the function is called by rpc_id() or any functions called via rpc
  2. Functions within the same entity e.g Client or Server are executed first.
  3. Function called via rpc() is executed after all functions within same entity is executed.
  4. Even function triggered via emit signal is executed first before rpc()

Resources:

Sample code

MyBayar Saman Promotion 50% until 11th April 2021

PDRM launched new saman portal and mobile application to support their digitalisation effort.

For the new launching, PDRM also gives 50% discount on all summons.

MyBayar Saman Portal: https://mybayar.rmp.gov.my/

Register First

It is easy to register and we only provide necessary information.

mybayar saman registration
mybayar saman registration

List of Summons

Automatically, the portal will provide list of summons after registration. You can view the summon amount after and before discount.

Besides you can see photo of your vehicle from the speed trap camera.

mybayar saman senarai saman
mybayar saman senarai saman

Pay Summons

PDRM provides lots of option for payment from online banking to credit card.

mybayar saman payment methods
mybayar saman payment methods

 

Godot Input Event Example

I want to do a simple board game. Lots of things, I don’t really understand, example the input events. I read the Godot documentation on Input Event but they didn’t provide any project example besides the code.

For beginner, it is not straight forward. So I share the project Input Event example based on the Godot documentation example.

Steps To Do

1. Create Godot Project

2. Create New Input Map

– Click Project -> Project Settings

godot project settings
godot project settings

– Choose Input Map tab

godot - input map
godot – input map

– Find ui_right and choose the right key on your keyboard
– Then click OK
– Do the same with ui_left

3. Test it, by pressing the keys on your game.

– The text will appear on the output screen

godot - output screen
godot – output screen

Add Custom Input Map – Mouse Left Button Click

1. Go to project -> Project Settings

2. Type ui_mouse_left_button_click (you can give any name)

godot - add new input map
godot – add new input map

3. Click Add

4. Add left button event to the Input Map

godot - mouse left button click input map
godot – mouse left button click input map

 

godot - added mouse left button click
godot – added mouse left button click

Godot 3.2.3 Inheritance GDScript Call Parent Function

Lets say you want to have two GDscripts where the ChildScript.gd will call ParentScript.gd.

From there, you want the ChildScript.gd to call its parent function.

Create Class Inheritance

You first create inheritance in GDScript by calling “extends”.

Call Parent Function . Use dot “.” to call parent function

Download Godot Project Example

In this example, when “Press Me” button is clicked. The label will change to “Parent Child” where “Parent” is return value from parent function while child is from child function.

godot-3-2-3 inheritance call parent function
godot-3-2-3 inheritance call parent function

You can download here the project example.

Godot Button Signal Tutorial

I’m still new to games development using Godot engine.

I follow the button signal tutorial on Godot website. I created the project for easy reference for others because at the website they don’t provide the Godot project that you can immediately play.

Full GDScript from the tutorial

Download Godot Button Signal Project

You can download the button signal Godot project here, if you want to run the tutorial.

In case the button signal tutorial is broken link for what soever reasons, I have converted the web page into PDF.

Hope it helps beginner games developer like me.

PHP is not running after upgrade MacOS Big Sur on Apple Macbook Pro M1

Another problem I always face after upgrading MacOS where PHP is not running anymore. I have to google to find solution. Now I decided to write step by step tutorial so easy for my future reference and hopefully can help others who face the same thing.

1) My phpMyAdmin instead of showing login page, it displays its PHP code.

Macos Bigsur upgrade php not running
Macos Bigsur upgrade php not running

2) Uncomment PHP Module

Open httpd.conf

Find php by typing

Remove # to uncomment the PHP module.

remove # from load module php
remove # from load module php

Save the changes by typing

3) Restart Apache

4) Refresh the PHP page

macos big sur php running again after change httpd conf
macos big sur php running again after change httpd conf