My Rambling Thoughts

8086 1-byte opcodes: all have to go

The 8086 has 95 1-byte opcodes. I'll keep only 8:

  • CS:, DS:, ES:, SS:
  • NOP
  • RET, RETF
  • INT 3

NOP and INT 3 must be 1-byte. The other six are frequently used. Everything else must go (i.e. become 2-byte opcode).

It is kind of a waste to use 4 slots on segment prefixes when they are going away on 32-bit architecture... (or do they? They will truly go away in 64-bit architecture.)

Some multi-byte instructions that favour registers must also go:

  • MOV reg, immed
  • ADD/SUB/... ax, immed
  • TEST ax, immed
  • MOV ax, [disp]
  • MOV [disp], ax

Specialized instructions

A few comes to mind: MUL/IMUL, DIV/IDIV, SHL/ROL family, IN/OUT, CBW/CWD, JCXZ, LOOP, XLAT.

MUL/IMUL puts the result in DX:AX. It "wastes" DX even if we are not interested in it. Can generalize it partially.

DIV/IDIV divides DX:AX and puts the reminder in DX. It is common for starting DX to be zero (i.e. divide 16-bit by 16-bit). Can generalize it partially.

SHL/ROL uses CL. Shifts are usually constant. RCL/RCR only makes sense with 1.

IN/OUT uses AX and DX. Ports are usually accessed in a group. If we allow IN reg, [reg+disp], we just need to assign the base port address once.

CBW uses AX. CWD uses DX:AX. Can generalize (partially) to use other registers.

JCXZ and LOOP use CX. Can generalize to allow other registers.

XLAT uses BX and AL. Can generalize to use other registers.

Immediate operand

It turns out that it is common to operate on small numbers.

We can allow OP reg, i5s in 2-bytes and it would be much more useful. This gives registers an advantage over memory operands.

With this, there is no need for INC/DEC instructions.

Stack

PUSH i8s and PUSH i16 are also useful.

Instead of 1-byte PUSH reg, we can have 2-byte PUSH reg-mask. Normally we want to save a group of registers.

SP is no longer a GPR. We have explicit MOV and ADD for it. Other operations do not make sense for it.

Jumps

JS/JNS (Jump if signed) and JP/JNP (Jump if Parity) are useless. Remove them totally.

Allow all conditional jumps to have 16-bit offsets.

Near and far calls

I'll love to have a single set of RET that can handle both near and far returns, but unfortunately I am not able to think of a way.

We can differentiate near and far CALLs if we restrict call targets to start at even addresses. In that case, an even target is a near call and an odd target is a far call.

Strings

Remove REP and REPNE. Strings must be manually looped. These two are "signature" x86 instructions.

LODS, STOS, SCAS can use registers other than AX.

I'm thinking whether we need MOVS. It can be implemented as:

  JCXZ skip
@@:
  LODSW
  STOSW
  LOOP @b
skip:

REP MOVSW is tempting because it looks like it is the fastest way to move memory. It was, but there are faster ways now.

In fact, do we even need LODS, STOS and LOOP?

  JCXZ skip
@@:
  MOV ax, [si]
  ADD si, 2
  MOV [di], ax
  ADD di, 2
  DEC cx
  JNZ @b
skip:

(Assuming forward direction.)

ESC

Add an additional byte after ESC to increase co-processor opcode space. The 8087 is stack-based, most operations work on the ToS (top-of-stack), making it hard to pipeline in the future (starting with Pentium). Make it register-based.

Instruction formats

Make the formats oriented for "fast" decoding:

Bytes+1+2
1 op
2 ext op
ext op reg
op reg, i5s
op reg, r/m
op r/m
op i8s
branch rel8
op reg, r/m+d8
op r/m+d8
op i16
ext branch rel8
branch rel16
op reg, r/m+d16
op r/m+d16
3 ext op d8
ext op reg, d8
op r/m, i8s
esc op r/m
op r/m+d8, i8s
esc op r/m+d8
op r/m+d16, i8s
esc op r/m+d16
4 op r/m, i16 op r/m+d8, i16 op r/m+d16, i16
5 op i32

