Welcome to My Technical Knowledge Base
This is a comprehensive digital garden covering software engineering, system design, and professional development. Think of it as an interconnected web of knowledge where concepts link together, forming learning paths and revealing connections across different domains.
Current Collection: 148 published articles · 18 drafts in progress · 10 domains
Last updated: 2025-10-13T21:57:28.300818Z
How to Navigate
This knowledge base is designed for exploration and deep learning:
- Browse by Domain: Each section below covers a major area of software engineering
- Follow Learning Paths: Structured sequences at the bottom guide you through related topics
- Follow Links: Articles use
[[wiki-style links]]
to connect related concepts - Start Anywhere: Pick topics that interest you or address your current challenges
The content ranges from foundational concepts to advanced patterns, from theoretical computer science to practical tools. Whether you’re preparing for system design interviews, learning new architectural patterns, or exploring AI/LLM development, you’ll find structured knowledge paths to guide you.
Content Domains
🏗️ Software Architecture
21 articles
Building software that stands the test of time requires understanding architectural patterns and principles. This section covers the foundational concepts that separate well-architected systems from tangled codebases.
Core Principles
Foundational design principles that guide architectural decisions
- SOLID Principles: Foundation for Clean Code
- Understanding CK Metrics
- Barbara Liskov’s Substitution Principle
Architectural Patterns
Proven patterns for structuring applications
Domain-Driven Design
Tactical and strategic patterns for modeling complex domains
- Core Domain vs Core Layer
- How to read Eric Evans’ DDD book
- DDD Repositories and DIP
- An Introduction to DDD
Functional Programming
FP principles, paradigms, and their relationship to clean architecture
- Principles for FP A Structured Approach
- FP vs OO, or Why FP?
- Functional Programming: Principles and Practices
- Mark Seemann on FP
- [[Software Architecture/functional-programming/reading_sicp_and_sdf|How to Read SICP and Software Design for Flexibility]]
- Applying SOLID Principles in Functional Programming
jMolecules Framework
Architecture enforcement through annotations
Other
🌐 System Design
46 articles · 11 drafts
Designing systems that scale, remain available, and handle failures gracefully is a core skill for software engineers. This comprehensive collection covers distributed systems theory, practical patterns, and interview preparation.
Distributed Systems Fundamentals
Martin Kleppmann’s lecture series covering the theoretical foundations
- 1.1 Distributed Systems Lecture - Intro
- 1.2 Computer Networking
- 1.3 Remote Procedure Call
- 2.1 The Two generals problem
- 2.2 The Byzantine generals problem
- 2.3 System Models
- 2.4 Fault tolerance
- 3.1 Physical Time
- 3.2 Clock Synchronisation
- 3.3 Causality and happens-before
…and 13 more
CAP Theorem & Consistency
Understanding trade-offs in distributed systems
- Consistency in CAP Theorem: Ensuring Everyone Sees the Same Truth
- Availability in CAP Theorem: Always On, Always Responding
- Partition Tolerance in CAP Theorem: The Inevitable Necessity
- AP Systems: Prioritizing Availability Over Consistency During Partitions
- CP Systems: Prioritizing Consistency Over Availability During Partitions
Database Design
Selection guides, indexing strategies, and data modeling
- Choosing the Right Database
- Database Indexing
- Why Use DynamoDB for a Small Project?
- Integrating and Normalizing Data from Multiple Sources
System Design Katas
Practice problems and design exercises
- 4 additional system design katas
- Blurry to Sharp Technique
- System Design exercises - idealized scenarios
- System Design, Building a Real-Time Collaborative Editor
Mock Interviews
Real system design interview scenarios
Interview Methodology
Frameworks and approaches for system design interviews
- System Design Interview Methodology - A Step-by-Step Framework
- General Lessons for System Design Interviews
- System Design Skill Ladder From 30-Kyu to Dan Mastery
- System Design Learning Paths - Your Journey to Distributed Systems Mastery
- System Design Study Guide
Other
Drafts in Progress
- Controle de Concorrência em Transações com Zookeeper em Kubernetes (draft)
- Hybrid Event-Stream + On-Prem Aggregator (draft)
- Chargeback System Design Interview Retrospective (draft)
- Self-Analysis Chargeback System Design Exercise (draft)
- Chargeback Challenge - ChatGPT (draft)
- Chargeback Challenge - claude (draft)
- Chargeback Challenge - Deepseek (draft)
- Chargeback Challenge - Gemini (draft)
- Follow up Questions (draft)
- More follow up (draft)
- Ideal Chargeback Solution (draft)
💻 Coding
24 articles · 1 drafts
Practical programming knowledge spanning algorithms, design patterns, and language-specific implementations. Learn through examples and exercises.
Algorithms
Core algorithmic patterns and problem-solving techniques
- Bit Manipulation
- Tree Traversal
- Binary Search Patterns
- Interval Trees: Mastering Overlap Queries on Intervals
- Counting Full Bloom Flowers
- Monotonicity and to Binary Search
- Tree Structures - Traversal Algorithms
- Dynamic Programming
- Pair Programming TDD Approach
- Maximum Average Subarray I
…and 3 more
Kotlin Development
Language features, testing practices, and design pattern implementations
- The Builder Pattern
- Design Patterns
- The Factory Method Pattern
- The Strategy Pattern
- Group Counting Exercise Solution
- Kotlin
- Kotlin Testing
- Scope functions
- Practicing SOLID Principles in Kotlin
- Tennis Score Exercise
Frontend
Web development patterns and state management
Drafts in Progress
- OOP Design exercises (draft)
🤖 LLM
19 articles · 1 drafts
Large language models are transforming software development and AI applications. This section covers both theoretical foundations and practical implementation patterns.
Transformer Foundations
Understanding the architecture that powers modern LLMs
Stanford CS25 Series
Academic deep-dive into transformers and language models
- 01 - CS25 Transformers United Series
- 02 - Introduction to Transformers
- 03 - Overview of Transformers
- 04 - Intuition on LMs
- 05 - From LSTMs to In‑Context Learning
- 06 - Open Language Models
- 07 - Retrieval Augmented Language Models
RAG & Embeddings
Retrieval-augmented generation and vector databases
- RAG, TdiffVectorizer, and Cosine Similarity
- RAG, Chunking, Embeddings and Vector Stores
- RAG as a tool for Code Navigation
- Understanding Chunking and Embeddings
Practical LLM Development
Tools, frameworks, and implementation patterns
- LangChain
- Agent-Based LLM Systems
- Prompt Engineering in an Unfamiliar Ground
- APIs pricing comparison
MCP & Agents
Model Context Protocol and agent-based systems
Other
Drafts in Progress
📈 Quantitative Trading
12 articles
Mathematical foundations and practical techniques for quantitative finance. From basic concepts to advanced portfolio optimization models.
Core Concepts
Fundamental financial mathematics
- Compound Interest: The Mathematical Foundation of Wealth Building
- CAGR: Compound Annual Growth Rate Explained
- Volatility: Understanding and Measuring Investment Risk
- Sharpe Ratio: Risk-Adjusted Performance Measurement
Portfolio Theory
Modern portfolio optimization techniques
- Harry Markowitz and Modern Portfolio Theory
- The Efficient Frontier: Optimizing Portfolio Risk and Return
- Portfolio Optimization: Advanced Techniques for Modern Investing
- Risk Parity: Balancing Risk Contributions in Portfolio Construction
Advanced Models
CAPM, Black-Litterman, and behavioral finance
- Capital Asset Pricing Model (CAPM): Equilibrium Risk-Return Framework
- Black-Litterman Model: Advanced Portfolio Optimization with Market Equilibrium
- Behavioral Finance: Psychology Meets Quantitative Investment
Tools
Practical implementations and MCP servers
🛠️ Tools
13 articles
Productivity tools and development environment configurations that enhance the software development workflow.
Neovim/LunarVim
Editor configurations and plugin guides
- Avante AI Assistant
- Avante - Example
- Generating Git Commits Messages
- Conjure
- Handling JSON, Folding, and CSV
- LSP
- Neo-Tree
- Nvim Paredit
- Treesitter
Development Tools
CLI tools, automation, and productivity enhancers
- Automating Existing Browser Sessions on Windows with Playwright
- Interactive Command-Line Tools: Questionary and Clack
LibreChat
Custom LLM interfaces and code interpreters
Other
👥 Soft Skills
3 articles · 2 drafts
Technical skills alone aren’t enough. These articles cover communication, leadership, and professional growth for software engineers.
Featured:
All Articles:
Drafts in Progress
⚙️ Devops
3 articles · 1 drafts
Infrastructure, deployment strategies, and operational practices for modern applications.
Featured:
All Articles:
Drafts in Progress
- Guide to AWS SNS (draft)
📊 Product
1 articles · 1 drafts
Product management concepts, requirements engineering, and the intersection of engineering with business needs.
Featured:
Drafts in Progress
- OKR Misuse: Backlog and Blame (draft)
✨ Inspirational
6 articles · 1 drafts
Personal development, learning strategies, and wisdom for continuous growth in software engineering and life.
Featured:
- Discovering a Path of Growth - Reflections from Xianxia, Jung, and Mindfulness
- Stanford Negotiation
- Paul Graham Article Summaries
All Articles:
Drafts in Progress
- Epistemology (draft)
Learning Paths
Clean Code & Architecture
- Start with SOLID principles
- Explore design patterns implementations
- Study clean architecture patterns
- Apply to DDD tactical patterns
System Design Mastery
- Understand distributed systems fundamentals
- Study consensus and fault tolerance
- Explore database design and selection
- Practice with system design katas
Modern AI/LLM Development
- Learn transformers fundamentals
- Understand RAG systems and embeddings
- Study practical implementation patterns
- Master prompt engineering techniques
Quantitative Finance & Trading
- Learn compound interest and CAGR fundamentals
- Understand Modern Portfolio Theory and the Efficient Frontier
- Study risk metrics: Sharpe Ratio, Volatility, and Risk Parity
- Explore advanced models: CAPM and Black-Litterman
About This Knowledge Base
This site is built with Quartz 4.0 and uses Obsidian-style linking to create an interconnected web of knowledge. Articles are continuously updated and refined as I learn and explore new concepts.