002More writing44 entries
002FEB 202640 MIN

Multi‑Agent Web Exploration with Shared Graph Memory

A multi-agent web exploration system that uses Monte Carlo Tree Search and shared graph memory to autonomously discover, map, and document complex web applications.

Read
003JAN 202636 MIN

Our Lessons from Building Production Voice AI

What broke when we shipped voice agents to real users, and what we learned fixing it.

Read
004DEC 202528 MIN

Reinforcement Learning, Memory and Law

How reinforcement learning teaches AI to reason, align with human values, and improve continuously.

Read
005OCT 202511 MIN

Automating Secret Management

How we built a secrets pipeline with AWS Secrets Manager and Terraform that distributes credentials to ECS services, frontend apps, and local dev environments automatically.

Read
006OCT 202511 MIN

The Knowledge Layer

Why 80% of AI projects fail and how to build knowledge systems that actually work.

Read
007SEP 202517 MIN

OTel Sidecars on Fargate

We replaced our Loggly with OpenTelemetry sidecars on ECS Fargate so all our services ended up with one trace. Dual export to SigNoz and S3 for debugging and SOC 2 compliance.

Read
008SEP 20255 MIN

Git Disasters and Process Debt

Scaling from 2 to 6 developers broke our Git workflow. These patterns fixed it.

Read
009SEP 202512 MIN

Is Code Rotting Due To AI?

AI generated code has a 12% survival rate... Are we cooked or is this a new dev methodology?

Read
010AUG 20258 MIN

The Integration Illusion

Stop building bespoke connectors for every platform.

Read
011AUG 202519 MIN

When MCP Fails

Most MCP implementations miss the entire point. By wrapping APIs instead of designing for intent you'll never build automation that actually works.

Read
012AUG 202519 MIN

Context Engineering

We are shifting from prompt engineering - crafting the perfect string - to Context Engineering: treating the information environment around language models as a proper engineering problem. This post is how to do exactly that.

Read
013AUG 20254 MIN

Stop Email Spoofing with DMARC

Anyone can forge emails from your domain. Here's how to fix that with SPF, DKIM, and DMARC.

Read
014JUL 20254 MIN

SOTA Embedding Retrieval: Gemini + pgvector for Production Chat

How we achieved 2x faster vector search with identical recall using Gemini embeddings, task-optimized retrieval, and pgvector's half-precision quantization.

Read
015JUN 202548 MIN

Agentic Design Patterns

Every major LLM loses 39% of its performance in multi-turn conversation, so how do you build agents that are nothing but multi-turn conversation with tools?

Read
016JAN 20256 MIN

Building AI Agents for Automated Podcasts

How I built an automated multi-agent system that transforms AI news into weekly podcasts, newsletters, and social media content using LangGraph, topic modeling, and TTS - all running autonomously on ECS.

Read
017DEC 20247 MIN

Rediscovering Cursor

A structured approach to working with Cursor AI that transforms frustration into productivity through proper workflow and context management.

Read
018AUG 202412 MIN

GraphRAG > Traditional Vector RAG

Traditional Vector based RAG has too many shortcomings. GraphRAG instead uses a Knowledge Graph for richly understanding text datasets, making RAG great again.

Read
019JUL 202426 MIN

Cultural Bias in LLMs

An experiment into cultural biases in LLMs using the Inglehart-Welzel Cultural Map method - revealing unexpected value alignment across both Western and Chinese LLMs

Read
020JUL 202412 MIN

Mapping out the AI Landscape with Topic Modelling

Tackling information overload by using topic modeling techniques to map out the AI landscape, helping us access valuable AI news and trends!

Read
021JUN 202410 MIN

Sustainable Cloud Computing: Carbon-Aware AI

When selecting a cloud compute region for your ML workloads you will often need to account for latency, cost, services and features, compliance, etc. But in this article I explore how you can also consider your carbon footprint as part of your selection criteria.

Read
022JUN 202421 MIN

Defensive Technology for the Next Decade of AI

Exploring defensive technologies to mitigate AI risks and ensure safe and secure advancements in the next decade.

Read
023JUN 202413 MIN

Situational Awareness: The Decade Ahead

As developers, we often just focus on the technical aspects of AI without ever considering the broader geopolitical implications. From Leopold Aschenbrenner's 'Situational Awareness', I summarise his insights on the rapid development of AI and the path to AGI & ASI, as well as the geopolitical and security challenges we face with AI.

Read
024JUN 202422 MIN

Mechanistic Interpretability: A Survey

Exploring how sparse autoencoders unlock interpretable features in language models to enhance AI safety and understanding.

