gnhast is a collection of daemons that work together to build an event-based home automation system. Any event (such as a light being turned on) can be handled by an external script or program. These programs can be written in any language, and the central daemon handles all the intercommunication. It is designed to be easily extensible for new device types and protocols.
mdp stands for "Mot de Passe", which means "password" in French. It wraps GnuPG for encryption and deals with all the small details of generating, managing, and fetching your passwords. It is similar to many other programs, but differentiates itself with simplicity (not button-driven simplicity, but with a Unix less-is-more style). For example, beyond the use of GnuPG for encryption, it lets you use your own editor to manage your passwords, categorize them, and delete them. In order to avoid passwords lingering on your screen, the results from the queries are displayed through a custom pager which is cleared after a customizable timeout (defaulting to ten seconds).
dnscrypt-proxy acts as a DNS proxy between a regular client, like a DNS cache or an operating system stub resolver, and a DNSCrypt-aware resolver, like OpenDNS. The DNSCrypt protocol focuses on securing communications between a client and its first-level resolver. While not providing end-to-end security, it protects the local network (which is often the weakest link in the chain) against man-in-the-middle attacks. It also provides some confidentiality to DNS queries.
tcpdump prints a description of the contents of packets on a network interface which match a given boolean expression. It can also be run with the -w flag, which causes it to save the packet data to a file for later analysis, and/or with the -r flag, which causes it to read from a saved packet file rather than to read packets from a network interface. In all cases, only packets which match the expression will be processed by tcpdump. tcpdump logs more than just TCP, IP, or ethernet packets, but has a whole suite of decoders, including ones for USB.
cpuid.c is a very simple C abstraction that provides an interface to common cpuid feature flags. It can be useful when implementing dynamic CPU feature dispatch that relies on optional processor feature extensions or basic processor-specific variables. This package is meant to be a very simple feature detection interface that you can easily integrate into your project. It is not meant to be complex and it is geared for projects implementing dynamic CPU feature dispatch.
downtimed is a program that monitors operating system downtime, uptime, shutdowns, and crashes and records such events. At OS startup it logs information about previous downtime. It then periodically updates a time stamp file on the disk, which is used to determine the approximate time when the system was last up and running. During a graceful system shutdown, it records a time stamp in another file. The downtimes(1) command line tool can be used to inspect records of past downtime.