RSSAmplifier

Blog

semarie's site

personal site

/RSS feed ↗100 posts

Latest posts

Thomas Gazagnaire :: Cascade: A Typed CSS Toolkit in OCaml

Porting Tailwind to OCaml needed a CSS parser. The parser grew a typed AST, and a structural diff and a minifier fell out of it. Cascade 1.0.0 is that toolkit, and it turns out to be competitive with the minifiers people actually use.

The Green Tea Garbage Collector - The Go Programming Language

Go 1.25 includes a new experimental garbage collector, Green Tea.

Câble RJ45 : Tout ce qu'il faut savoir (normes, câblage, PoE)

Câble RJ45 : anatomie, normes de câblage Cat5e à Cat8, câble droit vs câble croisé, PoE et câble console expliqués simplement. Guide complet et fiable.

The Z-Machine Standards Document: Contents

Control structures in programming languages From goto to algebraic effects

How to Build Optional Modules with Dune

Many dune-based projects have optional dependencies: a library that is only built when a particular system package is present, a set of executables that only make sense when an optional backend is available, etc.. In such situtions, how do you structure the build so that those components are silently skipped during normal development, while still failing loudly when someone explicitly tries to…

Backup strategies for SQLite in production

Introduction If you are relying on SQLite as your production database, then it makes sense to have some sort of a backup strategy. Those backups would come handy in a multitude of situations. For e…

os-testing POSIX headers everywhere

OpenBSD: where to start with new arch

mail on tech@ from miod@ (2024-09-03)

AeneasVerif/eurydice: Eurydice compiles (a decent subset of) Rust to C

Verify programs in Rust, still get C code for legacy environments.

The Zipper - Gérard Huet

Almost every programmer has faced the problem of representing a tree together with a subtree that is the focus of attention, where that focus may move left, right, up or down the tree. The Zipper is Huet’s nifty name for a nifty data structure which fulfills this need. I wish I had known of it when I faced this task, because the solution I came up with was not quite so efficient or elegant as the…

Living Off the Land: Windows Post-Exploitation Without Tools

I'll never forget one of my first red team engagements where I learned this lesson the hard way. I'd spent two days carefully phishing my way into a financia...

ML-KEM Mythbusting

What is this? There have been some recent concerns about ML-KEM, NIST’s standard for encryption with Post-Quantum Cryptography, related standards of the IETF, and lots of conspiracy theories …

In Search of an Understandable Consensus Algorithm (Extended Version)

Raft is a consensus algorithm for managing a replicated log. It produces a result equivalent to (multi-)Paxos, and it is as efficient as Paxos, but its tructure is different from Paxos; this makes Raft more understandable than Paxos and also provides a better foundation for building practical systems. In order to enhance understandability, Raft separates the key elements of consensus, such as…

Raft Consensus Algorithm

Raft is a consensus algorithm that is designed to be easy to understand.

Self-hosting DNS for no fun, but a little profit!

After Gandi was bought up and started taking extortion level prices for their domains I’ve been looking for an excuse to migrate registrar. Last week I decided to bite the bullet and move to Porkbun as I have another domain renewal coming up. However after setting up an account and paying for the transfer for 4 domains, I realized their DNS services are provided by Cloudflare! I personally do not…

Fil-C

Fil-C, a memory safe implementation of the C and C++ programming languages

Locking in WebKit

We recently replaced all spinlocks, OS-provided mutexes, and condition variables in WebKit with the new WTF::Lock and WTF::Condition — these new primitives have some cool properties.

PASV security and PORT security

D. J. Bernstein Internet publication FTP: File Transfer Protocol

Introduction to OCaml Extension Points - citizen428.net

