ARM vs AMD Screenshots
Screenshot tests passed locally but failed on CI - and it's not what you think!
Web development, frameworks, performance, and engineering best practices.

Screenshot tests passed locally but failed on CI - and it's not what you think!

Tracing a regression and cutting tests from ~22s to under 2s.

Control which related rows to fetch and shrink your payloads.

Announcing the new TablesDB UI and a supporting API.

Import documents into your Appwrite collections, now using a CSV file.

An easy, configurable client-side redirection plugin for Vitepress.

A small browser extension to batch archive or delete ChatGPT chats.

File Tokens make sharing files from Appwrite simple, secure, and hassle-free.

Microsoft just supercharged TypeScript compilation with Golang steroids!

Identify hydration mismatches in Vue/VitePress in the production build!

Everyone has an opinion on this drama — here's mine!

Why tf :active state still needs an ancient hack to work properly on iOS Safari?

My deep-dive into how async await works in JavaScript.

My experience implementing pagination on Appwrite's blog page.

Frustrated by Chrome's new shortcut layout? I built an extension to fix it.

Function timeouts with Node:20+ on Appwrite - here's how I fixed it.

Expanding Appwrite Functions with React views, web compression & more.

From WordPress to VitePress: Journey to a minimalist, high-performance site.

Simplify routing in Appwrite Functions with Express.js like framework.

Custom open-source newsletter handling for Ghost, no Mailgun required.

Part 2: Node.js on Hostinger's Cloud plan without root access — here's how.

Part 1: Node.js on Hostinger's Cloud plan without root access — here's how.

Getting BunnyCDN to work with Hostinger despite connection issues.

Why I switched from BlueHost India to GoDaddy after a poor experience.