Mexican Food


Traditional Mexican dish made from maize or wheat tortilla folded or rolled around a filling.
Tacos are filled with meat, fish, vegetable and cheese. Eaten by hand with salsa garnish or vegetables such as onion, tomato or lettuce.


A thin unleavened flat bread made from finely ground maize or wheat flour.

Tortillas can be eaten plain or used as wraps to form dishes such as tacos, burritos and quesadillas.


A tortilla wrapped or folded around a filling. The tortilla is lightly grilled or steamed to soften it.

Fillings include refried beans, Spanish rice, meat, lettuce, salsa, guacamole, cheese, and sour cream.

Burrito literally means "little donkey" in Spanish, derived from burro. A burrito is similar to a taco.


A corn tortilla filled and rolled , then covered with chilli pepper sauce. Enchilada means "in chilli".

Enchiladas are filled with chicken, beef, pork, cheese, beans, potatoes, vegetables, seafood or combos.


Chimichanga is a burrito folded and chilled to allow the edges to seal. The burrito is fried until crisp.

Served over a bed of lettuce, topped with fresh tomatoes and avocado mayonnaise.


Grilled meat served in a corn or flour tortilla. Meats include chicken, pork, shrimp and beef.

The meat is cooked with onions and bell peppers then dressed with shredded lettuce, sour cream, guacamole, salsa, cheese and tomato.


A steam-cooked corn dough (masa) filled with meats, cheese, sliced chillis or vegetables.

Tamales are wrapped in corn husks or plantain leaves and cooked by steaming until firm. Tamales can be eaten without a filling.

Tamales were used as portable rations by war parties in ancient Americas.


A tostada is a toasted or deep fried corn tortilla. (Wheat tortilla not normally used).

Tostadas were created when tortillas went stale but were still fresh enough to eat. Not wishing to waste old tortillas. Beans, rice, meat, cheese and vegetables were spread on the tortillas like an "open faced" taco.

As their popularity spread, people began frying fresh tortillas to create the dish.

Tostada is Spanish for "toasted".


A small thick tortilla made with masa harina (corn flour). Unlike the taco, which uses a thin tortilla. Gorditas are baked on a small skillet pan called a comal.

The gordita's thick tortilla is filled with soups, stews or casseroles, accompanied by different salsas.

Gordita is Spanish for "little fat one".


A circle of uncooked corn masa folded in half and filled with cheese, then warmed until the cheese melts.

Stuffings include: pumpkin flower, sausage, chicken, ham, refried beans, potatoes, mushrooms, scrambled eggs, and hamburger. Salsas can also accompany the quesadilla.

Quesadilla is Spanish for "little cheesy thing".


Traditional Mexican dish. made from corn tortillas cut in quarters and fried.

Salsa or mole, is poured over the crispy tortilla triangles, called totopos. The mixture is simmered until the tortilla softens. Eggs and chicken are added to the mix and topped with cheese or sour cream then served with refried beans.

A popular recipe to use leftover tortillas and salsas.


Generic name for several sauces in Mexican cuisine.

In English it refers to the combined form "guacamole" (avocado mole). In Spanish by the more specific name mole poblano.

In Mexico, mole, the term is used for a number of sauces, quite dissimilar to each other, including black, red, yellow, colorado, green, almendrado, pipián.

Mole is Mexican (Spanish) for sauce. In Spanish it means bulk.


Nachos are more "Tex Mex" than Mex. Invented by Ignacio "Nacho" Anaya, in the 1940s. Nachos are a layer of tortilla chips with melted cheddar cheese and jalapeño peppers

Font Finder - Firefox

Discover Font Properties - Fast

Here's a useful tool, it's an add-on for Firefox called FontFinder. See a font you like. See a colour you like. No need to check the source, use FontFinder.

Right click on a font selection and FontFinder will details all the font properties.

It's fast. It's cool. It's FontFinder.

ION USB Turntable HowTo

Make That Vinyl Digital

Quick walk through for setting up the ION USB Turntable and bundled software.

1. Plug turntable USB into computer. Connect power supply. Turn on Ion turntable.
2. Don't bother with red/white audio cables. Ignore these.
3. Go to Control Panel > Sounds/Audio Devices > Audio
4. Under Sound Playback select soundcard/device. i.e. SBLive or onboard soundcard.
5. Under Sound Recording select USB Audio CODEC. Apply > OK
6. Install and start Audacity. Click Edit > Preferences Audio I/O
7. Under Playback select SBLive or onboard card.
8. Under Recording select USB Audio CODEC > OK.
9. Microphone icon on tool bar. Click drop-down black arrow and select "Monitor Input".
10. Click new, then start turntable with vinyl record. Place arm on vinyl.
11. Click red dot record button on Audacity toolbar.
12. Ensure speakers or headphones are plugged into PC Audio Output.
13. Use headphone or speakers to listen while recording.
14. When finished ripping sample click File > Export as WAV or File > Export as MP3.
15. Burn with CD burn software. Assuming you have burning software installed.
16. To record at a different speed. ie speed up 45 to 78 or slow down 78 to 45
17. Record at highest speed available on Ion turntable, until ripping is finished.
18. In Audacity, select all (Ctrl-A) > Effect > Speed Up > from 45 to 78.
19. This will convert the recording to 78 by effectively speeding it up.

That's about it.

Minimal Debian + KDE Desktop

Net Install Overview

This is not complete yet, but I wanted to post it while everything was still fresh in my mind after a re-install of Debian. It needs a little tidying up and some body out of parts which I will do.

Debian basic install with no standard desktop selected. This setup will allow for a lean fast system that only has the apps you want or need. It means a bit of work initially at the setup stage but the payback is a small fast system.

We can install things later as needed. I will flesh out this how to with more details, soon. The part I have missed is the Debian Operating System install is almost self installing. It requires only a small amount of data input to get it going.

Items Still To Do
Automatix wouldn't install got an error message.
Just read automatix is no longer developed or supported. In its place is Ultamatix
I'll look at ???maybe??? installing it

Check you download the i386 net install image and not AMD64. AMD64 packages are incomplete and many are broken or have dependency issues.

Base Operating System Install

Download latest Debian testing and burn to CD. Boot from CD and select text install (not GUI).

[ Add actual install details later... ]

You're finished. Remove CD and reboot system.

Login to system with username and password added during install. Change to root user:

$ su

Package Download - aptitude

An overview of what we're gonna do:

01. xserver-xorg-core xorg
02. kde-core. When kde starts first-time set speed to low for faster response.
03. Edit apt-get sources file. Add non-free contrib
04. Install msttcorefonts
05. Install gtk-qt-engine
06. copy .Xdefaults to ~
07. copy .bashrc to ~
08. change icons on panel
09. Install kword
10. install iceweasel
11. install ksnapshot
12. install kpdf
13. Install gtk-qt-engine
14. Install netselect-apt
15. Install Tahoma fonts to ~/.fonts dir
16. install adblock,
17. install adblock filterset.G updater
18. install adblock element hiding helper
19. install flashblock
20. Restart firefox/iceweasel
21. add filterset.G subscription - Easylist
22. add filterset.G subscription - Filter von Dr Evil
23. install amarok
24. install kwrite
25. install kate
26. change fonts - kate
27. change fonts - kwrite
28. install mplayer
a. install codecs pack
download codecs from
unzip and copy contents to /usr/local/lib/codecs or /usr/lib/codecs.
Check the enclosed README file for details
b. install new mplayer skin
download skin from skins dir:
unzip and copy to skins directory in your home directory:
Start mplayer, right click on GUI and select skin browser, click OK.
Restart mplayer
29. Adjust focus to follow mouse
30. Add firefox to panel and change icon
31. Add kwrite to panel and change icon (under mimetype)
32. Change home button for system (under devices)
33. Add flashplayer plugin for firefox.
cd .mozilla in home dir
create dir called plugins
download from adobe
open gzip
copy to plugins dir
restart firefox
34. remove google search box from firefox tool bar
35. remove home icon from firefox tool bar
36. Delete most visited from firefox toolbar
37. delete get started from firefox toolbar
38. rename latest downloads to BBC
39. add googel search to toolbar
40. add to toolbar
41. move adblock plus icon to status bar
42. install kaffeine
43. firefox main - home page show blank page
44. firefox main - downloads ask me where to save files
45. firefox content - disable java
46. firefox content - javascript - disable advanced entries
47. firefox content fonts - georgia, tahoma, courier new
48. ffox content link colors - dark red
49. ffox privacy cookies till close ffox
50. ffox advanced warn on redirect
51. Setup Sound install ALSA:
aptitude install alsa-base alsa-utils alsa-oss
configure alsa: alsaconf
mostly accept defaults. answer as best you can.
check volume settings: alsamixer
adjust if necessary. close alsamixer.
save settings with alsactl store
alsactl store
Play a sound file. If you don't have a media player, install one.
52. install kmix: aptitude install kmix
53. install Conky
copy .conkyrc file to home dir
Make conky autostart in kde by creating a symlink in autostart dir
cd .kde/Autostart
ln -s /usr/bin/conky conky
54. install fortune: aptitude install fortune
add following to .profile
if [ -x /usr/games/fortune ] ; then
This will give a fortune each time xterm is launched
The above is the clean version
If you want the offensive version, add it after you install fortune:
aptitude -y install fortunes-off
You can also add BOFH quips if you like:
aptitude -y install fortunes-bofh-excuses

55. Setup Printing
aptitude -y install cups
Now CUPS is installed, here are the steps to getting it going:
As root
1.) Open file /etc/cups/cupsd.conf and comment out the following:
# AuthType, AuthClass and AuthGroupName
2.) Open file /etc/hosts.allow and add:
cupsd : ALL
3.) Copy the printer PPD file to cups model directory:
# create model dir: mkdir /usr/share/cups/model
# cp SM3050.PPD /usr/share/cups/model/

If you have installed the printer on a windows machine the PPD file is in the printer directory. For example my Samsung printer, I found the Samsung.PPD file I needed in:

C:\Program Files\Samsung\Samsung ML-3050 Series PS\Install\PRINTER\PS\English\WINXP2K\SM3050.PPD

So find your printer directory in C:\Program Files\ and have a dig around. Remember, your looking for a file with .ppd extension. You search on the extension if you wish.

4.) Restart Cups server
# /etc/init.d/cups restart
5.) Run the following command:
/usr/sbin/lpadmin -p Samsung -E -m SM3050.PPD -v socket://
Set default printer
/usr/sbin/lpadmin -d Samsung
6.) Check the status of the printer:
# lpstat -p -d
printer Samsung is idle. enabled since Tue 21 Oct 2008 15:00:51 BST
system default destination: Samsung
7.) Set users in lpadmin
# lpadmin -p Samsung -u allow:all
8.) Check print status
# lpstat -s
system default destination: Samsung
device for Samsung: socket://
Add entry to hosts.deny: ALL: ALL # blocks all services to all hosts
Add entry to hosts.allow ALL: # allows all services to address range

CUPS Setup:
After installation in browser add address: http://localhost:631
This will open a window to configure the cups server.
Click add printer
Add Name: Samsung
Add Location: none
Add Description: Samsung Mono Laser Printer > Continue
Device: Internet Printing Protocol (ipp) > Continue
Device URI: socket://
Make/Manufacturer: Samsung
Provide a PPD File: Browse
Select Samsung.PPD file already saved
Click > Add Printer
Dialogue box opens requesting User Name and Password
User Name: root
Password: root's password
Dialogue closes and confirms Samsung has been added successfully
Click Printers tab
Click Print Test Page
Printer should generate page if its installed and setup correctly.

Now we need to setup KDE printer subsystem.
Remember KDE is not the OS its only a layer that sits on top of the OS
KDE can only offer services available from the OS. Soooo
if printing is not setup in the OS, ie CUPS not installed
KDE printing will not work, or cannot offer print services.

After CUPS is set up and you have printed a test page the Samsung printer will show up in KDE.

Kcontrol > Peripherals > Printers
Opens dialogue box.
Click Print system currently used:
Normally set to: Generic UNIX LPD Print System (default)
Click drop down arrow and select
CUPS (Common UNIX Print System)
Click Administrator Mode
In Dialogue Box give root password:
Printer Box Opens
Click Settings
Set page size: A4
Click OK
Close Printer Box

Open KDE app such as kwrite and test printing.

Configure KDE

Appearance Themes
Background: desktop color to R:0 G:0 B:30 HTML:#00001E
- Colors: leave for moment. I want to experiment later.
- Fonts: tahoma 8 trebuchet 10 courier new 9. Enable AntiAlias. Force fonts DPI: 96DPI
- GTK Styles Fonts: Use KDE style in GTK apps
- Use KDE fonts in GTK apps
- Firefox: fix buttons
- Icons: leave
- Launch Feedback: none
- Screensaver: Blank
- Splashstyle: leave
- Style: leave
- Theme: leave
- Window Decor: Animate buttons - No
- Buttons tab: Use custom titlebar button: On all desktops
- show icons: no
- show tooltips: no
- Multiple Desktops
- Mouse wheel switches desktop: yes
- Nr desktops: 4
- Panels:
- Animate hiding: no
- Taskbar: show window all desktops: no
Window Behaviour:
- focus follows mouse
- titlebar actions: title wheel event: shade/unshade
- Moving:
- display contents move: no
- display contents resize: no
- display window geometry: yes
- animate minimize/restore: no
- allow move/resize maximized windows: yes
- border snap: 15px
- window snap: 15px
- snap on overlap
Window specific settings:
- new: window
- description: Iceweasel Browser
- Window class: Iceweasel - exact match. Match whole class: no
- window role: browser - exact match.
- Window Extra:
- Window types: Normal window
- Geometry: size: Remember: 700,900
- Preferences: leave
- Workarounds: leave
Internet & Network
- leave
KDE Components
- leave
- leave
Regional & Access
- keyboard layout: enable layouts: yes
- layout: United Kingdom: GB
- Keyboard model: Generic 105-key international
- Security & Privacy
- leave
Sound & Multimedia
- leave
System Admin
- Date/Time: leave
- Font: leave
- Login: leave
- Paths: change

Restart X/KDE for changes to take affect in firefox/GTK apps

Configure Konqueror Browser

