Replacing system-wide `nodejs` by another version managed by `nvm`

Some legacy codes are not compatible with latest nodejs. nvm helps with this situation to provide older stable version.

Uninstall system-wide nodejs and install nvm via package management.

Config fish-shell:

1
2
3
4
5
6
function nvm
bass source (brew --prefix nvm)/nvm.sh --no-use ';' nvm $argv
end

set -x NVM_DIR ~/.nvm
nvm use default --silent

Take effect immediately:

source ~/.config/fish/config.fish

An extension to fish-shell is bass.

Bass makes it easy to use utilities written for Bash in fish shell.

An extension to homebrew is cask.

Cracking Java Interview

A list of frequently asked Java questions

  • Overriding vs overloading

    Overriding happens at subclass while overloading happens in the same class. Also, overriding is a runtime activity while overloading is resolved at compile time.

  • Difference between Hashtable and Hashmap, ArrayList and Vector

    Synchronized or not.

  • Thread-safe and synchronization

Machine-Learning-for-Game-TechStack

  • Skymind.ai

  • Keras

  • blueberrymusic

  • Deep Learning, Vol. 1: From Basics to Practice

Reform on course taking

  • Withdraw a course if workload is too heavy.

  • Auditory sense stimulates comprehension when learning for first time. Multimedia records and replays are required.

  • Paper-based books and notes may fit for efficient reviewing. Notes on screens are not yet quite suitable for looking over. Textbooks appear to be loquacious at first glance, but include meaningful extensions.

JDK for macOS

You need the following to distinguish between built-in and user installed versions of JDK.

/usr/libexec/java_home -verbose

Various React components

  • Stateless components - purely functional

    No need to implement constructor then.