11 September 2023

51 links · Monday

How AES Is Implemented

The AES algorithm is widely used today, whether it’s for encrypting a connection to a website, encrypting data on your hard drive, or storing passwords in your favorite password manager. It has been battle-tested for many decades and is still recommended as on…

Who blocks OpenAI? — News Homepages documentation

The 392 news organizations listed below have instructed OpenAI’s GPTBot to not scan their sites, according to a continual survey of 1,119 online publishers conducted by the homepages.news archive. That amounts to 35.0% of the total.

Why am I not Dirac?

Of course, I can’t be Dirac. Dirac was one of the greatest physicists of the 20th century. I am the author of Boogie Math, a silly website about mathematics.

Hidings Symbols Of Elf Files

This blog post describes how to hide symbols in ELF files from static analysis. While this may seem like a curious gadget, this approach is used in the real world to prevent software from being analyzed, e.g., in software protection mechanisms or malware.

Factorio, Mutation, & Lossiness

On Factorio, the high-level term "data transforms", how data transforms are practically implemented, and tradeoffs to consider in various implementation styles.

Developing OCaml with Nix

Lately, I've been writing a significant amount of OCaml as part of my PhD. Instead of using the OCaml package manager (opam) command-line interface (CLI) for these projects, I prefer to use Nix to provide declarative and reproducible development environments a…

Visualizing the CPython Release Process

Last week I met with the CPython Developer-in-Residence and Release Manager Łukasz Langa to discuss the release process for CPython (detailed in PEP 101). Everything I learned I've documented below...

We need deterministic installs, not just immutable OS's

Immutable OS's are just a minor step towards reliable OS installations. However, for a complete solution we also need reproducible and thus deterministic installations, which implies cleaning-up and modernizing our package managers.

avoiding the trap of originality

Not only original ideas are worth sharing. Ideas that have existed are still worth the effort. Your readers change their context daily. Past ideas hit differ...

Notes on Self-hosted Transactional Email

Since a little more than two months ago, Healthchecks.io has been sending transactional email (~300'000 emails per month) through its own SMTP server. Here are my notes on setting it up. The Before Before going self-hosted, Healthchecks sent email using …

Eternal Robustness

"Look, you can trust us. We can be depended upon. We are serious about our products and we take great care to provide you with excellence year after year. Your involvement with us will be predictable and stable."

Update Conference Prague 2023

Update Conference Prague is the biggest developer conference organized yearly, offering sessions delivered by the top experts from all around the world. In relation to that, we also organize a few smaller events every year, each of them concentrating deeply on…

Confidential Computing - ACM Queue

Confidential Computing (CC) fundamentally improves our security posture by drastically reducing the attack surface of systems. While traditional systems encrypt data at rest and in transit, CC extends this protection to data in use. It provides a novel, clearl…

Filtering negative numbers, fast: Scalar

While working deep on the guts of RavenDB, I found myself with a seemingly simple task. Given a list of longs, I need to filter out all negative numbers as q...

Rockin’ the Code World Season 4: Special Guest Mads Torgersen

I hope you will join me on Saturday, October 7th, 2023, at 10:00 PST on C# Corner TV for show #89 that starts season 4! My very special guest will be Mads Torgersen, Principal Architect on the Micr…

375: Buying an electric vehicle in 2023

Buying a new car is difficult any time, but in 2023 we have a lot of options, gas, hybrid, all electric. Frank is out shopping for a new vehicle, what path did he go down, and how was his experience?

Running ASP.NET Core Web Server on Arm64

This article demonstrates how you can use ASP.NET Core with Windows 11 to build a web server for a headless IoT application. You will gain insights into harnessing Arm64-powered devices that offer high performance while consuming minimal power for your IoT app…

.NET Performance on Arm64

This article demonstrates how to use Arm64 to run .NET applications, acquiring advantages of native architecture like power efficiency and a speed gain.

how does linux nat a ping?

A few months ago, I found myself wondering how a command like ping 1.1.1.1 works from within a private network. In most private networks, multiple hosts connect to the Internet through a router. For IPv4, the router performs network address translation (NAT) b…

Knightmare: A DevOps Cautionary Tale

In the first 45-minutes the market was open the faulty software deployment sent millions of child orders into the market resulting in 4 million transactions against 154 stocks for more than 397 mil…