RFC: Squeal Specification (Draft)

Introduction Squeal is a library designed to allow querying raw SQL directly from the front-end without compromising security. This document intends to formalize the design for the Squeal library and eventually become a complete specification. Writing a Squeal Queries Hello World The most basic Squeal Query is simply SQL. Let’s start with the most basic possible Query: SELECT 1; To use this in Squeal, you must place it into a basic.
Read more →

The State of Copy-Pasting in JavaScript

The State of Copy-Pasting in JavaScript
I recently did some work on a VS Code extension whose purpose is to handle rich pastes. It prompted me to survey different copy-pasting libraries and the state of the NPM ecosystem as a whole. How do clipboards work? Clipboards across different operating systems work essentially the same. For this reason, we will stick to looking at a single one – Windows. A common misconception about how clipboards work is that they contain a single piece of data, such as text or an image.
Read more →

PageSpeed for NGINX – Fresh Debian Packages

PageSpeed for NGINX -- Fresh Debian Packages
In 2012, Google released version 1.0 of their PageSpeed modules for NGINX and Apache. It has gone largely unnoticed since then. The short of PageSpeed is that if you add it to your web server, you can configure it to optimize anything passing through it using techniques such as minification, format conversion, and even injecting scripts to lazy-load images. You can read more about what it does on the official site.
Read more →

Adding WSL Support to a VS Code Extension

Adding WSL Support to a VS Code Extension
I have a few dozen projects on GitHub. I put a lot of effort into my README.md files, making them complete with descriptions, instructions, and screenshots – the last one being the most time-consuming to manage. Rich Editors are Easy I don’t mean easy for the developers (I never tried, but it sounds daunting), but for the users. All the data inside a rich file format such as .docx is embedded inside of itself.
Read more →