(This covers 99% of the instructions.)

RISC-ify?

Characteristics of RISC:

  • Register-based operations, with explicit operands (e.g. d = s1 op s2)
  • Memory access limited to MOV, mostly
  • Large register bank
  • Fixed length instruction

8086, like most (all?) CISC, can operate on memory directly, i.e.

ADD ax, mem
ADD mem, ax

Reading from memory and operating on it is fine, but operating on memory directly? It is fine for a single operation, but a series of operations will have unnecessary read/writes. For example:

ADD mem, 3
AND mem, ~0x03
SHL mem, 1

(3 reads and 3 writes)

vs

MOV ax, mem
ADD ax, 3
AND ax, ~0x03
SHL ax, 1
MOV mem, ax

(1 read and 1 write)

Reimaging the 8086. What if?

The 8086 had a tremendous impact in the Personal Computer space. But for over a decade, it tortured programmers with its limitations. They went away only when people started using 80386 in 32-bit mode. What if it were better designed?

Address space

The first issue is its "small" 20-bit address space. We need to understand the historical context. The 8086 was released in 1978, meaning it was planned and designed several years earlier. Those were the days of 8-bit microprocessors and 16-bit address space (64 kB RAM). 1 MB was 16 times of that. It was more memory than anyone could imagine using. (Memory was expensive in those days.)

8086 achieved 20-bit addressing by left-shifting segment registers by 4 and and adding 16-bit address.

What if it had left-shift by 8 instead?

It would have 24-bit address space for a total of 16 MB!

I doubt anyone made use of the fact that segments are 16-bytes apart to layout their data structures. (You can conceivably index into an array of 16-byte structure with just the segment register.)

16 MB would go a long way in simplifying memory management. Instead, programmers had to deal with upper memory, expanded memory, extended memory and using "overlay" techniques. 16 MB was a lot of memory. It was not until mid-90s that 16 MB memory became common. (Windows 95 had to run with just 4 MB memory because it was a common low-end configuration.)

The biggest problem with 24-bit address space is that we need 4 more pins. 8086 comes in a 40-pin DIP that is already heavily multiplexed. A16 - A19 are already multiplexed with status pins. Can we find another 4 pins to multiplex A20 - A23?

The registers

The 8086 has 8 registers. The 16-bit registers are: AX, BX, CX, DX, SI, DI, BP, SP. They have predefined purposes, so it is hard for compilers (of that era) to optimize their usage.

The problem is slightly worse than that.

BP and SP are not usable in general. SP is the stack pointer. It must point to the stack. BP is the frame pointer and generally points to the stack frame in a HLL. If we pass parameters on the stack, we need BP because [SP+disp] does not exist, only [BP+disp].

Rather than BP and SP, let's introduce EX and FX instead. Now we have 8 GPRs (General Purpose Registers).

8 is not a lot, but it is generally enough. Compilers of that era like big register bank because they are not good at dynamic register allocation.

While we are at it, let's fix 8-bit registers too. The 8-bit registers are: AL, AH, BL, BH, CL, CH, DL, DH. It is a 'clever' way to access both halves of a 16-bit register.

But is it really needed?

This introduced a problem six generations down the road — on Pentium Pro — that does register renaming.

Let's define 8-bit registers this way: AL, BL, CL, DL, EL, FL. Yes, just 6 of them.

Addressing mode

The current addressing mode:

MOD01234567
00[bx+si][bx+di]ss:[bp+si]ss:[bp+di][si][di][a16][bx]
10[bx+si+d8][bx+di+d8]ss:[bp+si+d8]ss:[bp+di+d8][si+d8][di+d8]ss:[bp+d8][bx+d8]
01[bx+si+d16][bx+di+d16]ss:[bp+si+d16]ss:[bp+di+d16][si+d16][di+d16]ss:[bp+d16][bx+d16]
11axcxdxbxspbpsidi
11 (8-bit)alahclchdldhblbh

