Skip to content

Editorial Pillar

Software Craft

Design patterns, clean code discipline, runtime internals, and language ergonomics.

36articles

Software Craft5 min read

Java Valhalla: Twelve Years to Delete One Assumption

Project Valhalla finally lands in JDK 28 as a preview. The story of how a decade of work boils down to one idea: let objects opt out of identity.

#java#jvm#performance
Software Craft6 min read

Python 3.15's Most Useful Changes Flew Under the Radar

Python 3.15 ships lazy imports and a Tachyon profiler, but the quietly useful additions are TaskGroup.cancel(), fixed context manager decorators, and…

#python#asyncio#concurrency
Updated
Software Craft8 min read

1 Byte = 8 Bits: How Many Bits in a Byte & Bytes in Your Name?

How many bits are in one byte? 1 byte = 8 bits. Learn how binary bits, bytes, ASCII, and UTF-8 encodings work using an interactive parking lot model.

#encoding#unicode
Software Craft6 min read

When to Use Classes vs. Functions in Python: A Design Checklist

A repeatable mental checklist for Python developers to decide when to use classes, functions, instance state, and dependency injection.

#python#software-design#architecture
Software Craft5 min read

When to Use Dataclasses, Generators, and Try/Except in Python

Phase 2 of the mental checklist for Python developers. Navigating dictionaries vs dataclasses, eager evaluation vs lazy execution, and error handling philosophies.

#python#software-design#best-practices
Software Craft4 min read

Verify vs Cert: The Python Requests Handbook

Understanding SSL/TLS in Python Requests: The 'verify' and 'cert' arguments explained with interactive animations.

#security#software-craft
Software Craft5 min read

SP7 - Proxy - Learn Design Pattern From Simple Things

The boss blocks social media so employees stay focused. That's exactly how the Proxy pattern works - controlling access between objects.

#design-patterns#structural-patterns
Software Craft6 min read

SP6 - Object Pool - Learn Design Pattern From Simple Things

Manufacturing planes is expensive, but raw parts are reused from a pool. That's the Object Pool pattern - reduce creation cost with smart reuse.

#design-patterns#structural-patterns
Software Craft3 min read

SP5 - Facade - Learn Design Pattern From Simple Things

Many departments, one entrance. The Facade pattern simplifies complex systems by exposing only what you need. Learn it from simple everyday things.

#design-patterns#structural-patterns
Software Craft5 min read

SP4 - Mixer - Learn Design Pattern From Simple Things

You are a dog farm owner who manages the properties of all dog breeds. The number of crossbred dogs is increasing every day because of the emergence of new breeds!

#design-patterns#structural-patterns
Software Craft5 min read

BP10 - Mediator - Learn Design Pattern From Simple Things

Airport control towers don't let pilots talk directly - they route everything through a hub. That's the Mediator design pattern.

#design-patterns#behavioral-patterns
Software Craft5 min read

BP9 - File History - Learn Design Pattern From Simple Things

Undo and redo look simple on the surface, but how do they work internally? Learn the Memento pattern from simple editing software.

#design-patterns#behavioral-patterns
Software Craft6 min read

BP8 - Visitor - Learn Design Pattern From Simple Things

A doctor examines every patient without the patient changing. That's the Visitor pattern - add operations to objects without modifying them.

#design-patterns#behavioral-patterns
Software Craft6 min read

BP7 - Template Method - Learn Design Pattern From Simple Things

Every barista follows the same coffee recipe but can swap beans and milk. That's the Template Method pattern from simple everyday things.

#design-patterns#behavioral-patterns
Software Craft6 min read

BP6 - State - Learn Design Pattern From Simple Things

A traffic light cycles through red, yellow, green - each state has its own behavior. Learn the State design pattern from simple things.

#design-patterns#behavioral-patterns
Software Craft8 min read

BP5 - Observer - Learn Design Pattern From Simple Things

Subscribers get notified the moment a new video drops. That's the Observer pattern - publishers and listeners fully decoupled.

#design-patterns#behavioral-patterns
Software Craft3 min read

BP4 - Handling Chain - Learn Design Pattern From Simple Things

A complaint travels through support tiers until someone handles it. That's the Chain of Responsibility design pattern explained simply.

#design-patterns#behavioral-patterns
Software Craft3 min read

BP3 - Command - Learn Design Pattern From Simple Things

As an army commander, you have to plan all the tasks for the soldiers, so that they can execute them. This process is called command.