Metaprogramming is a technique in which programs modify themselves at compile or run time. This can be achieved in various ways, for example through reflection (C#, Java, Ruby, Smalltalk), templates (C++, D, Template Haskell), or macros (Lisp, Elixir). The OCaml language offers a distinct approach to compile-time code generation in the form of extension points and AST rewriters, which we’ll…

OxCaml: safe control over program behavior

ICFP'25 Tutorial

The #! magic, details about the shebang/hash-bang mechanism

In defence of swap: common misconceptions

tl;dr: Having swap is a reasonably important part of a well functioning system. Without it, sane memory management becomes harder to achieve.

Detecting AI Fakes with Compression Artifacts · Doch

Binary Application Record Encoding (BARE)

The Binary Application Record Encoding (BARE) is a data format used to represent application records for storage or transmission between programs. BARE messages are concise and have a well-defined schema, and implementations may be simple and broadly compatible. A schema language is also provided to express message schemas out-of-band.

BARE Message Encoding

VBARE: A simple alternative to Protobuf & Cap'n Proto for schema evolution

At Rivet, we're building an open-source alternative to Cloudflare Durable Objects — a tool for running stateful compute workloads. VBARE is a small but crucial component in meeting the demanding performance requirements of Rivet Actors.

Application vs. Database: Where Should Permissions Live?

Permissions drift is real: scattered checks, forgotten filters, and data leaks. PostgreSQL’s Row Level Security (RLS) flips the script: pushing verification into the database for stronger safety, but with trade-offs in debugging and performance.

All you need is data and functions

sort-research-rs/writeup/driftsort_introduction/text.md at main · Voultapher/sort-research-rs

Test and benchmark suite for sort implementations. - Voultapher/sort-research-rs

Hosting an AT Protocol PDS without containerization - Charlotte Som

A simple setup guide for a PDS without requiring Docker or Caddy

proof of concept FastPay-inspired Decentralized identifier method

proof of concept DID method

FastPay: High-Performance Byzantine Fault Tolerant Settlement

Adversarial pds migration

Evolution of the ELF object file format

The ELF object file format is adopted by many UNIX-like operating systems. While I've previously delved into the control structures of ELF and its predecessors, tracing the histori

ELF Object File Format - Official repository

This document describes the ELF (Executable and Linking Format) object file format. This is the official repository for the ELF Object File Format specification, part of the SVR4 gABI.

ELF Object File Format — ELF Object File Format 4.3 DRAFT documentation

This document describes the ELF (Executable and Linking Format) object file format. Chapter 1 presents an overview of the file format and its data representation. Chapters 2–6 describe the file header and the structures that pertain to building programs. Chapters 7 and 8 describe additional structures that are necessary to execute a program.

Why “caffè” may not be “caffè” – The BSD Cafe Journal

fry69/bluesky-migration-guide: Notes on migrating a Bluesky account

Notes on migrating a Bluesky account . Contribute to fry69/bluesky-migration-guide development by creating an account on GitHub.

🛸 UFOs: Explore atproto lexicons

Sample records and timeseries statistics for every collection seen in the ATmosphere.

Tool Guides

Below are step-by-step tutorials to help you install and use handy privacy and security tools. Surveillance Self-Defense encourages you to think about online privacy and security in a sophisticated way. We want to give you the power to choose tools and habits that work for you. So, we recommend creating...

Land ahoy: leaving the Sea of Nodes · V8

Why V8 decided to move away from Sea of Nodes and go back to CFG instead

You no longer need JavaScript

An overview of what makes modern CSS so awesome.

Exploring Perceus For OCaml

A Direct Comparison between Precise Reference Counting and Generational Garbage Collection. Presented at the Higher-order, Typed, Inferred, Strict: ML Family Workshop 2023. Sep 8, 2023. ELTON PINTO, Georgia Institute of Technology, USA DAAN LEIJEN, Microsoft Research, USA The Perceus algorithm [Reinking, Xie et al. 2021] is a precise and garbage-free reference counting scheme which shows good…

Build systems à la carte: Theory and practice | Journal of Functional Programming | Cambridge Core

Build systems à la carte: Theory and practice - Volume 30

odoc_for_authors

This manual describes the features available and recommended for users in order to write great documentation with odoc.

Make Your Own Backup System – Part 1: Strategy Before Scripts

When a datacenter fire threatened 142 of my servers, my backup strategy had them back online in hours. This post shares my personal philosophy on creating a resilient system, focusing on the crucial planning that must happen before you write a single script.

Why Algebraic Effects?

For exploring algebraic effects, safe shared mutability, and other novel features

constrained languages are easier to optimize

exposing raw pointers make the optimizer’s job horribly hard. high level languages can constrain your program, making more optimizations sound.

git.infradead.org Git - users/zab/ngnfs-progs.git/summary