RSSAmplifier

Blog

3fx.ch

Recent Blog posts on 3fx.ch

3fx.chRSS feed ↗11 posts

Latest posts

Why Wordle is so successful

The game Wordle exploded in popularity recently, to the point that it was bought by the New York Times because of its popularity. But why is Wordle such a resounding success? I will take a swing at an explanation in this post. Simple rules with a clever twist Wordle is a modified variant of the board game Mastermind . In Mastermind, in which one player constructs a code word consisting of four…

CSS: Avoid horizontal scrolling

This piece is a bit of a rant and a bit of advice. If you are not in the mood to read this, there is a TL;DR at the bottom. If you had told me last year that I’d write not one, but two blog posts about web design, I would not have believed you. Alas here we are, and I’m going to tell you about another pet peeve of mine and how to fix it. I view at least half the written content I…

CSS: prefers-color-scheme

When developing tools that interface with users in a visual sense, I believe it is important to cater to the users’ wants (and needs) as much as possible, whilst retaining a recognizable product identity. Probably the brightest decision in this regard is the background color: light or dark? Specifically regarding webpages, a variety of solutions have been developed: JavaScript triggers,…

Bundlewrap: First Impressions

I have spent quite some time with configuration management for my home infra setup, and I have recently come across a new tool that I’m excited to share with you. It’s called Bundlewrap , and it is a flexible, small-scale 1 configuration management solution. Bundlewrap is written in Python 3 2 , and is unique in the sense that the infrastructure configuration is also written in Python.…

On Decidability and the MU puzzle

Gödel, Escher, Bach takes the reader on a journey through mind, music, machines and self-reference. In the first few chapters, Hofstadter introduces a formal system called the MIU-system. The MIU-system consists of four simple rules for manipulating strings consisting of the characters M , I and U . xI -> xIU , where x matches the rest of the string Mx -> Mxx , where x matches the rest of the…

Composition in Trick-Taking Card Games

This article was written as part of the Advent of Haskell 2020 , be sure to check it out for other cool Haskell content! A trick-taking game is a genre of (primarily) card games. Play revolves around rounds, in which each player plays exactly one card. The player who played the highest card wins the round, or trick . On the surface these games seem to possess imperative core, processing…

Build Your Own Wi-Fi Antenna

Building a wireless antenna is not hard. While the underlying physics and protocols are relatively complex, an antenna’s job is very simple: it captures or creates electromagnetic waves. We built a basic parabolic receiving antenna using a 3D printer and a female-female N-connector , available in any well-stocked electronic parts store. There exist a multitude of different antenna designs,…

The Online Knapsack Problem

Last semester I took a course on online and approximation algorithms, and I want to present some really neat proofs related to the online knapsack problem. The course was taught by Hans-Joachim Bökenhauer and Dennis Komm, wo incidentally also first discovered the results I will present below. All results mentioned (and more) can be found in the original paper . An online algorithm is given some…

Long monotone trails in graphs

During a recent dinner discussion I was presented with a beautiful proof to the following problem: Given an arbitrary graph $G = (V, E)$, and an ordering $\Phi$ of $E$, what is the longest monotone trail in $G$ that is guaranteed to exist? A trail in a graph is a sequence of edges such that adjacent edges share an incident vertex and no edge is traversed twice Take a few moments to think about…

'changeme' is valid base64

Base64-encoding is ubiquitous in our modern world. Many programs communicate in base64-encoded messages, since these have nice properties: They consist of a very limited subset of ASCII characters, and can thus be displayed as text. E-Mails for example are commonly encoded in base64 in transfer, which can be seen in the Content-Transfer-Encoding header. Where I volunteer we have a tradition of…

Solving graph problems in bash

Many interesting problems in computer science are expressible as problems on graphs: Finding the shortest path between two vertices, calculating a spanning tree, finding a large independent set, etc. Often in Theoretical Computer Science we only look for a theoretical solution - once we know how to model a specific problem as graph we give an algorithm in pseudocode and leave it at that. We will…