Topics

Explore articles by topic, from core concepts to practical applications.

Software architecture

Read the six-part Clean Architecture series in order, covering design principles, components, and boundaries, then explore domain-driven design.

Rereading Clean Architecture (1)

Revisiting Clean Architecture through project experience, with reading notes on software architecture.

Rereading Clean Architecture (2): Programming Paradigms

A review of structured, object-oriented, and functional programming, and how these paradigms constrain code structure and design.

Rereading Clean Architecture (3): SOLID Design Principles

A review of the five SOLID principles and how to organize modules and classes for software that is easier to change, understand, and reuse.

Rereading Clean Architecture (4): Component Principles

From modules and classes to independently deployable components: a review of component cohesion and dependency principles.

Rereading Clean Architecture (5): Software Architecture

A look at component boundaries, relationships, and communication, and how software architecture supports development, deployment, operation, and maintenance while keeping design options open.

Rereading Clean Architecture (6): Boundaries

How architectural boundaries constrain dependencies, isolate business logic, and defer decisions about frameworks, databases, and other details.

An Introduction to Domain-Driven Design

An introduction to strategic and tactical design in DDD, including domains, subdomains, bounded contexts, and other core concepts.

Agent development

Explore plugins, tools, and execution lifecycles through OpenCode’s extension architecture.

OpenCode v2 Extensions: Architecture and Integration

An overview of internal, external, and SDK plugins in OpenCode v2, covering Transforms, Hooks, tool registration, Code Mode, and the Location lifecycle.

Machine learning

Explore practical machine learning through model parameter migration and mathematical foundations.

How to Load PyTorch Model Parameters into MindSpore

A practical guide to manually converting PyTorch parameters and loading them into a MindSpore model when the formats are incompatible.

Beyond the Gradient: The Hessian Matrix

Starting with gradients and the Jacobian, this article introduces the Hessian matrix and its role in understanding gradient descent.