The fading out of multi-'architecture' Unix environments

When I started in the Unix world, it was relatively common to haveoverall Unix environments where you had multiple binary architecturesand user home directories that were shared between machines withdifferent architectures. Sometimes you had multiple architecturesbecause you were in the process of an architecture transition fromone Unix vendor (for example, from Motorola 68K based Sun 3s toSPARC based Sun 4s, with perhaps a SunOS version jump in the process).Sometimes you had multiple architectures because you'd bought systemsfrom different vendors


In the old days, we didn't use multiple Unixes by choice (mostly)

One of the possible reactions to the fading out of multi-architectureUnix environments is to lament the modernhegemony of 64-bit x86 Linux and yearn for the good old days of multipleUnixes and heterogeneous Unix environments. However, my view is thatthis is false nostalgia. Back in the days, most people did not workon or run multiple Unixes and multiple architectures because theywanted to; they did it because they had to. In fact sensible placesusually tried hard to be Unix monocultures (a


LiveJournal and the path to NoSQL

A while back on Mastodon, I said :

Having sort of distantly observed the birth of NoSQL from the outside,I have a particular jaundiced view of its origins that traces it backto LiveJournal's extensive wrangling with MySQL (although this isprobably not entirely correct, since I was a distant outside observerwho was not paying much attention).

Oddly, this view is more flattering to NoSQL than many takes on itsorigins that I've seen. LJ's problems & solutions in the mid 00s


It's good to make sure you have notifications of things

In the course of writing yesterday's entry on the operationaldifferences between notifications and logs ,I wound up having a realization that is obvious in retrospect: nothaving notifications for things is at the root of a lot of sysadminhorror stories . We've all heard the stories of people who losthardware RAID arrays because disks failed silently, for example; that'sa missing notification (either because there was nothing at all orbecause the failure information only went to logs). Logs are useful totell you


The operational differences between notifications and logs

In a comment on my entry on how systemd timer units hide errors , rlaager raised an interesting issue:

The emphasis on emails feels like status quo bias, though. Imaginethe situation was reversed: that everything was using systemd timersand then someone wrote cron and people started switching to that. Inthat case, there is a similar operational change. You'd switch fromhaving a centralized status (e.g. systemctl list-units --failed ) andcentralized logging (the journal, which also defaults to


How we structure our Django web application's configuration settings

We have a relatively long-standing Django web application , first written for Django 1.2. That wasa long time ago and I didn't really know what I was doing, so whenI began the web application I did what Django more or less suggests.I ran ' django-admin startproject ' to set up the initial directorystructure and files, including the settings.py that containsvarious configuration settings for the application, and then startedediting that generated settings.py to add all of the customizations


TCP/IP and a consequence of reliable delivery guarantees

I recently read My hardest bug to debug ( via ), which discussesan interesting and hard to find bug that caused an industrial digitalcamera used for barcode scanning to hang. The process of diagnosis(and the lessons learned from it) are interesting, so I urge youto go read the article now before reading further here, because Ihave to spoil the actual bug.

(Really, go read the article. This is your last chance.)

One part of the control system worked by making a TCP connection


My mistake in forgetting how Apache .htaccess files are checked

Every so often I get to have a valuable learning experience aboutsome aspect of configuring and operating Apache. Yesterday I gotto re-learn that Apache .htaccess files are checked and evaluatedin multiple steps, not strictly top to bottom, directive by directive.This means that certain directives can block some later directiveswhile other later directives still work, depending on what sort ofdirectives they are.

(This is the same as the main Apache configuration file, but it'seasy to lose sight of this for various


How to make a rather obnoxiously bad web spider the easy way

On Twitter, I recently said :

So @SemanticVisions appears to be operating a rather obnoxiously badweb crawler, even by the low standards of web crawlers. I guess I havethe topic of today's techblog entry.

This specific web spider attracted my attention in the usual way,which is that it made a lot of requests from a single IP addressand so appeared in the logs as by far the largest single source oftraffic on that day. Between 6:45 am local time and 9:4


An apparent hazard of removing Linux software RAID mirror devices

One of the data disks in my home machine hasbeen increasingly problematic for, well, a while . I eventuallybought a replacement HD, then even more eventually put it the machinealong side the current two data disks, partitioned it, and addedit as a third mirror to my software RAID partitions. After runningeverything as a three-way mirror for a while, I decided that problemson the failing disk were affecting system performance enough that I'dtake the main software RAID partition on the disk out of