Articles on Web
Last updated: 2023/01/24
Top deep-dives on Web
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.
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 :)
Alan Dávalos covers the current state of the web, from market share of different browsers and devices, to baseline performance and framework popularity.
Germano Gabbianelli describes some of the issues with web sockets and presents a solution in the form of server-sent events.
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.
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.
Nick Scialli compares solid.js and React, highlighting the positive aspects of the former web framework.
Casey Muratori ponders on why we can't use UDP instead of TCP in the browser.
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.
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.
An old piece, but still very relevant. Bennett Cyphers and Gennie Gebhart thoroughly outline in detail how companies track you across the web.
Jérôme Beau talks about the disadvantages of using a framework for web dev and why going vanilla might not be so bad.
Austin Gil explains the different methods for computation that are available in modern web development.
Kevin King walks through rewriting a personal website using Next.js, React, tsx, and mdx, to a full-stack Rust alternative.
- 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
Rohan Kumar does a wide-dive on search engines and divulges his findings.
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.
- "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
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.
- 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
Rohan Kumar explains how an update to the extension API in Chrome will affect content filtering (ad blockers).
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.
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
Dave Rupert explores some of the issues with two different approaches to analytics on the web and how one should approach interpreting the results.
Brian Kardell illuminates some of the history of the user agent string and how it impacts modern data privacy on the web.
Christophe Tafani-Dereeper illuminates how Cloudflare Workers can be used for malicious purposes.
Amos dives very deeply into setting up a custom web server in Rust using the async runtime.
William dissects a script that is responsible for browser fingerprinting.
- 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
Nolan Lawson gets into the "nitty-gritty details of accessibility and web standards".
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.