Featured

Documentations and Passport Renewal for Indonesian Maid

Required documents;

  1. Letter authorization – wakil isteri
  2. Marriage certificate
  3. Employer IC copy
  4. Copy of maid passport front and back
  5. Copy of maid work permit sticker
  6. Written info in A4 paper – full address (employer house add and Maid Indonesian house add)

Cost for 5 years passport renewal is RM109.00 as of March 2019. This cost inclusive of Biaya Paspor (RM92.00) and Jasa Ti Biometrik (RM17.00)

After submission (27/3/19) of completed document they will give you a slip with payment proof. They said normally will took around 3 days for new passport collection (stamp collection date which is in 1/4/19).

On the slip is also stated that we can sms to get update on the passport status before come for collection.

In my case it so troublesome – took me almost 3 weeks.

Type of Application: Perorangan Penggantian – Habis Berlaku

Tropicana Grandhill Twin Pines Genting Highlands

Tropicana Grandhill Twine Pines is another condominium project at Genting Highlands. According to its master plan, it is more like a new township.

Location is at higher latitude than Genting Permai.

Personally, I own a unit at Windmill Upon Hills condominium. It is another competition in the making for my unit.

So I check my competition whether it is a real threat to my unit or whether it is good potential investment.

The unit is fully furnished, floor is not laminated so you will have cold feet at this unit. Balcony is a bit small compared to my unit.

It is more expensive per sqft vs Windmill Upon Hills.

Scale Model

tropicana grandhill township plan genting highlands
tropicana grandhill township plan genting highlands
tropicana grandhill twin pines scale model access
tropicana grandhill twin pines scale model access
tropicana twin pines genting highlands scale model
tropicana twin pines genting highlands scale model

Layout

tropicana grandhill twin pines layout scale model
tropicana grandhill twin pines layout scale model
tropicana grandhill scale model layout
tropicana grandhill scale model layout
tropicana grandhills twin pines layout A B
tropicana grandhills twin pines layout A B
tropicana grandhills twin pines layout B C
tropicana grandhills twin pines layout B C
tropicana grandhills twin pines layout D E F
tropicana grandhills twin pines layout D E F

Show Unit Interior

Studio Show Unit – Layout A1

tropicana twin pines studio layout A1
tropicana twin pines studio layout A1
tropicana twin pines studio A1
tropicana twin pines studio A1
tropicana twin pines bedroom studio layout A1
tropicana twin pines bedroom studio layout A1
tropicana grandhill twin pines studio show unit bathroom
tropicana grandhill twin pines studio show unit bathroom
tropicana twin pines genting highlands studio show unit toilet
tropicana twin pines genting highlands studio show unit toilet

2 Bedrooms Show Unit – Layout C2

tropicana twin pines layout C2
tropicana twin pines layout C2
tropicana twin pines kitchen layout C2
tropicana twin pines kitchen layout C2
tropicana twin pines kitchen washing machine fridge layout 2
tropicana twin pines kitchen washing machine fridge layout 2
tropicana twin pines kitchen for layout C2
tropicana twin pines kitchen for layout C2
tropicana twin pines dining table layout C2
tropicana twin pines dining table layout C2
tropicana twin pines master bedroom layout C2
tropicana twin pines master bedroom layout C2
tropicana twin pines wardrobe master bedroom layout C2
tropicana twin pines wardrobe master bedroom layout C2

 

tropicana twin pines bedroom 2 layout C2
tropicana twin pines bedroom 2 layout C2
tropicana twin pines master toilet layout C2
tropicana twin pines master toilet layout C2
tropicana twin pines master bathroom layout C2
tropicana twin pines master bathroom layout C2
tropicana twin pines toilet 2 layout C2
tropicana twin pines toilet 2 layout C2

Location

Property Site

Tropicana Grandhill Map Location

tropicana grandhills twin pines location
tropicana grandhills twin pines location

Sales Gallery

Sales Gallery Location

Price

Maintenance Fee & Sinking Fund

RM0.55 per sqft

Layout A2, 732 sqft

Gross Purchase Price: RM764,000 (roughly RM1,000 per sqft)
Bumi Rebate: 5%
Other Rebate: 8%
Net Price: RM667,736

  • Free S&P & Loan Legal Fee
  • Free Loan Stamp Duty
  • Free first year maintenance fee and sinking fund

Contact

https://www.tropicanagrandhill.com/

Sales Agent: Andrew Tee
Tel: 012 628 3631

Conclusion

For me it is not a real threat to Windmill Upon Hills because:

  • Quite far from amenities, except if all the planned amenities within the township are well implemented
  • More expensive per sqft with nearly similar furnishing / facilities / features but balcony is much smaller.

Anyway different kind of guests will have different needs and what they are looking for. So Tropicana Grandhill Twin Pines could still have its own guests fan.

Sharp Aquos Android TV Model 2TC42BG1X – How To Play Video From USB Drive

This is my first time having a Sharp TV and at same time Android TV. Most all of my TV is Samsung TV. Samsung has very good user experience and better quality in term of video & audio. Besides it can connect to my phone and has good after sales support.