Sets konqueror window size to 800x1000 each time it opens.
- Fix Konqueror window size to: 800x1000
- Settings: Web Browsing: Save URL in profile: no
- Save window size in profile: yes
- Save and close

- Configure Konqueror
- Behaviour: leave
- Appearance: leave
- Previews: leave
- File assoc: leave
- Web Behaviour: Show only marked bookmarks in bookmarks toolbar
- Tabbed browsing: Open links in tabs: yes
- Animations: show only once
Java & Javascript
- Java: disable
- Javascript Policy: Open new windows: deny
Adblock Filters
- Enable Filters: yes
- Download filterset.G text file and import
- Minimum font size: 7px
- Medium font size: 9px
- Standard: Tahoma
- Fixed: Courier New
- Serif: Georgia
- Sans serif: Verdana
- Cursive: Sans serif
- Fantasy: Sans serif
Web Shortcuts: leave
History Sidebar: leave
- All cookies as session cookies: yes
Cache: leave
Proxy: leave
Stylesheets: leave
Crypto: leave
Browser ID: Send id: no
Plugins: leave
Performance: leave

Debian Releases

Toy Story Theme

Debian releases use characters from the movie "Toy Story".

Release names and dates:

1.1 -- Buzz -- Jun 1996
1.2 -- Rex -- Dec 1996
1.3 -- Bo -- Jun 1997
2.0 -- Hamm -- Jul 1998
2.1 -- Slink -- Mar 1999
2.2 -- Potato -- Aug 2000
3.0 -- Woody -- Jul 2002
3.1 -- Sarge -- Jun 2005
4.0 -- Etch -- April 2007
5.0 -- Lenny -- TBA
6.0 -- Squeeze -- TBA

You know they're gonna run out of names. The search for another movie begins soon.

Adblock In Konqueror

Kill Those Ads

If you run the Konqueror browser and want to kill ads, its quite simple. Konqueror has inbuilt Adblocker. What it lacks is a list. Use the Filterset.G list. Go to:

and click on the adblock filter list. Its normally located at the top of the page, named something like:


Save the file to a location you can remember and access.

From Konqueror the tool bar:

Settings > Configure Konqueror > Adblock Filters > Enable filters > Hide filtered images > Import

A dialogue box opens asking for the Adblock Filterset.G list location. Go to the file and select it.
Click Apply > OK.

Now your surfing "Ad Free"tm.

That's about it.

Adding Fonts Debian And Linux

The Fast Way

To add fonts quickly to your system, create a .fonts directory in your home directory:

$ mkdir /home/myname/.fonts

Then add the fonts you want to directory for them to be available immediately.

$ cp old-ttf-fonts.ttf ~/.fonts

This asjavascript:void(0)sumes you have already downloaded the fonts or copied them from the old Windows 98 machine your now using as a doorstop. You can do this as a regular user, you don't need to be root.

You may need to close and restart Konqueror to see them. KDE sees them right away.

That's all there is.

Fastest Debian Servers

Who's Fastest?

To find the fastest Debian mirrors use netselect-apt. Its simple to use. Install it first:

# aptitude install netselect-apt

Now check which servers are best to update "lenny".

# aptitude netselect-apt lenny

The fastest server seems to be:
Writing sources.list. sources.list exists, moving to sources.list.1226001532

As you can see it updates the sources.list when its work is done.

To use ftp servers:

# netselect-apt -f lenny

To use use non-free respositories:

# netselect-apt -n lenny

Another Debian mirror locator is apt-spy, but I've never used it. Check it out if your interested.

That's about it.

BIOS Beep Codes

Computer POST

At startup computers run through a pre-boot check list of items to ensure everything is hunky dory with the attached hardware components. The process is known as POSTing. POST is an acronym for Power On Self Test.

A fully functional computer will normally give a single beep at bootup. The single beep indicates everything is okay and will continue with the boot process and load the operating system.

If the computer gives any other beeps or no beeps, you have a problem.

Common BIOS systems beep codes:

AMI (American Megatrends') BIOS
Beep Codes
one short DRAM refresh failure (Problem with memory)
two short Parity circuit failure
three short Base 64K RAM failure
four short System Timer failure
five short Processor failure
six short Keyboard Controller / Gate A20 failure
seven short Virtual Mode Exception error
eight short Display Memory Read/Write failure (fault with video card)
nine short ROM BIOS Checksum error (fault with BIOS chip)
ten short CMOS Shutdown Read/Write error
eleven short Cache memory
one long Passed (no errors)
one long, two short Video failure
one long, three short Base / Extended Memory failure
one long, eight short Display / Retrace Test failure

Phoenix BIOS
Beep Codes
one, one, three CMOS Read/Write
one, one, four ROM BIOS Checksum failure
one, two, one Programmable Interval Timer failure
one, two, two DMA Initialisation failure
one, two, three DMA Page Register Read/Write failure
one, three, one RAM Refresh Verification error
one, three, three First 64K RAM Chip/Data Line failure
one, three, four First 64K RAM Odd/Even Logic
one, four, one First 64K RAM: Address Line
one, four, two First 64K RAM: Parity failure
one, four, three Fail-Safe Timer Feature (EISA only)
one, four, four Software NMI Port failure (EISA only)
two (plus combo) First 64K RAM Chipfailure (combo indicates bit)
three, one, one Slave DMA Register failure
three, one, two Master DMA Register failure
three, one, three Master Interrupt Mask Register failure
three, one, four Slave Interrupt Mask Register failure
three, two, four Keyboard Controller failure
three, three, four Display Memory failure
three, four, one Display Retrace failure
three, four, two Video ROM search proceeding
four, two, one Timer Tick failure
four, two, two Shutdown failure
four, two, three Gate A20 failure
four, two, four Unexpected Interrupt in Protected Mode
four, three, one RAM test above 64K failure
four, three, two/three Programmable Interval Timer, Channel 2 failure
four, three, four Realtime Clock failure
four, four, one Serial Port error
four, four, two Parallel Port error
four, four, three Math Co-processor failure
(tone) one, one, two System Board Select
(tone) one, one, three Extender CMOS RAM

Check the series of beeps (or lack of) against the tables and its a starting point for troubleshooting your system.

That's about it.

Broadband Speed Test

Do You Know How Fast You Were Going Back There?

No officer. Unlike cars and motorbikes, computers don't have a speedo to let you know how fast your going or rather how fast your net connection is.

There's a nice broadband speed test at You need Javascript enabled to run the test.

In theory we should achieve speeds "Up to" 24 mega bits per second, less a little for overhead. I tested today and we got 4.3. We lost 20 in transit, somehow.

The search for a new ISP begins.

Kmix KDE Volume Control

Kmix. Where's it Gone?

KDE' s volume is handled by Kmix, which is not included if you did a minimal or cut-down install. I run Debian so adding Kmix is simple:

# aptitude install kmix

Check the menu and it should be listed under Multimedia. Click to start and it will sit in the panel by the clock.

Adjust your volume and your done.

That's about it.

KDE Kprinter

If you use KDE you'll know that KPrinter handles printing tasks for applications in KDE. What you may not know is KPrinter can be used as a standalone package.

If you want to print a file, you don't need to open an application. Run KPrinter and print what you like.

You can either launch it from the command line and select the file to print:

$ kprinter

or pass it an argument:

$ cat file | kprinter --stdin

That's about it.

KDE / Firefox Window Size

Geometry Geometry Geometry

I use KDE, cos I like it. I run a lean cut down version and it suits me fine. I like the look and feel of KDE. Its easy to customise, has plenty of eye candy, if you want it and it does what I want... most of the time.

One thing irritated me. Firefox window size would re-set to the size when last closed. Sometimes opening to fill the entire screen, other times, it was small as a dialogue box.

In KDE you can control the size of any desktop window. Do:

KControl > Desktop > Window-Specific-Settings > New >

Description: Browser
Window class (application type): Iceweasel

Window Extra

Position: 1220,0
Size: 700,900



OK > Apply

For application Firefox (known as Iceweasel in Debian), it will open a normal window 700x900 in the top right hand corner of my screen. Great. Just what I wanted.

As I have a widescreen monitor, these settings work for me. You'll have to experiment to find out what's best for your hardware.

That's about it.

Network Printing Setup

Standalone Network Printer

I setup a standalone network printer to provide printing services. The printer has a LAN card and is not connected to a computer. It has its own ip address on the LAN and is OS independent.

Linux will need CUPS. Windows will recognise the printer but will require drivers available to each machine that uses the printer services.

Assuming CUPS is already installed on your machine, here are the steps I took to getting it going.

As root:

1.) Open file /etc/cups/cupsd.conf and comment out the following:

# AuthType, AuthClass and AuthGroupName

2.) Open file /etc/hosts.allow and add:

cupsd : ALL

3.) Copy the printer PPD file to cups model directory:

# cp SM3050.PPD /usr/share/cups/model/

4.) Restart Cups server

# /etc/init.d/cups restart

5.) Run the following command:

/usr/sbin/lpadmin -p Samsung -E -m SM3050.PPD -v socket://

6.) Check the status of the printer:

# lpstat -p -d
printer Samsung is idle. enabled since Tue 21 Oct 2008 15:00:51 BST
system default destination: Samsung

7.) Set users in lpadmin

# lpadmin -p -u allow:all

8.) Check print status

# lpstat -s
system default destination: Samsung
device for Samsung: socket://

I haven't detailed Cups setup. I can do that sometime later.

Thats about it.

KDE Network Printer Settings

Samsung CUPS Printer - Kcontrol

Type: Local Printer

State: idle (accepting jobs)


Description: Samsung ML-3050N Laser Printer

URI: ipp/localhost:631/printers/Samsung

Device: socket://

Model Samsung ML-3050 Series PS

Thats about it.

Fonts in Debian

Using True Type Fonts

To improve the font set available to Debian (and Linux in general) download and install True Type Web Core Fonts. These were made available by Microsoft in a moment of madness, then later pulled (donaters remorse).

As root:

# aptitude install msttcorefonts

Debian will download and install the fonts ready for use.

These are my KDE font settings:

General: Tahoma 8
Fixed width: Courier New 9
Toolbar: Tahoma 8
Menu: Tahoma 8
Window Title: Trebuchet 10
Taskbar: Tahoma 8
Desktop: Tahoma 8

Use anti-aliasing: Enabled
Force fonts DPI: 96 DPI

Exclude range: 0.0pt to 12.0pt
Hinting style: Full (could be reduced to Medium)

It makes such a difference. I did a previous post on Poor Fonts in GTK apps running in KDE.

There's a good read on Linux fonts: Optimal Use of Fonts on Linux. It has some spelling errors and typos, just ignore them.

That's about it.

Debian Sound Setup

Minimal Install Sound Setup

I did a minimal install of Debian, then added stuff as I needed it. Setting up the sound system on a modern Linux is relatively simple, once you have the steps to follow.

1) Ascertain sound card installed on your box. Use "asoundconf"

$ asoundconf list
Names of available sound cards:

2) Install ALSA drivers.

# aptitude install alsa-base alsa-utils alsa-oss

3) Configure ALSA.

# alsaconf

Run alsaconf. Answer the questions best as you can. Mostly accept defaults.

4) Adjust volume with alsamixer (or other similar).

# alsamixer

5) Save volume settings with alsactl.

# alsactl store

Play a sound file. If you don't have a music player or a media player, now is the time to install.

6) aptitude install audacious

Try again. You should hear music. You may need to adjust volume. Use alsamixer or another similar mixer and save settings.

That's about it.

MPlayer Skins

Changing MPlayer Skins

Changing MPlayer skins is a simple process. Find the skin you like. Have a look at MPlayer skins or checkout Freshmeat skin section.

Download it. Extract and dump it in the skins directory, normally .mplayer/skins/.

Restart mplayer, right click on GUI and select skin browser from drop-down menu.

Select skin and click OK.

Restart MPlayer GUI, and enjoy your new skin.

Thats about it.

MPlayer - WMV Error Message

Error: could not open required directshow codec wmvdmod.dll

Another minor problem in MPlayer, when I tried to play a WMV file, I got this error message:

# Error: could not open required directshow codec wmvdmod.dll

Seems mplayer does not have the right codecs to play the video. Lets fix it.

Go to codec page and download the full codec package:

Click to download: essential-20071007.tar.bz2 the latest codec bundle.

After download, as root, unzip the codec file and copy its contents to /usr/lib/win32/.

# bunzip2 essential-20071007.tar.bz2
# tar xvf essential-20071007.tar
# cd /usr/lib/win32
# cp /home/myname/essential-20071007/* .

Restart MPlayer and enjoy the show.

MPlayer GUI Error Message in Linux

Fixing MPlayer GUI

MPlayer is a great piece of software. It is easily the best media player available. Most of the time it runs flawlessly. Occasionally it hiccups, on minor stuff.

I normally run mplayer from the command line, but I noticed if you try to auto-launch it through file associations, it complains and fails to run. Fixing it is easy.

Open mplayer GUI. Click on the spanner to open Preferences. Click on Video and select xv ..... X11/Xv.

As I run nVidia hardware, the default selected driver "xmga" is for the Matrox graphics card. By selecting "xv", I switched to the nVidia driver to solve the problem.

By clicking on a video file, mplayer GUI launches without complaint.

MPlayer Zoom

One other minor point. I noticed when I enlarged the windows size mplayer did not enlarge the rendered images. The window got bigger, the video image did not. To fix this, change to .mplayer in your home directory and open the config file:

$ cd /home/myname/.mplayer
$ vim config

Add the following line, then save and exit.

$ zoom = yes

Restart MPlayer GUI, playing a video, and resize the screen. MPlayer should comply.

That's about it.

Linux Firefox - Install FlashPlayer HowTo

Linux Firefox and FlashPlayer

Installing Flash in Windows is straightforward, a few clicks and its done. Installing FlashPlayer in Linux is not so easy. If you visit a site with Flash content, Linux Firefox will offer to install the Flash driver, fail and offer to download it manually. If you get this far, this is howto finish the manual install.

Download the Linux Flash plug-in. It will be wrapped in a gzipped tar file. Save the file to your home directory. Unzip it and extract the file:

$ gunzip install_flash_player_9_linux.tar.gz
$ tar xfv install_flash_player_9_linux.tar

change into the newly created directory:

$ cd install_flash_player_9_linux

You'll see a file "". The flash plugin your after. Copy the plugin to Firefox's plugin directory.

Here's the tricky part. There is no stock plugin directory, far as I can tell. What's more, the Firefox developers keep moving it to a new location with each release.

I googled and found references to /usr/lib/firefox/plugins/ or /usr/lib/mozilla/plugins/ or /usr/lib/mozilla-firefox/plugins/.

In my Debian install I don't any of the above. As a result of the politicking, Debian re-brands "Firefox" as "Iceweasel" You can read all about the spat at On my Debian box, I have /usr/lib/iceweasel/ but it has no plugins directory. I googled and found a few results and it appears you can create your own, either in /usr/lib/firefox/plugins/ or under the home directory /home/myname/.mozilla/plugins/. Lets do that.

$ cd /home/myname/.mozilla/
$ mkdir plugins
$ cd plugins;

Copy the plugin to the newly created plugins directory:

$ cp /home/myname/install_flash_player_9_linux/ .

To play safe, we can copy it to the mozilla/firefox/iceweasel plugins directory, so lets do that.

As root:

# cd /usr/lib/iceweasel/
# mkdir plugins
# cd plugins

Copy the plugin to the newly created plugins directory:

# cp /home/myname/install_flash_player_9_linux/ .

Now restart Firefox (or Iceweasel or whatever your version is now called).

Go to and enjoy Flashplayer in Linux Firefox.

Thats about it.

Firefox - Poor Fonts In KDE

Fixing Firefox Fonts

Firefox application fonts are rendered poorly in KDE. Firefox is a GTK application and as such does not utilise the QT widgets used in KDE. This produces bad fonts in the application window. To fix this in Debian install the gtk-qt-engine, which allows GTK apps to render correctly.

As root do:

aptitude install gtk-qt-engine

Restart Firefox and be amazed at the quality.

As a sidenote, I tend to use aptitude for my install, searches, deletes, updates and upgrades in Debian. You can use apt-get if you wish. Just replace the "aptitude" with "apt-get". I switched to aptitude some time back, as it takes care of any dependencies.

Thats about it.


Indispensable Wisdom

One thing I love about Linux/Unix systems is the random wisdom and humour dispensed with Fortune. If you run Linux/Unix, you'll know what I mean.

As I'm Irish, I can tell this joke.

$ fortune
Q: What's the difference between an Irish wedding and an Irish wake?
A: One less drunk.

$ fortune
"They're unfriendly, which is fortunate. As they'd be difficult to like."
-- Avon

$ fortune
Mitchell's Law of Committees:
Any simple problem can be made insoluble if enough meetings are held to discuss it.

Computer PSU

The Power Supply Unit

If you build your own computer or modify a machine you got, its easy to overlook the power demands of your system. Modern computers are power hungry and you should ensure your power supply unit is up to the job.

Typical component power demands:

Component Requirement
Motherboard 20 - 30W

CPU Pentium 2 30W

1.0 GHz P 3 34W
1.7 GHz P 4 65W
1.4 GHz Athlon 70W

RAM 8W per 128MB

Graphics Card 20 - 50W

Hard Disk Drive
7200rpm IDE 5 - 15W
7200rpm SCSI 24W
10,000rpm SCSI 10 - 40W

50x CD-ROM 10 - 25W
12x DVD-ROM 10 - 25W

12x CD-R/RW 20W
12x CD-ROM 12W

PCI Card 5W
10/100 NIC 4W
SCSI Ctrl PCI 20-25W
SCSI PCI card 5W

Floppy drive 5W

This should provide enough info to check your PSU is up to the job.

Total the component values and work on 75% - 80% capacity. Leave a little in reserve for surges or unusually heavy demands.


Emacs and MAC New Line Character

A MAC file text file opened in some unix tools, display the text as one long line with ^M inserted in where a newline character should be. If you try to replace the ^M using emacs, it will display the file correctly but will not replace the newline chars. Emacs interprets the characters correctly.

To replace the ^M chars do this:

M-x set-buffer-file-coding-system RETURN unix

Emacs suggests:

ctrl-x RETURN f unix RETURN

Save the file and it will have the correct newline chars.

If its an MS text file, do this:

ctrl-q ctrl-m RETURN
ctrl-q ctrl-j RETURN
! (replaces for entire file)

That's it.

Conky - System Monitor

See Whats Happening

Here's the blurb:

Conky is a light-weight system monitor to display system activity. It runs on X-11, is very light on system resources, and very easy to set up. The configuration is done through ~/.conkyrc file.

In KDE to get Conky to autostart at boot, create a symlink in your .KDE autostart directory:

$ cd /home/myname/.kde/Autostart
$ ln -s /usr/bin/conky conky

$ ls

$ ls -l
total 12
drwx------ 2 user 16 2008-07-11 01:10 ./
drwx------ 5 user 48 2008-10-13 22:15 ../
lrwxrwxrwx 1 user 14 2008-11-06 00:37 conky -> /usr/bin/conky*
-rw-r--r-- 1 user 1950 2008-07-05 10:48 .directory

Have a look at the Conky site:

Have a look at the faq file:

And have a look at the screenshots for ideas:

There's a good howto on Gentoo's Website:

Conky is designed to display on the root desktop (ie the first) but that's easily changed by editing .conkyrc. You can run it in its own window if you don't want it stuck to the deskop:

conky -o

Its fairly basic, but here's a copy of my .conkyrc:

# Create own window instead of using desktop (required in nautilus)
own_window true
own_window_hints undecorated,below,skip_taskbar
background false
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer true
# fiddle with window
use_spacer right
use_xft true
# Update interval in seconds
update_interval 3.0
# Minimum size of text area
minimum_size 400 5
# Draw shades?
draw_shades true
# Text stuff
draw_outline false # amplifies text if yes
draw_borders false
uppercase false # set to yes if you want all text to be in uppercase
# Stippled borders?
stippled_borders 8
# border margins
border_margin 4
# border width
border_width 1
# Default colors and also border colors, grey90 == #e5e5e5
default_color white
default_shade_color black
default_outline_color white
own_window_colour brown
own_window_transparent true
# Text alignment, other possible values are commented
alignment top_left
#alignment top_right
#alignment bottom_left
#alignment bottom_right
# Gap between borders of screen and text
gap_x 10
gap_y 10
# stuff after 'TEXT' will be formatted on screen
override_utf8_locale no
xftfont Terminus:size=8
xftalpha 0.8
${offset 0}${color slate grey}${time %a, } ${color }${time %e %B %G}
${offset 0}${color slate grey}${time %Z, }${color }${time %H:%M:%S}
${offset 0}${color slate grey}UpTime: ${color }$uptime
${offset 0}${color slate grey}Kern:${color }$kernel
${offset 0}${color slate grey}CPU:${color } $cpu% ${acpitemp}C
${offset 0}${cpugraph 20,130 000000 ffffff}
${offset 0}${color slate grey}Load: ${color }$loadavg
${offset 0}${color slate grey}Processes: ${color }$processes
${offset 0}${color slate grey}Running: ${color }$running_processes
${offset 0}${color slate grey}Highest CPU:
${offset 0}${color #ddaa00} ${top name 1}${top_mem cpu 1}
${offset 0}${color lightgrey} ${top name 2}${top cpu 2}
${offset 0}${color lightgrey} ${top name 3}${top cpu 3}
${offset 0}${color lightgrey} ${top name 4}${top cpu 4}
${offset 0}${color slate grey}Highest MEM:
${offset 0}${color #ddaa00} ${top_mem name 1}${top_mem mem 1}
${offset 0}${color lightgrey} ${top_mem name 2}${top_mem mem 2}
${offset 0}${color lightgrey} ${top_mem name 3}${top_mem mem 3}
${offset 0}${color lightgrey} ${top_mem name 4}${top_mem mem 4}
${offset 0}${color slate grey}MEM: ${color } $memperc% $mem/$memmax
${offset 0}${membar 3,100}
${offset 0}${color slate grey}SWAP: ${color }$swapperc% $swap/$swapmax
${offset 0}${swapbar 3,100}
${offset 0}${color slate grey}ROOT: ${color }${fs_free /}/${fs_size /}
${offset 0}${fs_bar 3,100 /}
${offset 0}${color slate grey}HOME: ${color }${fs_free /home}/${fs_size /home}
${offset 0}${fs_bar 3,100 /home}
${offset 0}${color slate grey}NET:
${offset 0}${color}Up: ${color }${upspeed eth0} k/s
${offset 0}${upspeedgraph eth0 20,130 000000 ffffff}
${offset 0}${color}Down: ${color }${downspeed eth0}k/s${color}
${offset 0}${downspeedgraph eth0 20,130 000000 ffffff}

KDE - How To AutoStart Programs

I read a few posts on how to automate the launching of programs or applications when you log into your system. Many were confusing, some where misleading and will not work. Some suggest putting an entry in .bashrc. Fine, but what happens if you don't start your X system? I sometimes run with no GUI, just working on the console. If its an X app it will try to launch.

Admittedly it will work once X is running but you hit another problem. Each time you start an XTerm, you launch another instance of the program.

Another suggestion was to add the entry to .profile. Again this is fine if your running X. If not, same problem as above.

To get an X11 application to launch when you start KDE, go to your home directory. Find the hidden KDE autostart directory .kde/Autostart:

cd /home/myname/.kde/Autostart

Find the location of the program you want to start. If you want to start Emacs, type:

which emacs

The system will respond with the location of emacs. (or whatever program you choose). Create a symbolic link to the binary (program) location:

ln -s emacs /usr/bin/emacs

Check the directory and you'll see the link you've created:


Do a long listing:

ls -l
emacs -> /usr/bin/emacs

Log out of KDE and log back in. Emacs should launch when the desktop loads.

XTerm - Display Path In Title Bar

I keep a short prompt that displays my current directory and the system I'm currently working on. Something like this:

[comanche etc] $

Its nice to have a display of the full path, saves having to 'pwd' to get it.

Here's how to do it:

cp .profile
vim .profile

Add the following to .profile in /home directory

case $TERM in
PROMPT_COMMAND='echo -ne "\033]0;${USER} ${HOSTNAME}: ${PWD}\007"'

Save the file. Log out and log back into the system.

XTerm will display full path to your current directory.

XTerm and Fortune Cookies

I love the wisdom dispensed in fortune cookies each time I launch an XTerm. With the minimal clean install of Debian, I had to setup fortune cookies manually. Here's the steps.

Install the package using aptitude:

    aptitude install fortune

Change settings to ~/.profile in my home directory so fortune starts when I login. Make a copy of the original file before editing starts:

    cp .profile .profile.orig
    vim .profile

Check the location of fortune on the system. Its normally /usr/games/fortune.

    which fortune

Add the following to .profile:

    if [ -x /usr/games/fortune ] ; then

Log out and log back into the system. Launch XTerm and enjoy fortune.

This only install the "clean" version of fortune. If you want the whole hog, install fortunes-off as well, but be warned, this is NOT for those easily offended.

    aptitude install fortunes-off

You can also install the BOFH excuses file, for more laughs:

    aptitude install fortunes-bofh-excuses

That's about it.

Debian Minimal Install - 4

Debian Minimal Install cont...

To complete...

Firefox Speedup

Faster Fox

Use the following to speedup Firefox.

1) Type “about:config” into the address bar and hit return. Type “network.http” in the filter field, and change the following settings (double-click on them to change them)

2) Set “network.http.pipelining” to “true”

3) Set “network.http.proxy.pipelining” to “true”

4) Set “network.http.pipelining.maxrequests” to 8 (recommended by Firefox devs)

5) Right-click anywhere and select New-> Integer. Name it “nglayout.initialpaint.delay” and set its value to “0″. This value is the amount of time the browser waits before it acts on information it receives. With it set to zero the page just pops up, it’s a dramatic change.

See how ya go.

Debian Minimal Install - 3

Samba, Printing, and NTFS

Talking to the enemy!!!

Printing is essential on any computer system, so lets set up our printer. Plug in the printer and switch it on. If the printer has a USB connection it should be quickly recognised. If it has a parallel or serial connection it may need a reboot.

Install the CUPS printing system:

# aptitude install cups

To complete...

Debian Minimal Install - 2

The minimal install is complete, now we need applications to make the system usable. We have Firefox (iceweasel) installed, I also use Konqueror for browsing the Web. Konqueror has an inbuilt AdBlock, but no filters. Go over to the Filterset-G website and pull-down the latest filter:

Its named something like: 2008-01-01-MERGED.txt

Download the file to your home directory. Then click on:

Settings > Configure Konqueror > AdBlock Filters > Import.

Highlight the filter file you downloaded and click on:

Open > Enable Filters > Apply > OK.

Your done. Refresh your browser page if its open and AdBlock will do its thing.

We need a movie player, MPlayer is the best Linux movie player around. Lets install it:

# aptitude install mplayer

Amarok is great for playing sounds:

# aptitude install amarok

OpenOffice has a nice set of apps, if a little on the heavy side.

# aptitude install OpenOffice

If you don't need anything so comprehensive or heavy as OpenOffice, KOffice will do the job, so:

# aptitude install KOffice

I've used KOffice, its nice though a little buggy. You choose.

We need a PDF reader. I use KPDF which is nicely integrated into KDE, but others are available. There's XPDF, Evince, GhostView, ViewPDF, and others.

# aptitude install KPDF


# aptitude search "PDF"

to select a different PDF reader. Search through the list and download the one you like.

Adobe offers a Linux version of their PDF Reader. It comes in .rpm format, which means you'll need to convert it to .deb if you want to use it. Its available for download from Adobe's website.

That's about it.

Fastest Debian Servers

Serve Me!

If your doing a net install of Debian, you need a fast net connection. You also need to use the fastest server to feed your downloads. Particularly if you have a lot of stuff to pull down or a large update you need to run. Fast servers are an absolute must.

Meet netselect-apt. It eliminates the guesswork and its dead easy to use with a few options.

netselect-apt identifies the fastest Debian servers available for download.

netselect-apt pings available Debian servers and compiles a list of the fastest for you to select from. First, we install netselect-apt:

aptitude install netselect-apt

Then get some results:


It takes a couple of minutes to poll available servers and write a sources.list containing the winners in your current directory.

The available options include:

-n to include non-free
-f to use ftp

You can also stable, testing, unstable, experimental, etch, lenny, woody, sarge, and sid as other options.

