Peter Naur's classic 1985 essay "Programming as Theory Building" argues that a program is not its source code. A program is a shared mental construct (he uses the word theory) that lives in the minds of the people who work on it. If you lose the people, you lose the program. The code is merely a written representation of the program, and it's lossy, so you can't reconstruct
const isValidSongContent = (req, res, next) => { | |
const rules = [ | |
{ | |
name: "songTitle", | |
validation: (value) => value.trim().length > 0, | |
error: "Title content must be at least one character long.", | |
}, | |
{ | |
name: "songArtist", | |
validation: (value) => value.trim().length > 0, |
By Phillip G. Armour
Communications of the ACM, October 2000, Vol. 43 No. 10, Pages 17-20
10.1145/352183.352194
In my first column (Aug. 2000, p. 19), I argued that software is not a product, but rather a medium for the storage of knowledge. In fact, it is the fifth such medium that has existed since the beginning of time. The other knowledge storage media being, in historical order: DNA, brains, hardware, and books. The reason software has become the storage medium of choice is that knowledge in software has been made active. It has escaped the confinement and volatility of knowledge in brains; it avoids the passivity of knowledge in books; it has the flexibility and speed of change missing from knowledge in DNA or hardware.
If software is not a product, then what is the product of our efforts to produce software? It is the knowledge contained in the software. It's rather easy to produce software. It's much more difficult to produce software that works, because we ha
Revision 1.0.2.22
March 9, 2014
Richard S. Wallace
ALICE A.I. Foundation
Contact: info@alicebot.org
Instal sof-firmware
as described in Arch Linux Wiki:
sudo pacman -S sof-firmware
Configure PulseAudio to load Alsa modules with the correct device and channel settings, by adding these two lines to /etc/pulse/default.pa
: