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.
Currently a Sr. Developer Educator at Cloudflare. This is my personal blog where I write about what I'm learning.
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 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.
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.
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.
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
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
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
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
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
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
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.
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.
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.
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
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
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
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
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
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
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
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.
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
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
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
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
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 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
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
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
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
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
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
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
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
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