Read
025MAY 20245 MIN

Why I Left Ubuntu

I recently upgraded to Ubuntu 20.04 LTS, but my experience wasn't as smooth as I'd hoped. Here's why I decided to switch back to Windows and my setup process for an optimal development environment.

Read
026APR 20249 MIN

Multi-Agent Collaboration

Exploring how collaborative autonomous agents improve complex problem-solving through behavior simulation, data construction, and enhanced performance.

Read
027MAR 202411 MIN

Building Better Retrieval Systems

Explore how embedding models and vector databases can enhance retrieval systems in AI, with practical tips and insights for optimizing retrieval-augmented generation (RAG) systems.

Read
028FEB 202410 MIN

Building an Automated Newsletter-to-Summary Pipeline with Zapier AI Actions vs AWS SES & Lambda

Create an automated system that transforms newsletters into AI-generated summaries using Zapier and Telegram, then rebuild it with AWS SES & Lambda for a serverless solution.

Read
029JAN 2024Video

Deploy your own ChatGPT with Ray, AWS EKS, and Kubernetes

Deploy your own ChatGPT using Ray for distributed computing, AWS EKS for managed Kubernetes, and the power of scalable infrastructure for AI workloads. End-to-end walkthrough.

Watch
030DEC 20233 MIN

Local AI Image Generation

How to generate stunning AI images locally using Stable Diffusion XL and checkpoints like Juggernaut.

Read
031NOV 20236 MIN

Deploying a Distributed Ray Python Server with Kubernetes, EKS & KubeRay

Complete guide to deploying distributed Python servers using Ray, Kubernetes, and AWS EKS with production-ready configurations.

Read
032OCT 20236 MIN

Making the Switch to Linux for Development

A comprehensive guide to switching from Windows to Linux for development, including setup procedures and essential tools.

Read
033OCT 20234 MIN

Scaling Options Pricing with Ray

Transform sequential Python option pricing code into a distributed application with minimal changes using Ray framework.

Read
034SEP 20233 MIN

The Async Worker Pool

When developing applications that require high-concurrency, efficiency, and robust error-handling, the Async Worker Pool pattern in Python can be a valuable pattern.

Read
035SEP 20234 MIN

Browser Fingerprinting: Introducing My First NPM Package

Browser fingerprinting with a zero-dependency NPM package that offers a swift, synchronous function for browser fingerprint computation without user permissions or cookies.

Read
036JUL 20233 MIN

Reading Data from @socket.io/redis-emitter without Using a Socket.io Client

In this article, we explore the challenge of reading data from @socket.io/redis-emitter without a socket.io client and present a clean and effective solution by decoding using the notepack.io.

Read
037JUL 20234 MIN

Socket.io Middleware for Redux Store Integration

Integrating Socket.io with Redux through middleware for a robust and elegant solution for handling real-time communication in React.

Read
038APR 20235 MIN

Sharing TypeScript Code Between Microservices: A Guide Using Git Submodules

Share TypeScript code between microservices using Git submodules, allowing for modular code management and easy updates.

Read
039FEB 20232 MIN

Efficient Dataset Storage: Beyond CSVs

Binary formats like Pickle and Parquet offer enhanced performance for both reading and compression compared to traditional CSV storage.

Read
040NOV 20229 MIN

Why I switched from Plain React to Next.js 13

Making the switch from React to Next.js? This article explores how Next.js 13 revolutionizes the scene with upgraded development, performance, and user experience functionalities.

Read
041NOV 202218 MIN

Deploy & Scale Socket.io Containers in ECS with Elasticache

Explore the process of deploying and scaling a Socket.io server in Amazon Elastic Container Service (ECS) with Redis using Elasticache

Read
042SEP 20223 MIN

Implementing TOTP Authentication in Python using PyOTP

Build secure two-factor authentication with time-based one-time passwords using PyOTP and integrate with Google Authenticator.

Read
043SEP 20223 MIN

Simplifying Lambda Layer ARNs and Creating Custom Layers in AWS

AWS Lambda deployments using pre-existing Lambda Layers as well as creating custom Lambda Layers from scratch using Flask as an example.

Read
044JUN 20225 MIN

TimeScaleDB Deployment: Docker Containers and EC2 Setup

Complete guide to deploying TimeScaleDB locally with Docker passthrough mounts and on Amazon EC2 for scalable time-series data management.

Read
045DEC 20213 MIN

How to SSH into an EC2 Instance Using PuTTY

A step-by-step guide to securely accessing AWS EC2 instances using PuTTY by converting .pem files to .ppk format.

Read
[ end / 45 ]