2024-09-12 01:17:36 I suspect that computation, in the sense of "what computers do", may be much older than things like accounting, which is what this post is about 2024-09-12 01:17:53 computers are not, at their core, arithmetic machines, contrary to what the post says 2024-09-12 01:19:12 they're discrete state machines, which implies that they obey a predefined state transition table between discrete states at discrete timesteps, with addressable memory 2024-09-12 01:19:49 this description is also applicable to games like chess, checkers, wari, and probably senet and the royal game of Ur 2024-09-12 01:20:08 we don't have any archaeological evidence that those games are older than accounting 2024-09-12 01:20:26 but sociologically it seems plausible that people played wari long before they did numerical accounting 2024-09-12 01:21:35 does a chess game compute? 2024-09-12 01:21:38 i dont think it does 2024-09-12 01:24:41 chess players necessarily compute in order to decide whether the other player's move is valid 2024-09-12 01:25:11 and they have to compute quite a bit more than that in order to play any game of chess but a very poor one 2024-09-12 01:25:19 computers used to be mostly ladies doing tedious calculations 2024-09-12 01:25:34 etymologically, yes 2024-09-12 01:25:48 that post was cherry picked to fit the IBM theme of pioneering computing with a stone slant - i'd think biological systems might have some claim to being the first to compute, at least simple lifeforms have the facility of reacting to environmental stimulus by logical means 2024-09-12 01:25:51 two people playing chess is arguably a computer 2024-09-12 01:25:54 then there's the complication of analog computers e.g. for tides in san fran bay or gun computers 2024-09-12 01:26:02 and that term got applied by extension to what we call 'computers' now 2024-09-12 01:26:41 but those machines are in fact much better at playing wari or Paku-Paku than they are at computing ballistic trajectories, tide tables, or accounting balances 2024-09-12 01:27:53 biological systems don't usually have discrete states, discrete timesteps, or addressable memory, the way wari, Paku-Paku, Forth, senet, the royal game of Ur, the ENIAC, or a Z80 do 2024-09-12 01:28:20 or, for that matter, the way a general ledger does 2024-09-12 01:28:38 they're analogue computers 2024-09-12 01:28:46 their states are continuously variable and not discrete 2024-09-12 01:28:51 addressable memory isn't a requirement 2024-09-12 01:28:58 if it is, lambda calculus isn't computation 2024-09-12 01:29:01 but it clearly is 2024-09-12 01:29:29 unjust: right, but that's intrinsic to what we call "computers" today. by our modern defintion, analog "computers" aren't computers 2024-09-12 01:29:50 you can't run a compiler or interpreter on them; one of them can't emulate another unless 2024-09-12 01:30:43 you can't run payroll on them either 2024-09-12 01:30:43 i'm ok with saying they aren't digital computers 2024-09-12 01:30:50 but they're a completely different kind of thing 2024-09-12 01:31:09 i think a fairly sane way to go about it is define computation as what a turing machine does 2024-09-12 01:31:17 btw, where do you class slide rules? analogue or digital? 2024-09-12 01:31:29 slide rules are clearly analog 2024-09-12 01:31:44 and then say something is a computer if it would be turing complete if you gave it enough memory 2024-09-12 01:31:50 amby: I'm being a little vague with "addressable memory", but what I mean is that you can apply the same lambda term to many different possible pieces of data 2024-09-12 01:32:24 including conditionally and repeatedly 2024-09-12 01:32:51 and composably 2024-09-12 06:01:12 that might be possible? 2024-09-12 06:01:50 I just hacked in some asciinema-like recording and replaying machinery, which generates a text file that looks like this: 2024-09-12 06:01:58 # MicroUI metafile v0 2024-09-12 06:01:58 rect 350 250 300 240 #323232 2024-09-12 06:01:59 ... 2024-09-12 06:02:09 text 154 416 #e6e6e6 100.00 2024-09-12 06:02:09 rect 250 367 73 74 #5a5f64 2024-09-12 06:03:42 at 60fps the demo app generates about a megabyte per second of text, which gzips to about 7K per second 2024-09-12 06:04:46 I said "recording and replaying" but I don't actually have any replaying yet! 2024-09-12 07:31:33 well, I thought I'd use the same SDL OpenGL interface they were using for their demo app renderer 2024-09-12 07:31:40 for the replayer 2024-09-12 07:32:30 it does run for the proper amount of time, but nothing shows up on the screen, and I don't know why 2024-09-12 08:03:45 aha, because I was setting the alpha to zero all the time 2024-09-12 08:29:52 okay, got that working! 2024-09-12 17:16:46 Isn't it such a nice little pleasure when something has been resisting and you get it to work? 2024-09-12 17:39:20 Sounds like a fortunate day :) 2024-09-12 17:46:47 well, it was nice to get it to work 2024-09-12 17:47:43 but I find it even more pleasant when I can just do what I want easily 2024-09-12 17:48:26 :-) 2024-09-12 17:48:34 Yes, that's always nice too.