Unix philosophy says a program should do only one thing and
do it well. Solve problems by sewing together a sequence of
small, specialized programs. Doug McIlroy summarized the Unix philosophy
This is the Unix philosophy: Write
programs that do one thing and do it well. Write programs to work
together. Write programs to handle text streams, because that is a
This design philosophy is closely related to “orthogonality.”
Programs should have independent features just as perpendicular
(orthogonal) lines run in independent directions.
In practice, programs gain overlapping features over time.
A set of programs may start out orthogonal but lose their uniqueness as
they evolve. I used to think that the departure from orthogonality was
due to a loss of vision or a loss of discipline, but now I have a more
The Leaf Maple is a microcontroller board based on the STM32F103RB
microprocessor. The Maple runs at a maximum of 72 MHz, has 39 digital
input/output pins, 16 analog inputs, native full speed USB, 3 USARTs
(hardware serial ports), integrated SPI/I2C support, a power jack, and a
reset button. Maple is programmable over USB via our provided DFU
bootloader, no extra hardware required! Users can also program the
onboard program flash via external JTAG interface. Maple offers security
support for read/write protected addresses, as well as User and Handler
processor modes. It has a real-time sysTick, useful for a real time OS
or any timing senstitive applications. 6 advanced interrupt timers will
help you here as well. Maple can be powered via USB, a wall adapter, or
it can run off of a rechargeable lipo battery (see below for more info).
The Maple is compatible with shields designed for the Arduino
Duemilanove or Diecimila.
Arduino TinyWebServer is a small and extensible HTTP server
implementation designed to run in a limited amount of space on an
Arduino Duemilanove. It uses
the Ethernet Shield for network connectivity (from Sparkfun
or from Adafruit),
Data Logging shield for storage purposes.
Web pages, images and other content can be copied manually on the
SD card or uploaded through the HTTP server. The latter allows you to
push new versions of the web server's content without the need to
remove the card, which can be a pain in embedded applications.
"Invent Your Own Computer Games with Python" is a free book
that teaches you how to program in the Python programming language. Each
chapter gives you the complete source code for a new game, and then
teaches the programming concepts from the example.
"Invent with Python" was written to be understandable by kids as
young as 10 to 12 years old, although it is great for anyone of any age
who has never programmed before.
This second edition has revised and expanded content, including using
the Pygame library to make games with graphics, animation, and sound.
All, a nonprofit startup in Cambridge, MA, has designed a cheap,
disposable blood test for liver damage. The device uses a stack of paper
the size of a postage stamp for a test of toxicity for drugs to treat
HIV and tuberculosis.