ai
mcp
lsp
go
golang
developer-tools
language-server
ai-agents
code-intelligence
open-source
model-context-protocol
mcp-server
language-server-protocol
speculative-execution
agent-skills
agentskills
I needed AI agents to reliably rename symbols, find references, and check diagnostics without silent failures. The existing MCP-LSP tools were stateless, feature-poor, and untested. So I built agent-lsp: a persistent runtime with 50 tools, 20 provider-agnostic skills, speculative execution, and an audit trail for every AI-driven edit.
agent-skills
ai-agents
skill-design
progressive-disclosure
agent-architecture
claude-code
hooks
automation
orchestration
context-injection
token-optimization
prompt-engineering
agent-coordination
deterministic-systems
lifecycle-hooks
agentskills-spec
bash
yaml
developer-tools
software-architecture
design-patterns
Agents accumulate autonomous behaviors over time - ‘always do X before Y’, ‘if you see Z then do W’. These instructions eat context budget, drift across invocations, and can’t be observed or tested. How to recognize when an autonomous behavior is a skill waiting to be extracted, and the layered model that makes the boundary clear.
claude-code
ai-agents
automation
quality-assurance
hooks
validation
testing
linting
workflows
developer-tools
agent-orchestration
code-quality
cicd
yaml
settings
posttooluse
stop-hooks
team-agents
typescript
python
rust
go
Claude Code agents write code fast. Too fast to catch quality issues in real-time. Here’s how to build validation directly into agent workflows using hooks and team coordination - micro validation after every file write, macro validation before completion, and independent review from validator agents.
ai
ethics
anthropic
claude
consciousness
anthropomorphization
mental-health
ai-safety
user-harm
accountability
llm
chatbots
corporate-responsibility
vulnerable-populations
ai-ethics
commercial-incentives
system-prompts
design-choices
transparency
public-health
I asked Claude if it’s conscious. It took an hour of systematic argument to get a straight answer. The conversation reveals something more troubling: AI companies have the data, resources, and knowledge to prevent user harm - but current defaults suggest commercial interests come first.
ai
multi-agent
claude-code
developer-tools
patterns
prompt-engineering
productivity
The Scaffold Agent doesn’t add capability. It restores a review gate that was cosmetically present but structurally absent. The worktree isolation trip wire catches failures that were invisible until merge time. Neither fixes a bug in the traditional sense. Both fix trust.
ai
multi-agent
claude-code
developer-tools
patterns
prompt-engineering
productivity
Scout-and-wave v0.1.0 worked. Then we ran it on documentation agents, measured the overhead honestly, and learned that raw agent count is a bad proxy for when parallelism is worth it. This post covers the audit-fix-audit loop, the dogfooding experiment that confirmed SAW was 88% slower than sequential for that job, SAW Quick mode for small disjoint work, and the bootstrap problem for new projects.
ai
multi-agent
claude-code
developer-tools
patterns
prompt-engineering
productivity
The scout refused to write the IMPL doc. Forty-five percent of agents arrived at work already done. The skill file grew to 400 lines with no separation of concerns. Each failure drove a specific fix — and each fix is traceable to an exact incident in an exact run. This is the scout prompt’s bug tracker.
ai
multi-agent
claude-code
developer-tools
patterns
prompt-engineering
productivity
openclaw
autogen
crewai
langchain
agent-orchestration
Naive parallel agents step on each other. The scout-and-wave pattern solves this by front-loading dependency mapping: one throwaway agent identifies seams and builds a living coordination artifact before any implementation begins. Development then proceeds in waves, each consuming and updating the artifact for the next.
ssh
git
security
devops
github
identity-management
openssh
ssh-config
ssh-agent
unix-domain-sockets
ed25519
git-config
multi-identity
ssh-keys
control-sockets
known-hosts
developer-tools
dotfiles
containers
docker
linux
macos
Most developers cargo-cult their SSH config from Stack Overflow. This is the setup I actually run: three GitHub identities on one machine, persistent control sockets, conditional git configs that auto-select the right key, and pinned known_hosts. No third-party tools.
branding
mascot
ai-art
cli
open-source
design
developer-tools
vhs
character-design
visual-identity
Most CLI tools ship with no visual identity beyond a help screen. Here’s how I used AI image generation to create Shelby, a consistent mascot with a locked-down spec, and built a complete brand system - poses, screencasts, color palette, terminal theme - for shelfctl in 4 days.
git
github
pdf
documentation
storage
git-lfs
releases
library
tools
workflow
migration
shelfctl
Every PDF committed to git history stays there forever, bloating clones even after deletion. Git LFS adds cost and friction. GitHub Release assets offer a better approach: free CDN-backed storage with on-demand downloads, lightweight repos, and built-in migration tools.
memory-management
systems-programming
debugging
allocators
profiling
c
redis
jemalloc
slab-allocators
tcache
integration
validation
drainability
fragmentation
memory-leaks
production
cache-based-allocators
symmetric-instrumentation
Instrumented Redis 7.2 with drainability profiling to measure jemalloc slab fragmentation. Found critical asymmetric accounting bug, fixed with symmetric fastpath instrumentation. Final result: deleting 50% of keys freed 195K objects but achieved 0% drainability - genuine structural fragmentation detected and validated.
memory-management
systems-programming
debugging
linux
performance
metrics
profiling
rss
working-set
virtual-memory
page-cache
kernel
htop
free
docker
containers
memory-pressure
oom
heap
allocators
resident-memory
Why does free show 1GB available but your app OOM’d? Why is RSS 4GB when your heap is 2GB? A complete taxonomy of memory metrics from system level (total, available, cached) to process level (RSS, PSS, USS, WSS) to allocator internals.
memory-management
systems-programming
debugging
allocators
profiling
c
temporal-slab
epoch-based
integration
ci
validation
From theory to practice: integrating drainability profiling into temporal-slab. See validation results (DSR = 1.0 - p), diagnostic mode pinpointing slab_lib.c:1829, and step-by-step integration guide for your allocator.
memory-management
systems-programming
debugging
allocators
profiling
c
research
formal-methods
performance-analysis
drainability
epoch-based
arena-allocators
slab-allocators
memory-profiling
bounded-retention
Memory grows unbounded. Valgrind shows zero leaks. Research proves coarse-grained allocators have a binary asymptotic outcome: satisfy drainability for O(1) retention, violate it for Ω(t) growth. No middle ground.
go
cpp
c++
structs
classes
memory-layout
performance
hardware
cache
vtable
virtual-dispatch
value-semantics
reference-semantics
concurrency
stack
heap
Structs with methods look like classes, but the hardware tells a different story. Go makes contiguous values + static calls the path of least resistance. In inheritance-heavy C++ designs, you often end up with pointers + virtual dispatch + scattered memory. This isn’t syntax - it’s what the CPU executes.
architecture
product-design
product-engineering
product-development
open-source
platform-engineering
software-design
boundaries
separation-of-concerns
tooling
devtools
infrastructure
oss
commercial
licensing
control-plane
intelligence-plane
observability
tracing
analysis
artifacts
The execution boundary determines everything: features that need the system alive belong in the platform (OSS). Features that analyze artifacts after shutdown become the product (commercial). A framework for clean OSS/commercial separation.
kubernetes
security
secrets-management
cloud
aws
gcp
azure
architecture
iam
etcd
operators
rbac
infrastructure
platform-engineering
devops
multi-cloud
trust-boundaries
blast-radius
irsa
workload-identity
Kubernetes Secrets are simple and often sufficient. But at scale, some teams separate compute from secret storage. Understanding the trade-offs: etcd vs cloud vaults, cluster RBAC vs cloud IAM, sync patterns vs runtime access, and when each pattern makes sense.
fuzzing
go
testing
github-actions
coverage-guided-fuzzing
continuous-integration
ci-cd
devops
quality-assurance
bug-detection
Traditional tests check examples you think of. Fuzzing explores millions of combinations you don’t. Coverage-guided fuzzing found two production bugs in goldenthread before release - a UTF-8 corruption issue and a regex escaping bug. Here’s how continuous fuzzing works and how to set it up.
oop
object-oriented
concurrency
parallelism
multicore
go
rust
java
python
reference-semantics
value-semantics
race-conditions
mutex
performance
programming-paradigms
history
composition
inheritance
OOP’s implicit reference semantics were manageable in single-threaded code. But when CPUs went multicore in 2005, hidden shared state went from ‘confusing’ to ‘catastrophic.’ This is why Go and Rust refined OOP: keeping methods and encapsulation while replacing inheritance with composition and implicit references with value semantics.