netselect-apt -n -f lenny


netselect-apt -n -f testing

Run netselect-apt before a major update or upgrade, as you'll notice server speeds change depending on connection speed and workload.

XTerm Font Settings

XTerm uses a default font unless you enter a selection in .XDefaults in your home directory. The default font doesn't always look great.

I selected an alternative font for XTerm. I opted for lucidatypewriter, monospace font. Here's the setting I used.

XTerm*font: -*-lucidatypewriter-medium-*-*-*-12-*-*-*-*-*-*-*

At this size, the font renders well and looks clean. I found using anti-aliasing at these sizes, the fonts look "dirty".

The rest of the .Xdefault looks like this:

XTerm*background: white
XTerm*foreground: black
XTerm*pointerColor: black
XTerm*pointerColorBackground: white
XTerm*cursorColor: blue
XTerm*internalBorder: 2
XTerm*loginShell: true
XTerm*ScrollBar: true
XTerm*scrollBar.width: 10
XTerm*ScrollKey: true
XTerm*SaveLines: 1000
XTerm*multiClickTime: 250
XTerm*VT100.geometry: 80x20
XTerm*rightScrollBar: true
XTerm*title: XTerm

One point to note is the XTerm geometry setting specifies VT100. This prevents XTerm menus from displaying in a ridiculously small size.

Debian KDE Minimal Install - 1

Cut Down KDE Install in Debian

I did a minimal install of Debian Testing (Lenny) with a minimal KDE. Its surprising how fast, snappy and responsive the whole system was after running Fedora 9 for two months. I ran Fedora 9 with both Gnome and KDE 4. KDE 4 is great although still a little buggy, so I'm sticking with KDE 3.5 for now. Its stable and it works.

Back to the HowTo. You'll need a fast connection to the net. If your on dial-up, don't bother followint this HowTo, install from CD or DVD instead.

To start the install, download a netinstall CD from Debian's website and burn it to disk:

Select the file that matches your CPU type (probably i386 or AMD64).

Burn the image to disk. Reboot your machine using the CD. If your machine won't boot off the CD you'll need to go into your BIOS and change the boot settings to make the CD/DVD the first boot device.

After booting, hit enter to load Debian and start the install.

1. Select you language
2. Select country
3. Select keyboard
4. Enter machine hostname
5. Enter domain name
6. Partition disk/s
7. Enter root password
8. Create user account
9. Enter user password
10. Select base install. Deselect desktop option. We don't want it
11. Select country mirror
12. Say yes to participate in popularity contest
13. Select GRUB boot loader
14. Install finished. Remove CD and reboot
15. Log in as root
16. Edit /etc/apt/sources.list
17. Add: deb lenny main contrib non-free
18. Add: deb-src lenny main contrib non-free
19. Update Debian by typing: aptitude update
20. Upgrade Debian by typing: aptitude upgrade
21. Install X: aptitude install xserver-xorg-core xorg
22. Install KDE: aptitude install kde-core
23. Install some decent fonts: aptitude install msttcorefonts
24. Install Emacs: aptitude install emacs
25. Install pdf reader: aptitude install kpdf
26. Reboot

You'll be the proud owner of a brand new minimal install of Debian with a cut down KDE.

You'll probably need to install few things such as openoffice, mail client, and so on. As you've seen above, using Debian's powerful installer, its kids play.

If you can't find the item your looking for or don't have the correct package-name, try "aptitude search package-name". You can search for packages at Debian's website or try "google package-name debian" and see what you get.


Codecs & Formats - Video

What It

Codec is an acronym for Compress-Decompress. Codecs are used to compress and decompress audio and video data to save diskspace and bandwidth. The compressed audio and video streams are stored in a container with additional metadata.

Some examples of video codecs:



DV (Digital Video) is both a video codec and a video/audio container format used primarily in camcorders.

* As a container format, it contains video in DV (the codec) format, and audio in uncompressed PCM format. The audio can be either 2 channels at 16 bits and 48kHz, or 4 channels at 12 bits and 32 kHz. Each frame is exactly 120,000 bytes (NTSC) or 144,000 bytes (PAL), and the frame rate is fixed at the standard NTSC/PAL frame rate (29.97 or 25 frames per second, respectively).

* As a codec, it encodes video at 720x480 (NTSC) or 720x576 (PAL) pixels per frame. Frames are encoded independently, much like MJPEG?. Note that the field size is slightly wider than that of a standard television; the frame width must be cropped to 704 pixels to achieve the correct aspect ratio when displayed on a TV.


MPEG-1 was an early standard for lossy compression of video and audio. It was designed to compress VHS-quality raw digital video and CD audio down to 1.5 Mbit/s (26:1 and 6:1 compression ratios respectively) without obvious quality loss, making Video CDs, digital cable/satellite TV and digital audio broadcasting (DAB) possible.

Today, MPEG-1 has become the most widely compatible lossy audio/video format in the world, and is used in a large number of products and technologies. Perhaps the best-known part of the MPEG-1 standard is the MP3 audio format it introduced.

Despite its age, MPEG-1 is not necessarily obsolete or substantially inferior to newer technologies. According to Leonardo Chiariglione (co-founder of MPEG): "the idea that compression technology keeps on improving is a myth."


MPEG-2 is a standard for "the generic coding of moving pictures and associated audio information".[1] It describes a combination of lossy video compression and lossy audio compression (audio data compression) methods which permit storage and transmission of movies using currently available storage media and transmission bandwidth.


MPEG-4 Part 2 ("MPEG-4 ASP") is a video compression technology developed by MPEG. It is a discrete cosine transform compression standard, similar to MPEG-1 and MPEG-2. Several popular codecs including DivX, Xvid and Nero Digital are implementations MPEG-4.

MPEG-4 Part 10 defines a different format than MPEG-4 Part 2 and should not be confused with it. MPEG-4 Part 10 is commonly referred to as H.264 or AVC, and was jointly developed by ITU-T and MPEG.


An MPEG Program Stream, as found in a dvd vob file.


DivX is a commercial video codec created by DivX Inc. (formerly DivXNetworks Inc.). The DivX codec has become popular as it can compress large video segments into much smaller sizes while maintaining high video quality. The DivX codec uses lossy MPEG-4 Part 2 compression, also known as MPEG-4 ASP, where quality is balanced against file size.


Xvid is a video codec for PC's (codec is an abbreviation for [co]der/[dec]oder and describes a program to encode and decode digital video). The purpose of encoding video data is to reduce redundancies – that means to make it smaller for faster transmission over computer networks or for more efficient storage on computer disks.

Xvid can be seen as a ZIP for video. Unlike ZIP, Xvid is not lossless. That means a video after compression and decompression with Xvid won't be identical to the original source. Typically however, a difference to the source is visually imperceptible.

So Xvid removes information that is not important for human perception, which is somewhat similar to MP3 for audio. This enables very high compression rates that allow to effectively work with digital video on home computers at all. To give an example: uncompressed digital video is huge and requires about 100 GB per hour at PAL resolution. The same video would require just 500 MB per hour at very high quality when compressed with Xvid. That is a compression ratio of 200:1.

