136 private links
A funny thing happened on the way to the future. The mainframe outlasted its replacements.
On Linux, Control-C and Control-V don't work for copying and pasting in terminals. The Control modifier is used for its original purpose of inserting control codes. Instead, terminal apps require an extra Shift modifier, like Control+Shift+C.
But what if there were hidden shortcut combos for copy and paste on Linux that work across most apps without adding any additional software or configuration? By the end of 2025, this will be the case, and many apps already support them. Here's the scoop!
This is meant to be the first part of a 3-part series discussing the space & types of IP addresses, with a particular focus on what has changed between IPv4 and IPv6. In this first post I’ll take the audience through a historical tour of some developments within the IPv4 address space.
In a second part I’ll discuss the properties of different types of addresses from a routing and from a security perspective, both in the IPv4 and in the IPv6 space. In the third part we’ll look at the implications of deploying IPv6 in certain networks based on those differences, e.g. “how to handle ACLs and IP address based log analysis approaches in a dual-stack network where systems have one RFC 1918 IPv4 address and multiple IPv6 GUAs?” (for specific reasons the latter two parts might be published on another medium though). In any case let’s start with a brief history of IPv4. The goal here is to understand how we got to the state that we have today.
Coworker: ...and the IP address are compared with a string match.
Me: grinning manically
Coworker: Why are you looking at me like that?
Me: Open up a terminal and type ping 4.2.514 and hit enter.
Coworker: ...what's the fourth number?
Me: grin widens Just hit enter.
Coworker: WTF!?
Remember the way strings work in C: they consist of a bunch of bytes followed by a null character, which has the value 0. This has two obvious implications:
There is no way to know where the string ends (that is, the string length) without moving through it, looking for the null character at the end.
Your string can’t have any zeros in it. So you can’t store an arbitrary binary blob like a JPEG picture in a C string.
Why do C strings work this way? It’s because the PDP-7 microprocessor, on which UNIX and the C programming language were invented, had an ASCIZ string type. ASCIZ meant “ASCII with a Z (zero) at the end.”
origin story
Based on my research, the earliest computer to use the term "main frame" was the IBM 701 computer (1952), which consisted of boxes called "frames." The 701 system consisted of two power frames, a power distribution frame, an electrostatic storage frame, a drum frame, tape frames, and most importantly a main frame. The IBM 701's main frame is shown in the documentation below.
Planes were going to drop out of the sky, nuclear reactors would explode. But then … nothing. What really happened with Y2K? People still disagree …
which turns 100 next month. From the July, 1923, Bell Systems Technical Journal: "All panels are to be of a uniform length, designed to mount on vertical supports spaced 19>< inches between centers. The height of the different panels will vary, according to the amount of apparatus in each unit, but this vertical dimension is in all cases to be a whole multiple of 1-3/4 inche
„Also jemand hat einen Link geposted der über 7000 Zeichen lang war, was das theoretische Limit einer Datenbank-Indexierung weit überschreitet, doch Mastodon hat es als 23 Zeichen gewertet, weil es jeden Link als 23 Zeichen wertet, und bei der Version 4.1.x gab es noch kein maximales Link-Limit, weswegen das einfach so in die Datenbank geschrieben wurde, was der Fehler war an dem wir jetzt 7 Stunden arbeiten.”
Das Problem lag in den Weiterleitungsregeln des HTTP-Servers. Hier war "/Verse" als Startseite mit einem großgeschriebenen Anfangsbuchstaben definiert, was dazu führte, dass die HTTP-Weiterleitung nicht ordnungsgemäß funktionierte. Nachdem dies korrigiert wurde und "/verse" als Startseite festgelegt wurde, funktionierte die HTTP-Weiterleitung einwandfrei, und somit war das ACME-Protokoll auf den jeweiligen Domino-Servern einsatzbereit.