17 March 2024

45 links · Sunday

Detailed Macrophotography of PCBs

I had to create scans of a small flex PCB to capture more details than a flat scanner could give me. Of course, this task turned out harder than I imagined. I already had a good camera, but I was lacking a good macro lens. Buying one turned out to be hard beca…

Using ChatGPT for Podcast Suggestions

An experiment I tried recently with ChatGPT was to see if it could generate some Podcast suggestions for me based on my current podcast subscriptions. I was able to supply ChatGPT with an OPML file that is commonly used to transfer podcast...

My Quantum Spin: Qubit Ordering and Operations

Overview Picking up from Learning Quantum Computing, I continue chronicling my learning journey through quantum computing. This post serves two purposes. First, I had a personal a-ha moment while manually working through the math to find the resultin...

Part one – Ian's notes

Established in 2020, this site serves as a memory bank of notes and guides for me to reference again down the line, made public with the knowledge that others are likely to encounter simillar situations, especially in niche environments.

How the internet works, and how I'll exploit it – kbrecordzz

The internet is cool, a lot of computers around the whole world are connected to each other in all possible directions and angles, and because of that you can do almost anything. There's no single definitive way for how your computer connects to my web server …

Introducing Default Handler – Edovia Blog

Recently, we conducted a poll among our users on both Mastodon and X to gather feedback on whether they would prefer Screens 5 to become the default handler for the “vnc” URL scheme on macOS, or if they would prefer to maintain the current status quo.

CSS Variable Groups • Lea Verou

CSS Variable Groups is a way to define multiple properties under the same namespace and pass the entire group around, addressing several pain points around design tokens, design systems, and integrating third-party components. The proposal has been posted to t…

Fast postgres index creation

Fast postgres index creation Postgres is a fantastic database for a multitude of reasons, celebrated for its reliability and flexibility. However, when creating indexes on large tables, it can sometimes feel sluggish. This becomes even more noticeable when you…

Zen of Machine Learning

Machine learning can be a frustrating endeavour, and I know several ML engineers who have transitioned to SWE roles – the unpredictability of machine learning being at the heart of their frustrations. You never know if or when your model will be good enough fo…

Patching Software Using Nix (For Laymen)

Patching softwarea quick rundown on patching, since it has become apparent that it is not in every dev’s toolbox: code is just text files. There exists a file format that is a diff between real code and desired code; for instance, maybe you want to add a featu…

The APL Quest Series | Dyalog Blog

It seemed like a normal Friday until mid-afternoon. But on 4 February 2022, I embarked on a journey that, at the time, seemed to stretch impossibly far into the future — a future that wasn’t entirely known yet. In the APL Orchard chat room on Stack Exchange, a…

Stuck updating controller on new PS5

Just snagged a new slim PS5. Plugged it in, updated the console, and then it wanted to update the controller. Told it to go ahead and now I’m...

Designing File Formats

There are many, many file formats, largely owing to the existence of many, many different kinds of files.  They range from simple ASCII text documents to complex databases.  There are a few elements that should be part of any structured file, but many designer…

How to Patch A Package Source on NixOS

This article will introduce you to Alejandra formatter, as well as teach how to leverage the Nix build system to easily patch any source code. This is the continuation of my previous article exploring nix formatters ecosystem.

Atomically exchange vfat files in Linux

The Linux kernel implements the POSIX renameat() system call that atomically renames a file, moving it between directories if required. If the newpath already exists, it is atomically replaced by t…

beuke.org

A personal blog about functional programming, category theory, chess, physics and linux topics

Pizza Taste Test

We ordered pizza from five different chains and ranked them to figure out what chain is best. This combined a fun party with collecting data and doing analysis!

How web bloat impacts users with slow devices

In 2017, we looked at how web bloat affects users with slow connections. Even in the U.S., many users didn't have broadband speeds, making much of the web difficult to use. It's still the case that many users don't have broadband speeds, both inside and outsid…