I bought my first Sharp Android TV due to its cheaper price vs Samsung and plan to put it at my AirBnb unit.

I tried to play video from my USB drive using my Sharp Aquaos Android TV. To my dismay, it is very hard to do it, it is not intuitive like Samsung TV. Besides it is lacks of documentation even after Google it.

After try and error, I found how to do it.

Go to Dashbord by Pressing the “House Button” at the Remote Control Then Click Apps

sharp aquos android tv remote control
sharp aquos android tv remote control
sharp aquos android tv dashboard
sharp aquos android tv dashboard

Select & Clock Get More Apps

sharp aquos android tv get more apps
sharp aquos android tv get more apps

Scroll Down and Select Video Players & Editors

sharp aquos android tv install video player
sharp aquos android tv install video player

Choose Nova Video Player

sharp aquos android tv select nova video player
sharp aquos android tv select nova video player

Click Install

sharp aquos android tv install nova video player
sharp aquos android tv install nova video player

After Installation, Click Open

sharp aquos android tv open nova video player
sharp aquos android tv open nova video player

Allow Nova Video To Access Your Files by Clicking Yes

sharp aquos android tv nova video player allows access
sharp aquos android tv nova video player allows access

Choose Network & Files and Select External Drive

sharp aquos android tv nova video player choose network files and external drive
sharp aquos android tv nova video player choose network files and external drive

Now You Can Start Browsing Your Movies inside USB drive

sharp aquos android tv nova video player browse movies
sharp aquos android tv nova video player browse movies

For Example, I Selected Doctor Strange

sharp aquos android tv nova player doctor strange
sharp aquos android tv nova player doctor strange

You Can Immediately Play or Choose Subtitle

sharp aquos android tv nova player play
sharp aquos android tv nova player play

Scroll Down and Choose Subtitle from Online or Inside the USB Drive

sharp aquos android tv nova video player subtitle
sharp aquos android tv nova video player subtitle

Inside the USB Drive Choose File Name with Underscore

The underscore file is created automatically by Sharp Aquos TV

sharp aquos android tv nova video player select subtitle with underscore
sharp aquos android tv nova video player select subtitle with underscore

Then Associate the File as Your Subtitle

sharp aquos android tv nova video player subtitle associate the file
sharp aquos android tv nova video player subtitle associate the file

Play the Movie and You Can See The Subtitle Starts Showing

sharp aquos android tv nova video player subtitle showing
sharp aquos android tv nova video player subtitle showing

 

Risiko Membeli Lot LIDI

Kegiatan menjual lot lidi yang semakin berleluasa berpunca dari masalah harga rumah yang semakin mahal, tiada ilmu berkaitan tanah dan keinginan untuk membina rumah di atas tanah sendiri.  Tinjauan mendapati kegiatan ini sering tertumpu di kawasan pinggir bandar, yang mana sasaran pembelinya terdiri dari penduduk-penduduk kampung, pesara atau keluarga muda. Pentadbir-Pentadbir Tanah ingin memaklumkan bahawa terdapat banyak risiko yang akan dihadapi kepada pembeli-pembeli lot lidi.

Anda boleh membaca tulisan-tulisan di internet tentang risiko pembelian lot lidi ini dan kebanyakan hujah-hujah yang dikemukakan adalah benar belaka. Risiko ini mungkin tidak berlaku pada masa sekarang, tetapi percayalah ianya akan berbangkit pada masa hadapan. Secara ringkasnya, risiko-risiko yang perlu dihadapi adalah seperti berikut :-

1. NAMA TIADA DALAM GERAN

Dokumen yang menunjukkan anda ialah seorang pemilik di dalam lot lidi hanyalah dengan melalui Surat Pemegang Amanah sahaja. Hanya seorang yang akan menjadi Pemegang Amanah bagi kesemua pemilik-pemilik lot lidi dan nama Pemegang Amanah itu sahaja yang akan didaftarkan di dalam geran. Sebagai contoh jika ada 12 orang pembeli lot lidi di dalam satu kawasan, nama Pemegang Amanah akan tertera di dalam geran sebagai mewakili 11 pembeli yang lain. Pemegang Amanah ini boleh jadi terdiri daripada salah seorang pembeli lot lidi atau boleh jadi juga pemilik asal tanah berkenaan. Seperti yang pernah disebutkan di dalam artikel sebelum ini, geran adalah punca kuasa yang sangat penting di dalam apa-apa urusan tanah. Jika nama tiada di dalam geran, mereka tidak layak untuk berurusan apa-apa mengenai tanah berkenaan walaupun diikat dengan Surat Pemegang Amanah.

2. SUKAR UNTUK BERJUAL BELI