Xvid is Free Software and released under the GNU GPL license. This means that the source code of the software is publically available and programmers are allowed to make modifications to the code. Also, redistribution of Xvid is permitted but only under the terms of the GPL license.

So the GPL grants recipients more freedoms than it’s common with other software. Therefore, and due to its very high image quality that has been approved in independent tests conducted by third parties the Xvid codec has gained great popularity in the recent past and has become the codec of choice when it comes to exchanging digital video.

Container Formats


AVI (Audio Video Interleaved) containers usually hold an mpeg4 video stream and one or more audio streams, either mp3 or AC3.

There are two flavors of AVI, interleaved and non-interleaved. Interleaved consists of packets of video and audio "interleaved" to make synchronous playback and seeking possible. Non-interleaved consists of the entire video stream followed by the entire audio stream, a fragile construction indeed.

It is possible to concatenate avi container content and produce really horrible things, even to the extent of mixing interleaved and non-interleaved avi material.

The avi container format was invented by Micro$oft.


The .mkv or Matroska container format supports the inclusion of video, audio, subtitles, fonts, still images, timecodes, and who knows what else.

Audio Codecs


AC3 (or AC-3) is Dolby Digital's third generation audio codec, which supports up to 5.1 channel surround sound. This means 5 channels of full sound, with an extra channel for sound enhancements; the subwoofer. It is also known as an ATSC standard, named A52 revision B.


MP3, is a digital audio encoding format using a form of lossy data compression. Its correct name is MPEG-1 Audio Layer 3. MP3 is the most common audio format for consumer audio storage, and a de facto standard for the transfer and playback of music on digital audio players.

JFS Problems

I have a few boxes, with different tasks and OS installed on them. One of my personal machines had Debian installed on it till I hit a few problems, I installed Mepis, then PCLinixOS, followed by Fedora, followed by Arch, then finally back to Debian.

The box has three disks. Disk 1 / (/Root OS). Disk 2 /home. Disk 3 /data.

I always like to keep the root filesystem separate from users and data. I try to keep the OS on a separate disk or drive. After overwriting the root filesystem several times, the other volumes somehow, became corrupted.

I tried an install of Fedora 8. Still could not read the device. Tried Arch Linux, same result. Went back to Debian. Still no-go.

I googled for a solution with no luck, kept getting the same error message when I tried to mount the FS:

# mount -t jfs /dev/sdb1 /mnt/store
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

I guessed it was unclean and tried to fsck the Filesystem.

I got:

# fsck -p /dev/sdb1
fsck 1.40.6 (09-Feb-2008)
fsck: fsck.jfs: not found
fsck: Error 2 while executing fsck.jfs for /dev/sdb1

# fsck -p /dev/sdb
fsck 1.40.6 (09-Feb-2008)
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193

It dawned on me that the jfs fsck utility was not installed.

I tried to install fsck.jfs:

# aptitude install jfs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Building tag database... Done
Couldn't find package "jfs". However, the following
packages contain "jfs" in their name:
jfsutils hbf-jfs56
Couldn't find package "jfs". However, the following
packages contain "jfs" in their name:
jfsutils hbf-jfs56
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Building tag database... Done

Next I tried:

# aptitude search jfs
p hbf-jfs56 - Chinese Jianti Fangsong 56x56 bitmap font
p jfsutils - utilities for managing the JFS filesystem

Got it!

The JFS Utils were not installed on any of the Linux' OS's I tried. Strange.

Okay, lets fix it.

Install JFS Utils:

# aptitude install jfsutils
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Building tag database... Done
The following NEW packages will be installed:
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 274kB of archives. After unpacking 1130kB will be used.
Writing extended state information... Done
Get:1 lenny/main jfsutils 1.1.11-1 [274kB]
Fetched 274kB in 0s (386kB/s)
Selecting previously deselected package jfsutils.
(Reading database ... 121705 files and directories currently installed.)
Unpacking jfsutils (from .../jfsutils_1.1.11-1_amd64.deb) ...
Setting up jfsutils (1.1.11-1) ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
Building tag database... Done

Quick check:

# jfs_fsck
jfs_fsck version 1.1.11, 05-Jun-2006
processing started: 3/23/2008 22.50.32

Error: Device not specified or command format error

Usage: jfs_fsck [-afnpvV] [-j journal_device] [--omit_journal_replay] [--replay
_journal_only] device

Emergency help:
-a Automatic repair.
-f Force check even if file system is marked clean.
-j journal_device Specify external journal device.
-n Check read only, make no changes to the file system.
-p Automatic repair.
-v Be verbose.
-V Print version information only.
--omit_journal_replay Omit transaction log replay.
--replay_journal_only Only replay the transaction log.


Lets fix that volume.

t# jfs_fsck -p /dev/sdb1
jfs_fsck version 1.1.11, 05-Jun-2006
processing started: 3/23/2008 22.50.58
The current device is: /dev/sdb1
Block size in bytes: 4096
Filesystem size in blocks: 8970286
**Phase 0 - Replay Journal Log
Filesystem is clean.

First one done.

apache:/mnt# jfs_fsck -p /dev/sdc1
jfs_fsck version 1.1.11, 05-Jun-2006
processing started: 3/23/2008 22.51.31
The current device is: /dev/sdc1
Block size in bytes: 4096
Filesystem size in blocks: 17944597
**Phase 0 - Replay Journal Log
Filesystem is clean.

Second one done.

Mount the errant drives:

Mount -t jfs /dev/sdb1 /mnt/store

e# ls -al
total 120
drwxr-xr-x 21 root root 4096 2006-09-24 01:29 .
drwxr-xr-x 3 patrick patrick 32 2006-10-05 10:08 ..
drwxrwxrwx 2 root root 48 2006-09-18 02:44 bakups
drwxr-xr-x 6 patrick staff 4096 2006-10-05 10:46 cups
drwxr-xr-x 3 patrick staff 88 2006-10-05 10:46 fluxbox
drwxr-xr-x 3 patrick staff 8 2006-07-08 12:54 freesbie
drwxr-xr-x 2 1004 31 4096 2006-10-05 10:46 guest
drwxr-xr-x 3 patrick staff 4096 2006-10-05 10:46 java
drwxr-xr-x 2 patrick staff 96 2006-10-05 10:49 jones
drwxr-xr-x 4 1002 staff 4096 2006-10-05 10:49 oldsam
drwxr-xr-x 34 patrick staff 4096 2006-10-20 05:12 p0
drwxr-xr-x 42 patrick staff 4096 2006-10-05 10:34 p1
drwxr-xr-x 41 patrick staff 4096 2006-10-05 10:46 p2
drwxr-xr-x 23 patrick staff 4096 2006-10-05 10:49 p3
drwxr-xr-x 22 patrick staff 4096 2006-10-05 10:49 patrick
drwxr-xr-x 2 patrick staff 4096 2006-10-05 10:46 pcguest
drwxr-xr-x 11 patrick staff 4096 2006-10-05 10:49 pw
drwxr-xr-x 2 1002 staff 4096 2006-10-05 10:34 sam
drwxr-xr-x 4 patrick staff 16 2006-07-10 09:21 samba
drwxr-xr-x 2 patrick staff 4096 2006-10-05 10:46 skel
drwxrwx--- 2 root operator 1 2006-09-17 08:53 .snap

Its good.