Foo: Hardware and firmware

“Foo” is a term used for variables that are considered unimportant when a programmer is too lazy to think of an actual name for it (see RFC 3092). The word “foo” rhymes with “taboo”, and smells like “blind spots”. I think that is not a coincidence.


M$ cycles

Unlike in most other countries, in western industrialised countries care, shelter, nutrition, and clothing to sustain health are taken for granted and considered less or unimportant.

“Mom, there’s a new game. Can I have it?””Your birthday is coming up. What is it called?”The huge cardboard box the game DVD is sold in shows requirements for running the game. The latest M$ windows operating system. Meaning, need that too. And oh dear, the hardware either doesn’t run the latest M$ operating system or it is too slow, killing the fun of playing the game. Need to replace that too.”Oh mom?”

Make that new machine x number of children.

The by the troika engineered austerity epidemic raging through Europe and the US is rapidly putting an end to that. Sustenance in real life comes first, leaving less or no resources to gather the necessary hard and software for participation in autonomous digital networks. A third world problem is likely more about Immiserating the Poor: We Have An App For That.

Reusing hardware

Resource constraints make it harder, not impossible. We can use the M$ cycle as opportunity, and recycle “outdated” PC hardware. It is often possible to collect old machines from family and friends, give-away stores, 2nd hand stores, (online) markets, you name it, and then use some machines for parts to repair the others. Linux will probably run fine on it.

Routers are not that often replaced and are harder to find. Phones seem to be replaced even faster than PC’s in Europe and the US, but not elsewhere in the world. One possibility that jumps to mind is to have “device tables” on events where people can leave hardware for others to find. (Co-)organising local and online bazaars is another possibility.


Our personal data (documents, photographs, emails, etc…) is the most valuable component in our interaction with computers, because it can be irreplaceable if lost. The most minimalist and safe implementation is putting all files you wish to keep and all files containing personal data on an external harddrive that you only mount when you need access to it. In a public space put the machine offline before mounting any external disk (preferably do not connect in public spaces at all).

You can turn old harddrives into external harddrives by taking them out of an old PC and putting them in a portable HDD USB storage kit (alias harddrive enclosure). These “DIY” kits are available for 2.5 inch and 3.5 inch HDD using either IDE or SATA connections and cost way less than a manufactured USB HDD.

If on Linux, you may have a permission problem: change the group of /media/[external_disk] to storage, change permissions to 775 and add users that need to be able to write to disk to the storage group (you need to log out and log in that users before changes are visible).

If you haven’t already, as root, create a group “storage” and add your user to it. Then as root do:

# chgrp storage /media/[external_disk]
# chmod 775 /media/[external_disk]
# gpasswd -a [user_name] storage

This way everyone will be able to read the disk, but only root and users in storage group will be able to write to it. If you want everyone to be able to read/write, use chmod 777 [2]. If the operation isn’t permitted while running it as root you probably need to add support for the NTFS file system first:

# apt-get update
# apt-get install ntfs-3g

Replacing firmware

Firmwares are microprograms present on ROM (Read Only Memory) modules, containing low-level code (hexadecimal, machine code). They enable the device on which they are present to take stock of its capabilities and render those functional. The information loaded onto the ROM is non-volatile, meaning that it is not lost when power is switched off. A basic example of firmware is the BIOS that comes with the motherboard of a PC. Firmware also coordinates activities of the hardware during normal operation and contains programming constructs used to perform such operations. The use of firmware gives more flexibility compared to the use of pure hardware circuitry.

Some firmware are non-rewriteable while others are upgradeable, meaning that it is possible to upgrade the firmware of the device by connecting it to your PC in a particular configuration and then running the “flashing” software. Handy for taking (back) tech.

[linkview show_cat_name=”0″ cat_name=”Replacing Firmware News”]

Coreboot is an extended firmware platform that delivers a lightning fast and secure boot experience on modern computers and embedded systems. Many routers can be flashed with openwrt or dd-wrt firmware. You can easily “jailbreak” a phone with tools such as Pangu or evasi0n.

[linkview show_cat_name=”0″ cat_name=”Replacing firmware”]

Open design

Open design involves the making of both free and open-source software (FOSS) as well as open-source hardware. Open design of hardware is the development of physical products, machines and systems through use of publicly shared design information. The process is generally facilitated by the internet and often performed without monetary compensation. The goals and philosophy are similar (if not same) to that of the free software movement, and is a form of co-creation, where the final product is designed by users, rather than by external stakeholders such as private companies.

[linkview show_cat_name=”0″ cat_name=”Open Hardware News”]


[linkview show_cat_name=”0″ cat_name=”Assembly”]


[linkview show_cat_name=”0″ cat_name=”FPGA tooling”]


To simplify design of complex systems in FPGAs, libraries of predefined complex functions and circuits called IP cores can be used. These are rarely free, and typically released under proprietary license by FPGA vendors and third-party IP suppliers. Other predefined circuits are available from developer communities such as OpenCores and other sources.

[linkview show_cat_name=”0″ cat_name=”FPGA libraries”]


The most common “open hardware” licenses are Creative Commons and the GNU General Public. The GNU people wrote the the GPL FAQ to deal with common questions and misunderstandings of the GPL.

Free and open hardware

[linkview show_cat_name=”0″ cat_name=”Open Hardware Digital”]

Designs for resilience

Appropriate technology (AT) is technology that is designed with special consideration to the context of its use – including environmental, ethical, cultural, social, political, and economical aspects of the community it is intended for. With these goals in mind, AT proponents claim their methods require fewer resources, are easier to maintain, and have less of an impact on the environment compared to techniques from mainstream technology, which they contend is wasteful and environmentally polluting. More on that here.

Leave a Reply

Your email address will not be published. Required fields are marked *