Blog
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.
Rereading Clean Architecture (6): Boundaries
How architectural boundaries constrain dependencies, isolate business logic, and defer decisions about frameworks, databases, and other details.
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.
An Introduction to Domain-Driven Design
An introduction to strategic and tactical design in DDD, including domains, subdomains, bounded contexts, and other core concepts.
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 (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 (2): Programming Paradigms
A review of structured, object-oriented, and functional programming, and how these paradigms constrain code structure and design.
Rereading Clean Architecture (1)
Revisiting Clean Architecture through project experience, with reading notes on software architecture.
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.