21 April 2022

45 links · Thursday

Software Engineer Expat - Part 2: The Arrival — auswandern

It's now mid 2021, and my wife and I have arrived in Dreieich, outside of Frankfurt, Germany. We took a cab from the airport to the long-term Airbnb rental we'll be staying in. When I tried to pay for the cab, the driver told me that he doesn't accept a card.…

Laurence Tratt: Practising Programming

When we see a world-class musician flawlessly play challenging music, it can be tempting to imagine that they were always able to do so. A moment's thought makes it obvious that they must have had to spend huge amounts of time practising basic techniques in or…

Away team work – Sledgeworx Software

Away team work is a critical component of high performance software organizations. It is a way for high priority teams to work around other teams’ manpower constraints to deliver software. Without a well established culture of away team project work your organ…

Choose Your Cloud Dependencies Wisely

Vendor lock-in: An unfortunate condition that forces a person or company to continue using a disliked product or service just because they invested in it so much. Vendor lock-in used to affect mostly large companies using mission critical legacy applications, …

Fast thinking on lichess.org - Emir's blog

I use lichess.org games data to investigate the extent to which fast thinking is the dominant factor affecting game outcomes at any time control. I show how to (1) frame a pseudo-experiment, (2) database lichess.org data, and (3) carry out the analysis. I argu…

Monetizing hobbies

I don’t know if this is a new trend or if I’m just noticing it now, but more and more the popular wisdom seems to be that you shouldn’t monetize your hobby. That if you do, it turns it into a job, a hustle1; that it sucks all the fun out of it. Putting aside f…

Physical Threshold Encryption

This is quite an unusual post, but it’s something I’ve been thinking about for a while, for the fun of it. This has to do with the task of…

Linearization in Plonk and Kimchi. Why?

This is a short note on the linearization step in Plonk (the zero-knowledge proof system), which is in my opinion the hardest step to understand. Essentially, the linearization in Plonk exists due to two reasons: The polynomials we're dealing with are too big…

What Chords Do You Need?

You famously only need four chords to play everything, or maybe it's only three. But how true is this really? I decided to go look and see what was common. I looked at a large number of transcribed songs, writing down which chords were used. This isn't perfe…

About macOS Server 5.7.1 and later

As of April 21, 2022, Apple has discontinued macOS Server. Existing macOS Server customers can continue to download and use the app with macOS Monterey.

View .NET collections with the new IEnumerable Debugger Visualizer

Table Visualizer, which will help you view IEnumerable objects such as Arrays, List, etc. in a customized tabular view. The visualizer will display collections of objects in a table with a row per object and sortable columns for each property.

Column - The developer infrastructure bank

The only nationally chartered bank built to enable developers and builders to create new financial products

RavenDB Cloud: Metrics & Disk I/O enhancements

Our cloud team just finished pushing a big set of features to production. Some of them are user facing and adds some nice features that I wanted to talk abou...

Work with data in C# - Learn

Dive deeper into data and types, learning how to manipulate string and numeric data.

April 21, 2022

Special access methods, but normal overrides.

Web color is still broken

Almost all colors on the web (from the data in your average PNG file to hex values in CSS and SVG) are represented not as actual color intensities, but using a lossy compression algorithm called "8-bit sRGB". Most people call this a "color space", but its prim…

sort: use pdqsort · golang/go@72e77a7

- Across all benchmarks, pdqsort is never significantly slower than the previous algorithm. - In common patterns, pdqsort is often faster (i.e. 10x faster in sorted slices). The pdqsort is describ...

Debian/Raspbian rngd with -S0 will bite you after a week

I've been using my Raspberry Pis for some data collection purposes, and noticed some of them doing a few things which seemed suboptimal. There's this process called "rngd" which really likes to wake up every so often and announce stuff about what it's been…

Insertion Sort in C# - Code Maze

Insertion sort is one of the simplest algorithms that we can use to sort an array. Let's implement it in C#.

Aggregate Responsibility Design

In Domain-Driven Design, Aggregates are groups of objects that are persisted as a unit, with the root object being responsible for ensuring the validity of the entire aggregate. But how should this responsibility influence our design?

Hide Complexity

So, so much of good system design is abstracting out complexity. So, so much of good testing is understanding where the complexity is and po...

C# async await explained - NDepend

C# async and await keywords simplify a lot asynchronous programming but do you really understand what is happening at runtime?

Are You The Asshole? - AI Powered AITA Answer Bot

A project by WTTDOTM and Alex Petros that uses AI to tell you why you're in the wrong in a situation, but also why you're in the right.