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

Recent Blog Posts

Secure containerized SPA hosting with spartan

Every now and then I have to build some browser based application for which I often end up using an SPA (single page application) approach. For instance, combining Vite with React and React Router in my opinion is a fast approach to get something ready quick. Adding MUI on top for a nice-looking experience can help too.

Then comes the time when this needs to be hosted somewhere, such that browsers can download the static assets linked from the index.html at the root to make the application availble for others to use. Using your everyday hosting provider can be simple and straightforward, and very often a good enough choice. Those providers usually have some offerings for static web hosting (which an SPA basically is), which they build in their infrastructure through virtual hosts through Apache HTTP Server or nginx or something like that. Those servers do the trick, and they can be configured through - sometimes very complicated - configuration settings. Sometimes I use this sort of thing too. So far so good.

read more

Azure Key Vault Emulator Improved

In my previous post about local development using the Azure Key Vault Emulator I briefly mentioned my own fork of the emulator to address some missing APIs. One thing I had planned to change in the emulator for a while was how the REST API endpoints exposed by the emulator are created. The old approach (from which I forked) manually crafted the REST APIs including the models needed. That’s been a thorn in my flesh from the first moment I saw it, and I knew that I wanted to fix that. After all, Microsoft has official Open API specs for the Azure Key Vault REST APIs, so why not use those?

read more

Local Development with Azure Key Vault Emulator

One problem you’ll sometimes encounter when working with cloud services from AWS, Azure or Google cloud is that developing locally can be made more difficult when working with services that do not have a standardized interface with an implementation readily available for local installation. For instance, when working with a pub/sub system that is compatible with Kafka you can just install a minimal Kafka cluster locally and all is good. But what to do when the APIs offered by the service you need are not standardized? That’s when emulators come in. In the rest of this post I’m going to focus on Azure, since that’s what I’m working with most often.

read more

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

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