Posts I made

Stories on problems I encountered while writing code/using products and how I solved them.

Self-nested components with svelte

Convert tiptap marks to svelte HTML components with a self-nested component.

Tailwind CLI with Yew and Trunk

Let's see if we can go node-less with Yew.

Serving static CORS JSON with Caddy

For a simple side-project, I needed to serve static JSON, with proper CORS headers.

Switching to Svelte

I have rewritten my middleman site to Svelte/SvelteKit, here's what I encountered.

Remote uploads with pre-signed URLs on Scaleway's object storage

Or, make sure your headers match, otherwise you'll get a lot of strange errors.

Upload a file to an AWS pre-signed S3 url with RestClient

Or, how something so simple cost me so much time.

Publish articles from iA Writer to your static site

My hope with this project is that with less friction to write and publish a note/article, I'll do it more.


Kafka and Ruby, a Sidekiq lovestory

In today's article, we’ll cover performance from a different angle: The choices we made in our stack for AppSignal.

Using MailGun Europe with Rails’s ActionMailer

If you like to use Mailgun's Europe region you need some undocumented settings in the ActionMailer integration to get emails out.

Automatically water your plants with this 3d-printed system

After getting back from a 3-week trip my plants were not in a good mood, there was a heatwave when I was gone and not all plants survived. Time to think of a solution.


Identifying and Resolving a Kafka Issue With AppSignal

In this post, I'll tell you how we used AppSignal to detect and resolve an issue we had last week with our Kafka brokers.

Extending Protobuf with Traits in Rust

Extend default behavior of code with Traits and default implementations. In this case we add new functionality to generated Protobuf code.

Resize images from s3 with AWS Lambda and Rust

My site contains a lot of images and resizing them for different devices (mobile phone, tabled, desktop etc.) takes a lot of time and (upload) bandwidth. This is especially annoying on Hotel Wi-Fi in a far-away country. With the help of AWS Lambda and Rust I made this into a smooth process.

Creating a small Stimulus.js app to handle Markdown Images

Markdown is great, but not so much when you have dozens of images in a file and don't know what is what. This little app helps me sort through the images.


Monitoring MongoDB Replicaset Lag with AppSignal

In this post, I'll explain why we got really excited last week using Custom Metrics and Anomaly Detection to monitor MongoDB in our own (AppSignal) infrastructure.

Blog update: from dynamic app to a static site

Moving (again) from Rails API + React to a static Middleman


Don't be mean: Statistical means and percentiles 101

A post about the statistics we use at AppSignal and how they work.


The innards of a RubyGem

Share code with yourself or others by utilizing the RubyGems ecosystem.


Custom Exceptions in Ruby

Almost everything in Ruby is an object and errors are no exception.

Apollo Query Batching and graphql-ruby

Query batching is a way to speed up your application. Instead of waiting on multiple client-server roundtrips to load data, everything is loaded at once.

Fixing Sony RX100 "Turn camera off then on" message

After cleaning my Sony RX100 Mk1, the "Turn camera off then on" appeared on my screen and I had to replace a certain ribbon cable to fix it.


Track cache hits with custom metrics

Track how well your caching is optimized by using custom metrics.


Monitor MongoDB (query) load with Custom Metrics

Sometimes standard instrumentation isn't enough to track the root cause of a performance issue. Custom metrics help us track the missing pieces.


Upgrading to Mongoid 5 / mongo-ruby-driver

We recently upgraded our database driver from moped/mongoid4 tot mongo-ruby-driver/mongoid5 and these are a few things we encountered along the way.


Consistent API's

How to keep your API, client tests and documentation in sync.


Vastly improve performance for MongoDB, Mongoid and Sidekiq

We've been using the combination of Mongodb, Mongoid (3.x.x) and Sidekiq for a while now and we noticed that lately our queue's were filling up, but we could not pin-point any bottlenecks in our system.


Realtime graphs from MongoDB with aggregations

In AppSignal, we process a ton of data: between 60 to 100 million entries per day. We aggregate this data with only few seconds delay. Let's see how we did this.


Taming our MongoDB database size

Not so long ago we noticed that our MongoDB servers were running out of disk space at an alarming rate. Because we host our database on SSD enabled servers at DigitalOcean, scaling up could cost us a lot of money.


A quick post about reducing MongoDB queries

Recently we noticed that our database was doing a lot of queries while processing our queue. Lets see if we can fix that.

A siri proxy plugin

Siri tells you your upcoming tv shows for the night.

How to control an RC car with an arduino

I thought it would be fun to control an RC car with an arduino.