We only have 3 general indirect registers, [bx], [si] and [di] since [bp+disp] points to the stack. (Though in the "small" and "medium" memory model, data and stack shares the same 64 kB segment.)

Do we really need [base+index]? While this is nice to have, it turns out that [reg] is generally enough.

Behold the new table:

MOD01234567
00[bx][si][di]
10ss:[sp+d8][bx+d8][ex+d8][fx+d8][si+d8][di+d8]
01ss:[sp+d16][d16]cs:[ip+d16][bx+d16][ex+d16][fx+d16][si+d16][di+d16]
11axcxdxbxexfxsidi
11 (8-bit)alcldlblelfl

There are three notable changes.

First, we now have 5 general indirect registers: [bx], [ex], [fx], [si] and [di].

Second, there is no need for [bp+disp] since we can just use [sp+disp] directly. SP is not a GPR, but we can still use it to access the stack. (We need to define explicit instructions to manipulate it.)

Third, [ip+disp] allows us to access data in code segment relative to the current instruction. This is useful for PIC (Position Independent Code) that would become vogue one and a half decade later.

Instruction set

The 8086 instruction set has many 1-byte opcodes. Many of them are infrequently used. In hindsight, it would be better to define them as 2-byte opcodes and free up space in the first byte.

The 8086 has only 23 unused slots in the first byte.

The "packing" of instructions also made the instruction set less orthogonal and increased decoding complexity.

There are some instructions that are one-byte shorter for registers:

  • PUSH reg
  • POP reg
  • INC reg
  • DEC reg
  • MOV reg, immed

These use up 48 slots in the first-byte opcode map.

AX gets preferential treatment:

  • ADD/SUB/... ax, immed
  • TEST ax, immed
  • MOV ax, [disp]
  • MOV [disp], ax
  • XCHG ax, reg

These use up 29 slots. (XCHG ax, ax is NOP and hence not counted.)

Are these worth saving one byte? Perhaps, but I'll rather have more general instructions. For example, instead of INC reg, why not have a 2-byte ADD reg, i5s? It'll allow +/-15, which is more useful.

In those days, there was no expectation to keep the same instruction set over generations. Every new microprocessor had its own instruction set. The 8086 instruction set was optimized for its implementation. Unfortunately, it made things difficult for its successors, especially Pentium onwards, when the CPU went superscalar.

Generational hate

Imagine a thing that you thought you owned — because you had it for as long as you could remember — and one day you were told to share it with another person. You refused. It's yours, after all.

Sorry, it's not yours. It turned out you merely 'borrowed' it. You refused to give it, so the other person fought for it. He was stronger and overpowered you. Your thing became his. You still refused to give up and kept fighting him to get it back.

The other person said, let's share? Nope, it's mine, give it back and get lost.

There will be no peace in the Middle East. Period. In the past, I thought time would heal all wounds. But the hate is too strong. It is generational hate.

Having said that, one side has a history of:

  • not willing to let go of hate
  • making poor choices
  • being untrustworthy
  • being (willing?) pawns for others

A 3.47s Rubik's Cube

I bought one Rubik's Cube earlier this year. Now I have five. :lol:

The chromed one is magnetized with 48 magnets.

The one on top left is the Moyu RS3M Super (MagLev). It has 60 magnets. It is a very cheap — but also a pretty good — speedcube. It costs S$15 from TaoBao, including shipping.

The one on top right is the Moyu HuaMeng YS3M (MagLev). It also has 60 magnets. It is designed by an ex-World Record holder at 3.47s (the WR is now 3.13s). You think the RS3M Super is smooth? This one is even smoother! However, unless you can solve in sub-30s, it won't make a difference. It costs S$3 more.

The others are normal non-magnetized cubes. But really, there is no going back after using a magnetic cube. They just snap into position better.

A basic magnetic cube with 48 magnets is good enough. MagLev uses 12 more magnets to replace the springs, so you don't hear spring noises. I prefer this, though many people feel springs are better. There is a recent innovation, called "ballcore", that uses 16 magnets for corners-to-core (so 76 magnets altogether). Opinion is divided whether it actually makes the cube better.

