IRC channel logs

2022-06-07.log

back to list of logs

<muurkha>someone (maybe Ted Nelson?) pointed out that the fact that we call computers "computers" is sort of a historical accident; it's rooted in the fact that the line of development that reached general-purpose computation first was funded by the War Department computing artillery tables and whatnot
<muurkha>but you could imagine an alternate history in which instead it was controllers for movie marquees that reached general-purpose computation first, and then we'd call them "marquees" or something
<muurkha>and I realized I actually touched one branch of those alternate histories in my childhood: the book I learned digital logic design from was called "The Design of Switching Circuits" because it was by some guys from Bell Labs, namely Keister, Ritchie, and Washburn
<muurkha>(Dennis Ritchie's father, as it happens. I sent him a heartfelt appreciation for the book and he was touched because his father had died recently)
<muurkha>so from their point of view they weren't "logic circuits" or "computing circuits", they were "switching circuits"
<vagrantc>computer was a human profession before the precursors to what we now think of as (digital) computers
<vagrantc> https://en.wikipedia.org/wiki/Computer_(occupation)
<muurkha>right, but what they did was calculations
<muurkha>and our current computers mostly don't
<muurkha>like, in Ur-Scheme I implemented +, -, quotient, remainder, and = for integers; I didn't even implement multiplication
<muurkha>the entire compiler can compile itself (or any other Ur-Scheme program) without ever doing a multiply!
*vagrantc finds it curious that in latin america computers are generally called "computadora" and in spain "ordenador" ... probably mostly due to proximity to the united states vs. france
<muurkha>probably
<tinybronca[m]>muurkha: they don't?? What do you call the operations happening on CPU registers?
<muurkha>tinybronca[m]: often you do operations like <<, &, ^, |, >>, and <=, which aren't calculations
<muurkha>and lots of loads and stores
<muurkha>but it's true that you also often do + and - and even occasionally %, /, and *
<muurkha>probably the majority of + CPU operations in the majority of programs are base-offset addressing, though. things like indexing into a stack frame, a struct, or an array
<muurkha>in, for example, the PDP-8, most of those operations were done by replacing some of the bits of a base register (such as the program counter) with bits from the instruction's address field to form the effective address. that way you don't need an adder, see!
<muurkha>and you could imagine, for example, a machine using a CAM where the memory stores (entity, attribute, value) triples instead
<muurkha>where maybe the attribute is an integer indicating an array offset, or maybe it's an integer naming a struct field
<muurkha>(Lua pretends to be such a machine)
<tinybronca[m]><muurkha> "tinybronca: often you do..." <- sorry what do these operations mean? are they ISA-agnostic?
<muurkha><< is left shift, & is bitwise AND, ^ is bitwise XOR, | is bitwise inclusive OR, >> is right shift, and <= is less-than-or-equal
<muurkha>they're not totally ISA-agnostic but they're pretty widely supported
<muurkha>like, SETUN probably didn't support most of them ;)
<pabs3>oriansj: is that stage0 post to be considered finished/publish? there are still some instances of she/girl, while that was removed from the intro
<muurkha>in 01946 Murray Leinster wrote a short story called "A Logic Named Joe", which is largely about the privacy issues involved in using personal computers for social networking over the internet. but because it was published two years before ENIAC became a stored-program computer, in the story computers are called "logics" rather than "computers"
<oriansj>pabs3: it is considered published but no writing is ever considered finished, only abandoned.
<tinybronca[m]><muurkha> "<< is left shift, & is bitwise..." <- "A calculation is a deliberate process that transforms one or more inputs into one or more results." it depends on how vague your definition of "calculation" is...
<muurkha>hmm, I think that's a very general definition of "calculation"
<muurkha> https://en.wiktionary.org/wiki/calculate has as its first definition "(transitive, mathematics) To determine the value of something or the solution to something by a mathematical process."
<muurkha>Webster says, "To ascertain or determine by mathematical processes, usually by the ordinary rules of arithmetic; to reckon up; to estimate; to compute."
<muurkha>I don't think bitwise AND is among the ordinary rules of arithmetic, and although *I* know it's mathematical, I've often had trouble convincing the mundanes of that :)
<muurkha>and it's sort of a stretch to say it "determines the value of something" or "determines the solution of something" or "ascertains" something, and it doesn't "estimate" anything at all
<muurkha>that is, it "determines" the result in the sense that it *causes* a particular bitvector to be written to the result register, but the sense of "determine" being used in these definitions is "find out"
<muurkha>not "decide"
<muurkha>fortunately Webster has one of his wonderful "usage notes" with respect to the word
<muurkha>> Usage: To CALCULATE, COMPUTE. RECKON, COUNT. These words indicate the means by which we arrive at a given result in regard to quantity. We calculate with a view to obtain a certain point of knowledge; as, to calculate an eclipse. We compute by combining given numbers, in order to learn the grand result. We reckon and count in carrying out the details of a computation. These words are also used
<muurkha>in a secondary and figurative sense. “Calculate is rather a conjection from what is, as to what may be; computation is a rational estimate of what has been, from what is; reckoning is a conclusive conviction, a pleasing assurance that a thing will happen; counting indicates an expectation. We calculate on a gain; we compute any loss sustained, or the amount of any mischief done; we reckon on a
<muurkha>promised pleasure; we count the hours and minutes until the time of enjoyment arrives” --Crabb.
<muurkha>this is much, much more specific than "a deliberate process that transforms one or more inputs into one or more results."
<muurkha>now, this is very much what "computers" such as the ENIAC, the EDVAC, and the Manchester Mark 1 were designed for: they were for finding things out, such as where artillery shells would fall, whether a hydrogen bomb would explode, or what the next Mersenne prime was
<muurkha>the Z3 was used to find out which forms of airfoils would flutter dangerously when flown
<muurkha>these are "a conjection from what is, as to what may be" and "a rational estimate of what has been, from what is".
<muurkha>and they are "in regard to quantity"
<muurkha>but grep, irssi (my IRC client), gcc, Emacs, bash, xpdf, wget, and rm do not normally do such things.
<pabs3>oriansj: ok, maybe s/she/we/ and s/girl/us/? also for some reason my browser wants to download it instead of display it...
<pabs3>er s/our girl/us/
<muurkha>tinybronca[m]: with respect to Netflix's storage devices and network architecture, https://www.youtube.com/watch?v=_o-HcG8QxPc is a recent presentation on how Netflix does things
<ekaitz>hi, does anyone know about the status of the riscv assembler on tinyCC?
<ekaitz>did anyone try to assemble a riscv assembly file from an amd64 machine?
<Irvise_>ekaitz: AFAIK, there is a RV64 backend for quite some time. I would expect it to work. I do not know if it can do RV32 nor if it can be compiled to xcompile...
<ekaitz>Irvise_: there's a rv64 backend but I'm unable to assemble anything, it's like it doesn't recognize instructions
<Irvise_>ekaitz: I suppose you are using the development branch, are you?
<ekaitz>I'm on mob branch
<Irvise_>Then if it is not working on the mob branch, I will let others chime in.
<ekaitz>:)
***blockhead_ is now known as blockhead
***dnm_ is now known as dnm
<muurkha>have a solemn Alan Turing Day
<vagrantc>why is it alan turing day?
<vagrantc>memorial of, i guess
<muurkha>this is the day he committed suicide
<unmatched-paren>7 June 1954 (aged 41)
<unmatched-paren>Wilmslow, Cheshire, England
***janus__ is now known as janus