Sekiranya salah seorang pembeli lot lidi ingin menjual semula lotnya kepada orang lain, tiada prosedur undang-undang yang sah boleh dilaksanakan untuk urusan jual beli berkenaan melainkan mereka terpaksa membuat Surat Pemegang Amanah baru yang memerlukan Pemegang Amanah sendiri untuk melaksanakannya. Sekiranya Pemegang Amanah itu enggan untuk menukar nama atas apa-apa sebab (perbalahan, tiada masa, malas, nyanyuk, sudah meninggal dunia atau sebagainya) maka proses pertukaran nama itu tidak boleh berlaku.

3. KESALAHAN LANGGAR SYARAT TANAH

Lot lidi lazimnya ialah lot yang bersyarat pertanian. Membina rumah di atas lot bersyarat pertanian adalah kesalahan serius seperti yang termaktub di dalam Seksyen 125 Kanun Tanah Negara. Anda akan dikenakan denda atau tanah anda boleh dirampas.

4. TIADA PAMPASAN JIKA ADA PENGAMBILAN

Jika Kerajaan berhasrat untuk membuat pengambilan di atas tanah berkenaan kerana sebab-sebab tertentu, pembeli lot tidak mempunyai apa-apa hak untuk menuntut pampasan daripada Kerajaan. Hanya Pemegang Amanah yang akan dipanggil untuk sesi pendengaran malah wang pampasan akan diberikan kepada Pemegang Amanah sahaja. Pembeli-pembeli lot perlu berurusan dengan Pemegang Amanah untuk membahagi-bahagikan wang pampasan.

5. TANAH TIDAK BOLEH DIWARISKAN JIKA ADA KEMATIAN

Oleh kerana nama pemilik-pemilik lot lidi tidak didaftarkan di dalam geran, waris-waris si mati tidak boleh memulakan prosedur pesaka kerana secara teorinya tanah berkenaan adalah milik Pemegang Amanah.

6. PEMEGANG AMANAH MENINGGAL DUNIA

Ini adalah risiko terbesar yang perlu dihadapi oleh pemilik-pemilik lot lidi. Jika Pemegang Amanah meninggal dunia, pembeli-pembeli lot lidi bolehlah diibaratkan seperti layang-layang terputus tali. Memang benar mereka boleh melantik Pemegang Amanah yang baru, tetapi prosedurnya bukanlah semudah seperti yang disangka. Anda akan berhadapan dengan ketidaktentuan, prosedur pesaka yang rumit, masa yang lama, kos yang tinggi dan kemungkinan berlaku perbalahan yang berpanjangan.

JANGAN TERPEDAYA DENGAN KATA-KATA PENJUAL LOT LIDI SEPERTI:-

1. Akan membuat tukar syarat atas tanah itu selepas semua lot habis dijual.
2. Akan mengemukakan pelan pembangunan kepada pihak berkuasa.
3. Akan pecahkan lot secara betul menggunakan juruukur berlesen pada masa akan datang.
4. Sempadan lot lidi akan ditanam dengan batu sempadan.
5. Nama akan ditukar secara automatik jika Pemegang Amanah meninggal dunia.
6. Tidak akan ada masalah kerana ada Surat Pemegang Amanah.
7. Lot lidi adalah sah dari segi undang-undang.

Banyak lagi risiko yang tidak dinyatakan di sini. Justeru itu, Pentadbir-Pentadbir Tanah menasihatkan supaya mengelakkan diri dari terlibat dengan pembelian lot lidi. Biarlah membeli tanah atau rumah yang mahal sedikit asalkan mengikut lunas undang-undang kerana ia akan membantu sekiranya terdapat masalah-masalah pada masa akan datang. Adalah dikhuatiri kediaman idaman anda yang sepatutnya memberi keselesaan kepada keluarga dan boleh diwariskan kepada anak-anak akan berakhir dengan kerugian yang besar, perbalahan keluarga dan penyesalan di kemudian hari.

KENYATAAN PENTING :

Penerangan di atas adalah sangat ringkas bagi memudahkan kefahaman kepada rakyat yang tidak mengetahui prosedur undang-undang tanah. Terdapat prosedur-prosedur teknikal yang tidak dinyatakan dan anda dinasihatkan untuk mendapatkan pandangan dari Pejabat Tanah berkaitan.

Kata kunci :-

Lot Lidi : Sebidang tanah yang mempunyai geran yang sah, tetapi kemudiannya dipecah-pecahkan lot kecil untuk dijual semula dengan tujuan untuk membina rumah.
Pemegang Amanah : Salah seorang yang melantik diri sendiri atau dilantik oleh pembeli-pembeli lot lidi untuk memegang amanah bagi semua pembeli dan hanya namanya seorang yang didaftarkan di dalam geran.
Surat Pemegang Amanah : Surat berupa perjanjian di antara pembeli-pembeli dengan Pemegang Amanah yang menyatakan bahawa Pemegang Amanah akan memegang hak di atas tanah berkenaan. Ia juga dipanggil Surat Ikatan Amanah.
Pesaka : Prosedur pembahagian tanah kepada waris selepas berlakunya kematian pemilik tanah.

Rujukan:

Pejabat Daerah Dan Tanah Kerian

My Property Loan Fully Settled Officially on 4th June 2020

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.

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.