niels segers

Smart image handling in Inskribe from upload to commit

Inskribe is a simple documentation tool that lets you write Markdown directly in your GitHub repositories. No complex setup, no configuration - just authenticate and start writing. While building it, one of the interesting challenges I faced was handling image uploads efficiently.

Nov 21, 2024

Navigating the wild west of commit conventions

In the vast landscape of software development, commit messages serve as the breadcrumbs that guide us through the history of our code. They're crucial for understanding changes, tracking progress, and maintaining a clean, comprehensible project history. However, in this open world of development, we face a challenge: the multitude of commit conventions.

Oct 24, 2024

Publishing custom shadcn/ui components

With the August 2024 update of the shadcn/ui CLI tool, developers can now add support for custom components. This opens up exciting possibilities for creating and sharing your own component libraries. In this post, we'll walk through the process of setting up your own shadcn/ui registry.

Sep 6, 2024

TypeScript monorepo bundling for dummies

It might just be me, but I always felt like frontend development was always a step ahead when it came to monorepos and bundling dependencies together. Frameworks like Next.js are like magic, they just work. Backend development has always been trying to catch up.

Nov 14, 2023

Distributing Rust binaries through NPM

A few months ago, I made the decision to rewrite supdock once again, this time using Rust. However, I needed to find a solution that wouldn't force users to change how they installed the package if they were accustomed to using npm for updates.

Sep 21, 2023

Alternative ChatGPT UI

Ever since ChatGPT released I have been trying to incorporate it in my daily work routine to the best of my capabilities. While gpt-3.5-turbo is a terrific model, it often lacks complex coding insight which the gpt-4 model does have.

Aug 24, 2023

Combining Supervisor and nginx-proxy (docker) to remotely monitor Glances

I wrote a post a while back about nginx-proxy and how I was using it to resolve local DNS records. Today I decided I wanted to be able to monitor my server remotely using glances running over Supervisor and utilizing glances' internal webserver. Since this wasn't running in a container I needed a somewhat creative way to add it.

Feb 12, 2021

Ubuntu and snap installed Docker on reboot

I have been experiencing an odd docker issue lately that I've been tearing hair out trying to troubleshoot. For some odd reason every time I restarted my server the containers would be running, but not running at the same time. Wait this might sound weird, I promise it makes sense.

Oct 20, 2020

Bcache - DIY Hybrid Disks

Most Linux users that employ Solid State Drives (SSDs) build their systems with the smaller SSDs holding the operating system and the larger, slower, much cheaper HDD drives holding their data. When you’re trying to create the fastest system possible, though, you want to get that data drive up to the speeds of your far-faster SSD. Problem is, very large SSDs can be cost-prohibitive. So, what can you do? With the help of bcache, you can use a smaller SSD as a caching drive for the larger, slower HDD. With this set up, you have the best of both worlds.

Sep 30, 2020

Reverse proxy for local dns resolving

I have a bunch of services running in my home network. The more services I add, the more trouble I have remembering the ports for everything. Running a reverse proxy was something that has been on my planning for a while now but never found the urge to implement it. Thinking it would take way too long to set up. That was until last week when I learned about jwilder/nginx-proxy...

Aug 16, 2020

Mimicking Pi-hole's ad blocking

I have been running Pi-hole in my home network for quite a while now but often had issues combining it with other services running in the network. So I decided to run an incredibly basic version of it myself. Under the hood the basics of Pi-hole are a dnsmasq server which caches all of your dns records and a bunch of dnsmasq address= configurations that resolve to nothing.

Aug 15, 2020

Backblaze B2 and S3 compatible API

Backblaze started as an affordable cloud backup service, but over the last few years, the company has also taken its storage expertise and launched the developer-centric B2 Cloud Storage service, which promises to be significantly cheaper than similar offerings from the large cloud vendors. Pricing for B2 starts at $0.005 per GB/month. AWS S3 starts at $0.023 per GB/month.

May 4, 2020

Backing up using Backblaze B2 and Restic

Backblaze is a pioneer in robust, scalable low cost cloud backup and storage services. Their B2 service is similar to Amazon's S3 where you have a bucket where you just throw stuff into and pay for the bandwidth and storage used.

Mar 29, 2020

Converting videos to GIF's

During development I find myself capturing videos of bugs and issues on a regular basis. Sharing .mov files around is okayish when it's within an environment like Slack but obviously this doesn't work when commenting on Github issues or somewhere else. So I figured I needed an easy and reusable way of converting these videos to gifs with ease.

Nov 28, 2019

How to fix the Docker and UFW security flaw

If you use Docker on Linux, chances are your system firewall might be relegated to Uncomplicated Firewall (UFW). If that's the case, you may not know this, but the combination of Docker and UFW poses a bit of a security issue. Why? Because Docker actually bypasses UFW and directly alters iptables, such that a container can bind to a port. This means all those UFW rules you have set won't apply to Docker containers.

May 14, 2019