http://www.logilab.org/narval/ looks very interesting. It's a framework for building intelligent agents. also
http://ai.eecs.umich.edu/soar/ looks more fully-developed.
http://www.teresaudio.com/memtest86/ is a standalone memory tester.
You can put it on a floppy or to add to lilo put memtest86 (the binary) in /boot and just add this to /etc/lilo.conf:
image=/boot/memtest86
label=memtest
Backspace and delete seem to give me problems. The config that seems to work for me (using Gnome terminal) is to select the "Swap Delete/Backspace" option and don't select the "Delete generates DEL/^H" option.
I had a strange problem with Java - JBoss could start up but not shut down. It hung after shutting down the mail service but before any JMX RMI messages. Turns out that I had moved my machine and the network config was FUBAR: my hostname's entry in /etc/hosts didn't match any of the IP's that I had configured. D'oh!
RFC's
RFC2945 - Secure Remote Password protocol
At some point when I get a tape drive I should check out AMANDA:
http://www.backupcentral.com/amanda.html
Mice
It took a little bit of fiddling to get my Gateway computer's MS IntelliMouse 1.2A to work with both GPM and X, but in the end the config is pretty straightforward.
/etc/gpmdata
looks like:
device=/dev/psaux
responsiveness=
type=imps2
repeat_type=raw
append=""
which ends up running gpm like so:
/usr/sbin/gpm -m /dev/psaux -t imps2 -Rraw
.
X's
XF86Config
"Pointer" section looks like:
Section "Pointer"
Protocol "IMPS/2"
Device "/dev/gpmdata"
Buttons 3
Emulate3Buttons
EndSection
NOTE: I don't have the mouse wheel working (yet).
The pass-through device for GPM is
/dev/gpmdata
.
The Tulip network driver 0.92 on my Gateway box would stop working, usually when I was sending a large block of data. It would put this in the log:
Jun 4 19:30:29 tobypc kernel: eth0: Transmit timed out, status fc664010, CSR12 00000000, resetting...
Jun 4 19:31:04 tobypc last message repeated 7 times
Upgrading to Donald Becker's latest driver (version 0.92t) seems to have fixed things.
Global Search and Replace
I end up re-implementing this once every couple of years, so here's what I did last time:
#!/bin/sh
# run sed on a file in place.
# first arg is filename, second arg is sed script
if [ -f "$1" ]; then
cp "$1" "$1.bak"
sed --expression="$2" "$1.bak" > "$1"
fi
Then use
find
to run that script:
$ find . -type f -exec grep -q INDENTIFIER {} \; -exec gsed {} "s/INDENTIFIER/IDENTIFIER/g" \;
The
-exec grep
ensures that the script only runs on files that it needs to modify.
suEXEC
Debian GNU/Linux uses apache suEXEC by default, which means that cgi scripts in user's home directories will run as that user rather than the webserver user. suEXEC is very picky (which it should be) about things like file and directory permissions, but it emits really crappy diagnostics. If you get messages in the apache
error.log
about "premature end of script headers" when you run a cgi script it's worth it to look in the
suexec.log
to see if there's something more descriptive.
X Windows Fonts
I had to enable
type1
fonts in order to get Abiword to work, but then fonts in other programs started to look like shit. It turns out that you need to make sure that the type1 fonts are loaded
last (i.e. the
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
line in
/etc/X11/XF86Config-4
should be
after all of the other
FontPath
entries).