New
The latest blog posts to take off on Hacker News. 4,614 posts.
“Magic links” can end up in Bing search results, rendering them useless
I recently started verifying user email addresses during signup to prevent bots, mistyped emails, and also to ensure that addresses are…
How Websites Die
I recently started compiling a list of defunct blogging platforms . It’s been interesting to see how websites die — from domain parking pages to timeouts to blank pages to outdated TLS cipher errors, there are a multitude of different ways.
WebAssembly and C++
C/C++-specific WebAssembly notes.
Speeding up this site by 50x (2014)
I've seen all these studies that show how a 100ms improvement in page load time has a significant effect on page views, conversion rate, etc., but I'd never actually tried to optimize my site. This blog is a static Octopress site, hosted on GitHub Pages. Static sites are supposed to be fast, and GitHub Pages uses…
Apple is not defending browser engine choice
Some folks claim that Apple's mandated inadequacy for browsers and their engines is somehow beneficial to the cause of ensuring a diverse pool of web engines. Nothing could be farther from the truth, but to understand why, we need to understand how browsers are funded. With that understanding, we can see that not only…
Things I do every time I start a Django project
Personal site of Brenton Cleeland
What will a Chromium-only Web look like?
Most of the complexity and nuance of the Web is stuffed into browser engines. Even though they’re a huge burden to develop and maintain, the world is lucky enough to have three major ones, and they’re all Open Source.
A look at search engines with their own indexes (2021)
A cursory review of all the non-metasearch, indexing search engines I have been able to find.
Notes on WebAssembly
An advanced beginner's take on WebAssembly.
We need a flowchart editor that doesn't give you carpal tunnel
This is a post about why I'm making knotend , a flowchart editor designed for speed, and why we need to get away from mouse-based flowchart editors.
The most satisfying checkbox
The Art of Game Feel (a.k.a Juice) in Product Design
Apple Reneged on OCSP Privacy
In the current version of macOS, Monterey, on every system update on a system containing an M1 chip, such as all the new shiny/fast ARM (“Apple Silicon”) macs, the update process phones home to Apple to obtain a special boot signature, known in Apple jargon as a “ticket”.
Safari on iOS can overlap multiple full-screen videos
I just discovered an annoying behavior of Safari on iOS: full-screen videos can overlap each other and make it hard to close them without force closing Safari.
What happened to proper tail calls in JavaScript? (2021)
ECMAScript supports proper tail calls. How come browser don't support it?
Building a web application with Rust and WebAssembly
Whether it be with React, VueJS, Angular, or in Rust, modern web applications are composed of 3 kinds of pieces: Components Pages Service Components are reusable pieces and UI elements. An input field, or a button, for example. Pages are assemblies of components. They match routes (URLs). For example, the
Let's build a decentralized social network together with Logseq
Software engineer and writer exploring web development, productivity systems, AI, and creative projects. Sharing insights on building better tools and…
Write HTML Right
Even with a lot of help from a good text editor, writing HTML can be a drag. Nice documents end up as tag-swamps with little bits of content perched atop hills of tabs. Editing them becomes a test of patience and we get sick at the thought of having to look at our once-loved text. It doesn't have to be like this!…
More than you ever wanted to know about font loading on the web (2021)
When I started thinking about writing a post about web font loading my intention was to propose relatively sophisticated ideas that I've...
CodeMirror 6.0 Stable Release
CodeMirror 6 is a new code editor library for the web, a from-scratch implementation based on the experience of building and maintaining versions 1 to 5 for the past 13 years. It aims to be more extensible and accessible than previous versions.
What ID3v2 could have been
Speculations and specifications. If you were a Winamp user back in the day, or curate an MP3 collection currently, you might recognize the humble ID3 tag. It is what the metadata in the MP3 file is made up of. First it was pretty limited in the version later dubbed ID3v1. Like any good 2.0 they added a ton more…
What’s the best lossless image format?
In a blog post last year, I took a look at lossy image formats and how they stack up. This time, I thought it might be interesting to do a comparison of lossless image formats.
Hate paywalls? 12ft.io is the answer
After trying many ways to get around paywalls, I've landed on 12ft.io. It's simply awesome.
How to pick the least wrong colors
An algorithm for creating color palettes for data visualization
Apple Music is the most buggy and annoying software I use
There is no other software that I use and pay for that can compare to Apple Music when it comes to severe bugs and annoyances. The worst of the Apple Music clients is that on macOS.
What is the web revival?
Hello, brave netizen! If you’ve found your way onto this guide then you have embarked on the first exciting step into the Web Revival. This guide will give you the low down on all things web! By the end of it you’ll know what the Web Revival is, what it stands for, and how you can take part in it; grab your browser…
Paginating Requests in APIs (2020)
When exposing large data sets through APIs, it needs to provide a mechanism to paginate the list of resources. There are multiple…
Today’s JavaScript, from an outsider’s perspective (2020)
Today I tried to help a friend who is a great computer scientist, but not a JS person use a JS module he found on Github. Since for the past 6 years my day job is doing usability research & teaching at MIT, I couldn’t help but cringe at the slog that this was. Lo and behold, a pile of unnecessary error conditions…