The lord hath no fury like a keyboard monkey scorned, a Beschaulich vpatch saga.

 

Motto : mentally you should budget about a year in between the first
“hey ima program something” and shit you do finally starting to make sense to others.

~~Less than three months later, and over the course of five Beschaulich days~~ i

–> pete_dushenski (~pete_dush@unaffiliated/pete-dushenski/x-8158685) has joined #trilema-mod6
— Topic for #trilema-mod6 is “Log: http://logs.bvulpes.com/trilema-mod6″
— Topic set by mod6 (~mod6@unaffiliated/mod6) on Fri, 27 Jan 2017 17:58:18
— Channel #trilema-mod6: 8 nicks (1 op, 5 voices, 2 normals)
— Channel created on Fri, 01 Jul 2016 14:53:09
— Mode #trilema-mod6 [+v pete_dushenski] by mod6
pete_dushenski greetings and salutations!
mod6 welcome!
pete_dushenski see you back here tmrw afternoon for some grinding lessons eh
mod6 yup.
mod6 we’ll go through the whole thing
diana_coman fwiw my box (vanilla) is at 390232 with 4 connections now
diana_coman but I can totally see how asciilifeform got fed up with the idiotic nodes: it seems to gradually slow down until one needs to restart it; a sort of windows-style btc I supposeii
diana_coman being so far though, now I’m kind of curious whether/how long it takes to fully sync
mod6 ya. werd.
mod6 it didn’t used to be this bad until like last fall iirc
mod6 pete_dushenski: yoh, will be around a bit later. gotta eat dinner etc.
shinohai hiya pete_dushenski … nifty contravex article today btwiii
mod6 current dedi box sync update:
mod6 “blocks” : 247565,
mod6 “connections” : 11,
mod6 eatblock test is @ 452222 and into block 50
mod6 so that should be don here shortly too
pete_dushenski mod6: sounds good! i’ve got a bit of time now. i also have a new dedi spun up and ready to go for the occasion. looking forward to breaking it in!
pete_dushenski shinohai: haha thanks
mod6 alright.
pete_dushenski ok here we go
mod6 pete_dushenski and I are gonna walk through some regrind stuff for recent patches.
pete_dushenski mhm!
mod6 To begin with, read here.
mod6 http://p.bvulpes.com/pastes/DFJb4/?raw=trueiv
mod6 ^ this is exactly what should be setup in order to start rebasing on top of v054+privkeytools
mod6 (at the end of the paste there, for some reason after I pulled out the GPG signed material from the deed, it seems that it’s got an 0d0a in there, so i needed to `dos2unix` this thing.
mod6 ah dang, actually, think that copy didn’t end up right at the end either.
mod6 one sec.
pete_dushenski ok. i actually got stuck at the first press to makefiles.vpatch “pressed file hash did not match expected”
mod6 wat. ok, paste entire thing
pete_dushenski http://p.bvulpes.com/pastes/394dG/?raw=truev
mod6 root@ns399440:/home/constantine/trb# ./v.pl p v v054-wPrivKeyTools makefiles.vpatch
mod6 genesis.vpatch sh: patch: command not found
mod6 what does `which patch` say ?
pete_dushenski which which patch ?vi
mod6 `which patch` is a command that should show you something like this:
mod6 mod6@mod6-asus:~/foundation/regrinds$ which patch
mod6 /usr/bin/patch
pete_dushenski mine’s showing… nothing. no response to command.
mod6 im confused about why this is failing for you. do this: `uname -a`
pete_dushenski Linux ns399440.ip-37-59-43.eu 3.14.32-xxxx-grs-ipv6-64 #9 SMP Thu Oct 20 14:53:52 CEST 2016 x86_64 GNU/Linux
mod6 what is this thing? haha. this seems strange to me, anyhow. which ‘distro’?
pete_dushenski debian7
mod6 try `patch –version`
pete_dushenski bwahahah ok so it was a fresh box and i didn’t have ‘patch’ installedvii
mod6 ok. gotcha. next question was going to be “is new box? have ever built trb on here before?” not that you need gcc for this, etc, just was curious.
pete_dushenski there could well be more such comedy goldmines ahead. be forewarned all who dare approach!
mod6 an `apt-get install -y patch` should do the trick, i think
pete_dushenski ya, got it. patched now. continuing!
mod6 ok. so hang on a sec. let’s do this right.
mod6 now that you have the correct flow…
mod6 `rm -rf v054-wPrivKeyTools`
mod6 then
mod6 `./v.pl p v v054-wPrivKeyTools makefiles.vpatch`
mod6 should get you a clean press.
pete_dushenski done.
mod6 ok good. sec.
mod6 `rm -rf a b`
mod6 `cp -pr v054-wPrivKeyTools a`
mod6 `cp -pr v054-wPrivKeyTools b`
pete_dushenski done.
mod6 ok, next, do you have a proper working vdiff on there?
pete_dushenski i’m sure not. i’ll grab it. just a sec.
pete_dushenski http://therealbitcoin.org/ml/btc-dev/2015-September/000168.html << for logs
mod6 ok. if you grab it from the link on thebitcoin.foundation, you’ll have to rip out the PGP stuff in there and leave just the script.
mod6 beyond that, i had to `dos2unix` mine, so you may need to install `apt-get install -y dos2unix` or whatever and then `dos2unix vdiff.sh`
pete_dushenski ok done.
mod6 ok now if you do `./vdiff.sh a b` should result in nothing output
mod6 a & b are the same
mod6 if you `ls a`, there should be a ‘bitcoin’ dir directly underneath
pete_dushenski right.
mod6 same with `ls b`
pete_dushenski yessir.
mod6 standby
mod6 nice
mod6 just looking at something here, hang tight
mod6 im going through these with fine-tooth comb
mod6 can you get to the ML??
mod6 looks to be down for me all of a sudden
pete_dushenski works here.
mod6 weird
mod6 ok nm
mod6 works now. o.O
mod6 can you get to: http://therealbitcoin.org/ml/btc-dev/2017-February/000253.html ?
mod6 or http://therealbitcoin.org/ml/btc-dev/2017-February/000254.html ?
mod6 I’m getting such:
mod6 ERROR
mod6 The request could not be satisfied.
mod6 CloudFront attempted to establish a connection with the origin, but either the attempt failed or the origin closed the connection.
mod6 Generated by cloudfront (CloudFront)
mod6 Request ID: xPbYw6VESu1w8w7Lq-zfROkJQG-cN2XTM_8zYrK6uoa0PWKU5PN8kQ==viii
pete_dushenski first one, yes. second one, yes.
pete_dushenski first : http://archive.is/SkwBB
pete_dushenski second : http://archive.is/OUUCn
mod6 weird.
mod6 ok, so what I’m seeing… so far.
mod6 is that the first regrind that is necessary is for ‘asciilifeform_blocktimer.vatch’
mod6 see here:
mod6 http://p.bvulpes.com/pastes/9IvIv/?raw=trueix
mod6 note the flow. that privkeytools, goodbyepingers, and wires are there.
mod6 if we patch through the entire flow, it comes through clean.
mod6 now, where i get a problem is on the next one, ‘asciilifeform_blocktimer.vpatch’
mod6 so let me do somethin here and see if I can get it reground.
mod6 i have removed my original ‘a’, and ‘b’ copies, you don’t need to do the same.
mod6 just letting you know here…
pete_dushenski ok. adding wires and pingers.
mod6 http://p.bvulpes.com/pastes/am8b7/?raw=truex
mod6 so you can see, that here, when I have privkeytools, gb-pingers, and wires_rev1 pressed, then i manually patch in alf’s blocktimer, i end up with a different outcome for shas than his.
mod6 now, mine should work here… but now we run into a bit of a hurdle.
mod6 the new rules for V are such that any unsigned vpatch is simply ignored.
mod6 we could just continue on, without testing the clean press of newly ground vpatch as we go….
mod6 but i’m running out of time here tonight.
mod6 so I suggest that we leave off here for tonight, and pick it back up. anything that I do tomorrow, I’ll log for you.
pete_dushenski sounds like a plan :)
mod6 (if you’re afk while i do this)
mod6 ok. cool. :]
mod6 anyway, thanks for taking the time to learn this process.
pete_dushenski hey my absolute pleasure. thanks for takin me under your big wings!
mod6 no worries man. ttyl.
mod6 night!
pete_dushenski mod6: another headscratcher for when you return http://p.bvulpes.com/pastes/mtEE5/?raw=truexi
pete_dushenski i later tried patching manually, which… worked. but not sure why ‘wires’ didn’t want to show up in my flow.
pete_dushenski hm. upon review, patching manually didn’t work either, at least not using http://p.bvulpes.com/pastes/am8b7/?raw=true as a guide.
pete_dushenski but it’s late and these eyes had a long day. this might be another mark up on the ‘computers aren’t predictable instruments like cars or tractors’ boardxii but i might just be missing something simple.xiii
pete_dushenski “patching file bitcoin/src/util.h Hunk #1 FAILED at 117.” << error when attempting to patch manually
pete_dushenski hmmm. double hmmmmm. all other patches up to ‘reads’ show up in flow when added. just ‘wires’ that seems to have a mind of its own. would love to hear some theories on this in the morrow.
pete_dushenski pressing to ‘reads’ doesn’t work, of course, but this was to be expected and very much the point of this whole regrinding exercise.
pete_dushenski anyways. to bed!
asciilifeform for fucks sake
asciilifeform pingers patch IS OBSOLETE
asciilifeform LOSE IT
asciilifeform ( it did nothing useful at all )
asciilifeform it will break your flow, and disconnect OTHER TRB NODES omfg.
asciilifeform http://btcbase.org/patches?patchset=deprecated&search= << see also.
shinohai Did shiva just die in the lab? I rly liked that one
asciilifeform shinohai: it was theoretically supposed to replace the json idiocy
asciilifeform but turns out that nobody has the time/inclination to properly audit and ‘assimilate’ tinyscheme; and make proper hooks, etc.
asciilifeform fwiw asciilifeform is no longer actively working on ~improvements~ to ye olde cpp trb, except as necessary to maintain node continuity (e.g. ‘wires’)
asciilifeform the cpp hairball does not have a long-term future, this seems quite clear to me.
mod6 pingers patch IS OBSOLETE << ah that’s right. fwiw, im not compiled with that on any of mine either.
mod6 mod6: another headscratcher for when you return http://p.bvulpes.com/pastes/mtEE5/?raw=true << the head scratcher here is that the .sig file for
mod6 asciilifeform_wires_rev1.vpatch
mod6 is named ‘asciilifeform_wires_rev1.asciilifeform.sig’
mod6 which won’t be found. do `mv .seals/asciilifeform_wires_rev1.asciilifeform.sig ./seals/asciilifeform_wires_rev1.vpatch.asciilifeform.sig` and then this should go away:
mod6 HEAD: asciilifeform_wires_rev1.vpatch not found in flow
mod6 I DO suggest that you check your flow ~before~ you press, every time, however.
mod6 fwiw asciilifeform is no longer actively working on ~improvements~ to ye olde cpp trb, except as necessary to maintain node continuity (e.g. ‘wires’) << i understand. trbi is the future.xiv
mod6 the cpp hairball does not have a long-term future, this seems quite clear to me. << until trbi hardfork, we’ll keep on at least with maint.
asciilifeform aha. is what i meant re ‘node continuity’
asciilifeform ( see also http://btcbase.org/log/2017-03-14#1626921 thread. )
mod6 aha, thx
pete_dushenski mod6: right you are on the rev1.sig. fixed.
mod6 ok
mod6 im looking at some things here as i can… it’s a bit on/off as im getting pinged by salt mines.
pete_dushenski all good. i’ll have to head out for the day shortly as well. this evening looks promising tho.
mod6 ok sounds good, i’ll probably have somethig for us by then. cheers!
pete_dushenski mod6: updated alf’s key and still getting INVALID SEAL error for ‘wires’ >> http://p.bvulpes.com/pastes/q6xkp/?raw=truexv
asciilifeform pete_dushenski: sha512 of the patch and the sig plox
mod6 pete_dushenski: also, do this: `v.pl v`
mod6 err, `./v.pl v`
pete_dushenski mod6: Version: 99994 K
pete_dushenski asciilifeform: momentito
pete_dushenski patch : ef7b372fc778269b1ab988f969f86b11d147e3fb3fbd2cd30f9f928d6f488cd552b86f558bf119241f3aea448de73f9f1c30d76e02118a4e3384f8c28edce31d
pete_dushenski sig : 3324b96d45a2f0dc041e772ab20ae1fe4da01330a004ba3f7c9311edd82c097b43d53e9b2c39c24ffcfcaa7f9bf0d31e37c2866d939836165f8fb9d67b8ac881
pete_dushenski straight from http://therealbitcoin.org/ml/btc-dev/2017-February/000251.html
pete_dushenski was how i obtained them.
mod6 mine works, and i’ve got these:
mod6 trb-v054-wKeyTools-wWires-wBlkTimer-wBHReveal-wBHOdometer
mod6 shit
mod6 mod6@mod6-asus:~/foundation/regrinds$ sha512sum patches/asciilifeform_wires_rev1.vpatch .seals/asciilifeform_wires_rev1.vpatch.asciilifeform.sig
mod6 37b081d5bf6f4c38567fd08e90f61ef3c1594da89df80351000b78e2ccee4960bbd07f7065c6bb7bab1ce54914de97373e130dcd82bebed7c9668bfeeb7df2b4 patches/asciilifeform_wires_rev1.vpatch
mod6 3324b96d45a2f0dc041e772ab20ae1fe4da01330a004ba3f7c9311edd82c097b43d53e9b2c39c24ffcfcaa7f9bf0d31e37c2866d939836165f8fb9d67b8ac881 .seals/asciilifeform_wires_rev1.vpatch.asciilifeform.sig
mod6 looks to me like you have a munged seal
pete_dushenski patch rather
mod6 ah, ya
mod6 remember, one can always validate this outside of V
mod6 can do `gpg –verify thenameofthepatch.vpatch.wotguy.sig thenameofthepatch.vpatch` and see too.
pete_dushenski just validated wires patch outside v (on another box) and it gives the same sha512sum as the one you have
pete_dushenski aha got it now.
pete_dushenski 6th time’s the charm.
asciilifeform pete_dushenski: do me a favour, diff your broken seal with the proper one
asciilifeform see how/why it got munged.
pete_dushenski asciilifeform: http://p.bvulpes.com/pastes/ePB84/?raw=truexvi
mod6 that’s weird.
asciilifeform aha!
mod6 did you try to edit the vpatch or something?
asciilifeform he must’ve
asciilifeform i dun think i ever published one like this ( it wouldn’t compile, for one thing. )
pete_dushenski ‘munged’ was copy-n-pasted with cat. ‘non-munged’ was curl’d.
mod6 hm, ok.
mod6 well, V did it’s job anyway.
mod6 told you that shit was fubar
mod6 solid test
pete_dushenski quite.
pete_dushenski i’ll be back online tonight to continue our lovely journey through the folds of vtime and vspace. cheers!
mod6 heheh, no worries.
mod6 hopefully by the time you return i’ll have this resolved.
mod6 ok
mod6 regrinds complete for asciilifeform_blackhole_odometer.vpatch and asciilifeform_blackhole_reads.vpatch
mod6 http://p.bvulpes.com/pastes/UWQkt/?raw=truexvii
mod6 will post reground vpatches and **TESTING** sigs, along with my vpatch testing keyxviii
mod6 guess i aught to build it and make sure everything is cool in the meantime.
mod6 ok built just fine.
mod6 http://www.mod6.net/blackhole-regrinds/
asciilifeform neato
mod6 ask me how to use this before you haul off and use this.
asciilifeform mod6: what were these reground against ?
mod6 in essense, this should enable someone to use the following: v054 (w/Makefiles) + privkeytools + blocktimer + blackhole_revealer + blackhole_odometer + blackhole_reads + wires_rev1
mod6 so i had them based in order.
mod6 started with v054. added privkeytools
asciilifeform aah
asciilifeform afaik it’s the only one i did not have in my flow.
mod6 added wires. then blocktimer. then blackhole_revealer
trinque neato mod6 re: privkeytools; I use ‘em with deedbot
mod6 when i went to add in blackhole_odometer, needed regrind. and because that did, so did blackhole_reads
mod6 trinque: cool. let me know if you have any issues. that one is going to sit in limbo for sometime before i add it to the foundation mirror.
mod6 which is probably why alf didn’t pick it up when he did this instrumentation stuff.
mod6 anyway, this is by no means finalized. especially since i didn’t use my normal key — just my “vpatch-testing” one.
mod6 otherwise, my vtron would just drop those on the floor; no more WILD patches.
mod6 asciilifeform: im reading through the sneak-preview. phenom shit man
asciilifeform lemme know if it makes sense, mod6
mod6 for sure.
mod6 oh jeeze, almost forgot to post my new FG test results.
pete_dushenski back in the saddle. just catching up. going to apply the next couple patches from mod6 now to test.
mod6 werd
mod6 jere
mod6 here’s exactly the flow you need:
mod6 http://p.bvulpes.com/pastes/IC9rq/?raw=truexix
mod6 *and* you need to add my vpatch testing key to .wot
pete_dushenski k cool. i just added your patches, shasums all checked out, but my flow didn’t change! i now realise that i beleeted alf’s patches from the flow too soon :/
mod6 start fresh
mod6 get v054 from the mirror
pete_dushenski mod6: and i see that you kept in ‘revealer’ even though it was supercedes by ‘odometer’ ?
pete_dushenski superceded*
mod6 let’s not worry about that
pete_dushenski so it’s ok if i leave it out ?
mod6 no
mod6 i thought you want all of these vpatches in?
mod6 then want to build a vpatch on top of it?
mod6 well, personally, i don’t care either way.
mod6 if you create a patch ground off of v054 then submit, fine.
mod6 will need to be reground later, no doubt.
pete_dushenski you’re correct. but it’s not clear what ‘superceded’ means then.
mod6 i don’t remember using that term
pete_dushenski you obv didn’t but alf did in the ml
mod6 unless i did in the sense that my reground odomter and read patches superceded alf’s
mod6 ok
mod6 the cool part about v, is that you can choose your own adventure.
asciilifeform ^
pete_dushenski http://therealbitcoin.org/ml/btc-dev/2017-February/000255.html << “This patch supercedes…”
mod6 im trying to make it easy on you to get up to speed with v054+privkeytools+alfs_wires_and_instrumentation
pete_dushenski mod6: very true.
asciilifeform pete_dushenski: consider reading these. they’re what, six lines. then it will be clear why one supersedes other, etc
pete_dushenski mod6: i appreciate that. not trying to be inconsiderate.
mod6 yeah, if you look at the code and what is changing and why, then you’ll understand.
mod6 and that’s really the intent of v anyway. but if it’s kinda confusing or whatnot… then just start fresh, get v054 from the mirror, add in the things that I’m showing in the flow above and press.
mod6 my guess is that you probably don’t care about the instrumentation that alf added — unless you were gonna do testing like I did recently.
mod6 so then you hvae a bit of a different path
mod6 v054+privkeytools+wires_rev1
pete_dushenski asciilifeform: you’re right.
mod6 then you can build your patch on top of that… and when it’s done… if there are more that you didn’t grind in, no prob, i’ll regrind yours at a later date.
pete_dushenski mod6: i’m actually somewhat interested in comparing hdd to ssd for my own curiousity’s sake.xx
pete_dushenski but i hear you.
mod6 ok then perfect.
mod6 either way, i leave it up to you.
mod6 :]
mod6 but you should be good to go.
pete_dushenski starting fresh now. will update in a few mins. cheers :)
mod6 cool. no worries.
mod6 any luck pete_dushenski?
pete_dushenski i’m a bit stuck actually :(
mod6 ok whatcha got
mod6 you want me to script it for you?
pete_dushenski i downloaded your latest patches, confirmed all the shasums including the asc, and yet your patches aren’t showing up in the flow. won’t even see antecedents for them. http://p.bvulpes.com/pastes/orxL8/?raw=truexxi
mod6 what does your flow look like?
mod6 run this: `./v.pl w && ./v.pl f`
pete_dushenski http://p.bvulpes.com/pastes/u70Pl/?raw=truexxii
mod6 yup
mod6 ok
pete_dushenski is it that obvious ? lol
mod6 take asciilifeform_blackhole_odometer.vpatch
mod6 and
mod6 asciilifeform_blackhole_reads.vpatch
mod6 out of patches
mod6 and while you’re at it, remove the corresponding .sig files for those two out of .seals
mod6 then see if mine show up in the flow.
pete_dushenski done. patches removed. but yours still aren’t in the flow
mod6 ok now, show me:
pete_dushenski http://p.bvulpes.com/pastes/QZuIv/?raw=truexxiii
mod6 `ls patches && ls .seals && ./v.pl f`
pete_dushenski should i have pressed the v054 patch set from the get-go ? because i just dl’d and added the new ones so far.
mod6 no, you don’t need anything pressed at all.
mod6 V builds this flow in ram, straight out of ‘patches’ and corresponding ‘.seals’
pete_dushenski http://p.bvulpes.com/pastes/RMzhL/?raw=truexxiv
mod6 they are being orphaned off
mod6 ask yourself why
mod6 give up?
pete_dushenski because something is wrong with the testing key ?
mod6 nope
mod6 you’re missing ‘asciilifeform_blocktimer.vpatch’ and it’s corresponding seal
mod6 grab those, put them in the proper places.
pete_dushenski hm damn.
mod6 and once this all works, we’ll talk through why that happens
pete_dushenski ok got it. (finally, good patient sir).
mod6 ok good deal.
mod6 now show me your flow.
pete_dushenski http://p.bvulpes.com/pastes/2f1UY/?raw=truexxv
mod6 ok
mod6 now run: `./v.pl p v v054-experimental asciilifeform_wires_rev1.vpatch`
pete_dushenski done. clean press resulted.
mod6 congrats!
pete_dushenski haha!
mod6 check this out: http://www.mod6.net/peted/regrinds/regrind-ss.png
pete_dushenski sexy time.xxvi
pete_dushenski :)
mod6 (you probably don’t hvae Graph::Easy perl mod installed on that new box of yours… but if you did, you could run `./v.pl g foo.dot bar.html` and see a similar graph
mod6 it helps to look at the flow visually sometimes.
pete_dushenski o cool. i recall that bulletpoint on the user guide.
mod6 you can see here, that if asciilifeform_blocktimer.vpatch is missing, the two descendent vpatches from it will be orphand off.
mod6 it’s part of the new rules.
mod6 for a vpatch to be included in the flow, *ALL* of it’s antecedents must be present.
mod6 anyway, a tour of vtron is complete.
mod6 it takes a while to get the feel for how to use vtron when you’re just starting out.
mod6 it’ll become more familiar the more you dance with her.
pete_dushenski def a bit of a learning curve :)
mod6 truth be told, this adventure was another good test battery.
mod6 not that my automated tests don’t do the job, but nothing does the job quite like actual use and observed behaviour of functionality.
pete_dushenski the lord hath no fury like a keyboard monkey scorned.xxvii
mod6 heheh
mod6 aight, best wishes! im gonna catch some zzzs.
mod6 night!
pete_dushenski nn!
pete_dushenski mod6: working off this latest regrind and trying to add my new ‘getpeerinfo’ patch, i’m seeing some errors with vdiff that i don’t recall seeing last time i used it : http://p.bvulpes.com/pastes/j9Od6/?raw=truexxviii
pete_dushenski the result is a vpatch with no hashes.
pete_dushenski said hashless vpatch result : http://p.bvulpes.com/pastes/2pgOF/?raw=truexxix
mod6 pete_dushenski: not sure if you’re around, but it looks to me from this ‘ http://p.bvulpes.com/pastes/j9Od6/?raw=true’, that your vdiff.sh is fubar’d
mod6 (do you remember saying before … about how to get it, remove all the PGP sig info from the file, then I dos2unix’d the thing?)
mod6 that’s what that error reminds me of anyway. so let’s first get you a working vdiff.sh
mod6 furthermore, this is incorrect form:
mod6 root@ns399440:/home/constantine/trb# ./vdiff.sh b a > pete_dushenski_getpeerinfo.vpatch
mod6 at least, I’d think that it is…. should be: `./vdiff.sh a b > newpatch.vpatch`
asciilifeform diffing is noncommutative, elementarily, aha
asciilifeform looks like he created ‘antimatter’ patch…
mod6 which basically amounts to `./vdiff.sh old new > blabla.vpatch`
mod6 and you did `./vdiff.sh new old > blablah.vpatch`
mod6 pete_dushenski: one thing that may have tripped you up… and it may not be vdiff.sh itself, is that (especially since you have *NEW* linux box) is that you’ll need `gnuawk` as opposed to just plain ‘ole awk.xxx
mod6 so to get `gnuawk` on your box, simply: `sudo apt-get install -y gawk`
pete_dushenski was installing gawk just as you typed that :)
pete_dushenski tho my vdiff form was actually because ‘a’ was my new and ‘b’ was my old in this particular test
pete_dushenski *actually correct
mod6 oh, dont do that though.
mod6 because it won’t create a vpatch that can be applied in the normal manner
mod6 ~always~ original shit in ‘a’, new shit in ‘b’/
mod6 s\///
mod6 if you need to go back and rewrite, then you rewrite.
mod6 you do need `gawk` though :]
pete_dushenski lol the things that are never explicit until i come fumbling along…
mod6 they actually are explicit.xxxi
mod6 :D
pete_dushenski ha!
mod6 http://therealbitcoin.org/ml/btc-dev/2015-September/000168.html
mod6 read, carefully, section 0x00, 0x01, and 0x02
mod6 0x00] Creating the Patch:
mod6 With all of the signed vpatches from The Bitcoin Foundation applied via `V’, follow these next steps to copy over the `pressed’ source so you can make the changes for your patch and then output the vpatch of the changes with `vdiff.sh’ [R.04].
mod6 mkdir -p a b cp -pr bitcoin a && cp -pr bitcoin b
mod6 Now that you have the patched source copied into “a” and “b”:
mod6 cd b
mod6 Now you should make your changes to the code as necessary.
mod6 0x01] Naming and Numbering the Vpatch:
mod6 Once the code changes are complete, create a vdiff of the changes:
mod6 vdiff.sh a b > patchname.vpatch
mod6 [ Example ]: vdiff.sh a b > mod6_fix_dumpblock_params.vpatch
mod6 let me know how it goes. thanks for asking in here about said issues. if you see any more, let us know asap so we can help you along.
pete_dushenski you got it. will do.
mod6 :]
mod6 fwiw after you do this a few times, it gets easier.
pete_dushenski i’m already learning that some things just can’t be fuzzed!
pete_dushenski mod6: i think i’m done ?

~~A month of testing, regrinding, and reviewing later~~

btc-dev mailing list entry : getpeerinfo.vpatch

___ ___ ___

  1. The whole process was, how shall we say, Beschaulich, which is a German adjective roughly meaning “pleasantly contemplative, unhurried in a fashion that inspires mental well-being.” At least it was experienced thusly from one vantage point. From the outside, and even re-reading the logs now, it was a slightly more strained and tedious, for which I’m all the more grateful of mod6’s patience. Anyways, if you enjoy a good tragic figure now and again, please, proceed! And if no one gives a shit but me, then so be it! What, you think blogging is for other people ? []
  2. This tendency of nodes to be bogged down in a mire of malicious connections is particularly exacerbated when running a node with mechanical HDD. Don’t believe me ? Compare a few lines from which :

    SetBestChain: new best=00000000000000000161 height=464299 work=99460488474541395169045392
    ProcessBlock: ACCEPTED
    ProcessBlock (res == 1) took : 209507ms; db write wait: 1911ms

    SetBestChain: new best=0000000000000000009e height=464300 work=99462730372240867410680244
    ProcessBlock: ACCEPTED
    ProcessBlock (res == 1) took : 123498ms; db write wait: 2267ms

    With those from a node running essentially the same software with similar RAM and CPU speed but with an SSD :

    received block 000000000000000001ac
    CheckBlock() success : 15ms
    CheckBlock() success : 14ms
    SetBestChain: new best=000000000000000001ac height=463393 work=97430761166822819589434696
    AcceptBlock() success : 6553ms
    ProcessBlock: ACCEPTED
    ProcessBlock (res == 1) took : 6568ms; db write wait: 1085ms; db read wait: 1549ms
    Tested candidate block in 6571ms
    received block 0000000000000000012c
    CheckBlock() success : 1ms
    CheckBlock() success : 1ms
    SetBestChain: new best=0000000000000000012c height=463394 work=97432998057501301357847292
    AcceptBlock() success : 385ms
    ProcessBlock: ACCEPTED
    ProcessBlock (res == 1) took : 386ms; db write wait: 60ms; db read wait: 81ms
    Tested candidate block in 386ms

    The differences in cache latencies are, as far as I’m aware, the drive-dependent bottleneck. Whereas mechanical hard drives read in the 5-10ms range, solid state hard drives read in the 0.03ms range. []

  3. That’d be this one, which was apparently sufficiently inflammatory for Bram Cohen to outright block shinohai, who linked Bram to the piece at my request. Is nice! I like! []
  4. Archived. []
  5. Archived. []
  6. Who’s on first ? What’s on second ? I dunno’s on third…? []
  7. This… will be a recurring theme. So when you have a fresh box that you’re looking to TRBify, you’ll need at least `patch dos2unix make gcc g++ doxygen curl wget perl unzip rsync gpg gawk`.   []
  8. Because “net neutrality” and out-sourced “sekoority” and non-WoT “service” and omg already this Internet thing is not for the faint of heart. But then again, nothing for men, by men is. FUBU!!1 []
  9. Archived. []
  10. Archived. []
  11. Archived. []
  12. Environments are a fickle, even capricious thing. []
  13. Thankfully, this was more often my issue : that I have issues! But acknowledgement is the first step! []
  14. TRB-I, for the uninitiated, is the an as-yet-unrealised wholesale rewrite of Bitcoin codenamed “The Real Bitcoin – Ideal” and having properties as outlined here, here, and more broadly here. TRB-I is the most plausible candidate for a true hard fork of this nascent, highly lucrative software project. []
  15. Archived. []
  16. Archived. []
  17. Archived. []
  18. A wiser and more judicious Co-Chair of the Foundation one could scarcely ask for. The man’s as thorough, gracious, and thoughtful as any you’ll meet.  []
  19. Archived. []
  20. See footnote ii. []
  21. Archived. []
  22. Archived. []
  23. Archived. []
  24. Archived. []
  25. Archived. []
  26. In Borat voice, naturally. Much like footnote iii. []
  27. While many readers may think my Unix/V skill set notable, even admirable, they’re such a paltry embarrassment compared to those of even the average Republican that I’m regularly ashamed, which I blessedly find motivational more than anything else. And it’s a sweet, sweet gift that the other regulars in #t should be so generous with their time. I’d be marooned at sea with ‘em.  []
  28. Archived. []
  29. Archived. []
  30. mod6 was right on the money (again). []
  31. The definition of “explicit” is such that there can be no room for doubt or equivocation on the subject. Unfortunately for the good mod6, the Jewish mind is nothing if not a finder, seeker, and exploiter of multiple interpretations and loopholes. It’s what we’re trained to do from birth! Just like debating. So it was that maybe “a” is here, maybe it’s there… tomato tomahto! Except for when the left pedal is the brake and the right one is the gas, as was the case here. Hey, no one said Jews were good drivers. []

5 thoughts on “The lord hath no fury like a keyboard monkey scorned, a Beschaulich vpatch saga.

  1. It isn’t clear to me that the concepts of “TRB-I” and “Bitcoin hard fork” could meaningfully coexist in the same animal. The various properties required of a “TRB-I” ( as discussed in #t ) break compatibility with classical Bitcoin in just about every conceivable way. You could, conceivably, try to incorporate “a copy of TRB and classical blockchain to block #lastblock” — but then you lose O(1) indexing and a few other essentials. Plus gain a megatonne of dependolade.

    • It isn’t clear to me that starting ex nihilo is viable now that the cryptocoincat is out of the cryptocoinbag. Perhaps I overestimate the viability of extant fiat powers to influence future launches, or perhaps I underestimate the ability of Adacoin/TRB-I to negate whatever influence they might have, but the sheer unbridled momentum of the current TRB means that I’m fairly skeptical as to anyone’s ability to improve upon it and muster even un peu d’air sur terre. But I guess I’d like to be wrong ?

  2. It is likely that there can not come to be such a thing as a viable “TRB-I” at all unless classical Bitcoin comes to irreparable grief ( exactly how this comes about — was discussed in the canonical #t thread. )

  3. And – elaborate re “extant fiat powers to influence future launches” ??

    • The thought here is along the lines of the chicom miner monopoly ordeal… but never-ending, which would be market position more readily occupied in an early stage coin ? I mean, it should only take a fraction of the resources currently being applied to the TRB fight.

      “But Pete, i) that could never happen with TRB-I because it’s not written by the retarded, ii) the whole “we control the horizontals AND the verticals” schtick is quite exactly that and little else besides, and iii) as long as there’s 2+ we’re laughin’!”

      At which point I must admit that most of the canonical thread in #t is above my pay grade and that I have no particular sentimental attachment to TRB, or any other investment for that matter. I’m perfectly content to jump ship and join the next merry band of pirates when a superior opportunity presents itself.

      Still, at this point, since TRB-I is still TRB-“Imaginary,” I guess it might as well have fiat-demolishing superpowers. Goodness knows the original certainly does, even though the narrative history that always stuck in my head was that Satoshi flew under the radar for juuuuust long enough to gain critical mass of hashpower and politically influential users before USG “woke.” But I grant that this arc gives teh blob maximum credit in spite of their continued and repeated failures.

      Anyways, I’ll be here in the corner poking holes in my own half-baked theories if anyone needs me.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>