Routing SSL / 443 to backend servers on OpenBSD with Relayd (2021/03/01)

by JChase2

I have a physical thinkserver box, a laptop, and a desktop. On the thinkserver, I have alpine linux acting as a hyperviser, a VPS running OpenBSD for web hosting, a VPS running slackware for backups, and another VPS running slackware for Nextcloud and Plex. (Basically a cloud server). I have a router running DD-WRT, which obviously only has one external IP, and port forwards to the various servers and services I have running.

Read more–>

systemd, 10 years later: a historical and technical retrospective (2020/05/02)

by V.R.

I am not sure I am such a big fan of reimplementing NetworkManager…

– Lennart Poettering’s famous last words, March 2011

10 years ago, systemd was announced and swiftly rose to become one of the most persistently controversial and polarizing pieces of software in recent history, and especially in the GNU/Linux world. The quality and nature of debate has not improved in the least from the major flame wars around 2012-2014, and systemd still remains poorly understood and understudied from both a technical and social level despite paradoxically having disproportionate levels of attention focused on it.

Read more–>

Adding a drive to LVM/LUKS encrypted Slackware. (2016/04/16)

by Jchase2

My Slackware server is configured with full disk LVM / Luks encryption, as outlined in my full disk encryption tutorial. I’ve had an empty drive sitting in my server for over a year, and I’ve finally gotten around to encrypting it, and getting it to decrypt on boot. A problem arises due to the fact that Slackware’s crypttab is processed in it’s rc.S script very early on.

That means I couldn’t just follow the same steps I did in my encryption guide and create an encrypted physical device, I had to do things a bit differently. Turns out, you can’t decrypt two physical volumes on boot, but you can decrypt the primary physical drive, and then a logical volume via crypttab later. Here’s how I did it:

Read more–>

Microkernels are slow and Elvis didn’t do no drugs (2016/01/01)

by V.R.

It’s quite telling though that most microkernel proponents tend not to be kernel developers.

ris, in an example of being “not even wrong

Microkernel hatred is a peculiar phenomenon. Sheltered users who have never had any background in much beyond Windows and some flavor of free monolithic Unix, will, despite a general apathy or ignorance in the relevant subjects, have strong opinions on the allegedly dreadful performance and impracticality of “microkernels,” however they define the term (and we shall see that a lot of people have some baffling impressions of what a microkernel is supposed to be). Quite often, these negative views will be a result of various remarks made by Linus Torvalds and a general hero worship of his character, a misrepresentation of an old Usenet flame war between AST and Torvalds that was somehow “won” and which supposedly proved that microkernels are nothing but a toy of ivory tower academics, or a rehash of quarter century-old benchmarks on CMU’s Mach that were unfavorable. The presence of Linus' character in many of this is no coincidence. It strikes me that anti-microkernel sentiment most vocally originates as a sort of tribal affiliation mechanism by Linux users to ward off insecurity.

Read more–>

32-bit Slackware Chroot on Slackware64: Multilib Alternative (2015/11/10)

by loon & intox

Basically, the process can be summed up as:

Read more–>

What programmers can learn from economists: fundamentals and models (2015/11/04)

or: The frustrating atechnicality and rigidity of programmers

by V.R.

Economics and computer science, in some respects, share similarities. Both are heavily prone to assuming can openers, [1] are scarce in their reproducibility, are easy for laymen to deceive themselves into knowledge in, and are especially susceptible to politicization.

Where they differ sharply is that economists are starkly concerned with fundamentals, starting assumptions and axioms, but computer programmers (and often scientists) are hopelessly devoid of any. Economics is divided into many schools, in turn leaning neoclassical, heterodox or other. Thus, an economist will often operate under a Grand Theory (similar to how one might design a system under a Grand Abstraction) and derive their conclusions differently depending on the operational framework. Compare Minsky, Mises, Sraffa, Okishio and Friedman. Monetary theory alone has broadly endogenous and exogenous interpretations, each with its own branches with differing consequences on the role of central banking and of private and public debt.

