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.
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.
Adding a drive to LVM/LUKS encrypted Slackware. (2016/04/16)
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:
Microkernels are slow and Elvis didn’t do no drugs (2016/01/01)
It’s quite telling though that most microkernel proponents tend not to be kernel developers.
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.
by loon & intox
Basically, the process can be summed up as:
Make Directory for chroot
Get 32 bit slack ISO
Mount ISO outside of chroot directory
Install things from iso into the chroot
Mount and bind various files
Configure the system
Run programs, should display x applications on your normal x instance.
or: The frustrating atechnicality and rigidity of programmers
Economics and computer science, in some respects, share similarities. Both are heavily prone to assuming can openers,  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.
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 slackbuilds.org. If you’re reading this you should probably already know how slackbuilds and their dependencies work.
Structural and semantic deficiencies in the systemd architecture for real-world service management, a technical treatise (2015/10/11)
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.
A history of modern init systems (1992-2015) (2015/09/05)
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.
Why FreeBSD should not adopt launchd (2015/08/26)
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.
Python Structs and Stuff. (2015/08/24)
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:
Youtube Networks and Copyright Bullying. (2015/08/06)
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.
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:
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.
Linux Security Camera Alternative: OpenRTSP (2015/07/13)
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.
Quick Hexchat Setup Guide. Windows + Linux. (2015/07/02)
Quick list guide:
- Download and Install (first link for windows on hexchat page)
- Click on “add”, type name.
- Click on that name, click edit on the right.
- Add server info.
- Click on channel tab, add channel info.
- Click on Connect commands, add desired connect commands.
- Add it to system startup programs so it starts on boot…
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.
A Guide to the BusPirate Version 4.0 (2015/01/24)
PDF Version Here. More information in the PDF, Contact: aCol@darknedgy.net
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.
Plan 9 networking (2014/11/22)
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
Auth server error
On terminal (drawterm or cpu command) side:
username@authdom password: cpu: cannot read authenticator in p9sk1: Connection refused goodbye
On server kernel messages side:
cpu: srvauth: auth_proxy rpc write: auth server protocol botch
9front - Building 64-bit userland & Kernel (2014/11/21)
Basically just https://code.google.com/p/plan9front/wiki/fqa5
/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
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
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:
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)
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/misc.py", line 433, in sanitize_config return s.translate(None, table) TypeError: translate() takes exactly one argument (2 given)
Next, edit the file wicd/misc.py and find:
return s.translate(None, table)
Downloading Files From an Android via MTP (2014/08/10)
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.
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
…you get a list of binds and mounts for the namespace of your process.
Installing Inferno on Debian amd64 (2014/07/28)
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.
NOTE: Extract the tarball to /usr so it ends up in /usr/inferno.
Installing Slackware with LVM/Luks Encryption. (2014/07/27)
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…
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)
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 prefix=bitbucket.org user=youruser !password=yourpassword' >> factotum ; echo 'key proto=pass service=hg prefix=bitbucket.org 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…