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

Architectural Patterns

Proven patterns for structuring applications

Domain-Driven Design

Tactical and strategic patterns for modeling complex domains

Functional Programming

FP principles, paradigms, and their relationship to clean architecture

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

…and 13 more

CAP Theorem & Consistency

Understanding trade-offs in distributed systems

Database Design

Selection guides, indexing strategies, and data modeling

System Design Katas

Practice problems and design exercises

Mock Interviews

Real system design interview scenarios

Interview Methodology

Frameworks and approaches for system design interviews

Other

Drafts in Progress

💻 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

…and 3 more

Kotlin Development

Language features, testing practices, and design pattern implementations

Frontend

Web development patterns and state management

Drafts in Progress

🤖 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

RAG & Embeddings

Retrieval-augmented generation and vector databases

Practical LLM Development

Tools, frameworks, and implementation patterns

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

Portfolio Theory

Modern portfolio optimization techniques

Advanced Models

CAPM, Black-Litterman, and behavioral finance

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

Development Tools

CLI tools, automation, and productivity enhancers

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

📊 Product

1 articles · 1 drafts

Product management concepts, requirements engineering, and the intersection of engineering with business needs.

Featured:

Drafts in Progress

Inspirational

6 articles · 1 drafts

Personal development, learning strategies, and wisdom for continuous growth in software engineering and life.

Featured:

All Articles:

Drafts in Progress

Learning Paths

Clean Code & Architecture

  1. Start with SOLID principles
  2. Explore design patterns implementations
  3. Study clean architecture patterns
  4. Apply to DDD tactical patterns

System Design Mastery

  1. Understand distributed systems fundamentals
  2. Study consensus and fault tolerance
  3. Explore database design and selection
  4. Practice with system design katas

Modern AI/LLM Development

  1. Learn transformers fundamentals
  2. Understand RAG systems and embeddings
  3. Study practical implementation patterns
  4. Master prompt engineering techniques

Quantitative Finance & Trading

  1. Learn compound interest and CAGR fundamentals
  2. Understand Modern Portfolio Theory and the Efficient Frontier
  3. Study risk metrics: Sharpe Ratio, Volatility, and Risk Parity
  4. 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.