lobbesbot: asciilifeform: The operation succeeded.
lobbesbot: asciilifeform: The operation succeeded.
a111: Logged on 2018-09-17 20:44 diana_coman: the question+kick&ban sounds good to me - kicking "silent" aka "I'm part of it because I hang about in here doing nothing" is even needed by now, I'd say; I can also see very well its usefulness for other channels; while atm #eulora tolerates the allah-spam, it could certainly do without it especially at less-quiet times
diana_coman: thanks asciilifeform! I'll read it and get back to you
diana_coman: asciilifeform, confirmed working nicely with its own tests + adapted client/server test as used previously
diana_coman: to round this whole thing up: 2 days ago it seemed I had only the gnat.sockets/ thin layer option which wasn't fit for purpose; now I have 2 more options: 1. ave1's ADA implementation of UDP sockets using directly ASM inline 2. asciilifeform's light UDP sockets lib that uses C code for needed UDP sockets calls but provides an Ada wrapper so that any code using the lib can call Ada methods only
diana_coman: for completeness, version 3. GNAT.Sockets.Thin that is an Ada wrapper on C system calls containing however questionable approaches (e.g. returning access to String so effectively a pointer but worse than this: allocating memory on the heap and leaving the de-alloc to the caller...)
☟︎ diana_coman: version 4. GNAT.Sockets that is built on top of 3. above and mainly serves to force Streams for everything
diana_coman: asciilifeform, if I understand your lib correctly, it aims to expose only a strict & minimal set of UDP calls; atm it uses C code for the actual socket part but in principle this layer could be replaced at a later time by some Ada layer while keeping the rest as it is, correct?
diana_coman: as it is, the selected minimal set of ops seems ok, except perhaps the fixed message length - I think it's more of a maximum length needed in practice, at least for current version of S.MG protocol
diana_coman: asciilifeform, any reason why your lib does not support any options at all to be set for the UDP socket?
mimisbrunnr: Logged on 2018-09-18 12:37 diana_coman: to round this whole thing up: 2 days ago it seemed I had only the gnat.sockets/ thin layer option which wasn't fit for purpose; now I have 2 more options: 1. ave1's ADA implementation of UDP sockets using directly ASM inline 2. asciilifeform's light UDP sockets lib that uses C code for needed UDP sockets calls but provides an Ada wrapper so that any code using the lib can call Ada methods
diana_coman: I can see your point there; it was literally a question to understand the reasoning behind the choice, nothing more
diana_coman: as I was saying earlier: atm the fixed packet length might clash a bit with what I need but it's not even fully clear it's not *better* to have a fixed packet length anyway
☟︎ diana_coman: asciilifeform, myeah, the actual length is likely to be different at the very least, but that's not a big issue
diana_coman: on a different note: I really had trouble coming up with a *full and reliable* set of errors that the UDP ops in linux might throw up; from linux man pages I gathered the unhelpful "all errors from IP may be returned by recv /send" - and looking at that list, it makes for a waaay bigger set than what I see you considered
diana_coman: ah, because send/recv will return -1 for error whatever it might be anyway
diana_coman: right; in terms of simplicity I can't say atm that I'm able to see anything that can be further cut off from the udp part itself indeed (the string <-> ip part doesn't seem to fit in there necessarily but that's not udp per se anyway)
diana_coman: asciilifeform, the udp lib can request it in a certain format; the rest is layered on top, I don't really see why it needs string representation or eating a string; anyways, splitting hairs on this
diana_coman: re eggogging udp on a machine, perhaps trying to send something above the UDP packet limit I'd say (it's ~64k iirc)
diana_coman: I'd expect that, yes; it was re <asciilifeform> user is told e.g. 'bind eggoged', 'send eggoged', rather than linux-specific whys ( and for that matter, on a working box udp never eggogs , i haven't even any notion presently how to make it , aside from bind()ing a nonexistent local ip)
diana_coman: it's not fully clear to me if it's something needed /desired atm; at any rate, compared to where I was 2 days ago, it's great - all of a sudden it went from "need to do this from scratch, ugh" to "there are 2 republican libs with 2 approaches, which one fits best my needs?" ; I'm rather delighted to be honest
☟︎ diana_coman: asciilifeform, ah, I forgot to mention it explicitly but yes, my tests include ave1's gnat as well as adacore's gnat; this is pretty much for any ada code I test
mircea_popescu: diana_coman: to round this whole thing up: 2 days ago it seemed I had only the gnat.sockets/ thin layer option which wasn't fit for purpose; now I have 2 more options: << it's been an epic few days! (what happened ?)
a111: Logged on 2018-03-23 04:14 douchebag: Okay, why do you guys liek arguing so much? Is this why you guys don't get anything done?
diana_coman: I guess what happened is that deedbot gave a lot of voice!!
mircea_popescu:
http://btcbase.org/log/2018-09-18#1851102 << this is such, SUCH terribly bad practice, srsly now. scope the fucking memory handling, so both ends always happen in the same context. either the caller allocates and then also deallocates, diana_coman style, or else the callee allocates and deallocates. none of this insane scope bridging jesus christ.
☝︎ a111: Logged on 2018-09-18 13:05 diana_coman: for completeness, version 3. GNAT.Sockets.Thin that is an Ada wrapper on C system calls containing however questionable approaches (e.g. returning access to String so effectively a pointer but worse than this: allocating memory on the heap and leaving the de-alloc to the caller...)
mircea_popescu: who even does this. in c of all things, what, is it a death wish that can't be otherwise expressed ?
mircea_popescu: come to think of it, if large bulks of memory have to cross call boundries, something ELSE is almost certainly fucking broken
mircea_popescu: and no "my design, in being inexistent, therefore can not be broken" doesn't work for ideal objects. THESE can be both absent and broken, pandora's blessing.
a111: Logged on 2018-09-17 13:44 asciilifeform: i'ma disagree that '~same' , but this will only be possible to explain once mine's posted.
a111: Logged on 2018-09-02 02:04 mircea_popescu: well ? how EXACTLY did the entire "torzilla development community" spring up ? what the fuck is a lindsey kuper ?
a111: Logged on 2018-09-18 13:17 diana_coman: as I was saying earlier: atm the fixed packet length might clash a bit with what I need but it's not even fully clear it's not *better* to have a fixed packet length anyway
mircea_popescu: moreover, it's not clear to me that varying the packet size AND the packet count rather than just the packet count is a wise move. it's not clear to me what it buys, especially considering there's externalities (udp packets under a certain size travel better than over ; this for technical reasons unrelated to other considerations).
mircea_popescu: what it is is certainly <1kb say. wasting the occasional portion of a kb is not so unlike wasting the occasional portion of a 64 bit register to represent a boolean value.
☟︎ mircea_popescu: people finally wised up to the fact it's insane to bitflip a single variable into the ground "to save space". i suspect ~same realisation i nthe wings re udp
a111: Logged on 2018-09-18 13:19 asciilifeform: can freely experiment, simply turn the knob ( dun forget to turn it on both ends.. )
mircea_popescu: (by soup i mean, don't send them in order of size, but in some random order each hour)
a111: Logged on 2018-09-18 13:40 asciilifeform: you'd need something like a dead iron nic.
mircea_popescu:
http://btcbase.org/log/2018-09-18#1851155 << speaking of which, what's our next step here ? 1. wanna do cpu timing/load comparisons on the two libs ? 2. say that given the nature of the task (many different folk are expected to implement clients on various platforms) thin c is better than straight asm because more widely spoken and also presumably more portable/less friable ? 3. something else ?
☝︎ a111: Logged on 2018-09-18 13:46 diana_coman: it's not fully clear to me if it's something needed /desired atm; at any rate, compared to where I was 2 days ago, it's great - all of a sudden it went from "need to do this from scratch, ugh" to "there are 2 republican libs with 2 approaches, which one fits best my needs?" ; I'm rather delighted to be honest
mircea_popescu: incidentally ave1 what was your process there ? did you compile a higher language original (what, c ?) and then desasm the resulting object code ? followed by a handpass through the result, neating & trimming things out ? or did you start with a blank page and a legal pad ?
☟︎ a111: Logged on 2018-03-29 19:02 asciilifeform: ave1: illustrated is the use of stack frame to get cmdline args; and the use of raw SYSCALL to , e.g., get file size, open it, mmap over it, then dump its contents to stdout, then close, quit
a111: Logged on 2018-09-18 14:33 mircea_popescu:
http://btcbase.org/log/2018-09-18#1851125 << incidentally, we very much want to do this. diana_coman mind setting up a large testing harness, send a soup of all packets lengths from 1 to 65536 bytes each hour back and forth for a week or two ?
mircea_popescu: seems uy to uk as fine as can be had, that's what, 3 intercons.
mircea_popescu: meanwhile at the lulzfarm, "What do you need to know about me? I'm one hell of a kind. Seriously. You might like me or not, but you'll surely not find anyone as annoying/amazing as me. I consider myself a "mystic scientist" because, what is the supernatural world but unknown knowledge? I'm an engineer, a painter, a thinker, a bookworm, a weirdo, a kinkster, a traveler, a constant horny sensualist."
☟︎ mircea_popescu: 27yo male. that you will not find anymore as X as. because this is now a thing, 20somethings are distinguishable in that absolute sense.
BingoBoingo: Meanwhile in better America the trucks carting around propaganda speakers are increasing their activity
mircea_popescu: it's not like, generation is like dropping balls, with there being a coupla boxes at the age of 0, and maybe a dozen boxes by age 6, and at MOST fifty or so boxes by age 25. and so by the law of large fucking numbers, every single fucking 25yo out there is in a class with at best MILLIONS of other, perfectly equal and entirely interchangeable balls.
mircea_popescu: more than half of them are in a box with a cardinal in nine or ten digits!
a111: Logged on 2018-09-18 15:31 mircea_popescu: meanwhile at the lulzfarm, "What do you need to know about me? I'm one hell of a kind. Seriously. You might like me or not, but you'll surely not find anyone as annoying/amazing as me. I consider myself a "mystic scientist" because, what is the supernatural world but unknown knowledge? I'm an engineer, a painter, a thinker, a bookworm, a weirdo, a kinkster, a traveler, a constant horny sensualist."
BingoBoingo: mircea_popescu: Trope of the last decade, the weirdos go deeper and deeper into weirdo porn and dysfunction their sex
BingoBoingo: Nothing stimulates them to completion anymore. Hence the "sensualist" title the perl script offered
a111: Logged on 2018-05-25 04:38 mircea_popescu: now back to fake homosexuality : human sexuality is a learned behaviour. proper homosexuality is an inability to learn, akin to dyslexia or lefthandedness. fake homosexuality is the exact contrary, a lot of "what if"ism and "provemewrong"ism and so on. a social, rather than biological phenomenon.
mircea_popescu: "Oh! Before you go, there you are: Floccinaucinihilipilification: The act or habit of describing or regarding something as unimportant, of having no value or being worthless. Doms around the world, might wanna include that one in your dirty talk when trying to be a fancy degrader. Didn't want you to leave without learning something new ;) got extra points if you actually read the whole word." << dude's seriously off in his ow
mircea_popescu: n world, where he's like smart and in control and shit. what fucking perl script, one needs wetware for this much self-referential lulz.
mircea_popescu: and that word is of course "floccinaucinihilipilification".
BingoBoingo: Sounds like what happens when you pack hot anthrax tight in a hair fillicle
mircea_popescu: sounds like what happens when you teach ustards the letters and no more. sooner or later they'll find an old translation of a greek thesaurus and start mixymatching it up.
mircea_popescu: i expect he's aware, seeing how notwithstanding he and some chicks (married to other dudes) he lists are in "antactica", the extended network of "play partners" etc eventually points to edinburgh.
mircea_popescu: "as long as the fridge works, why do i need to understand adiabatic cycles! MYSTICAL SCIENTISM CLINTON FOR THE WIN!"
mircea_popescu: i can't quite manage to find 20something dicklets offensive anymore.
mircea_popescu: i spenta while trying, but the sad truth about impotence is that sooner or later one has to come to terms with the facts of the matter. i just... can't.
mimisbrunnr: Logged on 2018-09-18 14:08 mircea_popescu:
http://btcbase.org/log/2018-09-18#1851125 << incidentally, we very much want to do this. diana_coman mind setting up a large testing harness, send a soup of all packets lengths from 1 to 65536 bytes each hour back and forth for a week or two ?
mircea_popescu: i do not think we want more moving parts than those two
mircea_popescu: it'll passively show network congestion too i think, because of the hourlies.
mircea_popescu: which may permit further 2nd pass data processing. but that -- open to reader.
diana_coman:
http://logs.bvulpes.com/trilema?d=2018-9-18#431566 -> I'm thinking of 2 there ; asciilifeform's lib also provides I think a good interface - I don't see any reason why one couldn't just change /swap the underlying .c file with ada or asm at a later date without having to change otherwise anything of whatever one builds on top of the lib (i.e. relying on the lib's interface)
mimisbrunnr: Logged on 2018-09-18 14:20 mircea_popescu:
http://btcbase.org/log/2018-09-18#1851155 << speaking of which, what's our next step here ? 1. wanna do cpu timing/load comparisons on the two libs ? 2. say that given the nature of the task (many different folk are expected to implement clients on various platforms) thin c is better than straight asm because more widely spoken and also presumably more portable/less friable ? 3. somethi
mircea_popescu: ave1 i very much hope you don't think your own work is a waste for this reason.
☟︎ diana_coman: and I actually think it is a step in the right direction since it gets rid of C
diana_coman: heh, asciilifeform has it: the way I see it, ave1's work will come in very handy at a later date when we can get rid of more of the C mess
mircea_popescu: ada threading still seems as promising as it did weeks ago. few things survive this long lol
diana_coman: fwiw, I'm also quite grateful that ave1 published it now - it pointed me to ada inline assembler (I hadn't really looked at it before!) and it gives me some time to hopefully get a bit more used to it *before* I'll need it anyway
diana_coman: asciilifeform, the timeout was the only one I hesitated on too (and the only one I'm using in the original test for that matter) but precisely like you, when I thought of it, I came up with "well, threading should be enough anyway " and uhm, no reason why it's *needed* there
mimisbrunnr: Logged on 2018-09-18 14:08 mircea_popescu:
http://btcbase.org/log/2018-09-18#1851125 << incidentally, we very much want to do this. diana_coman mind setting up a large testing harness, send a soup of all packets lengths from 1 to 65536 bytes each hour back and forth for a week or two ?
lobbes: Detailed update on step 3) referenced within: I have finished designing/building out/testing the underlying table and field structure (I ended up migrating the underlying db to postgres in lieu of sqlite, and so far am glad I did). Right now I am in the thick of the re-tooling of my old coad. Still looks to be on-track for Oct 31st delivery, but I will keep folx updated
☟︎ ave1:
http://btcbase.org/log/2018-09-18#1851208, asciilifeform was right. I used the list of system calls and read the man pages and some linux kernel code. (I've worked with the whole BSD sockets stuff for way too long but not so much directly with it in the past 10 years or so, and it has grown wraths...). Plus figuring out how to do system calls with more than 3 parameters took some work (was not hard but in relation with inline assembly made it difficult).
☝︎ a111: Logged on 2018-09-18 14:48 mircea_popescu: incidentally ave1 what was your process there ? did you compile a higher language original (what, c ?) and then desasm the resulting object code ? followed by a handpass through the result, neating & trimming things out ? or did you start with a blank page and a legal pad ?
a111: Logged on 2018-09-18 16:06 asciilifeform: as for tcp, unixsockets, etc. imho if we ever need these, they oughta live in own separate lib, given as they force somewhat different and gnarlier semantics, they do not belong in 1 gigantic 'kitchen sink' imho
a111: Logged on 2018-09-18 15:54 mircea_popescu: ave1 i very much hope you don't think your own work is a waste for this reason.
ave1: Yes, around the point were the outcalls to C are?
ave1: My current method to support different platforms (C, asm X86, asm arm) is to have implementations of the same module in different source directories and then selecting the directory to use in the project file.
ave1: AdaCore has python scripts that copy stuff for this.
ave1: Yes, depending on python is definitely not the way to go
ave1: I don't know about the different v-trees for this, I'll have to think about it
☟︎ ave1: well if the ocean is in a different file it will also no end up in the tree (only in those patches containing the file)
ave1: how would this interact with manifests? it seems to me to need regrinds when the base code has changed
mimisbrunnr: Logged on 2018-09-18 14:08 mircea_popescu:
http://btcbase.org/log/2018-09-18#1851125 << incidentally, we very much want to do this. diana_coman mind setting up a large testing harness, send a soup of all packets lengths from 1 to 65536 bytes each hour back and forth for a week or two ?
a111: Logged on 2018-09-18 16:52 lobbes: Detailed update on step 3) referenced within: I have finished designing/building out/testing the underlying table and field structure (I ended up migrating the underlying db to postgres in lieu of sqlite, and so far am glad I did). Right now I am in the thick of the re-tooling of my old coad. Still looks to be on-track for Oct 31st delivery, but I will keep folx updated
mircea_popescu: ave1 it's warts you know, not warths nor wraths (though this one's quite funny).
mircea_popescu: sing ye beedog the anger of ave the viking upon encountering bsd sockets again.
a111: Logged on 2018-09-18 18:03 ave1: I was working towards having different modules on top of a common base to support tcp / unix sockets etc. but I think your idea is way better, asciilifeform
http://btcbase.org/log/2018-09-18#1851315 mircea_popescu: imo that's a sort of herodotus bestiary item, web-footed whale.
mircea_popescu: fuck that ; trad irc client will connect in the manner lobbes is building atop trinque 's design. fucking sql queue, what.
mircea_popescu: people don't want to rewrite "traditional X" because "traditional" is always a way of saying "gui". and nobody ever wants to redo that.
mircea_popescu: especially seeing how the hood is merely drawn on, and the actual box is inside one wheel.
mircea_popescu: originally irc of today was implemented by bbs and the irc was principally a sort of edonkey, basically conversations around warez metadata.
mircea_popescu: dcc carried more ~meaningful~ discolored bits than anything else, though the later torrents far outweight it
mircea_popescu: right, so. in a sense, what passes for irc here is actually an invention of here.
mircea_popescu: yes, there is a brief nail of time where in finland irc was dating rather than bitwashery.
mircea_popescu: yeah, that was the thing "northern democracies" pantsuit meme is trying to take to the hot topic cash register.