19 February 2024

70 links · Monday

Cock.li: 10 Years of Throbbing E-mail

When I started cock.li in the student center of my university, I had no idea what I was getting into. I knew e-mail services were permanent,

When Should Copyright Get Shorter?

Information goods have private costs and public benefits. Pharmaceutical research requires upfront investment from one firm, but once a certain compound is known to be effective it’s cheap for any company to produce. Writing a novel or filming a movie takes hu…

Pursuits that can’t scale

For people who aspire to build things that do

Is client side security dead - or a crucial part of the future?

Client side security is a niche tech field that seems to be unneeded for the most part. As someone who's very passionate about it, that's something that's hard for me to accept. After Shubham Shah addressed this topic in his tweet, I elaborate into the mixed f…

Introducing Safecat

Introducing Safecat, a simple CLI tool to generate, sign, and verify digital signatures using EdDSA Baby Jubjub Elliptic Curve signatures and a Poseidon hash function.

"Send My AI"

AI user agents and legacy applications will become adversaries in the short term, competing for direct access to end users. In the long term, legacy applications will maintain direct access to end users by getting out of their way.

SRE Archetypes

Different hats that SRE's wear in the industry: Admin, Architect, Toolsmith, and firefighter

Secure your API with these 16 Practices with Apache APISIX - part 1

A couple of months ago, I stumbled upon this list of 16 practices to secure your API: Authentication 🕵️️ - Verifies the identity of users accessing APIs.Authorization 🚦 - Determines permissions of authenticated users.Data Redaction 🖍️ - Obscures sensitiv…

The Curse of Capital Management

When I worked with Dell as a primary vendor of computer hardware for a previous job, I was surprised by how much the interaction felt like buying financial products from a bank, rather than technology from an engineering company.11 Being green to that sort of …

There should only ever be one way to express yourself

I've been thinking about programming languages and their design. In her book about the divergence of the English and American languages, Lynne Murphy asks this question: wouldn’t it be great if language were logical and maximally efficient? If sentences had on…

Stuck in the Middle with the Fujitsu FM-8

Many vintage computers have advanced hardware, great software libraries, or even both. But how many of them have gravitas. The desk presence that when guests...

Bloom Filters

A visual, interactive guide to what bloom filters are, when you would use them, and how they work.

Splitting Large Tasks is not a Mathematical Process

You’re in a team meeting. You estimate a task to be worth 13 story points, which is a lot in your team, so you break it up into two tasks. The first one is estimated to be worth 8 story points. What’s the second one worth?

Look! I made this with Gleam ✨

I love functional programming and getting caught in rabbit holes; the thing I love most, though, is sharing what I learn with my friends. What better way to pester even more people than setting up a personal blog?

CSS is Impossible and That's Okay

I have been a web developer for more than a decade, and yet, when it comes to CSS, I always feel a bit out of depth. Not only it's enormously complex, its complexity is growing every year. In the year 2023 itself, there were a dozen [new additions to CSS](ht…

The most useful programming language

Aspiring developers often ask me what's the best programming language to learn. Personally, I mostly work with JS — solid choice, but everyone and their dog learns JS these days, so it might be time to add some diversity. I'm curious — which single programming…

a low power tool for html

htmz is a minimalist HTML microframework that gives you the power to create modular web user interfaces with the familiar simplicity of plain HTML. [GitHub]

.NET MAUI – Nightly Builds

At first, .NET 6 and .NET 7 versions of .NET MAUI were released only via SDK Workloads whereas from .NET 8 onwards (Preview 4 to be precise), it is now distributed as a base workload and suite of N…

The Pattern You MUST Learn in .NET

Use code MODULAR and get 20% off the brand new "Getting Started with Modular Monoliths" course on Dometrain: https://dometrain.com/course/getting-started-mod...

How to combine Redis with MediatR

Hi there! Today we are going to see how we can combine Redis with MediatR's pipelines, so we can implement caching in every request that we want effortlessly...

ActivityPub Server in a Single PHP File

Any computer program can be designed to run from a single file if you architect it wrong enough! I wanted to create the simplest possible Fediverse server which can be used as an educational tool to show how ActivityPub / Mastodon works. The design goals were:…

Collection Performance: Avoid Zero-Length Array Allocations

The article advises against zero-length array allocations due to unnecessary memory allocation and recommends initializing an empty array using Array.Empty(). Benchmark results show that using Arra…

Using a CSP nonce in Blazor Web

This article shows how to use a CSP nonce in a Blazor Web application using the InteractiveServer server render mode. Using a CSP nonce is a great way to protect web applications against XSS attack…

Debugbar For Ruby on Rails

Rails debugging dev tools for faster development. Inspect your request details (queries, logs, cache, jobs and more).

Infinite Office

At Facebook Connect, we introduced Infinite Office—a collection of new capabilities designed to create a virtual office space that will feel more productive ...

Infinite Office

At Facebook Connect, we introduced Infinite Office—a collection of new capabilities designed to create a virtual office space that will feel more productive ...

Partial application of operators

F# has many operators available as standard, for example the boolean OR operator ||, the arithmetic addition operator + and the less-than comparison operator <. A binary operator (operator of two arguments) is traditionally used in the infix position, that is …