The Advanced Bash Scripting Guide is both a reference and a tutorial on shell scripting. This comprehensive book, the equivalent of 1,000+ print pages, covers almost every aspect of shell scripting. It contains 382 profusely commented illustrative examples, a number of tables, and a cross-linked index/glossary. Not just a shell scripting tutorial, this book also provides an introduction to basic programming techniques, such as sorting and recursion. Included scripts are the Game of Life, a Perquackey variant, a Morse code trainer, and an implementation of the Gronsfeld Cipher. This book is suited for both individual study and classroom use. It covers Bash, up to and including version 4.2. Note that users of miniaturized single-board computers running Linux, such as the Raspberry Pi and the Beagle Bone, would find this Guide useful for learning and running Bash scripts to explore and expand the capabilities of these small, but powerful machines.
CIRCLean aims to be used by someone receiving a USB key from an untrusted source who wants to see the content without opening the original and potentially malicious files. The code runs on a Raspberry Pi, which means it is never required to plug the original USB key into a computer.
StreetSign is a digital signage system, originally written for the TeenStreet 2013 (Germany) youth congress. It works with a single server, and multiple client computers connect over the network. It is lightweight enough that a Raspberry PI can run as the server for smaller installations.
fuzzylite is a fuzzy logic control library. Its goal is to allow you to easily create fuzzy logic controllers in a few steps utilizing object-oriented programming without requiring any third-party libraries. qtfuzzylite is a Qt-based GUI for fuzzylite. Its goal is to allow you to visually design your fuzzylite controllers and interact with them in real time.
rpi_gpio_ntp enables you to connect a GPS module with a PPS signal (or any other PPS source) to a Raspberry Pi, then sync the local clock using NTP. This can give you very accurate timekeeping. When you use this program, you do not need to patch the kernel to get PPS support, and do not need to patch the NTP program.