In terms of instructions, YS3M beats the others hands down. It comes with both Beginner's Method as well as CFOP!

The stickered cube with black base and RS3M Super comes with Beginner's Method.

By Beginner's Method, I mean they solve the first two layers with it. Then they switch to a simplified 2-step OLL (Orient Last Layer) and PLL (Permutate Last Layer). You just need to remember one case each, but repeat it several times.

My favourite instructions, which I'm using today, come from the cube on the bottom right. It handles more cases for 2-step OLL and PLL, so it is potentially faster. I termed it "intermediate" 2-step. I bought this cube from a local shop for S$5.

Number of sequences you need to remember:

Simple 2-step Mid 2-step Adv 2-step 1-step
PLL1 + 12 + 22 + 757
OLL1 + 11 + 22 + 421

I'll stick with intermediate 2-step (total 7 sequences to remember) until I can get sub-30s! My current timing is around 180s! :lol:

The incredibly pragmatic electorate

Singaporeans are incredibly pragmatic. This is reflected in the 2023 Presidential Election.

TKL got a mere 13.88%, even lower than NKS at 15.72%. Tharman, of course, got a 'landslide' at 70.40%.

The results surprised me, to be honest. TCB and TJS had no or little effect at all.

What can we see here?

The hardcore anti-PAP faction is 30%. Those who refused to vote for TKL voted for NKS.

In 2011's election, TT got only 35.20%. That's the hardcore PAP faction. There is a significant group that is willing to vote in quality candidates such as TCB, but the keyword being 'quality'.

Quality in this context has a high connotation of 'pedigree'. TCB was a well-liked Doctor and an ex-PAP MP. TJS was even the principal private secretary to then DPM GCT at one point of his career.

Tharman is considered very likeable — he just looks that way. :lol: If anyone bothered to dig any deeper in terms of the policies that affected their livelihood, they might change their mind.

Elections are popularity contests. Presidential Elections are worse because you have to appeal to the entire nation.

Non-PAP candidates need to start their awareness campaign right now. Not 14 days before the election. Yes, it's a gamble (they may not qualify), but when the fight is unfair, every little thing counts.

3 Tans vs PAP

In 2011, four Tans contested for the Presidential Election. Tony Tan won with 35.20% of the vote, a narrow win over Tan Cheng Bock with 34.85%.

If the other two Tans had the sense to withdraw, TCB would have won.

There is no doubt that PAP fears TCB. They made the 2017 election a "reserved" one, then raised the eligibility rules for the 2023 election.

Despite the changes, Tan Kin Lian still qualified. :lol: And he ran.

I found it surprising that Tan Jee Say was his Seconder. TJS also ran in the 2011 Presidential Election and gotten 25.04%. Former "enemy", today's ally.

One week later, TCB also announced that he endorsed TKL (in his personal capacity, of course). I was quite surprised by this.

Sometimes you got to set aside differences and see the bigger picture. TKL is extremely imperfect as a public figure, but he is the only choice in this election that can make a technical difference.

The Presidential role is extremely limited (and mostly ceremonial), but it can voice its concerns and override the Government in little ways. It'll be a thorn in their flesh.

TKL is not a public figure. He speaks his mind. He has a few strikes against him, people spare no effort to dug up his dirt. :lol:

First, he is pro-Singapore. This means he is anti-FT. No, Singapore must welcome FTs. I'm bemused by this. Do they vote?

Second, he is pro-CCP. China communists, communists bad. No, we must be pro-USA.

Third, he is said to be pro-Russia. No, Russia is the invader and is clearly the bad guys. Everyone must side with Ukraine. The Russia-Ukraine conflict really shows how things can be whitewashed and facts be twisted.

Fourth, he wants to be merciful towards drug mules. This directly steps on PAP's red line. Anyway, just fly a drone in. No need to risk any life. :lol:

Fifth, he told gays to 'do it privately'. If you want to lose the LGBT vote, this is how to do it. No, they will shove it in your face and you must accept it.

