Things I like about Gleam's Syntax
Gleam is a Type-Safe programming language that transpiles to Erlang And javascript . , so you can run its code on the BEAM. I’ve slept on Gleam for a while because its syntax. It was too much Rust and not enough Elixir for me.
Scrambling eggs for Spotify with Knuth's Fibonacci hashing
In this blog post, we explore Spotify's journey from using the Fisher-Yates shuffle to a more sophisticated song shuffling algorithm that prevents clustering of tracks by the same artist. We then connect this challenge to Fibonacci hashing, and propose a novel, evenly distributed artist shuffling method.
The mysterious second parameter to the x86 ENTER instruction
For an ABI that probably nobody uses.
C++ Memory Model: Migrating from x86 to ARM (2021)
Explore the C++ memory model and learn about migrating from x86 to ARM architectures. Enhance your understanding of memory management in C++.
KWOK: Kubernetes WithOut Kubelet
Author: Shiming Zhang (DaoCloud), Wei Huang (Apple), Yibo Zhuang (Apple) Have you ever wondered how to set up a cluster of thousands of nodes just in seconds, how to simulate real nodes with a low resource footprint, and how to test your Kubernetes controller at scale without spending much on infrastructure? If you…
I built a special PCIe card to test GPUs on the Pi
I partnered up with Mirek (of Mirkotronics / @Mirko_DIY on Twitter) to build the Pi4GPU (or 'PiG' for short): This journey started almost three years ago: almost immediately after the Raspberry Pi Compute Module 4 was launched, I started testing graphics cards on it. First I tried some low-spec cards like the Zotac…
New Functionality: Bluetooth for Raspberry Pi Pico W
Raspberry Pi Pico W, our wireless-enabled variant of our Pico platform, built around our RP2040 microcontroller, now has Bluetooth support.
Mapping hospital accessibility with OpenStreetMap
Using OpenStreetMap data to craft a self-hosted interactive map of hospital accessibility in Virginia.
Bevy XPBD: A physics engine for the Bevy game engine
Bevy XPBD 0.1.0 has finally been released on crates.io!
S32 Unix Clock
I've been thinking I should do more "short form" blogging. Something between microblogging and regular blogging. This is me doing that!
A Dive into the Math Behind Bitcoin Schnorr Signatures
Get up close and personal with Schnorr and his now patent-free linear signature algorithm.
How fast should you accelerate your kid in math?
We thought we were accelerating fast enough. Turns out we weren't.
Ultra-processed foods may contribute to cognitive decline
Surprisingly, even packaged foods that contain healthy components can qualify as ultra-processed. Jamie Grill Photography/Tetra Images via Getty Images Sara N. Burke, University of Florida Scientists have known for years that unhealthy diets – particularly those that are high in fat and sugar – may cause detrimental…
The future of AlmaLinux
It’s been a whirlwind few weeks here at AlmaLinux, and I’m elated to be able to finally share this update. The future of AlmaLinux OSIn case you missed it, Red Hat announced they will no longer be providing the means for downstream clones to continue to be 1:1 binary copies of Red Hat Enterprise Linux (RHEL). Very…
Programmer salaries in the age of LLMs
Milky Eggs
Religious and spiritual folklore surrounding programming
You've been visited by St. Ignucious. Upvote for success in FOSS
An introduction to metaprogramming in Ruby
Learn Ruby metaprogramming: call methods dynamically with send, define them at runtime with define_method, and handle missing calls with method_missing.
Sigils are underappreciated (2022)
Sigils have a bit of a bad reputation. According to their detractors, sigils are “just a way of encoding type information” in variable names – basically a glorified version of apps Hungarian notati…
Elementary OS 7
Forward thinking and designed for real life
Replacing HLS/Dash – Live Mass Fanout with Media over QUIC
Media over QUIC: Low-latency, high bitrate, mass fan-out is hard. Who knew?
My User Experience Porting Off Setup.py
In the past week I went to add Python 3.12 support to my zstandard Python package. A few hours into the unexpected yak shave / rat hole, I decided to start chronicling my experience so that I may share it with the broader Python community. My hope is that by sharing my (unfortunately painful) end-user experience that…
Parsing the .DS_Store File Format (2018)
About two years ago I came across a .DS_Store file and wanted to extract its information (e.g. file names). After researching the file format and its security implications, as well as writing a parser for it, I would like to share my (limited) knowledge and the parser in Go / Python with the world. You might want to…
Antioxidants found to spur cancer growth and metastasis in mice
Vitamin C and other antioxidants stimulate the formation of new blood vessels in lung cancer tumours, a new study from Karolinska Institutet published in The Journal of Clinical Investigation shows. The discovery corroborates the idea that dietary supplements containing antioxidants can accelerate tumour growth and…
How does Linux handle writes?
I examine the somewhat surprising way how Linux handles writes.
HTML Web Components: An Example
In my article on HTML web components , I said: But the unique power of web components (in the browser) is that they can render before JavaScript. React…
Why PostgreSQL High Availability Matters and How to Achieve It
Achieving PostgreSQL high availability is vital for application uptime. Explore popular HA deployment options to make an informed choice that fits your needs.
Unix Domain Sockets vs Loopback TCP Sockets (2014)
Two communicating processes on a single machine have a few options. They can use regular TCP sockets, UDP sockets, unix domain sockets, or shared memory. A recent project I was working on used Node…
RAG to Riches
Today I will be regaling you with tales of marvelous cherry-picked new developments in AI, from Sam Altman's recent Uno Reverse incident to bear spraying job-hungry engineers.