mircea_popescu: anyway, this trinque - mod6 exchange's gonna be a thing for the ages.
BingoBoingo: mod6 seems to be in an uncomfortable place resembling where I was exactly a year ago except the people around him speak his mom's tongue. I hope he can pupate in *spite* of that
BingoBoingo: But where mod6 adds friction, zero'ing drives. I like that
a111: Logged on 2019-02-14 03:22 mod6: I'm not sure that I get your meaning.
a111: Logged on 2019-02-14 02:01 mircea_popescu:
http://btcbase.org/log/2019-02-13#1895868 << we don't so much care, seeing how we don't intend to have exceptions but exceptionally. if the thing crashes ever, your problems will be in excess of 99, but none of them that "it took one half milisecond extra for burning relic to make it back to earth"
a111: Logged on 2019-02-14 04:05 trinque: mod6: the curious thing is that you have full paths in just *part* of your genesis.vpatch, in the same exact way diana_coman did
diana_coman: mircea_popescu, the thing there is: it's true we don't care about it if the server crashes but is it also true we don't care about an overall slowdown at all times because of each and any exception actually handled in the code?
mircea_popescu: and yes, i would say it's worth re-pressing to his node and seeing if that fixes it. if it does, we'll have some 'splainin' to do.
diana_coman: according to docs, the mere presence of a handler of exception slows the whole things down when lj
mircea_popescu: but this is already checked, no ? all sorts of exceptions are in fact handled by your for loops code, that were not risen
diana_coman: regardless of whether exception is actually raised
mircea_popescu: this is specifically what we were checking, whether this is true or not.
diana_coman: hm; I don't know if it's exactly the same thing or not; perhaps it is
diana_coman: re re-pressing to his node - note that that is re v-tools in fact; and I pressed the v-starter to node before that precisely because it essentially forks there i.e. there are 2 options
mircea_popescu: but i mean, your code would have handled exceptions if they arose, yes ? if a for looped out of bounds, or whatever. isn't it so ?
diana_coman: being starter, I preferred not to force a choice there; but at any rate, if the previous node is basically broken as I gather that's certainly a problem
diana_coman: ada's checks raise exceptions yes; not handled; I don't know if additional explicit handlers ADD or not
mircea_popescu: but there is no such thing as a TRULY unhandled exception. either it hoses the box or else it goes to the default handler.
diana_coman: well, if the resulting paths are mangled then it'd be broken somehow, no/
mircea_popescu: i can't believe we manage to have crosstalk with just two people talking.
diana_coman: well yes, but 1 default handler means slowdown of 1 single handler no matter how many exceptions; because slowdown if any, afaik is re number of handlers precisely, NOT exceptions
diana_coman also adds kids reading over my shoulder and commenting, lol
mircea_popescu: diana_coman but nobody's ever adding MORE handlers. so if this is so, it still is moot.
mircea_popescu is more than welcoming criticism / commentary from experts ; as far as my lights see, we have in fact checked that documented penalty and found it missing in practice.
mircea_popescu: diana_coman : btw, here's my current model for the calling timing harness : write three procedures, A B C. have each of these 1. increment a global counter, X ; 2. check if X is over a max value ; 3. if it is not, have each call either one or the other of the other two randomly ; 4. if X is over max value, have them simply return.
mircea_popescu: set max value to say 65536 (this should result in <mb stack load, i am guessing ?) and let it run.
mircea_popescu: IF indeed there's a significant difference between call and loop re that cost, this'll bring it out.
mircea_popescu: (honestly i never heard of a program that properly used 64k stack frames ; seems if truly one needs such depths, one's welcome to fucking rewrite something, recursion be damned.)
mircea_popescu: "random" doesn't need to be strong, just enough to fuck the optimiser. mt_rand or anything works really.
diana_coman: re more handlers: there are some cases where we would conceivably need to handle an exception though few
mircea_popescu: not like it's verboten, write in some handlers, why the hell not.
a111: Logged on 2019-02-14 07:49 diana_coman: according to docs, the mere presence of a handler of exception slows the whole things down when lj
mircea_popescu: asciilifeform why do you think all the serpenting happens in the same page ?
mircea_popescu: are you talking about the loop thing or the calls thing ?
mircea_popescu: but the calls thing can be made any arbitrary size with a switch. you want it 16777216 rather than 65536 is the idea ?
mircea_popescu: if you use up 16mn stack frames, they'll be multi-page like it or not.
mircea_popescu: re the loops, i don't see the point in bothering with this there. we were checking loops, not the whole call mechanism, there.
mircea_popescu: asciilifeform but if i don't adjust the linux max for eulora, why the fuck would i care to do so for this test ?
mircea_popescu: you are saying that the delta between the address of the jump instruction and the address of the instruction it jumps to must be at least arbitrary number = page size.
mircea_popescu: but this can be factually insured in the model proggy for call testing, by making the DEPTH larger than the page size.
mircea_popescu: because there's no way in hell anyone can store 5mn procedure calls in 4mb ram.
a111: Logged on 2019-02-10 15:40 mircea_popescu: in other news, bitcoin difficulty looks like it's finally come out of the crazy and into economic coupling, check it out, past six months it's been evidently kept in place by fiat exchange rates.
mircea_popescu: at this same time, world energy consumption (instantaneous) is about 10-20 terajoules (on the basis of primary energy generation/consumption for 2015 standing at 170/110 PWh) ;
mircea_popescu: consequently bitcoin is merely using 0.02 to 0.01% of world energy generation, less than the 50%+1 it's supposed to use by a margin of say 5000.
mircea_popescu: ie, bitcoin is 0.02% complete. yet something tells me the next ten years are going to see a lot more completion than the first ten.
mircea_popescu: (the situation is actually better than that, seeing how most of those PWh are low quality energy in the shape of low temperature heat.)
mircea_popescu: it's certainly happening, to the degree electric heating is happening currently.
mircea_popescu: asciilifeform yes, but then again argentinas are usually the dumping grounds. most "old" phones ended up in africa.
mircea_popescu: anyway, there's a whole selection of current-ish miners available to consumer.
a111: Logged on 2018-12-01 21:23 asciilifeform: so, to extend lemma, atari ~because~ cheap ic, and not other way ?
mircea_popescu: because of how ic works, it's cheaper to let consumers have the professional product than to make another special one for them.
mircea_popescu: yes ; and if they found out a way to do without the au, they'd have taken it out of... both.
mircea_popescu: this is the fundamental point of ye above linked car article : if "luxury brands" come up with ~substantail improvements~, they're next year in the "mass market" cars.
mircea_popescu: because wtf, you're not gonna put the better item in the mn-line, keep it for the 100s line ?
mircea_popescu: so yes, bitcoin miners are strategic items, much like atari targetting systems. nevertheless -- perfectly available to consumer.
BingoBoingo: <asciilifeform> resistance heater mostly happens in argentinas << Even Uruguay does heatpumps and bottled LPG
BingoBoingo: asciilifeform: There are 50s to 70's buildings here like that, but central heat even then is fairly rare. Past few decades climate control doctrine in Uruguay is based around a standard sized air conditioner. An apartment may have 1-3 of these, a house may have a double digit numer of these.
BingoBoingo: Even in commercial construction... Recall the co-work roof
BingoBoingo: Now there are a handful of buildings with size appropriate climate control here like the WTC towers, but they are the exceptions
BingoBoingo: But the issue down here is not "a heatpump", but this one specific size of heatpump that's the only option they know.
mircea_popescu: certainly stupid idea, it takes 3 watts of steam (the "low quality low temperature heat" from above) to make 1 watt of electricity. why the fuck would you turn around and make low temperature heat out of that ?!
a111: Logged on 2019-02-14 16:54 asciilifeform: ( i'ma take mircea_popescu's word for 'they are available to konsoomer' , evidently currently worth slightly moar as chump bait than as ore )
mircea_popescu: what fucking chump bait are you the fuck on about in your own solipsist hell entirely lost to any reason ?
mircea_popescu: the bitcoin miner you alf could buy today is slightly, but not much, worse than the bitcoin miner the strategic mining op could buy today ; and it is slightly better (but not much) than the average miner the average strategic op has currently deployed and running.
mircea_popescu: yes, it's true most of those for-profit mining ops are located in places with cheaper electricity than yours. HOWEVER, this is not a discussion of ~the miner~ but of expensive government you ~opt to support~.
mircea_popescu: fucking move, if you don't like paying 5 cents for electro-watt and a further 10 cents so mammie mc nigger fatass can afford lube and happy meals every time you burn a watt.
mircea_popescu: no. the original hypothesis was that the same exact item you alf could buy, ie, slightly worse than the best and slightly better than average deployment, will be inserted into eg ceramic tiles, and allow for applications where people don't so much give a fuck.
mircea_popescu: because i WILL heat my bathroom floor so my whores can suck my cock barefoot rather than live in frigid 80s sovoklands.
mircea_popescu: but i don't care what it costs in the sense i will have it done, not in the sense that i will have it done in the most expensive way possible. if there's bitcoin mining tiles and simple tiles available, i am buying the former.
mircea_popescu: because i don't care about tiles enough to make my own yet.
mircea_popescu: except as per teh "three ring binder" theory, it doesn't actually require anything besides their being made.
mircea_popescu: why necessary event has not happened yet is sometimes explicable (if sun will burn out eventually, then why not yet ?!?!) but not always (say mom, if i'm gonna lose my virginity eventually, how come no girl fucked me yet ?!?!?!")
mircea_popescu: it seems to me premature yet. on my judgement, there was a lot of optimisim at the chump level re obama's bullshit electro-rooves. that will have to blow over, as it was a scam. consumer market will reel a while in disdain-distrust of "such nonsense".
mircea_popescu: so i expect to see it before i die, but i do not expect to spend anything on it this mid term.
mircea_popescu: this is an ancient theme, even appears in say the gladstone speech you asked for recently. "first man, spent 1/4mn pounds, got no coal. 2nd man, spent 100k, got no coal. 3rd man got coal"
mircea_popescu: the problem with economically useful preciction isn't getting the trends right, it's getting the timing right.
a111: Logged on 2019-02-14 04:09 trinque: it looks like both the symlink and the path symlinked commingled
mircea_popescu: i dunno how i could say that, looking at teh data. it's not about what social media says, nothing ever is.
mircea_popescu: anyway, re above trends : there's a very visible trend in energy generation away from low quality and towards high quality. this means absolutely a move away from everything and into nuclear. as nuclear increases and fossils drop, the outlook will significantly change -- eg in romania i'd have not even considered heating on any other premise than natgas ; bathroom had eg towel rack consisting of hot water pipes and other such
mircea_popescu: but the natgas will run out ; and the little house-sized powerplants that it enables will go away, i can't burn pitch in there.
mircea_popescu: and once they go away, what will i use ? there's a case for using electricity for heating if MOST of energy produced is electricity. because heating relatively small outlay, all things considered.
phf: trinque: i'm going to play with some link combinations, but perhaps it would be worthwhile to at least check if the named file exists on the system after failed genesis production.
phf: i've been looking at getting x11 working for cp101a but not on top of cuntoo. i'm going to take a break and attempt a build myself. i might run into the issue also
mircea_popescu: consider the math : i go out to eat, i eat at $100 a plate joint. i go out for a show, or a bender, or a casino trip, or what have you, i come back thousands lighter. meanwhile what's your living space, 100 sqm ? 1000 sqm ? you'll get fucking lost in an acre, really. with modern insulation what's the lossage, a few cents a day ? how THE FUCK will you care so much about the cent as to go cold rather than use electricity, while
deedbot: drunk_foxx voiced for 30 minutes.
a111: Logged on 2019-02-14 07:40 diana_coman:
http://btcbase.org/log/2019-02-14#1896320 -> hm, trinque, do you suspect it's really just down to V version? I can easily re-run the thing with a V pressed to same node as yours to rule that out, if that's the case
a111: Logged on 2019-02-14 07:55 mircea_popescu: diana_coman : btw, here's my current model for the calling timing harness : write three procedures, A B C. have each of these 1. increment a global counter, X ; 2. check if X is over a max value ; 3. if it is not, have each call either one or the other of the other two randomly ; 4. if X is over max value, have them simply return.
diana_coman: ftr with exception handlers the main trouble is simply that the sjlj overflows the stack very quickly; so far not as much any clear difference in *speed* but certainly a difference in stack space used
diana_coman: mircea_popescu, let me know if that's the sort of thing you had in mind or not
diana_coman: asciilifeform, yes, data set contains...data, lol; but will publish it all when full or at least when at some point to decide further or otherwise we keep going back and forth
a111: Logged on 2019-02-14 16:05 asciilifeform: btw , to go with
http://trilema.com/2019/so-what-is-the-man-saying , really oughta disasm a zcx variant and longjmp side by side and see what actually changes. ( when diana_coman comes back with working bins, i'ma set this up , for thread-co)
diana_coman: atm I still have to get to the bottom of the "ave1 gnat with sjlj"
diana_coman: right; as soon as mircea_popescu confirms the code is what he wanted, will do
mircea_popescu: diana_coman take out the Encrypt(KS, Plain, Encr); line, this is just empty procedure calls.
diana_coman: oh, no serpent in there ? it'll run VERY fast though i.e. 0.039s sort of thing
mircea_popescu: from previous experience if we get it to 1-3 s we're far into convergence territory anyway.
diana_coman: and you know, worse in the sense that you get 0.0039 on one run and 0.0095 on another
diana_coman goes to run it a few times without the serpent
diana_coman: confirmed: with max=65535, no serpent (i.e. empty calls only), I got 0.004, 0.009, 0.007, 0.005 (without sjlj)
diana_coman: <diana_coman> oh, no serpent in there ? it'll run VERY fast though i.e. 0.039s sort of thing -> darn, that's 0.0039
mircea_popescu: anyway, on the upside, it is not possible x= 16777216 can be accomodated on any stack pages of any extant or soon to be devised irons, it still needs at least 4 bytes per call if not 52.
diana_coman: uhm, it overflows the stack and either the linker switch I'm using is not working or it can't make it
mircea_popescu: diana_coman possibly have to alter the linux config alf was mentioning it, blows out the 2mb stack max default.
mircea_popescu: so setrlimit to whatever is reasonable (here i'd expect no less than 832mb)
mircea_popescu: can set it back when done, it happens to be one of the more sensible / useful limits in there, which is why few even know about it.
diana_coman: uhm, I set ulimit -s 900000 ; it shows, confirmed at that with either ulimit -a or ulimit -s; set it from the linker option too; prog still overflows in the end; and if I try MORE than that from ulimit -s I get bash: ulimit: stack size: cannot modify limit: Operation not permitted
diana_coman: right: Starting Calls run with 3 procs and Max value 16777216; Calls run X = 22368144 took 1.258959000 seconds.
diana_coman: the value of X is final value and it changes a bit depending on the seed for MT
mircea_popescu: diana_coman i don't get it, so it crashed with 16mn but worked with 22mn ?
mircea_popescu: or is the idea you meanwhile fixed the stack size issue
mircea_popescu: a cool. ok, so 22mn takes 1.25 s i'd say it's in the zone, and we're good as such.
mircea_popescu: (it will doubtless be MUCH larger, but the issue here is time not so much space)
diana_coman: ugh, I still have that 1 exception handler per proc and with sjlj it overflows ofc; let me re-run it wihtout any exception handlers in it first, both with and without sjlj
mircea_popescu: alright ; then try smaller sizes, x=4m might fit for both for instance, and it's still in the zone.
diana_coman: mircea_popescu, just to make sure you get this straight: Max is one thing, the final X is another i.e. the final X really counts how many times procs got entered; the max value means procs stop calling others (but note that the x=x+1 is done before the check precisely because I wanted to know how many calls)
diana_coman: so X will be bigger than max generally because of the "calls 2 procs"
diana_coman: Starting Calls run with 3 procs and Max value 16777216; Calls run X = 22368144 took 0.900212000 seconds.
diana_coman: i.e. same as above with Max at 16.77mn (but real X at 22.36mn) without sjlj -> 0.9s
diana_coman: with sjlj: Starting Calls run with 3 procs and Max value 16777216;Calls run X = 22368144 took 0.903548000 seconds.
diana_coman: aaand this is it, docs apparently right: fully cleaned up (i.e. none of the serpent vars + init anymore either), max value 16777216, x 22368144; with NO handlers it's 0.9s no sjlj and 0.03 with sjlj; same but WITH 1 handler per proc turns into 1.06s without sjlj and 158.87s with sjlj
mircea_popescu: diana_coman wait wait, so it's in fact a HUGE penalty to use zcx is you have no extra handlers ?
diana_coman: you mean in that you don't actually gain anything but lose ability to abort asynchronously among other things?
mircea_popescu: specifically stated, this program takes to run : 1 with sjlh, no handlers ; 30 (up 3000%) with zcx, irrespective of handler count ; 5295 (a further 200% up) with sjlj and one extra handler.
mircea_popescu: ie, what the docs don't say is the juciest bit at all : if you do not have extra handlers, zcx is MASSACRING you on calls.
mircea_popescu: diana_coman can we do with 2 and 3 extra handlers as a bonus plox ?
diana_coman: ugh, either I fat-fingered there or what; let me run that again ; (and possibly /me should really stop getting data *other* than in a nice plain table)
diana_coman: and yes, then I'll do with 2 and 3 handlers too
diana_coman: hence I suspect I fat-fingered it because I don't remember popping out when I read in console
diana_coman goes to run and will be back with proper data
mircea_popescu: it really blew my fucking mind! ZERO COST, they said!!!
mircea_popescu: (in fairness though, no program ever does the sort of calling insanity we do here, so irl this may be very mild indeed)
mircea_popescu: ^even handled sjlj is not really that bad, 7us per call far far from end of world.
diana_coman: no, fat-fingered it, 0 instead of 9 i.e it was 0.93 not 0.03; sorry about that; still running atm the 1 handler with sjlj and then will move on to 2 and 3 handlers
diana_coman: all those tests are on Adacore's 2016 gnat, yes
diana_coman: sorry; I should know by now to not hurry up with data report even if it's just 2 runs
diana_coman: I still don't see the boo-boo of docs i.e ~"all programs should see a great improvement running zcx" or how was it
mircea_popescu: prolly a bunch of try()catch semantics in "all programs"
diana_coman: ah, that'd explain it, wouldn't it: by the time "programming" is direct translation of fuzzing into code, it'd possibly speed up, yes
diana_coman: in other things, re
http://btcbase.org/log/2019-02-11#1894896 -> this should now be fully sorted i.e. IP change for dianacoman.com propagated as far as I can see + redirection working fine for any link so please let me know if you still encounter trouble with any dead links; if you use only hosts (no DNS) then simply adding dianacoman.com on same IP as ossasepia should work seamlessly
diana_coman: asciilifeform, any preference re "pair of bins" i.e. the procedure calls or the loops of yest?
diana_coman: asciilifeform, here are the latest aka proc calls with 3 handlers per proc: ossasepia.com/available_resources/bins_calls_sjlj_adacoregnat.tar.gz and ossasepia.com/available_resources/bins_calls_zcx_adacoregnat.tar.gz ; let me know if you want anything else
diana_coman: asciilifeform, the name of the tarball is correct; you'll have to change the name of the dir /put them separate
mircea_popescu: look here : lines 1 through 9 in zcx add up to 13 bytes, yes ?
mircea_popescu: the observation that perhaps sjlj is not actually as tightly optimized as zcx is trying to percolate through my brain
mircea_popescu: no i know where you got the sub param from, what im asking is,
mircea_popescu: what does it do with the rest of the frame, from the bytes we see to the 184 ?
mircea_popescu: (the 52 is cuz i took the 13 items and multiplied by 4, forgetting that these are actually byte alligned not 64-bit alligned)
diana_coman: I'm atm doing the inventory of ave1's versions of gnat scripts and apparently even 2018-05-29 relies on downloading stuff that meanwhile moved/vanished as they always do; moreover, I have the darned stuff , now need to figure out how to cut out the download and just point the script at local source, ugh
mircea_popescu: rather, i can't shake this impression that sjlj saddles us with two segments of overhead
mircea_popescu: one that's due to the method, and the other that's due to the fact zcx was a lot narrowly-er massaged
mircea_popescu: are you basically saying this sub eax, 1 ; test eax, eax ; jz loc_601 is optimal approach ?
mircea_popescu: one part of the problem might be that sjlj comes from a time before, when insanities like that snippet above were standard. but no time since the millenium do you see it instead of the cmp etc.
mircea_popescu: yeah but the pipe is built such that this is also ~0 cost electrically
mircea_popescu: well, i won't trust my own understanding of asm and contemporary cpus as far as i can throw it ; but if indeed the operands in zcx impl were slower, you'd see it take less time!!!1
mircea_popescu: she corrected the numbers, it's 90 for zcx 93 for sjlj at the best.
mircea_popescu: if the zcx's cmp WERE slower than sjlj's test, then we should see the latter be faster on 0 handlers than the former!
mircea_popescu: kinda what i understood, that cmp USED TO BE expensive, but is no longer.
mircea_popescu: nevertheless, the point has legs -- what we've done here very much can be done ands re-done, and with cuntoo/ada-gnat/etc stack spitting out statics, it might even come close.
mircea_popescu: in no case do i know of anyone who has actual data re such things as "ok, so manual claims, but NUMBERS for this penalty"
mircea_popescu: yes, but we can actually print it, if we get that bored.
mircea_popescu: precisely through same process as yielded here, timings for serpent etc, there's readily recognizable meta-structures
mircea_popescu: end up with converged values and whatever else, put them in a matrix and have a matrix-table.
mircea_popescu: why you do the matrix in the first place. you identify the attactors and so on
mircea_popescu: nevertheless it's a finite phase space. imagine, if we end up having docs intel doesn't.
mircea_popescu: (this may sound far-fetched to our foreign friends ; but the exact thing happened to me
before.
mircea_popescu: and the mechanism that'll work on intell will then work on xilinx, and so on.
diana_coman: this eggogology sounds like a candidate euloran skill or something, lol
diana_coman: at any rate, I think it would make a far better item to send kids to investigate than many "projects"
mircea_popescu: asciilifeform no dude, as she points out, it's eulorism avant la lettre.
mircea_popescu: i select, clicked footnote, select again, it works throughout ?
mircea_popescu: diana_coman so in the end, the conclusion of these procedings is, we're switching to sjlj and use no handlers ? did you ever manage to get it going on smg test server ?