Engineering notes
Page 3 of 4
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.
JavaDifference 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.
JavaMySQL 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.
DatabasesPython 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.
PythonService 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 SystemsDocker 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.
ContainersAWS 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 & DevOpsWhat 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 & DevOpsHow 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