Posts
Overlapping text chunker for RAG pipelines
An overlapping text chunker in Go using the stdlib iter package, without cutting words in half.
An encrypted vault in Go
Combining terminal password input, encryption at rest, and a SQLite snapshot into a vault that lives in RAM and exists on disk only as an encrypted blob.
SQLite in RAM: serialize and deserialize in Go
Running SQLite entirely in memory and taking a snapshot of the database bytes with serialize/deserialize, using the modernc.org/sqlite driver.
Encryption at rest with Go's stdlib
Encrypting data at rest with nothing but Go's standard library: PBKDF2 to derive the key from the password and AES-256-GCM to encrypt and authenticate.
Capturing Passwords in the Terminal with Go
Reading passwords in the terminal in Go without echo and with confirmation on first use, using golang.org/x/term.
Neko, a cat chasing the mouse with Go and Ebitengine
A Go reimplementation of the classic Neko: transparent window, original sprites, sound, and a cat that chases the cursor across the screen.
Triggers in SQLite
SQLite triggers to automate actions like updating timestamps
Recursive Go function to access values in nested maps
Recursive Go function to access values in nested maps
Starting services with /etc/rc.local like in the 80s
The classic /etc/rc.local still works even after 40 years of obsolescence.
sftpdav: Remote Access via SSH with WebDAV
How to configure and run an SFTP/WebDAV server using Go (sftpdav). Check out practical examples, security tips, and how to leverage standard libraries for building robust and …
Protecting Credentials and Configurations with an Encrypted Container.
Create and manage an encrypted container to securely protect passwords, keys, and other sensitive data in a practical way without sacrificing performance
LQS: A Practical Tool for Testing and Debugging SQL
LQS: a practical tool for testing and debugging SQL. It allows integrating metadata, Lua scripts, and auxiliary queries to optimize your workflow and detect errors early.
Sorting and Removing Duplicate Lines with Neovim
Lua functions for sorting and removing duplicate lines in Neovim.
Bookmarks in Neovim
How to create a bookmark system in Neovim
GoScope: Exploring and Navigating Go Projects
GoScope, command-line tools to explore Go projects and efficiently locate functions, variables, and types. Learn how to use them to navigate code interactively and boost your …
Running Remote Commands Interactively with SSH
How to run commands on remote servers without starting full sessions, keeping interactive features and simplifying automation with SSH.
Traceback in Go: How to Explore the Call Stack
How to get stack traces in Go with runtime.Caller and runtime.CallersFrames. Trace errors, customize logs, and improve your code's debugging.
Data Transmission Using Sound: An Experiment with a 'Cup Telephone'
Transmitting data with sound, two plastic cups, and a string, combining creativity, nostalgia, and technology.
Static Compilation of the Lua Interpreter: Consistency and Portability
How to statically compile the Lua interpreter to avoid problems with dynamic library dependencies.
Finding Program Paths on the System with exec.LookPath in Go
How to use Go's exec.LookPath function to check whether programs are installed on the system and get their full paths.
Optimizing Message Integrity Checks with FNV-1a in Go
How to use the FNV-1a algorithm with hash pools in Go, reducing garbage collector pressure without compromising performance.
mTLS: Implementing Mutual Authentication Between Client and Server in Go
Mutual authentication with mTLS in Go, step by step. This guide covers certificate creation, server and client configuration, and security best practices to protect your …
HMAC (Hash-based Message Authentication Code) in Golang
Secure API authentication using HMAC (Hash-based Message Authentication Code) in Golang.
Safe JSON Validation and Integration in Go APIs with json.RawMessage
How to safely validate and integrate JSON in Go APIs using json.RawMessage. And how to log invalid JSON errors while keeping the system's normal flow running.
Fork Bomb: From Code to Defense
What a fork bomb is, how it works with examples in bash, C, and assembly, and the best practices to prevent this kind of DoS attack on modern systems.
Manipulating Special Permission Bits
How to configure special permissions with setuid and setgid to run programs with superuser privileges
Dropping Privileges in Go Programs to Improve Security
How to improve the security of Go programs by dropping execution privileges. Learn how to check and change users and groups on UNIX-like systems, with practical code examples and …
References in Comments with Golang
References in Go code comments to make navigation easier.
Plasma Effect in the Terminal with Golang
How to create a plasma effect in the terminal with Golang, an example from the Go study group
Happy 2025, Fireworks in the Terminal with Golang
How to create a fireworks animation in the terminal using Go.
Rewriting the Old TSR Using Bash
An MS-DOS TSR (Terminate and Stay Resident) example written in C, rewritten in Bash for UNIX-like systems.
Deploying an API Behind a Reverse Proxy with Caddyserver and Go
How to deploy an API written in Go behind a reverse proxy with the Caddy HTTP server.
Benchmark: Named vs Explicit Returns in Go
Performance comparison between named and explicit returns in Go. Learn how to measure speed with benchmarks and interpret the results.
Writing About Computer Programming
Writing about programming in a clear and engaging way.
Customizing Neovim: Sorting and Removing Duplicate Lines with Lua
Lua functions for sorting lines and removing duplicates. Improve how your code is organized and make your programming workflow more efficient.
Building a Bookmark System in Neovim with Lua
Learn how to build a bookmark system in Neovim using Lua to speed up your workflow. This article shows how to customize the editor to mark and quickly jump back to important spots …
Assembly, assembler, and machine language
Explaining the difference between assembly, assembler, and machine language