References
A comprehensive collection of external references, blog posts, articles, and technical resources that support and expand upon the concepts covered in this architecture library.
Diego Pacheco’s Resources
Main Platforms
- Main Blog
- Substack Newsletter
- Medium
- X (Twitter)
- Bluesky
- YouTube Tech Channel
- Amazon Author Profile
Tiny Essays
Side Projects
- Tupi Lang - A programming language written in Java 23
- Jello - Vanilla JS web APIs, Trello-like application
- Zim - A Vim-like editor written in Zig 0.13
- Gorminator - A simple and dumb Linux terminal written in Go
- Kit - A Git-like tool written in Kotlin
- Shrust - A compression/decompression tool written in Rust
- Smith - A security agent written with Scala 3.x
- ZOS - A very tiny OS written in Zig
- Tiny Games - A collection of JavaScript games
Architecture & Design
Architecture Documentation
Patterns & Best Practices
Core Architecture Principles
- Design is Not Subjective
- Architecture 101: Thinking About Design
- Design 101
- Internal System Design (Forgotten Art)
- UML Hidden Gems
- SOA, Microservices, and Isolation
- Double Down on Service Orientation
- It’s All About Contracts
- Leaky Contracts
- The Death of Microservices (Distributed Systems)
- Distributed Monolith
- Frontend Backend Distributed Monolith
- Legacy Systems and Distributed Monoliths
- DevOps Monolith
- S3 Next Distributed Monolith
- Trade-offs in Architecture
- State
- Services
- Service Chain
- Embedded Mocks and Hidden Contracts
Properties & Quality Attributes
- The Stability Mindset
- DevOps is About Anti-Fragility (Not Only)
- Observability: Domain, Observability from Code
- Proper Error Handling
- Null Validations and Exceptions
- Why Encryption is So Hard
- Tokenization, Encryption and Security
Code Review & Analysis
- Team Code Review and Design Sessions
- Getting the Best Out of GitHub with Remote Teams
- Lessons Learned and Experiences Doing Code Review
- Beyond Code Deltas
- Training Like Pros (Reading Code)
- Code Analysis at Scale
Technical Debt & Anti-Patterns
- Breaking the Debt Cycle
- Tech Debt First
- Don’t Outsmart Hard Choices - Why
- Quality Needs to be Managed
- Thoughts on Internal Complexity
- Ignoring Culture
- Requirements Are Dangerous
- Fighting Complexity
- Continuous Refactoring
- Refactoring: Making Sense of Invisible Changes
Practices & Decision Making
- Being an Active Architect
- Lean & Deming: The New Culture
- Multi-Track Agile with TTA (Tracking Test Automation)
- The Roads Approach (Balancing Speed and Quality)
- Architects as Gatekeepers
- Extreme Ownership & Expectations
- It’s All About Attention (Detail)
- Why Writing Matters
- Going Faster with Testing
- The Monk and Rockstar
- Shallow vs Deep Mindset
- Meetings Cost
Build vs Buy
Security
- Securely Storing Passwords in a Database
- AWS RDS IAM Authentication
- AWS KMS
- Have I Been Pwned
- GitOps
Reference Documentation
C2 Wiki
Wikipedia
- ACID
- Authentication
- Authorization
- Idempotence
- JSON Web Token
- Lock (Computer Science)
- Optimistic Concurrency Control
- Partition (Database)
- Schema Evolution
- Single Source of Truth
- Service Statelessness Principle
- Defensive Programming
- API Management
- Cache (Computing)
- Connection Pool
- Feature Toggle
- Load Balancing
- Message-ID
- Messaging Pattern
- Message Queue
- Webhook
- Spike (Software Development)
AWS Resources
Other Technical Resources
Tools
Diagramming Tools
Writing Tools
Design Tools
Language & Runtime Homepages
Videos & Media