And why we should learn how to learn

In an experiment conducted at a physics course at Harvard University, researchers randomly assigned students into two groups. One group received active instruction, where students were given time to solve problems in class, while the other group received passive instruction, where students just listened to the instructor solving problems. …

An introduction to React’s upcoming feature

React server component

What Are Server Components?

Today, we have React components — and that’s it.

However, the React team is now experimenting with a new idea of separating components into two types: Client Components and Server Components. The proposal is to start differentiating them by file extensions (.client.js and .server.js). So what are they?

Client Components…

A useful checklist for software engineers on macOS

Man admiring his MacBook Pro

The new Apple Silicon Macs have been out for a while now. The machines have shown drastic processing power and battery improvements while being at the same price point. As a result, most tech reviewers have no issue recommending them to people for everyday use.

However, the story is different…

How to settle in, a few book recommendations, and other work advice

In 2019, I graduated with a bachelor’s degree in computer engineering. Shortly after, I joined a company in Hong Kong as a software engineer. I have now been in this position for around six months.

Now that I have had time to collect my thoughts, I’d like to share with…

It’s only fair if I gave UST a grade

I have graduated from UST’s BEng program with a major in Computer Engineering (CPEG). Here I want to leave some thoughts on the lecturers and courses that I liked and didn’t like. Needless to say, these thoughts are subjective and not everyone will agree with them. …

Day 2— Product of Array Except Self

Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].

O(n) runtime, O(n) space

vector<int> productExceptSelf(vector<int>& nums) {
int n = nums.size();
// Initialize vectors (i.e. arrays) of n 1’s

Donovan So

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store