BingoBoingo: "Support our troops" took Dubya approval ratings from toilet to 80%+ Imagine what a war that ended would do!
mircea_popescu: ~nothing ?
BingoBoingo: Sure, but it would look like something.
mircea_popescu: more accurately, it'd look like what a thing that looked like something used to look.
BingoBoingo: Serious onion theory problem, but sure.
BingoBoingo: "Member when we had a white president who liked our country"
mircea_popescu: make the country of africa great again!
BingoBoingo: Rhodesian Pride!
BingoBoingo: Anyways onion is fine model for the cognitive dissonance possessed by typical USer
mircea_popescu: meanwhile in good boobjobs, https://68.media.tumblr.com/2888ccf2ba5d9102a019345292a2f603/tumblr_o0tft4FnDu1uvdst4o1_1280.jpg
BingoBoingo: A+++ surgeon
mircea_popescu: whereas in "things to brag about", https://68.media.tumblr.com/a89bb384d3e6eda25cc9f4a1d51c73e8/tumblr_nruvdiqHUv1urp005o1_1280.jpg
deedbot: deeds online
mircea_popescu: btw, whosoever wants a good dose of mosfilm in english, try "west point story". cagney's blond even.
asciilifeform: elsewhere: 'the swamp drained trump, and all is back to normal'
mircea_popescu: http://thehill.com/homenews/house/326479-freedom-caucus-member-fires-back-the-swamp-drained-tru lulz
deedbot: http://phuctor.nosuchlabs.com/gpgkey/295DCED54A7E6486B190428C6A3F5EC2D19976AC3AAA238CBB1BC0E86D7D73C8 << Recent Phuctorings. - Phuctored: 1561...9013 divides RSA Moduli belonging to '89.175.48.164 (ssh-rsa key from 89.175.48.164 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown RU)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/295DCED54A7E6486B190428C6A3F5EC2D19976AC3AAA238CBB1BC0E86D7D73C8 << Recent Phuctorings. - Phuctored: 1774...5533 divides RSA Moduli belonging to '89.175.48.164 (ssh-rsa key from 89.175.48.164 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown RU)
CompanionCube: 'An attacker within range may be able to execute arbitrary code on the Wi-Fi chip'
mircea_popescu: http://btcbase.org/log-search?q=from%3Adeedbot%20%22trilema.com&page=8 << ah check it out, soon deedbot will be celebrating 1k trilema articles fed!
Framedragger: olook our friend leah resurfaces again: https://libreboot.org/#open-letter-to-the-free-software-community
mircea_popescu: did she discover trump's birth certiuficate ?
Framedragger: bhah she's actually retracting her words so i guess not!
Framedragger: 'i fucked up and also was on drugs'
Framedragger: ok leah
scriba: Previously archived URL: http://archive.is/bJfLi (this was archived by scriba: yes)
mircea_popescu: tits for btc -> redemption.
Framedragger: :)
mircea_popescu: is this a good thing ?
trinque: maybe erdogan gassed the poar syrians
trinque: guy seems like he's gunning for sandfuhrer 2020
mircea_popescu: im kinda surprised they sat by with the mosul base did ~nothing
mircea_popescu: a look, they're all "must oust assad".
Framedragger: http://btcbase.org/log/2017-04-06#1639226 << fwiw the siphnos cacher requests index stats page every 30min now, + /phuctored and /dupes once per hour (at different times, not simultaneously). so my guess would be google et al. web crawlers :/
a111: Logged on 2017-04-06 19:00 asciilifeform: in other noose, phuctor stats now ~unloadable
trinque: simple fix is to crap out a stats page static file at interval.
trinque: or we can just wait patiently as phuctor toils for the republic
Framedragger: yes indeed, however asciilifeform's initial objection (besides other less clear unwillingness) was the requirement for phuctor to show 'live data'. which imho is not necessary.
Framedragger: especially as regards *aggregated* stats (the index stats page) - so what if it lags for up to $interval
trinque: no such thing, only varying degrees of delayed data
Framedragger: something something lightspeed
mircea_popescu: the problem was that db waits for writes to read iirc.
Framedragger: current situation is that it does that for every web request..
mircea_popescu: there is that
a111: Logged on 2017-04-07 13:16 mircea_popescu: the problem was that db waits for writes to read iirc.
asciilifeform: http://btcbase.org/log/2017-04-07#1639649 << i would like to static the whole thing, but currently have nfi how to do that while retaining the 'what are all keys with mod M ?' , 'what are all mods with factor F?' , 'search for string S in userids' etc
a111: Logged on 2017-04-07 13:13 Framedragger: yes indeed, however asciilifeform's initial objection (besides other less clear unwillingness) was the requirement for phuctor to show 'live data'. which imho is not necessary.
asciilifeform: http://btcbase.org/log/2017-04-07#1639647 << in point of fact this is not simple -- right now the thing is wholly reactive -- proggy only runs per request. and is written in a lang having no actual threading...
a111: Logged on 2017-04-07 13:12 trinque: simple fix is to crap out a stats page static file at interval.
trinque: there's already a function that renders that page...
mircea_popescu: as in, the www worker ?
asciilifeform: the use of python for frontend was a mistake. i did it to avoid having to write gpg disasmer from 0, and www liquishit from 0
asciilifeform: trinque: correct
asciilifeform: the problem is that there is simply not enough db 'bandwidth'
asciilifeform: to run it regularly and still be able to do anything else.
asciilifeform: postgres must die.
mircea_popescu: try mysql
asciilifeform: mno.
mircea_popescu: why!
asciilifeform has tried it in the past.
mircea_popescu: ah
asciilifeform: all sqltrons have same fundamental problem.
mircea_popescu: it DOES read while writing.
asciilifeform: pg also claims to. the knob did 0.
mircea_popescu: yes but i know it in fact does from you know, running trilema.
trinque: man, I've worked on pg databases that did nothing but write *and* read concurrently while sitting on a few hundred million rows
asciilifeform: who is writing 1000 writes / sec to trilema ?!
trinque: the politics of asciilifeform doth seep into the use of thing he doesn't like
trinque: no shame in that, but it's what that is
mircea_popescu whenever i do maintenances.
asciilifeform: trinque: one of these days you gotta expand on how you did it
trinque: successive aggregate calculation tables aside main table
asciilifeform: mircea_popescu: db vacuum is not a sequence of writes for the purpose of subj
trinque: can even fire the updates inside the db with triggers, so everything is transactionally accurate
trinque: i.e. counts are always correct
mircea_popescu: asciilifeform no, i on occasion do multi-row updates. such as (lolz) recently when i made every entry of the 50k items in article db read the same thing.
mircea_popescu: these can take minutes, and the site isn't down during, at all.
asciilifeform: mircea_popescu: fwiw i was not able to load trilema while this was taking place.
asciilifeform: or was that after
mircea_popescu: pretty sure you weren't able to do it after i fucked it
asciilifeform: but ues
asciilifeform: yes
mircea_popescu: table got marked crashed, so all you could load would be the comments, sorta funny half-trilema
asciilifeform: formatting disk is fast!11
mircea_popescu: lel
asciilifeform: and so is 'set all row to c'
mircea_popescu: your updates consist of "set a to b" neh ?
asciilifeform: no, if only
mircea_popescu: then ?
mircea_popescu: set a to a*b ?
asciilifeform: observe how phuctor is structured
mircea_popescu: yes...
asciilifeform: new key entered? must find if we know its mods, any of them, already
asciilifeform: and for that matter, if key is new at all
mircea_popescu: this is index search not update is it ?
asciilifeform: and yes this can be done in bursts, as mircea_popescu described a while ago. but still gotta query whole db for mods
asciilifeform: maybe i misunderstand what means 'update' ?
trinque: two thoughts, beyond which a look at the actual thing would be needed. 1) queues and workers, always 2) db acts as your queue, schema reflects the stages of work
trinque: oh and 3) rendering www is a stage of work
trinque: doing all this in the request/response cycle will kill ya eventually
mircea_popescu: a db write is either insert or update ; finding out things is usually a select. it ~may~ be worthwhile to separate your reads from the writes, because it is technically possible (thopugh i'd hope unlikely) the db is dumb enough to put write locks in for something like "update x on y" even though it should be "select y if z then update x".
asciilifeform: ^ good idea
asciilifeform puts on list.
asciilifeform: unfortunately not doable without full rewrite.
mircea_popescu: this is ~what trinque said except his is more general.
asciilifeform: and yes trinque is right, it needs multiprocess queues, etc
asciilifeform: ergo depythonization
trinque: yar
trinque: only way to deal with the nonsense that one "must" respond to allcomers "now"
trinque: on the www
asciilifeform: another gotcha is that the process that does the actual crunching is written in c and communicates solely via the db. it spends ~3min a day reading, but then ~all day checking 'do we already have this factor? ' writing it, in short bursts. but each of these bursts must show up in rss.
asciilifeform: it would not do to have them all come out at once
trinque: could get me a pg connection and I could listen for pg_notify on a trigger of that table
asciilifeform: what's that do
asciilifeform: instead of rss?!
asciilifeform: mno. i refuse to marry sql db !!!
mircea_popescu: asciilifeform trilema ~delays~ rss, you udnerstasnd me ?
trinque: k so suffer
trinque: lol
trinque: yes, send me the bursts as they happen, don't render the RSS each time
trinque: from db
asciilifeform: mircea_popescu: trilema doesn't potentially update 100 / day
mircea_popescu: no, you don't take my meaning.
mircea_popescu: go right ahead, produce a list of 5k rss items, THEN dole them out slowly.
asciilifeform: aah
mircea_popescu: have a rss queue, what.
asciilifeform: this - yes
trinque: this is www born nonsense that communication may only run one way, client can't listen for changes
asciilifeform: but again needs multithreaded proggy.
asciilifeform: that can actually do things without being prodded.
asciilifeform: and yes trinque
asciilifeform: www is fundamentally retarded paradigm
asciilifeform: http://btcbase.org/log/2017-04-07#1639625 << vanished...
a111: Logged on 2017-04-07 05:29 mircea_popescu: http://thehill.com/homenews/house/326479-freedom-caucus-member-fires-back-the-swamp-drained-tru lulz
trinque: which is why I interact with it through means that do *not* block as it does
mircea_popescu: (ftr, at least once in itgs history trilema updated 6.5k times/day
asciilifeform: the wikilicks dump?
mircea_popescu: yeh
asciilifeform: http://btcbase.org/log/2017-04-07#1639630 << also vanished?
a111: Logged on 2017-04-07 11:51 Framedragger: olook our friend leah resurfaces again: https://libreboot.org/#open-letter-to-the-free-software-community
mircea_popescu: asciilifeform re thehill : nah, they are just braindamaged. trilema works by bits, eg, http://trilema.com/2015/a-lunatic-with-a-bloodied-a takes you to article
mircea_popescu: http://thehill.com/homenews/house/326479-freedom-caucus-member-fires-back-the-swamp-drained-tru does not take you to http://thehill.com/homenews/house/326479-freedom-caucus-member-fires-back-the-swamp-drained-trump
asciilifeform: aah
mircea_popescu: because you know, HOW COULD IT POSSIBLY guess.
mircea_popescu: better do a 404 be sure.
asciilifeform: lel
mircea_popescu: typical "republican" "conservative" nonsense mindset.
Framedragger: asciilifeform: have you tried postgres index-only scans? have you tried materialised views? if not, the "postgres must die" sounds sorta surface-level, imho
asciilifeform: Framedragger: briefly describe what these do ?
asciilifeform: do they create risk of data loss ?
Framedragger: index-only scans allow to search in a table without 'touching', or 'locking' the actual rows (which may be simultaneously written-to, at the same time)
Framedragger: not afaik. these are to do with *reading* only. but trinque may chime in
asciilifeform: do they create chance of reading liquishit ?
Framedragger: materialised views - ditto regarding *reading only*
asciilifeform: what actually happens if you read a row being written
Framedragger: again, no, and as per ACID, no dirty reads (*not a bad thing here*)
Framedragger: hm.
asciilifeform: so why then is this not standard? why locks exist at all ?!
Framedragger refreshes self on https://www.postgresql.org/docs/9.1/static/transaction-iso.html
Framedragger: obtw which postgres version on phuctor asciilifeform? those two features not available in old versions. i don't remember which ver is in debian stable
trinque: materialized views are nothing more than a named query which stores its results in a table
trinque: and which you can refresh at interval
asciilifeform: a very recent one . but i'll have to get back to you Framedragger re : which
shinohai: lol Jason Dreyzehner "Head of Design" at buttpay followed me on twitter. Perhaps staring at T&A will be useful in making UI decisions.
trinque: they are useful for calculating aggregates as I was describing.
trinque: can cron the "refresh materialized view"
trinque: at sane interval
Framedragger: and ^ is effectively a cache of sorts (useful here)
asciilifeform: trinque: that sounds potentially useful. i'll have to investigate
trinque: these as queue tables for stages of work are also useful
asciilifeform: trinque: i don't like state
trinque: however it may be saner to completely divorce the algorithmic part from sql
trinque: just fart results into sql for wwwtron
asciilifeform: and i certainly don't want html in my db wtf
trinque: nobody said that
Framedragger: ...no, lol, the *results* are 'cached', you still regen html (but this is computationally trivial neh)
asciilifeform: aah yeah
trinque: so here's what relational db was supposed to be for, like bash originally had a 'supposed to be for'
trinque: it's a goddamned spreadsheet; you're supposed to compute elsewhere and then fart your results in there so somebody managerial can ask it questions
Framedragger: btw, i once screwed around with memoization in flask. iirc something can be done here as well, asciilifeform (it may be as trivial as adding a decorator before the function which handles GET request)
trinque: it grew beyond this scope the same reason bash did, or anything else that was originally a user interface
asciilifeform: Framedragger: i have it already
Framedragger: ah okok.
asciilifeform: Framedragger: problem is that the cache gotta expire some time.
mircea_popescu: trinque> materialized views are nothing more than a named query which stores its results in a table << this is a convenience not a speed-up
asciilifeform: mircea_popescu: i think he was proposing it as an ad hoc parallelism
mircea_popescu: shinohai you're prolly twitter famous.
trinque: it's a speedup for someone loading the stats page
trinque: and keeps him from reading the same table he's writing
trinque: thing's designed for parallelism yes, but of the same exact data in same spot is a big ask
trinque: move the data around
Framedragger: mircea_popescu: in materialized view, postgres can persist results of query in table-like form. so it *does* cache them; hence you can't say it's convenience only.
Framedragger: (when you query a mat view, data is returned directly from it, without touching the source live table)
Framedragger: (unless i've misunderstood horribly)
trinque: no, that is accurate.
mircea_popescu: might as well just make a proper cache table.
asciilifeform: trinque: another problem: i thought of having new submissions go to a queue, instead of main db. but! that would nuke the vey valuable 'paste in an unknown pgp key and know ~immediately~' feature.
mircea_popescu: is it immediate ?
asciilifeform: it is.
trinque: which is only a thing because www is 'daddy buy me a pony now!'
mircea_popescu: ah i always thought i should consult later
trinque: irc could just tell you when done
asciilifeform: mircea_popescu: not the phuctoring!
asciilifeform: the 'do we know it'
mircea_popescu: ah ah ah
asciilifeform: yes.
mircea_popescu: yes that's very nice.
mircea_popescu: half the time saves me the wait.
asciilifeform: aha, nice, but not compatible with queueing.
trinque: so... lol. the other insanity people commit here is starting n pythons
asciilifeform: now i can make a separate queuer just for offline subs
trinque: because GIL or whatever they called the lock
asciilifeform: but now it means two wholly separate subsystems
mircea_popescu: trinque what'd you have him do it in, c ?
trinque: oh I proposed nothing for this fractal hell!
asciilifeform: i'd luvvv to know in what to redo this
trinque: haha, but hey sbcl is threaded and hunchentoot exists.
trinque: works great
asciilifeform: trinque: you wanna write gpg parser ? that handles all cases ?
asciilifeform: it dun exist
asciilifeform: in cl
asciilifeform: remember, it also has to handle arbitrary binary garbage without misbehaving.
mircea_popescu: yeah, fuzz tip
asciilifeform: and yes, originally phuctor front end was to be a cl proggy
asciilifeform: but turns out, the necessary work is gargantuan.
asciilifeform: if i had insisted, phuctor would still be a waited-for thing
asciilifeform: instead of working-but-complained-about.
mircea_popescu: open question whether cl would be fast enough. though i know there's some people itching to answer it.
asciilifeform: mircea_popescu: python certainly isn't
trinque: python's slower, and astonishingly so when threading
mircea_popescu: there is that.
mircea_popescu: are there any known documented and running cl-anythings more or less the size phuctor'd be ?
asciilifeform: orbitz
asciilifeform: http://btcbase.org/log/2017-04-07#1639628 << 'put wifi in everything! only an unteasonable terrorist would refuse!!' -- everyone not-tmsr
a111: Logged on 2017-04-07 06:35 CompanionCube: 'An attacker within range may be able to execute arbitrary code on the Wi-Fi chip'
asciilifeform: *unreasonable
trinque: asciilifeform: if stuck on python, which I grant is practical, can't really refuse the customary sins to make it go
asciilifeform: trinque: i'd much like to get off it
asciilifeform: which is why fixes that retain it, seem like total waste of time to me ( i put a good deal of time into experimenting with db configs the last time we had this thread. and it made 0 measurable difference, for instance. )
trinque: I could tune my truck's engine all day and hauling 7000lbs vs 2000lbs will have greater effect
trinque: but I take your meaning
trinque: really the right thing to do here is sell a buncha fuckgoats, get asciilifeform rich, hire stable boy
trinque: not optimize this
asciilifeform: tbh i dun think anybody is getting rich on fg...
mircea_popescu: what's the stable boy to do ?
trinque: things that are cheap that can later be thrown away
trinque: while more expensive people continue to think long-term
trinque expects to throw away any www he builds by weight 5x over the lifetime
asciilifeform: aaaaaah looks like i gotta paste in http://btcbase.org/log/2017-02-19#1615434 again
a111: Logged on 2017-02-19 03:54 asciilifeform: (iirc we had a thread where i described how corporate ameritards, if given a problem like phuctor, would happily soak up a few $mil and megawatt of iron)
trinque: otherwise yes, compromises overrun the thing
trinque: asciilifeform: I threw away first bot, and second bot, and we sit here with the 3rd
trinque: did not burn any $mil or megawatt
asciilifeform: trinque: understand, first thing, and only thing , that a brute labourer would say re phuctor, is 'buy $mil of replication', 'use clouds', etc
asciilifeform: trinque: your bot, while very spiffy, and necessary, is not an intrinsically heavy item
trinque: nor the www part of your thing
asciilifeform: this remains to be seen
asciilifeform: that is, just how separable the light is from the heavy
asciilifeform: while retaining what must be retained
trinque: I'll close with the observation that asciilifeform's "fits in head" serves "build to iterate and throw away" very well.
asciilifeform: it does.
asciilifeform: phuctor, for instance, dropped ~half of its length each time i rewrote.
asciilifeform: imho this is proper.
trinque: aha
mircea_popescu: trinque this stable boy notion needs more thinking.
shinohai: http://btcbase.org/log/2017-04-07#1639637 <<< This is what I said to Steemit evangelist R. Hilarski a few days ago when he accused me of just hating on altcoins. "When you lose all your BTC in scams, at least your wife is kinda hot so she can come by trilema and bare her tits for bits."
a111: Logged on 2017-04-07 11:52 mircea_popescu: tits for btc -> redemption.
trinque: mircea_popescu: more clearly stated, I do not see a www as part of the algorithm of phuctor. it is one source of input where there could be many, and one output idem. with a clearly defined line between www and phuctor (even allowing for that www may require cached copies of phuctor data to operate properly), this gives you something you can nuke later and replace.
trinque: without this separation the idiocies of www will creep in, such as "must respond to user accurately and *now*"
trinque: meanwhile asciilifeform has no business adopting sql perversions as tools of thought; it would be demeaning
trinque: thus the notion of sticking someone in the www toilet, who manages commands of specific outputs and inputs, and above all keeps the shit in the shithouse
Framedragger: the 'www side can live on another server, even' degree of separation may be most easily achievable (given lack of resources to rewrite everything as of now) via pg notify / streaming replication. but maybe asciilifeform would insist that this is 'marrying the db'
trinque: and when gossipd comes around and asciilifeform can dispense with www entirely, dispense with shithouse *and* shithouse creature
trinque: clean break on both
mircea_popescu: no i don't mean that. i just mean, yes in principl;e doing something with the plebs is not a bad idea ; but the exact what and wherefore coulo use more conteplation.
trinque: ah k
Framedragger: http://btcbase.org/log/2017-04-07#1639770 << where possible, new-enough postgres will automagically perform index-only scans. `EXPLAIN ANALYZE your-query-here` output would be interesting to see here
a111: Logged on 2017-04-07 14:02 asciilifeform: so why then is this not standard? why locks exist at all ?!
asciilifeform: http://btcbase.org/log/2017-04-07#1639880 << imho this is a mistake. the presentation of results is not ~cleanly~ separable from the generation, because certain situations (dupes, or the omission of a concordance factor/modulus/key linkage) must be HARD-guaranteed not to happen
a111: Logged on 2017-04-07 14:44 trinque: mircea_popescu: more clearly stated, I do not see a www as part of the algorithm of phuctor. it is one source of input where there could be many, and one output idem. with a clearly defined line between www and phuctor (even allowing for that www may require cached copies of phuctor data to operate properly), this gives you something you can nuke later and replace.
asciilifeform: and this requires guaranteed consistency. right now i have this guarantee because there is one db, and not a multilevel morass.
asciilifeform: http://btcbase.org/log/2017-04-07#1639881 << i'll say that being able to paste in an unknown base64 pgp key and see a search result NOW, is not negotiable.
a111: Logged on 2017-04-07 14:45 trinque: without this separation the idiocies of www will creep in, such as "must respond to user accurately and *now*"
asciilifeform: it is one of the main reasons for phuctor at all.
asciilifeform: http://btcbase.org/log/2017-04-07#1639884 << is it not obvious how creating MORE things that gotta be 'nuked later' is a problem ?
a111: Logged on 2017-04-07 14:48 Framedragger: the 'www side can live on another server, even' degree of separation may be most easily achievable (given lack of resources to rewrite everything as of now) via pg notify / streaming replication. but maybe asciilifeform would insist that this is 'marrying the db'
asciilifeform: this is how winblowz ended up with bookcase-length api, people.
asciilifeform: 'haha we can always get rid of $item later', mmmnope.
asciilifeform: ~never happens.
mircea_popescu: it happens here, we got rid of all sorts of intermediate steps
Framedragger: asciilifeform: the parallel to "this is how winblowz blew up" breaks, imho, if you consider the splitting-off of www not as an addition, but as actual splitting-off, i.e., the box with phuctor on it may no longer have a www interface (just an option, i know you may be against it). if you picture it that way, it's more about modularisation vs. fixing and inflating a single monolithic thing.
Framedragger: (granted, these are just nice abstract words.)
shinohai: The conspiracy theories begin, Trump leaves the runways intact: https://pbs.twimg.com/media/C8z7QViXYAIrhtc.jpg
shinohai: Naturally, this was to appease Russia.
asciilifeform: intact ?! and somebody claims to see this from linked photo ??
shinohai: yup.
asciilifeform: Framedragger: now you're talking about having 2 boxes ? do you have an idea what the ~one~ costs ?
asciilifeform: ( ever read the s.nsa broadcast ? )
shinohai: Also, strikes were designed to create moar refugees which Trump could laugh at and turn away.
asciilifeform: lol
asciilifeform: Framedragger: think about how much complexity in the liquishit we call 'modern comp' comes from these attempted modularizations.
asciilifeform: 'oh gotta have clipboard be a separate process'
asciilifeform: 'oh disk cache gotta be separate from kernel'
Framedragger: asciilifeform: hold on. the idea was to separate reads from writes. having a separate box for www which gets updates from phuctor box, and having pg indices on it for quick search is *not* resource-intensive. i can cite examples but basically i'm quite certain that a <= 16gb memory box would suffice. phuctor box is 256 gigs yes, but it does *so much more*.
asciilifeform: Framedragger: why are you regarding the added complexity (100x what i have now!) as 'free' ?
Framedragger: of course being able to point to a working prototype would do so much more than arguments. unfortunately that would most likely require the needed modifications on the phuctor box, so a bit of chicken-and-egg.
asciilifeform: and the work of shepherding 2+ machines.
asciilifeform: not to mention their bandwidth.
Framedragger: bandwidth? bandwidth required for phuctor box would be "what's needed to send new rows to this other box".
Framedragger: bandwidth required for the www box would be ~same as what's currently needed from phuctor.
asciilifeform: Framedragger: you're talking about replication. replication, generally speaking, doesn't work. certainly not on posgres or any other free db, and certainly not without titanic sweat and inevitable increases in attack surface.
Framedragger: now, complexity management-wise.. maybe; having same person manage both boxes may not be best idea (and the alternative has its own advantages). but the current "phuctor is down, i don't know why, it's a black box" isn't the greatest example of current setup, either. (this may be a red herring, i'm not sure)
asciilifeform: understand, Framedragger, it is 600 lines, now.
Framedragger: well, i'm not that certain, but i am assuming you have more experience there with me. i will only remark that you merely need a *read slave*, not an actual mirror db which can handle writes and sync state. the syncing would go one way only. (hence the multiple references to pg streaming replication.)
Framedragger: (again tho, it's very easy to just point finger at features, so i'll gladly shut up)
asciilifeform: theoretically this can be done on one box. but -- for my enlightenment, Framedragger , describe to me :
asciilifeform: what happens when a user submits a gpg key ?
asciilifeform: under your hypothetical system
asciilifeform: where does it go ?
asciilifeform: does he IMMEDIATELY get a bookmarkable link based on the key's hash ? that he can come back to next hour, next day, next decade ? if so, how ??
asciilifeform: if the 'www db' isn't writable
Framedragger: asciilifeform: aha, right, that. i literally forgot about that lol. but wait, first we need to clear up the question about whether you want an immediate result to be shown to user upon gpg key submission.
asciilifeform: aaaahahahahahaha
Framedragger: are you absolutely unwilling to have a delay there?
asciilifeform: ABSOLUTELY
Framedragger: "but whyy"
asciilifeform: EVERYBODY thinks they're soooo much cleverer than dumb old asciilifeform
Framedragger: because gotta serve all the our democracy right here and now?
asciilifeform: 'i can make it BETTER, FASTER, STRONGER!1111'
asciilifeform: 'but does it do the same job ?' 'ummmmm didn't think of it'
asciilifeform: Framedragger: it ain't about 'demoocracy', it is about actually doing the job
asciilifeform: the job where it takes you from a base64 gpg key you found on some godforsaken usenet post, to a permanent link in phuctor
asciilifeform: which, note, replaces, e.g., sks and other heathen idiocies.
Framedragger: hold on, hold on. first of all, regarding the permalink: you can have this anyway, because the hash is computed in python anyway (i ~recall the procedure that you once gave me). so,
Framedragger: you can give permalink to user on the www read-only box.
asciilifeform: it isn't merely 'hash is computed', it shows if anyone else at any point in history ever had the mods.
asciilifeform: including the guy who submitted 5 seconds ago.
asciilifeform: think about this last part.
asciilifeform: 'but asciilifeform ! real roquefort is soooo expensive ! let's replace SOME of it with petro-roquefort'
asciilifeform: no pasaran.
Framedragger: yes that's the tricky part. my natural answer to that would be to "drop it, have user be able to come back right away - to a permalink - but results only displayed when the upstream db actually processes and inserts the new entry. (this entry would then get fed into the slave via streaming replication)"
Framedragger: however, you won't agree to drop it, i take it.
asciilifeform: aha.
Framedragger: fuckety fuck
asciilifeform: what i'ma have to do, eventually, is to replace all of the idiocy. ditch the python, ditch the sql.
asciilifeform: custom (bitwise, and using mmap) db, with fixed-length fields.
asciilifeform: and O(1) access.
asciilifeform: but this won't be happening today.
CompanionCube: would phuctor be ada-ized?
asciilifeform: CompanionCube: inevitably
asciilifeform: it's the only serious long-term pill.
Framedragger: alright. i will grant you that the end system wouldn't be "oh so elegantly simple", because you would have to have a submission queue (maybe something that trinque had in mind). user submits key; gets permalink (immediately); meanwhile key gets sent to master (immediately), and master puts it into "to be inserted" queue. under normal loads, the insertion happens ~immediately,
Framedragger: and you get your 5 seconds. if the db is loaded, it gets inserted "fast", and user is able to see results upon refresh (because when it gets inserted, update gets immediately sent to slave via trigger rule.)
asciilifeform: Framedragger: this is quite similar to what already happens.
asciilifeform: with the difference that the queueing takes place inside pg
asciilifeform: and so 'looks slow'
Framedragger: can you not picture this setup with a read-only slave, with a *separate* "give new key to master" interface (separate so that the replication doesn't become write-write but stays write-read)
asciilifeform: i can easily picture it . it is how commercial ( http://btcbase.org/log/2017-02-19#1615434 ) db work. google et al. i am specifically uninterested in taking that approach.
a111: Logged on 2017-02-19 03:54 asciilifeform: (iirc we had a thread where i described how corporate ameritards, if given a problem like phuctor, would happily soak up a few $mil and megawatt of iron)
Framedragger: (again, i did realise that the "oh very simple" angle isn't strong here)
asciilifeform: because the CORRECT answer is a sane db that isn't written by motherfucking wreckers
asciilifeform: and isn't slow as molasses.
asciilifeform: and knows how to read while writing without stepping on own shoelaces.
asciilifeform: the disk can push 150 MB/sec. if the db cannot do 150 MB/sec, it is retarded and must burn.
asciilifeform: it is -- quite obviously -- doing work that dun need doing. behind the curtain. 'for your own good.'
asciilifeform: see the userland fs thread, with the rebalances.
Framedragger: you are presenting a false dichotomy consisting of {current phuctor; $multi-mil db setup}. you propose to escape it by writing new db as the only way to escape it.
Framedragger: people are telling you that there is a setup which is better but not multi-mil. it does require planning, etc.
Framedragger: it was retarded of me to just throw keywords at you saying "that would do it".
asciilifeform: i am quite aware that 'software industry' today consists of multiple layers of shit sandwitch, each and every one of which consisted of 'great optimization! all you gotta do is add this 5000 lines of code and 40 layer tree of state that gotta be kept consistent'
asciilifeform: asciilifeform specifically does not do this.
Framedragger quite certain he would get erection from that small c program in phuctor, and that is great
asciilifeform: having two databases sounds superficially like a great thing, until you realize that the read-write thing applies just the same to the 'front' one as it does to the existing single.
asciilifeform: you are STILL stuck writing new submissions to the front.
asciilifeform: understand, if i paste a gpg key into phuctor, and cannot then ~immediately~ link to it in-chan -- phuctor is broken!!
Framedragger: but you no longer reading from the front (in the sense of sql queries), which in db-land is good for performance.
Framedragger: are*
asciilifeform: every url fetch reads.
asciilifeform: and from where, do you think, it reads ?
Framedragger: it reads from the cached copy, damnit.
asciilifeform: and the cached copy is updated when ?
Framedragger: it is updated in ~realtime from the master via streaming replication
Framedragger: which means, "whenever new row, send it off [without having to execute a new select query etc]"
asciilifeform: again, every key submission potentially affects multiple rows.
asciilifeform: because a key breaks down into moduli, fingerprints, and -- potentially -- known factors
Framedragger: that is fine, and a postgres trigger would mean that any affected row gets sent off. i do understand that new-key-addition is a db-intense process, of course
asciilifeform: and if ANY of these exist previously, incl. from a submission 5 seconds ago -- they gotta be correctly linked
asciilifeform: instead of created.
trinque: http://btcbase.org/log/2017-04-07#1639899 << imma seriously start calling this russing over the issue if we get one more of y'all in here doing that.
a111: Logged on 2017-04-07 15:30 asciilifeform: this is how winblowz ended up with bookcase-length api, people.
Framedragger: (just so i don't feel like just throwing random verbiage at you, what i mean is something like `CREATE TRIGGER setup_send_update AFTER INSERT OR UPDATE ON phuctor FOR EACH ROW EXECUTE PROCEDURE send_update);` - it wouldn't be hard to try.)
asciilifeform: which issue trinque
trinque: my proposal was to put your turdworks in a box
trinque: not let them seep all through
asciilifeform: trinque: sorta what Framedragger was discussing, neh
trinque: you *have* turdworks by your own decision to use www (which I think is reasonable)
asciilifeform: i don't presently see them as cleanly cuttable apart
asciilifeform: while retaining what i see as the non-negotiable features.
asciilifeform: (immediate linkability of newly-pasted-in gpg key.)
asciilifeform: this is not even to mention the complexity cost.
asciilifeform: or the cost of getting a 2nd box with five-nines uptime.
asciilifeform: and if you think rewriting 600 ln. of python is painful -- try rewriting 60,000. which is what is being proposed : to give asciilifeform 60,000 lines to later inevitably rewrite.
Framedragger: asciilifeform: fwiw i'd be willing to set up a read slave on 16gb dedi box (siphnos, unmetered connection) for fri, that part is not hard imho. sure, if/when decision would be made to *actually expose it to everyone*, things could be moved (and maintained by someone else), but this is one way to prototype things.
Framedragger: rewriting 60000 lines for this.. how does that follow..
asciilifeform: at one point i thought that giving it to other folx could be a reasonable thing. now i ~definitely~ do not
asciilifeform: given that i found that various otherwise reasonable people are willing to make all kinds of compromises
asciilifeform: that i do ~not~ support
asciilifeform: ( to dispense, for instance, with immediate linkability )
asciilifeform: the apparent willingness of, e.g., Framedragger , to introduce petro-cheese is quite depressing
trinque catches up on thread, 1sec
Framedragger: if people decide to compromise on things after an agreement was made not to, i mean.. fuck those people
Framedragger: asciilifeform: yeah i said some stupid things, apologies for depressing you there
asciilifeform: the performance wins described in this thread by Framedragger and trinque can only come at the cost of 1) massive increase in complexity, and in particularly state 2) loss of immediate linkability of freshly pasted keys.
asciilifeform: per my current understanding.
trinque: I find the notion that asciilifeform here is the only guy capable of adhering to own standards lulzy
trinque: if so dispense with republic, bring on teh stalin
asciilifeform: trinque: speaking strictly of this particular problem.
trinque: asciilifeform: you did not seriously cogitate on anything I sad for more than 5 seconds
trinque: *said
asciilifeform: i must point out, that i am unwilling to solve it by redefining the problem.
asciilifeform: 'oh you don't need immediate links!'
trinque: ^ find reference for this pls
asciilifeform: the dual db thing
asciilifeform: it flows inescapably from it
trinque: so you're talking to me about Framedragger's whatever, k
asciilifeform: this in re the dual-db optimization, yes
asciilifeform: trinque has entirely different algo ?
Framedragger: (i'll just note that the *permalink* can be derived on the slave box, and nowhere did i say something contradicting this)
trinque: I refuse to retype it
asciilifeform: trinque: i'ma reread the trinque lines from log.
asciilifeform: see if missed something.
asciilifeform: but meanwhile i also must address the 'stable boy' thing
asciilifeform: imho to even suggest such a thing, betrays a very serious misunderstanding of the concept. dumb humans are in every respect an inferior version of the machine. the only thing more agonizing than programming comp, is programming dumb humans.
asciilifeform: i do not need 'stable boy' for anything. there is no conceivable room, imho, for any such thing in any of my systems.
trinque: I'm not defending that because it's not what I said.
asciilifeform: maybe i misunderstood the idea ? what was meant ?
trinque: you conflate the paper delivery kid with the printing works and the writers and, and, at your own design
asciilifeform: this presupposes that the task can be cut.
asciilifeform: into 'paperboy' and 'writer'.
asciilifeform: maybe -- could. but i do not see how it can be done without losing something important.
asciilifeform: and yes, if you were to throw out the realtime query ability, you could run phuctor as a 'newspaper'.
asciilifeform: even, hell, distribute printed edition, like telephone book.
asciilifeform: but that ain't a solution imho.
asciilifeform: it's a petrocheese.
asciilifeform: and a ~very~ serious, imho, surrender. 'oh, this thing that you could do whenever you wanted in 2013? can't do it no moar.'
Framedragger: last note before i fuck off: the "user submits key; gets permalink (immediately); meanwhile key gets sent to master (immediately), and master puts it into "to be inserted" queue" + "all inserted + updated rows get sent back to slave via streaming replication and pg trigger" doesn't look like petrocheese to me. is all.
asciilifeform: Framedragger: it means that the user doesn't immediately learn the 'do we know this key?' answer.
asciilifeform: srsly.
asciilifeform: not hard concept.
trinque: the fuck is hard about whether a unique constraint bumped into something
asciilifeform: trinque: expand plox
trinque: you have a keys table, factors table, factors has a unique constraint on value column of factors, there is a join table called key_factor which joins key and factor
asciilifeform: factors get created by the werker process (in c, and unable to do anything whatsoever other than to search for whether a particular factor already exists)
asciilifeform: do to the db, i mean.
asciilifeform: it handles 3 cases : new factor of old modulus that had some known factors; new factor of modulus that had no known factors; old factor of modulus that had some known factors.
asciilifeform: trinque: what happens if a unique constraint is violated ? afaik -- query eggogs
asciilifeform: is this in point of fact any faster than running a search and ensuring that there is no eggog query submitted ?
trinque: well one sec, so you're trying to establish relationship between keys and factors in the db, yes?
asciilifeform: right
trinque: the "unique" is just an index which yes eggogs if insert happens and is already present. the eggog is just a matter of how do you want to find out about this
jurov: coinbr public announcement: there are some stuck orders, and it came at worst possible time. During the weekend I should be able to fix.
trinque: can do also: select exists(select 1 from factors where value = ?);
trinque: where value is indexed
trinque: I'm of course shooting in the dark as to what happens when in what you have.
asciilifeform: trinque: can i , purely using sql query, force it to not attempt write ( and -- importantly -- to take no locks ! ) if an item already exists ?
trinque: insert into factors (val) values (3) where not exists (select 1 from factors where value = 3);
trinque: or thereabouts
asciilifeform: thing is, it also has to update the respective mod's factors indices array
asciilifeform: ( a factor belongs to ~one or more~ mods )
asciilifeform: it can potentially belong to 10,000,001 mods.
asciilifeform: for some of whom -- we may already know it, and have it in the indices
trinque: the insert statement can return its id to a calling update statement
trinque: one sec.
asciilifeform dusts off notebook, listens to trinque
trinque: array type in db or join table?
asciilifeform: array
asciilifeform: and hey iirc i posted entire db (11 GB or so!) here...
trinque: hm, shit I missed.
trinque: know mod IDs to update at this point?
asciilifeform: which point
trinque: does this query look up the mod IDs to append their factor arrays, or does your worker already know those
asciilifeform: knows
trinque: asciilifeform: http://p.bvulpes.com/pastes/XFgif/?raw=true
asciilifeform: trinque: this looks like it does exactly same thing as my current routine
trinque: http://btcbase.org/log/2017-04-07#1640077 << was direct response to this
a111: Logged on 2017-04-07 16:48 asciilifeform: trinque: can i , purely using sql query, force it to not attempt write ( and -- importantly -- to take no locks ! ) if an item already exists ?
asciilifeform: aah
asciilifeform: i'ma have to do some rtfm, to figure out how trinque's snippet worx.
trinque: alrighty
asciilifeform: ty for taking the sweat to puzzle over this, trinque .
trinque: any time
shinohai: bn
a111: Logged on 2017-04-07 03:19 danielpbarron: !!deed http://danielpbarron.com/obsd55-cd1.iso.tar.gz.txt.asc
trinque: danielpbarron: let ya know
trinque: got 10s of gigs over there free, nah
trinque: mod6 did some pretty big ones
shinohai: I was gonna say, all those trb artifacts were huge
trinque: when we get it to work, all, far as I'm concerned
trinque: I'm getting on the previous batch of deeds that I have insufficient funds, which is bullshit.
trinque: so, gotta untwist that
shinohai: deedbot got gabriel_ladell'ed
trinque: then also danielpbarron this project with ISOs might take rewriting the downloader, will have to look at it
trinque: shinohai: loool
trinque: danielpbarron: lets work on getting those in next week
trinque: curl $url | head -n 30 looks fine
trinque: danielpbarron: seems ok, maybe my tar or gzip has the HIV
shinohai: !!up eulenspiegel
deedbot: eulenspiegel voiced for 30 minutes.
a111: Logged on 2017-04-07 16:17 Framedragger quite certain he would get erection from that small c program in phuctor, and that is great
mircea_popescu: eulenspiegel hehe not bad
mircea_popescu: http://btcbase.org/log/2017-04-07#1639987 << not exactly broken, but certainly degraded.
a111: Logged on 2017-04-07 16:18 asciilifeform: understand, if i paste a gpg key into phuctor, and cannot then ~immediately~ link to it in-chan -- phuctor is broken!!
jhvh1: eulenspiegel, who is your Daddy and what does he do?
mircea_popescu is enjoying this log.
Framedragger: mircea_popescu: i thought one of the parts was a c proggy. quite certain it is, asciilifeform mentioned it multiple times. python is the web backend afaik
mircea_popescu: ah yeah there is a part
mircea_popescu: http://btcbase.org/log/2017-04-07#1640040 << could in principle derive it and "nothing here" until backend figures out wtf is going on i guess.
a111: Logged on 2017-04-07 16:33 Framedragger: (i'll just note that the *permalink* can be derived on the slave box, and nowhere did i say something contradicting this)
mircea_popescu: http://btcbase.org/log/2017-04-07#1640045 << this is a matter of personal preference. i favour humanses.
a111: Logged on 2017-04-07 16:34 asciilifeform: imho to even suggest such a thing, betrays a very serious misunderstanding of the concept. dumb humans are in every respect an inferior version of the machine. the only thing more agonizing than programming comp, is programming dumb humans.
Framedragger: mircea_popescu: re "nothing here" the idea would be that upon user submitting gpg key, page reloads *instantly* (vs. near-instant page load on current phuctor - reloads only after key inserted into db), shows permalink and "waiting for insertion" msg; html could have property to auto refresh every second until master responds with any links to other keys. but i understand asciilifeform's reasons against this
mircea_popescu: you may snag some decidability issues (depending exactly how unique id is generated -- remember keys are not unique in this sense, kinda the point of phuctor)\
asciilifeform: http://btcbase.org/log/2017-04-07#1640141 << Framedragger is correct, there is a wwwtronic (and rfc4880-parsing) front end, that is in python; and a wholly separate werker that actually does the number crunching, in c.
a111: Logged on 2017-04-07 18:08 Framedragger: mircea_popescu: i thought one of the parts was a c proggy. quite certain it is, asciilifeform mentioned it multiple times. python is the web backend afaik
mircea_popescu: yeh.
asciilifeform: http://btcbase.org/log/2017-04-07#1640145 << folx who are good at usefully programming humanses are called mircea_popescus and we here, luckily -- do have one!!
a111: Logged on 2017-04-07 18:10 mircea_popescu: http://btcbase.org/log/2017-04-07#1640045 << this is a matter of personal preference. i favour humanses.
mircea_popescu: unrelatedly, http://trilema.com/2017/the-lordship-list-fourth-year/ << last call for this, prolly getting done weekend/early next
asciilifeform: mircea_popescu: looks good imho
asciilifeform: http://btcbase.org/log/2017-04-07#1640108 << i wonder if we hit some hidden koch limit
a111: Logged on 2017-04-07 17:27 danielpbarron: file is 682M -- maybe that's too big?
asciilifeform: ( wouldn't be the first time )
mircea_popescu: it's important to de-equivocate dumb ; there's two kinds of machine that may be casually referred to as dumb : one that is very slow (eg, z80) / one that is very demanding on the programmer (eg, windows). good programmer wouldn't really call z80 dumb, bad programmer wouldn't really call windows dumb. this directly translates to humans, there's a kind of dumb the incompetent identify mostly disjunct from the kind of dumb the c
mircea_popescu: ompetent identify.
asciilifeform: slow-but-guaranteed-correct-answer is not dumb at all.
asciilifeform: ( could be impractical -- we all die before answer is emitted -- but that ain't 'dumb' )
asciilifeform: and yes i'm familiar with 'prussian' model of command, where 'a good soldier follows directions, doesn't sit and think' etc.
asciilifeform: it has a point.
asciilifeform: but imho the logical end of it is proper mechanization.
mircea_popescu: it all depends.
mircea_popescu: no, let's also de-equivocate think. there's two kinds of think, one's a forge/reflow/examination of trees resulting in analytical consumption of inputs with actionable outputs guaranteed ; the other is a neurotic behaviour perhaps best described as spinning, whereby specific emotional triggers / detriggers are visited in succession. the prussian model was never concerned with the former in any sense, but merely aimed to elimi
mircea_popescu: nate the latter ; under the (broadly correct) assumption that a quiet head works and a loud one doesn't. this isn't so different from, eg, buddhism.
mircea_popescu: as a general rule, people who can't produce genus/difference definitions for all the symbols in their own output are better off not thinking yet, as what they think thinking is isn't.
mircea_popescu: to go back to the machine model : until you're running symbolix, don't pretend like you're computing.
mircea_popescu: and to link it to blogging : the point of blogging (daily!) is that it forces an easy and painless transition from type 2 to type 1 in the heads of the practitioners. there's no promise as to the rate of conversion, but then again that's the best you can get for painless.
asciilifeform: this is reminiscent of marksmanship training, where trainee fights his idiot reflexes -- overaiming, oversqueezing
Framedragger builds hasty internal map of 'mp type 1 is kahneman type 2, mp type 2 is kahneman type 1'..
mircea_popescu: quite.
asciilifeform: and, from what i read -- of pilotage school also
mircea_popescu: which is why prussians came up with it. fought a helluva lot of recruit idiocy to arrive to the concept.
asciilifeform: ( according to the b00k, most folx die in airplane because of ~thinking~ )
mircea_popescu: Framedragger works.
mircea_popescu: if you're wondering, mp doesn't use the reference because the introduction de novo is a paragraph, the discussion of differentiation is a book.
Framedragger: yeah this is nicely self-contained
mircea_popescu: moreover wtf was he doing he sorted them backwards!
mircea_popescu: SORTING is the most important activity of the human brain. and you should see how much trouble well experienced slavegirls encounter when their words are interpreted on a first-priority basis.
mircea_popescu: "you couldn't have meant that because if you did mean it you'd have lead with it."
Framedragger: well historically in terms of planet timespan, type 1 got our asses to here..
mircea_popescu: so ?
Framedragger: yeah i see.
mircea_popescu: you propose we also sort planets with earth in center and main sequence stars from the sun onwards ?
Framedragger: also just to note, (obvs) type 1 (mp-type 2) has its merits and is important. but yeah i got your point
mircea_popescu: expand on these merits when you will.
Framedragger: ok, shall try later on, deferring for now.
Framedragger: but you don't see merits of heuristics and biases in humans?
mircea_popescu: asciilifeform often happens, which is why people insist they follow manual and procedure, which is what opens the whole thing up to mp going http://btcbase.org/log/2015-08-24#1250375
a111: Logged on 2015-08-24 18:01 mircea_popescu: previous flight lost an engine foil, concorde ran it over, it cut a wheel, wheel exploded, large fragment of tyre hit underwing, shockwave broke a fuel tanker, fuel gushed out and caught, engineer cut the engine next, at which point they had 2km worth of runway left and needed 3 to abort.
mircea_popescu: Framedragger neither of those fall under mp1.
Framedragger: they are mp2, the one with lower ordinal, and my point was that it's still hella useful. can you employ the methodical and analytical mp1 when you touch hand on hot stove? no time to route through brain.
hanbot: !~ticker
jhvh1: hanbot: Bitfinex BTCUSD ticker | Best bid: 1193.1, Best ask: 1193.6, Bid-ask spread: 0.50000, Last trade: 1193.5, 24 hour volume: 26474.85631301, 24 hour low: 1176.7, 24 hour high: 1206.4, 24 hour vwap: None
mircea_popescu: Framedragger reflexes are not a proper subject of this discussion, seeing how we're discussing "thinking" as in, brain phenomena.
Framedragger: (but i'm probably conflating things too much, maybe you'd call such reactions something else)
mircea_popescu: i would.
Framedragger: kk. yeah i won't argue further without doing some decent mp1 thought here :)
mircea_popescu: anyway. heuristics are not involved in watching daytime drama, which is what the type 2 described above is.
trinque: comes from the spine doesn't it, or even more locally
mircea_popescu: all those shots of people both facing the camera grimacing ? 18month old baby fare.
mircea_popescu: trinque yeah, a proper reflex closes in the spine. there's opf course conditioned reflexes which close in the "brain", but not a very conscious part thereof afawk
mircea_popescu: it's iffy, human body comes out of the hackpile, inc. labs
Framedragger: i wonder how you'd categorise the 'affect heuristic' as kahneman et al. call it.; i.e., when you make decision with at least partial influence of current emotion. it's very *fast* (thereby falls under kahneman's type 1). ridiculous scenario where it's useful: i'm chased by tiger, see two paths in woods, one has sign 'DANGER' in red, i don't have time to even parse word without making decision,
Framedragger: i just decide to go with the other path.
Framedragger: horrible primitive heuristic, but useful.
mircea_popescu: i would characterise it as "they got confused on their own terminology and backported orphan chains into the story"
Framedragger: (probably bad example.)
Framedragger: :)
Framedragger: yeah i can see that
mircea_popescu: transparently, screamingly a case of "now that we got something, let's let church and state back in". hurr.
asciilifeform: mircea_popescu: re rocket attack : 'Российское военное ведомство сообщило, что были уничтожены склад, учебный корпус, столовая, шесть находившихся в ремонтных ангарах самолетов МиГ-23 и радиолокационная станция.' << not just asphalt, apparently
mircea_popescu: aha
mircea_popescu: well, 100mn in tomahawks just about worth 100mn in migs.
mircea_popescu: fair deal.
asciilifeform: https://archive.is/PH9hf << ruin pics
asciilifeform: ru pulled out of mutual air warning agreement.
mircea_popescu: yeah things are warming up a little.
asciilifeform: sam rockets, it was proclaimed, are nao fair game.
asciilifeform: mircea_popescu: in other delectable memoryholes, https://archive.is/kRRmh
asciilifeform: ^ 'daily mail' deletes 2013 article re obummer's plan for false flag gas attack in syria.
mircea_popescu: aww
asciilifeform: in other 'run moar winblowz' noose, https://wikileaks.org/vault7/#Grasshopper
mircea_popescu: http://btcbase.org/log/2017-04-07#1639939 << eh relax you.
a111: Logged on 2017-04-07 16:04 asciilifeform: EVERYBODY thinks they're soooo much cleverer than dumb old asciilifeform
ben_vulpes: https://staltz.com/an-off-grid-social-network.html and https://www.scuttlebutt.nz/ , if anyone's interested in piles of chairs anymore
asciilifeform: ben_vulpes: here's an even worse, https://mastodon.social
asciilifeform: i asked the fella who sent me the link, 'how does this beat irc?' and answered, 'but it has LOGS!'
ben_vulpes: *jazz hands*
asciilifeform: there is pretty clear effort being expended to 'heathenize' gossipd.
mircea_popescu: kek
asciilifeform: ( in the minds of the perpetrators, probably the operative historical example is hurd )
mircea_popescu: really, logs ?
asciilifeform: logs.
ben_vulpes: 500 characters per post!
mircea_popescu: http://btcbase.org/log/2017-04-07#1639945 >> well no, sks etc are "come back later and see"
a111: Logged on 2017-04-07 16:05 asciilifeform: which, note, replaces, e.g., sks and other heathen idiocies.
ben_vulpes: could possibly expose some tiny fraction of user base' actual literacy skills
mircea_popescu: ben_vulpes i find it's very important to establish aforehand what each barbie doll will wear, do or say at the dollhouse teaparty.
asciilifeform: mircea_popescu: sks does in fact find a key immediately if such is known.
mircea_popescu: 500 characters, brainstorming meeting!
asciilifeform: or at least did once.
mircea_popescu: yes, but not gives you link if not known
asciilifeform: aaah yea
ben_vulpes: there is also 'discord'
mircea_popescu: dis cord or dat cord ?
ben_vulpes: no i snipped dat cord
asciilifeform: 'Scuttlebutt is a decent(ralised) secure gossip platform.'
asciilifeform: didjaknow.
mircea_popescu: oh, wordplay!
mircea_popescu: i find wordplay a fine substitute for competent engineering. it betrays such a wordliness in the cunning linguist responsible.
asciilifeform: 'Other Projects ... Ethereum ... Zerocoin ... MaidSafe .. Solid ' didjaalsoknow.
asciilifeform: tardanoization, ever the favourite idiot gambit.
asciilifeform: server-process.js << lol
asciilifeform: looks like we can all go home and eat nagant folx!11111 a hero has risen , and written gossipd in gendercommitlang!11111
ben_vulpes: 'a hero' can an hero
mircea_popescu: lel
ben_vulpes: while we're surveying and lest anyone call us princeton, there is also http://matrix.org/
asciilifeform: 'Matrix provides state of the art end-to-end encryption in beta using the Olm and Megolm cryptographic ratchets, and ensuring that only explicitly authorized devices can participate in a conversation. Based on the Double Ratchet Algorithm popularised by Signal...'
asciilifeform: do i have to read this ?
phf: i was excited about scuttlebutt for couple of minutes. usually hacks that come out of "digital nomad" circles are at least worth looking at since they have a lot of uncommon requirements built in (must work over 14.4 dialup, etc.). until i realized it's written in javascript by a hacker with "200 packages in npm"
asciilifeform: phf: all of the linked examples thus far, fit this pattern
ben_vulpes: wake me up when they work over shortwave
asciilifeform: lol.
phf: ben_vulpes: that's easy, someone always adds a shortwave bridge.
asciilifeform: gendercommits propagate instantaneously , ben_vulpes
asciilifeform: telepathically.
mircea_popescu: asciilifeform nope
ben_vulpes: ftl egalitarianism!
asciilifeform: 'developed by Trevor Perrin and Moxie Marlinspike in 2013'
mircea_popescu: lel k
phf: it's hard to push anything interesting over shortwave though, unless you're prepared to do pirate broadcasting, because of crypto. can't broadcast encrypted stuff
mircea_popescu: "we have a lot of 3 people we keep recycling into stuff"
mircea_popescu: phf lol rly ?
asciilifeform: phf: naturally pirate, and frequency hop pattern exchanged cryptographically
asciilifeform: mircea_popescu: aha, Official amateur radio international treaty forbids crypto (and... music)
phf: you still have good old "fox hunt" though
mircea_popescu: "everything must be incompatible with fiat legal/political systems" is a fundamental requirement of republican work.
mircea_popescu: if it "obeys the law" i pointedly don't want it, and FOR THAT REASON.
asciilifeform: phf: fox hunt when transmitter walks from dc to daylight is a difficult proposition, unless you're in near field (inductive) range already
mircea_popescu: and this includes "standards".
asciilifeform: phf: likewise when it operates in msec bursts
asciilifeform: (gru knew this simple fact in 1950s. don't morse by hand, morse with paper tape rolled by clockwork, over in 1s or so. apparatus fit in suitcase.)
phf: well, they didn't print this simple fact in "young electronic" so i wouldn't know, i like the idea of msec bursts though
asciilifeform: ideally ( and this was in the gps jammer thread ) your transmitter won't be a point source, either -- but a chorus of ~synchronized~ transmitters far apart, in polygonal pattern
mircea_popescu: the idea of getting signal picked up/repeated by the old "item attached to someone else's car" is the golden ticket.
mircea_popescu: get a network of these thick enough in urban setting, an' farewell to arms.
mircea_popescu: eminently the sort of thing resisting civillian population can do with little risk to disrupt obama-gestapo.
asciilifeform: incidentally, esp8266 has an analogue-in
phf: i'm weary of things that require Wasp lifestyle though, can be done, good to be able to do it, but it's not something you can bootstrap from normal state
asciilifeform: makes an ok walkie-talkie
BingoBoingo: <jurov> coinbr public announcement: there are some stuck orders, and it came at worst possible time. During the weekend I should be able to fix. << Have some thank you cake https://s-media-cache-ak0.pinimg.com/564x/bd/cd/db/bdcddbf71f1966610be20506b082eb61.jpg
asciilifeform: phf: aha, if civilian traffic stops -- goodbye to the car transmitters
asciilifeform: but they can be deniably planted elsewhere (e.g. roofs)
mircea_popescu: phf what's "wasp lifestyle" ? white protestant ?!
ben_vulpes: fictional saboteur story
phf: you get sloppy with opsec and that 3 people team that's been drawing paycheck on your assignment for the past 4 years is going to close in
asciilifeform: aah ~that~ wasp
mircea_popescu: and get shot in the face.
mircea_popescu: what, there's a rule pigs don't bleed ?
Framedragger: btw supposedly there's a new iteration/model of esp8266, anyone has an opinion?
asciilifeform: Framedragger: i never found a bulk souce of the ~old~ one
Framedragger: ah the english word is 'successor', forgot
Framedragger: sad!
asciilifeform: Framedragger: as it is i have here a crate of 20 modulized ones. but strictly for experiments.
Framedragger: (for logs, keyword of new one is esp32)
asciilifeform: this is quite different from finding a ~bulk~ source
Framedragger: yeah i understand :/
trinque: english though impoverished has "iteration" too
asciilifeform: i.e. one where 1) they cost less than the retail model 2) linearly less with quantity
asciilifeform: 3) not attached to pcb already
asciilifeform: mircea_popescu: on contemplation, cars may not be a very good hiding place, they ( esp in usa ) routinely move through chokepoints - toll archs, and these are already equipped with camera and radio receivers
asciilifeform: would not be so difficult for enemy to determine who has one.
mircea_popescu: was $example
asciilifeform: right
mircea_popescu: let enemy invest in that, move to something else...
ben_vulpes: comms net while attractive is complex
ben_vulpes: one could rack up quite a bill just splicing cell jammers into mobile power busses, eg cars
mircea_popescu: one could also rack up quite a bill paying the wife for blowjobs.
ben_vulpes: bill /for the state/
ben_vulpes: customers complain about random outages, att/verizon/$provider wastes a pile of money doing infrastructure testing and then calls in fcc vans for triangulation rolls
mircea_popescu: http://btcbase.org/log/2017-04-07#1639964 << one of the (~the~ ?) advantage of tmsr work for intelligent folk is that there isn't a braindamaged/choiceless manager in the loop going "i know it's stupid but it must be done".
a111: Logged on 2017-04-07 16:11 Framedragger: alright. i will grant you that the end system wouldn't be "oh so elegantly simple", because you would have to have a submission queue (maybe something that trinque had in mind). user submits key; gets permalink (immediately); meanwhile key gets sent to master (immediately), and master puts it into "to be inserted" queue. under normal loads, the insertion happens ~immediately,
mircea_popescu: the immediate (not even spoken, because they don't want to say it because they don't want it discussed because they want it to be forever true) retort from the empire'd be that "well, this doesn't work". except... it does work.
ben_vulpes: anyone ever see a trb/buildroot run hang at `checking for gcc float-conversion bug...` ?
asciilifeform: not i
asciilifeform: what kind of box ? which gcc ?
ben_vulpes: powerpc, don't recall which gcc
asciilifeform: thank the nice folx who created autoconf.
asciilifeform: for this 'gift'.
asciilifeform: i've had it hang on other occasions, never found out why.
ben_vulpes: it's not strictly speaking hung afaict; cursor blinks, newlines and other chars write to term
asciilifeform: well of course they will
asciilifeform: it ain't your ~shell~ that hung.
ben_vulpes: mright
trinque: reminds me I gotta buy the HD screws for g5 cheese-grater
asciilifeform: in other noose, swedish lulz.
asciilifeform: diesel snackbar in stockholm.
phf: dat variety speak overflow
shinohai wonders if he should write an article on how an airstrike in response for killing of children results in death of 4 children ....
mircea_popescu: dead babiez meme!
mircea_popescu: http://btcbase.org/log/2017-04-07#1640078 << are you sure this is equiv to select * where something=something and if nothing is selected insert, ie, does the insert take read locks while it looks for the where ?
a111: Logged on 2017-04-07 16:49 trinque: insert into factors (val) values (3) where not exists (select 1 from factors where value = 3);
BingoBoingo: <asciilifeform> mircea_popescu: on contemplation, cars may not be a very good hiding place, they ( esp in usa ) routinely move through chokepoints - toll archs, and these are already equipped with camera and radio receivers << Depends on region and car
pete_dushenski: BingoBoingo: always depends on car!
pete_dushenski: Framedragger: new command added to directory yesterday, just fyi :)
pete_dushenski: also !~tits added!
trinque: mircea_popescu: https://www.postgresql.org/docs/current/static/mvcc-intro.html << "Internally, data consistency is maintained by using a multiversion model (Multiversion Concurrency Control, MVCC). This means that each SQL statement sees a snapshot of data (a database version) as it was some time ago, regardless of the current state of the underlying data. This prevents statements from viewing inconsistent
BingoBoingo amazed by fake news wank over Assad dropped sarin vs. Assad bomed, sarin happened to be in bomb's way
trinque: data produced by concurrent transactions performing updates on the same data rows, providing transaction isolation for each database session. MVCC, by eschewing the locking methodologies of traditional database systems, minimizes lock contention in order to allow for reasonable performance in multiuser environments."
mircea_popescu: i am not advanced enough for this
trinque: and "reading never blocks writing and writing never blocks reading"
BingoBoingo: Trump needed contrast to Obama/watches too much television, and needs a pretext to come into friendship with Putin honestly if MWGA is to happen
shinohai: http://btcbase.org/log/2017-04-07#1640351 <<< lol thx pete_dushenski
a111: Logged on 2017-04-07 21:53 pete_dushenski: also !~tits added!
trinque: the thing forks the database upon each write and reads happen in the snapshot of state they began
mircea_popescu: trinque so an insert if not exists where a = b does NOT block a different select while it checks the where clause ?
trinque: absolutely not per my understanding of pg
mircea_popescu: alright.
trinque: two writes may
trinque: n writes.
mircea_popescu: wait
trinque: if you and I are trying to update the same table your update may block until after mine
pete_dushenski: shinohai: cheers :) also (belatedly) wd on lordship nomination! very well deserved
mircea_popescu: suppose S = "insert if not exists where a = b" prototype. suppose S takes time T composed of ti for the insert and tw for the where clause. Suppose thjere's 5 concurrent S presented to db, S1..S5. are you saying that IN NO CASE will Sn wait for a Twi where i != n ?
mircea_popescu: ie, s5 is NOT waiting to do EITHER its insert or its where check because S3 is doing EITHER its insert or its where check ?
shinohai: ty pete_dushenski ... gonna buy me a celebratory mercedes? :)
pete_dushenski: haha well mine is for sale... could always gift. can you give me a tax receipt for your needy cause ?
shinohai: Hmmm .... the foundation for the preservation of slutty tits ?
pete_dushenski: it'd be discriminatory NOT to give to that cause!
shinohai: And selling the mercedes! O.o
pete_dushenski: making room for more nazisleds ;)
shinohai: Oh ha .... werd
pete_dushenski: but the replacement is still hush-hush. stay tuned.
trinque: mircea_popescu: reads block nobody, never block. I understand the where clause of an insert statement to be a condition on a read query that gets fed into a write, just as my "common table expressions" ('with' keyword) feed into each other.
mircea_popescu: aite.
BingoBoingo awaits pete_dushenski's eventual conversion to plasticar and panel replacement that requires only a good flat head screwdriver
trinque: http://p.bvulpes.com/pastes/VBOWD/?raw=true << values part of an insert is a table literal
trinque: equiv to select 1,2,3 ; and you can use that if you like
trinque: http://www.reuters.com/article/us-mideast-crisis-syria-russia-medvedev-idUSKBN17928I << in other concurrency issues
pete_dushenski: BingoBoingo: only 'domestic' i'd touch is f-150. new citroen 'h van' is my kinda plastic though. frp. tres retrocool aussi.
BingoBoingo: Bah
trinque: by the nato precedent set by turkey, I'd expect russia can down an american plane or two without risking a nuclear exchange, eh?
pete_dushenski: in other boosts, asicboost is back as the segwit saviour : http://archive.is/1BYAX (gmaxwell)
pete_dushenski: trinque: russia could down 1/16 us aircraft carrieres without risking nukage.
asciilifeform: pete_dushenski: this is an ancient (circa 2014 or so) snorefest
pete_dushenski: asciilifeform: apparently snores are fuel for core lulz. like logs in fire.
ben_vulpes: !~tits
jhvh1: ( . Y . ) http://trilema.com/2014/ill-pay-for-your-tits/ ( . Y . )
ben_vulpes: oh
ben_vulpes: i was hoping for a bait reimplementation
pete_dushenski: why hope when you can read directory ?
ben_vulpes: i'm not going to crack a web browser when the bot's right there
pete_dushenski: https://medium.com/@samcole_74219/asicboost-655a73d48ae4 << more of the same sadness as above. strap double gas mask on for this one. 'sam cole founder of kncminer' is functionally illiterate.
pete_dushenski: ben_vulpes: mk.
pete_dushenski: "Well I was a major miner for over two years and I lost out because other people had a lower CoC. I had to say goodbye to a business that I built from the ground up. I’m not calling fowl play and throwing my toys out of the pram. Its called business and its what enables people to invest in bitcoin." ~sam cole (tm). so fowl. so chicken. cluck cluck!
pete_dushenski: it can't really be any wonder that knc sunk. not after reading this.
ben_vulpes: asciilifeform: 'twas 4.7
asciilifeform: gcc?
ben_vulpes: mhm
ben_vulpes: compiling 4.9 here, will try again.
ben_vulpes: honestly i'll be surprised if it compiles
asciilifeform: oh unrelatedly to anything,
asciilifeform: asciilifeform finally found a rng-usable beta decay source that is permitted in every country's post office, available worldwide, and for a few bux per kg : ordinary KCl.
asciilifeform: K consists of K-40 at 120 ppm
asciilifeform: half life ~1.3 x 10^9 yrs.
pete_dushenski: BingoBoingo: before you totally bah at frpmobile http://archive.is/MfHrx
pete_dushenski: asciilifeform: cost for kcl ?
asciilifeform: pete_dushenski: check your favourite grocery shop
pete_dushenski: eh, minibucks don't buy much. prolly 2x what you'd pay!
asciilifeform: or anywhere gardening supplies are sold
asciilifeform: or weight lifter's shop
asciilifeform: or, or.
asciilifeform: in usa it is sold as 'diet salt'
pete_dushenski: looks like ~$100/kg on scamazon
asciilifeform: in what, zimbabwe dollars ?
ben_vulpes: https://www.amazon.com/Potassium-Chloride-KCl-10-Pounds/dp/B008NX3SU0/ref=sr_1_2?ie=UTF8&qid=1491605341&sr=8-2&keywords=kcl << 27.99
ben_vulpes: 10 lbs
pete_dushenski: asciilifeform: cad, so close
asciilifeform: that looks like ~6 $ u.s / kg.
pete_dushenski: cheapest kg i'm seeing is cad$20+40 for shipping = cad$60
asciilifeform: buy at corner store.
pete_dushenski: sure sure
asciilifeform: anyway entire bag would power several thou. pin diode
deedbot: http://www.contravex.com/2017/04/07/installing-openbsd-on-macppc/ << » Contravex: A blog by Pete Dushenski - Installing OpenBSD on MacPPC
pete_dushenski: ^eventually got it :D
asciilifeform: lolwut
shinohai: Now you make me want to buy one of these ppc's pete_dushenski
pete_dushenski: that's exactly my scheme to bid up the prices of g5s. bwahaha!
shinohai: >:3
pete_dushenski to go skate on nhl ice.
shinohai: In batshit crazy racial news: http://archive.is/BxMbu
asciilifeform: https://www.orau.org/ptp/collection/consumer%20products/magazines.htm << in other lulz
shinohai: https://twitter.com/MrChrisEllis/status/850496261870546944 "conspiring with top brass" lmfao
asciilifeform: http://btcbase.org/log/2017-04-07#1640411 << lol, gasenwagen! , compare >> https://pbs.twimg.com/media/CdGLqV_WEAAEIrz.jpg
a111: Logged on 2017-04-07 22:45 pete_dushenski: BingoBoingo: before you totally bah at frpmobile http://archive.is/MfHrx