This article demonstrates the modern approach to writing web applications in JavaScript, by using modern Web APIs and conforming to web standards, we can finally unify the tech stacks between the backend and the frontend. READ MORE
The full-duplex aspect of HTTP you’ve never heard of
When talking about full-duplex communication on the web, most people will refer to WebSocket, as its sole purpose is to do this. But WebSocket is not the only way of duplex communication, the very fundamental HTTP itself is also a full-duplex protocol. READ MORE
Tarball API in pure JS, no Node.js is needed
The Tarball API is designed to be generic, it’s not a tool to archive files to a .tar file, or to extract files from a .tar file. Instead, a Tarball instance represents a tarball archive itself, we can add new files to it, remove files from it, and preview its entries, very similar to the Archive Manager application in many Linux distros. READ MORE
Manage files in the browser in JS
Modern browsers can do a lot more than we commonly know. Today, I’m going to introduce a topic that is familiar in server-side programming, but lesser-known in frontend development: accessing the file system and managing files and directories. READ MORE
Full-stack Development with Vite and Hono
With Vite, Hono applications benefit from hot module reloading as well, which provides us with a whole new way of developing full-stack applications. READ MORE
Node.js cluster but with worker threads
We can use worker threads to achieve cluster behavior in Node.js and it saves a lot of system resources, which also means we can reduce our server budget and still have the same performance as the traditional cluster model. READ MORE
Parallelism and multithreading made easy in JS
In this article, I’m going to talk about two functions that I’ve been working on recently, jsext.parallel and jsext.run, these functions allow us to run functions in parallel worker threads or child processes, whether in Node.js, Bun, Deno, or browsers. READ MORE
So many bad decisions are made to JS and its ecosystem
If we truly love and understand a language, we should not just embrace the good parts of it, but also know about its bad parts, and try to avoid them as much as we can. READ MORE
Use PM2 to monitor Golang programs
It is always good to have knowledge across different languages, we can use the tools interchangeably if we know of them. READ MORE
Stop publishing ESM-only packages, do this instead
The primary purpose of updating a library is to fix things, not to break things. READ MORE