Sixth and most serious (IMO) is his "pretty girl" comments. ST did their research and said he made 20+ such comments in the past two years. TCB dismissed it as gutter politics, but it is not entirely true because he did make such comments. It is inappropriate as a Presidential candidate, but I won't say it "objectifies women". He just shared his thoughts on what he saw. In response to criticisms, his old boss the ex-PM Mr Goh made two posts captioned "handsome man".

The other two candidates either echo the mainstream view or give safe answers. Basically, they pander to you to avoid losing your vote.

The Man versus the State

There are some people who are very afraid of Trump... so afraid that they are willing to go to any length to convict him... of anything!

Two things come to my mind.

First, they have become the very evil that they are trying to eradicate. Any means is justifiable, all laws be damned.

Second, "useful idiots". So many people in power are blinded by their hatred or bias and helped one way or another, and they will pat themselves in the back for doing "God's work". Little do they know they are just pawns.

The most ironic thing is that because they have set the precedence, what they have done to others today, the others can do the same to them in the future. This has happened in the past. And they would cry foul over it. When they do it to others, it is justice. When others do it to them, it is abuse of power. It is amusing.

GTO 1998 on blu-ray

GTO (1998) got a blu-ray release on 26 July 2023 in Japan. Was it any good? No idea, didn't want to pony up 25,434 yen (S$240) for it. There is no mention of remastering, so my guess is that it is not very good.

I found an existing HD transfer, dated a couple of years back.


Web HD, resized to 480p

Compare to the R2 DVD:


2002 R2 DVD (626x480)

The HD version is only very slightly better. The details are about the same, but without DVD compression artifacts.

Messengers

I also looked for another favourite show of mine, Messengers (1999). I found a 720p version.


Web 720p, resized to 480p

2003 R2 DVD (852x480)

It looks a little better than the DVD version, but nothing amazing. It looks more natural cos it has not been sharpened.

Blu-ray collection 2023

I started buying blu-rays in 2017. Here's my collection today.

Anime

Year DVD Price Show Notes
1979 Y US$14.99 Castle of Cagliostro 2015 I got the US edition for the subtitle and commentary. It has identical video stream as the 2014 Japan remastered version. It is also much cheaper! I actually prefer the 2008 VAP release. That has the correct color balance and is much sharper.
1982 Y ¥26,832 Macross box set 2012 MSRP 41,040 yen. No subtitles. I have the 2003 R1 DVD box set. (3 boxes at US$60 each — and that was on offer! This was before the anime bubble burst. Later it became US$20 per box. Ouch!) It was considered good at first. It was later that people realized how over-processed it was.
1983 Y ¥20,541 Mospeada box set 2013 MSRP 30,240 yen. No subtitles. I have the R1 DVDs.
1984 Y ¥5,032 Nausicaa 2010 MSRP 7,344 yen. This is the original release with the red tint. I prefer this to the remastered one from Miyazaki Hayao Complete Box/Works (2014). That one removed much of the grain as well.
1984 Y US$17.19 Nausicaa (USA) 2017 No red cast. Denoised to remove much of the grain, but I think it is done well enough.

(Bought in 2018.)

1985 Y ¥13,143 Macross DYRL (First press limited ed) 2012 I got the limited edition as it included the Flash Back 2012 music video. No subtitles.
1985 Y ¥5,000 Macross DYRL 2016 This is the v2 release. It is sharper and uncensored. This time, I just went for the no-frills standard edition. No subtitles.
1986 Y ¥4,932 Laputa: Castle in the Sky 2010 MSRP 7,344 yen. It has filtered grain.
1992 Y ¥4,941 Porco Rosso 2013 MSRP 7,344 yen.
1997 Y ¥4,941 Princess Mononoke 2013 MSRP 7,344 yen.

Animation

Year DVD Price Show Notes
1986 Y US$19.99 Transformers: The Movie 2016 The only movie. This is the 30th anniversary edition.
2006 Y US$24.99 Cars 2017 Paid a high price for it. It's worth it, but should have waited for price to drop. :-P This is one of the few movies I would buy on 4K, provided it is a true 4K transfer. (The current one is a 2K-upscale.)

