Structuring a large program is always a difficult job. One of the particular problems that often comes up is this: if you have a piece of code producing data, and another piece of code consuming it, which should be the caller and which should be the callee?
The purpose of this document is to introduce you to the GNU build system, and show you how to use it to write good code. It also discusses peripheral topics such as how to use GNU Emacs as a source code navigator, how to write good software, and the philosophical concerns behind the free software movement. The intended reader should be a software developer who knows his programming languages, and
This infogami wiki contains an editable copy of the standard Python tutorial. Feel free to log in and improve things, or just leave a comment if there's something that you think ought to be fixed or clarified. Please look at the usage guidelines before editing a page.
The Complete Collection of Algorithm Animations (CCAA) is a comprehensive collection of links to all of the algorithm animations that can be run over the Internet. Each of these sites provides animations that aide the learning and understanding of algorithms.
Tracking 3rd party source with CVS. The mechanics.
427 Manually Selected Lisp Programming Language Resources
Explanation of Continuations with Ruby
an explanation of several operating system mechanisms for programmers in the UNIX environment.
a message written in response to the discussion of continuations on the comp.lang.python newsgroup.
A continuation is essentially the state of a process at any moment in time. At any point during execution you can think of it as an extra hidden argument that's always implicitly referred to in your code. We take it for granted that the current state of an executing system is available for our use and so we usually aren't aware it's there at all.