76100+ entries in 0.042s

a111: Logged on 2018-09-17 09:06 diana_coman: arguably it helps if others know what you are working on - perhaps one can help at some point or at least not duplicate
the effort,
that's all
mircea_popescu:
http://btcbase.org/log/2018-09-17#1850719 << she has a point you know ; i don't just mean ave1
though it's a fine example here. you folks have an excellent semaphore system, which works well and has been historically proven
to work well (not
to mention have all
the interest in "feelings" of a guillotine). it is very stupid NOT
to use it,
to eschew use it,
to miss out on using it.
☝︎ diana_coman: ah, I did not mean
torvalds!!! I meant ave1's code
mircea_popescu: diana_coman i am not reading on. i'm done with
torvalds.
mircea_popescu: schmuck. let's studiously overlook
the man hut, so we can pretend "overwhelmed by cunt hut" latger on.
mircea_popescu: !!rate
torvalds -10 "The above is basically a long-winded way
to get
to
the somewhat painful personal admission
that hey, I need
to change some of my behavior"
a111: Logged on 2018-09-17 08:00 ave1: I'm aiming at a small library with support for UDP,
TCP and UNIX sockets with direct calls
to 64bit x86 and 64bit arm plus C. So far UDP + asm 64bit x86 is done.
mircea_popescu: ave1 once he publishes later
today you can just read/patch/collaborate.
a111: Logged on 2018-09-17 09:45 diana_coman: lobbes, esthlos, hanbot, ave1 - do you have something against using categories on your blogs? I find well-defined categories
to be really helpful in finding stuff but on your blogs everything is in
the "Uncategorized" category
diana_coman: does it just block until it reads
to fill
the buffer or how does
that work?
diana_coman: ave1, hm,
the recv_from doesn't return
the length of
the received string?
diana_coman: at any rate ave1
this doesn't look bad at all in
that it is an ada layer rather
than just wrapping
the c calls
ave1: Every
time I go deep into
these
things all kinds of weirdness surfaces.
ave1: but you can also put some magic names in
there like "memory"
ave1: clobber is an inline assembly
term, it's a list of all registers
that may change during
the execution of
the inline assembly
ave1: turned out with inline asm and pointers
the memory needed
to be clobbered
ave1: this move caused a major headache as suddenly
the syscalls seemed
to not fill buffers any longer (out of every 6 invocations of getsockname about 4 would fail with empy output).
ave1: note
that all asm code was first in suckit-ip.* but I moved it
to
the syscall,
the suckit-ip stuff will move
to linux
ave1: the gprbuild project file includes different source directories based on
the platform you'll be building
ave1: Yes,
that's right,
the source for syscalls is in
the platform directory (so in platform/linux-x86_64-asm
diana_coman: ave1, if I get
the structure right
there, you have an empty root package Suckit and
then children packages net and
types;
there seems
to be also Suckit.Syscall
that I see listed as dep in suckit.types but I can't find
the source for?
ave1: this builds with
the musl gnat,
the binary from adacore and
the latests zfp.
ave1: diana_coman, code is here;
http://ave1.org/code/suckit/, everything is pretty much in flux still (even
then name could change, currently ip addresses are in network order but ports are in native order)
☟︎ diana_coman: ave1,
the basic
thing is
that it's a proper hierarchy (so each post in one (sub)category and not in 10)
ave1: now for
the well-defined part,
this I will have
to work on...
☟︎ diana_coman: lobbes, esthlos, hanbot, ave1 - do you have something against using categories on your blogs? I find well-defined categories
to be really helpful in finding stuff but on your blogs everything is in
the "Uncategorized" category
☟︎ diana_coman: ave1> I'm aiming at a small library with support for UDP,
TCP and UNIX sockets with direct calls
to 64bit x86 and 64bit arm plus C. So far UDP + asm 64bit x86 is done. -> mind publishing somewhere
this part
then?
diana_coman: arguably it helps if others know what you are working on - perhaps one can help at some point or at least not duplicate
the effort,
that's all
☟︎ ave1: For example BSD expects a 1byte length field in
the socket address structures (which is
then not used as
the interface already has a separate length argument)
ave1: Yes, I
though
that bsd sockets where some sort of standard, but it seems it has warths all over.
ave1: well, I started
this about 4 weeks or so
diana_coman: gah, null
terminator and zero starter and what next
diana_coman: ave1 hey,
that would be very useful! but honestly, why not say it earlier?
ave1: Also no UNIX sockets yet, I was reading
the documentation and came accross how linux now supports "abstract" unix sockets which have no equivalent on
the file system. Pretty big WTF all over, it's implemented by having a string start with a 0 (zero) byte.
ave1: I'm aiming at a small library with support for UDP,
TCP and UNIX sockets with direct calls
to 64bit x86 and 64bit arm plus C. So far UDP + asm 64bit x86 is done.
☟︎ ave1: I'm also working on a
thin networking layer for Ada (using direct system calls in inline assembler). I got stuck on some inline assembly details and once
that was resolved I got stuck on
the whole select/epoll/kevent support and so forth. So at
this point,
http://btcbase.org/log/2018-09-16#1850668 applies.
☝︎ PeterL: is
there a process
to get voiced in #pizarro?
mod6: Thank you, Sir. I appreciate
the invoice.
mod6: 0.04570496 BTC good asciilifeform ? (I'm using
the price point for sept for
the calc)
a111: Logged on 2018-09-14 16:42 asciilifeform: BingoBoingo, mod6 , ben_vulpes : ordered ! 308.28 orcbux ( 62.18 of'em orc fee, 37.21 -- postage,
the rest -- 8 drives and pack of 20 adhesive hedgehogs )
mircea_popescu: asciilifeform all for posting $subj,
this way minigame can just use it rather
than make yet-another-new-one
a111: Logged on 2018-09-16 15:41 diana_coman: overall
this leaves me with
the fact
that I'll have
to make my own "thin layer" with only what I need, certainly
thinner
than gnat.sockets + gnat.sockets.thin
mircea_popescu: meanwhile in other lulz,
the middle english word for "raise awareness" would be... animadverting.
diana_coman: as I dig into
them deeper, I shall know! lol
mircea_popescu: how are you going
to handle
the weird data models implied by
teh nutty syscalls in an ada proggy ?
mircea_popescu: are you going
to write an ada program
to
treat c-defined syscalls as black boxes and spit out ada acceptable output ; opr are you going
to write a c program
to
treat c-defined syscalls as compatriots and spit out ada acceptable output ?
diana_coman: sure, but what's
the point in wrapping a c call in more c code, I'm not sure I follow what you have in mind
diana_coman: myeah; I did not even pretend I *like*
to have
to do
this
mircea_popescu: half
the fucxking manual on recv deals with a) spurious extra prototypes and b) data size definition soup.
mircea_popescu: "According
to POSIX.1-2001,
the msg_controllen field of
the msghdr structure should be
typed as socklen_t, but glibc currently
types it as size_t. " and other joys of
the c world.
diana_coman: I don't know what an "ada system call" is,
to answer
that question; my aim is indeed
to wrap
them in one place so
that everything else makes ada calls and doesn't care
mircea_popescu: more specifically : what exactly is
the limit of
the "c-ness" of
the system calls ? can we pretend
they're ada system calls until
they are ?
diana_coman: mircea_popescu, it would still wrap recv and send at
the very least
diana_coman: for lulz from
the above code: -- Return highest numbered socket (what does
this refer
to???)
diana_coman: overall
this leaves me with
the fact
that I'll have
to make my own "thin layer" with only what I need, certainly
thinner
than gnat.sockets + gnat.sockets.thin
☟︎ diana_coman: moreover,
the
thin layer is in principle internal
to gnat.sockets so it's not even meant
to be directly used from outside (compiler will
throw a warning
though nothing worse
than
that afaik)
a111: Logged on 2018-09-14 16:48 diana_coman: I certainly have
to consider
that option
too if all
that gnat.sockets buys me is some bloat + streams
diana_coman:
http://btcbase.org/log/2018-09-14#1850437 -> following on from
this, I had a look in more detail at
the code for gnat.sockets; my conclusion is
that gnat.sockets has as main contribution
the streams + forcing
the weird dance with
types; underlying gnat.sockets is
the "thin layer"
that essentially wraps
the system's C functions for sockets
☝︎ mircea_popescu: meanwhile in alt coins, "Super Male Vitality is
the result of ancient wisdom reinterpreted over several years in
the light of modern equipment and analysis."
mircea_popescu: ah if only it were 1998 again, how bien
trouve shit like "hip-adjacent" would catch wings and fly! what a "dank meme" it'd have been, back before
they had a word for it.