My Rambling Thoughts

Tenant-owner duality

News: Are HDB residents tenants or owners?

Date: 24 Jun 2017. Source: ST.

The report on the homes in Geylang Lorong 3 reaching the end of their leases highlights the issues surrounding leasehold properties (Govt taking back 191 homes in Geylang when lease ends; June 21).

While applying to rent out my HDB flat, I noticed that the Housing Board referred to me as a "tenant", and my potential tenant as a "sub-tenant".

He has the audacity to ask this question? :lol:

News: HDB buyers are home owners, not tenants

Date: 19 Jul 2017. Source: ST.

We thank Mr Larry Leong for his feedback (Are HDB residents tenants or owners?; June 24).

Purchasers of HDB flats are owners of their property.

Flat owners enjoy rights to exclusive possession of the flat during the tenure of the flat lease.

They can sell, let out, and renovate their flats, within the guidelines specified in the Lease and Housing and Development Act.

Legally, you are a tenant. But HDB can call you whatever they want, including a "owner". It has no legal basis and does not confer you the rights of an owner. Except when it comes to property tax, yes, you are an owner. :lol:

A look at housing loan

As of 1st July 2017.

Years left19 years
Interest (last month)$465.10
Effective interest rate2.16%
Interest-to-installment ratio33.8%
Used CPF amount$124,905.78
Accrued interest$15,152.43


  • Should I refinance?
  • Should I pay down this debt?
  • Should I use cash or CPF to make principal payment?


To 19 years. Never ever refinance longer than existing tenure.


There is significant savings (in interest) if interest rate is 1.5% and below. Will it hold long term? If so, it is worth refinancing.

Principal payment

This table shows the balance at the start of the year, the payment for that year and the principal/interest breakdown.


It is better to make principal payment in the early years as the interest component is higher. Every ~$20k+ cuts two years from the tenure.

Cash or CPF

The issue with using CPF is accrued interest. Allowing the use of CPF for housing loan is a stealth-of-hand to make you pay interest for your retirement savings. (What a scam. :lol:)

The accrued interest goes away only after you sell the flat. You need to repay the CPF loan + accrued interest. It is fine if you are not able to repay the interest in full; it is always zero'ed out.

If you don't sell your flat, the accrued interest accumulates at 2.5% compounded. In my case, I'm adding $3.5k of interest yearly. That is $3.5k CPF Board should be paying me.

Previously, I thought of using CPF to make principal payment. Now I think it is a very bad idea.


As always, the key is to minimize the interest.

Right now, I'm paying interest of ~$5.6k to the bank vs $3.5k to CPF. It makes sense to reduce the bank loan now. At some point, I will pay more interest to CPF, then it is better to pay down the CPF loan.

You can repay your CPF loan and accrued interest using form HSD/VR (Application to Make Cash Refund of CPF Savings Used for Property).

Claymore, Battle of the North

Claymore is Berserk-lite. If you like one, you'll probably like the other.

Claymore manga is complete at 27 volumes. According to the Wiki, the first English volume was released in Apr 2006 and the last volume Oct 2015! (Original Japanese run was May 2001 to Dec 2014.)

Claymore is a Shonen fighting manga, hence it has many of the genre's traits: barebone story, many long fight scenes, lots of cannon fodder, use of deus ex machina to get out of impossible situations, but also surprising revelations and plot twists to keep the story going. The last point is mostly the reason I still read this type of manga; I don't like it as a rule.

(If the fight scenes are condensed, I'll say there are just 12 volumes worth of story. In comparison, Berserk feels like 80% fighting and 20% story.)

The question as always is, is it done well enough?

For Claymore, the answer is yes. It is light on gore, the story is not too bad, the bad guys have convincing motivations, and the plot twists are plausible. I rate it B-. Go read it now! :lol:

The Battle of the North is the mid-way point of the series. It spans from Vol 9 to 11. 24 out of 47 warriors of the Organization were deployed to the North. They were: #6 (Miria), #8 (Flora), #9 (Jean), #11 (Undine), #13 (Veronica), #14 (Cynthia), #15 (Deneve), #17 (Eliza), #18 (Lily), #20 (Queenie), #22 (Helen), #24 (Zelda), #27 (Emelia), #30 (Wendy), #31 (Tabitha), 35 (Pamela), #36 (Claudia), #37 (Natalia), #39 (Carla), #40 (Yuma), #41 (Matilda), #43 (Juliana), #44 (Diana), #47 (Clare).

This is important because we want to know who did not participate, why and if they turned up later: #1 (Alicia), #2 (Beth), #3 (Galatea), #4 (Ophelia), #5 (Rafaela), #7 (Eva), #10, #12, #16, #19, #21, #22, #25, #26, #28, #29, #32 (Katea), #33, #34, #38, #42, #45, #46.

#1 and #2 were the Organization's secret weapons. They showed up right after the battle to mop up the remaining enemy forces.

#3 was "the eyes" and was observing the battle from afar with #1 and #2.

#4 had died earlier. Apparently she had not been replaced.

#5 was looking for her sister.

#7 just bought it in the initial invasion, together with Lucia, Kate and an unnamed warrior. They should be ranked in the 10s and 20s.

Raquel and an unnamed warrior died earlier around the same time as #32. Raquel should be ranked in the 20s and the unnamed warrior in the 10s.

Out of the remaining 23 warriors not sent to the front, only 15 were alive. We saw 4 of them (#1, #2, #3, #5), the rest did not appear.

There was a time skip of seven years after the battle. How many unnamed warriors carried over? It was not mentioned. We were simply introduced to a new generation of warriors.

Standard Chartered Bonus$aver, worth it?

Here's what you get:

  • Base: 0.1% below $200,000 balance
  • Spend: 1.78% on first $100,000 if $2,000, 0.78% if $500
  • Salary: 1% on $3,000
  • Invest: 0.75%; $12k annual insurance premium or $30k unit trust
  • Payment: 0.25% if three $50 bill payments

It is easy to aim for 2.13% or 3.13%. Assume $100k, is it worth to spend $2k each month to get the latter?

$100k @ 2.13%, $2,130 interest, minimum spending $6,000 ($500 per month).

$100k @ 3.13%, $3,130 interest, minimum spending $24,000 ($2,000 per month).

Worth it? You be the judge.

OCBC 360

OCBC 360 has been revised down a couple of times.

  • Base: 0.05%
  • Spend: 0.3% on $500
  • Salary: 1.2% on $2,000
  • Invest: 0.6% or 1.2%
  • Payment: 0.3% if three bill payments total $150

Most probable case is 1.85% up to $70k. Interest is $1,295.

If spend $600 on OCBC 365 CC, will get 3% rebate ($18) on eligible transactions, 0.3% otherwise. Assuming 50% rate, that's $108 a year.


UOB One has the simplest criteria, but is tiered and up to $50k. The effective interest rate is 2.432%. Interest is $1,216.


All three requires you to spend at least $500 per month, or $6,000 a year. There is no free lunch — you will be spending more than you earn in interest. The break-even point is around $400 per month. If you spend less than that, it makes more sense to forgo these tiered accounts.

Raspberry Pi 3 I/O achilles heel

The Raspberry Pi 3 is a fantastic board. It has quad-core 1.2 GHz Cortex-A53 CPU, 1 GB RAM, HDMI, 802.11n WiFi (2.4 GHz), Bluetooth, Fast Ethernet and 4 USB 2.0 ports. All for US$35.

It is perfectly usable as a low-end PC. What's the catch?

Weak I/O. It only has one USB 2.0 bus to its Ethernet port and 4 USB ports, for a total bandwidth of around 30 MB/s.

It is unsuitable as a network file server. It can only serve files at 10 MB/s due to its Fast Ethernet port. If we use a USB-to-Gigabit Ethernet adapter, it goes up to 20 - 30 MB/s, still too slow.

An ideal low-cost headless file server:

  • Dual-core 1.0 GHz ARMv8
  • 2 GB RAM
  • Gigabit Ethernet
  • 2x USB 3.0
  • 2x SATA

Raspberry PI 3 has another weakness out-of-box: it uses SD card by default. SD cards have extremely poor write speed and simple wear-leveling algorithm. But it can be remedied to some extent.

Some people switch to using USB flash drive, but I prefer to stick to SD card if possible. It is easy to find Raspberry PI 3 SD card benchmarks. From there, we can buy the SD card with the best 4 kB random write speed.

Unfortunately, there is no public information on wear leveling. You have to tease the information from the marketing material. All SD cards should have wear leveling to some extent, but I suspect only the best SD cards use static wear leveling. Static wear leveling is extremely useful because it spreads the wear evenly across all blocks, whether used or unused. Dynamic wear leveling uses only unused blocks.

For cheaper SD cards, simply use a larger capacity SD card and leave plenty of free space, e.g. if you use 4 GB, pick a 16 GB SD card instead.

Record COE renewals


92.1% of the 2006 cars were used for ten years. It looks like this trend will continue for some years.

I had expected COE renewals to go up, but I had not expected it to spike from 1.9% in 2014 to 24.7% last year! There will be many renewals this year as well, but not as many as last year.

There were 7,900 5-year COE renewal in 2015. In 2016, 22,472. They can be "added" to the 2010-2011 car population: from 41,407 in 2010 to 49,307 and 27,748 in 2011 to 50,220.

End of lease

News: Geylang private homes to be returned to the State when leases expire in 2020, no extensions allowed

Date: 20 Jun 2017. Source: ST.

In a first for residential properties in Singapore, 191 private terraced houses at Geylang Lorong 3 will be returned to the State when their leases run out at the end of 2020, with no extensions allowed.

For the 33 homeowners who are still residing there, time is running out. They will have to hand back the vacated units to the Singapore Land Authority (SLA) when their leases run out in 3-½ years with no compensation.

Previously, no one takes the lease seriously. Now they should.

It is too late to wait until the lease is ending to renew it. In the future, I expect there to be a scheme to top-up the lease by 20 or 50 years when there are 20 years left.

Anything less than 20 years is basically unsellable, IMO, except for straight-line depreciation. Even 40 years is a hard sell, because the buyer should be afraid of holding the bag in 10+ years time.

It is a ticking time bomb as more houses get less than 60 years left.


The Ikea ALGOT shelving system is perfect for my service balcony. I like modular systems as they can be tailored to my requirements and have some re-arrangement flexibility in the future. Even so, I hesitated for some time because I had to check that the back of the shelves had enough clearance for trunking.

The ALGOT system is really simple. The minimum you need is, two wall supports ($8 each for 196 cm), a shelf ($12 for 80x38 cm) and two brackets ($4 each for 38 cm) per shelf, for a total of $28!

There are three configurations: wall mounted (using "wall uprights"), wall supported and free-standing (using "posts" and "foots").

My initial plan: two 1.96 m wall-mounted shelves of 60 cm and 80 cm.

But then I found that each wall support requires some clearance — 6.8 cm for three of them. So, I went with two 60 cm shelves, and it was just enough, because there was less clearance at the bottom of the wall, which I missed.

The bottom half of the wall supports are wasted because they are blocked by the washing machine and dryer. But the next shorter wall support is just 84 cm. I told the installer to put the wall support as high as possible. :lol:

In hindsight, if I had opted for the shorter support, I could have used 60 cm and 80 cm shelves — and saved on delivery.

Costs in total: $96; three 193 cm wall supports ($8 each), five 38 cm shelves ($8 each), eight 38 cm wall brackets ($4 each).

Installation is expensive. $38 per post. :-O I had a double-take, but I had no choice because the wall supports needed to be drilled and aligned properly. It's actually doable, just need to measure carefully.

Delivery is also "marked-up". Up to five items is $35, but if it includes installation, it is $55 (same as up to ten items).

CTE is really expensive!

Never cross CTE (after Braddell road) between 8:30 am and 8:55 am. Once charged, twice avoid!


Personally though, I feel ERP needs to be at least $4 to be effective. :-P

Pass the buck

News: Geylang Serai Bazaar rental soars to record high of $17,000

Date: 11 Jun 2017. Source: ST.

Stiff competition from trade-fair organisers raises rent, but many still keen to lease stalls

With crowds thronging the fairgrounds nightly, it looks like business is booming for hawkers at the ongoing Geylang Serai Bazaar.

But many say rentals have soared to an all-time high, and they are concerned about the sustainability of the festive event, held in conjunction with the month of Ramadan.

There are four parties in the chain here: the landlord, the Bazaar operators, the vendors and the consumers.

It is easy to blame the landlord for the high rental, but as always, it is the operators who are responsible. They don't care; they just pass the cost down the chain. And stupidly, the vendors continue to rent even though they are not confident of making a profit. And consumers are willing to pay increasingly exorbitant prices for their food.

It's crazy. When will it stop?

Only when the vendors balked at the rental. Mr Jay rents two stalls for $30k selling Thai milk tea and fried Oreos. Can he make $30k in 30 days? Even if he can, the first $30k goes to the operator, not him. Is it worth it?

Mr Tay won the tender with $1.56 mil. He said his profit margin is 5 - 10%. Suppose he has 400 stalls (there are 900 stalls in total), that works out to be $3.9k per stall. Clothes stall are rented for $7k, so there is a very healthy margin.

Although this news is about Geylang Serai Bazaar and its escalating rental, it is emblematic of Singapore as a whole, especially for properties.

URA put up a land site for sale with reserved price of S$685.25 mil. A property developer won the tender with a bid of S$1.003 bil. The cost is S$1,051 psf. The units are expected to be sold at S$1.8k psf and above. And they will sell like hotcakes.

So, who is at fault?

Newsflash: auctions are wonderful for extracting maximum value. In other news: Singaporeans suck at auctions.

Linux physical disk operations

I got a new Blue WD HDD, but it is still as "Green" as ever under the hood (8s idle3).

The new HDD gives me a lot more breathing space and allows me to move the files around to organize them better. I also removed needless duplicates, especially on the primary drive, where space is at a premium.

I put in-use files in tier-1 (always online; data), seldom-used files in tier-2 (to be powered off if unused; data2), semi-offline files in tier-3 (removable; infplus1 and the new omega2) and offline files in tier-4 (external storage).

With this scheme, I try to keep tier 2 and 3 powered-off as much as possible. Tier 4, being offline external storage, is already powered off most of the time.

I also decided to put on hold my plan to rip blu-ray discs — one disc is 35 - 50 GB. They take up too much space. I will still rip DVDs, though.

Check WD idle3 value

sudo hdparm -J /dev/sdx

It returns 8, which is a disaster waiting to happen. I set it to 300.

Get disk SMART data

sudo smartctl -a /dev/sdx

Spin down disk

sudo hdparm -y /dev/sdx

This works best if file system(s) on the disk is unmounted. Else it can be woken up quite easily.

Check disk status without waking it up

sudo smartctl -i -n standby /dev/sdx

Alternative (works for WD disk without waking it up):

sudo hdparm -C /dev/sdx

Resizing partition with bad blocks

I shrunk my /home partition two months ago and created a new /data partition with the free space.

The original /home partition had some bad blocks. Would the bad blocks data be preserved correctly? I had no idea and I did not check.

One day, while transferring multi-GB data to /data, I just happened to notice the transfer slowed down from 80+ MB/s to 20+ MB/s at some point.

After the (successful) transfer, I checksum'ed the files. Some could not be read. Oops. I got my answer then: the bad blocks data was not preserved.

What actually happens is that the bad blocks data is kept with the /home parition with the original block numbers, but the bad blocks are actually physically on the new /data partition.

Time to run some disk commands.

List bad blocks:

sudo dumpe2fs -b /dev/sdxn

Check file system for bad blocks (must be unmounted):

sudo e2fsck -c /dev/sdxn

Check file system (must be unmounted):

sudo e2fsck /dev/sdxn

Luckily, it is very easy to unmount /data.

A silent month

No blog entries in the whole month of May. I believe that's a first. :lol:

Monopoly Revisited

If there is one board game everyone has, it is Monopoly. The next time someone asked you to play, try these rules instead.

Each turn has four phases:

  1. Build or transfer house
  2. Sell house or property
  3. Bid for properties
  4. Move

In the first turn, the player starts with phase 3, since he does not have property nor house.

Phase 1: Build or transfer house

The player may build up to 3 houses on one or more of his properties, provided there is housing supply.

The player may transfer houses from one of his property to another of his. He has to pay the building cost of the target property.


There can only be as many houses per property as he has properties of that set. If he has one property of a set, he can only build one house. If he has two properties of a set, he can build two houses on each property in that set.

Phase 2: Sell house or property

The player may sell properties and/or houses back to the bank at 50% off. He can do this any time. The properties go back to the properties deck. The houses go back to the housing supply.

The player may put up a property for auction. This is separate from phase 3. He can decide the type of auction. He needs to pay 10% of the face value as commission to the bank upfront. The player may decide not to sell if the bid is too low.

Phase 3: Bid for properties

The properties deck is shuffled and placed face down.

Three properties are turned over in this phase and put up for auction. The player rolls a die to determine the type of auction:

  • 1: fixed price
  • 2: sealed
  • 3: once round
  • 4-6: open

Fixed price auction

The player names a price and the offer goes in the same direction as playing order. It is take-it-or-leave-it. If no one takes up the offer, the player has to buy it.

Sealed auction

Everyone decides in secret, then everyone reveals their bid at the same time. The highest bid wins. It is okay to bid nothing.

Once round auction

Everyone makes one bid in the same direction of playing order, starting with the adjacant player. A player must bid higher or pass.The starting bid is the face value of the group.

Open auction

This is a free-for-all bidding. The starting bid is the face value of the group. It ends when there is no more bid for 10 seconds. The player must signal the end by saying "going once, going twice, sold!"


No player may bid more than the cash he has on hand.

If no one bids for the group of properties, it is put aside. In the next phase 3, a new group of three properties are opened. The previous group is available at 50% off .The player may choose which group-of-three to bid on. Then he rolls the die to decide the type of auction.

If there are three groups, the oldest group is available at 75% off. If there are four groups, the oldest group is shuffled back into the properties deck.

Phase 4: Move

Roll a die and move. If the player lands on another player's property, he must pay the rental.


If a set has houses, the rental of unimproved properties of that set is 50% of a house rental.

Rental must be paid in cash on the spot. There is no discount, out-of-game or future deals.

Changes to properties

A player landing on Electric Company pays $5 per house to the owner or the bank if unowned. If the owner lands on it, he collects $5 per house from other players.

A player landing on Water Works pays $5 per property to the owner or the bank if unowned. If the owner lands on it, he collects $5 per property from other players.

For Income Tax, pay $100 + $10 per property.

For Luxury Tax, pay $50 + $10 per house.


The 12 hotels are repurposed as trophies/markers. They are put throughout the board for the players to pick up. Each hotel is worth $50.

They are placed in:

  • Chance (pick one)
  • Community Chest (pick one)
  • Income Tax
  • Jail
  • GO
  • Go to Jail
  • Luxury Tax
  • Railroad (pick one)

They are also picked up with the 3rd card of Chance and Community Chest.

Along with these achievements:

  • First to lap one round
  • First to collect rental from another player
  • First to have a set of three properties
  • First to build six houses on a set

Other changes

$1 and $5 bills are not used. Round up all transactions to the nearest $10.

When passing 'GO', collect $150 + $10 per property.

A player in jail does not have any action. He can still participate in other players' auction. He can avoid or leave the jail by paying $50. He must leave the jail on his third turn.

Game End

The game ends when half the players (rounded up) are bankrupted. If there are five players, the game ends when the third player declares bankruptcy.

The winner is the player with the most total asset. Properties and houses are valued at face value.

Even Monopoly has signature edition

Monopoly Signature Token Edition

This is a deluxe version: tin case, cloth bag, foil accents, golden and silver finishes, wooden houses/hotels and 64 tokens! Very premium. US$79.99 MSRP.

Super, Special, Deluxe, Ultimate, Limited, Collector's and Anniversary editions are passe. Now it is Signature edition.

Meaning of signature: serving to identify or distinguish a person, group, etc.

Is it beautiful? Yes.

Do you need it? No.

Does it improve the game? Absolutely not!

Cost is no object in healthcare

I brought the baby for his overdue 4-month vaccination. The nurse saw that the last baby evaluation was incomplete, so she scheduled a doctor's appointment. I did not connect the numbers then.

I waited over an hour. What's more, I paid full price (S$46.80, excluding 7% GST) just for a simple 1-minute hearing test. What's worse, it was one day short of the baby's 6-month milestone. The doctor considered doing the 6-month evaluation, but ultimately decided not to do it.

It was a poor decision on my part. I need to be more vigilant about the time and cost of doctor's appointment. It is not free!

Lego game disrupter, step 2

Last May, Lepin (乐拼) surprised the world when it released the discontinued Cafe Corner. This was the third large set (the first two were Temple of Airjitzu and Brick Bank), but this got people's attention because it was a fraction of the market value (US$37 vs US$1,500).

Earlier this month, the company behind Lepin, MZ Model (美致模型), launched a new series via a new company, XingBao (星堡). At first, I was skeptical that XingBao was related to Lepin, but it used the same text on its images, so I'm somewhat convinced. :lol:

XB-01001 Zhong Hua Street at 289 yuan (US$42)

XingBao works with MOCers (My Own Creation) to commercialize their designs. Some designs are truly original, some still violate IP — but possibly not in China. There seems to be more leeway to reproduce other people's design in China.

This is the next step in the game disrupter that began a year ago.

The decal that kills private hire cars

LTA just announced the decal that all private hire cars have to display from 1st July: a pair of tamper-evident 14x10 cm decals on the front and back windscreen.

Already, people are trying to find ways and means to hide or remove them. Singaporeans love their cars, but they also want face. The decal relegates them as "second-class" car owners — a sign they could not have afforded the car otherwise.

To ensure compliance, LTA should set an incentive (it's all about incentives these days): $50 fine for the driver for the first offence, $20 reward for the informant. Double that for second offence.

There are 51,336 private hire cars as of 1/1/2017. There is no statistics on private cars used for Uber or GrabCar.

In online forums, it is predicted that many casual / part-time drivers will quit. The power of a decal. :lol:

Ghost in the Shell Live

Ghost in the Shell 2017

I'm usually wary of origin stories (*yawn*), what's more a live-action anime adaptation (they suck), but Chris Stuckmann, a YouTube movie reviewer, gives this an A- (Ghost in the Shell - Movie Review) — and knowing he watches anime — I trust his recommendation and went to watch it.

I like it. :lol:

The key is not to expect it to be Ghost in the Shell (GitS) 1995, but a cyberpunk movie. In fact, I get vibe of Blade Runner and The Matrix for scenes that were not lifted directly from GitS. (GitS was heavily influenced by Blade Runner anyway.)

The film lifts many iconic imagery as-is from the anime, although not always in the same context, but tells its own story — more simple and much less philosophical than the anime — and is still cohesive and coherent. It stands on its own. I'm fine with that. I treat it as an alternate universe.

There was hoo-ha online that GitS was white-washed due to casting a white female lead over a Japanese one. I have the reverse issue with it. It would have been better if the Section 9 Chief was dubbed over in non-Japanese market. It was jarring to listen to half the conversation and reading the other half.

If I have any issues with Scarlett Johansson as The Major, it was that her thermoptic camouflage suit wasn't skin tone-y enough. :-P

It's too bad with the poor box office numbers that we will not get a sequel. But why do films need sequels? Blade Runner and The Matrix didn't...

File server disk allocation 2017

I had not intended to make any changes, but I got a file system corruption in /home and lost 20 files (out of 694,585). If I had split /home and /data, I might have not lost them. Well, better late than never.

Lesson: never put working-set files (often changed) and archival data in the same file system.

The new allocation:

/15 GB
/var3 GB
/var/log1.5 GB Flags: noatime, nodev, noexec, nosuid
/var/tmp1.5 GB Flags: nodev, noexec, nosuid, usrquota
/tmp3 GB Flags: nodev, noexec, nosuid, usrquota
swap2 GB
Reserved8 GB
/homeThe rest300 GB Working data is put here.
Flags: noatime, nodev, nosuid, usrquota
/dataThe rest Archival data is put here.
Flags: noatime, nodev, noexec, nosuid, usrquota

It took a full day to copy the data out, and half-a-day each to create the SHA1 checksum (for speed) and verify the copy.