BeOS may be especially sensitive to the quality of the parallel cable you’re using – a lot of cheap cables available in computer stores just aren’t up to snuff and will result in print problems in BeOS. After trying both EPP and ECP modes and fiddling around with various options, I went out and bought one of the more expensive cables. Instantly, prints from my Epson came out without excessive „pre-computation“ time and without hanging.
Many salespeople will tell you that all printer cables are the same — don’t believe them.
[Editor’s note: Be’s bootman is far easier to configure and use than LILO. If you’re running a multi-boot machine, I recommend bootman (search this site for bootman tips). Bootman can boot virtually any OS from any kind of device, with no special configuration required. If you enjoy pain, read on.]
If you’re not familar with LILO, getting BeOS to boot off a SCSI disk can be stressful.
First off, let’s determine what hard drive number you have:
1. How many physical hard drives do you have in your system?
2. Which hard drive contains BeOS? (hint: it’s connected to the SCSI controller)
3. Let’s determine the hard drive number by knowing which ones your computer’s BIOS sees. They are seen in order.
For example, I have two hard drives on my primary ide controller (master and slave), which allows up to two drives off that connector. I have another IDE hard drive on the secondary ide ( master ) and a ide cdrom drive ( slave ).
Confused? Don’t be, it’s going to make sense in a second:
Master is referring to the 1st hard drive set as master on the primary ide controller. Slave is referring to the 2nd hard drive set as slave on the primary ide controller.
See a pattern?
In my configuration I have a total of *four* hard drives. Three IDE and one SCSI. The BIOS will see the drives on the primary IDE first, followed by secondary IDE and then finally it will see the SCSI controller with drives off of it.
In my case, the hard drive number that has BeOS on it is number four.
Master IDE drive on primary ide controller = 1.
Slave IDE drive on primary ide controller = 2.
Master IDE drive on secondary ide controller = 3.
Slave IDE cdrom on secondary ide controller = n/a, doesn’t apply here, not a hard drive.
SCSI disk first in SCSI chain (my only hard drive on it) is 4.
Now we know the disk/hard drive number, now write that down. 🙂
For the next part you need to be ‚root‘ and use an editor of your choice.
Let’s take a peak at my /etc/lilo.conf file.
Example of /etc/lilo.conf
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 linear default=linux compact disk=/dev/sda bios=0x83 image=/boot/vmlinuz-2.2.14-5.0smp label=linux initrd=/boot/initrd-2.2.14-5.0smp.img read-only root=/dev/hdb1 image=/boot/vmlinuz-2.2.14-5.0 label=linux-up initrd=/boot/initrd-2.2.14-5.0.img read-only root=/dev/hdb1 other=/dev/hda1 label=dos other=/dev/sda1 label=be
As you see I have several entries, your’s may be more or less.
See the lines that read (near the top):
disk=/dev/sda bios=0x83
Yep, /dev/sd -> ‚a‘ is hard drive one on the scsi chain.
Remember that hard drive number we jotted down (you did right?), well here is what all that work was for:
bios=0x8 -> ‚3‘ is hard drive number 4 seen by the BIOS.
In other words figure out the drive number from step 3 above and substract 1.
Edit your /etc/lilo.conf and include „linear, disk, bios“ lines like mine, minus making changes to reflect your setup.
We are almost done, look at the bottom of my example lilo.conf, notice „other=/dev/sda1“ section? Make yours look like it but make the appropriate changes. Due note, /dev/sda1 is referring to partition ‚1‘ on /dev/sda (scsi disk one in chain). Make sure you give it the right BeOS partition off of the SCSI drive.
Save your changes to the lilo.conf file.
At the Linux shell prompt, as user ‚root‘ enter:
lilo
Now reboot and when LILO pops up, enter „be“ to enter BeOS.
There are a number of ways to test the write and read speeds of your hard drive(s). One good test is to use the dd command in conjunction with /dev/zero to create a file of predetermined size, packed with zeroes. Run this through the „time“ command and you’ll get a fairly accurate reading of time and processor usage consumed. Try this:
time dd if=/dev/zero of=temp.txt bs=1024k count=128
This will print the time it takes to write 128 MBs of data in 1 MB blocks to the file temp.txt. Doing this on my system gives:
128+0 records in 128+0 records out real 0m9.258s user 0m0.011s sys 0m1.472s
which indicates that it achieved a writing speed of 128/9.258=13.8 megabytes per second. Since total CPU usage is user+sys, this shows CPU usage of (1.1472+0.011)/9.258, or 12.5%.
Bob Rost (rrost@andrew.cmu.edu) and Ramon Barrios Lascar (RamonBarrios@Virtualiza.com) show us how to use dd to test read speeds as well:
Create a 128mb file „temp.dat“ on the Desktop, with this command:
time dd if=/dev/zero of=/boot/home/Desktop/temp.dat bs=1024k count=128
Then use dd and direct it toward /dev/null
to test the pure read speed:
time dd if=/boot/home/Desktop/temp.dat of=/dev/null bs=1024k count=128 128+0 records in 128+0 records out real 0m7.312s user 0m0.004s sys 0m0.338s
Dividing 128 by 7.312 tells me that my hard drive can read 17.5 mb/sec. Whoopee!
Other disk speed tests include iozone/iostone from BeBits, and the disk benchmarking tools in BeRometer.
Different albums and types of music are recorded at different levels. When you play a collection of MP3 files encoded from different albums, comparative volume levels can vary pretty widely from track to track.
To compensate for this, SoundPlay respects the Audio:VolumeAdjustment attribute, which can be set via the AudioInfo plugin.
Keep the AudioInfo plugin window open, and if a track sounds too loud or too quiet, adjust its volume (anywhere from -4 to +4) with the picklist. The SoundPlay volume will change immediately, and the normalization adjustment will be saved into that file’s attributes. Since the data is attached to the file itself, it will be in effect no matter what playlist the file appears in.
Assuming you have the right to duplicate content on an audio or data CD and have a supported CD burner, there are several methods you can use.
Audio
If you have both a supported burner and a separate CD-ROM drive and want to burn a copy of an audio CD, just mount the CD and drag its WAV files directly into the burn window.
If you just have a burner, use it to mount the audio CD and drag its WAV files into the Tracker. Unmount the disk, insert a blank, and drag the files from the Tracker into the burn window. In either case, be careful to preserve the track order!
Data
To burn a copy of a data CD, you’ll need to create an image file of the disc’s contents first. Mount the CD, open a Terminal, and type df
. You’ll see volume names along with raw device paths. For example:
/some_disc hfs 15644 826 -AM-PR- /dev/disk/scsi/0/3/0/0_1
Copy the appropriate device path to the clipboard, then use the „dd“ command, with something like:
dd if=/dev/disk/scsi/0/3/0/0_1 of=image.img bs=1024
You won’t see anything for a long time. The prompt will be returned when the image file is complete. Now, in CDBurner, pull down Disc | Add Data Track, navigate to image.img, and burn.
Note: You’ll probably find that tools like WriteCD and Melt (both on BeBits) make this process somewhat easier, but that depends on you…
If you tell Mail-It to „leave mail on the server“ so that you can check your mail again from another machine, you’ll still probably want to delete some messages permanently, so you don’t have to deal with your spam twice.
In some email apps, just deleting the message and then checking your mail again will cause those deleted messages to be deleted from the server. What many people fail to realize about Mail-It’s method, however, is that it’s not enough to just delete the messages — you have to actually empty your Deleted Mail folder and then check your mail again to have those messages removed from the server.
So if you’re on the road and want to get rid of messages for good, remember to pull down File | Empty Deleted Mail Folder and then check your mail again as the last thing you do before returning to your other machine.
BeOS queries can make your life easier in ways you might not expect. This method uses queries to allow you to find and launch any file quickly, regardless the current directory. For example, if you’re sitting in a Terminal at /boot/home
and want to edit a file living in /boot/home/projects/reports/March/daily… you don’t have to cd to that location or enter the whole path.
To make this work, add this to your .profile
:
function qed { /boot/apps/Eddie/Eddie $(query name=$*|tr " " " ") & }
Substitute the path to Eddie above with the path to Pe, StyledEdit, or whatever your favorite editor is. Now, if you want to edit a file called „frop“ living anywhere on your hard drive, all you have to do is type:
qed frop
Note that this technique does require you to know the exact filename, and doesn’t deal well when paths to files have spaces in them.
The Tracker provides real-time update information on file sizes etc. when it can do so without affecting performance. Calculating the total size of a folder’s content in real time, however, would be resource consumptive. However, there’s a nice workaround built into the Get Info panel.
Select a folder and access the Get Info panel from right-click | Add-ons or by hitting Alt+I. As you add or subtract items to/from the folder, the calculated size in Get Info won’t change automatically. But click once on the reported size and it will recalculate instantly.
This is really useful when, for example, you’re using WriteCD to burn ISO CDs and you want to keep the total size of a folder just under 640MBs.
If you’re running BeOS Pro, you’ve already got a full suite of development tools (including an integrated IDE, the gcc compiler, linker, debugger, and tons of interesting sample code).
If you’re running Personal Edition, these items are not present by default, to save on download size. However, these tools are still available for free, at ftp://ftp.be.com/pub/beos/.
Note that the downloadable development tools package does not include the tons of sample code available in Pro Edition. To get your hands on this, you’ll need to grab archives individually from ftp://ftp.be.com/pub/samples/.
What’s not obvious once you download the DevTools package is where to put it. The package needs to be expanded into /boot
in order for everything to work properly. Either move the zip to the root of your boot drive before double-clicking and expanding, or edit the path in Expand-o-Matic to read /boot
.
YACAIOSC (Yet Another Cool App in /optional/sample-code)
[Editor’s note: If you’re running Personal Edition, you’ll need to install the free BeOS development tools to get this working].
If you’ve ever wanted to convert one kind of movie to another, or one kind of sound to another, navigate to /optional/sample-code/media_kit/MediaConverter
and open the appropriate project file in BeIDE by double-clicking the .proj
file. You’ll want to turn off the debugging info (Edit | ProjectSettings | CodeGeneration| yourplatformCodeGeneration) and then Project | Disable Debugger. Build the project by tapping Alt+M.
Once the compile is done, you’ll have an app that can take any movie or sound for which you you have an installed translator, and convert it to any other kind of movie or sound. You can also use app this to rip the soundtrack from a movie!
You can use MediaConverter to convert .AVI or .MPG movies, which sometimes have performance problems on BeOS, to a QuickTime move using the Intel codec, so you can watch your movies flicker free!!