log☇︎
15400+ entries in 0.118s
mircea_popescu: basically idea is, a markov chain of callings. ☟︎
mircea_popescu: asciilifeform something like : when called, procedure a increments global flag x and if global flag x is even calls b ; when called, b increments global flag y, and if global flag y is even calls a else calls c ; c increments both x and y.
mircea_popescu: http://btcbase.org/log/2019-02-12#1895478 << iirc that's how zcx even became a thiong on gcc. ☝︎
mircea_popescu: http://btcbase.org/log/2019-02-12#1895474 << i suppose the next test is a multicall, keep calling two procedures from each other and returning randomly. ☝︎
asciilifeform: not that i aint willing to port to e.g. vax or whatever. for a fee..
diana_coman: perhaps that's just because too few loops; I'll report back when I have the numbers though it might take a while
a111: Logged on 2019-02-12 14:13 asciilifeform: http://btcbase.org/log/2019-02-12#1895234 << ffa uses exceptions strictly as 'fucking stop whole program (and if it's running on a micro, whole machine, and flash 'dead!' lamp) right nao!' , so won't impact. my understanding is that it'd impact only speed of the ~exceptions~, longjump is slower cuz it crosses pages -- cachaistically.
diana_coman: asciilifeform, that was just the 3 loops (a,b,c); over 1000 runs, the avg were similar with and without longjmp i.e. 0.46744 without and 0.46754 with longjmp; atm running the full version aka a-v and that hasn't yet finished
asciilifeform: ( fwiw i (and other ru warez folk) like ancient at&t 'djvu' format, it is moar or less jpeg with optional ocr searchable track. a 300MB pdf turd becomes a 2-3MB djvu. )
a111: Logged on 2019-02-12 08:00 diana_coman: http://btcbase.org/log/2019-02-12#1895120 -> yep, that was precisely my ref when looking at Ada multi-threading and what support it offers; it actually reads a bit better than the barnes' progr in 2012 but it's more focused, obv
asciilifeform: imho a proggy should not ever produce exceptions during normal operation, unless iron smokes.
asciilifeform: ( ffacalc ~does~ have a handler, strictly for trapping invalid cmdline args, ln. 75. )
asciilifeform: ( and since nobody asked 'where exactly does ffa use exceptions? i dun see any throws' -- answr is, ~all~ ada coad where bounds checks are enabled, theoretically 'uses' exception, if you break a bounds check what do you suppose happens.)
asciilifeform: i usedta have a collection of these, threw out, got trdious
asciilifeform: hrm i can't actually think of a periph that 'wants to know time'
mircea_popescu: see, cuz things flow a certain way. "we want to include morons, retards and other bureaucrats" --therefore--> "smartphones" and "ntp" and so on.
asciilifeform: on raw irons tho, gotta have a mechanism that actually 'ada', given as that's the only scheduler you have, unless baked new
asciilifeform: just need a working timeout in the read call
mircea_popescu: seems to me self-evident that there's need for exactly two layers of exception handler : a) our code fucked up, in which case end it all or else b) some ~item~ such as whatever, a fg fucked up, in which case REPORT THIS TO ME, don't wait for it forever./
asciilifeform: but also agree with mircea_popescu , you gotta have a way to halt a wedged device i/o at least.
mircea_popescu: much like there's a very sensible design reason to not even expose abort in ada code : do NOT encourage morons who http://btcbase.org/log/2016-01-21#1379603 ☝︎
asciilifeform: ( in ffa, exceptions are a 'catch fire' condition, and drop into the last-chance handler, but in moar complicated proggy, with, say, devices, you may want to actually handle and keep working )
mircea_popescu: right, it's a misnomer, i'm not arguing that part.
mircea_popescu: but really, it's just handler unrolling/inlining, depending how you look at it. ie, zcx is a ~concept~, much like "unrolled loops" or w/e.
mircea_popescu: diana_coman in ~principle~ zero cost exception handling is this thing : ~instead~ of calling code when exceptions arise, you instead unroll all calls in place, where exceptions might arise. this way you don't get a run-time penalty (because you paid for it in code space)
mircea_popescu: the most valuable (from a timing perspective) loops are the innermost ones, because they get jumped in and out of hundreds of tyimes.
asciilifeform: diana_coman: it's a riotously inept naming yea
diana_coman: i.e. an exception handler, not necessarily a raise
diana_coman: not a big deal; reading here on the sjlj theoretically the biggest slowdown would be when there are some exception handlers so maybe I should add that to testing
mircea_popescu: diana_coman did you actually only do a b c ?
diana_coman: mircea_popescu, such a thing? http://p.bvulpes.com/pastes/YaMpS/?raw=true
mircea_popescu: not like it makes a diff.
mircea_popescu: i wanted something in there of a little heft to make sure we're not being optimized or w/e.
asciilifeform: so it's a poor test of hypothesis of 'does longjmp runtime nail speed of jumps'
asciilifeform: https://archive.is/HpVWP << likbez re the interrupts mechanism, if we end up wanting to try such thing. ( a bare-iron gnat will ~have~ to use it, for basic machine i/o handling, so asciilifeform is doomed to test it sooner or later , fwiw )
mircea_popescu: well, someone else gets to rage in the logs for a while.
asciilifeform: it shits a signal handler into the obj. same as you'd have if you were writing daemon in c.
asciilifeform: it's a standard pkg, rather than gnatism (i.e. also worx on raw irons, anyffin with an interrupt controller)
a111: Logged on 2019-02-10 17:37 asciilifeform: will add to this also, that if yer thread is actually wedged, it will almost always be on acct of http://btcbase.org/log/2019-02-08#1893811 , i.e. waiting for a blocking unix i/o, and no matter what yer pthreads proggy is written in , c, ada, cobol, whatever, it will still become a zombie, cuz unix is retarded.
mircea_popescu: asciilifeform here's a thought : fuck a peripheral so as per http://btcbase.org/log/2019-02-10#1894696 it zombies all it touches ; THEN have an ada prog touch it ; and THEN see if abort aborts. ☝︎
mircea_popescu: nah, we need to test this properly, with a macroscopically blocking item
diana_coman: so hm, if you have a put_line and then the infinite loop, does that still work?
asciilifeform: diana_coman: correct, if you throw e.g. a put_line in there, the async select worx (from which you can then abort)
asciilifeform: the 1 thing that you can't async-stop in the zxc model, looks like, is a straight loop with no i/o
asciilifeform: gnat seems to add a stop point when you invoke those
mircea_popescu: problem is you can't put a delay 0 ~inside~ the only thing we fear, which is unix peripheral calls.
asciilifeform: mircea_popescu: it only worx if you http://btcbase.org/log/2019-02-12#1895105 (i.e. add a 'delay' or i/o instruction (interestingly, the latter always work as abort-point , but only for the async select method ) ☝︎
asciilifeform: btw this is why i sewed ffa into a linkable lib. ~it~ can still be built with restrictions even if running inside a proggy with tasks etc
mircea_popescu: this is what i was coming to : do you have a better approach to evaluating the putative sjlj runtime cost than the above thing diana's implementing nao ?
asciilifeform: http://btcbase.org/log/2019-02-12#1895234 << ffa uses exceptions strictly as 'fucking stop whole program (and if it's running on a micro, whole machine, and flash 'dead!' lamp) right nao!' , so won't impact. my understanding is that it'd impact only speed of the ~exceptions~, longjump is slower cuz it crosses pages -- cachaistically. ☝︎☟︎
mircea_popescu: a thing you keep re-serpenting. 64 bit string, w/e, starts as null
mircea_popescu: wrap it in a few for and if clauses, something like like for( a = 1; a < 100; a = a + 1 ){ if a is even then for( b = 1; b < 100; b = b + 1 ){ ... collector = serpent(collector) }}}
mircea_popescu: diana_coman do you have a non-trivial (non-huge) ada that you could run once with sjlj and once with zcx in a timing harness so we can get some data ? ideally something that takes 100-1000ms or so.
diana_coman: I read a bit on that and it seems to me that it is meant to actually add ANOTHER "won't abort here" point so I don't quite see it; but yes, I'll try it anyway
mircea_popescu: diana_coman what happens if you actually put a pragma Abort_Defer in the loop ?
mircea_popescu: just, i don't think it can be whipped into a workable exception handling mechanism.
a111: Logged on 2019-02-12 03:54 mircea_popescu: that's the fucking cost of being a raging asshole.,
mircea_popescu: diana_coman it looks like we'll end up with a patched tmsr-gnat.
diana_coman: I suppose so far the options seem to be 1. maybe there's a way to actually make it choose the sane abort model 2. change the idiotic "ignore the signal" part
diana_coman: but ftr when a task is not in this sort of "can't hear you la la", there's no need for any wait, no
diana_coman: i.e. if anything, you can say that my test code should wait a bit and then check
bvt: diana_coman: i agree; in the abort signal handler, there is a snippet of code that ignores the signal (given ZXC exception handling model).
mircea_popescu: you know, it'd be grand if this were a blog article rather than a pastebin. odds are ima want to reference it later, and as a factual matter i want ot reference "More precisely, one of the issues seems to be that abort seems to be delivered to the child thread after the check for 'thread aborted' has already been done" specifically even now.
mircea_popescu: bvt that's a good point actually, the check comes too late in the current implementation.
diana_coman: hm, asciilifeform from what I see at a quick glance in that s-taprop-linux__adb it actually calls pthread_kill ONLY if "abort_handler_installed" and that in turn seems set only if not some default state ? might be a clue to follow perhaps, I haven't dug much deeper yet
diana_coman: http://btcbase.org/log/2019-02-12#1895120 -> yep, that was precisely my ref when looking at Ada multi-threading and what support it offers; it actually reads a bit better than the barnes' progr in 2012 but it's more focused, obv ☝︎☟︎
phf: if any log reader is getting a 404 not found, even if intermittent, please let me know. i was just getting it for a couple of minutes, but i can't figure out if that's the actual situation on the machine or some russian dns problem
mircea_popescu: dmca requires someone to register a claim, and they can actually be sued if it's fraudulent.
a111: Logged on 2019-02-12 01:34 asciilifeform: for total thread-completeness, there is a workaround that works, but it is imho ugly ( ada 'interrupts' package ), i'ma post example if mircea_popescu et al ask.
mircea_popescu: http://btcbase.org/log/2019-02-12#1895123 << maybe later. for now i'd much prefer a complete and thorough in-place solution, because rly now, if we're gonna use this, it's gotta work, not work-around. ☝︎
a111: Logged on 2019-02-12 01:25 asciilifeform: i suspect this is gonna be a '1-line' patch, to fix. q is where..
mircea_popescu: that got a pass because whatever, not so blatant.
a111: Logged on 2018-10-26 02:14 asciilifeform: meanwhile, in gnat bugs : apparently ( and this is documented or mentioned nowhere ) : it is impossible to have a Ada.Finalization.Limited_Controlled type ANYWHERE inside a static library, unless it is generic all the way down (i.e. if the lib package is generic, any sub-packages must also be instantiated as generics )
mircea_popescu: wanna be a man, then gotta be a man. for example, wanna be a restaurant maitre d', then you're stuck apologizing to the people that ordered 19 oz ny steak and got 1.5 oz cafeteria hoof cut. and so on. posturing brings with it the cost of sucking all the dick you earn the sucking of in the usual course of the business you're posturing with.
mircea_popescu: that's the fucking cost of being a raging asshole., ☟︎
mircea_popescu: then when they fail to respond, they get a default negrate.
mircea_popescu: http://btcbase.org/log/2019-02-11#1895085 << england's such a shithole by now, it's inconceivable man would visit without machine guns. ☝︎
mod6: Alright, well if the pictures are unnecessary, will just skip that part. About to hook up that 250Gb Disk to SATA2 and inflate a fresh cunt(oo) on there.
trinque: there's of course a chip on your motherboard which wants its own driver
mod6: It's strange because this particular box has like 10 USB ports on it. 2 in the front of the chassis, and like 8 in the back. I wonder if it's like a special add-on thing, I was going to take some pictures for you all, but I need to get down there and do that yet tonight.
mod6: The other weird thing is that 'usb hub' as shown in the kernel.debug file. I do own a USB hub, as I bought one to test multiple FGs at the same time, but it's been just sitting on my desk for weeks.
mod6: http://btcbase.org/log/2019-02-11#1895003 << re: So I didn't ever use a USB boot disk, I actually was just using the Live CD to do the chrooting/troubleshooting. But I did the `./bootstrap.sh` from the working gentoo environment. ☝︎
asciilifeform: for total thread-completeness, there is a workaround that works, but it is imho ugly ( ada 'interrupts' package ), i'ma post example if mircea_popescu et al ask. ☟︎
asciilifeform: i suspect this is gonna be a '1-line' patch, to fix. q is where.. ☟︎
asciilifeform: http://www.loper-os.org/pub/ffa/gnatology/ave1gnat/index.htm << linked for the log. cross-indexing dunwork currently, as the damn thing aint a gpr project, but currently i dun have time to try to massage it into one , promises to be a week-long shitfest on its own
BingoBoingo: Yes account number is relatively short. This is a small country with few accounts to fill the account number space.
asciilifeform: lol i took a look at these, whole parallel world where '2011 4evah'
BingoBoingo: So long as there is resistance to what Pantsuit means by deadnaming and clarity as to what the Republic means, they gotta expend some of their infinite hitpoints of idiocy fighting the sorts of socialists like Anglin who want a different sort of socialist femstate
BingoBoingo: Still, there's a benefit in having synonyms to erode their namespace
trinque: deadnaming eh. there's a new one for me.
asciilifeform: 'mmmmrrrghmmmm!!' 'are you sucking on a gag??' 'nah why didjaask'
asciilifeform: mircea_popescu: it aint a 'sexy' looking item, really, resembles mini fridge , only with buttons/lcd thing
mircea_popescu: you want a list of all the urban sidewalk pizza ?
mircea_popescu: a LARGE portion of why "computer security" is SUCH a popular activity has to do with the profoundly african mentality of most... well, africans, to put it plainly.
asciilifeform: it's a snoar, straight trigger for pre-emplaced booby, decorated to get past some idjit ids thing somewhere
asciilifeform: will prolly take asciilifeform a coupla days to hoist it on the pedestal and test, tho, conveyor is currently packed
a111: Logged on 2019-02-11 16:32 mircea_popescu: meanwhile in antiqua from five years ago, http://trilema.com/2014/ca-tot-s-a-tras-tot-s-a-fumat-tot-s-a-baut-tot-cum-e-peste-tot-la-fel-ca-peste-tot/#selection-75.93-75.115
mircea_popescu: meanwhile in antiqua from five years ago, http://trilema.com/2014/ca-tot-s-a-tras-tot-s-a-fumat-tot-s-a-baut-tot-cum-e-peste-tot-la-fel-ca-peste-tot/#selection-75.93-75.115 ☟︎
a111: Logged on 2018-08-01 03:07 douchebag: Also the security firm I'm working on is expected to pull at least a half million dollars by december
asciilifeform: diana_coman: i found in my notes from 'programming of hell' a possible pill for the async stop thing, will report once i verify that it actually cures , on the actual gnat