log☇︎
23300+ entries in 0.139s
mod6: btw... jurov and I are working on relocating the bitcoin.foundation website to the foundation's server in Pizarro. We're gonna get it set up, and test before we announce a cut-over date. Smooth transition, ftw.
mircea_popescu: in a word, ave1 : don't be shy. there's a time to be shy, but when they bring out the playdo's not that time. shove it up shirts, see what happens.
asciilifeform: afaik avoxi dun do euro, would need a 2nd vendor.
mircea_popescu: it's a thing, just like us, but anyway. next year.
mircea_popescu: this might be useful, but i'm not putting a 2nd slavegirl on this galley.
mod6: Is there a feature where it'll ring to person 1, and if person 1 does not answer, it'll roll to a different number?
asciilifeform: btw theres a (apparently phree) feature where it can go to diff receivers at different times of day
asciilifeform: i suspect it's a dns-style racket, they purchase the #s somewhere & resell
mircea_popescu: wait, wait. there's a chick with ye olde metal probes making contacts on the board ?
mod6: Ok cool, it works. I think my problem is that i dialed a "1" in front of the entire number.
asciilifeform: mod6: did it go to eggog immediately or long-tone for a while ?
BingoBoingo: mircea_popescu: This would be my first if it happens. My read is there's still time for National Party to get their shit together for the impending election. They have a celebrity MUGA candidate officially announcing in a few weeks.
asciilifeform: so if you like i can leave it on for a spell
mod6: http://btcbase.org/log/2018-10-12#1860766 << Yeah, that's kinda what I was thinking. Would be a nice to have, just in case someone gets out-of-pocket. ☝︎
ave1: the painfull part was at the start when I did not know that crc used a reversed bit order and did not understand that the initial register has to be xored with the message (and not used as a kind of prepend)
ave1: if a message is 1 byte, of the 4 bytes to append, 3 will have to be inverted (initial operation on register)
ave1: without the if; http://p.bvulpes.com/pastes/AFgkC/?raw=true. This destroys A, rotate does not.
asciilifeform: ave1: ~rotate~ A instead of shifting, then and with 1, then it'll be in the correct place
ave1: asciilifeform, Bit31 is in A, it needs to be shifted in on R
asciilifeform: ave1: and for the 'A := A xor D' , use a mux. and yer done.
asciilifeform: ave1: apply same fact in the 'if BitSet then A := A or Bit1; end if;' thing
ave1: I know, it was more a description of how my memory was playing tricks on me
asciilifeform: ave1: well it's from a later chapter
ave1: asciilifeform, I was looking for mux just now in ffa just now and I came by the add_gated which uses a different method,.
asciilifeform: anyway i dun think this is critical for any current application. but ideally would like to be able to take a checksum without leaking what-of
diana_coman: ave1, thank you, I'll look through it in more detail a bit later today
asciilifeform: http://btcbase.org/log/2018-10-12#1860785 << waitasec, we have a non-'bit' keccak somewhere ? i.e. one that doesn't require buffers to be blown up 8x , as in http://btcbase.org/patches/vtools_ksum#L76 ? i'd like this... ( and i suspect so would errybody ) ☝︎
asciilifeform: http://btcbase.org/log/2018-10-12#1860789 << imho a ~constant time~ crc32 would be useful, and can be made from ave1's with very small effort, but i'ma leave it as exercise for him ( simply dispose of the if's ) ☝︎☟︎
asciilifeform: but if i'm overwriting a 8TB disk prior to taking it to crematorium, i'd rather urandom, i dun presently have a 200M/sec rng
asciilifeform: reading a legit /dev/random ( or FG, or any other device ) is a ~blocking~ op, potentially returns in a year if you're entropy-poor , or even rich but 9000 processes want it
a111: Logged on 2018-10-12 09:00 mircea_popescu: there's absolutely no excuse for having "urandom" as a kernel signal. applications that both a) care about entropy debit over time and b) can get away with substituting shit for entropy should simply manage their entropy/shitropy interface in a dedicated thread. let it read from /dev/random, add however many bits of 11110000 they want whenever they want to and vomit the resulting cesspool as the app that spawned them demands.
asciilifeform: http://btcbase.org/log/2018-10-12#1860778 << there are not so many legitimate uses for /dev/urandom. however the idea that it can be fully reproduced in userland without kernel knob is afaik a mistake -- the thing gives you real entropy if available, and elsewise prngolade; importantly, as a ~nonblocking~ operation. idea is that it ~always~ returns in constant time. ☝︎☟︎
a111: Logged on 2018-10-12 08:40 mircea_popescu: this creates a flow issue ?
asciilifeform: http://btcbase.org/log/2018-10-12#1860762 << that was the contemplated stat(), yes. the sad is that idjit unix does not have a general-purpose 'this block of program is atomic' primitive, and so other cpu can fuck you b/w the stat() and open() call ( tho phf did find a open() flag that supposedly atomicises ) ☝︎
a111: Logged on 2018-10-12 08:25 mircea_popescu: http://btcbase.org/log/2018-10-11#1860679 << i don't get it, so you run it with a border. end of world ?
diana_coman: you might want perhaps to add a call + check to it in the tests too?
diana_coman: keeping it separate certainly makes sense (so that it's not a mandatory piece in there) but if it's code it's still basically under V that it belongs
ave1: I'll make it a vpatch later today...
diana_coman: if you make it a .vpatch, I'll sign it
diana_coman: ave1, why not add it as a .vpatch on the eucrypt tree?
mircea_popescu: there's absolutely no excuse for having "urandom" as a kernel signal. applications that both a) care about entropy debit over time and b) can get away with substituting shit for entropy should simply manage their entropy/shitropy interface in a dedicated thread. let it read from /dev/random, add however many bits of 11110000 they want whenever they want to and vomit the resulting cesspool as the app that spawned them demands. ☟︎
mircea_popescu: (but, importantly, /dev/random === /dev/urandom is a fundamental ideological patch. fuck the fucking idiocy!)
mircea_popescu: this creates a flow issue ? ☟︎
a111: Logged on 2018-10-11 19:59 phf: but it also seems that before that becomes reality we either have to patch linux kernel or implement a rng daemon or somesuch
a111: Logged on 2018-10-11 19:36 phf: asciilifeform: nah, you want a random seed always, because you're trying to avoid race by producing a least likely collision. the race will always exist between existance check and initial creation
a111: Logged on 2018-10-11 19:34 asciilifeform: phf, bvt : i thought of a possible algo for sane tmp file creation that dun need rng or global counter. 1) pick a file name in tmp dir, if none exists, take empty string, as string S 2) produce S' = H(S) , H is hash (e.g. keccak) 3) stat(S') ; if already exists, take S'' = H(S') and repeat .
mircea_popescu: BingoBoingo ahaha, ever been in a military coup before ?
mircea_popescu: http://btcbase.org/log/2018-10-11#1860679 << i don't get it, so you run it with a border. end of world ? ☝︎☟︎
trinque: phf: appears to have worked; give it a shot
phf: trinque: i've updated the key, so all you need to do is an import http://btcbase.org/data/wot/phf.asc i'm not going to do a minimization right now
bvt: i will have a look at what primitives i need for the implementation today and tomorrow, and will come back here if i get stuck on something.
asciilifeform: phf: seems like oughta work ( aside from boxes where /tmp is on nfs drive, but that's a perversity imho )
phf: tmp file gets created when you have any sort of patching operation, gets cleaned up when you no longer need it. but you could conceivably have it for the duration of the runtime. (except instead of doing file move at the end of a single file patch, you do file copy)
phf: asciilifeform: oh yeah it is, hash a bunch of random stuff, check for collision. that's the pragmatic solution. i'm talking about the take aways
phf: but it also seems that before that becomes reality we either have to patch linux kernel or implement a rng daemon or somesuch ☟︎
phf: asciilifeform: i believe that was the real conclusion of yesterday's conversation: you want easy access to a real rng from any republican process at any time, and that makes a lot of idiotic problems go away
phf: bvt: as of right now there's only one temporary file at a time during a vpatch run, so you're essentially in the same situation temp file name or temp directory anme
asciilifeform: if you have a working rng, all you gotta do is take 256 bits from it, and no need to stat() or anyffing; the chance of collision is coupla orders of magnitude smaller than asteroid flattening the machine
bvt: perhaps better way would be to create a temporary directory (for which there is atomic create-or-die) at the vpatch start, and place all temporary files there?
asciilifeform: phf: also can lock a fixed name in /tmp when incrementing counter or whatever wants to be atomic. tho imho it's ugly
phf: asciilifeform: counters exhibit exactly the same problem as a non-random seed
phf: asciilifeform: well, temp_file_name makes a temporary _name_, if you're relying on an atomic create, then you need to change the interface, where you try and create a temp file, and then bail. in that case though you don't even need any randomness. just use a counter
bvt: there is a recent linux O_TMPFILE flag to open(2), but i'm not sure we want to use that
phf: asciilifeform: nah, you want a random seed always, because you're trying to avoid race by producing a least likely collision. the race will always exist between existance check and initial creation ☟︎
phf: bvt: this doesn't need much C, it's a loop with a termination condition of not Ada.Directories.Exists(Filename), and the tricky part is the construction of said Filename. it could be a Prefix ("vpatch.") + keccak hash(salt + pid + time + ???).
asciilifeform: phf, bvt : i thought of a possible algo for sane tmp file creation that dun need rng or global counter. 1) pick a file name in tmp dir, if none exists, take empty string, as string S 2) produce S' = H(S) , H is hash (e.g. keccak) 3) stat(S') ; if already exists, take S'' = H(S') and repeat . ☟︎
bvt: i will give it a try. i'm still learning ada, will have to take a look at how strings and interfacing with C are done properly.
phf: bvt: you know you could take a stab at proper temp_file_name :> it'll have to be written anyway, to fix this bug. i suspect by the time someone else runs into this issue, a replacement will already be available.
phf: i've used a variety, including the two you mentioned. ave1's, adacore 2016 and 2018 on linux and mac
phf: well, it's also a reason why bug wasn't caught in development. a sequence of wtfs: linux man page says mktemp should be 3 or more X's, so project builds on a non-musl build. meanwhile POSIX mandates there to be exactly 6 X's, so a musl build fails to produce a random string, returning instead a blank one, which is when gnat decides to not only generate a temp file but also do cleanup.
bvt: that was a wtf moment for me, i'm not used to such service from the runtime
phf: i like that ada will create a temp file for you and then clean it up on empty string, though that's a bit too magical (the interface, not the behavior)
lobbesbot: phf: Sent 1 hour and 48 minutes ago: <asciilifeform> i recently found that lcd panel made by (defunkt) 'pixelqi co', pq3qi-01 , is still sold by chinese ( i have nfi if clones, or old stock ), ~100 $ ea; the thing toggles from 1024x600 colour/backlit into a 3072x600 greyscale reflector thing, worx with various lappies ( sadly not x60, it's a 16:9 )
phf: bvt: i think the conclusion of yesterday's thread was that using mktemp is a bad idea, and that it's better to rewrite temp_file_name to be self contained, i.e. get rid of mktemp pragma and have temp_file_name do its own random string/stat loop
bvt: 3. Musl calculates a simple hash over current time, address of variable on stack, and address of template to generate the random characters for mk*temp family of functions: http://git.musl-libc.org/cgit/musl/tree/src/temp/__randname.c#n6
bvt: 2. Ada internally uses mkstemp(3) to generate a random name when empty string is passed as filename to Open procedure.
asciilifeform: nao if only somebody still made a b&w panel with reasonable res...
asciilifeform: also somewhat unusually, there's a full datashit for the thing ( i.e. could drive with fpga; and there's a chinese hdmi/dvi board for it, ~20bux )
asciilifeform: !Q later tell phf i recently found that lcd panel made by (defunkt) 'pixelqi co', pq3qi-01 , is still sold by chinese ( i have nfi if clones, or old stock ), ~100 $ ea; the thing toggles from 1024x600 colour/backlit into a 3072x600 greyscale reflector thing, worx with various lappies ( sadly not x60, it's a 16:9 ) ☟︎☟︎
Mocky: unrelatedly, i saw the craziest thing leaving the air port. there are a lot of indian dudes around doing public works type labor jobs. landscaping, pickup up trash, construction etc. I saw one, and i swear he was mowing the grass with a chain saw, all squatted down. now maybe he was cutting something else, but there was nothing else there! and damn if the that lawn wasn't pristine as a golf course
Mocky: with >80% foreigners all speaking english, the Qataris fear becoming ESL. signage is dual language because Arabic is mandated. in 2012 they passed a law mandating universities switch from english to arabic for all degree for all degree programs other than sci/eng/med. in 2016 further law mandating arabic for gov agencies, contracts, schools
BingoBoingo is very disappointed that there is a botique named Prussia a few doors down from my building that sells women's clothing when it should be selling men's protective headgear
asciilifeform: BingoBoingo: tested in many a pit.
BingoBoingo: Then there's the all English menu at the Burger King, which is a mindfuck because it can't be used without substituting spanish vowels for the English oness
asciilifeform: what a... pitty
mircea_popescu: "It was surreal having such a minimal and distant experience of so many places I’ve only heard about before." << ahaha pretty great line.
mircea_popescu: omg a guard booth was empty!
asciilifeform: i dun really see a massive win from it, tbh
asciilifeform: hrm, apparently the 'record' pheature is a '30 day trial', aol-style, and after that is +7orcbux/mo. i'ma switch it off unless somebody reeally wants it
asciilifeform: mod6: is there a simple way to perma-voice folx in #p ?
mircea_popescu: "APOLOGIA PRO NOMINE MEO. Out of consideration (in part) to such readers as may read this book I have assumed a name by which they may refer to me (if ever he or she may wish to do so kindly) in the same manner at least twice running--a feat of pronunciation which few of my English acquaintances have performed with my natal name. But there is also another reason, considerate of the author. I have been told that there are writ
mircea_popescu: funny how rereads work! so back in 2013, i think all http://trilema.com/2013/the-doctrine-of-total-depravity/ is "religion is bs". but today -- all it really says is that protestantism has fuckall to do with any kind of abstract faith. it was attempt to organize takeover from day one and naught else. the only protestant faith really is a sort of half-republic, "this is the instrumentality of taking over". nobody among their r
mod6: I will be looking for a new place to host after my contract is up in november.
asciilifeform: BingoBoingo, mod6 : i put him in 'A' .
asciilifeform: it's a niche item, like synchrophasotron.
asciilifeform: eh imho that's a 'dog bites man'. i'm moar into 'man bites dog', i.e. ~habitable~ 'small' changes-in-physics...
mircea_popescu: and it's a fg
mircea_popescu: this'd make a great sf-ish story : archeologist in far future uncovers remains of lost intergalactic civilisation,
mircea_popescu: you're such a drama queen.
asciilifeform: oughta be a machine-halting eggog imho.