Category Archives: Quick Guides

Short HOWTO style guides for Free Open Source Software stuff

rate limit gnump3d with Apache 2.2 and mod_bw

While you can reencode MP3s fairly trivially with gnump3d, no limiting is applied. Whatever you’ve reencoded will be delivered to the client as quickly as it can accept the packets being sent. If your objective is to limit the stream to the neighborhood of the reencoded MP3’s new bitrate, you will need some [...]

gnump3d and downsampling mp3s

Recently I discovered gnump3d. It supports downsampling, which is a feature I especially need. However, the example reencoding command for handling MP3s doesn’t seem to work. Instead, I am using a different variant.
 
downsample_medium_mp3 = \
/usr/bin/sox -t mp3 $FILENAME -t wav - | /usr/bin/toolame -b 128 - -
 
The original uses [...]

DokuWiki and HOWTO migration

Since I deployed DokuWiki last fall, I’ve found it to be an excellent tool for managing documentation. It enhances the quality of the final documentation product whilest not getting in the way of writing it. I rather enjoy it.
I am now migrating some of my existing HOWTO documents over to the wiki. [...]

Debian Etch NVidia direct rendering no

I so rarely use 3D on my Debian GNU/Linux desktop, I didn’t bother to verify it was working when I upgraded to Etch. Actually, it’s probably been busted since I moved to the unofficial Xorg in Sarge Backports in December. The Debian WiKi has the solution, essentially.

nx@faith:/home/.nx$ glxinfo | egrep “glx (vendor|version)”
server [...]

apt-key gpg key import on Ubuntu and Debian

Should you need to download packages from a unofficial repository, you need not disable gpg signature verification. Instead, you can import the key used to sign the packages into your local keyring.
Of course, you may not know what key to fetch. That’s probably okay, as if the public portion of key is not [...]

Wordpress mod_rewrite proxy rules

Because I enjoy deep hurting, I thought it would be fun to reverse proxy Apache 1.3 using Apache 2.2 with Wordpress 2.1 hosted under the former. With Wordpress 2.1, the rewrite rules generated for the date schema are considerably shorter, but still require a few minor changes to proxy happily.

DocumentRoot /srv/web/blog

ProxyRequests On
RewriteEngine On

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} [...]

Configuring Exim4 for dspam on Debian or Ubuntu

My relationship with dspam, a bayesian classifier based spam solution, has been unwavering since I first installed it in 2005. I previously used SpamAssassin. While SpamAssassin offers a wide variety of tests involving potentially dozens of sources including rulesets, DNS blacklists, URI blacklists, checksum databases, and bayesian classifying, I found its false negative [...]

Using qemu to build AMD64 x86_64 packages on legacy build host

Presently, I now need to support a Ubuntu x86_64 environment. Several internal Debian packages I have must now be deployed onto the 64-bit, split lib Ubuntu environment. Sadly, I have no 64-bit build host presently. Fortunately, QEMU provides a solution.
QEMU is best explained by quoting from the QEMU project pages.

QEMU is a [...]

Munin alert email notification

Munin has support for sending mails when specified warning and critical thresholds are exceeded. If you aren’t already running a notification system, such as Nagios, Munin’s notification works splendidly. A few changes to munin.conf are all that’s needed.
First, you need to configure contacts, which enables the notification system.

contacts me
contact.me.command mail -s “Munin notification [...]

pbuilder backporting guide

I have written a new guide, focusing on backporting Debian GNU/Linux packages to earlier releases.

Detailed discussion of pbuilder as a tool for backporting Debian packages from Unstable/Sid to the current Debian GNU/Linux Stable release. Building the initial environment, care and feeding of pbuilder, apt sources, building, and debugging are covered.

Update, June 13th. The author [...]

Configuring Multipath Routing for Ports without Balancing

Recently, I have found myself with two independent internet feeds. The nice side effect of having two feeds is you can configure multipath routing, load balancing, failover, and dead gateway detection. However, for a individual setup there isn’t much value in configuring all that is necessary for the latter items. Nevertheless, configuring [...]

Using milter-regex to dump invalid HELOs under Sendmail

A couple of years ago, I was singing the praises of milter-greylist. While greylisting is still effective, in the past year I’ve noticed an increase in the number of spammers, especially this year, that utilize more RFC compliant spamming tools that resend on temporary failure. To combat that, I have recently started using [...]

The magic of syslog-ng and logcheck

After experiencing a variety of hardware failures recently, I finally completed my migration to syslog-ng with a central loghost paired with hourly log reporting using a wrapper script around logcheck. Once properly tuned, an ongoing process, mails generated and often of some interest.
To setup syslog-ng on machines on Debian Sarge, you need merely apt-get [...]

Linux QoS / TC and Accounting for ATM Overhead

One of the most painful deployment issues for Linux Traffic Control on a commodity ADSL link is the variable overhead relative to IP for each packet you transmit, as the underlying transport is actually ATM. Each ATM cell is a 53 byte fixed length with a capacity for 48 bytes of actual data. [...]

Recovering yaird at boot, or where’s my root?

First, boot with a kernel commandline of ydebug to attempt a recovery. In the following example, the device name for a md based RAID 1 device has shifted, resulting in a boot failure. When the underlying block device name changes, a Yaird image will fail as it hardcodes device names.
First, the short version. [...]