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
- Item 1
- Item 2
- Item 3
- Item 3a
- 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:
- Standard approach: Add
vendor/to.gitignore, commit onlycomposer.jsonandcomposer.lock, and runcomposer installduring deployment - 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.