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.
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 →

