STATUS: CONNECTED
LATENCY: 42ms

Blog entries

A curated set of blog entries focused on software engineering and systems, with occasional notes on baking, and running.

Type-Erasure Dispatch Pattern in Go

Coordinators tend to rot when they need to manage many concrete types. You start with a small workflow, then add one type switch, then another, and eventually every new backend or model change touches orchestration code.

The type-erasure dispatch pattern is how I got out of this in a multi-database sync system.

The Scaling Failure That Forced the Refactor

Originally I had 6 different database variations to support behind one sync workflow. The design tied capabilities directly to typed interfaces and backend implementations.

Markdown Test Page

Headers

This is a Heading h1

This is a Heading h2

This is a Heading h6

Emphasis

This text will be italic This will also be italic

This text will be bold This will also be bold

You can combine them

Lists

Unordered

  • Item 1
  • Item 2
  • Item 2a
  • Item 2b
  • Item 3a
  • Item 3b

Ordered

  1. Item 1
  2. Item 2
  3. Item 3
  4. Item 3a
  5. Item 3b

Images

Paragraph goes here

What Is a Keg

What is a KEG? Building Your Own Personal Knowledge Graph

You’ve probably heard the term “knowledge base” before. It usually refers to a collection of documents, articles, or FAQ pages. But what if your knowledge could be organized more like your brain actually works—as a network of interconnected ideas rather than a linear collection of files?

That’s what a KEG is. It stands for Knowledge Exchange Graph, and it’s a personal knowledge management system that organizes information as a network of interconnected nodes instead of traditional folders and documents.

Welcome to My Blog

Hello! I’m Jared, and this is my first post. I’m excited to share my thoughts on software development, Go programming, and building things on the web.

What to Expect

On this blog, I’ll be sharing:

  • Technical deep dives into Go and web development
  • Project write-ups showcasing things I’ve built
  • Best practices and lessons learned from real-world projects
  • Notes on tools, frameworks, and interesting technologies

About This Site

This portfolio site is built with Go and uses a custom post management system. Each post is written in Markdown with YAML frontmatter for metadata. It’s a lightweight approach that keeps things simple and performant.

The Vendor Pattern with Composer: When and Why to Commit Dependencies

When working with PHP projects using Composer, you typically have two approaches to managing your vendor/ directory:

  1. Standard approach: Add vendor/ to .gitignore, commit only composer.json and composer.lock, and run composer install during deployment
  2. Vendor pattern: Commit the entire vendor/ directory to your repository

While the standard approach is conventional and recommended for most projects, the vendor pattern offers specific advantages in certain scenarios. Let’s explore what it is, when to use it, and the tradeoffs involved.