RSSAmplifier

Blog

CodeMade Blog

Free software & tech musings

codemade.netRSS feed ↗19 posts

Latest posts

Vibelets: tiny, useful and private web apps

I've added a new section to the homepage - Vibelets! These are tiny applications that I had an LLM (Usually Claude) build for very specific tasks. The main idea is that they are small, single-task web apps that run entirely in the browser, and that I can trust to not send my data anywhere. The classic example is the JSON to YML converter. I don't want to send sensitive json configuration out to…

Email-webhook gets two security upgrades

Email-webhook lets you receive emails straight into your own application via a webhook. I've been chipping away at two security things lately, and they landed around the same time, so here they both are: mail delivered to your address is now encrypted in transit , and you can now sign outgoing webhook requests so your endpoint can check they really came from email-webhook. Encrypted inbound mail…

New in email-webhook: new design, logs and a status page!

Email-webhook the service I built to let you receive emails in your own applications, has been running smoothly for a while now. But, as with any service, there are always things that can be improved. The first thing you'll notice if you load the website is that it has a new design! I wanted to make it look more modern and clean, and I think I've achieved that: But a fresh coat of paint is only…

It's getting hard to justify app stores

Google's announcement of the new developer verification process for android developers and especially the incredibly cumbersome " advanced flow " required to sideload unverified apps left a bad taste in my mouth. Here's why. App stores are yucky When was the last time you thought you'd like to open the app store and see what's new? Me neither! The only reason to do so is because you already know…

Rumors of the death of SaaS have been greatly exaggerated

There's a meme going around in tech and finance circles that goes something like this: Woah I just got Claude Code to build me a custom (insert niche use case here) that works exactly the way I want it! I won't need to pay for (insert SaaS product here)'s monthly fees ever again! The end of SaaS is near! Here's why I think this is an extrapolation that makes no sense, especially when thinking of…

Building for an audience of one: starting and finishing side projects with AI

⚡️ FastTab solves a very specific problem: the "Gallery" view of the built-in task switcher in the Plasma desktop environment is slightly too slow for my liking on X11. Sometimes it will take up to a second to open, which is way too long for a feature that I use constantly. FastTab is a custom task switcher that is built in Zig, uses OpenGL for rendering, and is designed to run as a daemon so that…

How to use Deno's own SQLite module on Alpine Linux

Deno's built-in SQLite module is a fantastic way to integrate a lightweight database into your Deno applications. However, to work its magic, it relies on a native SQLite library that needs to be present in your environment. If you're running one of Ubuntu, MacOS, or Windows, you're in luck: Deno has you covered with precompiled binaries for these platforms . But if you're using Alpine Linux,…

Announcing email-webhook

📨 TLDR: I'm excited to announce the launch of email-webhook , a service that transforms emails into API calls. Use it to write email automations, process incoming emails, and build email-based workflows. What is email-webhook? As the name suggests, email-webhook is a service for developers that transforms emails into REST requests to your API. It makes integrating an email based workflow into…

How I deploy my web apps in 2025

The beauty of simplicity has become my north star for hosting web applications. Despite working with complex cloud architectures professionally, I've chosen a straightforward Docker stack for my personal projects. As a solo maintainer, I need something manageable without breaking the bank. Docker hits that sweet spot between complexity and simplicity, providing enough structure without the…

Running parameterized tests in Deno

When writing tests, it's common to want to run the same test with different inputs. This is called parameterized testing, and it's a great way to ensure that your code behaves correctly under different conditions. This is usually done by writing a single test function that takes parameters, and then calling that function with different inputs. Here is an example in C# using NUnit: [ TestCase ( 1 ,…

A journey through Server Side Rendering in Deno

As a longtime .net developer, I've always preferred languages with strong typing. I find that I can reason about the code much better if I understand what data structures are required by a function call, and what it will return. Naturally, this means that when doing any frontend work, I tend to reach for TypeScript. I find it's a welcome improvement over vanilla JavaScript, especially when using…

Running Docker in Windows without virtualization

Docker is an essential tool for developers. It allows you to run applications in isolated containers, making it easy to manage dependencies and run the same code in different environments. However, on Windows Docker requires virtualization support, which may not always be enabled or available. Even when using WSL2 as an alternative to Hyper-V, your machine must still support and enable Hyper-V.…

Announcing CodeMade Games!

🕹️ TLDR I'm excited to announce the launch of CodeMade Games , a new website dedicated to fun, casual games that you can play in your browser 🎉 My game development journey Since I started playing videogames in my childhood, I've always been fascinated by the idea of creating my own games. Building games takes a lot of time and effort, but it's also incredibly rewarding. I had somewhat of a…

Modern CSS is awesome!

The last time I seriously worked with CSS was back when Firefox was still a relevant browser (😢), and Internet Explorer 11 was just on its way out. Flexbox had just become a popular way to create layouts, and CSS Grid was new and exciting, but not yet widely supported. Not that I could use either, since IE's implementation of flexbox was so riddled with bugs that it was practically unusable. But…

The case of the unhappy CloudFront distribution

For fun, and as a learning experience, I'm building a very simple comment system for this blog. Currently codemade.net is a simple static website built by Jekyll everytime I push to the main branch on its GitHub repo . This is a relatively common setup for smaller websites, and it has the benefit of being extremely fast and cheap to host. There are a number of third party comment systems floating…

The case of the mysteriously disappearing window

One small annoyance I contend with everyday is links opening in the "wrong" browser. See, I use different browsers for different purposes. Chrome is the browser I use for all my work stuff, partially because I prefer its Dev tools and also because most SaaS apps I use for work tend to work better with it. Firefox however is my preferred browser and has the advantage of not being built by an…

How to draw a conic gradient with System.Drawing in gdiPlus

Recently, I have been working on adding support for conic gradient (or conical gradients, as some say) to Clock . Now, Clock uses GdiPlus, or the System.Drawing namespace in C# to do all of its drawing. My aim was to replicate the conic-gradient() CSS function . Imagine my surprise when searching online for "gdiplus conic gradient" yielded few and very old results. Ok, maybe you're not very…

Fix Windows restarting after sleep or hybernate: the complete 2020 guide

So your computer starts on its own after you put it to sleep or even after you turn it off. Maybe it does so immediately or maybe it waits for a few minutes or hours. But you feel like you can't trust it anymore: there's few things more unsettling than being woken up by the bright light of your screen in the middle of the night. Well here is my comprehensive list of things to check (and to turn…

How to combine Docker and VSCode to reach development nirvana

One of the best features in VS Code, and my personal favourite is called Remote Containers . What it does is open the folder you're working on inside a container and then connect to it, so that you can, for example, run your jekyll site on windows without having to install ruby system-wide. Because all the development is done inside the container, you don't have to worry about having multiple…