Articles on Web

Last updated: 2023/01/24

Top deep-dives on Web

What I wish I had known about single page applications

Not normally a fan of articles with titles that start off "What I wish I had known about...", but in this one, Michael Pratt actually does a good job. Michael talks about the anatomy of a SPA, SEO, sharing, and caching.

Why I Built My Own Shitty Static Site Generator

There isn't always a good reason for doing something. Sometimes, you do it just because you feel like it. That can lead to great, or terrible results, but either way you use usually learn something useful. In this article, Erik Winter discusses why he chose to very much reinvent the wheel from a web development perspective. Erik covers the limitations of available static site generators and the impact choosing an existing tool has on your creativity and design choices. It's a casual article, but I connected with it because I like to build things from scratch, sometimes even when it's not justifiable with anything other than I wanna know how it works :)

The baseline for web development in 2022

Alan Dávalos covers the current state of the web, from market share of different browsers and devices, to baseline performance and framework popularity.

Server-Sent Events: the alternative to WebSockets you should be using

Germano Gabbianelli describes some of the issues with web sockets and presents a solution in the form of server-sent events.

Progressive Rendering for Better Web App Performance

When creating websites or webapps, you conventionally had two major options for rendering; you could either do it client-side, or server-side. Well in this article, Nethmi Wijesinghe presents a third option (to be fair, it's more of an alternative of the second option), which involes progressively loading server-side rendered content. Faster rendering = more conversions, or just less frustration.

How to build a Low-Tech website: Software & Hardware

Is it from a while ago? Yup. Is it kind of a marketing stunt? Sure. Is it still cool? Yes. It's pretty much the epitome of a self-hosted website. In this concise article, Roel Roscam Abbing describes the different infrastructure that went into making a website that is completely powered by solar energy, including software, hardware, and energy saving tricks.

Solid.js feels like what I always wanted React to be

Nick Scialli compares solid.js and React, highlighting the positive aspects of the former web framework.

No really, why can't we have raw UDP in JavaScript?

Casey Muratori ponders on why we can't use UDP instead of TCP in the browser.

What’s the best lossless image format? Comparing PNG, WebP, AVIF, and JPEG XL

Johannes Siipola compares file size and encoding time for different lossless image formats. Although the article is a year old, the formats are still relevant.

Four Eras of JavaScript Frameworks

Chris Garrett takes us on a trip through time for web development, starting with the preframework period, where young JQueriesasauruses crawled the early web, to the modern day proliferation of full-stack frameworks like Reactor and Vueadactyle.

Behind the One-Way Mirror: A Deep Dive Into the Technology of Corporate Surveillance

An old piece, but still very relevant. Bennett Cyphers and Gennie Gebhart thoroughly outline in detail how companies track you across the web.

Design: #noFramework

Jérôme Beau talks about the disadvantages of using a framework for web dev and why going vanilla might not be so bad.

What is Edge Compute? It’s kind of like knitting dog hats

Austin Gil explains the different methods for computation that are available in modern web development.

Rewriting The Modern Web In Rust

Kevin King walks through rewriting a personal website using Next.js, React, tsx, and mdx, to a full-stack Rust alternative.
Some highlights:

  • Yew and Axum to build a single-page application with server-side rendering, Hooks, Markdown, and code syntax highlighting
  • Tailwind can be used in Rust files
  • Overall the Rust full-stack ecosystem has come a long way, but it's still not close to being ideal

A look at search engines with their own indexes

Rohan Kumar does a wide-dive on search engines and divulges his findings.

For your next side project, make a browser extension

The last issue's business/tech article was pretty popular, so I thought I'd include this one too. Geoffrey Litt talks about why it's worth trying to make a browser extension and how to make a business around it.
Some highlights:

  • "making an extension is a fun and efficient way to create useful software"
  • Covers how to perfect the extension to make it seem "native" to the platform
  • Building an app for a specific platform comes with risks, including platform risks like if the website implements your extension's functionality as a feature

How to leverage HTTP conditional requests to build robust REST APIs

Ilija Eftimov discusses how organizations can use HTTP conditional requests to improve the performance and robustness of their APIs. Ilija provides a brief overview of the basics of conditional requests and then goes into detail about how eight different organizations use conditional requests for their HTTP APIs, as well as the advantages and tradeoffs of each approach.
Some highlights:

  • Conditional requests are a mechanism native to HTTP with headers that define a precondition the server evaluates before taking action
  • Conditional requests have two prominent roles: they can serve as a way to tell the client to use a cached response and to prevent race conditions while mutating data via an API
  • REST API requests are nothing more than HTTP requests with additional semantics

A layered approach to content blocking

Rohan Kumar explains how an update to the extension API in Chrome will affect content filtering (ad blockers).

The struggle of using native emoji on the web

Nolan Lawson illuminates emoji support in browsers, how to detect if they're broken for someone, how to replace them if they are, and what an emoji actually is.

The GPU Banana Stand

GPU programming is notorious for not being very practical. This is even more-so the case when you're trying to use it on the web. In this article, Steven Wittens presents some of the functionality and features of his "declarative/reactive WebGPU library", Use.GPU.
Some key takeaways are:

  • The React derived runtime, Live, is completely self-hosted and is fully rewindable and memoized
  • Compute shaders are fully supported
  • All of the elements are just components
  • WebGPU has made things that were impractical with WebGL practical
  • By sacrificing some performance, the implementation and use of the library has become far simpler
  • The library has quality-of-life components out of the box, but you can still "crack them open and use the raw parts if they're not right for you"
  • Copying how popular software in one domain (this case React) works to another domain can lead to intuitive and easily adopted interfaces

Server-side vs Client-side Analytics

Dave Rupert explores some of the issues with two different approaches to analytics on the web and how one should approach interpreting the results.

UA gotta be kidding

Brian Kardell illuminates some of the history of the user agent string and how it impacts modern data privacy on the web.

MitM at the Edge: Abusing Cloudflare Workers

Christophe Tafani-Dereeper illuminates how Cloudflare Workers can be used for malicious purposes.

Request coalescing in async Rust

Amos dives very deeply into setting up a custom web server in Rust using the async runtime.

Devirtualizing Nike.com's Bot Protection (Part 1)

William dissects a script that is responsible for browser fingerprinting.
Some highlights:

  • Browser fingerprinting is the process of "collecting data about a user's browser, which is then used to create a unique fingerprint for differentiating between genuine users and bots"
  • VMs are used to further obfuscate these scripts
  • It's all done in the browser

Dialogs and shadow DOM: can we make it accessible?

Nolan Lawson gets into the "nitty-gritty details of accessibility and web standards".

Performant A/B Testing with Cloudflare Workers

Cloudflare workers are pretty neat; I used them to get OAuth sign up for the newsletter on my site. Philip Walton's article demonstrates how one can use them to do A/B testing with your website, without sacrificing performance.

React prerendering experiments in Clojure(script) land

Server-side rendering is when you render the HTML/CSS/JavaScript you need for your website on your server, on request. It’s great for SEO and minimizing work done client-side. In this experimental article, Arthur Barroso presents a couple of different methods for achieving server-side rendering using Clojurescript.


Want to see more in-depth content?

subscribe to my newsletter!

Other Articles