Homelab analog telephone exchange
An introduction to my MCU based fully featured analog telephone exchange, how I mounted it in my home lab powered with batteries for months of use
An introduction to my MCU based fully featured analog telephone exchange, how I mounted it in my home lab powered with batteries for months of use
I’ve been on a mission to use Home Assistant to optimize my home heating, with the dual goals of reducing gas usage and increasing comfort. It’s worked out…
Charlie Arehart - Server Troubleshooting - Testing if a port can be reached, using built-in tools other than 'good old telnet'
Personal site and blog
As a VyOS evangelist, maintainer, and more, I’ve been meaning to write a simple series of “how-to” guides for VyOS for a while. Sure, there are plenty of guides out there, but I think a lot of them fall short in demonstrating WHY you are entering specific commands.
The result of my exploration of Elixir clustering and automating global network discovery and connection over Tailscale.
What is a LAN? What is a network segment? How are L1, L2, and L3 segments related? What does it take to send an IP packet from one host to another? What is the difference between LAN, VLAN, and VXLAN?
This page provides a single entry point to all the posts in the story of how the world got online. Now available as a book, buy here. The Backbone: Introduction One System, Universal Service? The U…
Usenet, of course, originally ran over UUCP in quite a few cases. Since NNCP is quite similar to UUCP – in fact, you can map UUCP commands to NNCP ones – it is quite possible, and not all that hard, to run Usenet over NNCP. In fact, in a number of ways, it works better than Usenet over UUCP! Introduction to NNCP…
I’m calling time on DNSSEC. Last week, prompted by a change in my DNS hosting setup, I began removing it from the few personal zones I had signed. Then this Monday the .nz ccTLD experienced a multi-day availability incident triggered by the annual DNSSEC key rotation process. This incident broke several of my unsigned…
Mutt is not that difficult to get up and running, however, sometimes finding the proper information can be a bit difficult. It is hoped that this guide will get you started, and show you some nice enhancements that help to make mutt (and neomutt) so popular.
The objective for this project was to implement a UDP transmitter for use on the RP2040 that would consume zero CPU time. The system described on this webpage is implemented with 3 PIO state machines, 12 DMA channels, and 1 PWM channel. It generates an NLP, performs packet checksum calculations, and performs packet…
RFC 9518: Centralization, Decentralization, and Internet Standards has been published after more than two years of review, discussion, and revision.
Federated applications have a few problems. And I really wish it weren’t the case, I love the idea and philosophy of these applications. But I can’t see them being mass adopted.
Let’s say you’re on a fresh machine. Maybe you’ve just started a new job or you’ve wiped your machine. You’re about to push some code you’ve written and you get this: $ git push The authenticity of host 'github.com (140.82.121.4)' can't be established. ED25519 key fingerprint is…
The thoughts and projects of an engineer who likes to convert solder, firmware, and wire into all sorts of different forms of entertainment.
One of my readers asked for my opinion about the provocative “It’s Time to Replace TCP in the Datacenter” article by prof. John Ousterhout. I started reading it, found too many things that didn’t make sense, and decided to ignore it as another attempt of a proverbial physicist solving hard problems in someone else’s…
Industrial production of readable insanity
Each computer on the Internet has its own public IPv4 address, similar to a phone number: for example, 131.193.178.181. The target of each packet of data is identified by a public IPv4 address.