Notes from the journey
Things I've learned, problems I've solved, and ideas I want to remember.
Written for my future self, shared for anyone who finds it useful, and kept for my kids to read someday.
REST: The API Style Everyone Uses
REST is everywhere, but most "REST APIs" quietly break its own rules. This article breaks down what REST really requires (including the HATEOAS rule almost everyone skips), the difference between safe and idempotent HTTP methods, why idempotency is what saves you from double-charging a customer on a flaky connection, resource naming conventions, statelessness, and the status codes worth actually knowing.
#api#webdev#backend#beginnersRead more →What Is an API, Really?
APIs are everywhere — but what actually is one? This article breaks down what an API really is, how the client-server request-response cycle works, HTTP fundamentals, the difference between sync and async communication, and why API design matters from day one.
#api#webdev#backend#beginnersRead more →Git for Everyone: What Is Git, Repository, and Commit
Git doesn't have to be scary. In this first part, we break down what Git is, what a repository is, and how commits work — using everyday analogies simple enough for anyone to understand.
#git#versioncontrol#programming#beginnersRead more →Git for Everyone: Traveling Through Time — Checkout, Reset, and Revert
Git gives you three different ways to interact with your commit history — each with very different consequences. Let's break down checkout, reset, and revert using simple analogies.
#git#versioncontrol#programming#beginnersRead more →Git for Everyone: Branches, Stash, and Git Workflow
Branches let your team work in parallel without stepping on each other. Stash lets you pause mid-task without losing your work. Together, they're the backbone of a productive Git workflow.
#git#versioncontrol#programming#beginnersRead more →Git for Everyone: Merge, Pull Requests, and Code Reviews
Branches are useful, but eventually they need to come back together. Here's how merge, pull requests, and code reviews work — and why each one matters for a healthy team workflow.
#git#versioncontrol#programming#beginnersRead more →Git for Everyone: Fork, Clone, and Open Source Collaboration
What if you want to contribute to a project you don't own? That's what forking is for. Let's break down the difference between fork and clone, and walk through the full open source contribution flow.
#git#versioncontrol#opensource#beginnersRead more →Git for Everyone: Git GUI Apps — You Don't Have to Use the Terminal
Knowing the commands makes you a stronger developer. But you don't have to type them every day. Here's a breakdown of the most popular Git GUI apps — GitHub Desktop, GitLens, GitKraken, Fork, and Sourcetree.
#git#versioncontrol#tools#beginnersRead more →OOP for Everyone: Blueprints, Robots, and the 4 Pillars Explained Simply
Object Oriented Programming doesn't have to be intimidating. In this post, we break down classes, objects, and the four pillars of OOP using everyday analogies — simple enough that even a child could understand.
#oop#solid#programming#beginnersRead more →When Objects Meet: A Friendly Guide to Relationships in OOP
Objects don't live in isolation — they talk, depend on, and sometimes can't exist without each other. This post explores the different types of relationships in OOP: association, aggregation, composition, dependency, and generalization, with analogies that make each one click.
#oop#solid#programming#beginnersRead more →Why Bad Design Hurts: The Three Code Smells Every Developer Should Know
Before learning the rules of good design, you need to understand what bad design actually looks like — and why it's so painful. This post introduces Software Design Principles and the three warning signs that your codebase is heading in the wrong direction: rigidity, fragility, and immobility.
#oop#solid#programming#beginnersRead more →SOLID: 5 Rules That Will Change How You Write Code Forever
SOLID is a set of five principles that help you write code that's easy to change, easy to understand, and easy to reuse. This post breaks down each principle with simple analogies — from robot chefs to Swiss Army knives — so they actually stick.
#oop#solid#programming#beginnersRead more →