← Latest posts

Engineering notes

Page 3 of 4

·13 min read

How to Set the JAVA_HOME Environment Variable on Windows, Linux, and macOS

Set JAVA_HOME correctly on Windows, Linux and macOS — find the JDK folder, make the variable stick across reboots, and fix the errors it causes.

Java
·9 min read

Difference Between JDK, JRE and JVM: What Each One Actually Does

JDK, JRE and JVM explained by following one file from javac to output: what each layer holds, why Oracle stopped shipping a JRE, and which one to install.

Java
·11 min read

MySQL vs PostgreSQL: The Differences That Actually Matter

A concrete comparison of MySQL and PostgreSQL: MVCC and VACUUM, clustered index vs heap, isolation defaults, transactional DDL, and replication durability.

Databases
·9 min read

Python Multiprocessing vs Multithreading: Which One and Why

How the GIL decides whether threads or processes speed up your Python code, what pickling and spawn cost you, and how to switch between the two in one line.

Python
·9 min read

Service Discovery Using Eureka Server: How It Actually Works

How Eureka service discovery works: register, heartbeat, fetch and evict with real defaults, a Spring Boot server on port 8761, and self-preservation mode.

Distributed Systems
·9 min read

Docker vs Kubernetes: What's Actually Different

Docker builds and runs containers on one machine; Kubernetes schedules them across many. See the concept-by-concept mapping and what changed in Kubernetes 1.24.

Containers
·12 min read

AWS Lambda vs EC2: Which Should Run Your Workload?

How AWS Lambda and EC2 differ in execution model, hard limits, scaling, cold starts and billing — plus a clear rule for choosing one for your workload.

Cloud & DevOps
·12 min read

What Is AWS IAM and How Does It Work?

Learn what AWS IAM is, the four identity types, how JSON policies are structured, and the exact deny-allow-deny logic AWS runs on every single API request.

Cloud & DevOps
·9 min read

How to Install Java 21 (JDK 21) on Windows

Install JDK 21 on Windows 10 or 11: choosing Temurin, Corretto or Oracle, the MSI checkboxes that matter, setting JAVA_HOME and PATH, fixing a wrong version.

Java