Writing on software design, Web, and building products.

A collection of my thoughts on programming, product development, life, and other topics, organized chronologically and including both brief and lengthy musings.

macOS Big Sur: How to setup Node.js on Apple M1 Machine

Recently I bought an Apple's M1 Macbook Pro. As I am still transitioning from my old MacBook, it might be helpful to document some findings from the developer perspective, especially for developers working with javascript stuff on a daily basis like me.

On Expectation

Murakami's quote pretty much nailed the reality here, and it's been one of the most prominent lessons that I got so far in life and my career. About managing your expectations on things, better yet, you should not put any hope on humans or institutions. Make plans to mitigate the worst situations, but don't expect that the outcomes will be excellent.

Introduction to Modern Web Architecture

The diagram above is one example of how to design Twitter. If you are new to software engineering jobs or involves in large scale web architecture, the diagram above might look so complicated, but we will discuss it later.

State Management in Pure React: Thunks

In the previous post, we discuss about managing state in React's [class component](/pure-react-class), [Hooks](/state-pure-react-hooks), and a [data fetching strategy](/state-react-thunks). In this last part of the series, we are going to explore a Thunk and recap the series about implementing state management in pure React.