BackupGem Manual
Backup is the easiest and most flexible backup, archive and rotate tool. It’s a beginning-to-end solution for scheduled backups in a clean ruby package that is simple use and powerful when customized.
Backup is the easiest and most flexible backup, archive and rotate tool. It’s a beginning-to-end solution for scheduled backups in a clean ruby package that is simple use and powerful when customized.
As you may have noticed (for both of my readers), I am back to updating Daemon Dancing instead of helping out at Linux Brain Dump, as LBD seems to have slipped into a funk lately. So I figured I would just go back to working on Daemon and trying to update the look and feel of it. But I had forgotten just what an incredible time sink it can be once you begin playing with your blog look! Just a few minor tweaks (like trying to get the search box to work) took a couple of hours, as I played with all kinds of settings. And, as you can probably see, this is a pretty plain vanilla Movable Type blog!
Anyway, look for more Linux, FreeBSD and other FOSS software ramblings to show up here again.
Just a quick note on FreeBSD - while I don't run it on my home desktop, my server (the one that hosts this blog, for instance), runs FreeBSD 6.1 (a little out of date). I finally bit the bullet and did a full package upgrade and lo and behold, it went like a champ, despite the long delay between updates. At least I had the portsnap cron job running, so that part was kept up to date. The first portsnap update command took a very long time, but after a few carefully chosen upgrades, I just jumped in with both feet and the portmanager -u command did it all. Of course, I haven't tried rebooting yet, which is the real test. But still, very nice.
Very nice intro to AIR on Linux found at Linux Journal. AIR (Adobe Integrated Runtime) is Adobes push for a crossplatform rich Internet app "operating system". I've been using it for Twhirl, a very nice Twitter client. For some reason, there are many Twitter clients using AIR. Adobe claims AIR to be only in an "alpha" state for Linux, but it has been working for me pretty well.
The only obvious shortcoming is that, according to the Twhirl author, the Linux version doesn't support the password encryption that is found on the Windows client, so it doesn't store passwords. And there are some rough edges for the UI, like the super-annoying Mac-like restriction of only resizing the window via dragging the lower right corner. And the auto-update feature doesn't work. You have to download the update file for the app and install it yourself. But it has been very stable for me and I'd like to look more into programming with it.
The VirtualBox "Virtual Disk Image" Index
VDI images of pre-installed "Open Source" Operating System distros.
It's a computer inside your computer.
Say you're doing some programming, or trying out an older audio program, and you get some form of the following cryptic error:
unable to open `/dev/dsp', Device or resource busy
What does it mean and what can you do about it?
As to what it means - basically, an application somewhere isn't being very nice and sharing, like we have all be taught to do. Or it wants to hog the sound device all to itself and another app won't let it go. /dev/dsp is the device pointer for the default "dsp" or digital sound processor and, as audio remains a bit of an Achilles heel for Linux, there can be problems in the sandbox.
So what you need to do is to figure out which app currently has locked, so maybe you can quit that application to allow our other one to access it. You might think of using lsof or fuser to figure it out. So you check:
$ lsof /dev/dsp
$ fuser /dev/dsp
But unfortunately, it won't show you anything. I think this is because /dev/dsp is just an affectation, which allows Linux to point wherever it really wants to.
In this case, it is the /dev/snd/* files. It is here you want to see who is grabbing things:
$ ls /dev/snd
controlC0 hwC0D2 pcmC0D0p pcmC0D1p pcmC1D0c seq
controlC1 pcmC0D0c pcmC0D1c pcmC0D2c pcmC1D0p timer
$ lsof /dev/snd/*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
VirtualBo 4083 jdarnold mem CHR 116,10 4395 /dev/snd/pcmC0D0c
VirtualBo 4083 jdarnold mem CHR 116,9 4390 /dev/snd/pcmC0D0p
VirtualBo 4083 jdarnold 40r CHR 116,2 0t0 4102 /dev/snd/timer
VirtualBo 4083 jdarnold 42u CHR 116,10 0t0 4395 /dev/snd/pcmC0D0c
VirtualBo 4083 jdarnold 43u CHR 116,12 0t0 4411 /dev/snd/controlC0
VirtualBo 4083 jdarnold 44r CHR 116,2 0t0 4102 /dev/snd/timer
VirtualBo 4083 jdarnold 45u CHR 116,9 0t0 4390 /dev/snd/pcmC0D0p
VirtualBo 4083 jdarnold 46u CHR 116,12 0t0 4411 /dev/snd/controlC0
kmix 4155 jdarnold 12u CHR 116,12 0t0 4411 /dev/snd/controlC0
kmix 4155 jdarnold 13u CHR 116,5 0t0 4560 /dev/snd/controlC1
$ fuser /dev/snd/*
/dev/snd/controlC0: 4155 4800
/dev/snd/controlC1: 4155
/dev/snd/pcmC0D0c: 4800m
/dev/snd/pcmC0D0p: 4800m
/dev/snd/timer: 4800
$ ps -c 4800
PID CLS PRI TTY STAT TIME COMMAND
4800 TS 19 ? SLl 0:12 /usr/lib/virtualbox/VirtualBox -comment Debia
Pretty conclusive proof that it is VirtualBox using the device. So let's see what it looks like after I quit out of VirtualBox:
$ lsof /dev/snd/*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
kmix 4155 jdarnold 12u CHR 116,12 0t0 4411 /dev/snd/controlC0
kmix 4155 jdarnold 13u CHR 116,5 0t0 4560 /dev/snd/controlC1
$ fuser /dev/snd/*
/dev/snd/controlC0: 4155
/dev/snd/controlC1: 4155
$ ps -c 4155
PID CLS PRI TTY STAT TIME COMMAND
4155 TS 19 ? S 0:00 kmix [kdeinit] -autostart
kmix, the KDE sound mixer program, is pretty good about things, and thus we no longer have a conflict:
$ ./dspinfo
Information on /dev/dsp:
Defaults:
sampling rate: 8000 Hz
channels: 1
sample size: 8 bits
block size: 1023 bytes
Supported Formats:
mu-law
unsigned 8-bit (default)
signed 16-bit little-endian
signed 16-bit big-endian
signed 8-bit
unsigned 16-bit little-endian
unsigned 16-bit big-endian
Capabilities:
revision: 1
full duplex: yes
real-time: yes
batch: no
coprocessor: no
trigger: yes
mmap: yes
Modes and Limits:
Device Sample Minimum Maximum
Channels Size Rate Rate
-------- -------- -------- --------
1 8 1000 100000
1 16 1000 100000
2 8 1000 100000
2 16 1000 100000
dspinfo is a small program I adapted from the exerpt for the old O'Reilly book Linux Multimedia Guide, which is Chapter 14. Programming Sound Devices. As I said, OSS (Open Sound System) is an old Linux standard, pretty much passed by in these days of 2.6 kernels.