RSSAmplifier

Blog

Jilles Soeters

A blog about software development, web technologies, and more.

jilles.meRSS feed ↗37 posts

Latest posts

TanStack Start Server Functions: How They Work and When You Still Need REST

Looking for API routes in TanStack Start? You probably want server functions. This article explains how server functions work under the hood, the compiler splitting, SSR vs client RPC, and when a real REST endpoint still makes sense.

Drizzle Migrations on Cloudflare D1: Generate SQL, Apply with Wrangler

Use drizzle-kit to generate SQL migrations and wrangler to apply them on Cloudflare D1. No credentials, no adapter. Just SQL files in version control.

Open Graph Images in Astro: Build-Time vs Runtime

A deep dive into generating Open Graph images in Astro. In this article we are comparing build-time generation with runtime image APIs on Cloudflare Workers.

I Was Thinking in Databases. I Should Have Been Thinking in Networks: A Mental Model Shift for Cloudflare Storage

I spent far too long misunderstanding Cloudflare’s storage products. Not because the APIs are complex, but because I was thinking about them as traditional databases. In this article, I explain how KV, D1, Hyperdrive, Durable Objects, and R2 actually work when you view them as network-level primitives, not just storage layers.

Cloudflare Workers & SvelteKit: BetterAuth, Custom Domain, Google OAuth, OTP & Email - Securing Your Application.

Make your SvelteKit edge application truly production-ready! Learn step-by-step how to configure custom domains, integrate secure authentication via BetterAuth (Google OAuth & OTP), send emails reliably with Mailgun, and deploy Cloudflare Turnstile for enhanced security.

Cloudflare Workers, SvelteKit, Drizzle, and D1: Up and Running.

Build blazing-fast, globally distributed SvelteKit applications for free! Learn step-by-step how to deploy SvelteKit on Cloudflare Workers, connect to a Cloudflare D1 database using Drizzle ORM, and leverage the power of serverless edge computing.

Setting Up Django for Success

In this article, we are setting up a Django project from scratch. This will be a different approach than blindly using any "starter template" or even the famous

How to set up Tailwind 3 in Django with Vite and django-vite

In this article we are going to set up Vite for a Django application and use it to install and use Tailwind. You will be able to use this for any other npm pack

Expanding Your Knowledge With a "Stuff I Didn't Know I Don't Know" List

Recently I saw a reddit post of a software engineer "feeling dumb" because of all the things he saw that he did not know. On this post I replied with a suggest

Setting up Spring JDBC and SQLite with Write-Ahead-Logging mode

When you create a new project using Spring Initializr, there is no straightforward way to set it up with SQLite. This is a shame as SQLite is a really good opti

Database Versioning and Migrations for Everyone using Flyway

The web world has seen an incredible evolution of technologies over the last decade. From pages rendered on the server, to dynamically on the client, to back on

Setting up Django 5.1 using Python 3.12 with pyenv and Poetry

Python dependency management has historically been fairly complex. There are various package managers like pip, pip3, pip-tools, conda and more. You will also n

Is Productivity Hacking the Ultimate Procrastination Tool?

Exploring the paradox of productivity hacks: Are they boosting efficiency or just procrastination in disguise? This post covers how the constant search for new tools can distract from actual work.

Understanding Binary Heaps (MinHeap and MaxHeap) in JavaScript

In this series we’re going to explore some must-know data structures as visually and engaging as possible. This post will hopefully help you to understand binary heaps - more specifically, MinHeap and MaxHeap.

Exploring ForeignKey's on_delete Handlers in Django

Django models’ foreign keys require you to set an on_delete function. This is true for ForeignKey, OneToOne, and OneToMany fields. In this blog post, I will go into detail on what each method does and illustrate when to apply each one.

Innovative Picture-in-Picture Techniques for the Modern Web

We live in a time where we all try and be as productive as possible. We watch videos at twice the speed, we have several (too many?) tabs open and always try an

Creating Dynamic Facebook Comment Previews with Django

