New
The latest blog posts to take off on Hacker News. 3,433 posts.
Let's consign CAP to the cabinet of curiosities
Brewer’s CAP theorem, and Gilbert and Lynch’s formalization of it , is the first introduction to hard trade-offs for many distributed systems engineers. Going by the vast amounts of ink and bile spent on the topic, it is not unreasonable for new folks to conclude that it’s an important, foundational, idea.
Memory Mapping an FPGA from an STM32
I teased at this a bit in my previous posts and finally have a setup I’m happy with, so I thought I’d do a more in-depth writeup.
CrowdStrike will be liable for damages in France, based on the OVH precedent
Hello, Today I am doing a quick post to cover the recent CrowdStrike incident that is estimated to have disabled 8.5M computers and caused more than $5.4B in damages since last week. Now a common q…
Defense of Lisp macros: The automotive field as a case in point
An overview of all the tools, standards and special languages used in the automotive industry where the official language is actually C.
My Favorite Algorithm: Linear Time Median Finding (2018)
Finding the median in a list seems like a trivial problem, but doing so in linear time turns out to be tricky. In this post I’m going to walk through one of my favorite algorithms, the median-of-medians approach to find the median of a list in deterministic linear time. Although proving that this algorithm runs in…
Versioned finite-state machines with Postgres (2019)
Inspired by Felix Geisendorfer blog post I implemented a database FSM (Finite-State Machine) with Postgresql. I brought some improvements to Felix’s implementation but before reading the following I recommend you to read carefully the original post.
Investigating corrupt Winamp skins
I started looking through corrupt Winamp skins and it lead me down some very strange rabbit holes
Humans 1, Chimps 0: Correcting the Record
Behavioural economics, data science and artificial intelligence.
Generating sudokus for fun and no profit
A guide on how to generate sudokus of any difficulty.
Dungeons and Dragons taught me how to write alt text
Describe the most important thing first.
Space-filling curves, constructively
In 1890 Giuseppe Peano discovered a square-filling curve , and a year later David Hilbert published his variation . In those days people did not waste readers’ attention with dribble – Peano explained it all on 3 pages, and Hilbert on just 2 pages, with a picture!
Phish-friendly domain registry ".top" put on notice
The Chinese company in charge of handing out domain names ending in “ .top ” has been given until mid-August 2024 to show that it has put in place systems for managing phishing reports and suspending abusive domains, or else forfeit its license to sell domains. The warning comes amid the release of new findings that…
Hiding Linux Processes with Bind Mounts
Lately I’ve been thinking about Stephan Berger’s recent blog post on hiding Linux processes with bind mounts. Bottom line here is that if you have an evil process you want to hide, use …
"Doors" in Solaris: Lightweight RPC Using File Descriptors (1996)
A door is a "file" descriptor used to describe a procedure in a process and optionally some additional state associated with the procedure. Doors were initially designed as Spring object descriptors used to encapsulate the state and capabilities of C++ objects. A process which obtains a door is free to pass it, along…
The Origin of Emacs in 1976
On the Origin of Emacs in 1976 (Emacs blog articles)
Taking my diabetes treatment into my own hands
First of all, this blogpost is kinda long. Let me prove to you reading it will actually have some payoff:
America’s Transit Exceptionalism
The rest of the world is building subways like crazy. The U.S. has pretty much given up.
Turing's topological proof that every written alphabet is finite (2010)
Recently one of my colleagues was reading Alan Turing’s groundbreaking 1936 article “On Computable Numbers with an Application to the Entscheidungsproblem.” This is the article in…
Counting bytes faster than you'd think possible
“Summing ASCII Encoded Integers on Haswell at the Speed of memcpy” turned out more popular than I expected, which inspired me to take on another challenge on HighLoad: Counting uint8s . I’m currently only #13 on the leaderboard, ~7% behind #1, but I have already learned some interesting things. In this post I’ll…
Types as Interfaces
For the past few days, I have been toying with an idea for a board game. To test it out, I wanted to write a simple implementation of it. Here’s an example of a type we might need in a critical phase of the game.
Database Design for Google Calendar: A Tutorial
Author: Alexey Makhotkin squadette@gmail.com. Introduction In this database design tutorial (~9000 words) I’m going to show how to design the database tables for a real-world project of substantial complexity. We’ll design a clone of Google Calendar. We will model as much as possible of the functionality that is…
The Linux audio stack demystified (and more)
Digital audio processing is a complex yet fascinating subject. Getting a deeper understanding requires knowledge in multiple technical disciplines, including physics, electrical/electronical engineering, and some software engineering when it comes to parts of the Linux ecosystem. This article aims to demystify the…
Button Stealer
Steals buttons from the websites you visit. Do your usual online stuff and watch the collection of stolen buttons grow.
Re: Do people IRL know you have a blog?
A short while before I came across bacardi55's call to conversation, I asked my wife if she wanted to see something cool. She said yeah. I showed her the Reading section, and explained that I was constructing the functionality to track my reading on my own website.
The Elegance of the ASCII Table
ASCII, a standard whose legacy defines to this day how most of the letters and numbers in your computer get encoded into ones and zeroes, is elegant and beautiful. Via lessons in computer history, punched tape, and typewriters, I'd love to share some of its logic with you.
Clojure macros continue to surprise me
Clojure macros have two modes: avoid them at all costs/do very basic stuff, or go absolutely crazy.
Copying is the way design works (2020)
What exists in the space between riffing and ripping
Reflections on Luck and Skill from the Part Time Poker Grind
In the early hours of May 13th, 2024 and after about sixteen hours of play over two days, I achieved one of my poker dreams and outlasted 773 entrants in the RunGood Poker Series $800 No Limit Hold’em Main Event hosted at Graton Casino and Resort to claim the outright win and top prize of $85,780.
What Is Entropy?
I wrote a little book about entropy; here’s the current draft: • What is Entropy? If you see typos and other mistakes, or have trouble understanding things, please let me know! An altern…