Tech Stack

Programming Languages

  • Go - My go-to backend programming language. I enjoy the simplicity of Go and its design around backend development. Not interested in using Go for frontend/GUI/embedded/data analysis, etc.
  • Python - I use Python as major data analysis language. Two companion languages are SQL and R, my path to the solution is always SQL -> Python -> R. Not very interested in Python backend programming – I don’t like dynamic language at backend side.
  • TypeScript - It’s difficult to maintain a large scale project without type annotations, so I avoid using JavaScript in any serious project.
  • Rust - My favorite programming language. Maybe one day rust will become the go-to language for backend programming. Currently using rust to write the backend for my personal project.
  • C/C++ - I don’t write C/C++ but read & learn C/C++ source codes.
  • SQL - I use SQL whenever it’s possible.

DevOps

  • Redis - In-memory & persisted data structure storage.
  • PostgreSQL - My favorite database, read the source code occasionally.
  • Nginx - Service gateway, also a great implementation reference of the HTTP spec.
  • Unix Environment - I would’ve said Arch Linux, but I don’t use Linux as my personal development environment anymore. Currently I’m trying to build a degraded Arch Linux on top of Mac OS X.
  • Ansible - I use ansible as a declaritive replacement for Bash, not perfect but robust enough to build an infrastructure from scratch.
  • Kubernetes - Huge system based on simple design, my favorite way of architecting large-scale systems.

Web

I like web technologies, they’re built upon openminded and collaborative guys. Personally I use React and TypeScript, but can also enjoy coding with Vue and JavaScript.

Tooling Stack

  • OneNote - My main knowledge base & journaling tool.
  • Muse - Semi-structured & graph-structured notes.
  • Procreate - Free-style notes.
  • Microsoft To Do - Planning & executing tools.

Hobbies

  • Fitness & Running - To maintain my physical energy.
  • Sketching - To improve my handwriting and diagramming skills.
  • Reading - Mainly about psychology, sociology and anthropology, sometime philosophy, linguistics and history.