--- Log opened Sun Jul 19 00:00:26 2020 01:08 < kcalvinalvin> ja I'd have to read the code again... why do you ask? 01:08 < kcalvinalvin> So I'm trying out building proofs for forest and I ran out of disk space 01:09 < kcalvinalvin> For forest in ram for mainnet, I got to ~500,000 before I ran out. Used up 260GB for proofs and ~20GB of memory 02:45 < kcalvinalvin> PR #158 is ready to merge 02:46 < kcalvinalvin> though github actions is failing because variable ```knownTipHeight``` is being passed as 0? 02:46 < kcalvinalvin> bridge just exits with " done pushing blocks to 127.0.0.1:60888" which doesn't happen until it reaches the height that is was passed 02:47 < kcalvinalvin> not sure what's going on.. 04:23 -!- dergoegge [uid453889@gateway/web/irccloud.com/x-wqwekxwzcpkzfqdf] has joined #utreexo 04:25 < dergoegge> kcalvinalvin: are you having these problems on master? also mainnet or testnet? 05:25 -!- rjected_ [~dan@pool-71-184-77-198.bstnma.fios.verizon.net] has joined #utreexo 05:27 -!- cfields_ [~cfields@unaffiliated/cfields] has joined #utreexo 05:32 -!- Netsplit *.net <-> *.split quits: rjected, cfields, adiabat 05:39 -!- adiabat [~adiabat@63.209.32.102] has joined #utreexo 06:06 < kcalvinalvin> dergoegge No not on master but on my PR. Locally it works fine but not working on github 06:06 < kcalvinalvin> It's on github so on regtest 06:37 < dergoegge> kcalvinalvin: i left a review on #158 that should fix it. 06:38 < dergoegge> also kinda weird that you didn't have the error locally 07:37 < kcalvinalvin> that fixed it thanks! 11:08 -!- rjected_ [~dan@pool-71-184-77-198.bstnma.fios.verizon.net] has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in] 11:09 -!- rjected [~dan@pool-71-184-77-198.bstnma.fios.verizon.net] has joined #utreexo 13:47 < adiabat> ja: I can explain swap collapses 13:47 < adiabat> it's more complex than I'd like, but it does allow the transform to be reversible 13:48 < ja> adiabat: i got into animations in the last few days, i was thinking of writing a program that animates the operations utreexo does 13:49 < adiabat> oh that would be super cool 13:49 < ja> adiabat: stuff like swapping the children are conceptually simple, but working with the array representation, it is 20 lines of code 13:49 < ja> adiabat: so i have duplicated all algorithms in imperative haskell, now i want to rewrite them using ideomatic haskell 13:49 < ja> adiabat: but the problem is that i don't actually understand what they are doing, what the invariants are 13:49 < adiabat> yeah I will say the (f *Forest) ToString() code was in some way the most important 13:50 < adiabat> because that let me print out what was going on much better 13:50 < adiabat> "collapses" are swaps that can't immediately take place 13:50 < adiabat> there can only be one collapse per row 13:50 < adiabat> and it's the last thing created for that row. It's either a leaf that's becoming a root or a root that's becoming a leaf 13:51 < adiabat> or... I think a root that stays a root but moves also counts as a collapse 13:51 < adiabat> the only difference between swaps and collapses is that swaps can happen immediately as you're going from the bottom row to the top 13:52 < adiabat> collapses though have to be applied after all the swaps, including swaps on higher rows 13:52 < ja> ok, can we take an example i generated? 13:52 < adiabat> but the collapses themselves can be affected by higher up swaps 13:52 < adiabat> sure 13:52 < ja> if swaps is [[(35,28),(51,47)],[(152,145)],[(210,204)],[],[],[],[]] 13:53 < ja> and collapses is [Just (76,94),Just (167,174),Just (216,214),Just (232,234),Just (245,244),Nothing,Nothing] 13:53 < adiabat> heh that's big, can't write that on paper... 13:53 < ja> the resulting collapse is [Just (76,76),Just (167,166),Just (216,210),Just (232,232),Just (245,244),Nothing,Nothing] 13:53 < ja> ah, well i generated the examples randomly, computer doesn't know they should be small 13:53 < adiabat> right I just mean 13:53 < ja> maybe it would be better with a smaller example 13:54 < adiabat> if it's small I can trace it out on paper 13:54 < adiabat> with those I'm not sure what's going on 13:54 < ja> ok, well, any way i could understand the intuition would be good 13:55 < adiabat> ok a smaller one is like 13:55 < adiabat> printout.txt in the accumulator folder 13:55 < adiabat> line 21 has the 15 leaves forest 13:55 < adiabat> so an example would be 13:56 < adiabat> delete 4,5,6,7,8,9 13:56 < adiabat> on the bottom row, no swaps 13:56 < adiabat> but, 14 needs to collapse, it can't stay there 13:56 < adiabat> we know that 14 will end up at 8, because there were 15 leaves, and we deleted 6 13:57 < adiabat> but it's a collapse, not a swap 13:57 < adiabat> we can't swap 14 and 8 right now 13:57 < adiabat> because other swaps will move those around 13:58 < adiabat> so for row 0, we say, OK, no swaps, collapse: (14, 8) 13:58 < adiabat> then row 2, deletions are 18, 19, 20 13:58 < ja> is this work going on before calling swapCollapses? since you started with the list of nodes to delete 13:59 < adiabat> this is before yes 13:59 < adiabat> we get the (14, 8) collapse 14:00 < ja> aah ok, so this is the result of makeCollapse called in remTrans2? 14:00 < adiabat> and it will be transformed by swapCollpases into ... 14, 12? 14:00 < adiabat> 1 sec 14:01 < adiabat> no no 14, 4 14:01 < adiabat> in this case swapCollapses will change 14, 8 into 14, 4 14:01 < adiabat> because of the 25, 26 swap that happens on the 3rd row 14:01 < adiabat> (row 2) 14:02 < ja> the swapCollapses will never change the amount of collapses, right? 14:02 < adiabat> that 25, 26 swap affects the 14, 8 collapse because 8 is under 26 14:02 < adiabat> right the amount of collapses will not change 14:02 < adiabat> sometimes it will make collapses become like "null" 14:02 < adiabat> like can change things into 14, 14 14:02 < adiabat> or from a 14, 14 to a 14, 12 or something 14:02 < adiabat> but actual number will not change 14:03 < adiabat> once swap collapses has happened, we can do everything row by row 14:03 < adiabat> we know 14 needs to end up at 8 14:03 < adiabat> but we can't swap 14 and 8 right at the bottom row 14:03 < adiabat> but if we swap 14 with 4, it will end up at 8 after all the rows of swaps have happened 14:04 < adiabat> maybe a better way to call it is ... turn collapses into swaps? 14:04 < adiabat> I don't even think the name "collapse" is that great... it's like a movement that is temporarily on hold 14:05 < ja> names are hard, but i think i almost got the intuition, that is most important :) 14:05 < ja> thank you for the walkthrough! 14:05 < adiabat> sure! 14:05 < ja> ok, i think i need to read your walkthrough a few times, but i think it will help a lot. i'll report back with questions, gotta run! thank you so much! 14:05 < adiabat> ok sure see you 14:05 < adiabat> also I think there will be a "release" in tuesday 14:05 < adiabat> just have a binary and server up 14:06 < adiabat> maybe people will be interested :) 14:06 < ja> no doubt about that :D --- Log closed Mon Jul 20 00:00:26 2020