136 private links
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.
Computer programs are fun to write, and well-written computer programs are fun to read. One of life's greatest pleasures can be the composition of a computer program that you know will be a pleasure for other people to read, and for yourself to read.
Computer programs can also do useful work. One of life's greatest sources of satisfaction is the knowledge that something you have created is contributing to the progress or welfare of society.
Some people even get paid for writing computer programs! Programming can therefore be triply rewarding on aesthetic, humanitarian, and economic grounds.
This article explains the role of the X Window System when it was first developed in the 1980s, and today. I highlight three advanced traits:
X was highly portable, so that applications written for X could run on virtually any Unix system, on BSD, on GNU/Linux, and on the Mac.
X allowed distributed computing. You could run graphical applications hosted on another computer, displaying them on your local desktop.
X was customizable to an almost limitless extent. This made X a platform for sophisticated interfaces such as KDE and GNOME.
Putting a fat jar into a Docker container is a waste of storage, bandwidth and time. Fortunately, we can leverage Docker’s image layering and registry caching to create incremental builds and very small artifacts. For instance, we could reduce the effective size of new artifacts from 75 MB to only one MB! And the best is that there is a plugin for Maven and Gradle handling everything for us.