The Birth of UNIX

In his 1999 book In the Beginning… Was the Command Line, Neal Stephenson said the following about Unix: “Windows 95 and MacOS are products, contrived by engineers in the service of specific companies. Unix, by contrast, is not so much a product as it is a painstakingly compiled oral history of the hacker subculture. It is our Gilgamesh epic.”
Read more about how the story of UNIX actually goes.

Packet Scheduling with Dummynet and FreeBSD

Let’s talk Dummynet! A traffic manager, bandwidth manager and link emulator, Dummynet is a powerful part of FreeBSD. Dummynet gives us the tools to control how traffic at bottlenecks is treated and can be used to make reservations on our hosts so they remain reachable when under high packet load.

Using FreeBSD’s pkg audit to Investigate Known Security Issues

Keeping systems secure and free of any vulnerabilities is an important task in any sysadmin’s or developer’s book. Fortunately, FreeBSD systems come with several tools to accomplish that task for both its Base System and installed 3rd party packages.
In this article, we will take a look at how these tools can help us efficiently manage security vulnerabilities in our FreeBSD systems

UNIX Wars – The Battle for Standards

UNIX’s history was marred by power struggles and fights over its direction and core. This meant that at some point in time, different factions went to war to control the future of UNIX. As part of our recent write-up, we’re taking a look at the wars that shaped UNIX’s future and the events that followed.

FreeBSD Documentation: Papers We Love To Read

papers_we_love

A lot of great papers have been written throughout the history of FreeBSD. For most of the features you see today in a modern FreeBSD Operating System there is a corresponding paper that was written during its development or after its inclusion to document its addition.
Today, we’re looking at two of our favourite papers, trying to highlight their contribution to the FreeBSD Operating System.

Explaining top(1) on FreeBSD

We all know and have at least once used the top(1) command on FreeBSD to track information about our cpu and processes, but how many of you know what each field means? By default, top(1) displays the ‘top’ processes on each system and periodically updates this information every 2.0 seconds using the raw cpu use percentage to rank the processes in the list.
This article will give you some insight on how to better understand top (1).

Manipulating a Pool from the Rescue System

We’ve all been there: that moment of panic when a system fails to boot back up. Perhaps there was a glitch with an upgrade. Maybe you’re wondering if you fumble-fingered a typo when you made that last change to loader.conf.
Fortunately, with FreeBSD and its built-in rescue mechanisms it is possible to quickly recover from most scenarios that prevent a system from booting into normal operation. And if you’re using OpenZFS, you can rest assured that your data is intact.
With this article, let’s take a look at some common recovery scenarios.

FreeBSD Developer Workstation Setup

If you are eager to start FreeBSD development, but don’t know where to begin, this short guide is for you.
This article will provide some pointers into how some FreeBSD committers work on the Operating System and ports collection. We will discuss the hardware configurations that are used day to day to implement, build and test the operating system.

What Makes a Good Time to Use OpenZFS Slog and When Should You Avoid It

In this article, we’re talking about the OpenZFS SLOG. Find out, among others, about synchronous vs asynchronous writes and the ZIL, why you should use a SLOG and on what type of devices.

Using the FreeBSD RACK TCP Stack

Did you know that FreeBSD has more than one TCP stack and that TCP stacks are pluggable at run time? Since FreeBSD 12, FreeBSD has support pluggable TCP stacks, and today we will look at the RACK TCP Stack. The FreeBSD RACK stack takes this pluggable TCP feature to an extreme: rather than just swapping the congestion control algorithm, FreeBSD now supports dynamically loading and an entirely separate TCP stack. With the RACK stack loaded, TCP flows can be handled either by the default FreeBSD TCP stack or by the RACK stack.