Repo: https://github.com/hugozap/mcp-inspector If you've built or debugged an MCP (Model Context Protocol) server, you know the usual routine: reading raw JSON from logs or sprinkling print statements to see what's actually being sent back and forth. mcp-inspector is a small terminal tool I built to fix that. It sits between an MCP client and server as a proxy, captures every message, and lets you…
Download here: (MacOS) https://github.com/hugozap/diagram-codes-desktop-app/releases/download/v1.0.40/Diagram.codes.Studio-1.0.40-macos.zip (Windows) https://github.com/hugozap/diagram-codes-desktop-app/releases/download/v1.0.40/Diagram.codes.Studio-1.0.40-arm64-win.zip Link to documentation: https://hugozap.github.io/diagram-codes-desktop-app/#/ Some time ago I created a software for creating…
For a fun side project I'm using NATS, specifically JetStream, its key value storage engine. I wanted to handle sessions using NATS with the gorilla Golang package, but didn't find a provider. Turns out building one for it was not hard thanks to the easy to implement gorilla interface for session management. Usage: import "github.com/hugozap/natsstore" store , err := natsstore . NewStore ( js ,…
Introduction # Running Rust code in AWS lambda has many benefits, I personally enjoy working with Rust, the strict compiler and the cargo ecosystem. Having a quick way to create serverless functions with Rust seems like a great idea. We'll go through the steps necessary to create a lambda using cloudformation syntax, the AWS CLI and preparing our Rust code to be deployed. Required tools # rustup:…
(As part of my WebAssembly explorations I'll be sharing some of my learnings as a mix of notes/tutorial/high level overview. I won't detail every step, but I'll try to explain the concepts and the decisions at least at a high level.) In this post I'll show you how to get started with WebAssembly in the browser using the Rust programming language to create the WebAssembly module. With WebAssembly,…
Yesterday I spent some time experimenting with linear constraint solvers using Rust and WebAssembly. ( Demo repository ) What is a constraint solver? The basic idea is that you specify a problem in terms of restrictions. This restrictions should be expressed as linear expressions. UI Layouts are a good fit for linear constraint systems, because you can express the relations among elements in terms…
For years, I've experimented with different techniques and tools to help me improve my thinking process. Daily journaling is one of those tools, I initially wrote on a paper notebook but I didn't have the discipline to keep one notebook only for that purpose (always ended up using it for planning work-related stuff). By creating the habit of daily journaling, I can clear my mind (the best time to…
It's no secret that finishing a side project is hard. I've struggled with some side projects and had success with others. In this post, I'll focus on the actions and adjustments that have worked for me. It's possible to work on and finish side projects even with a busy schedule, the key is to optimize for interruptability. You will be interrupted so instead of counting on having hours of deep work…