In my spare time I tend to check Facebook every now and then. With my family and most of my friends living in a different country than me it is a great way to s

Underutilized Chrome Console APIs: A Guide for Developers

As a JavaScript developer I use the dev console a lot. Whenever I want to know the value of a variable or the return value of a function I use the famous consol

Mastering React, Redux, and React-Redux for Frontend Development

React and Redux are great. Once you get the basics it's really easy to create very cool web apps. This is what I liked about Angular 1.x, you would read a small

Beginner's Guide to Web Development: Key Steps and Best Practices

Websites are awesome. You're probably using them all the time. As a matter of fact, you are using one right now! How cool would it be if you could create your o

Maximizing Efficiency with Webpack: Asynchronous Bundle Loading Techniques

Webpack is great. If bundle splitting and feature flags didn't convince you yet, then hopefully async bundle loading will! What is async bundle loading? As

Enhancing Webpack: Strategies for Bundle Splitting and Implementing Feature Flags

One of the things that makes webpack so great is its built-in plugins and features. Today we will discuss using webpack-dev-server, splitting our bundles and en

Simplifying Webpack: A User-Friendly Guide to Webpack Complexity

Everyone is using webpack today, and rightfully so. It is an amazing module bundler with many plugins that make it really powerful to use for production apps.

Angular 2 Series: Unlocking the Power of Pipes with ng-filter

Filters are a great way to manipulate and filter data in AngularJS, in Angular they got a new name: Pipes. Worry not! They're just as easy to implement and a to

Angular 2 Series: Mastering Two-Way Data Binding with ng-model

One of the things that made me love Angular 1.x was how easy it is to use two-way data binding. Luckily it's also a breeze to use in Angular2! What is two-wa

Angular 2 Series: Interactive Web Pages with ng-click and ng-if

Following up on our series, we're going to dive into ng-click and ng-if next. Creating the project We're going to continue with the project from my previou

Angular 2 Series: Dynamic Lists and Repetition with ng-repeat

After playing around with Angular2, I learned a lot of new cool stuff about the framework. In this series of posts I am going to show you how to do "Angular 1.x

Node.js Version Control: Streamlining with nvm

Working with NodeJS is a lot of fun, managing versions not so much. If you have ever done any serious Node development you have probably ran into some version p

tmux Mastery: Enhancing Developer Productivity

tmux is great, as a web developer I use it all the time. At first I thought "who needs a terminal multiplexer" but after having used tmux for a while now, I can

JavaScript Arrays: Advanced Methods for Modern Developers

If you work with JavaScript, you probably use arrays a lot. In this post I would like to introduce you to a few of my favourite array methods. For all the examp

Top 10 Mac Apps: Must-Haves for Developers

I work in an office as a JavaScript developer and am generally the go-to guy for any Mac / OSX problems people have. Whenever I do some pair programming I hear

Exploring the Speech APIs in Chrome: A Developer's Overview

We live in an exciting time where we can speak to computers and they can speak back to us. This is not just limited to your iPhone or Android, these days it's a

Badassify Your Terminal and Shell: Tips to Enhance Your Command Line Experience with oh-my-zsh

As a developer you probably spend a lot of time using the terminal. Whether you only use it a couple of times a day or day in day out, your terminal should feel

Getting Started with Gulp: A Beginner's Tutorial to Streamlined Development

Being productive is something that us developers value a lot. We try to automate everything so there's little repetitive work left to do. Unfortunately there ar

Express.js Series: Advanced Routing Techniques for Developers

There's a little more to Express routing than simple GET and POST handling. If you've read my Express Routing - The Beginners Guide you'll know about the basic

Express.js Series: A Beginner's Guide to Routing Fundamentals

Getting started with Express is not the easiest thing to do, if you have read my previous post on Express' app.js you will have a basic understanding of a defau

Express.js Series: Deep Dive into the app.js Configuration

If you're like me and you start with something new, you want to know what every little piece does and means. This was the first problem I had with Express comin