(Bought in 2017.)

Chinese

Year DVD Price Show Notes
1985 Y HK$145 Working Class [打工皇帝] 2021 Paid S$32 all-in.

(Bought in 2023.)

1986 Y US$25.58 Millionaires' Express [富貴列車] 2023 The definitive version, except it does not have Mandarin sound track and Chinese subtitles.

Paid S$49.36 all-in.

(Bought in 2023.)

1989 Y HK$170 God of Gamblers [賭神] 2015 Remastered version with grain intact. It is one of the rare HK blu-rays done right. It is now available for just HK$108 (US$13.85)!
1990 Y HK$138 Swordsman [笑傲江湖] 2012 The show that revitalized martial arts genre in HK film.
1990 N 150 yuan (S$30) The Fun, the Luck & the Tycoon [吉星拱照] 2020 I liked it back in the days. It does not really stand up to the test of time. As far as I can tell, this is HD as opposed to DVD-upscale, but it is not remastered.

(Bought in 2020.)

1993 Y* HK$108 Flirting Scholar [唐伯虎點秋香] 2015 Stephen Chow is famous for his comedies, but I find them all too wacky. This early film has the right balance.

* I have a R0 DVD version.

1995 Y HK$145 Only Fools Fall In Love [呆佬拜壽] 2021 Paid S$32 all-in.

(Bought in 2023.)

Classics

Year DVD Price Show Notes
1934 Y US$22.99 It Happened One Night 2014 This is very expensive for some reason.
1938 Y US$9.99 The Adventures of Robin Hood 2008 An early color film. Still the best Robin Hood show with witty dialogue.
1941 Y US$13.89 The Maltese Falcon 2010 The film that started the noir genre.
1942 Y US$13.00 Casablanca 2012 70th anniversary edition.
1952 Y US$14.99 Singin' in the Rain 2012 Makes you want to grab a lamp post in the rain.
1959 Y* US$14.49 North By Northwest 2015 * I have a high-quality R0 DVD version.

English

Year DVD Price Show Notes
1985 Y US$8.79 Clue 2012 This one might not have made the cut if I had firmed up my blu-ray buying policy. :lol:
1996 Y US$7.99 Independence Day 2016 20th anniversary edition. Remastered in 4K.
1997 Y US$8.59 The Fifth Element 2015 Remastered in 4K.
1998 Y US$7.97 Shakespeare In Love 2014 Anyone who has read R&J for literature will get a chuckle out of this. You can tell where the scenes come from.
1999 Y US$7.51 Galaxy Quest 2009 A really good spoof on Star Trek.
1999 Y US$21.63 The Matrix (4K+BD) 2018 I said I won't get it, but this removed the green cast. :lol:

I got just the first movie, rather than the trilogy. The first movie by itself is great. Don't spoil it.

(Bought in 2018.)

2001 – 2011 N US$27.49 Harry Potter: Complete 8-Film Collection 2018 I'm not really a Harry Potter fan, but who could resist such a bargain price?

The films are not remastered, though. The 4K blu-rays are, but normal blu-rays were never updated.

I should not have bought this. :-D

(Bought in 2018.)

2010 N US$8.53 Inception 2015 Not watched.
2016 N US$12.99 Arrival 2017 Not watched.
2017 N US$14.99 Ghost In The Shell 2017 2017 Now US$10.10. Not very well received, but I like it well enough. Doubt will have a sequel.
2017 N US$14.99 Jumanji: Welcome to the Jungle 2018 Nice light-hearted adventure.

Sold (at great loss):

  • Blade Runner 2049
  • Cars 3
  • Edge of Tomorrow
  • Guardians of the Galaxy
  • The Maze Runner
  • Maze Runner: The Scorch Trials
  • Maze Runner: The Death Cure
  • Pirates of the Caribbean: Curse of the Black Pearl
  • The Princess Bride
  • WALL-E

I may get rid of more shows. They are good shows, but some of them are not "great" enough.

