feedbot: http://verisimilitudes.net/2021-05-31 << A Syndication of Verisimilitudes -- Implementations of Grade
asciilifeform: $ticker btc usd
btcinfobot: Current BTC price in USD: $36564.53
asciilifeform: !w poll
watchglass: Polling 17 nodes...
watchglass: 18.104.22.168:8333 : Could not connect!
watchglass: 22.214.171.124:8333 : (172-4.core.ai.net) Alive: (0.024s) V=70001 (/therealbitcoin.org:0.7.0.1/) Jumpers=0x1 (TRB-Compat.) Blocks=685811
watchglass: 126.96.36.199:8333 : Could not connect!
watchglass: 188.8.131.52:8333 : (172-6.core.ai.net) Alive: (0.082s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Return Addr=0.0.0.0:8333 Blocks=685345
watchglass: 184.108.40.206:8333 : (ns562940.ip-54-39-156.net) Alive: (0.112s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=685811
watchglass: 220.127.116.11:8333 : (pool-108-31-170-100.washdc.fios.verizon.net) Alive: (0.109s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=685811 (Operator: asciilifeform)
watchglass: 18.104.22.168:8333 : Alive: (0.142s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Return Addr=0.0.0.0:8333 Blocks=685554
watchglass: 22.214.171.124:8333 : Alive: (0.144s) V=70001 (/therealbitcoin.org:0.7.0.1/) Jumpers=0x1 (TRB-Compat.) Blocks=685811
watchglass: 126.96.36.199:8333 : Alive: (0.084s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Return Addr=0.0.0.0:8333 Blocks=685811 (Operator: whaack)
watchglass: 188.8.131.52:8333 : Alive: (0.283s) V=70001 (/therealbitcoin.org:0.7.0.1/) Jumpers=0x1 (TRB-Compat.) Blocks=685811
watchglass: 184.108.40.206:8333 : Alive: (0.214s) V=99999 (/therealbitcoin.org:0.9.99.99/) Jumpers=0x1 (TRB-Compat.) Blocks=685811
watchglass: 220.127.116.11:8333 : Violated BTC Protocol: Bad header length!
watchglass: 18.104.22.168:8333 : Violated BTC Protocol: Bad header length!
watchglass: 22.214.171.124:8333 : Busy? (No answer in 100 sec.) (Operator: trinque)
asciilifeform: http://logs.nosuchlabs.com/log/asciilifeform/2021-06-01#1038042 << verisimilitude may find it interesting that asciilifeform has never yet used ada's extended lib ( e.g. Ada.Containers ) ;
snsabot: Logged on 2021-06-01 01:01:26 feedbot: http://verisimilitudes.net/2021-05-31 << A Syndication of Verisimilitudes -- Implementations of Grade
asciilifeform: when investigated these libs, found that nearly all of them require enabling objectionable features in the compiler, e.g. secondary stack
asciilifeform: ... in the process defeating, imho, much of the win from using ada
asciilifeform ended up rewriting several items supposedly available as built-ins, for, largely, this reason -- mmap, sockets, in particular
verisimilitude: I considered it a training exercise. When using the code in the final program, I may nedd to modify it to, for example, work on any sequence, not merely arrays.
verisimilitude: It's bizarre Ada 2012 was apparently the first to provide a predefined sorting subprogram.
asciilifeform: verisimilitude: most of the 'high level' stuff apparently came in w/ 2012.
verisimilitude: I don't see the issue with the secondary stack, but also don't know too many details; be it a good idea, merely handicapped by modern ways?
asciilifeform: verisimilitude: i won't even say it's entirely inedible. simply not suited for ffa.
asciilifeform: verisimilitude: it makes binary auditing quite difficult.
asciilifeform: (keeping track of 1 stack is hard enuff)
verisimilitude: I intend to play with one other container feature, soon enough.
asciilifeform: adds gnarly runtime support code, too.
asciilifeform: for verisimilitude's applications, might not matter.
verisimilitude: Ada is a language that has taught me many things.
asciilifeform: outta curiosity, what things ?
verisimilitude: When writing this, as an example, I almost didn't use Ada.Strings.Bounded, because I thought it would be wasteful, but realized how stupid that was.
asciilifeform: verisimilitude: i went to great lengths to avoid using it. because, again, forces 2nd stack.
verisimilitude: Explaining everything learned would take me too long.
verisimilitude: I didn't know that.
asciilifeform: verisimilitude: how about 1 thing
verisimilitude: I learned about proper segmentation and whatnot, was the meaning.
verisimilitude: I care less about my programs in GNAT, and more about them in principle, so whatever GNAT does bothers me not.
asciilifeform: verisimilitude: if 100% dun care whether proggy runs -- may as well go into pure maths
verisimilitude: I want reliable programs in Ada, and the secondary stack doesn't seem like it will bother that much.
asciilifeform: verisimilitude: all depends on your understanding of what means 'reliable'.
verisimilitude: Controlling allocations is one aspect.
verisimilitude: The reliability of ``If it initializes properly, it runs.'' seems about the best one can get under GNU/Linux.
asciilifeform: depends what means 'runs'.
verisimilitude: I'm ignoring the OOM killer here.
asciilifeform: for safety-critical applications (will ignore for the time being the fact that for these, code gotta be portable to naked irons, and not dependent on linuxen) gotta be able to show that the compiled bin behaves ~exactly~ as specified by the src
asciilifeform: (among other reqs)
verisimilitude: Anyway, my point is I don't treat GNAT like the only option, even though it effectively is.
asciilifeform: verisimilitude: there's a paper standard, which allows one to pretend this. (is still a pretense, however)
verisimilitude: They use SPARK for that, and even SPARK isn't total.
asciilifeform: spark has serious problems (bloat; disallows recursion; others)
verisimilitude: There's a program to determine the maximum memory usage of a SPARK program, as an example.
asciilifeform: also says absolutely nothing re the binary.
asciilifeform: for that, need manual audit, in all cases.
asciilifeform: (concern of binary audit is not only malicious, but simply buggy behavious on part of the compiler.)
verisimilitude: Well, I just happen to have custom machine code tooling, don't I?
asciilifeform: verisimilitude: considering a gnat backend port to your arch?
asciilifeform: so how relates to thread ?
verisimilitude: I suppose I just like mentioning it sometimes.
verisimilitude: I've learned why I'd issues with the case of the empty array, and may change that article a tad soon.
verisimilitude: Put simply, an empty array could have an index which violates the constraints, but works because it's empty.
verisimilitude: My preferred fix would reach into the base type to nicely avoid this.
verisimilitude: I still use far too much force with my chording keyboard; say, asciilifeform, is it normal to have a sore arm after prolonged MicroWriter usage?
asciilifeform: verisimilitude: i don't recall attempting for >15min at a time. so cannot usefully comment.
asciilifeform: verisimilitude: in general, if sore -- you overdid sumthing.
verisimilitude: Yes. I type quite a bit.
verisimilitude: I try to spread it out, but still face long sessions.
verisimilitude: Still, I could be abusing my body in worse ways.
verisimilitude: Perhaps sitting it on something flat on my lap, rather than directly, will help.