#design-patterns#behavioral-patterns
Software Craft2 min read

SP3 - Tree - Learn Design Pattern From Simple Things

You need to store the leaves hierarchically, sometimes you will count the leaves. Tree will be a suitable structure to facilitate leaf counting.

#design-patterns#structural-patterns
Software Craft3 min read

CP5 - Singleton - Learn Design Pattern From Simple Things

Maintain one phone line indefinitely instead of repeatedly connecting and disconnecting. Learn the Singleton design pattern from simple things.

#design-patterns#creational-patterns
Software Craft4 min read

CP4 - Prototype - Learn Design Pattern From Simple Things

Having been with you for a long time, your robot has memories that regular manufacturing can't produce, now you want to clone it. Prototype will be your remedy.

#design-patterns#creational-patterns
Software Craft3 min read

BP2 - Strategy - Learn Design Pattern From Simple Things

As the coach of a strong team, you plan to attack to find a goal and then prioritize possession to preserve the score. This combination is called strategy.

#design-patterns#behavioral-patterns
Software Craft7 min read

SP2 - Decorator & Function Decorator & Closure - Learn Design Pattern From Simple Things

Ice cream gets better with extra flavor - and code gets richer with the Decorator pattern. Learn closures, function decorators, and object wrapping.

#design-patterns#structural-patterns
Software Craft2 min read

CP3 - Builder - Design Pattern From Simple Things

Building a house involves bringing together many parts, each house has its own specific requirements, you need a builder who can easily implement what you want.

#design-patterns#creational-patterns
Software Craft3 min read

BP1 - Gun (Iterator) - Design Pattern From Simple Things

There are bullets that need to be fired one by one in a specific order. You need a tool to set it up neatly and easily upgrade later.

#design-patterns#behavioral-patterns
Software Craft5 min read

CP2 - Comparison between Factories: Simple Factory & Factory Method & Abstract Factory - Design Pattern From Simple Things

Simple Factory is da best, Factory Method and Abstract Factory are cumbersome, complicated and stupid?

#design-patterns#creational-patterns
Software Craft3 min read

CP1 - Vending Machine (Factory) - Design Pattern From Simple Things

Beverages scattered across stores - too tiring to search each one. Learn how the Factory pattern centralizes object creation cleanly.

#design-patterns#creational-patterns
Software Craft3 min read

SP1 - Adapter - Learn Design Pattern From Simple Things

Having many devices that need to connect to your Macbook leads to too many cables. You need a tool to replace all those cables.

#design-patterns#structural-patterns
Software Craft3 min read

FBP1 - Google Foobar Plus - Dodge the Lasers!

Level 5: I tried retyping `request` and Google Foobar still revealed the challenge for me

#google-foobar#algorithms#python
Software Craft4 min read

FBP0 - Google Foobar Plus - Disorderly Escape

Level 5: After completing all the levels I tried typing `request` to see what happens, then this challenge is the result

#google-foobar#algorithms#python
Software Craft4 min read

FB5 - Google Foobar - Expanding Nebula | Cellular Automaton

Level 5 of Google Foobar: Expanding Nebula, a cellular automaton problem that marks the final challenge - and the end of the journey.

#google-foobar#algorithms#python
Software Craft10 min read

FB4 - Google Foobar - Free the Bunny Workers & Escape Pods

Level 4 of Google Foobar: Free the Bunny Workers (combinatorics) and Escape Pods (max-flow) - the real coding gauntlet begins.

#google-foobar#algorithms#python
Software Craft10 min read

FB3 - Google Foobar - Doomsday Fuel & The Grandest Staircase Of Them All & Fuel Injection Perfection

Level 3 of Google Foobar: Doomsday Fuel (Markov chains), The Grandest Staircase, and Fuel Injection Perfection - where the math finally broke me.

#google-foobar#algorithms#python
Software Craft7 min read

FB2 - Google Foobar - Gearing Up for Destruction & Don't Get Volunteered

Level 2: The Math Challenge. Find the formula is the main part.

#google-foobar#algorithms#python
Software Craft4 min read

FB1 - Google Foobar - Minion Work Assignments

Level 1: The Very First Challenge. Learn how to do it and find loopholes for easier debugging.

#google-foobar#algorithms#python
Software Craft3 min read

FB0 - Google Foobar - A Godsend To Kill My Laziness

Google sent me an invitation to their secret coding challenge - here's how I got in and what the Foobar journey looked like.

#google-foobar#algorithms#python