abcdef
ghijkl
mnopqr
stuvwx
yz0123
456789
flrx39 - when abcdef just won't do!

Recent Blog Posts

Tea Key-Value Store Write Ahead Log

I my previous post I introduced the Tea Key-Value Store. The store is designed for easy-to-use integration in existing processes without making any assumptions about the hosting process’ needs. In some cases, that is surely enough and gives developers just what they need to store semi-structured data with lookups through point queries.

However, one think I’ve wanted to implement for a while too was a write-ahead log (WAL) that can be use for recovery scenarios. The idea for a WAL is conceivably simple: before data is actually committed to persistent storage, a record describing that data is written to the WAL. The WAL itself is typically a pre-allocated file of some size that only ever gets appended to or deleted, but never overwritten. How much space needs to be pre-allocated depends on the usage as well as other factors like frequency of flushing data to disk or the size of typical records themselves. With the Tea Key-Value Store of course you can configure the size of the pre-allocated WAL should you select to use the WAL in the first place.

read more

Tea Key-Value Store

I keep a little black book with ideas for businesses or projects and sometimes also technology I want to learn more about. One of those things I wanted to learn more about was the inner workings of a key-value store. I wanted to know how to allow for virtually infinite growth of such a store without sacrificing read or write speeds or how to best organize the data on a disk.

read more

Photo Search Improved

A while ago I discussed the Photo Search tool that I’ve created and that I use to index all my photos. One thing that had bothered me from the beginning was the need to use Python to load and use the models. I’m sure that there are some cases where using Python is not the worst choice, but those use cases typically involve rapid prototyping and not so much production-like scenarios where things like efficiency and resource consumption matter more.

read more

Azure Blob Commands

I run a few of my workloads on VMs in Azure. Some of them deal with data and content that changes over time, and accordingly I like to have the data backed up periodically. Microsoft provides the AzCopy tool for uploading files to Azure blob storage alright, and it works very well with managed identities assigned to VMs (and other services in Azure).

But some of the same properties that apply to data also apply to the backups of that data: their value diminishes over time, so keeping backups for an extended amount of time is pointless. Accordingly, I always want to delete old backups after some time.

read more

Photo Search

With the advent of publicly available LLMs and embedding models, I figured I’d kill two birds with one stone: I’d learn a bit about using such models, and I’d build a tool that lets me use a semantic search on my photos.

I keep those photos on a NAS in my home network, and frequently back them up using bart - my back-up and restore tool. So all I really need is a web site for showing the photos and letting me search them. That’s why I built photo search, a tool that uses publicly available multi-lingual models that work both on text and images to index and query photos based on the contents.

read more

Tags

ai azure backup cloud code dotnet golang hash hugo json k8s powershell productivity rasberry pi security storage teakv tools typescript

Tools

clock hash tool ipv4 tool ipv6 tool pretty print json