theCommandline.org

Home|Projects|Personal|Links|

Just some various tips

X resource usage

xrestop - top for X resources

Linux SCSI debugging

To debug scsi problems the following will turn on verbose information
echo "scsi log all" > /proc/scsi/scsi
Depending on your syslog setup this may send information to /var/log/messages or make it visible to dmesg

Dell PERC (raid card) and Dell Precision workstations

If you encounter a freeze (crash) in your linux smp kernel while a Precision Workstation tries to load the megaraid driver for your PERC card , then add "noapic" to you kernel argument list.
Grub
Add noapic to the kernel line in your /etc/grub.conf (or /boot/grub/grub.conf)
kernel boot/vmlinuz-2.4.21-20.0.1.ELsmp ro root=LABEL=/ noapic
Lilo
Add noapic to the append line in your /etc/lilo.conf
append="hda=ide-scsi hdb=ide-scsi root=LABEL=/ noapic"

Copying a CD (the simple approach)

Copy the CD to the computer
Place the CD to record into the CD Drive. Then from the command prompt (Xterm, Eterm, etc) type
mkdir -p ~/media/music
cd ~/media/music
cdparanoia -B
Record the CD to a blank CD
Place a blank CD in the recorder
cdrecord dev=0,4,0 speed=12 -v -audio ~/media/music/*.wav
Where dev= is your CD-R as reported by cdrecord -scanbus
Remove the temporary files
This will remove the cd from you computer to save space
rm -rf ~/media/music

Auto loading of modules by kernel

To have my laptop auto load the modules for my SoundBlaster compatible sound card I added the following to my /etc/modules.conf
options sb io=0x220 irq=5 dma=1 dma16=5
alias sound-slot-0 sb
post-install sb /usr/local/bin/hmix -master 40:40
These tell the kernel to load the sb modules when a program tries to use the first sound card on the system. It also adjusts the sound card volume via the command line program hmix.

PHP Object Oriented

In the following PHP code
class A{
  var $a;

  function testa(){
    echo "Test A (a)";
  }

  function testb(){
    echo "Test A (b)";
  }
}

class B extends A{
  function testb(){
    echo "Test B (b)";
  }
}

/* MAIN */
$varA = new A();
$varB = new B();

$varA->testa();
$varA->testb();

$varB->testa();
$varB->testb();

would output the following
Test A (a)
Test A (b)
Test A (a)
Test B (b)
Note $varB uses the extended classes function if it exists. If it does not exists then it uses the base classes function.
Email me at bkeffer.web(at)thecommandline.org