Supercharge and Beautify your Zsh environment on Mac

I recently reinstalled my macOS and spent some time reconfiguring the shell environment. Admittedly, the default macOS Terminal looks outdated and lacks some important productivity features. Prerequisites Homebrew Homebrew is a popular package manager for macOS, specifically for the terminal environment. The App Store may suffice for regular users, but Homebrew is a must-have for people doing engineering work on macOS. Install Homebrew: 1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Zsh Zsh (Z shell) has replaced Bash as the default shell since macOS Catalina. ...

November 9, 2025 · 2 min · 311 words · Justin Hu

MongoDB 101: A Beginner’s Guide to NoSQL Databases

If you’re diving into the world of databases, you’ve likely heard of MongoDB. It’s one of the most popular NoSQL databases out there, and for good reason—it’s flexible, scalable, and developer-friendly. In this MongoDB 101 guide, we’ll break down what MongoDB is, how it works, and why it might be the right choice for your next project. What is MongoDB? MongoDB is an open-source, document-oriented NoSQL database designed to handle unstructured or semi-structured data. Unlike traditional relational databases (like MySQL or PostgreSQL), which store data in rigid tables with rows and columns, MongoDB uses a more dynamic, JSON-like structure called BSON (Binary JSON). This makes it ideal for applications where data doesn’t fit neatly into a predefined schema. Launched in 2009 by MongoDB Inc., it’s become a go-to solution for startups, enterprises, and developers who need a database that can scale horizontally and adapt to changing requirements. ...

March 21, 2025 · 5 min · 881 words · Justin Hu

Popular Static Site Generator Comparison: Jekyll, Docusaurus, Sphinx, Hugo

Static Site Generator Choosing the right static site generator(SSGs) from the wide range of options available for technical writing can be daunting, whether it’s for blogs, personal websites, or open-source project documentation. Over the years, I’ve used multiple static site generators, primarily for my website. I started with writing on blogging platforms and gradually transitioned to a self-hosted and self-managed approach. Initially, I utilized dynamic website solutions like WordPress, then moved on to static site generators like GitHub Pages, and ultimately Hugo. ...

February 16, 2025 · 9 min · 1827 words · Justin Hu

GitHub Actions and Why It's Gaining Popularity over Jenkins as Default CI/CD Tool

The Current CI/CD tooling for our company is moving away from Jenkins and towards GitHub Actions. Learn some basics about GitHub Actions as a reulst. What’s Git Actions According to Github: GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that run tests whenever you push a change to your repository, or that deploy merged pull requests to production. ...

October 19, 2024 · 3 min · 444 words · Justin Hu

Terraform and Infrastructure as Code

Infrastructure as Code Challenge of Provisioning Cloud Resources Manual Provisioning of infrastructure at scale is slow and cumbersome. Provisioning infrastructure through point-and-click GUIs is error-prone, inefficient, and doesn’t scale. The cloud was built for automation, but writing custom scripts for every service and every use case is time-consuming and costly for development teams. Solution Infrastructure as Code(IaC) to automate infrastructure provisioning on any cloud. Multi-cloud provisioning should be automated with declarative infrastructure as code. There should be a simple, easy to learn configuration language to allow people to define infrastructure resources such that infrastructure can be codified, shared, versioned, and executed with a consistent workflow across all environments. ...

August 10, 2024 · 9 min · 1908 words · Justin Hu

How to Create Self-Signed SSL Certificates

SSL Certificate Securing your website or application has become increasingly crucial in today’s digital landscape where cyber crimes become ever more pervasive. One common way to achieve security is through encryption. Symmetric and asymmetric encryption have been heavily studied in the field of Cryptograph and are widely used in the industry to help secure digital systems. SSL certificates, which build on top of asymmetric encryption, are often used to secure websites by ensuring data in transit between clients and web server are encrypted, thus private and secure. ...

January 26, 2024 · 3 min · 541 words · Justin Hu

FastAPI 101

What is FastAPI? According to its official website, FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.8+ based on standard Python type hints. Hello World with FastAPI Installation Requirements Python3.8+ Install FastAPI 1 pip install fastapi Install ASGI Server 1 pip install "uvicorn[standard]" Define a FastAPI app Create a file main.py with: 1 2 3 4 5 from typing import Union from fastapi import FastAPI app = FastAPI() Create API Endpoints In main.py add the following 2 endpoints implementation ...

December 1, 2023 · 2 min · 415 words · Justin Hu

Apache Kafka and A Comparison with RabbitMQ

Kafka Introduction Apache Kafka is heavily used in my work now. Therefore, I thought it would be useful and helpful to write a post about it. Kafka is an event streaming platform. Apache Kafka defines event streaming as the following: Technically speaking, event streaming is the practice of capturing data in real-time from event sources like databases, sensors, mobile devices, cloud services, and software applications in the form of streams of events; storing these event streams durably for later retrieval; manipulating, processing, and reacting to the event streams in real-time as well as retrospectively; and routing the event streams to different destination technologies as needed. Event streaming thus ensures a continuous flow and interpretation of data so that the right information is at the right place, at the right time. ...

December 23, 2022 · 4 min · 696 words · Justin Hu

Faster Python: Python 3.11 Release and Future Roadmap

Python is a popular programming language, especially in scripting, web development, data analytics, and ML/AI domains. According to TIOBE Programming Language Index, Python has become the most popular programming since 2022, exceeding good old C: Python has gained popularity because of its flat learning curve (compared to other languages such as C/C++), human-readable code, and thriving ecosystems. However, Developers have always complained about python not being fast or even slower than other interpreting languages like JS or Lua. ...

December 3, 2022 · 2 min · 393 words · Justin Hu