Linux Ecology-HOWTO

Werner Heuser


   <wehe[AT]tuxmobil.org>

Wade W. Hampton


   <whampton[AT]staffnet.com>

Michael Opdenacker


   <michael[AT]free-electrons.com>

Copyright © 1999-2007 Werner Heuser

0.19, 2007-06-22


  The Linux-Ecology-HOWTO discusses ways to make computers less harmful to
our environment and to solve some ecological issues. It explains how to use
Linux to save power and consumables like paper and ink. Since it does not
require big hardware, Linux may be used with old computers to make their life
cycle longer. Games may be used in environmental education and software is
available to simulate ecological processes.

 Copyright © 1999-2007 by Werner Heuser. This document may be distributed
under the terms set forth in the LDP license at [http://tldp.org/
COPYRIGHT.html] COPYRIGHT. The information in this document is correct to the
best of my knowledge, but there's a always a chance I've made some mistakes,
so don't follow everything too blindly, especially if it seems wrong. Nothing
here should have a detrimental effect on your computer, but just in case I
take no responsibility for any damages incurred from the use of the
information contained herein. All trademarks belong to their owners.

-----------------------------------------------------------------------------
Table of Contents
Introduction
    1. Objectives
    2. Caveats
    3. About the Document and the Authors
   
   
1. Reduction of Power Consumption
    1.1. Advanced Power Management (APM/ACPI)
    1.2. Power Management Unit - PMU (Apple PowerBook)
    1.3. Turn Monitor off, use Keyboard LEDs
    1.4. Screensavers
    1.5. Virtual Servers
    1.6. Energy Star Label
    1.7. Using Spare CPU Cycles
    1.8. Miscellaneous Power Saving Techniques
   
   
2. Alternative Power Supplies - Sun, Wind, Water
3. Noise Reduction
    3.1. Fan
    3.2. Harddisk
    3.3. Speakers
   
   
4. Saving Consumables (Paper, Ink, etc.)
    4.1. Printing of Drafts / Multiple Pages on One Sheet of Paper
    4.2. Double Sided Printing
    4.3. Reading From the Monitor Instead From Paper
    4.4. Other Techniques
   
   
5. Ecological Behaviour is Convenient
6. Recycling of Consumables (Paper, Printer Cartridges, CD, Floppies, Tapes)
7. Reduction of Radiation, Electro Magnetic Fields, Heat
8. Extending the Life Cycle of your Hardware
    8.1. Recycling of Hardware
    8.2. Other Techniques
    8.3. Linux BadRAM Patch
    8.4. Installing Linux on Older Hardware
    8.5. Upgrading and Repairing Computer Hardware and Communication Devices
    8.6. Other Operating Systems
   
   
9. Using Linux on non-PC Hardware
    9.1. Using Consumer Electronics Devices
    9.2. Using Embedded Linux Boards
   
   
10. X10 - Home Automation System
11. Uninterruptible Power Supply - UPS
12. Games
13. Ecology Software (Simulation, Data Collection, Statistics, etc.)
    13.1. Ecolab
    13.2. Tierra
    13.3. Linux in Environmental Research
    13.4. SWARM
    13.5. Climate-Dynamics
    13.6. UNCERT
    13.7. EcoTopia
    13.8. Digiqual
   
   
14. Related Projects, Mailing Lists and Newsgroups
15. Credits
16. Revision History
A. Appendix A - Linux with Laptops
    A.1. Ecological Comparisons of Computers
    A.2. Battery
    A.3. PCMCIA Card Services and Advanced Power Management
    A.4. Power Saving Techniques
   
   
B. Appendix B - MP3-Hardware-Decoder at Parallel Port
C. Appendix C - Bibliography
D. Appendix D - Recommendations for Buying a New Computer
E. Appendix E - A New Environmentally Friendly Hardware Design
F. Appendix F - Computer Related Eco Labels
G. Appendix G - Other Operating Systems
    G.1. DOS
   
   
H. Appendix H - URLs of Recyclers

