log☇︎
77300+ entries in 0.537s
asciilifeform: most of the time i paste in a key from somewhere, there it is, from april.
mircea_popescu: on the other hand submitter support is not mandated, they fail to produce a significant portion of the input.
asciilifeform: the one obvious optimization i was considering was to avoid all dupe checks on key submit and simply deduplicate prior to each bernsteining. but this has serious cost in ui consistency, no more could submitters expect to see a result that is guaranteed to make sense after they submit.
asciilifeform: writecache, on other hand, is a major Do Not Want here, for reasons described above
mircea_popescu: asciilifeform actually a portion on a ramdisk may even be judicious.
jurov: just a side note - if using filesystem, for ACID guarantee you'd need to flush caches, too
mircea_popescu: Framedragger think for a second : modulus gets added, it's in cache, other modulus gets added, they don't get checked against each other because one was in cache, now we have two unpopped poppables in db.
asciilifeform: the thing is a 1,001-layer shit sandwich
asciilifeform: Framedragger: may as well run whole thing off a ramdisk then
asciilifeform: moreover, it's either ~completely-readable~ or 'dragons in a cave'.
mircea_popescu: well not exactly like that, but i guess that may work for a heuristic early on.
Framedragger: right. either it's completely-reliable, or NP-complete complex dragons in a cave
mircea_popescu: consider the simple case of "check values, actuate machinery" in article linked here a few months ago. it is quite fundamentally informative.
mircea_popescu: Framedragger see here's what graybeard means : i see that statement, and I KNOW there's a footnote somewhere you don't know about / bother to mention which says "except when abendstar in conjunction with fuckyoustar when it's 105th to 1095th column".
a111: Logged on 2016-12-30 05:40 phf: so if you were to produce a patch with a/old-veh.lisp and b/veh.lisp. existing vtrons will happily press it, though it's a total clusterfuck
Framedragger: mircea_popescu: consider a scenario in which you knew how much data you could lose ("up to 100 last rows"), and you could check if you lost any (last row id == last-id-processed.txt ? false : true). that being said, this way things become more wibbly-wobbly, so probably fuck that. :(
mircea_popescu: Framedragger data loss is catastrophic to a degree that can't be described, as far as phuyctor goes. if you have to also check, your workload goes up 3x at least.
Framedragger: "Note that open_sync writing is buggy on some platforms (such as Linux), and you should (as always) do plenty of tests under a heavy write load to make sure that you haven't made your system less stable with this change. Reliable Writes contains more information on this topic. " oh god. more inserts/sec but zero data loss => probably can't help you much. documentation doesn't encourage me :/
asciilifeform: mircea_popescu: tbh i had a 'what the hell is all this' reaction to reading ben_vulpes and phf vtron problemz
asciilifeform: mircea_popescu: that's a straight (and spam-encrusted) translation of an english article that was posted here ('against hardforks' iirc) a while back.
asciilifeform: but could again if i gave it a multi-GB writecache
Framedragger: "For situations where a small amount of data loss is acceptable in return for a large boost in how many updates you can do to the database per second, consider switching synchronous commit off. This is particularly useful in the situation where you do not have a battery-backed write cache on your disk controller, because you could potentially get thousands of commits per second instead of just a few hundred."
asciilifeform: (parcels are eaten by script that, presently, has no convenient pause button. and, because unix was dropped as a baby, suspending a process doesn't yield locks, so ~that~ doesn't safely work)
asciilifeform: that means i won't be trying it for couplea weeks. i don't restart db until a current parcel is through submitting.
asciilifeform: Framedragger: they aren't only inserts, every key turns into half a dozen to a dozen queries interleaved with inserts
asciilifeform: now if only i had a pill against http://btcbase.org/log/2016-07-18#1505027 ☝︎
asciilifeform: i absolutely can't have a db req returnig before disk is written.
Framedragger: busy for a bit, i don't want to cite you sth without thinking about it
asciilifeform: worth a try
asciilifeform: i even spoke with career dbists, answer was 'your application is monstrous abuse and you need a cluster' ☟︎
Framedragger: aha right. i'm doing sth else but i could later ping you with a sample postgres file which you could try out (would need db restart)
Framedragger: would still be interested to take a look, wouldn't hurt.
a111: Logged on 2016-11-21 12:48 Framedragger: asciilifeform: since i'm fiddling around with postgres for work anyway, i'm curious, if you find a moment, could you maybe send me the postgresql.conf file on phuctor's machine? i'd take a look (it's very possible you know much more re. what's needed there, but i'm just curious about a coupla parameters, doesn't hurt to check)
a111: Logged on 2016-12-30 01:20 asciilifeform: yeah but one that doesn't motherfucking grind to a halt when read 1000/sec omfg
davout: was there a discussion of the use case where one wishes to create, and sign transactions from an arbitrary set of unspent inputs? ☟︎
deedbot: http://www.contravex.com/2016/12/30/malibus-most-wanted/ << » Contravex: A blog by Pete Dushenski - Malibu’s Most Wanted.
ben_vulpes: i believe that mod6 has a solid one as well, pete_dushenski's has been blackholed of late
davout: ben_vulpes: any suggestions for such a node?
davout: i have a recent prb node on the same machine, but i'm not sure it's going to work, re http://btcbase.org/log/2016-12-29#1592875 ☝︎
ben_vulpes: davout: you will sync far more quickly if you -connect to a single, high reliability, high bandwidth node during sync
ben_vulpes: i see a new face at the back of the hall, i'm going to give them the opportunity to at least say hello and introduce themselves.
ben_vulpes: for those who *still* miss the point, joining and parting is opening and closing the squeaky doors on a hall where 5 people are arguing and 500 muffling laughter and groans
ben_vulpes: a join and an up, which is predicated on the obvious
davout: luke-jr: it's not like you *have* to idle in the chan, logs are public and if you have something to say, it's a /join away
ben_vulpes: wear a shirt with last weeks sweat stains on it, it's not like you're that important
ben_vulpes: it's like omfg even aws is barely 10us/mo for a vps you don't have to trust
luke-jr: want to donate $30k so I can get a better ISP? :p
luke-jr: I saw the link. didn't see a problem.
phf: i noticed that btcbase supports filenames with spaces in them: if you start a filename with " it will read until a closing ". i have no idea where i got this from, because gnu diff/patch don't support spaces in names.
a111: Logged on 2016-06-20 04:23 phf: which is handy if you're using something else to produce the patch, or if you need to use a non-trivial diff command. for example i sometimes need to exclude files from diffing, so a command might look like diff -x foo -x bar -x qux -ruN a b | grep -v '^Binary files ' | vdiff > foo.vpatch
phf: vdiff here http://p.bvulpes.com/pastes/r01nj/?raw=true it's the same old vdiff except if you pipe into it, it assumes you're piping in a patch, otherwise it acts as normal vdiff
phf: tee writes piped input to stdout and to a file
phf: also the old school way of making a genesis http://p.bvulpes.com/pastes/JQxyU/?raw=true
mod6: i think you maybe mean '-F' instead of '-f', it thinks 0 is a file
phf: actually that's a bad example because that'll work, but a/old.lisp and b/veh.lisp
phf: so if you were to produce a patch with a/old-veh.lisp and b/veh.lisp. existing vtrons will happily press it, though it's a total clusterfuck ☟︎
phf: patch/diff lets you have a patch with --- foo +++ bar in which case it seems to ~check if foo exists, then try and press against foo, otherwise press against bar~
ben_vulpes: would a smallest common substring test suffice here?
phf: -p1 means a/foo/bar gets pressed as foo/bar
ben_vulpes: i've been frowning at -p1 for a bit now
phf: ben_vulpes: well, we're kind of constrained by the hardcode -p1 behavior, but i've no idea if that's an implementation detail or a spec
ben_vulpes: standby, let me test a third approach
ben_vulpes: b) when working through the list of each patch's children, search through the list of patched files until the patched filepath is a subsequence of the filename as recorded in the vpatch
ben_vulpes: a) capture output of `patch' to determine which files were patched
phf: also i learned long time ago that americans* aren't taught how to argue properly, so when they do they have a really hard time keeping the thread, keeping more than one point, developing an argument, bringing it back to original point, etc. consensus intelligentsia are all very civil, so when you do get them railed up, they just flail, sort of discourages from even trying
phf: picture a spherical horse in vacuum (tm) (c)
mircea_popescu: if it starts with picture it can't be a part of this discussion.
trinque: could be. I'd like to see the design for such a thing.
asciilifeform: yeah but one that doesn't motherfucking grind to a halt when read 1000/sec omfg ☟︎
trinque: when I build things to ask the fs how many customers in new york placed orders on the weekend it starts to look quite like a relational db
trinque: asciilifeform: aside "write a data manipulation environment that provides what trinque demands" I do not see a path here.
asciilifeform: mircea_popescu: no, it is specifically 'doesn't work because ~nearly there is a cock-shaped shadow~
trinque: but if not sooner, I have orthogonal organs of database given independent life as a retirement project
mircea_popescu: asciilifeform there would be two trees not "two genesises" in his idea, he's making a tree for the site and a tree for the tooling.
trinque: that sounds like a bug, really, but the kind of bug the complexity of the thing makes hard to remove
asciilifeform: it is monumentally retarded, as a mere possibility in a system
trinque: as the shell is a user interface, in the first case
trinque: conflated in "database" is both a user interface and a programming environment
asciilifeform: my fs can eat GB/s r/w without breaking a sweat
asciilifeform: is it 1971? am i on a drum disk?
asciilifeform: why the FUCK should a READ block because ~wholly unrelated datum is being written~
asciilifeform: i've developed a loathing, inexpressible in words, for postgres and all things like it
asciilifeform: ~displaying a www page~ oughta be an O(1) op, really
trinque: I am not using html as a data storage format what the hell
trinque: there's a listening process consuming these pg_notify events, of the form (gen-nick-page "trinque") which debounces them according to some sane interval, i.e. if a few updates hit the same user in a short span, it will result in one single rebuild
asciilifeform: trinque: why would you generate the site from a db? more than once, i mean
ben_vulpes: i am very much a fan of this design
trinque: db operator has to go through and manually apply these triggers. for example, updates on either a "to" or "from" rating will require a rebuild of the nick pages in both directions.
trinque: ben_vulpes and I had an interesting conversation yesterday about how to handle static sites generated from a db. idea we ended up with was that we'd have triggers which emit a pg_notify signal when the "dirty bit" has flipped for any page.
trinque: gotta finish writing the thing that triggers granular (per-nick) updates, leaning on a full rebuild for now.
trinque: mircea_popescu: it'll be up there in a sec, let ya know
a111: Logged on 2016-12-30 00:04 phf: newline is not a non-printable
mircea_popescu: uh why do i get a 404
mircea_popescu: it's the irony of all time that while the progre press was derping about how trump will lose the election and try to turn it around into a television show, the reality turned out to be he won the election AND OBAMA is trying to turn his losership into a tv personality
phf: ffs, i resent being placed in a position of defending something that i'm not responsible nor care for. diff -e would've been closer to "teco macros", but it's the "sane teco macros" we're talking about here, etc. etc. etc.
phf: newline is not a non-printable ☟︎
asciilifeform: if there's a forbidden char or string --- that is called magic.
asciilifeform: the important thing to observe , in each case, is whether it changed semantics in a way that can be ~understood~
phf: so if you diff is called "gdiff" or whatever (because you're on bsd) it's entirely legal for it to say gdiff -ruN a b
asciilifeform: as soon as there is a viable replacement.