How To Get Rid of Cockroaches – The Cheaper Way

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 lazada
bought poison powder at lazada
green leaf cockroach poison powder
green 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 cockroach
getting rid of cockroach
died cockroaches
died 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
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
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.

jaya grocer perfector cockroach gel bait
jaya grocer perfector cockroach gel bait

 

My TNB Bill Spike to RM606.85 for June 2020 Bill

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.

Honey Chicken Wings Sabah & Durian Stall at Batang Kali Selangor

Last weekend, we stay at Windmill Upon Hills after so long stayed inside our house due to MCO.

Durian

We decided to hunt for durian on Sunday evening (15/06/2020). We went to Batang Kali to find cheaper durians.

We managed to found durian kampung at Batang Kali selling at RM15 / kg which is cheap. Furthermore the durian is really delicious.

durian batang kali
durian batang kali

Honey Chicken Wings Sabah

While hunting for durian, we found a stall selling Honey Chicken Wing Sabah. They sell it RM2 per chicken wing. It is really delicious.

You can see its deliciousness from the picture itself.

honey chicken wing sabah at batang kali selangor
honey chicken wing sabah at batang kali selangor

Location

I don’t remember the exact location of the stall, but it was between a mamak restaurant and Shell petrol station.

Estimate location of durian stall on Google Map

Estimate location of the chicken wing Sabah stall on Google Map.

 

Kedai Gunting DMSR Bukit Jelutong During RMCO

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
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
kedai gunting rambut dmsr new sop

For anyone who are 60 years old and above can make an appointment from 10AM to 12PM.

kedai gunting rambut dmsr contact number
kedai gunting rambut dmsr contact number

To Make Appointment for 60 years old and above

Tel: 019 266 8093  / 010 892 7618

How To Convert Javascript to TypeScript

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

npm install -g typescript

-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.

tsc --init

I edited my tsconfig.json as follows:

{
  "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

{
  "extends": "./tsconfig.json",
  "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
}

tslint.json

{
  "defaultSeverity": "error",
  "extends": [
    "tslint:recommended"
  ],
  "jsRules": {
    "no-unused-expression": true
  },
  "rules": {
    "quotemark": [
      true,
      "double"
    ],
    "member-access": [
      false
    ],
    "ordered-imports": [
      false
    ],
    "max-line-length": [
      true,
      150
    ],
    "member-ordering": [
      false
    ],
    "interface-name": [
      false
    ],
    "arrow-parens": false,
    "object-literal-sort-keys": false
  },
  "rulesDirectory": []
}

Change Your Existing Files Extension from .js to .ts

typescript change all js to ts extension
typescript change all js to ts extension
typescript change all js to ts extension
typescript change all js to ts extension

Amend Coding T0 Follows TypeScript

Below are few examples TypeScript coding standard that you must follow.

#1 - require to import
const Humanoid = 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 class Humanoid extends HumanoidReqHandler

//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
protected taskName: string;

//#4 - declare abstract method by adding keyword abstract
//example of javascript - abstract method
if(this._execute === undefined){
	throw new Error("Abstract method _execute()");
}

//put abstract in front of class keyword
abstract class Task{
    constructor(){}
    abstract _execute() : any;
}

//#5 - use import * as something from 'somewhere'
//if error class name .default is not a function decla
//example
import m from 'moment';
TypeError: moment_1.default is not a function

//change to
import * as m from 'moment';

If you Find below error, add return true at main async function.

typescript error promise contructor
typescript error promise contructor
(async function() {
  console.log('start program');
  console.log('end program');
  return true; //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
typescript tslint

Run Unit Test

I use mocha to do unit test.

npm install --save-dev @types/mocha

At package.json, add new script command

"scripts":{
... //other commands
"test-filename": "mocha -r ts-node/register"
},

Example if you want to run one individual unit test.

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.

npm install ts-node --save-dev

Run TypeScript Application

At the terminal or console, type

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.

 

My Another Elba Kitchen Hob Burner Making Problem

My Elba kitchen hob is getting older. This time a second burner started having problem.

Another Burner Flame Is Slowing

Time to replace my old burner as showed in the video the flame starts to becoming smaller.

Order Burner Online and Delivery

So I decided to order online and get it delivered instead going to Exactly Quality office (Elba spare parts supplier) in Kepong.

I whatsapp Elba 011 5923 1405 and share my previous receipt on my part numbers. The total price for new burner is RM120 and RM10 for delivery.

The person in charge gave an account number to transfer to.

elba kitchen hob burner order communication via whatsapp
elba kitchen hob burner order communication via whatsapp

Delivery Time

It took 11 days for delivery. This is due to Raya Holiday and GDEX had so many parcels to deliver and had to put on queue my burner.

At the same time, you must keep following up with Exact Quality by calling directly to their customer support number to know the latest status.

My New Burner

The burner was well packed. I forgot to take photo of the box. The supplier used bubble wrap the burner to ensure no scratches.

elba kitchen hob burner bubble wrap
elba kitchen hob burner bubble wrap
elba kitchen hob received all three burners
elba kitchen hob received all three burners

Cleaning Up the Kitchen Hob

When I want to install the burner, I noticed my kitchen hob was not clean. So I cleaned up especially the black greased stains

elba kitchen hob dirty
elba kitchen hob dirty
elba kitchen hob stove after cleaning
elba kitchen hob stove after cleaning

My New Burner With Better Flame

Cost Comparison Buying New Kitchen Hob vs Replacing Burners

I replaced 2 burners with total cost of RM240.
I don’t include delivery Cost of RM10 in the comparison.

RM445 cost 0f buying new kitchen hob with similar features.

new elba kitchen hob rm445 - lazada
new elba kitchen hob rm445 – lazada

It is 50% cheaper vs buying new one.

Conclusion

You must look as a whole whether only the burners have problems or other parts of your kitchen hob has problem e.g ignition problem.

In my opinion, if only burner got problems then better replace it rather than buying new kitchen hob.

Where To Buy Elba Burner

You can also ask for delivery with minimum delivery cost.

Anyway the front service desk is very bad. Haha better just ask for delivery.

Exact Quality Sdn Bhd
Lot 13, Jalan E1/5, Taman Usaha Ehsan,
52100 Kepong, Kuala Lumpur, Malaysia.

Tel: 03-6286 9000 I Fax:  03-6286 9004
Operation Hours: 08:30 am to 06:00 pm
(Monday – Friday, except Public Holiday)

Email: eqservice@fiamma.com.my
Website: http://www.e-quality.com.my/

Warren Buffet Investment Portfolio By Industry

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

Startups are not our game. (Many of Berkshire Hathaway’s largest holdings are well over a century old; American Express, Wells Fargo, Procter & Gamble, and Coca-Cola were started in 1850, 1852, 1837, and 1886, respectively

References:

https://www.investors.com/research/warren-buffett-stocks/
https://www.gurufocus.com/guru/warren+buffett/current-portfolio/portfolio

Baskin Robbins at 31% Discount for May 2020

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
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
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
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.

  1. Cotton Candy – for my kids
  2. Mint Choc Chips – for my wife
  3. Jamoca – for myself
Baskin Robbins bought 3 quarts
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
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
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
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
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
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.

Open: Either 11:00AM or 12:00PM

Close: Either 8:00 PM or 9:00PM

Baskin Robbins opening hours during MCO
Baskin Robbins opening hours during MCO

 

 

Repair Broken Frame Toilet Mirror Using Hot Glue

My toilet mirror frame was broken due to water humidity. I bought the mirror in 2013. I don’t want to replace it because the mirror itself is still in good condition. Only the bottom frame was detached.

Dry The Mirror

Firstly, I dried back of the mirror under the hot sun. It was bit humid at the back. At same time, I used hair dryer to ensure it was totally dried.

toilet mirror - broken frame at bottom due to water
toilet mirror – broken frame at bottom due to water

Apply Hot Glue

Then I switched on my hot glue gun for few minutes before start applying the hot glue gun.

Press a bit the hot glue gun to see whether the glue is ready or no.

toilet mirror - hot glue frame
toilet mirror – hot glue frame

Then apply evenly on the surface.

toilet mirror - apply hot glue
toilet mirror – apply hot glue

Stick the frame quickly before the hot glue dried, hold the frame for few minutes to ensure the frame is stick to its body.

Apply again hot glue gun on any gaps that you see. Let it dried by itself.

toilet mirror - frame done hot glue
toilet mirror – frame done hot glue

Make It Neat

I then used masking tape to make it looks neat.

toilet mirror - masking tape
toilet mirror – masking tape

The Repaired Mirror

The repaired mirror frame is strong like new one.

toilet mirror - repaired
toilet mirror – repaired

Cost of Repair

Its cost me RM20 for the hot glue gun and RM4 for four hot glue sticks. I used one hot glue stick to repair the mirror.

Of course, I can reuse back my hot glue gun for other repairs. So for me, it just cost me RM1 to repair the mirror.

hot glue stick
hot glue stick