Writing
Notes on AI engineering, programming, and shipping software in the AI-native era.
April 3, 2023 · 7 min read
The Vector Database Landscape in 2023, Pinecone, Milvus, Weaviate, and Chroma Compared
March 30, 2023 · 8 min read
Testing gRPC Services in Go with testcontainers and bufconn
March 27, 2023 · 7 min read
Observability for Go gRPC Services with OpenTelemetry
March 20, 2023 · 7 min read
Connection Pooling for gRPC and Postgres in Go
March 16, 2023 · 6 min read
gRPC Interceptors in Go, Auth, Logging, and Recovery
March 13, 2023 · 7 min read
Context, Deadlines, and Cancellation in gRPC Microservices
March 9, 2023 · 7 min read
Goroutine Patterns for Production Go Microservices
March 6, 2023 · 6 min read
gRPC Streaming RPCs in Go, Server, Client, and Bidirectional
March 2, 2023 · 6 min read
gRPC Basics in Go, From Proto to Production Server
February 27, 2023 · 6 min read
TypeScript 5.0 Beta, What's Actually Changing
February 23, 2023 · 7 min read
Type-Safe API Routes in Next.js 13
February 20, 2023 · 7 min read