Notes

On Randomness

I believe that randomness is the core of the universe.

Disclaimer: I’m not an expert on the topic. This is personal thought after watching some YouTube videos and reading some books about the origin of universe.

What is the default value of Chrome’s minimum font size?

Background

One fine day at work, I took up a task which involves reducing the font size of a text from the current 12px to 9px. From my experience, this won’t turn up well in some versions of Chrome, as Chrome imposes some minimum font size, when the browser is set to a specific language. This minimum font size restriction, apparently, is controllable at the browser settings (ref 1, ref 2).

Question

I would go and raise this issue to the designer and product manager, but one question popped up:

What is the default value of this minimum font size setting?

Escalators in the Shopee building

On Elevator, Escalator, and Progress

In the new Shopee (Singapore) building, my desk is located on the 4th floor. I usually entered the building from the 1st floor (there is another entrance on the 3rd floor).

After I enter the building, it is still the public area, I have two choices of going to the staff-only area: through the gantry gates on the 1st floor, or through the 3rd floor. Going to the 3rd floor on the public area requires taking two flights of escalators.

If I enter the staff-only area from the 1st floor gantry gate, I will take the elevator (lift) to the 4th floor; but if I enter from the 3rd floor gantry gate, I will take the stairs to my floor (since the difference is only by a single floor).

On a normal day, I will always take the escalators to the 3rd floor, enter the staff-only area, and then take the stairs to my floor.

I have a theory on why I prefer this, and I think, it is the classic “loading screen experience” happening in real life.

Waiting for elevator to arrive is just like a progress bar that stopped progressing for unknown period of time (and users don’t know when it will continue to progress). On the other hand, riding escalators and taking stairs give the users a sense of physical progress and therefore a more pleasant experience.

While it may take longer to reach my floor, I don’t need to wait for something out of my control to happen, and that’s a better experience rather than waiting for uncontrollable elevator to arrive.

That’s why I prefer taking escalators and stairs rather than elevators. Unless I’m peer-pressured by my colleagues. 😅

Learn to Count in JS!

In the past few weeks, I suddenly recalled of an interesting problem I faced during my days in Competitive Programming world. It was called “Make*me-an+[integer!]“, a problem posted in Internet Problem Solving Contest 2015 problemset (link to problem)

The gist of the problem statement is as such:

Output a list of valid ECMA-262 expression of the number 0 to 1000 (inclusive) using only the characters !, [, ], +, , and/or *, in which the correctness is determined by the value and the type of the expression itself.

For example, !![] evaluates to the number 0 (this is a valid output), and +!![]+[+[]] evaluates to string “10” (this is invalid, as the output type need to be evaluated as type number too).

The problem has two subtasks: the easy subtask is to produce the outputs where each expression uses no more than 200 characters; and the hard subtask limits the expression to use no more than 75 characters.

During the competition itself, I solved the easy subtask, but now I was quite interested in solving the hard subtask because … why not? Hahaha. In total, I spents around 2 weeks (including the many off days in between as I wasn’t in the mood for coding).

So, let’s get into the problem.