Occasional thoughts and tidbits.

This article is part of a series where I discuss dn42, a decentralized VPN and community for studying network technologies. You can find out more about dn42 on its Wiki: https://dn42.dev/

BGP and dn42 on a Windows Server

Earlier this month, I saw a hosting provider on LowEndTalk offer free Windows Server along with some fairly beefy VMs. As someone who's been running and administering Linux machines for several years now, I thought it'd be a cool experiment to play with something new.

And as a networking enthusiast, I had to give Windows Server's native networking features a try. As documented by many blog posts before me, Windows Server actually comes with its own dynamic routing stack supporting BGP!

Building Anycast Services on dn42

This article is part of a series where I discuss dn42, a decentralized VPN and community for studying network technologies. You can find out more about dn42 on its Wiki: https://dn42.dev/

Anycast is an addressing and routing technique where a destination IP is shared by multiple hosts. On the Internet, anycast is widely used by CDNs and DNS servers to achieve high availability as well as geographical redundancy. In dn42, Anycast prefixes can be announced by one or more ASes - the former is used by many individual participants to host AS-specific services (DNS, websites, etc.), and the latter is used to host decentralized services for dn42 more broadly (e.g. the anycast DNS and Whois servers).

I've done development in and around IRC since ~2014, and this post is really a long time coming. It summarizes discussions I've had, heated ones too, about the viability of IRC as a mainstream chat platform today, and into the future. As someone who's been accused of "hating IRC" and being "pointles...

Docker in Unprivileged LXC on a Debian 11 Host

virt-what inside the nested container

On Linux, LXC and Docker are two different takes on containerization. I won't dwell on the terminology too much here as many other sites explain how they work in detail. Essentially, LXC focuses on OS-level containerization (like a virtual mac...

Why Linux is my daily driver

I've been using Linux as my daily driver since 2017, and one particular question comes up a lot in my discussions with friends: why not Windows? So to answer this question and all its other "why not $OS" variants, I've written this post to describe some of my thought...

This article is part of a series where I discuss dn42, a decentralized VPN and community for studying network technologies. You can find out more about dn42 on its Wiki: https://dn42.dev/

All of my examples here use Bird 2, and assume you use the same config variables as dn42's guide: https://dn42.dev/howto/Bird2

Multiple servers on dn42: iBGP and IGPs

Connecting to dn42 is fairly straightforward - after registering your resources, you coordinate with other participants to establish tunnels onto the network. However, dn42 is more than just adding peers. At some point, you may want to expand your own network to multiple machines and locations.

Before you can setup peerings from multiple locations though, your nodes first need to have a complete picture of your own network. In addition to all your external BGP connections, this requires configuring another another piece: internal BGP, or iBGP for short.

The Trouble with PyLink

Five years ago, I started PyLink as a challenge: create a multi-network IRC services engine that would be the basis for transparent relaying between networks. The goal of this project was simple: allow networks to loosely federate and share channels while still maintainin...

Some months ago, my friend @shypre bought a GPIO powered LED matrix board and some LED strips, very much like the ones from AdaFruit. We decided to do some work on it together.

Stage 0: Setup

The setup portion was fairly straightforward - we connected the LED matrix to a 5 volt power supply,...

Running Mainline Debian (Buster) on a Raspberry Pi 3

DISCLAIMER: this is an old post from 2018 that I've republished for historical reference, as I saw a few sites link back to it. There is now a coordinated effort to support running Debian on Raspberry Pi, complete with pre-built images: see https://raspi.debian.net/ for details!

In summer 2018, I ordered a Raspberry Pi 3 Model B+. This model, new at the time, released in March 2018 and came with a higher clock speed, as well as upgraded Ethernet, Wi-Fi, and Bluetooth capabilities over its immediate predecessor.

I decided I wanted to install Debian on my Pi and use it as a potential ARM build box. Although doing so is not as well supported as an official Raspbian release, this custom build gave me the ability to track the rolling release Debian testing (useful for development) and run a 64-bit system.