Embedded Systems Dictionary

See joule.
n. A means of achieving high availability in software, in which N pieces of software, all of which are designed to meet the very same requirements, are developed by separate development teams. Abbreviated NVP. Run in parallel and combined with a voting algorithm of some sort, the decisions of each of the N pieces of software can be weighed to make the final decision. Although having multiple teams implement the same spec might result in fewer bugs in the final decision, there is a big flaw in N-version programming: an error in the spec can be replicated in all N implementations! For that reason (and the high cost), the technique is little used.
(nan-oh-amp) abbr. See nanoamp.
(knack) n. A response that something was not received properly. Short for Not AcKnowledged. Ironically, the mere fact that there s a NAK implies that the packet or command was received. It could be that there was some sort of an error (checksum related?) or that the requested command was not supported.
n. A standard way of creating variable and function names. Naming conventions promise to ease code readability by eliminating difficult-to-decipher names. Unfortunately, however, everyone has their own idea about the best conventions; worse, few programmers seem to follow whatever conventions are established for their project or company. See also Hungarian notation, foo, coding standard.
Example: Without conventions, it s common to see loop variables named i, and ii