Shows I may get or am waiting for:

  • Messengers [メッセンジャー] (1999) (not yet released)
  • Stagecoach (1939)
  • The Magic Blade [天涯明月刀] (1976) (not yet released)
  • The Time Machine (1960)

It is interesting that only 3 shows from 1960 to 1980 caught my attention. Surely there must be more.

Only Fools Fall in Love blu-ray

Only Fools Fall in Love [呆佬拜壽] (1995).


Only Fools Fall in Love blu-ray 2021, resized to 360p

Another of my favourite HK show. This show is very well produced — it is very polished. Most HK shows are not at this level. However, it does not seem to be popular. I didn't expect it to be digitally remastered nor released on blu-ray.

Working Class blu-ray

Working Class [打工皇帝] (1985). This is a light-hearted comedy. I liked it in my childhood and I still like it now.


Working Class blu-ray 2021, resized to 360p

This is a run-of-the-mill show with no outstanding merits. I'm surprised it is digitally remastered and released on blu-ray. I never thought either would happen.

Watching it today is a glimpse into Hong Kong in the 80s. It is also somewhat amusing to see low budget shows trying to emulate the rich lifestyle. I must admit I was fooled in the past, but now they look like cheap tricks. :lol:

My Last Millionaire

Arrow Video released a new blu-ray of Millionaires' Express [富貴列車] (1986).


Arrow Blu-ray 2023 (1920 x 804), resized to 360p

This is the ultimate edition: remastered 2K video, 4 different editions across 2 discs (HK, International, Export, Hybrid) and tons of extras. It has Cantonese and English soundtracks, and English subtitle. Unfortunately, there is no Mandarin soundtack and subtitle, or it would have been the Perfect edition.

There was a K&M blu-ray release in 2013. The video was upscaled from DVD. No wonder it looked so similar to the DVDs.

This is the last time I'm getting this show. :lol:

Painting IVAR side units

Missus wanted me to move all my IVAR shelves out of the bedroom that I was using as a display/store room. I took this opportunity to do some house-cleaning and to paint the shelves.

I'm only painting the side units. It is hard to find a good time to paint them as they are always in use. I will paint the shelves another time.

I want the shelves to be bright, so I chose white paint. White matches everything, can't go wrong with it. A dark color also works (will make the shelves invisible too).

I paint the inside black to hide the holes. This should improve the look of IVAR vastly. IVAR has an industrial look that does not fit well in a home.

First, I paint one thin coat of primer on the inside and two coats on the outside. Primer is whitish, so you don't want too thick a layer for opposing colors (e.g. black), else you have to paint extra to paint over it. In my first sets, I had to paint an extra layer of black to 'overcome' the primer.

Next, I paint the inside black. I use Black Magic which is greenish black. The first coat is greenish. I thought the shop gave me the wrong mix and I went back and check. It turns out it will eventually turn black with more coats. Need 2 to 3 thin coats.

Next, I paint the outside white. Need 2 to 3 coats and some touch-ups.

Finally, I touch-up the black parts.

Working on 3 side units at a time, it takes only 5 to 10 mins to paint one side, then wait for 20 to 30 minutes to paint the other side, and then wait for an hour before doing another coat.

I just use regular (but of decent quality) brushes. A 1" or 1.5" for outside and 0.5" or 0.75" for inside. I started with a 4" roller but it was a disaster. It did not spin well and splattered paint everywhere.

To reduce brush streaks, it is recommended to paint horizontally or wet the paint a little with water.

Something to watch out for is to avoid the paint dripping into the holes and making it hard/"impossible" to put the pins in. I did this by painting the inside perpendicular to the ground.

Solved Rubik's Cube at last

I finally learn how to solve a 3x3 Rubik's Cube after some 42 years. It is a minor "Achievement Unlocked" moment for me. :clap:

I first followed the instructions that came with the cube. It works, but there are too many rules to follow. (*) On YouTube, you'll find the "Beginner's Method" which has more steps but fewer rules.