Read more–>

Installing and configuring ffmpeg + Openshot on Slackware. (2015/10/19)

by intox

I’ve run into a few problems doing this. The first two times I neglected to document what I did to fix it, which has wasted some of my time. Hopefully this post will serve to save my future self and possibly others some time. I’m installing everything from the slackbuilds on If you’re reading this you should probably already know how slackbuilds and their dependencies work.

Read more–>

Structural and semantic deficiencies in the systemd architecture for real-world service management, a technical treatise (2015/10/11)

by V.R.

Preface and disclaimer (!)

You’re probably wide-eyed and gnawing at your teeth already.

I was finally tempted into writing this from a Hacker News discussion on “Debian Dropping the Linux Standard Base,” where some interest was expressed in reading an architectural critique of systemd.

To the best of my knowledge, this article - though it ultimately ended up more of a paper in article format, is the first of its kind. This is startling. It’s been over 5 years of systemd, and countless instances of religious warfare have been perpetrated over it, but even as it has become the dominant system in its area, there really hasn’t been a solid technical critique of it which actually dissects its low-level architecture and draws remarks from it.

Read more–>

A history of modern init systems (1992-2015) (2015/09/05)

by VR

The subject of process management, supervision and init(8) for Unix-like systems is one plagued by a large degree of ahistoricity and “pop culture” explanations. This leads to a lot of confusion and misunderstanding surrounding feature sets and how one formulates the problems surrounding reliable process management on Unix in general, making it a ripe topic for demagogues of all persuasions.

Read more–>

Why FreeBSD should not adopt launchd (2015/08/26)

by V.R.


Firstly, because of the visceral nature of these discussions, I would like to add a disclaimer that this article is not borne of Ludditism (quite the contrary, as you shall see) and that more importantly I do not oppose having Mach/libSystem/launchd integration inside derivative products of FreeBSD, such as FreeNAS or PC-BSD. This is strictly about FreeBSD and why I am skeptical of the goals of the NextBSD project led by iXsystems, which is pushing the OS X-ification effort.

Read more–>

Python Structs and Stuff. (2015/08/24)

by Chanku

Two thing to note: this will be a bit rambly, and this post probably won’t be long. Lately I have been working with Python 3 structs… they are a bit weird. While I don’t know much C, they are apparently meant to be like Structures in C. Here are basically the things I have learned so far:

Read more–>

Youtube Networks and Copyright Bullying. (2015/08/06)

by intox

I follow various Youtube channels who produce some quality original content. They put a lot of time and effort into their work, and it shows. I don’t really watch TV except for a few shows I download here and there, mostly because I think there’s a lot of raw original creative content to be had elsewhere that may not be as polished, but feels more real. It gives me what I want out of media and entertainment. That being said, these content creators are getting shit on, hard.

Read more–>

An experiment in porting the Android init system to GNU/Linux (2015/08/05)

by V.R.

Yes I’m trolling/mocking you anti-systemd retards. That’s what Schopenhauer recommends as a strategy against irrational rhetoric (here of the reactionary kind). I couldn’t care less for irrational people’s reading recommendations.

P.S.: “Self-projection” is psychobabble grounded in no science."



Being the author of the now dead uselessd project, I harbor a knack and appreciation for all things that are useless, or that use less, depending on your point of view.

While sitting in my room drinking absinthe, I was struck with a flash of brilliance. An idea for a project, so devoid of utility, that it is making John Stuart Mill do the tube snake boogie in his grave as we speak.

Take the Android init daemon… and boot a GNU/Linux system with it.

(Slackware Linux, as usual.)


Now the word shall be able to point at this work and be able to see the true icon I aim to promote, that of Robert Nozick fighting the utility monster.

There are, however, some serious reasons to embark on this project:

Read more–>

On Hurd, Linux and the (mis)adventures of cross-compiling a GNU Hurd toolchain (2015/07/25)

by V.R.