-----------------------------------------------------------------------------
Introduction

                                       Life is the first gift, love is the   
                                       second, and understanding is the      
                                       third.                                
                                          [http://www.margepiercy.com/] Marge
                                                                       Piercy

 Though computers can be seen as part of environmental pollution, there are
also ways to use computers in a more reasonable manner to help protect the
environment. So I have just started to collect some means to do so with
Linux.
-----------------------------------------------------------------------------

1. Objectives

 Some objectives of the HOWTO:

 

  *  Reduction in power consumption.
   
  *  Reduction in consumables like paper and inks.
   
  *  Reduction in waste by reusing older components or keeping them in
    service longer.
   
  *  Reduction in toxic waste such as used batteries.
   
  *  Use of Linux in environmental education and research.
   

-----------------------------------------------------------------------------
2. Caveats

 Some of the recommendations in this text are discussed controversial, for
instance: powering down a device, when it's not in use. This may save power,
but not under all circumstances. Also it may have other additional ecological
costs, e.g. the life time of the device can be shortened.

 I don't have enough technological knowledge to make a decision between these
alternatives. Also some alternatives might be rated differently by different
persons. So finally the decision what to choose is up to you. Anyway if you
have better alternatives please let me know.
-----------------------------------------------------------------------------

3. About the Document and the Authors

3.1. Miscellaneous

 If I didn't provide an URL for a program or a package, you may get it from
[http://www.debian.org/] Debian or as a RPM package, from your favorite RPM
server, for instance [http://rpmfind.net/] rpmfind.

 Some parts are modified chapters from my [http://tuxmobil.org/howtos.html]
Linux-Mobile-Guide and my InfraRed-HOWTO.

 The document is included in the [http://tldp.org/] LINUX DOCUMENTATION
PROJECT.

 The latest version of this document is available at [http://
computerecology.org/] Computers and Ecology .

 A [http://free-electrons.com/articles/linux-ecology] summary presentation
about this HOWTO has been contributed by Michael Opdenacker from [http://
free-electrons.com/] Free Electrons, which also has made many contributions
to this document itself.

 Since Wade W. Hampton provided a great amount of information included into
this text I consider him as a co-author. Though all responsibility for any
mistakes is taken by me.

 Please feel free to contact me for comments or questions about the HOWTO. I
know this material is not finished or perfect, but I hope you find it useful
anyway.

 Werner Heuser <wehe[AT]tuxmobil.org>
-----------------------------------------------------------------------------

3.2. Translations

 Jun Morimoto <morimoto at xantia.citroen.org> has written the [http://
www.linux.or.jp/JF/JFdocs/Ecology-HOWTO.html] translation into Japanese.

 A translation into Chinese(Big5 code) is proposed by Richie Gan. It is part
of the [http://www.linux.org.tw/CLDP/] Chinese Linux Document Project. You
may contact CLDP coordinator <cwhuang at linux.org.tw> to reach him.

 Victor Solymossy <victor at lig.dq.ufscar.br> proposed a translation into
Portuguese.
-----------------------------------------------------------------------------

Chapter 1. Reduction of Power Consumption

 There are some means to save power when using a computer which are supported
by Linux: Advanced Power Management, certain harddisk settings, working
without monitor and others.
-----------------------------------------------------------------------------

1.1. Advanced Power Management (APM/ACPI)

 Putting your GNU/Linux PC in suspend or hibernate mode.
-----------------------------------------------------------------------------

1.1.1. ACPI

 Most modern PCs support the ACPI (Advanced Configuration and Power
Interface) standard. The [http://acpi.sourceforge.net/] ACPI4Linux project
works on implementing full ACPI support in the Linux kernel, including fan
control, dock/undock detection.

 All ACPI related information (such as processor or board temperature) is
available through files in /proc/acpi. For example, this makes it very easy
for desktop environments (or for your own programs) to display to temperature
information somewhere on your screen.
-----------------------------------------------------------------------------

1.1.1.1. Hibernate to disk

 Use hibernate to disk and no longer be afraid of switching off your system.
Booting is much faster than having to wait for services and graphics to start
up. Actually, most of the time is saved by getting back to your work as you
left it before suspending your computer (open files, terminals, browser
windows). There is no need to re-open everything!

 While hibernating is often considered as a power saving solution for
notebook computers, it should also be used for desktop computers, to save AC
power. Use it when you go for lunch, when you leave the office in the evening
or for holidays...

 Hibernating also saves a lot of time when you replace a battery of a
notebook. Again, hibernate, install a fresh battery, power up and get back to
your work as you left it off.

 Technical details

  *  Hibernation to disk is implemented by the [http://www.suspend2.net/]
    Suspend 2 for Linux project. It consists of a kernel driver and a
    user-space program to control the driver. Users just need to run the
    program (usually called hibernate).
   
  *  It works by copying the whole of used RAM to a swap partition. As a
    consequence, it requires the swap partition to be at least as big as the
    amount of RAM.
   
  *  Both the patched kernel and the user-space program are very easy to
    install through packages.
   
      +   Fedora Core packages can be found on [http://mhensler.de/swsusp/]
        http://mhensler.de/swsusp/.
       
      +   At least in the 6.06 release of (K)Ubuntu, hibernating is directly
        available as an option from the battery icon.
       
      +   Go to your favorite package source for other distributions
       
   

-----------------------------------------------------------------------------
1.1.2. Older hardware with APM

1.1.2.1. Linux Compatibility Check

 >From the [http://tldp.org/HOWTO/Battery-Powered/index.html]
Battery-Powered-mini-HOWTO " .. for APM to work on any notebook or
energy-conscious desktop, the system BIOS ROM in the machine must support the
APM standard. Furthermore, for APM to work with the Linux operating system,
the system BIOS ROM must support either the 1.0 or 1.1 version of the APM
standard, and it must also support 32-bit protected mode connections. A
system that supports APM 1.1 is preferred, as it provides more features that
the device driver and supporting utilities can take advantage of." You may
get information about the APM version with the dmesg command and in the /proc
/apm file.
-----------------------------------------------------------------------------

1.1.2.2. Introduction

 When you first install Linux, you will probably have to recompile the
kernel. The kernel that came with your distribution probably does not have
APM enabled.

 APM support consists of two parts: kernel support and user-land support.

 For kernel support, enable the parameters in the corresponding kernel
section. AFAIK not all features work with laptops. AFAIK the feature 
CONFIG_APM_POWER_OFF works with most laptops.

 The utilities for userland support may be found at [http://
www.worldvisions.ca/~apenwarr/apmd/] WorldVisions. APMD is a set of programs
that control the Advanced Power Management system found in most modern laptop
computers. If you run a 2.2.x kernel and want to experiment, Gabor Kuti <
seasons at falcon.sch.bme.hu> has made a kernel patch that allows you to 
hibernate any Linux system to disk, even if your computers APM BIOS doesn't
support it directly.
-----------------------------------------------------------------------------

1.1.2.3. Caveats

 If you have another operating system preinstalled or use another operating
system at the same disk, make sure there is no "hibernation" or "suspend"
tool installed, which could severely interfere with Linux, e.g. it might use
disk space which is occupied by Linux or vice versa.
-----------------------------------------------------------------------------

1.1.2.4. Troubleshooting

 Sometimes X windows and APM don't work smoothly together, the machine might
even hang. A recommendation from Steve Rader: Some Linux systems have their X
server hang when doing apm -s. Folks with this affliction might want switch
to the console virtual terminal then suspend chvt 1; apm -s as root, or, more
appropriately, sudo chvt 1; sudo apm -s. I have these commands in a script,
say, my-suspend and then do xapmload --click-command my-suspend .

 On some new machines (for instance HP Omnibook 4150 - 366 MHz model) when
accessing /proc/apm, you may get a kernel fault general protection fault:
f000. Stephen Rothwell <Stephen.Rothwell at canb.auug.org.au> [http://
www.canb.auug.org.au/~sfr/] http://www.canb.auug.org.au/~sfr/ explains: "This
is your APM BIOS attempting to use a real mode segment while in protected
mode, i.e. it is a bug in your BIOS. .. We have seen a few of these recently,
except all the others are in the power off code in the BIOS wher we can work
around it by returning to real mode before attempting to power off. Here we
cannot do this."
-----------------------------------------------------------------------------

1.1.3. Processor frequency scaling

 cpufreq is a Linux kernel driver to control the CPU frequency. It is
included in all recent kernels and enabled by default by recent
distributions. It supports most recent "mobile" processors. Note that only
such processors support frequency scaling.

 This driver lets user programs control cpu frequency by writing files in /
sys/devices/system/cpu/cpu<n>/cpufreq/.

 Actually, frequency scaling is usually handled by a governor program,
according to system or user specific preferences.

 CPUSpeed is the de-facto governor for Linux. It allows to control the 
cpufreq driver according to user defined criteria: CPU load, board
temperature, battery / plugged in... It is released by default in recent
distributions.

 CPUspeed is usually configured through the /etc/cpuspeed.conf file (Fedora
Core 4 example):
VMAJOR=1                                                                     
VMINOR=1                                                                     
DRIVER="speedstep-centrino"                                                  
OPTS="-i 2                                                                   
-t /proc/acpi/thermal_zone/THM/temperature 70                                
-a /proc/acpi/ac_adapter/AC/state                                            
-p 10 25                                                                     
-m 600000 -M 1600000"                                                        

 After making changes, you can restart CPUspeed with /etc/init.d/cpuspeed
restart (Fedora Core example).

 Type /usr/sbin/cpuspeed -h for details and more options.

 You can type cat /proc/cpuinfo to consult the current processor speed.
That's useful to check that the processor speed is scaled according to your
settings.
-----------------------------------------------------------------------------

1.1.4. Useful resources for power management

 

  *  [ftp://tsx-11.mit.edu/pub/linux/sources/sbin/hdparm-3.0.tar.gz] hdparm -
    hdparm is a Linux IDE disk utility that lets you set spin-down timeouts
    and other disk parameters. It works also for some SCSI features.
   
  *  Laptop Mode - A feature implemented in the Linux kernel since the 2.6.6
    version. The idea is to spin up the hard disk only when reading uncached
    data, to delay and group disk writes, in order to reduce hard disk power
    consumption and save battery life. Control scripts are shipped by default
    by recent distributions.
   
     Laptop Mode may not be activated by default by distributions, as it is
    not recommended for servers and laptops running on AC power, because of
    the risk to loose data in a crash or sudden power off.
   
  *  [http://muru.com/linux/dyntick/] Dynamic Tick - When enabled, this
    kernel feature allows to disable the CPU timer interrupts when all
    processors are idle. This way, idle systems are not woken up every 4 ms
    (default setting in Linux 2.6) just to realize there is nothing to do!
    This can save a little bit of power in notebooks (and CPU cycles in
    virtual hosting servers). Regular timer interrupts are re-enabled when
    something really happens, when a real hardware interrupt is received. In
    kernel configuration, this feature can be selected from the Kernel
    Features section (NO_IDLE_HZ setting).
   
  *  [http://www.complang.tuwien.ac.at/ulrich/linux/tips.html] Mobile Update
    Daemon - This is a drop-in replacement for the standard update daemon, 
    mobile-update minimizes disk spin ups and reduces disk uptime. It flushes
    buffers only when other disk activity is present. To ensure a consistent
    file system call sync manually. Otherwise files may be lost on power
    failure. mobile-update does not use APM. So it works also on older
    systems.
   
  *  noatime mount option - In operating systems like Linux which comply with
    the POSIX standard, filesystems are supposed to record the last time
    files are read. With default kernel settings, even if files are read from
    the file cache in RAM, this causes time data to be written to disk every
    5 seconds.
   
     To avoid this and reduce disk activity, you can add the noatime mount
    option to lines in the /etc/fstab file.
   
     This option doesn't have any known or significant impact on regular
    programs, except perhaps for backup / archiving software for which file
    access time information is useful.
   
  *  [http://www.buzzard.me.uk/toshiba/index.html] Toshiba Linux Utilities -
    This is a set of Linux utilities for controlling the fan, supervisor
    passwords, and hot key functions of Toshiba Pentium notebooks. There is a
    KDE package Klibreta, too.
   
  *  [http://lcdproc.omnipotent.net/] LCDproc - "LCDproc is a small piece of
    software that will enable your Linux box to display live system
    information on a 20x4 line backlit LCD display. AFAIK it connects only to
    the external Matrix-Orbital 20x4 LCD display [http://
    www.matrixorbital.com/] MatrixOrbital, which is a LCD display connected
    to a serial port.
   
  *  [http://www.loonie.net/~eschenk/diald.html] Dial Daemon - The Diald
    daemon provides on demand Internet connectivity using the SLIP or PPP
    protocols. Diald can automatically dial in to a remote host when needed
    or bring down dial-up connections that are inactive.
   
  *  Getting your computer to use the least amount of power can be
    problematic. Intel's [http://www.linuxpowertop.org/index.php] http://
    www.linuxpowertop.org/index.php project provides information on reducing
    power usage, tips, and tricks for Intel-based computers running Linux. As
    a first step, Intel has released PowerTOP, a tool that helps you find
    what software is using the most power. By fixing (or closing) these
    applications or processes, you can immediately see the power savings in
    the tool. You'll also see the estimated time left for battery power if
    you are running a laptop. The Tips & Tricks page has fixes for a lot of
    the issues that are already found.
   

-----------------------------------------------------------------------------
1.1.5. Restoring your Work after Shutdown

 Even if you don't use hibernate or suspend and switch off your system in a
standard way, you still have ways of saving time getting back to your work.

 Modern graphical environments (KDE or Gnome) restart the applications that
were open when you logged out. However, most applications just get back to
their initial state and you will probably need to open your files again.

 For people who do not want to loose the HTML pages they were browsing, the
[http://www.mozilla.com/firefox/]  Mozilla Firefox browser as a nice Bookmark
All Tabs... command in the Bookmarks menu. This is very convenient to restore
a set of tabs or just to start your browser with all your favorite
information sites when you arrive in the morning.

 So, unless your computer is really computing something, you have less
excuses for keeping it on!
-----------------------------------------------------------------------------

1.2. Power Management Unit - PMU (Apple PowerBook)

 PowerBooks don't support the APM specification, but they have a separate
protocol for their PMU (Power Management Unit). There is a free (GPL) daemon
called pmud that handles power management; it can monitor the battery level,
put the machine to sleep, and set different levels of power consumption. It
was written by Stephan Leemburg <stephan at jvc.nl>, and is available from
PPC distribution FTP sites. There is also an older utility called snooze
available from the same sites that just puts the PowerBook to sleep.
-----------------------------------------------------------------------------

1.3. Turn Monitor off, use Keyboard LEDs

 There are some tools which allow to get information from your computer
without using the monitor:

  *  bl : Blink Keyboard LEDs
   
  *   blinkd : "Blinks keyboard LEDs for an answering machine or fax machine.
    Blinkd is a client/server pair, that lets the keyboard LEDs blink,
    indicating things like the number of incoming voice calls in the voice
    box or incoming faxes in the spool."
   
  *   mailleds : Shows new mails with the keyboard LEDs, mailleds is a quiet,
    unobtrusive way to signify that you have new mail: a user daemon to blink
    LEDs when there is new mail.
   
  *   tleds : Blinks keyboard LEDs indicating TX and RX network packets. They
    blink Scroll-Lock LED when a network packet leaves the machine, and
    Num-Lock LED when one is received.
   
  *  [http://www.iki.fi/sampo.niskanen/ledcontrol/] ledcontrol: is a program
    that allows you to show different information on the normally-unused LEDs
    on your keyboard. You can configure it to show virtually any true/false
    condition accessible or indicate an arbitrary number. The monitoring is
    by default done by shell scripts to allow for maximal configurability.
   

-----------------------------------------------------------------------------
1.4. Screensavers

1.4.1. Screensaver Programs

 Do they only prevent the screen from being burned in or do they save power,
too?

 Some recommendations from Wade W. Hampton: Screensavers usually display
graphics, look for ETI, or perform other tasks. When using your screensaver
in this manner, you may actually consume MORE power. For example a computer
using XSETI as a screensaver might get far warmer (hence use more power) than
when it was being used to edit a document or perform a compile.

 Some screen saver programs:

  *  The purpose of xscreensaver is to display pretty pictures on your screen
    when it is not in use, in keeping with the philosophy that unattended
    monitors should always be doing something interesting, just like they do
    in the movies. The benefit that this program has over the combination of
    the xlock and xautolock programs is the ease with which new graphics
    hacks can be installed: you don't need to recompile this program to add a
    new display mode, you just change some resource settings. Any program
    which can be invoked in such a way that it draws on the root window of
    the screen can now be used as a screensaver without modification. The
    programs that are being run as screensavers don't need to have any
    special knowledge about what it means to be a screensaver.
   
  *  LockVC is a console-locking-program combined with a starfield
    screensaver. Executing LOCKVC on a virtual console brings up a starfield
    that starts to rotate around all three axes.
   

-----------------------------------------------------------------------------
1.4.2. Display Power Control

 To really save power, and if your X server plus monitor supports it, use the
dpms option of xset (see the manual page for xset). For example, to enable
the DPMS (Energy Star) features of you X server: xset +dpms

 You may also manually change the mode of your X display:
xset dpms force standby                                                      
xset dpms force suspend                                                      
xset dpms force off                                                          

 Note that suspend and off usually save much more energy than just standby,
especially in CRT displays.

 According to manufacturers, switching off LCD displays more often doesn't
reduce their lifetime. As user can easily notice, there is no significant
penalty either between suspend and off modes in terms of switching on time.

 In modern graphical desktop environments (like Gnome and KDE), it is easy to
configure automatic display switch off after a given inactivity timeout:

  *  KDE display power management: configure it in Control Center ->
    Peripherals -> Display -> Power Control.
   
  *  Gnome display power management: configure it in Desktop -> Preferences -
    > Screensaver -> AdvancedControl Center -> Peripherals -> Display ->
    Power Control.
   

 AFAIK a CRT consumes on the order of 25 percent more power when displaying a
plain white screen than displaying a plain black screen. So, a screensaver
that's mostly black can help save power, even if it doesn't actually use DPMS
to power down the screen. Of course, one that's very bright and colourful, or
that keeps the CPU running fast is not much help.
-----------------------------------------------------------------------------

1.5. Virtual Servers

 On enterprise networks, or on the Internet, security constraints may require
that different services are run on different, isolated servers. The problem
with this one server per service approach is that most spend a lot of idle
time waiting for some rare activity bursts.

 Several technologies now make it possible to run several GNU/Linux servers
inside a real, physical GNU/Linux server. As in physical servers, each
virtual server is isolated from the others. So, this approach retains the
benefits of separate servers, but makes it possible to share some hardware
resources like the CPU and network bandwidth. On the other hand, each virtual
server enjoys a reserved amount of RAM and disk space.

 The benefits of virtual servers are obvious in terms of cost, power
consumption, optimum use of hardware resources, and consumption of computer
materials. There is another key advantage for hardware maintenance: virtuals
servers can very easily and transparently be migrated from one physical
server to another.

 Virtualization solutions:

  *  [http://user-mode-linux.sourceforge.net/] User Mode Linux - The original
    solution. Allows to run one or several Linux kernel executables on a
    Linux machine (with a standard kernel) as regular programs.
   
  *  [http://www.cl.cam.ac.uk/Research/SRG/netos/xen/] Xen - An increasingly
    popular alternative, with very little performance overhead. Also allows
    live server migration to other hardware. Requires a patched Linux kernel.
   

 Virtuals servers all already very popular solutions for website hosting, but
virtualization still has a very strong potential in corporate networks.
-----------------------------------------------------------------------------

1.6. Energy Star Label

 Robert Horn <rjh at world.std.com> wrote: "

 I had a chance to discuss Energy Star with the designers of desktop
printers. They confirmed that the allowable stand-by power targets depend on
the device, and they only knew their targets. But they made some other
interesting comments:

  *  Energy Star ratings lead to significant operational power savings. Timer
    based power savings are the exception. Most savings come from designing
    in power on demand with low leakage drivers. For example, using stepper
    motors with low leakage current instead of high leakage.
   
     This savings is both from individual designs and from the resulting
    demand for low leakage products causing better and cheaper low leakage
    product designs. The old-style (e.g. typewriter) design with one motor
    (always on) and various clutches is no longer the least cost.
   
  *  Energy Star was good organizational engineering. It never required
    designers to compromise quality or performance, which made it much harder
    to argue against design changes to reduce power consumption while idle.
    Since most of the savings begin the millisecond that parts stop moving,
    these savings are considerable.
   
  *  The power ratings on PC's are a safety rating, not a usage rating. So
    the 235W and 300W power supplies that commonly found in PCs are
    specifying their safety limits. Actual full power usage is much less,
    typically 20-30 percent of the safe limit. The designers also noted that
    it is actually difficult to measure the power consumption of a switching
    power supply. You need to use specially designed power meters. The
    regular AC meters are designed for motors, and are rather inaccurate for
    switching power supplies.
   

-----------------------------------------------------------------------------
1.7. Using Spare CPU Cycles

 Some Linux applications use idle time in computers to cure diseases, study
global warming, or any other scientific research. They run as a low-priority
process (nice 20), so you can work without noticing that it's doing its task.
Another use is for people who use P2P software and leave the PC turned on for
long hours unattended, all that time the PC can be using the electricity it
is consuming for a practical purpose:

  *  [http://boinc.berkeley.edu/] BOINC
   
  *  [http://distributed.net/] Distributed.net
   

-----------------------------------------------------------------------------
1.8. Miscellaneous Power Saving Techniques

 Linux halts the CPU in the idle cycle to further reduce power consumption.
Early reports of OS/2, Win3.1/95, NT, and Linux showed Linux to use far less
power than DOS-based O/S's that spun in the idle loop and consumed power --
this may have changed hence it would need research to validate.

 Most Linux-users tend to leave their computer on for years whenever
possible. However, several modern BIOS's support an unattended powerup, and
with cron you can even do an unattended shutdown. No need to leave the
computer on night after night. Other techniques to powerup your computer at
certain times are: ACPI-Wakeup, NVRAM-wakeup and the settime command.
Computers can even be power up on request remotely by means of Wake-on-LAN
using a network connection or Wake-on-Ring using an old fashioned serial
interface and a modem.

 Beware of animated web pages! Web pages containing Flash, Java, or just
animated images can consume a lot of CPU. When you leave your computer and
keep it on, make sure you close all browser pages with animations. Otherwise,
your PC may be left running at full speed while you are not using it.

 To disable animated images in Mozilla Firefox go to [about:config] about:
config, find image.animation_mode and change its value to none or once.

 Do not forget to switch off your DSL modem / wireless router / ISP box /
printers at night or during vacations if you don't use them. These devices
consume quite a lot (typically 15W).
-----------------------------------------------------------------------------

Chapter 2. Alternative Power Supplies - Sun, Wind, Water

 See a survey of links at [http://www.cirkits.com/] Eklektix .
-----------------------------------------------------------------------------

Chapter 3. Noise Reduction

 Most of the noise emitted by a computer is produced by the fan, the harddisk
and the speakers.
-----------------------------------------------------------------------------

3.1. Fan

 

  *  libsensors0 is a library to read temperature/voltage/fan sensors
   
  *  lm-sensors "Kernel drivers to read temperature/voltage/fan sensors. This
    is a module for reading the temperature/voltage/fan sensors in Linux via
    the LM78/79 chip and possibly sensors on the SMBus (System Management
    Bus, usually found in P6 and P-II systems). The LM80 and a LM78-clone
    called W83781D are also supported." [http://www.lm-sensors.nu/] http://
    www.lm-sensors.nu/
   
  *   ACPI, see APM chapter
   
  *   [http://www.tinet.org/~com.ea/rtsensors/] RTSensors can be configured
    by the user as an expert controller: The user can specify the max/min
    speed of the system fans, the maximum affordable temperature and so on.
    The controller tries to reduce fan speed to reduce noise while the
    temperature is in a safe range chosen by the user. So fan speed is
    modified automatically by the control algorithm, you don't have to use
    those mechanic or thermal regulators on your fans anymore.
   

-----------------------------------------------------------------------------
3.2. Harddisk

  To avoid unneccessary hard disk noise you may use the same techniques as
described in the power saving chapter. Hard disks in most laptops are the
primary source of noise. Modern laptop and notebook hard drives come with a
so-called "Acoustic Management", just have a look into the manual to get an
overview about the possible settings.

  The noise of the hard disk can be very disturbing, see man hdparm to reduce
the spin of the disk.

  Some hard disk manufacturers offer dedicated tools, e.g. Hitachi's [http://
www.hitachigst.com/hdd/support/download.htm] Feature Tool allows to change
the drive Automatic Acoustic Management settings to the Lowest acoustic
emanation setting (Quiet Seek Mode), or Maximum performance level (Normal
Seek Mode).
-----------------------------------------------------------------------------

3.3. Speakers

 For the console setterm -blength 0 and for X xset b off turns the bell off.
See also PCMCIA-HOWTO, and much more details in the [http://tldp.org/HOWTO/
Visual-Bell.html] Visible-Bell-mini-Howto by Alessandro Rubini.
-----------------------------------------------------------------------------

Chapter 4. Saving Consumables (Paper, Ink, etc.)

4.1. Printing of Drafts / Multiple Pages on One Sheet of Paper

 Use psutils package to put more than one page on one sheet of paper. This
collection of utilities is for manipulating PostScript documents. Page
selection and rearrangement are supported, including arrangement into
signatures for booklet printing, and page merging for n-up printing.

 For example, to create a PostScript document with 4 pages per sheet:

 psnup -nup 4 doc.ps > doc4p.ps

 Often HTML pages are not optimised for printing. You may use html2ps, a HTML
to PostScript converter, to print HTML pages. "This program converts HTML
directly to PostScript. The HTML code can be retrieved from one or more URLs
or local files, specified as parameters on the command line. A comprehensive
level of HTML is supported, including inline images, CSS1, and some features
of HTML 4.0."

 Or you may use mpage to print 2 up or 4 up (PS documents or ASCII text).
This may be used to save up to 50 percent or more of your paper.
-----------------------------------------------------------------------------

4.2. Double Sided Printing

 One important way to save paper is to print on both sides of the paper.
Depending on the printer capabilities, this can either be done manually
(printing odd and even pages in 2 passes), or by instructing the printer to
use both sides.
-----------------------------------------------------------------------------

4.2.1. Printer control

 If your GNU/Linux distribution is using the CUPS printing system (as most do
nowadays), you can configure double sided printing through the CUPS
administration interface. Open the [http://localhost:631] http://localhost:
631 URL with a browser, type your root password if required, and configure
any local printier supporting double sided printing. This applies by default
to all future print jobs.

 Print settings can also be changed on a job by job basis too. In particular,
KDE and Gnome let applications select and configure printers for each print
job.

 If you are printing from the command line, you can use the [http://
www.mscs.dal.ca/~selinger/lpr-wrapper/] lpr-wrapper to insert printer control
instructions to PostScript files at print time. Example:

 lpr-wrapper -od doc.ps
-----------------------------------------------------------------------------

4.2.2. Manual printing

 If double sided printing is not supported by your printer, you can also
achieve this by printing odd/even (or right/left) pages separately. Many
graphical applications like OpenOffice.org let you do that.

 If you print from the command line, you can also do this with [http://
www.mesa.nl/pub/mpage] mpage. From the manual page:

 -jfirst[-last][%interval]

 Print just the selected sheets, specified by number, starting at 1. Here
last defaults to the end of data, interval to 1. Thus -j1-10 selects the
first 10 sheets, while -j 1%2 prints just the odd- numbered sheets and -j 2%2
prints just the even ones.

 You can do double-sided printing, in two passes, as follows. If you use
3-hole punched paper, put it in the printer such that the holes will appear
at the top of the page -- on the right as you pull out the printer tray, in
our Laser writer II NTX. Print the odd-numbered sheets with

 -j 1%2 ...

 Note the number of pages it reports. (Only half this many will really be
printed). When printing finishes, if mpage reported an odd number of pages,
remove the last one from the stack, since there will be no even-numbered
sheet to match it. Then arrange the stack of paper for printing on the other
side. (If it's punched, the holes will now be on the left.) On our II NTX,
the paper comes out blank-side up; replace it in the tray still blank-side up
but rotated 180 degrees. For other printers, you figure it out. Now print the
even- numbered sheets in reverse order with

 -r -j 2%2 ...

 Hoping no one else reaches the printer before you do.

  [https://sourceforge.net/projects/duplexpr/] Duplex is a set of sh scripts
that emulates duplex printing (on both sides of the paper) for sheet-fed
printers that do not support duplex printing in hardware. It is intended for
use on printers connected to workstations. It can operate as a pipe so that
applications can use it as a duplex printing driver. Its unique feature is
its ability to print to print many duplex print jobs in one batch, printing
the odd sides of all jobs and then the even sides in just two passes.
-----------------------------------------------------------------------------

4.3. Reading From the Monitor Instead From Paper

 Or use less/xless/gless as a viewer instead of printing. You can view
PostScript documents with gs and view PDF documents with either xpdf or 
acroread (from [http://www.adobe.com] Adobe). Ask yourself, do you --really--
need a hardcopy each time you decide to print something out.

 For your own documents, a good idea is to create them in landscape mode,
making them easier to read without having to scroll up and down. Otherwise,
readers may find reading from the screen inconvenient and may then prefer
printing. See PDF editions of the free [http://www.tuxmagazine.com/] Tux
Magazine for a nice examples.

 What are the reasons why people don't read from the monitor:

  *   Reading is slower up to 30 percent, see [http://www.useit.com/alertbox/
    9602.html] N.N.. The speed can be improved by better hardware (e.g. TFT
    display, greater screen, though this is against the other below to take
    smaller CRTs) and better display software (type-1, t1lib, truetype,
    freetype).
   
  *   Paper seems better organizable and more secure to some people. I
    suppose this can be treated by better software (e.g. Linux) and hardware,
    too.
   

  Some people use handheld PC (e.g. PalmIII, Newton Message Pad, Psion 5) to
carry around documents to read rather than printing them out. At TuxMobil you
may get information about [http://tuxmobil.org/pda_linux.html] Linux
compatibility for handheld PCs and PDAs. Or they take eBook readers to read
"Electronic Paper". At TuxMobil there is a section about [http://tuxmobil.org
/ebook.html] Linux compatibility for eBook readers, too.
-----------------------------------------------------------------------------

4.4. Other Techniques

 Another means of saving paper is through the use of comments and redline/
strikeout markings when exchanging a document with a co-worker/colaborator.
For example, a draft could be written using WordPerfect, then E-MAILed to a
co-worker. They could update the draft and send it back to you. You can use
WordPerfect's redline/strikeout features to see the changes. The document
need not be printed until it is "final" or in "final draft" status.

 Question: Can you use the back side of paper in a laser printer? I have not
had much luck. You can use the paper that has been in a laser printer in an
inkjet printer by using the other side.

 You should purchase smaller computers and monitors when possible. This will
save packaging material translating into less solid waste. For example the
box for a 15" CRT monitor is 2-3 times the size of the box for a 15" LCD
monitor. Linux works well with 15" LCD monitors on smaller computers like the
Netwinder or [http://www.thinworks.com/campaign/try_e3000.html] E3000 .

 Tough smaller monitors may have another ecological caveat: because it's
inconvenient to browse to longer documents, people may tend to print the
documents instead of reading them from the screen.

 Some have expressed the concern that LCD displays may use more toxic
materials and manufacturing processes than CRT displays, hence their usage
actually may be worse on the environment. The original information above
concerned the solid waste issue, which is fairly tangible and hence more
controllable.

 Does anyone know of studies or additional research to help clarify and
resolve this issue?

 Recycle your used paper, ink, and packing materials.

 You may use refillable printer cartridges. In Germany the are marked with
the Blauer Engel label.

 Laser printer cartridges can often be used much more longer if you shake
them when the message toner low appears at the message panel.

 

  *  LaTeX documents: Using \usepackage{ccfonts} replaces the usual fonts by
    ones with wider lines and bolder serifes, improving readability at low
    resolutions. They are darker (i.e. use more ink) than the CM fonts and
    not as beautiful, so I would not recommend them for normal-size
    printings.
   
  *  Size-Reduction: Instead of psnup or other parts of the pstools I
    recommend the psnup written in Perl4 by Malcolm Herbert (it's from 1994,
    and no longer maintained but however there is a descendant of it called 
    yup, available at [http://redback.spyda.net/~mjch/yup/] yup).
   
     It has a lot of options, which allow to set all 4 margins and the inner
    gutter separately. Since reduced documents are not very pretty anyway,
    this can be used to reduce the margin, leaving more place for the text.
    This probably requires some experimenting (trying new values over and
    over, checking the result with ghostview).
   
     The normally used options are:
   
      +  -p2 (or -p4 etc., like -2 in the old psnup)
       
      +  -NIH (don't decorate)
       
      +  -l10 -r20 -b30 -t40 (add to margins)
       
      +  -g50 (add to gutter)
       
   
     (these values vary depending on the papersize and the margins of the
    original, negative values are allowed).
   
  *  [http://www.warwick.ac.uk/go/pdfjam] PDFjam is a small collection of
    shell scripts that provide a simple interface to some of the
    functionality of the pdfpages package for pdfLaTeX. At present, the
    utilities available are pdfnup, pdfjoin, and pdf90. PDFjam depends on a
    working installation of (pdf)LaTeX. pdfnup puts multiple document pages
    together on one physical page at a reduced size. pdfjoin concatenates
    multiple PDF documents. pdf90 rotates the pages of PDF documents. For Mac
    OS X, some example applications (droplets) are provided for drag-and-drop
    access to the scripts.
   
  *  Different ink printers are more or less capable to print on the backside
    of already used paper sheets. That's particularly useful to reuse all
    single sided paper sheets you receive for free every week! Try different
    manufacturers. Older Canon ink printers offer 360 dpi, older HP ink
    printers 300 dpi. The readability of 4 pages/sheet using LaTex 10pt lies
    in between this features.
   
  *  Non-Linux: If you have to work with MS-Windows you should get the
    original Adobe-PostScript-Driver, instead of using the ones from
    MS-Windows. These drivers offer more than one page per paper sheet. AFAIK
    both psnup programs don't work with Adobe-PS, MS-Windows-PS and the
    PostScript extracted from MS-Windows-PDF files. The Computer-Modern-Fonts
    (without German diacritical characters) are available as TTF fonts on the
    CTAN servers. With these fonts you may enhance the aesthetical value of
    documents and save some paper space, too.
   
  *   Ghostscript has a new output format pswrite, which creates output in
    correct PostScript. This feature can be used to repair broken PostScript
    e.g. from Microsoft drivers, allowing their postprocessing with psnup
    etc.
   
  *  [http://imagic.weizmann.ac.il/~dov/freesw/impose+/] impose+ is a set of
    PostScript utilities. The main program is impose, which is used for
    two-up printing of DSC-compliant PostScript (including that from
    Netscape, dvips, and FrameMaker). It makes an effort to remove white
    space from the printout by probing the original PostScript for the
    bounding box of the printed area. This makes the output much more
    esthetic than does a simplistic layout of non-cropped original pages.
   
  *   [http://www.hpgs.cjb.net/] hpgs is a printer driver that lets you to
    print on a HP 6xx Series printer using economic mode. It relies on the
    printer driver included in GhostScript to do everything but put the
    printer into economic mode.
   
  *   Besides command line tools for sophisticated printing there are also
    usefull GUI applications available. KPrinter opens automatically when you
    click on the "Print" icon of any KDE application. Choose your print job
    settings by going through the dialog and the click on the "Print" button.
    kprinter is a very versatile tool. Depending on the actual features and
    power of the print subsystem of your com- puter, kprinter translates the
    former's abilities into a nice and easy-to-understand GUI e.g. if your
    print subsystem does not support duplexing, kprinter will not show the
    option.
   
  *   If you need to print a lot of Web pages from inside your FireFox
    webbrowser, the [http://addons.mozilla.org/firefox/951] Nuke Anything
    Enhanced extension will help you to save some ink and paper. Once
    installed, it adds a "Remove this object" option to the right-click
    context menu. Place your mouse over information you don't need printed
    (menu bars, big graphical logos and so on) and use "Remove this object"
    to zap them temporarily. Clean up the page, then print just what you
    need.
   

 Wade W. Hampton provided the biggest part of this chapter. Some suggestions
are from Ralf Muschall.
-----------------------------------------------------------------------------

Chapter 5. Ecological Behaviour is Convenient

  The psutils may not only save paper, they are also a great tool to produce
a convenient page design. Imagine a nice bounded manual in A5 format, against
a losely hefted block of A4 sheets.

  Depending on wordlength and paragraphlength a multi-column layout sometimes
saves paper space (though the likelihood for a word to be broken increases,
on the other hand the space used by incomplete lines at the end of paragraphs
decreases). This doesn't save very much paper, but may fit 2.1 pages in 2.0,
therefore with the use of psnup it may fit on one page. Also multicolumn
layout is better readable.

  [http://www.mathstat.dal.ca/~selinger/psdim/] psdim is a small utility to
be used in conjunction with pstops. It looks at the contents of a postscript
document to determine the size of the printed pages. From this, it calculates
the optimal placement of the pages for n-up printing. It outputs a format
string suitable for processing by pstops.

 Thanks to Ralf Muschall for his suggestions.
-----------------------------------------------------------------------------

Chapter 6. Recycling of Consumables (Paper, Printer Cartridges, CD, Floppies,
Tapes)

 All of these consumables are recycleable. I have put a list of URLs into
appendix H. You may start this process by separating different kinds of
"waste". There should be included some words on the difficulties of recycling
(data security, motivation, costs, ...).
-----------------------------------------------------------------------------

Chapter 7. Reduction of Radiation, Electro Magnetic Fields, Heat

 

  *  monitors are a source of radiation and electro magnetic fields. They may
    be reduced by lead filters, LCD displays. Some eco labels like TCO95
    include maximum levels of radiation, etc.
   
  *  especially larger number of PCs or can heat a room very much therefore
    it might be necessary to cool the room. This ca be reduced by using
    standby (powerdown) techniques.
   

-----------------------------------------------------------------------------
Chapter 8. Extending the Life Cycle of your Hardware

8.1. Recycling of Hardware

 The commercial computer market is largely driven by vendors seeking to sell
new hardware and software. There is no commercial marketing benefit in
promoting reuse.

 Hence Linux doesn't require big hardware, it's very useful if you like or
need to use old and small hardware.
-----------------------------------------------------------------------------

8.1.1. Supported CPU Families

 Linux runs on Intel-compatible processors (starting from the 386) and
compatible processors by AMD, Cyrix and others. It also supports a long list
of 32 and 64 bit processors. The whole list can be found in the arch
directory in the Linux kernel sources.

 The ARM architecture is a fast AND low-power alternative, used in a great
number of embedded systems (Linux and others). See the [http://
www.arm.linux.org.uk/]  ARM Linux Project for a wealth of Linux resources for
ARM.

 Linux is also supported on small, cheap and low power processors with no
Memory Management Unit (MMU), provided they are 32 bit ones. See the [http://
uclinux.org/] uClinux project for details.

 Mainstream Linux requires at least a 32 bit processor and doesn't support
any 16 bit ones and will never do. However, there are separate efforts from
the [http://elks.sourceforge.net/] ELKS project to reuse Linux code for the
286 CPU family.

 On platforms supported by Linux, or even on some 16 bit processors, you may
also use the [http://ecos.sourceware.org/] eCos operating system. This is
another free, POSIX compatible operating system targeting very small devices
(possibly with real-time requirements).

 If you like, you may use [http://www.cs.vu.nl/~ast/minix.html] Minix, one of
the predecessors of Linux. Minix supports 8088 to 286 with as little as 640K
memory.
-----------------------------------------------------------------------------

8.1.2. Linux Applications for Old Computers

8.1.2.1. RULE

 Hardware is only as old as the software it runs. [http://
www.rule-project.org/] RULE wants to make modern Free Software useable even
on 5 or more years old machines, on which current Linux distributions won't
install or run too slowly.
-----------------------------------------------------------------------------

8.1.2.2. ISDN Router

 [http://schumann.cx/isdn-router/] ISDN Router allows you to convert old
hardware into a secure masquerading ISDN router, including caching
nameserver, IP Port Forwarding, and on-demand channel bundling. The system
fits onto a single disk, and users can change the configuration through a
simple menu-based system (on the console or over telnet) and store it
permanently on the disk.
-----------------------------------------------------------------------------

8.1.2.3. Linux LiveCD Router

 [http://www.wifi.com.ar/english/cdrouter.html] Linux LiveCD Router allows
you to share and firewall your broadband connection and use WiFi. It works
with DSL, cable modem, T1, and dial-up connections and supports inexpensive
hardware such as USB and PCMCIA WiFi and ethernet cards. Hardware
requirements: One dedicated computer with the following minimum
specifications: 486 Processor, 16 MBytes of RAM, 2X CDRom reader, floppy
drive, 1 or 2 ethernet cards. NO hard disk! Optionally a WIFI card.
-----------------------------------------------------------------------------

8.1.2.4. FreeS/WAN

 [http://www.freeswan.org/] Linux FreeS/WAN provides IPSEC (IP Security,
which is both encryption and authentication) kernel extensions and an IKE
(Internet Key Exchange, keying and encrypted routing daemon) as well as
various rc scripts and documentation. This lets a bright Linux sysadmin build
VPN's gateways out of even old 584 and 486 PC Clone boxes. The 1.00 version
is known to inter-operate with other IPSEC and IKE system already deployed by
other vendors such as OpenBSD.
-----------------------------------------------------------------------------

8.1.2.5. Print Server

 A common use for an old computer is running a print server on it.
-----------------------------------------------------------------------------

8.1.3. Small Linux Distributions for Old Computers

  *  [http://www.damnsmalllinux.org/] Damn Small Linux - A full featured
    Live-CD distribution derived from Knoppix, with a very active community.
    It fits within 50 MB and runs fine on a 486 PC with 16 MB of RAM.
    Included software: Firefox, xmms, xpdf, Sylpheed, FluxBox WM, Siag,
    spreadsheet, Ted word processor... Used a lot on USB flashdisks too.
   
  *  [http://distro.ibiblio.org/pub/linux/distributions/baslinux/] Basic
    Linux - The lightest distro for old PCs! It just needs 3 MB of RAM and 6
    MB of disk. Features: X graphics, window manager, clock, calculator, text
    based e-mail reader, browser (links), presentations (MagicPoint), network
    dial-up... Great for using an old PC as an X terminal!
   
  *  [http://www.puppylinux.org] Puppy Linux Fast and light distribution.
    Works great on 10 year old computers. Actively developed.
   
  *  [http://www.delilinux.de/] DeLi Linux - A Linux distribution for old
    computers, from 486 to Pentium MMX 166 or so. It's focused on desktop
    usage. It includes email clients, a graphical Web browser, an office
    package with word processor and spreadsheet, etc. A full install,
    including XFree86 and development tools, needs no more than 300 MB of
    harddisk space.
   
  *  [http://sourceforge.net/projects/smalllinux2] Small Linux 2 - A
    distribution which is designed to run on old / low-spec PC computers (386
    and 2-3 mb of ram). It consists of two floppy discs one,containing the
    kernel and the other the root system. Built upon uClibc and Busybox.
   
  *  [http://www.mepis.com/node/90] MEPISLite - Debian based distribution
    targeting PCs that used to run Windows 98 (typically 128 MB of RAM, 2 GB
    of disk space and a 500 MHZ CPU).
   
  *  Using Gentoo on Old Machines
   
      "Old computers don't have to run old software. Old software does not
    have it's bugs covered and is bad for security.
   
      Most modern distros will be very sluggish when run on those machines;
    not because they use new software, but because they expect to be run on
    new machines and may automatically install large amounts of software. The
    thrust of [http://gentoo-wiki.com/HARDWARE_old] Gentoo-on-old-hardware is
    to obtain a light, minimalist system that runs what you need it to and no
    more; unlike many proprietary OSes and the "heavier" distros such as
    Fedora, Gentoo starts very light by default."
   
  *  [http://www.minix3.org/] Minix - Not a Linux but a UNIX useful for small
    systems. Minimum requirements: 386 CPU, 8 MB of RAM, 50 MB of disk space.
   

 See Wikipedia for [http://en.wikipedia.org/wiki/List_of_Linux_distributions#
Small_or_lightweight_distributions_for_use_with_older_machines]  a longer
list of small Linux distributions.
-----------------------------------------------------------------------------

8.1.4. Dealing with Limited Resources or Tuning the System

 This chapter is taken from my [http://tuxmobil.org/howtos.html]
Linux-Mobile-Guide - A Guide for Laptops, PDAs and Mobile Phones.
-----------------------------------------------------------------------------

8.1.4.1. Related HOWTOs

 

  *  [http://tldp.org/HOWTO/Small-Memory/index.html] Small-Memory-HOWTO
    Describes how to run Linux on a system with a small amount of memory.
   

-----------------------------------------------------------------------------
8.1.4.2. Introduction

 To deal with limited space, memory, CPU speed and battery power, I have
written this chapter.
-----------------------------------------------------------------------------

8.1.4.3. Small Space

8.1.4.3.1. Introduction

 There are different types of techniques to gain more disk space, such as
sharing of space, freeing unused or redundant space, filesystem tuning and
compression. Note: some of these techniques use memory instead of space. As
you will see, there are many small steps necessary to free some space.
-----------------------------------------------------------------------------

8.1.4.3.2. Techniques

 

  *  Stripping: Though many distributions come with stripped binaries today
    it is useful to check this. For details see man strip. To find every
    unstripped file you can use the file command or more convenient the tool 
    findstrip (find it in the Debian perforate package) . Attention: don't
    strip libraries, sometimes the wrong symbols are removed due to a bad
    programming technique.
   
     A recommendation from Russell Marks <rus at beeb.net>:
   
     These days a lot of people compile with -g, which I find a bit annoying
    (though AFAIK this only loses you disk space, in practice).
   
     strip has a --strip-debug option which doesn't strip symbols, but does
    still get rid of the debugging stuff. This is almost as good, in many
    cases, and it's ok to use it on libraries. As it happens, I recently got
    SuSE 6.3, so I can give you a live example:
    bash-2.03# cd /lib                                                       
    bash-2.03# ls -l libc.so.6                                               
    -rwxr-xr-x   1 root     root      4223971 Nov  6 16:22 libc.so.6         
    bash-2.03# strip --strip-debug libc.so.6                                 
    bash-2.03# ls -l libc.so.6                                               
    -rwxr-xr-x   1 root     root      1200355 Dec  8 00:13 libc.so.6         
   
  *  Sparse files: in the case when files contain blocks with only null
    characters, these blocks can be replaced by lseek command calls, saving
    space. Applications (and not the operating system) are responsible for
    creating or handling such files in a correct way. For example, both the 
    tar and cp commands have options for handling sparse files in a correct
    way. See the [http://www.lrdev.com/lr/unix/sparsefile.html] http://
    www.lrdev.com/lr/unix/sparsefile.html page for more details and for a 
    sparse command to create such files. In Debian, you can also use the zum
    command from the perforate package.
   
  *  Remove Odd Files and Duplicates: Check your system for core files, emacs
    recovery files <#FILE#> vi recovery files <FILE>.swp, RPM recovery files
    <FILE>.rpmorig and patch recovery files. Find duplicates, you may try 
    finddup. Choose a system to name your backup, temporary and test files,
    e.g. with a signature at the end.
   
  *  Clean Temporary Files: , e.g. /tmp, there is even a tool tmpwatch.
   
  *  Shorten the Log Files: usually the files in /var/log. There are some
    nice helpers for this task around, e.g. savelog .
   
  *   Remove Files: Remove files which are not "necessary" under all
    circumstances such as man pages, documentation /usr/doc and sources e.g.
    /usr/src .
   
  *   Unnecessary Libraries: You may use the binstats package to find unused
    libraries (Thanks to Tom Ed White).
   
  *  Filesystem: Choose a filesystem which treats disk space economically
    e.g. rsfs aka Reiser Filesystem. Tune your filesystem e.g. tune2fs.
    Choose an appropriate partition and block size.
   
  *  Reduce Kernel Size: Either by using only the necessary kernel features
    and/or making a compressed kernel image bzImage.
   
  *  Compressed read-write filesystems:
   
     - There was a project to add compression support to ext2 filesystems:
    [http://e2compr.sourceforge.net/] e2compr. This project has a very
    limited usefulness as it is currently inactive and only supports very old
    2.4 and 2.6 kernel versions. No chance to get a working patch on the
    latest 2.4 and 2.6 releases.
   
     - Fortunately, a very serious solution exists in the [http://
    www.namesys.com/v4/v4.html] Reiser4 filesystem which includes a
    compression plugin. Using compression is even reported to be faster than
    not using it. Actual results should of course vary with the CPU and disk
    speed, and results might be disappointing on old machines. See [http://
    namesys.com/install_v4.html] how to use Reiser4. This filesystem is
    supported on all recent kernel versions, and merging with mainstream is
    their top priority.
   
  *  Compressed read-only filesystems
   
     - The idea is store parts of the system (typically executables and
    libraries through the /bin, /sbin and /usr directories) in a separate,
    compressed and read-only filesystem. This is great for saving space and
    for protecting the system from extern attacks. However, the constraint is
    that software upgrades can no longer be done when the filesystem is
    mounted. The whole filesystem contents must be rebuilt and replaced at
    once.
   
     - [http://en.wikipedia.org/wiki/Cramfs] CramFS was the first implemented
    solution, used by many embedded system makers. Though still maintained,
    it is dramatically outperformed by SquashFS.
   
     - [http://squashfs.sourceforge.net/] SquashFS is the solution everyone
    should use now. Unlike CramFS, it has no limitations on filesystem and
    file size, and it achieves much better compression and read speed (up to
    5 times!). On slow storage (like USB flash drives), replacing ext2 with
    SquashFS resulting in a 50% reduction on system boot time (observed in a
    Linux demo developped by [http://free-electrons.com] Free Electrons).
   
  *  Partition Sharing: You may share swap-space (see Swap-Space-HOWTO) or
    data partitions between different OS (see mount).
   
  *  C library: use [http://uclibc.org/] uClibc instead of the default [http:
    //www.gnu.org/software/libc/] GNU C library aka glibc. It takes
    approximately 400 KB instead of 1700 (glibc). It used by many embedded
    Linux projects as well as by several tiny Linux distributions. It should
    satisfy most needs, as the whole Debian 3.0 was ported to it. Caution: if
    you replace the C library, all applications also need to be recompiled
    with a dedicated gcc toolchain.
   
  *  [http://busybox.net/] Busybox - A toolbox implementing most Unix
    commands. It takes at most 500 KB instead of approximately 10-30 MB with
    GNU implementations! It is used by almost all embedded Linux projects and
    small Linux distros. Most commands are implemented, even vi, wget, a dhcp
    server and client, and even a http server sufficient for most needs. Even
    if some rare command options are not implemented, even an experienced
    Unix user hardly makes the difference with GNU commands!
   
  *  Kernel: If your needs are fitted with an older kernel version, you can
    save some space.
   
     However, with old kernels, you will miss cool features (such as
    real-time preemption, making your system much more responsive) and
    support for recent peripherals. It is true that the Linux kernel
    accumulated bloat over the years: more features, support for more special
    cases... Now that Linux is taking an increasingly dominant place in
    embedded systems, work is being done to control the kernel size. The
    [http://www.selenic.com/linux-tiny/] LinuxTiny project releases a set of
    patches to the Linux kernel sources. In the Configure Standard Kernel
    Features for Small Systems kernel configuration section, you can unselect
    features you do not need in a simple computer. The minimum compressed
    size you can achieve for a Linux 2.6 kernel for a simple PC is
    approximately 350 KB. Note that more and more LinuxTiny changes are now
    available in the standard Linux kernel (no patching necessary).
   
     With the latest kernel releases, you may also try the [http://
    people.redhat.com/~mingo/realtime-preempt]  real-time preemption patches
    from Ingo Molnar. When full preemption is enabled, it adds unprecedented
    responsiveness to the Linux kernel. The latency is much reduced, suitable
    for real real-time systems (less than 100 us!). It is definitely worth
    trying on old systems to give them a new youth and improve the user
    experience!
   
  *   GUI: Avoid as much Graphical User Interface (GUI) as possible.
   
  *  Tiny Distributions: There are some distributions available which fit
    from one 3.5" floppy to 10MB disk space and fit for small memories, too.
    See [http://tuxmobil.org/howtos.html] Laptop-HOWTO
   

-----------------------------------------------------------------------------
8.1.4.4. Harddisk Speed

 Use the tool hdparm to set up better harddisk performance. Though I have
seen laptop disk enabled with stripping, I can't see a reason to do so,
because IMHO aka RAID0 stripping needs at least to different disks to
increase performance.
-----------------------------------------------------------------------------

8.1.4.5. Small Memory

8.1.4.5.1. Related HOWTOs

 

  *  [http://tldp.org/HOWTO/Small-Memory/index.html] Small-Memory-mini-HOWTO
    by Todd Burgess
   
  *   [http://tldp.org/HOWTO/4mb-Laptops.html] 4MB Laptop-HOWTO by Bruce
    Richardson.
   
  *  [http://www.tldp.org/HOWTO/Module-HOWTO/] Linux Loadable Kernel Module
    HOWTOby Bryan Henderson.
   
  *  [http://www.tldp.org/HOWTO/Kerneld/] Kerneld-mini-HOWTO by Henrik
    Storner.
   

-----------------------------------------------------------------------------
8.1.4.5.2. Techniques

 Check the memory usage with free and top.

 You may also reduce the kernel size as much as possible by removing any
feature which is not necessary for your needs and by modularizing the kernel
as much as possible.

 Also you may shutdown every service or daemon which is not needed, e.g. lpd,
mountd, nfsd and close some virtual consoles. Please see the [http://tldp.org
/HOWTO/Small-Memory/index.html] Small-Memory-mini-HOWTO for details.

 And of course use swap space, when possible.

 If possible you may use the resources of another machine, for instance with
X, VNC or even telnet. For more information on Virtual Network Computing
(VNC), see [http://www.realvnc.com/] VNC .
-----------------------------------------------------------------------------

8.1.4.6. Low CPU Speed

  You may want to overdrive the CPU speed but this can damage your hardware
and I don't have experience with it. For some examples look at [http://
www.silverace.com/libretto/overclocking.html] Adorable Toshiba Libretto -
Overclocking.
-----------------------------------------------------------------------------

8.1.4.7. Tiny Applications and Distributions

 A small collection yet, but I'm looking for more information.

  *   [http://www.boa.org/] BOA - "Lightweight and High Performance
    WebServer. boa is a single-tasking HTTP server. That means that unlike
    traditional web servers, it does not fork for each incoming connection,
    nor does it fork many copies of itself to handle multiple connections. It
    internally multiplexes all of the ongoing HTTP connections, and forks
    only for CGI programs (which must be separate processes). Preliminary
    tests show boa is capable of handling several hundred hits per second on
    a 100 MHz Pentium."
   
  *  Low Bandwidth X - Alan Cox in LINUX REDUX February 1998: " ... ([http://
    www.vigor.nu/dxpc/] Differential X Protocol Compressor - Dxpc) is the
    alternative most people prefer. These systems act as proxy X11 servers
    and compress datastreams by well over 50 percent for normal requests,
    often reaching a reduction to 25 percent of the original bandwidth usage.
    With dxpc, X windows applications are quite usable over a 28.8 modem link
    or across the Internet."
   
  *   [http://blackboxwm.sourceforge.net/] Blackbox - "This is a window
    manager for X. Ixt is similar in many respects to such popular packages
    as Window Maker, Enlightenment, and FVWM2. You might be interested in
    this package if you are tired of window managers that are a heavy drain
    on your system resources, but you still want an attractive and
    modern-looking interface."
   
  *  screen - Tiny but powerful console manager. John M. Fisk <fiskjm at
    ctrvax.vanderbilt.edu> in LINUX GAZETTE : "It's a GUI, GUI, GUI, GUI
    world! " - or so the major OS manufacturers would have you belief. Truth
    is, that while this is increasingly the case, there are times when the
    command line interface (CLI) is still a very good choice for getting
    things done. It's fast, generally efficient, and is a good choice on
    memory or CPU constrained machines. And don't forget that there are still
    a lot of very nifty things that can be done at the console." "screen is a
    full-screen window manager that multiplexes a physical terminal between
    several processes, typically interactive shells. Each virtual terminal
    provides the functions of the DEC VT100 terminal and, in addition,
    several control functions from the ANSI X3.64 (ISO 6429) and ISO 2022
    standards (e.g., insert/delete line and support for multiple character
    sets). Real multiuser support, split screen support, hardstatus emulation
    support, configurable window seperator and hardstatus strings, permanent
    window seperator, many new escapes, logfile timestamps and flush timeout,
    optional builtin telnet, optional Braille support, support for history
    compaction."
   
  *  [http://linux.maruhn.com/sec/tinyirc.html] tinyirc - "A tiny, stripped
    down IRC Client. Doesn't have most of the more advance commands in the
    ircII family of IRC Clients, nor does it have any color, but it works,
    and it's tiny."
   
  *   [http://tinyproxy.sourceforge.net/] tinyproxy - "Tinyproxy is a
    lightweight HTTP proxy designed to do the job with a minimum of system
    resource use. It's ideal for small networks where a larger HTTP proxy
    such as squid might be overkill or a security risk. This simplicity also
    makes tinyproxy an ideal candidate for customization - it takes very
    little time to read and understand the tinyproxy source, and thus you can
    start adding your own desired features on short order."
   

 Actually, with the progress of Linux in embedded systems, countless
lightweight applications now exist. A presentation from Free Electrons tries
to list the most popular ones.
-----------------------------------------------------------------------------

8.2. Other Techniques

 NiCad batteries need to be discharged periodically to prevent the memory
effect and prolong their lifespan.

 Batteries such as NiCad, Lead Acid, and NiMH contain TOXIC chemicals.
Techniques should be taken to prolong their lifespan, and when you do discard
them, they should be recycled, not thrown in the trash.

 One technology to watch is the [http://en.wikipedia.org/wiki/
Super_iron_battery] Iron battery. Such a battery could reduce some of the
toxic waste problems associated with used batteries, however such a battery
is probably a few years away.

 Some remarks about backlights in laptops, monitors (screensavers), harddisks
(hdparm), etc. have to be written.
-----------------------------------------------------------------------------

8.3. Linux BadRAM Patch

  The objective of the [http://rick.vanrein.org/linux/badram/] BadRAM Patch
is to run the Linux kernel in such a way that it can handle defective RAM
modules. With defective RAM, I mean RAM which has some bits wrong at some
(known) addresses. Normally, such RAM is considered useless and thrown away;
the larger RAMs get, the higher the chances of failing addresses. With ever
growing RAM sizes, it would therefore be pleasant to have an alternative to
discarding of defective RAM chips.
-----------------------------------------------------------------------------

8.4. Installing Linux on Older Hardware

  [http://www-128.ibm.com/developerworks/linux/library/l-lwl1/] Lightweight
Linux, Part 1: Hardware is only as old as the software it runs: a modern
operating system and up-to-date applications return an older system to
productivity. This article provides best practices and step-by-step guidance
on how to build a working Linux system on older hardware or on modern
hardware with limited memory and storage.

  Purging of uneeded Locales: localepurge for Debian is just a simple script
to recover disk space wasted for unneeded locale files and localized man
pages. Depending on your installation, it is possible to save some 20, 30, or
even more megabytes of disk space usually dedicated for locales you'll
probably never have any usage for.
-----------------------------------------------------------------------------

8.5. Upgrading and Repairing Computer Hardware and Communication Devices

  Usually manufacturers declare the warranty to be void if the case was
opened by people other than their own staff. If you want to try it anyway you
may find some interesting links about how to [http://repair4laptop.org/]
repair, disassemble, upgrade or mod laptops or notebooks, [http://
repair4pda.org/] repair broken PDAs and HandHelds, as well as [http://
repair4mobilephone.org/] repair mobile (cellular) phones, [http://
repair4player.org/] repair portable audio and video players, [http://
repair4mouse.org/] repair, clean and mod a computer mouse, [http://
repair4printer.org/] repair printers, ink and toner cartridges, [http://
repair4harddisk.org/] repair hard disk drives, [http://repair4keyboard.org/]
repair and clean computer keyboards and [http://repair4pc.org/] repair
personal computers - PCs.

  BTW: here are some non-computer related links to guides explaining, how to
[http://repair4camera.org/] repair (digital) cameras, [http://repair4car.org
/] repair cars.
-----------------------------------------------------------------------------

8.6. Other Operating Systems

 Courtesy of George White <gwhite at bodnext.bio.dfo.ca>: Or you can buy an
older computer (SGI, Sun, NeXT) that comes with unix and is capable of
running a wide range of open source software. In some cases (SGI Indigo2) you
can still run current OS versions, in others you may do better with an open
source OS such as Linux, but in either case you have access to lots of good
software and tools to write your own. The lower power consumption of older
computers means you get more reserve time from an UPS or can use a small
alternative power source if you don't have access to "mains" power.
-----------------------------------------------------------------------------

Chapter 9. Using Linux on non-PC Hardware

 As mentioned in the previous chapter, Linux can be run on non-PC
architectures. This is particularly useful for the small applications old PCs
can be used for.
-----------------------------------------------------------------------------

9.1. Using Consumer Electronics Devices

 Linux is increasingly used in Consumer Electronics (CE) devices, in
particular in network appliances such as Wifi routers, DSL modems, Network
Attached Storage (NAS) servers, IP cameras and other small devices.

 Thanks to the GNU GPL license, kernel and application source code for these
devices are freely available. More and more device owners are taking
advantage of this to develop other uses for these devices. Thanks to the
progress of Linux in embedded systems, making its own embedded system is
increasingly easy.

 Using such devices instead of regular PCs yields many advantages: much lower
power consumption, no noise (no fans), built with much fewer materials (small
size), and much lower cost (for your purse and for the environment).

  *  [http://www.nslu2-linux.org/] NSLU2-Linux - A community of people
    running Linux on the Linksys NSLU2 device. This device is originally a
    Network Attached Storage server, featuring a 266 MHz ARM CPU, 8MB of
    flash, 32MB of SDRAM and a rich connectivity: Connectivity: USB (for
    attached storage), Ethernet and a serial port. That's all you need in a
    versatile Linux computer. Many different [http://www.nslu2-linux.org/wiki
    /Applications/HomePage]  cool applications are listed by the project.
   
     The NSLU2 device is still available in the shops on all continents, for
    a very cheap price: approximately 90 ?? or 90 US Dollars. This makes this
    device extremely popular!
   
  *  [http://openwrt.org/] OpenWRT - A project to run Linux on WiFi routers
    based on the Linksys WRT chipset. A typical configuration includes a 125
    to 200 MHz ARM CPU, 4 MB of flash, 16 MB of RAM, and Ethernet, WiFi,
    serial port (often) and a USB host port (often).
   
     Devices based on the Linksys WRT chipset are available for sale on all
    continents, costing between 50 and 100 ?? / US Dollars. They are very
    popular too!
   

 In a nutshell, do not buy a new PC for small applications. Reuse your old
computers or buy a consumer device on which you can run Linux!
-----------------------------------------------------------------------------

9.2. Using Embedded Linux Boards

 Instead of using a PC, or even instead reusing a consumer device, you may
also create your own system using dedicated embedded system boards. Because
of lower volumes, such boards may be a bit more expensive, but they can
achieve much reduced size and power consumption. Both low and higher volumes
are available too.

 Here are a few noteworthy examples:

  *  [http://www.picotux.com/] Picotux - The smallest Linux computer in the
    world, only slighly larger than a RJ45 connector. Pretty cheap too.
   
  *  [http://gumstix.com/] Gumstix - Small, affordable embedded boards with
    the size of a gumstick. Backed by an active community too.
   

 See this [http://free-electrons.com/community/hardware/boards/] independent
list of interesting board suppliers for more details.
-----------------------------------------------------------------------------

Chapter 10. X10 - Home Automation System

 "X-10 modules are devices that plug into an electrical outlet and allow you
to remotely control the power to a lamp or an appliance that is plugged into
them. There are also X-10 modules that install in place of wall switches to
control lights, and there's one that can be used to set back a thermostat."

 These [http://www.x10.com] X10 folks make a really cool dongle called the
Firecracker. These allow for the control of X10 devices via a serial-port of
your PC. Programs like Bottlerocket and GtkX10 allow Linux programs to
control X10 devices using the Firecracker device. You may be able to get the
Firecracker, a remote control, a receiver, and a lamp module for as little as
$5.95 U.S. (special promotion).

 [http://www.joethielen.com/phantom/home/] GNU Phantom.Home is a computer
controlled home automation system. The software includes a circuit diagram
for building the Phantom.Home.Controller, a simple circuit board that
attaches to your PC's parallel port. Using the combination of hardware/
software you can control (i.e. flip on or off) nearly any 120V device. And
with a little bit of electronics know-how, you can probably control nearly
any device at any voltage by modifying the circuit board to meet your needs.
The simple circuit included can be created and built for around $25. The
modules cost around $10 (basically a heavy duty relay).

 More details on this topic are available on the [http://www.linuxha.com/]  
Linux Home Automation website.

 Turn that light off when not in use!
-----------------------------------------------------------------------------

Chapter 11. Uninterruptible Power Supply - UPS

 You should use a protection against lightening and power surges or a UPS if
you have many thunderstorms in the area. That will save hardware, software,
your time, and money, and help prevent you from throwing out that old
monitor, CPU, or modem when it gets trashed by lightening. For details
consult the [http://tldp.org/HOWTO/UPS-HOWTO.html] UPS-HOWTO.

 For desktop PCs, in areas prone to lightening or power outages, UPSs could
save hours of work each week, potentially translating into power savings.
However, there is some concern over their additional usage of AC power. If
anyone has any studies or research on this issue, could they please forward
it to us? That would be an interesting question to post to APC, BEST, etc.

 UPSs also contain batteries with a high environmental cost. So, just use a
UPS when really needed and when benefits outweight environmental costs. For
example, if you are using a notebook, a much cheaper surge protection is
enough thanks to your battery.

 People have also reported issues using unreliable power sources, for example
in trains. Make sure you use a surge protection device then!
-----------------------------------------------------------------------------

Chapter 12. Games

 Personally I'm not much a player of computer games but maybe they can be
used for environmental education. In a first investigation I found Lincity
and Real Life, please check their usefulness by yourself.

  *  Lincity - Build & maintain a city/country. You are required to build and
    maintain a city. You must feed, house, provide jobs and goods for your
    residents. You can build a sustainable economy with the help of renewable
    energy and recycling, or you can go for broke and build rockets to escape
    from a pollution ridden and resource starved planet, it's up to you. Due
    to the finite resources available in any one place, this is not a game
    that you can leave for long periods of time. This game is similar to the
    commercial simulation game with a similar name. This package provides
    files common to both the X and SVGALIB versions of the game.
   
  *  Real Life - "In [http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life]
    Conway's Game of Life every cell is either fully alive (has the value of
    1) or completely dead (has the value 0). In Real Life this restriction to
    bivalence is lifted to countenance -real-valued- degrees of life and
    death. Real Life contains Conway's Game of Life as a special case;
    however, Real Life, in contrast to Conway's Game of Life, exhibits
    sensitive dependence on initial conditions which is characteristic of
    chaotic systems."
   
  *  [http://www.sierra.com] Sierra has produced (some time ago) Eco Quest 1
    - Lost in Rainforest and Eco Quest 2 - The Search for Cetus. The EcoQuest
    games were for MS-DOS and Windows 3.x. These were targeted at younger
    players.
   
  *  SimEarth, 1988, Maxis (DOS, Win3.x, Mac) Simulates the development of a
    planet from the forming of the crust to the spread of civilization. Based
    on James Lovelock's Gaia theory. Somewhat dull and difficult to learn,
    but there's a good amount of educational value to be gotten out of
    fiddling around with the models, particularly greenhouse effect.
   
  *  Balance of the Planet, 1991, Chris Crawford (DOS, Mac) You take the role
    of a government policy-maker who must try to balance industry and
    ecology. Remarkably complicated and drab (even moreso than SimEarth), but
    certain to be educational and thought-provoking if time is spent with the
    manual. (The Mac version can now be downloaded for free from Crawford's
    website http://www.erasmatazz.com/free.html, but Executor seems to be
    unable to deal the filenames in the archive.)
   
  *  Global Effect, 1992, Millennium (DOS, Amiga) An early real-time strategy
    game where you must try to conquer your opponent while dealing with the
    ecological ramifications of your weapons and industry upon your
    population. Clunky interface, not a lot of fun compared to current
    Warcraft-type games.
   
  *  SimIsle, 1995, Maxis (DOS, ???) Develop a tropical island without
    destroying the rainforest ecology. Large learning curve but supposedly a
    lot of fun.
   
  *  SimPark, 1997, Maxis (Win 95, ???) Sort of a children's version of
    SimIsle, which is simpler and more education-focused.
   

 I suspect the older games should run just fine on dosemu.
-----------------------------------------------------------------------------

Chapter 13. Ecology Software (Simulation, Data Collection, Statistics, etc.)

 Though I know there is some MS-Windows based software which is used in
ecological science (there is even a branch environmental informatic), I know
only Ecolab available for Linux yet. But I guess Linux software (for instance
databases or statistics programs) may easily adopted. Also it might be
possible to use a Linux cluster to solve ecological simulations.
-----------------------------------------------------------------------------

13.1. Ecolab

 Ecolab is both the name of a software package and a research project that is
looking at the dynamics of evolution. [http://parallel.acsu.unsw.edu.au/rks/
ecolab.html] http://parallel.acsu.unsw.edu.au/rks/ecolab.html EcoLab is a
system that implements an abstract ecology model. It is written as a set of
Tcl/Tk commands so that the model parameters can easily be changed on the fly
by means of editing a script. The model itself is written in C++.
-----------------------------------------------------------------------------

13.2. Tierra

 [http://www.nis.atr.jp/~ray/tierra/] Tierra is a tool for studying digital
evolution and ecology that runs on Linux and other OSes.
-----------------------------------------------------------------------------

13.3. Linux in Environmental Research

 Courtesy of Wade W. Hampton: Linux is ideally suited for use as a research
tool for environmental experiments. There are small embedded Linux solutions
that can be used for remote monitoring or telemetry. There are VERY small
Linux implementations from PC-104 systems to embedded systems like the [http:
//www.uclinux.com] uCsimm. Linux even flew on the shuttle controlling
biological experiments.... Linux has been used for weather research on NOAA's
Hurricane Hunter aircraft.

 Linux is also an ideal platform for researching ecological and environmental
information via the Internet using standard WWW-based tools like Netscape.

 Linux may even be used to model complex biological and environmental
processes. [http://www.beowulf.org] beowulf clusters have been used to run
complex simulations of environmental processes, for example Earthdome, listed
in the [http://www.beowulf.org/overview/projects.html] Beowulf projects page.
-----------------------------------------------------------------------------

13.4. SWARM

 [http://www.swarm.org] SWARM is a software package for multi-agent
simulation of complex systems that is being developed by the Swarm
Development Group (SDG).

 Swarm is intended to be a useful tool for researchers in a variety of
disciplines, especially artificial life. The basic architecture of Swarm is
the simulation of collections of concurrently interacting agents: with this
architecture, we can implement a large variety of agent based models. The
source code is freely available under GNU Licensing terms.
-----------------------------------------------------------------------------

13.5. Climate-Dynamics

Linux clusters are used in climate modeling, for example in the [http://
www.climate.unibe.ch/CCSM/renold04eos.pdf]  University of Bern in
Switzerland.
-----------------------------------------------------------------------------

13.6. UNCERT

 [http://uncert.mines.edu/] UNCERT is a geostatistical uncertainty analysis
package applied to groundwater flow and contaminant transport modeling. This
package was developed for evaluating the inherent uncertainty in describing
subsurface geology, hydraulic properties, and the migration of hazardous
contaminants in groundwater flow systems. It is well suited for the
aforementioned purposes, but is also sufficiently general to be usable by
researchers in a wide range of disciples.
-----------------------------------------------------------------------------

13.7. EcoTopia

 The [http://www.ecotopia.org] EcoTopia web site uses computer simulation to
model Santa Cruz, California as an ideal environmental community. For
Ecotourists and Green Consumers, EcoTopia strives to offer the nation a model
of integration of technology and environmental remediation using computer
modeling and image forecasting.
-----------------------------------------------------------------------------

13.8. Digiqual

  [http://sourceforge.net/projects/digiqual/] Digiqual is a package to manage
a quality and environmental control system for a factory. The package
consists of six modules, but only the first module has been released. The
modules are Supplier Evaluation, Non Conformity, Documentation, Maintenance,
and Internal Audit, and Training. All data are stored in a PostgreSQL
database by the psycopg connector.
-----------------------------------------------------------------------------

Chapter 14. Related Projects, Mailing Lists and Newsgroups

 

  *   Though I searched the WWW, I couldn't find neither a dedicated
    newsgroup nor a mailing list yet. Please let me know of such projects,
    otherwise I will create a list a FreeLists.org .
   
  *  [http://www.repairfaq.org] Repair FAQ .
   
  *  [http://www.celinuxforum.org/] CE Linux Forum is a non profit consortium
    of embedded system makers (such as Sony, Panasonic, Philips...) which
    works to develop the suitability of Linux as an operating system for
    Consumer Electronics (CE) devices. [http://tree.celinuxforum.org/
    CelfPubWiki/FrontPage]  Its Wiki is full of useful resources for embedded
    system makers to reduce size, power consumption, and to increase speed.
    You may find lots of interesting ideas and resources there. Free
    Electrons has a [http://free-electrons.com/articles/optimizations]  
    overview presentation summarizing these ideas and resources.
   
  *  "The [http://egj.lib.uidaho.edu/] Electronic Green Journal, published by
    the University of Idaho Library, is a professional, refereed publication
    devoted to disseminating information concerning sources on international
    environmental topics including: assessment, conservation, development,
    disposal, education, hazards, pollution, resources, technology, and
    treatment. We are academically sponsored; our focus, however, is to
    publish articles, bibliographies, reviews, and announcements for the
    educated generalist as well as the specialist. We welcome original
    contributions from authors on any of the above topics." . You may also
    find a survey about Environmental Resources on the World Wide Web there.
   
  *  BAN is a global network of toxics and development activist organizations
    that share a vision of international environmental justice. We seek to
    prevent all forms of "toxic trade" -- in toxic wastes, toxic products and
    toxic technologies. BAN members will work nationally, regionally and
    globally to accomplish the following mission: The [http://www.ban.org]
    Basel Action Network (BAN) works to prevent the globalization of the
    toxic chemical crisis. In particular, we seek to ensure that the Basel
    Convention and its ban (Decisions II/12 and III/1) on the export of
    hazardous wastes from OECD to non-OECD countries will not be weakened,
    but rather ratified and implemented at the earliest possible date. We
    also seek to ensure that the Basel Convention and other instruments and
    efforts, serve to prevent the trade and growth of the world's most
    hazardous, and often obsolete industries, particularly with respect to
    developing or newly industrializing countries.
   
  *  [http://www.svtc.org/] Silicon Valley Toxics Coalition (SVTC) is a
    diverse grassroots coalition that for almost twenty years has engaged in
    research, advocacy, and organizing associated with environmental and
    human health problems caused by the rapid growth of the high-tech
    electronics industry. Our goal in addressing these problems is to advance
    environmental sustainability and clean production in the industry and to
    improve health, promote justice, and ensure democratic decision-making
    for communities and workers affected by the high-tech revolution in
    Silicon Valley and other high-tech areas of the US and the world.
   
  *  Non-profit [http://www.freegeek.org/] Free Geek turns old PCs and
    laptops into Linux boxes and gives them to poor people. Any computer
    equipment, working or not, can be donated to Free Geek. They will repair
    and reuse what computers they can. Non-functioning computers and scrap
    will be recycled responsibly.
   
  *  [http://www.vnunet.com/vnunet/news/2192333/green-linux-attack-power]
    VuNet "The Linux Foundation has formed a Green Linux initiative to focus
    on reducing the open source operating system's power consumption..."
   

-----------------------------------------------------------------------------
Chapter 15. Credits

 Thanks to:

  *  Hristo Bojinov <hib at mit.edu>
   
  *  Thomas Boutell <boutell at boutell.com>
   
  *  Lionel "trollhunter" Bouchpan-Lerust-Juery<trollhunter at linuxfr.org>
   
  *  Ben De Rydt <ben.de.rydt at pandora.be>
   
  *  Manuel Palomo Duarte <manuel.palomo at uca.es>
   
  *  Richie Gan <csardas at gate.sinica.edu.tw>
   
  *  [http://bogmog.sourceforge.net] Andreas Gohr <a.gohr at web.de>
   
  *  Jeandre <jeandre at techie.com>
   
  *  Wade W. Hampton <whampton at staffnet.com>
   
  *  Malcolm Herbert <Malcolm.Herbert at fulcrum.com.au>
   
  *  Robert Hoehne <hoehne at eng.usf.edu>
   
  *  Robert Horn <rjh at world.std.com>
   
  *  Larry Lade <lade at midco.net>
   
  *  Volodymyr M. Lisivka <vlisivka at gmail.com>
   
  *  Verena Lorenz-Meyer <lome at cs.tu-berlin.de>
   
  *  [http://www.msquared.id.au/] M²
   
  *  Russell Marks <rus at beeb.net>
   
  *  Don Marti <dmarti at varesearch.com>
   
  *  Jun Morimoto <morimoto at xantia.citroen.org>
   
  *  Hanno Mueller <kontakt at hanno.de>
   
  *  Ralf Muschall <rmuschall.fih at t-online.de>
   
  *  Martin <Niteskate at aol.com>
   
  *  Michael Opdenacker, for tips and tricks about PDAs and moral support
    [http://free-electrons.com/] Free-Electrons
   
  *  Klaus Peichl <pei at iis.fhg.de>
   
  *  Mathieu Peyrega <mathieu.peyrega at orange.fr>; [http://www.incub.net/]
    IncuB
   
  *  Daniel Pirone <cocteau at wact.net>
   
  *  Martin Pool <martinp at mincom.com>
   
  *  Bernhard Reiter <bernhard at uwm.edu>
   
  *  Matthias Scheller <mscheller at access.diax.ch>
   
  *  Georg Schwarz <schwarz at physik.tu-berlin.de>
   
  *  Victor Solymossy <victor at lig.dq.ufscar.br>
   
  *  Knut Suebert <ksueber at gwdg.de>
   
  *  Charlie Triplett <crtfcc at missouri.edu>
   
  *  Sotiris Vassilopoulos <Sotiris.Vassilopoulos at betatech.gr>
   
  *  George White <gwhite at bodnext.bio.dfo.ca>
   
  *  Yan Wong <yan.wong at linacre.ox.ac.uk>
   

-----------------------------------------------------------------------------
Chapter 16. Revision History

 

  *  0.1, 18 June 1999, first draft
   
  *  0.2, 10 September 1999, changed <htmlurl ... > tag to <url ...>, another
    motto, added appendix B about MP3 player, created and added eco_com
    mailing list, added chapter about alternative power supplies, added
    recommendations for buying a new computer, improved screensaver section,
    added UPS chapter, added chapter about hardware design, minor changes
   
  *  0.3, 17 September 1999, added information about Tierra, added
    information about wasting of resources during computer production, added
    some comments about UPS, minor changes
   
  *  0.4, 05 December 1999, added appendix G about other operating systems,
    added information about CD recycling, added appendix H URLs of recyclers,
    removed link to Linux Games Survey, added links to SWARM, UNCERT and
    Climate-Dynamics, added chapter about Energy Star label (courtesy of
    Robert Horn), minor changes
   
  *  0.5, 04 January 2000, some additional information about PostScript
    utilities, new chapter Caveats, URL corrections and minor changes
   
  *  0.6, 01 March 2000, link to Japanese translation added and some spell
    checking (thanks to Jun Morimoto), correction of URLs
   
  *  0.7, 14 April 2000, new chapter about double sided printing, some links
    added to the Games chapter, Power Management Unit - PMU section added,
    proposition of Chinese translation
   
  *  0.8, 4 November 2000, some more hints on using small space and small
    memory added, new chapter about Linux applications for old hardware, some
    more hints how to save paper included, proposal of Portuguese
    translation, links updated, new document URL, minor changes
   
  *  0.9, 27 February 2003, some links corrected (TuxMobil.org, tldp.org),
    minor changes
   
  *  0.10, 22 November 2003, conversion to XML, some remarks about the
    ecological comparison between laptops and desktops were added, minor
    changes
   
  *  0.11, 23 March 2004, conversion to XML, some remarks about the
    ecological comparison between laptops and desktops were added, minor
    changes
   
  *  0.12, 27 July 2005, Added a chapter about "Installing Linux on Older
    Hardware", bumped to DocBook 4.2, minor changes.
   
  *  0.13, 9 February 2006, All URLs have been checked and some minor changes
    were made.
   
  *  0.14, 12 March 2006, A link to ledcontrol has been added and some minor
    changes were made.
   
  *  0.15, 11 May 2006, Many updates, hyperlinks to existing resources and
    additions by Michael Opdenacker ([http://free-electrons.com/] Free
    Electrons). Most added ideas and resources come from the embedded Linux
    system development community.
   
  *  0.16, 24 October 2006, Some link and spell checking has been done.
   
  *  0.17, 30 May 2007, A short description of Intel's LinuxPowerTop project
    has been added to the Powermanagement section, the Nuke Anything Enhanced
    FireFox extension and kprinter are now mentioned in the Printer section,
    some minor enhancements have been done and all URLs have been checked.
   
  *  0.18, 19 June 2007, A new chapter about using spare CPU cycles has been
    added, the Green Linux initiative of the Linux Foundation has been
    mentioned, and the abstract has been made more precise.
   
  *  0.19, 22 June 2007, Some information about energy-efficient products and
    standards has been added.
   

-----------------------------------------------------------------------------
Appendix A. Appendix A - Linux with Laptops

A.1. Ecological Comparisons of Computers

  Scientists of [http://www.reuse-computer.de] ReUse project located at the
[http://tu-berlin.de/] Technical University of Berlin recently compared the
energy consumption of different computer types along the life cycle. The
production of computers actually needs 535 kWh which is 10 % less than 4
years ago. Most of the energy will be consumed while the computer is used for
example at work for 8 hours/day. The energy consumption of new computers with
2,5-3 GHz processors is even in the stand-bye-mode still 100 Watt, whereas a
1,4 GHz PC needs 80 Watt and a 4 year old PC only needed 60 Watt. Therefore
from the ecological point of view it is better to buy an old computer that
didn't need the energy for a new production and which consumes less
electricity while it is being used.

  LCD displays need less energy than other monitors. For this reason laptops
are the most ecological types of the compared computers. They need the
smallest amount of energy when they are used. And 3 year old laptops are
better than new ones since their processors need less energy than new
examples. There is also an article in the German computer magazine [http://
heise.de/ct/] C't 21/ 2003.
-----------------------------------------------------------------------------

A.2. Battery

  Has to be written. See [http://tldp.org/HOWTO/Battery-Powered/index.html]
Battery-Powered-mini-HOWTO , too.
-----------------------------------------------------------------------------

A.3. PCMCIA Card Services and Advanced Power Management

  Quoted from the [http://tldp.org/HOWTO/PCMCIA-HOWTO.html] PCMCIA-HOWTO:
"Card Services can be compiled with support for APM (Advanced Power
Management) if you've configured your kernel with APM support. ... The PCMCIA
modules will automatically be configured for APM if a compatible version is
detected on your system. Whether or not APM is configured, you can use 
cardctl suspend before suspending your laptop, and cardctl resume after
resuming, to cleanly shut down and restart your PCMCIA cards. This will not
work with a modem that is in use, because the serial driver isn't able to
save and restore the modem operating parameters. APM seems to be unstable on
some systems. If you experience trouble with APM and PCMCIA on your system,
try to narrow down the problem to one package or the other before reporting a
bug. Some drivers, notably the PCMCIA SCSI drivers, cannot recover from a
suspend/resume cycle. When using a PCMCIA SCSI card, always use cardctl eject
prior to suspending the system."

 You should use the internal modem in a laptop instead of a PCMCIA modem, if
possible (it may be a WinModem).
-----------------------------------------------------------------------------

A.4. Power Saving Techniques

 

  *  If you don't need infrared support, disable it in the BIOS or shutdown
    the IrDA device driver. There are also some IrDA features of the kernel
    which are useful for saving power. In the specifications of my HP
    OmniBook 800 it is recommended to turn off the IR port, if it is not in
    use, because it may consume up to 10 percent of the battery time. If
    necessary, you may also try to disable the Fast RRs feature in the IrDA
    section of the kernel. This option will give you much better latencies
    but will consume more power.
   
  *   PCMCIA services consume much power, so shut them down if you don't need
    them.
   
  *  I'm not sure to which extend the backlight consumes power. WARNING:
    AFAIK this device can only bear a limited number of uptime circles. So
    avoid using screensavers too much.
   
  *  For some examples to build batteries with increased uptime up to 8 hours
    look at [http://www.silverace.com/libretto/] Adorable Toshiba Libretto.
   
  *  For information about APM look at the APM chapter above.
   
  *   [http://www-leland.stanford.edu/~bbense/toys/] A hacked rclock. Booker
    C. Bense has hacked the rclock program to include a simple battery power
    meter on the clock face.
   
  *   [http://www.kde.org/] KDE provides KAPM, Kbatmon and Kcmlaptop. Written
    by Paul Campbell kcmlaptop is a set of KDE control panels that implements
    laptop computer support functions, it includes a dockable battery status
    monitor for laptops - in short a little icon in the KDE status bar that
    shows how much battery time you have left. It also will warn you when
    power is getting low and allows you to configure power saving options.
    Similar packages you may find at the [http://www.gnome.org/] GNOME
    project . See the software maps at both sites.
   
  *   Please see [http://tldp.org/HOWTO/Battery-Powered/index.html]
    Battery-Powered-mini-HOWTO for more information.
   
  *   toshiba-fan Turn the fan on a Toshiba Pentium laptop on or off. This is
    a command line utility to turn the fan of a Toshiba laptop on or off, or
    view its current state. It should work on all Toshiba Pentium laptops
    that have fans.
   

-----------------------------------------------------------------------------
Appendix B. Appendix B - MP3-Hardware-Decoder at Parallel Port

 In the German computer magazine [http://www.heise.de/ct/] CT issue 9/1999 p.
200 and 10/1999 p. 260 I found an article about turning an old PC (from 286
upward) into a MP3 player, by using a MP3-Hardware-Decoder at the parallel
port. [http://www.mp3pump.de/english/index.html] Authors Homepage .

 Also mentioned there, is a software by [http://leute.server.de/peichl/
mpegcd.htm] Klaus Peichl, which doesn't need a hardware decoder.

 Though both programs are DOS based, I mention them here. I hadn't time to
look for an according Linux solution.

 [http://www.cajun.nu/] Cajun is a program that allows you to turn any
computer (>75mhz) into a massive audio jukebox for your car or home. It uses
the [http://www.matrixorbital.com/] MatrixOrbital serial display and supports
the IRman infra-red remote control interface. Soundcard output is delivered
to your (car or home) stereo for amplification. The software supports a
hotlist and shuffle mode. It includes FM/Video4Linux support, icecast/
shoutcast support, CrystalFontz serial display support, and choice of mpg123
or xaudio for driving the sound card.
-----------------------------------------------------------------------------

Appendix C. Appendix C - Bibliography

 

  *  Ellringmann, H. /Hrsg.): Softwarefuehrer Umweltschutz. Anbieter -
    Produkte - Maerkte; 1999ff.
   
  *  Koellner, W. / Fichtler, W.: Recycling von Elektro- und
    Elektronikschrott; 1996
   
  *  Rohwedder, W.J. "Rocky" / Alm, Andy: Using Computers in Environmental
    Education; 1994
   
  *  Schloegl, M.:Recycling von Elektro- und Elektronikschrott; 1995
   
  *  Tiltmann, K.O. (Hrsg.): Recyclingpraxis Elektronik; 1994
   
  *  Andreas Grote: (be): Gruene Rechnung - Das Produkt Computer in der
    Oekobilanz - Report, Oekologie, Rohstoffverbrauch, Energieverbrauch und
    Schadstoff-Emissionen bei Herstellung, Betrieb und Entsorgung, EPA,
    Energy Star, Green-PC (c't 12/1994, Seite 92) [http://www.heise.de/ct/]
    CT .
   

-----------------------------------------------------------------------------
Appendix D. Appendix D - Recommendations for Buying a New Computer

 Courtesy of Wade W. Hampton (modifications by wh): Purchase a low-power
computer such as a laptop or network computer. These typically don't use as
much power as desktop systems. For example, someone on the WWW had a Corel/
Rebel Netwinder powered by solar cells. I find it funny that an "Energy Star"
desktop still has a 300W power supply and uses far more power than a computer
like the Netwinder which uses something like 10 Watts of power, (though this
is consistent with the Energy Star goals for computer equipment, since they
have targeted unused power consumption).

 Maybe there should be a new class of computers called "Energy Miser" (or
similar) that use nearly an order of magnitude less power than Energy Star
systems?

 To save power for the display, one could purchase a LCD monitor instead of a
CRT. LCD monitors consume 30-40 Watts of power versus the 100's of Watts used
by most monitors. The price of an LCD is still 2-3 times that of a similar
monitor, but as LCDs become more widely used, the price will come down.

 Make sure that any new computer purchase includes APM-compliant hardware and
low-radiation. Use TCO, DPMS or Energy Star compliant monitors.

 R Horn <rjh at world.std.com> wrote: " I personally have found the [http://
eande.lbl.gov/] Lawrence Berkeley Labs - LBL web site to be the best source
for information on energy efficient equipment. They go into considerable
details on how to reduce energy consumption from many kinds of equipment,
including much more than computers. They also have a good collection of links
to related sites. The Energy Star program is defined by the US Environmental
Protection Agency, which has a web site on it. So far all of the Energy Star
regulations have been defined to reduce energy usage without requireing
change or restrictions on regular usage. There is an amazingly large amount
of electricity consumed by idle equipment (computers, televisions, microwave
ovens,...) and also large amounts consumed unnecessarily by equipment that
must be continuously one (emergency exit signs, traffic lights, ...). Since
this energy can be saved without asking users to make any compromises on
performance, it is being targeted first.

 Somewhere on the LBL web site they have the actual power consumption figures
for various PCs. The 300W power supply is quite misleading. Actual power
usage varies depending upon what programs you run and whether the disks can
be powered down. Genuine usage while in operation is usually in the 50-75W
range. When the system is idle, it drops significantly.

 The NetWinder is a nice machine, but does force operational compromises. The
peak CPU performance is much lower. The operating system is not Windows. And
there are other limitations. A closer comparison is the typical laptop PC.
These can generally be operated from a modest solar panel because their
average power drain is quite low. With these you can see the cost vs power
consumption tradeoff. They achieve the same performance as the desktop units,
but the low power consumption has doubled or tripled the cost.

 (I personally use a Psion. A decent slow computer that requires only 200mw
of power. It may even run Linux once they deal with some of the ROM issues.)

 The big debate in setting the energy star regulations was deciding which
would have greater overall benefit: small negligible cost improvements to
almost all equipment sold, or greater improvements at much higher cost? Could
that cost be invested elsewhere to greater benefit? How will the purchasers
react to the higher cost? So far the consensus has been that improving a
large number of machines at negligible cost is wiser than improving a smaller
number of machines at high cost."
-----------------------------------------------------------------------------

Appendix E. Appendix E - A New Environmentally Friendly Hardware Design

 Courtesy of Wade W. Hampton and Knut Suebert: New hardware designs that plan
to use Linux should take advantage of environmentally friendly technologies
such as low-power CPUs e.g., the ARM from: [http://developer.intel.com/design
/strong/] Intel, environmentally friendly battery design, low-power displays
(e.g., non-backlit LCDs), smaller packaging, etc. Linux supports a WIDE
variety of hardware and technologies. These could be leveraged into powerful,
flexible, environmentally friendly Linux-based solutions.

 An "Environmental Rating" could be created for new Linux-based hardware and
even some Linux-based software such as bottlerocket (X10). Devices such as
the Netwinder or the uCsimm would receive high ratings for their size, power
consumption, capabilities, etc.

 At [http://www.telepolis.de/tp/deutsch/inhalt/te/1367/1.html] Telepolis
(German Computer Magazine) you might find an article about wasted resources
during computer manufacturing.

 Generally speaking PPC CPUs consume less power than x86 CPUs.
-----------------------------------------------------------------------------

Appendix F. Appendix F - Computer Related Eco Labels

 

  * [http://www.energystar.gov.au/] ENERGY STAR Australia Home Page
   
  * [http://www.blauer-engel.de/englisch/navigation/body_blauer_engel.htm]
    Blauer-Engel.de
   
  * [http://www.svanen.nu/Eng/] SIS Ecolabelling, The Swan, Nordic ecolabel
   
  * [http://www.eco-label.com/] Eco-Label
   
  * [http://www.eccj.or.jp/top_runner/index.html] Top Runner - Energy
    Conservation Center,Japan / Top Runner Program REVISED EDITION/OCT 2006
   
  * [http://www.gealabel.org/About.htm] GEEA -Group for Energy Efficient
    Appliances
   
  * [http://www.unescap.org/esd/energy/publications/psec/
    guidebook-part-two-standby-power.htm#244] Swiss ordinances on standby
    power
   
  * [http://www.mtprog.com/] Market Transformation Programme - Supporting UK
    Government policy on sustainable products
   

-----------------------------------------------------------------------------
Appendix G. Appendix G - Other Operating Systems

G.1. DOS

 To my surprise there are still many tools available to make an old 286 PC
useful. I started a search for 286 at [http://www.simtel.net/] Simtel.Net and
found many useful shareware programs. For instance:

 

  *  [http://www.simtel.net/product.php?id=47316] Full-featured LAN for MSDOS
    computers, 286+req
   
  *  [http://www.simtel.net/product.php?id=48441] RoseMail, PCBoard offline
    mail, 8086/286 exe's
   
  *  [http://www.simtel.net/product.php?id=50547] Multitasking/multiuser
    environment for 286-586
   

 There is even a free DOS around, see [http://www.500mhz.net/ndx.html] The OS
Developers Homepage and [http://www.freeos.com] The FreeOS page.
-----------------------------------------------------------------------------

Appendix H. Appendix H - URLs of Recyclers

 

  *  [http://www.remedia.de/] REMEDIA - Germany - recycling of data storage
    media (CD, floppy, tape)
   
  *  [http://www.alcad.com/site_map.htm] ALCAD - worldwide - Ni-Cd Battery
    Recycling
   
  *  [http://www.cd-collect.com/] CD-COLLECT - CD recycling
   
  *  [http://www.rbrc.org/] Rechargeable Battery Recycling Corporation RBRC
    is a non-profit, public service organization created to promote the
    recycling of Nickel-Cadmium (Ni-Cd) rechargeable batteries.
   
  *  The [http://www.epba-europe.org/] European Portable Battery Association
    (EPBA) is the European organisation of companies manufacturing, selling
    or distributing portable batteries. The mission of the EPBA is to ensure
    that the ideal conditions are created for responsible development of the
    portable battery industry in Europe. Acting in the common interests of
    all of its members, the EPBA aims to sustain a competitive industry in an
    increasingly complex commercial climate.
   
  *  [http://www.batterycouncil.org/] Battery Council International is a
    not-for-profit organization with the mission of promoting the interests
    of the international lead-acid battery industry. With more than 175
    members worldwide, the Battery Council International (BCI) brings
    together lead-acid battery manufacturers and recyclers, marketers and
    retailers, suppliers of raw materials and equipment, and industry
    consultants.
   

 When computer waste processing channels are not available yet in your
country, or are just not mature enough yet, another idea is too keep your
computer waste a few more years in your attic or in your cellar (provided you
have storage space). Better processing channels and recycling technologies
will become available over the years.

 In some countries like France (and probably in the whole European Union),
local law makes it mandatory for consumer device shops to accept old devices
for free when you buy a new one, to ensure suitable processing or recycling
of waste.