(*) It uses the Beginner's Method for the first two layers and the last layer cross, then switches to some sort of OLL (Orient Last Layer) and PLL (Permutate Last Layer). It has one algo for OLL only, need to repeat the same algo several times. It has two algos for PLL, also need to repeat several times.

I had some difficulities following the first video that I picked, then I was able to follow a second video. What was funny was that when I went back to watch the first video, I found that it had the exact same steps!

People could solve the Rubik's Cube in less than a minute using the Beginner's Method. However, they are not using the "absolute" Beginner's Method. There are three ways to speed up:

  • Shortcuts
  • Finger tricks
  • Lookahead

Shortcuts are ways to solve faster if certain conditions are met. They are faster, but you have to learn more algos. And more practice to be actually faster!

Finger tricks are using optimal finger movements to move the pieces fast.

Lookahead is to be able to solve the next step or stage without pausing.

Once you master the above, you have max'ed out the Beginner's Method. Then it is time to move to advanced methods. The next step up from the Beginner's Method is F2L (First 2 Layers), where you solve the first two layers directly. This is key to getting sub-30s time.

How to bring down COE quickly

LTA brought forward the 5-year deregistration COEs in order to increase the quota today. It is a one-time fix.

My suggestions.

Commerical usage will pay 50% more. If COE is $50k, commerical cars will pay $75k.

(The Transport minister continues to deny that commerical cars contribute to high COE. In typical PAP deflection, he said they make up only 10% of the car population. What is important is their makeup in COE bidding today, which is 30% to 40%.)

New cars will be fitted with new IU that deducts double ERP and parking. Existing cars that have their COE renewed will be charged double as well. Make usage more expensive. Shift the cost from ownership to usage.

Combine cat A and B. Many people ask for more categories. Instead, we should reduce the number of categories and pool the quota together. Have a formula that penalizes "big" cars, e.g. 50% higher COE for cars with OMV over $30k, 100% higher COE for cars with OMV over $50k and so on.

Must deposit 30% of last bid price upfront (min $10k). This is less a deterent than you may expect, because people can take personal loan for it.

Pay what you bid, up to 120% of the COE price. The cutoff is no longer a line, but a band. Hopefully, this will make people think harder cos they are paying more for the same piece of paper.

Pay 25% more for 5-year COE renewal (min $10k). Make it less attractive to renew COE and hence will return to the quota.

But don't think that COE will crash. The price depends very much on what people are willing to pay.

Air-con broke down again

In the first week of April, my air-con broke down again. Everything seemed to work, but it was not blowing cold air. There were two notable points:

  • It did blow cold air at the start and every hour or so
  • The compressor was shaking quite hard and there was no wind from the fan
  • It also felt a bit warmer than usual

The air-con compressor is Daikin MA56EV16. Specs: non-inverter, 20,267 BTU/hr, cooling capacity 5.94 kW, current 7.6A, sound level 54 dB(A).

Indoor unit: Daikin FT25DVM. 9k BTU/hr. Cooling capacity 2.6 kW. Airflow 247 cfm. Sound level 36/29 db(A). Power 815W.

The compressor can only cool two rooms simultaneously. It can cool 3 rooms at 74% efficiency and 4 rooms at 56% efficiency.

Can I change the compressor to an invertor unit keeping everything else? ChatGPT says yes, but the air-con technician says no.

In the end, it turned out that the fan blade shattered into pieces. That explained the exploding sound I heard that night before — I found the air-con was not cold the next morning.

The blade costed $42 new, but there was no stock left. The technician found a 2nd one for $85. And he recommended to change the motor (also 2nd hand) as well for $225. (He insisted on it.) It was plain just changing the blade alone was not profitable for them.

(The motor was still available new for $255, but they would charge a further installation fee of $60 — I called the first air-con shop I found online. Maybe that was not a good idea.)

As they were replacing the parts, I felt that the replacement motor looked older than mine! It also made a low whining sound when in operation.

If the air-con breaks down again, and parts get harder and harder to find, I will need to replace the whole system. It will be a major pain. This air-con system is 13 years old with two breakdowns.

Minimum requirements: inverter, 36k BTU/hr.