This article is both a tutorial, a war story and a conceptual introduction to GNU Hurd in which I set up a cross-toolchain, and give a colorful tour through some rough edges of the GNU build system. My host system is Slackware Linux 14.1 (running on -current), i686 – which I find preferable due to its highly vanilla nature, running software almost entirely without distro-specific patching.

As of recent, I have found myself more interested in the Hurd – a well-known yet surprisingly simultaneously unknown project that has had very little attention given to it. In fact, I ran GitStats on the Savannah Hurd repo and found a total lifetime contributor count of 51. Only 51 people have touched the code in the 25 years of the Hurd.

Read more–>

Linux Security Camera Alternative: OpenRTSP (2015/07/13)

by intox

OpenRTSP doesn’t get much exposure because it’s just a (single file I think) library within the live555 library set. The scope of OpenRTSP is basically just to handle RTSP streams. Opens / streams / receives / records them.

Read more–>

Quick Hexchat Setup Guide. Windows + Linux. (2015/07/02)

by intox

Quick list guide:

Long Guide:

This is simple relative to the usual technical difficulty of posts on this blog, but some folks have requested a quick setup guide for hexchat. Hexchat is a fork of xchat, which was an irc client for linux and windows, but ended up monetizing. Hexchat works for both windows and linux well, and is easily set up. In my opnion, it has a better feature set than xchat, too, and is easier to use.

Read more–>

A Guide to the BusPirate Version 4.0 (2015/01/24)

by aCol

PDF Version Here. More information in the PDF, Contact:

1. Introduction

This document was written because I found myself at a loss when I first encountering the BusPirate Version 4. Initially I wanted the BPv3/BPv3.5 but due to a small error on my side, I ended up with the BPv4. Since I didn’t want to go through the lengthy process of sending it back in (if that’s even possible, I never bothered to find out), I decided to stick with what I got. This document is made specifically for Windows 8 / Windows 8.1 - however, it should work on Windows 7 too. You just have to adapt it for that environment.

Read more–>

Plan 9 networking (2014/11/22)

Using the /net filesystem

You can make network connections just by interacting with files in /net.

Connecting via TCP

First you could create a new socket by reading the contents of /net/tcp/clone, then one would write to the socket in /net/tcp/$socketno/ctl, to connect to some host, and then read/write to /net/tcp/$socketno/data.

Read more–>

9front/Plan 9 common strange errors and their possible causes (2014/11/22)

Auth server error

On terminal (drawterm or cpu command) side:

username@authdom password:
cpu: cannot read authenticator in p9sk1: Connection refused


On server kernel messages side:

cpu: srvauth: auth_proxy rpc write: auth server protocol botch

Possible cause

Read more–>

9front - Building 64-bit userland & Kernel (2014/11/21)

Basically just

/sys/lib/rootstub fixes all the fucked directories.

cd /
rc sys/lib/rootstub
cd /sys/src
mk nuke
mk libs                     #(makes and installs this arch's libs)
objtype=amd64 mk all
objtype=amd64 mk install
cd 9/pc64
mk install
9fs 9fat
cp /amd64/9pc64 /n/9fat

Read more–>

irc7 for idiots: Installing and using irc7 on plan9 (2014/10/25)

Documentation on plan9 is far from idiot-friendly. Often, it takes a little bit of trial and error to sort things out.

#installing irc7
9fs sources
cp /n/sources/contrib/andrey/irc7.tgz $home/builds/
cd $home/builds/
tar xzf irc7.tgz
cd irc7
mk install clean

Read more–>

dwm, Java Applications, and NetBeans – The White Screen. (2014/08/27)

by intox

When using dwm, or a lot of tiling windows managers really, you’re using a non-re-parenting window manager. Basically, some java applications are not going to display correctly because re-parenting window systems seems to be assumed on java’s part. To fix this on dwm, install wmname from here:

Next, run:

 wmname LG3D

I’d also advise running that at startup, e.g put it in xinitrc or using systemctl if you’re running systemd. This should fix the issue by changing the window manager name to basically fix the assumption.

