Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5f3459e465 | ||
|
|
f3e5622a6a | ||
|
|
2511905a3c |
1
.gitignore
vendored
@ -1 +0,0 @@
|
||||
node_modules
|
||||
|
Before Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 231 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 109 KiB |
BIN
Alan Turing.jpg
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 123 KiB |
BIN
OED-Computer.jpg
|
Before Width: | Height: | Size: 53 KiB |
133
README.md
@ -1,6 +1,133 @@
|
||||
###... compute / reckon ...
|
||||

|
||||
|
||||

|
||||
## reckon |ˈrɛk(ə)n|
|
||||
verb
|
||||
|
||||
1. [ with obj. ] establish by calculation: his debts were **reckoned at** _£300,000 | the Byzantine year was reckoned from 1 September._
|
||||
* (**reckon someone/thing among**) include someone or something in (a class or group): _the society can reckon among its members males of the royal blood._
|
||||
2. [ with clause ] informal be of the opinion: _he reckons that the army should pull out entirely | I reckon I can manage that._
|
||||
* [ with obj. and complement ] consider or regard in a specified way: _the event was reckoned a failure._
|
||||
* [ no obj. ] (**reckon on/to**) informal have a specified view or opinion of: _‘What do you reckon on this place?’ she asked._
|
||||
* [ with obj. ] Brit. informal rate highly: _I don't reckon his chances._
|
||||
3. [ no obj. ] (**reckon on**) rely on or be sure of: _they had reckoned on a day or two more of privacy._
|
||||
* [ with infinitive ] informal expect to do a particular thing: _I reckon to get away by two-thirty._
|
||||
|
||||
## reckoning |ˈrɛk(ə)nɪŋ|
|
||||
noun [ mass noun ]
|
||||
|
||||
1. the action or process of calculating or estimating something: _the sixth, or by another reckoning eleventh, Earl of Mar._
|
||||
* a person's opinion or judgement: by ancient reckoning, bacteria are plants.
|
||||
* [ count noun ] archaic a bill or account, or its settlement.
|
||||
2. the avenging or punishing of past mistakes or misdeeds: _the fear of being brought to reckoning_ | [ count noun ] : _there will be a terrible reckoning._
|
||||
3. (**the reckoning**) contention for a place in a team or among the winners of a contest: he has hit the sort of form which could thrust him into **the reckoning**.
|
||||
|
||||
ORIGIN Old English _(ge)recenian_‘recount, relate’, of West Germanic origin; related to Dutch _**rekenen**_ and German _**rechnen ‘to count (up)’**_. Early senses included ‘give an account of items received’ and ‘mention things in order’, which gave rise to the notion of ‘calculation’ and hence of ‘being of an opinion’.
|
||||
|
||||
----
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
[Things that Count](http://metastudies.net/pmwiki/pmwiki.php?n=Site.TheModernEpochAndTheEmergenceOfTheModernCalculator)
|
||||
|
||||
----
|
||||
|
||||
John Stuart Mill, _A System of Logic: Ratiocinative and Inductive_
|
||||
|
||||
_Whenever the nature of the subject permits our reasoning processes to be, without danger, carried on mechanically, the language should be constructed on as mechanical principles as possible; while in the contrary case, it should be so constructed that there shall be the greatest possible obstacles to a merely mechanical use of it._
|
||||
|
||||
[John Stuart Mill, _A System of Logic: Ratiocinative and Inductive_, Vol. II p.260](http://www.gutenberg.org/files/35421/35421-h/35421-h.htm#Page_289)
|
||||
|
||||
----
|
||||
|
||||
## compute |kəmˈpjuːt|
|
||||
verb [ with obj. ]
|
||||
reckon or calculate (a figure or amount): _the hire charge is computed on a daily basis._
|
||||
* [ no obj., with negative ] informal seem reasonable; make sense: _the idea of a woman alone in a pub did not compute._[from the phrase _does not compute_, once used as an error message in computing.]
|
||||
|
||||
ORIGIN early 17th cent.: from French _**computer**_ or Latin _**computare**_, **_from com- ‘together’ + putare ‘to settle (an account)’_**.
|
||||
|
||||
----
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
[Turing, A.M. (1950). Computing machinery and intelligence. Mind, 59, 433-460.](http://loebner.net/Prizef/TuringArticle.html)
|
||||
|
||||
> 4 Digital Computers
|
||||
|
||||
> The idea behind digital computers may be explained by saying that these machines are intended to carry out any operations which could be done by a human computer. The human computer is supposed to be following fixed rules; he has no authority to deviate from them in any detail. We may suppose that these rules are supplied in a book, which is altered whenever he is put on to a new job. He has also an unlimited supply of paper on which he does his calculations. He may also do his multiplications and additions on a "desk machine," but this is not important.
|
||||
|
||||
> [...]
|
||||
|
||||
> The book of rules which we have described our human computer as using is of course a convenient fiction. Actual human computers really remember what they have got to do. If one wants to make a machine mimic the behaviour of the human computer in some complex operation one has to ask him how it is done, and then translate the answer into the form of an instruction table. Constructing instruction tables is usually described as "programming." To "programme a machine to carry out the operation A" means to put the appropriate instruction table into the machine so that it will do A.
|
||||
|
||||
> An interesting variant on the idea of a digital computer is a "digital computer with a random element." These have instructions involving the throwing of a die or some equivalent electronic process; one such instruction might for instance be, "Throw the die and put the-resulting number into store 1000." Sometimes such a machine is described as having free will (though I would not use this phrase myself), It is not normally possible to determine from observing a machine whether it has a random element, for a similar effect can be produced by such devices as making the choices depend on the digits of the decimal for .
|
||||
|
||||
> Most actual digital computers have only a finite store. There is no theoretical difficulty in the idea of a computer with an unlimited store. Of course only a finite part can have been used at any one time. Likewise only a finite amount can have been constructed, but we can imagine more and more being added as required. Such computers have special theoretical interest and will be called infinitive capacity computers.
|
||||
|
||||
----
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
Norber Wiener, _Cybernetics_
|
||||
|
||||
> To accomplish reason able results in a reasonable time, it thus became necessary to push the speed of the elementary processes to the maximum, and to avoid interrupting the stream of these processes by steps of an essentially slower nature. It also became necessary to perform the individual processes with so high a degree of accuracy that the enormous repetition of the elementary processes should not bring about a cumulative error so great as to swamp all accuracy. Thus the following requirements were suggested:
|
||||
|
||||
>1. That the central adding and multiplying apparatus of the computing machine should be numerical, as in an ordinary adding machine, rather than on a basis of measurement, as in the Bush differential analyzer.
|
||||
2. That these mechanisms, which are essentially switching devices, should depend on electronic tubes rather than on gears or mechanical relays, in order to secure quicker action.
|
||||
3. That, in accordance with the policy adopted in some existing apparatus of the Bell Telephone Laboratories, it would probably be more economical in apparatus to adopt the scale of two for addition and multiplication, rather than the scale of ten.
|
||||
4. That the entire sequence of operations be laid out on the machine itself so that there should be no human intervention from the time the data were entered until the final results should be taken off, and that all logical decisions necessary for this should be built into the machine itself.
|
||||
5. That the machine contain an apparatus for the storage of data which should record them quickly, hold them firmly until erasure, read them quickly, erase them quickly, and then be immediately available for the storage of new material.
|
||||
|
||||
-- Norber Wiener, _Cybernetics_ 1948 p.4
|
||||
|
||||
----
|
||||
|
||||
Claude Shannon, _A symbolic analysis of relay and switching circuits_
|
||||
|
||||

|
||||
|
||||
-- [Claude Shannon, _A symbolic analysis of relay and switching circuits_, MIT M.Sc Thesis](http://dspace.mit.edu/handle/1721.1/11173)
|
||||
|
||||
----
|
||||
|
||||
George Boole, _The Mathematical Analysis of Logic_
|
||||
|
||||
> We might justly assign it as the definitive character of a true Calculus, that it is a method resting upon the employment of Symbols, whose laws of combination are known and general, and whose results admit of a consistent interpretation. That to the existing forms of Analysis a quantitative interpretation is assigned, is the result of the circumstances by which those forms were determined, and is not to be construed into a universal condition of Analysis. It is upon the foundation of this general principle, that I purpose to establish the Calculus of Logic, and that I claim for it a place among the acknowledged forms of Mathematical Analysis, regardless that in its object and in its instruments it must at present stand alone.
|
||||
|
||||
[George Boole, _The Mathematical Analysis of Logic: Being an Essay Towards a Calculus of Deductive Reasoning_ p.4](http://www.gutenberg.org/files/36884/36884-pdf.pdf?session_id=8cb262941aa0df95dff4520e00b3aa7060799906)
|
||||
|
||||
----
|
||||
|
||||
Leibnitz. _Explication de l’arithmétique binaire_
|
||||
|
||||

|
||||
|
||||
[Godefroy-Guillaume Leibnitz. _Explication de l’arithmétique binaire, qui se sert des seuls caractères O et I avec des remarques sur son utilité et sur ce qu’elle donne le sens des anciennes figures chinoises de Fohy_. Mémoires de mathématique et de physique de l’Académie royale des sciences, Académie royale des sciences, 1703.](img/Leibniz_ArithmetiqueBinaire.pdf)
|
||||
|
||||
----
|
||||
|
||||
## When Computers Where Humans
|
||||
|
||||
<iframe width="100%" height="400" src="https://www.youtube.com/embed/YwqltwvPnkw" frameborder="0" allowfullscreen></iframe>
|
||||
|
||||
----
|
||||
|
||||

|
||||
|
||||
[link to book](http://ed-thelen.org/comp-hist/Reckoners.html#TOC)
|
||||
|
||||
----
|
||||
|
||||
Stibitz, George - "Relay Computers"
|
||||
|
||||
> By “calculator” or “calculating machine” we shall mean a device . . capable of accepting two numbers A and B, and of forming some or any of thecombinations A + B,A - B,A x B,A/B.By “computer” we shall mean a machine capable of carrying out automatically a succession of oper- ations of this kind and of storing the necessary intermediate results . . . . Human agents will be referred to as “operators” to distinguish them from “computers” (machines).
|
||||
|
||||
-- Stibitz, George. February, 1945. “Relay Computers.” National Defense Research Committee, Applied Mathematics Panel, AMP Report 171.1R. via Ceruzzi, Paul E. “When Computers Were Human.” Annals of the History of Computing 13, no. 3 (July 1991): 237–44. doi:10.1109/MAHC.1991.10025.
|
||||
|
||||
|
||||
* see index.md
|
||||
|
||||
|
Before Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 804 KiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 506 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
69
export.js
@ -1,69 +0,0 @@
|
||||
var fs = require('fs')
|
||||
var gs = require('ghostscript')
|
||||
var path = require('path')
|
||||
|
||||
var reckon_path = "."
|
||||
var export_path = "export"
|
||||
var index_name = "index.json"
|
||||
|
||||
if(!fs.existsSync(export_path))
|
||||
fs.mkdirSync(export_path);
|
||||
|
||||
var index = [];
|
||||
var index_path = path.join(export_path, index_name);
|
||||
if(fs.existsSync(index_path))
|
||||
index = JSON.parse(fs.readFileSync(index_path, 'utf8'));
|
||||
|
||||
|
||||
fs.readdir(reckon_path, function(err, files) {
|
||||
if(err)
|
||||
throw err;
|
||||
files.map(function (f) {
|
||||
return {"name" : f, "path" : path.join(reckon_path, f)};
|
||||
}).filter(function (f) {
|
||||
return (fs.statSync(f.path).isFile() && path.extname(f.path) === '.pdf' && !exists(f.name));
|
||||
}).forEach(function (f) {
|
||||
var img_fname = extract_img(f.path);
|
||||
var entry = {}
|
||||
entry.name = f.name;
|
||||
entry.imgs = [];
|
||||
entry.imgs.push(img_fname);
|
||||
index.push(entry);
|
||||
})
|
||||
|
||||
var index_content = JSON.stringify(index, null, 2);
|
||||
fs.writeFile(index_path, index_content, function(err) {
|
||||
if(err) return console.log(err);
|
||||
console.log(index_path + '>' + index_content);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
function extract_img(file) {
|
||||
|
||||
var out_name = path.basename(file) + ".png"
|
||||
var out = path.join(export_path, out_name);
|
||||
|
||||
gs()
|
||||
.batch()
|
||||
.quiet()
|
||||
.nopause()
|
||||
.device('pngalpha')
|
||||
.input(file)
|
||||
.output(out)
|
||||
.r(72)
|
||||
.spawn();
|
||||
|
||||
return out_name;
|
||||
|
||||
}
|
||||
|
||||
function exists(fname) {
|
||||
for (var e in index) {
|
||||
if(index[e].name === fname)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 1015 KiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 699 KiB |
|
Before Width: | Height: | Size: 773 KiB |
|
Before Width: | Height: | Size: 850 KiB |
|
Before Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 7.4 MiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 28 MiB |
|
Before Width: | Height: | Size: 646 KiB |
|
Before Width: | Height: | Size: 423 KiB |
|
Before Width: | Height: | Size: 591 KiB |
|
Before Width: | Height: | Size: 634 KiB |
|
Before Width: | Height: | Size: 787 KiB |
|
Before Width: | Height: | Size: 2.6 MiB |
|
Before Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 586 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 165 KiB |
@ -1,146 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name": "A Spreadsheet Way of Knowledge — Backchannel — Medium.pdf",
|
||||
"imgs": [
|
||||
"A Spreadsheet Way of Knowledge — Backchannel — Medium.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Adding Machines.pdf",
|
||||
"imgs": [
|
||||
"Adding Machines.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Barnes_Alan Kay-Transforming the Computer into a Communication Medium_2007.pdf",
|
||||
"imgs": [
|
||||
"Barnes_Alan Kay-Transforming the Computer into a Communication Medium_2007.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Capurro_Past present and future of the concept of information_2009.pdf",
|
||||
"imgs": [
|
||||
"Capurro_Past present and future of the concept of information_2009.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Copeland_Computation_2004.pdf",
|
||||
"imgs": [
|
||||
"Copeland_Computation_2004.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Gilles Deleuze - The Exhausted.pdf",
|
||||
"imgs": [
|
||||
"Gilles Deleuze - The Exhausted.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Grier-CarpetForcomputingRoom.pdf",
|
||||
"imgs": [
|
||||
"Grier-CarpetForcomputingRoom.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "History of Computation - 16-19th Century Work.pdf",
|
||||
"imgs": [
|
||||
"History of Computation - 16-19th Century Work.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Leibniz_ArithmetiqueBinaire.pdf",
|
||||
"imgs": [
|
||||
"Leibniz_ArithmetiqueBinaire.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MR1418.deviates.pdf",
|
||||
"imgs": [
|
||||
"MR1418.deviates.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "National Research Counil bibliography of mathematical tables and other aids to computation_1939.pdf",
|
||||
"imgs": [
|
||||
"National Research Counil bibliography of mathematical tables and other aids to computation_1939.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pickering_The Cybernetic Brain Sketches of Another Future_2010 copy.pdf",
|
||||
"imgs": [
|
||||
"Pickering_The Cybernetic Brain Sketches of Another Future_2010 copy.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Prentice_Calculating machines calculating women-redesigning astronomical and scientific computation in Britian 1915-1946_2000.pdf",
|
||||
"imgs": [
|
||||
"Prentice_Calculating machines calculating women-redesigning astronomical and scientific computation in Britian 1915-1946_2000.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "RCA_Tables of Trigonometric Functions and Non-sexagesimal arguements_1943.pdf",
|
||||
"imgs": [
|
||||
"RCA_Tables of Trigonometric Functions and Non-sexagesimal arguements_1943.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Skinner_The age of the female computers_2006.pdf",
|
||||
"imgs": [
|
||||
"Skinner_The age of the female computers_2006.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Turing_Computing machinery and intelligence_1950_ORIGINAL.pdf",
|
||||
"imgs": [
|
||||
"Turing_Computing machinery and intelligence_1950_ORIGINAL.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Turing_On Computable Numbers_1936.pdf",
|
||||
"imgs": [
|
||||
"Turing_On Computable Numbers_1936.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "VonNeumann-EDVAC-2003-08-TheFirstDraft.pdf",
|
||||
"imgs": [
|
||||
"VonNeumann-EDVAC-2003-08-TheFirstDraft.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "VonNeumann56-LOGIC-AUTOMATA-ERROR-REDUNDANCY.pdf",
|
||||
"imgs": [
|
||||
"VonNeumann56-LOGIC-AUTOMATA-ERROR-REDUNDANCY.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "VonNeumann_PlanningCoding.pdf",
|
||||
"imgs": [
|
||||
"VonNeumann_PlanningCoding.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Wikipedia_Computational Logic.pdf",
|
||||
"imgs": [
|
||||
"Wikipedia_Computational Logic.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Women Computers in World War II - GHN: IEEE Global History Network.pdf",
|
||||
"imgs": [
|
||||
"Women Computers in World War II - GHN: IEEE Global History Network.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "computation-OED.pdf",
|
||||
"imgs": [
|
||||
"computation-OED.pdf.png"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "reckon, v. : Oxford English Dictionary.pdf",
|
||||
"imgs": [
|
||||
"reckon, v. : Oxford English Dictionary.pdf.png"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 182 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 408 KiB After Width: | Height: | Size: 408 KiB |
BIN
img/reckoners.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 171 KiB After Width: | Height: | Size: 171 KiB |
141
index.js
@ -1,141 +0,0 @@
|
||||
var nodegit = require('nodegit')
|
||||
var path = require('path')
|
||||
var fs = require('fs')
|
||||
|
||||
var all = []
|
||||
|
||||
var git_data = []
|
||||
|
||||
var cnt = 0;
|
||||
|
||||
var export_path = 'export';
|
||||
//var export_path = '/Users/gauthiier/Desktop/vbox/reckon_export/export';
|
||||
var export_index_fname = 'index.json';
|
||||
var export_index = null;
|
||||
|
||||
var template = '';
|
||||
|
||||
var imgs_list_ext_valid = ['.png', '.jpeg', '.jpg', '.gif']
|
||||
|
||||
fs.readFile('template.html', 'utf8', function(err, data) {
|
||||
if(err) console.log(err);
|
||||
template = data;
|
||||
});
|
||||
|
||||
// hmm...
|
||||
var export_index_path = path.join(export_path, export_index_fname);
|
||||
if(fs.existsSync(export_index_path))
|
||||
export_index = JSON.parse(fs.readFileSync(export_index_path, 'utf8'));
|
||||
|
||||
nodegit.Repository.open(path.resolve(__dirname, './.git'))
|
||||
.then(function(repo) {
|
||||
return repo.getBranchCommit('prototype');
|
||||
})
|
||||
.then(function(first_commit) {
|
||||
var history = first_commit.history(nodegit.Revwalk.SORT.REVERSE);
|
||||
//var history = first_commit.history(nodegit.Revwalk.SORT.TIME);
|
||||
|
||||
history.on("commit", function(commit) {
|
||||
|
||||
var entry = {};
|
||||
|
||||
entry.commit = commit.sha();
|
||||
entry.author = commit.author().name();
|
||||
entry.date = commit.date();
|
||||
entry.raw = commit.rawHeader();
|
||||
entry.message = commit.message().replace('\n', ' — ');
|
||||
entry.files = [];
|
||||
|
||||
|
||||
commit.getTree()
|
||||
.then(function (tree) {
|
||||
var entries = tree.entries();
|
||||
|
||||
for(e in entries) {
|
||||
var ep = entries[e].path();
|
||||
if(all.indexOf(ep) != -1) continue;
|
||||
all.push(ep);
|
||||
entry.files.push(ep);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
git_data.push(entry);
|
||||
|
||||
});
|
||||
|
||||
history.on("end", function() {
|
||||
var body = '';
|
||||
git_data.reverse();
|
||||
for(var i in git_data)
|
||||
body += emit_git_entry(git_data[i]);
|
||||
console.log(template.replace('[[_export_]]', body));
|
||||
});
|
||||
|
||||
history.start();
|
||||
|
||||
})
|
||||
.done();
|
||||
|
||||
function emit_git_entry(entry) {
|
||||
|
||||
var html = '<!-- entry #' + cnt++ + ' -->\n';
|
||||
|
||||
html += '<entry>\n'
|
||||
|
||||
html += ' <commit><h1>Commit: ' + entry.commit + '</h1></commit>\n';
|
||||
|
||||
html += ' <commit>' + entry.date + '</commit>\n';
|
||||
|
||||
html += ' <message><h2>' + entry.message + '</h2></message>\n';
|
||||
|
||||
html += ' <content>\n';
|
||||
|
||||
for(var q in entry.files) {
|
||||
html += ' ' + emit_git_content(entry.files[q]);
|
||||
}
|
||||
|
||||
html += ' </content>\n';
|
||||
|
||||
return html + '</entry>\n'
|
||||
}
|
||||
|
||||
function emit_git_content(c) {
|
||||
|
||||
|
||||
if(!fs.existsSync(path.join('.', c))) return '';
|
||||
if(!fs.statSync(path.join('.', c)).isFile()) return '';
|
||||
|
||||
var ext = path.extname(c);
|
||||
|
||||
if(imgs_list_ext_valid.indexOf(ext) != -1)
|
||||
return '<a href="' + c + '"><img src="' + c + '"/></a>\n';
|
||||
else if(ext === '.pdf') {
|
||||
return '<a href="' + c + '">' + emit_git_content_pdf(c) + '</a>';
|
||||
} else {
|
||||
return '<a href="' + c + '">' + c + '</a>\n';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function emit_git_content_pdf(c) {
|
||||
|
||||
var index = exists(c);
|
||||
if(!index) return '';
|
||||
|
||||
return '<img src="' + path.join(export_path, index.imgs[0]) + '"/>\n';
|
||||
|
||||
}
|
||||
|
||||
/// hmmm....
|
||||
function exists(fname) {
|
||||
|
||||
if(!export_index) return null;
|
||||
for (var e in export_index) {
|
||||
if(export_index[e].name === fname)
|
||||
return export_index[e];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
21
index.md
@ -69,7 +69,9 @@ ORIGIN early 17th cent.: from French _**computer**_ or Latin _**computare**_, **
|
||||
> Most actual digital computers have only a finite store. There is no theoretical difficulty in the idea of a computer with an unlimited store. Of course only a finite part can have been used at any one time. Likewise only a finite amount can have been constructed, but we can imagine more and more being added as required. Such computers have special theoretical interest and will be called infinitive capacity computers.
|
||||
|
||||
----
|
||||
|
||||

|
||||
|
||||
----
|
||||
|
||||
Norber Wiener, _Cybernetics_
|
||||
@ -108,5 +110,24 @@ Leibnitz. _Explication de l’arithmétique binaire_
|
||||
|
||||
[Godefroy-Guillaume Leibnitz. _Explication de l’arithmétique binaire, qui se sert des seuls caractères O et I avec des remarques sur son utilité et sur ce qu’elle donne le sens des anciennes figures chinoises de Fohy_. Mémoires de mathématique et de physique de l’Académie royale des sciences, Académie royale des sciences, 1703.](img/Leibniz_ArithmetiqueBinaire.pdf)
|
||||
|
||||
----
|
||||
|
||||
## When Computers Where Humans
|
||||
|
||||
<iframe width="100%" height="400" src="https://www.youtube.com/embed/YwqltwvPnkw" frameborder="0" allowfullscreen></iframe>
|
||||
|
||||
----
|
||||
|
||||

|
||||
|
||||
[link to book](http://ed-thelen.org/comp-hist/Reckoners.html#TOC)
|
||||
|
||||
----
|
||||
|
||||
Stibitz, George - "Relay Computers"
|
||||
|
||||
> By “calculator” or “calculating machine” we shall mean a device . . capable of accepting two numbers A and B, and of forming some or any of thecombinations A + B,A - B,A x B,A/B.By “computer” we shall mean a machine capable of carrying out automatically a succession of oper- ations of this kind and of storing the necessary intermediate results . . . . Human agents will be referred to as “operators” to distinguish them from “computers” (machines).
|
||||
|
||||
-- Stibitz, George. February, 1945. “Relay Computers.” National Defense Research Committee, Applied Mathematics Panel, AMP Report 171.1R. via Ceruzzi, Paul E. “When Computers Were Human.” Annals of the History of Computing 13, no. 3 (July 1991): 237–44. doi:10.1109/MAHC.1991.10025.
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 MiB |
BIN
ledgers.jpg
|
Before Width: | Height: | Size: 391 KiB |
|
Before Width: | Height: | Size: 105 KiB |
31
package.json
@ -1,31 +0,0 @@
|
||||
{
|
||||
"name": "reckon",
|
||||
"version": "0.0.0",
|
||||
"description": "Reckoning Histories of Computation",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/gauthiier/reckon.git"
|
||||
},
|
||||
"keywords": [
|
||||
"Arcades",
|
||||
"Project"
|
||||
],
|
||||
"author": "gauthiier",
|
||||
"license": "ISC",
|
||||
"bugs": {
|
||||
"url": "https://github.com/gauthiier/reckon/issues"
|
||||
},
|
||||
"homepage": "https://github.com/gauthiier/reckon",
|
||||
"dependencies": {
|
||||
"ghostscript": "https://github.com/gauthiier/node-ghostscript/tarball/master",
|
||||
"nodegit": "^0.4.0"
|
||||
},
|
||||
"scripts" : {
|
||||
"export": "node export.js",
|
||||
"index": "node index.js > index.html"
|
||||
}
|
||||
}
|
||||
BIN
pascaline.jpg
|
Before Width: | Height: | Size: 488 KiB |
43
reckon.css
@ -1,43 +0,0 @@
|
||||
body {
|
||||
font-family: "Times New Roman", Times, Georgia, serif;
|
||||
background-color: #ffff99;
|
||||
bbackground-color: #e9d6a8;
|
||||
bbackground-color: #eeeeee;
|
||||
}
|
||||
|
||||
#listing {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#title {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
text-align: center;
|
||||
margin: 3em;
|
||||
}
|
||||
|
||||
entry {
|
||||
display: block;
|
||||
width: 75%;
|
||||
border: 1px solid grey;
|
||||
min-width: 650px;
|
||||
margin-top: 0.6em;
|
||||
padding: 0.6em;
|
||||
background-color: #ffffcc;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
commit {
|
||||
display: block;
|
||||
}
|
||||
|
||||
content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
content img {
|
||||
max-width: 300px;
|
||||
border: 1px solid grey;
|
||||
background-color: white;
|
||||
}
|
||||