I’m happy my property loan fully settled on 4/6/2020. My loan fully settled 13 years earlier.
Every month, extra money I had, I would use it to reduce my loan principal. This discipline enables me to have additional cash flow from the loan. I’m also excited I don’t need to pay lots of loan interest by fully settled it early.
Of course, I had opportunity lost due to use the cash to reduce loan principal instead of investing it. But I don’t believe in leveraging so much that’s why I wants to settle it.
Last time I fully settled 2 of my cars loans earlier by around 4-5 years.
My next target to settle my other rental property loans.
My house is infected with German cockroaches. It is small cockroaches that show up in the dark at night. They like to creep among cups and glasses inside my kitchen cabinet.
I tried few methods such as the Ridsect bait and Perfector gel baits. Unfortunately it is not effective.
I wanted to call professional cockroach killer but usually they will charge around RM1,000 and claim can completely eradicated the infestation after 4 rounds of putting cockroach poison.
The Effective and Affordable Green Leaf Cockroach Bait Powder
I decided to try bait powder first and see its effect. I bought at Lazada for RM20 for 50 sachets.
bought poison powder at lazadagreen leaf cockroach poison powder
I put the powder under my kitchen cabinets drawers within 2 days lots of German cockroaches died. The yellowish powder is the cockroach poison.
getting rid of cockroachdied cockroaches
When I do inspection at my kitchen cabinet at night, I don’t see anymore the cockroaches crawling on my cups, glasses and plates.
You can buy the Green Leaf cockroach bait powder at RM24.50 with delivery charges.
lazada green leaf cockroach bait powder
Ineffective Ridsect Cockroach Bait
I did try for more than a year Ridsect cockroach bait. Put the baits where the cockroach like to hide but it seems the cockroaches population is getting bigger and daring.
You can buy it at RM11.30 at Jaya Grocer.
jayagrocer ridsect cockroach bait
Ineffective Perfector Gel Bait
This one is expensive around RM22. You can buy it at Jaya Grocer as well. This method also proves ineffective tried it so many times for few years.
In my previous post, I was happy that my bill was in line with my expectation. To my surprise, when I see my TNB bill spike for June 2020, it is RM606.85.
On average, my monthly bill is RM260. MCO started in March.
So assuming my June bill is also RM260 so my bill is additional of RM346.85. According to TNB, during MCO (March to May) they did estimation only. The real meter reading is on June. So if I average out RM346.85 / 3 = RM115.60 additional per month.
Why divided by 3? Because I take from March till May only. Bear in mind, MCO started in 18th March. So it means March only half month we stayed at home.
So roughly my monthly bill during MCO is RM260 + RM115.60 = RM375.60.
Barbershop is now open during Recovery Movement Control Order (RMCO).
So I took this opportunity to have my hair cut. I went to my usual Kedai Gunting to have my hair cut after so many months. The price increase from RM14 to RM19.
kedai gunting rambut dmsr new rate
As usual, before entering the barbershop you need to record your visit and sanitize your hand.
The barber has their protective gear to ensure we are safe from virus infection.
kedai gunting rambut dmsr new sop
For anyone who are 60 years old and above can make an appointment from 10AM to 12PM.
Previously I use Babel Javascript to convert my javascript to ECMA2015. I like to program in object oriented because I learned my first programming language in C/C++ and Java.
Doing procedural language like C was much easier vs object oriented Java. But in the long run, I noticed that coding in object oriented is much easier to maintain.
Steps to Convert Javascript to TypeScript
Install TypeScript
1
npm install-gtypescript
-g to make it global so all your JavaScript programs can be migrated to TypeScript.
Create tsconfig.build.json, tsconfig.json and tslint.json
At your root project folder run the below command.
1
tsc--init
I edited my tsconfig.json as follows:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"compilerOptions":{
"target":"es2017",
"module":"commonjs",
"lib":["dom","dom.iterable","esnext"],
"rootDir":".",
"moduleResolution":"node",
"resolveJsonModule":true,
"removeComments":true,
"emitDecoratorMetadata":true,
"experimentalDecorators":true,
"allowSyntheticDefaultImports":true,
"types":["node","mocha","chai"],
"typeRoots":["node_modules/@types","src/types"],
"jsx":"react"
},
"exclude":["node_modules","dist","src/admin"],
"include":["src/**/*.ts","src/**/*.json"]
}
I added manually tsconfig.build.json and tslint.json
Change Your Existing Files Extension from .js to .ts
typescript change all js to ts extensiontypescript change all js to ts extension
Amend Coding T0 Follows TypeScript
Below are few examples TypeScript coding standard that you must follow.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#1 - require to import
constHumanoid=require("./humanoid/index.js");
//change require to import & remove file extension
import{Humanoid}from"./humanoid/index";
#2 - add export in front of class and remove module.exports
export classHumanoid extendsHumanoidReqHandler
//remove all line that have module.exports
module.exports=Humanoid;//delete this line
#3 - declare all global variables inside a class as class variables
this.taskName="something";
//then can call this.taskName inside your class after declare the variable name
protectedtaskName:string;
//#4 - declare abstract method by adding keyword abstract
//example of javascript - abstract method
if(this._execute===undefined){
thrownewError("Abstract method _execute()");
}
//put abstract in front of class keyword
abstractclassTask{
constructor(){}
abstract_execute():any;
}
//#5 - use import * as something from 'somewhere'
//if error class name .default is not a function decla
//example
importmfrom'moment';
TypeError:moment_1.defaultisnotafunction
//change to
import *asmfrom'moment';
If you Find below error, add return true at main async function.
typescript error promise contructor
1
2
3
4
5
(async function(){
console.log('start program');
console.log('end program');
returntrue;//add return true to solve error
}());
Besides, you can use TypeScript linter @ tslint (that was set up early) to fix any coding that doesn’t follow TypeScript standard. TypeScript standard is more strict vs JavaScript.
Example of tslint verbose message:
typescript tslint
Run Unit Test
I use mocha to do unit test.
1
npm install--save-dev@types/mocha
At package.json, add new script command
1
2
3
4
"scripts":{
...//other commands
"test-filename":"mocha -r ts-node/register"
},
Example if you want to run one individual unit test.
1
npm run test-filename./---g"./src/lib/utils/date-timestamp.test.ts"
If you found Error Cannot find module ‘ts-node/register’
Solution: save ts-node locally as develepment dependency.
1
npm install ts-node--save-dev
Run TypeScript Application
At the terminal or console, type
1
2
3
4
ts-node path-to-your-main-file
//example
ts-node./src/main.ts
Conclusion
Even though it takes time to convert from babel javascript into typescript but in the long run it is easier to understand the code and easier to maintain the code.
Besides, you just need to install ts-node and its linter is very good in displaying possible errors.
Benefits of using TypeScript
Easy debugging – Typescript shows directly line that throws an error
Strong type – any mismatch of variable will be highlighted by ts-lint
Less transpilation time – no need to compile like babel. If you have lots of .js files, it takes time to transpile it
Support better object oriented – it supports abstract, protected, private methods and variables.
Alhamdulillah, my TNB electricity bill is within my monthly bill range. I was concerns that the bill was skyrocket because because during MCO, we stayed at house and used more airconds
tnb electricity bill during MCO april may 2020
You can check your TNB bill online at the link below:-
Warren Buffet is well known investors. He is the most successful investor in the world. He has a net worth of USD70.5 billion as of April 2020. He is chairman and CEO of Berkshire Hathaway.
For Malaysian, to ride on directly Warren success by buying his company shares or his invested companies, it is not straight forward as we need to open up a brokerage account that have access to US market and need bigger fund vs invest in Bursa Malaysia.
If you are smaller investor like me and still prefer investing in Malaysia, maybe the companies industry he invests in can be our guidelines which industry we should focus on.
List of Industries That Warren Buffet Invested In
Banks or Financial Institution
Bank of America
Wells Fargo
American Express
US Bank Corp
Visa
Mastercard
Consumer Goods
Coca Cola
Kraft Heinz
Mondelez
Procter & Gamble
Insurance
Globe Life
The Travelers Companies
Retails
Cotsco
The Kroger
Amazon
Drug Manufacturers
Johnson & Johnson
Biogen
Teva Pharmaceutical
Media
Liberty Global
Sirius
Oil & Gas
Phillips 66
Suncor
Quotes from Warren Regarding Companies That He Invests in
1
Startups are notour game.(Many of Berkshire Hathaway’slargest holdings are well overacentury old;American Express,Wells Fargo,Procter&Gamble,andCoca-Cola were started in1850,1852,1837,and1886,respectively
Every 31st of a month, I will usually buy Baskin Robbins ice cream. This is during this day, Baskin Robbins gives 31% discount.
baskin robbins discount 31 may 2020
During MCO Baskin Robbins Bukit Jelutong Only Open At 12:00PM
But during this MCO (Movement Control Order), the ordering process changed and confused lots of people. Yesterday on 31st of May on 10:00 AM, I went to Baskin Robbins Bukit Jelutong at Petronas.
I already saw long queue at the ice cream parlour but it was still not open and nothing signage regarding the opening hours.
Then I went to Jaya Grocer to buy groceries when I checked back at 10:40 AM the parlour still closed, I decided to go to Aeon Shah Alam Baskin Robbins.
Long Queue at Baskin Robbins Aeon Shah Alam
baskin robbins long queue at AEON Shah Alam
When I arrived at 11:00AM at Aeon Shah Alam, there was already long queue.
Walk-In Order Only Pint or Quart
To my dismay, I could only buy at most quart size. Half gallon is not available for walk-in. Besides, if you choose quart, you can only select one flavor.
Baskin Robbins – walk in can buy only quart or pint
My Ice Cream Stocks till June 31st 2020
I bought 3 flavors of ice creams.
Cotton Candy – for my kids
Mint Choc Chips – for my wife
Jamoca – for myself
Baskin Robbins bought 3 quarts
Half Gallon 31% Discount Available at Lazada
At night around 11:00 PM, I checked if Lazada got Baskin Robbins 31% promo. Last March 31st, Baskin Robbins only offered their 31% discount at Lazada. You had to buy the e coupon then redeem at the counter.
To my surprise, the coupon for half gallon was available.
Baskin Robbins Half Gallon 31% discount
However, you could buy the coupon on 31st May but can only redeem it on 1st June onward and valid for 3 months.
Baskin Robbins 31% discount terms and conditions
Received e-Voucher via Email
You will receive an e voucher similar like this via email where you can redeem it within 3 months.
baskin robbins wogi send e voucher
Show the e voucher at Baskin Robbins counter to redeem your ice cream. Of course it shows value RM111.50 but in actual fact you just pay RM76.94
baskin robbins e voucher redeem
Yeah My Half Gallon
This is my half gallon that I bought at Lazada.
Anyway this is more efficient way to get 31% discount by buying it first at Lazada then can redeem it any hours within 3 months. It avoids long queue at Baskin Robbins.
baskin robbins half gallon
However the problem is on information diffusion where lack of info at Baskin Robbins website or even at their outlet signage. They should improve on this.
Baskin Robbins Opening Hour During MCO
In summary during MCO different outlets have different opening hours. In principle, below are the different opening hours.