Wicd won’t save settings. (2014/08/27)

by intox

I came across a bug in wicd-gtk in-which some of the checkboxes weren’t working / saving the settings. Turns out this is a known bug, and should be fixed in the next version of wicd. Until then, however, a quick fix can be applied:

First, make sure you’re having the same problem by running wicd-gtk in a terminal, and selecting the checkbox for “automatically connect to this network”. Make sure at the end of the error it says something like:

File "/usr/local/lib/python2.7/dist-packages/wicd/", line 433, in sanitize_config
return s.translate(None, table)
TypeError: translate() takes exactly one argument (2 given)

Next, edit the file wicd/ and find:

return s.translate(None, table)

Read more–>

Downloading Files From an Android via MTP (2014/08/10)

by intox

I found myself in the mountains of Pennsylvania with no access to the internet, no cell service, and thus no way of downloading any software to help me access files I had on my phone. I tried to SFTP like I usually do, but of course you need to be connected to a network and I had no router to set up a local network with.

I figured I could share wifi from another phone and just FTP locally, but turns out we couldn’t get it to set up a local connection without cell service. These newer androids don’t support anything but MTP and PTP, that is, you cannot mount your phone as a mass storage device. I also found that nothing on my slack setup except some very basic mtp-tools were installed, and I couldn’t find any mtp man pages.

Read more–>

HowTo: install contrib on 9front (2014/08/07)

mkdir -p /dist/replica/client
9fs sources
/n/sources/contrib/fgb/root/rc/bin/contrib/install -f fgb/contrib


The Plan 9 Namespace for Dummies (2014/07/31)

It took me a while to wrap my head around the Plan 9 namespace concept, and it is one of the most important aspects of the system.

I guess I couldn’t find a nice, concise description of the Plan 9 namespace that really explained what was going on. The man pages are okay, but sometimes fail to provide extensive examples and explanations.

If you run

; ns

…you get a list of binds and mounts for the namespace of your process.

Read more–>

Installing Inferno on Debian amd64 (2014/07/28)

by loonattic

Inferno, now open source, was a commercial attempt at applying the Plan 9 operating system’s concepts. It runs on top of the virtual machine Dis.

A source tarball can be downloaded from here.

More up-to-date source from the development branch can be found here

(It has had a lot of changes since 2010).

NOTE: Extract the tarball to /usr so it ends up in /usr/inferno.

Read more–>

Installing Slackware with LVM/Luks Encryption. (2014/07/27)

by JChase2

Last Tested / Updated: Slackware 14.2 on Jan 6, 2019.

Some minor changes in the installer script, but everything still works as expected and as explained here.

A couple of people have requested this, and the documentation can be a little confusing, so I figured I’d write this up. I’ll assume some basic familiarity with Linux because Slackware isn’t really an easy “noob friendly” operating system, but I’ll still give enough detail that someone who’s unfamiliar with this stuff can get it done and hopefully learn some stuff about linux along the way…

Read more–>

Setting up werc on Plebeian (2014/07/27)

To install werc on the Plebeian GNU/Stallman Universal Operating System: (or any Linux/MODERN UNIX thing, pretty much)

  1. Get werc

    hg clone
  2. Install cat-v’s fork of 9base to /usr/local/plan9

Read more–>

Adding Mercurial credentials to Plan 9 secstore for factotum (2014/07/26)

Even if I authenticate using secstore when logging into my system, factotum doesn’t seem to add any new keys automatically. Maybe I should RTFM or something, but this is how keys are added to secstore manually, almost straight from secstore(1):

; ramfs -p      # private ramfs on /tmp
; cd /tmp
; auth/secstore -g factotum
# enter password
; echo 'key proto=pass service=hg user=youruser !password=yourpassword' >> factotum
; echo 'key proto=pass service=hg user=youruser !password=yourpassword' >> /mnt/factotum/ctl
; auth/secstore -p factotum

drawterm also asks for a secstore password twice. I don’t know why, exactly. And adding keys manually also asks for the secstore password…