DevMeeting 2018-06-17

Submitted by aerbax on Sun, 06/17/2018 - 14:16


  • Unofficial GUI Release until Fluffy can finalize it:
  • VTNerd has been working on some patches for ZeroMQ(0MQ)
  • Serhack continues work on the "Mastering Monero" book.
  • Bulletproofs audit
    • Quarkslab anticipates that their audit will be done soon(as early as the end of next week).
    • Early reports show no vulnerabilities and they have a few suggested improvements
    • Kudelski report should be near the end of June.
  • Discussion about reducing full node sync times
  • Discussion about GUI performance and improving user experience(UX)
  • Mooo could use some help testing some new SSL support in PR 4011:
  • Next meeting July 1st, 2018


Full Log

1:00 PM <rehrarthebrearar>
1:00 PM <rehrarthebrearar> 1. Greetings
1:00 PM <endogenic> hi rehrar
1:00 PM <rehrarthebrearar> Who all is out there?
1:00 PM <rbrunner> Hoi zäme
1:00 PM <serhack> Hello
1:01 PM <ErCiccione> Hi!
1:01 PM <+moneromooo> here
1:01 PM <rehrarthebrearar> 2. Brief review of what's been completed since the previous meeting
1:01 PM <+hyc> I'm definitely out there
1:02 PM <rehrarthebrearar> Anyone have anything to report for the past couple weeks?
1:02 PM <endogenic> rehrarthebrearar: anything to report?
1:02 PM <rehrarthebrearar> I had a good vacation. That's my report.
1:02 PM <@ArticMine> hi
1:02 PM <endogenic> dev related
1:02 PM <vtnerd> present
1:02 PM <+hyc> nothing to report here
1:02 PM <ErCiccione> the bastard unofficial release:
1:03 PM <vtnerd> got some patches for ZMQ JSON RPC stuff (missing data, etc). apparently no one using a few of the calls
1:03 PM <endogenic> ^-- we're making progress on the lightwallet server, which is using lmdb and zmq
1:03 PM <endogenic> or hosted wallet
1:04 PM <vtnerd> the ZMQ is between daemon <--> mymonero-api-compatible-server
1:04 PM <vtnerd> otherwise its still using http REST+JSON for better/worse
1:04 PM <serhack> I'll take a look vtnerd and endogenic, any links?
1:04 PM <endogenic> soon
1:04 PM <vtnerd> although supporting ZMQ on that shouldn't be terrible should someone want it
1:04 PM <vtnerd> good point, haven't published that yet will get on that
1:06 PM <@ArticMine> I am working on the fee / scaling formula for Bulletproofs
1:07 PM <el00ruobuob_[m]> how are the audits going?
1:07 PM <serhack> Personally I am working on Mastering Monero. I know that isn't dev related but that will help new developers that would like to understand about Monero.
1:07 PM <@ArticMine> Mainly to address the difference in scaling for size and verification time
1:07 PM <rehrarthebrearar> any update on that ArticMine? How's it going?
1:07 PM <@ArticMine> I am not dealing with the audits directly
1:07 PM <rehrarthebrearar> I meant on the fee/scaling formula
1:07 PM <@ArticMine> The concept is done it is mainly the details
1:08 PM <rehrarthebrearar> sarang needs to report on the audits, but it doesn't seem he's around atm
1:08 PM <suraeNoether> el00ruobuob_[m]: Quarkslab apparently says they will be done very soon
1:08 PM <suraeNoether> end of next week
1:08 PM <@ArticMine> replacement of blocksize with block weight
1:08 PM <suraeNoether> sorry, hi, i'm here :D and helpful
1:08 PM <+hyc> sarang left a note in -research-lab yesterday or so
1:09 PM <sarang> Quarkslab will finish in about a week
1:09 PM <+hyc> Quarkslab said they found a few opportunities to flag invalid stuff earlier, but no vulns.
1:09 PM <sarang> Kudelski around end of month
1:09 PM <suraeNoether> i'm literally emailing a musig author right now about a question koe and i both had about their set-up and replay protection
1:09 PM <sarang> Benedikt begins now
1:09 PM <+hyc> oh there he is
1:09 PM <sarang> Yeah just for a minute tho
1:10 PM ⇐ serhack quit (6d7014c4@gateway/web/cgi-irc/ Remote host closed the connection
1:11 PM <el00ruobuob_[m]> good to hear!
1:11 PM → oneiric_ joined (~oneiric_@
1:12 PM <rehrarthebrearar> yup, sounds promising. Anyone else?
1:13 PM ⇐ _4matter quit (uid266128@gateway/web/ Quit: Connection closed for inactivity
1:13 PM <rehrarthebrearar> alright, let's move on
1:13 PM <rehrarthebrearar> 3. Point release items (GUI)
1:13 PM <rehrarthebrearar> I expect this to be short because all that's being waited on is fp, no?
1:13 PM <dEBRUYNE> Yes
1:14 PM <rehrarthebrearar> Ok. :P 4. Code + ticket discussion / Q & A
1:14 PM <dEBRUYNE> Oh for the GUI I suppose we could discuss this ->
1:16 PM <dEBRUYNE> ^ If anyone has remarks, throw them out :p
1:16 PM <rbrunner> I thought that this "bootstrap mode" (remote daemon until local one is synced) is already worked on. Misunderstanding?
1:16 PM <rehrarthebrearar> reading
1:16 PM <+hyc> as I commented on reddit, I believe this will lead to local nodes never catching up
1:17 PM <+hyc> users will fire up wallet, do a few things, then shut it all down
1:17 PM <+moneromooo> Ugh. Good point.
1:18 PM <el00ruobuob_[m]> are casual users supposed to run a full node? If gui is too heavy for them they'll use monerujo or cake wallet...
1:18 PM <ErCiccione> yeah that's probably a deal breaker hyc didn't think about that
1:18 PM <@ArticMine> Can we wait for bullet proofs? There are a lot of optimization that will impact this
1:18 PM <dEBRUYNE> Bulletproofs doesn't reduce the sync time retrospectively
1:18 PM <dEBRUYNE> rbrunner: The functionality is there, it just isn't default
1:19 PM <@ArticMine> But has a major impact on the verification time
1:19 PM <+moneromooo> They kinda do. Range proofs covered by hoh aren't checked.
1:19 PM <dEBRUYNE> moneromooo: could you elaborate?
1:19 PM <iDunk> The mysterious hoh :)
1:20 PM — dEBRUYNE heads to github
1:20 PM <+moneromooo> case 1: quick sync from 0 to 1.5e6, slow range proof sync from 1.5e6 to 1.6e6.
1:20 PM <+moneromooo> case 2: quick sync from 0 to 1.6e6, medium speed bp sync from 1.6e6 to 1.7e6.
1:21 PM <+moneromooo> You traded 100k slow for 100k quick + 100k medium, which is very likely faster.
1:21 PM <+moneromooo> Won't last super long as the chain grows though.
1:21 PM <dEBRUYNE> hyc: Good point. I'll have to put some thought into that. More full nodes is only one aspect of a greater user base though. Another would arguably be more transactions
1:21 PM <+moneromooo> (100k is a placeholder, I don't know the actual number)
1:22 PM <dEBRUYNE> I see, thanks for clarifying. Do you have an idea how much it saves relatively though?
1:22 PM <@ArticMine> Another issue that we want to encourage more nodes to improve the new user performance
1:22 PM <iDunk> Hours.
1:22 PM <@ArticMine> Try syncing MoneroV and one see the impact of very few nodes
1:23 PM <+moneromooo> They actually released somthing ?
1:23 PM <@ArticMine> It took like 4 day on hard ware that would sync Monero in 5 hours
1:23 PM <dEBRUYNE> ArticMine: I posit that eventually you end up with more full nodes though
1:24 PM <+hyc> using bootstrap nodes is better than no local nodes at all
1:24 PM <+hyc> but I think overall, not a lot better
1:24 PM <@ArticMine> I am not disagreeing just saying that are changes in the pipeline that will impact this
1:24 PM → Keniyal joined (~Keniyal@unaffiliated/keniyal)
1:24 PM <+hyc> either way, you need to get in the user's face and make them read and click.
1:25 PM <+hyc> don't leave it hidden/automatic/transparent.
1:25 PM <rehrarthebrearar> do we stick then to the ideals, or do we make concessions for reality?
1:25 PM <endogenic> *rolls his eyes*
1:25 PM <dEBRUYNE> hyc: Yes, we'd rather have a user use a bootstrap node than a remote node indefinitely
1:25 PM <rbrunner> I think most new users lack completely the conceptual understanding of the whole architecture to judge what to do
1:25 PM <+hyc> and it might be as futile as expecting people to read EULAs before clicking OK
1:25 PM <@ArticMine> Sometimes the ideal actually make the reality work
1:25 PM <endogenic> <3 ArticMine
1:26 PM <@smooth> the reality really doesn't work if everyone is just trying o use free remote nodes
1:26 PM <+hyc> but I think we should still put it in front of their face and force them to click.
1:26 PM <dEBRUYNE> hyc: Are you proposing some kind of disclaimer page?
1:26 PM <dEBRUYNE> Like ToS :-P
1:26 PM <rbrunner> Maybe put nice animations in front of their face that help understanding of daemons and the network?
1:26 PM <endogenic> how about an incentive system?
1:26 PM <rbrunner> And the importance of all
1:27 PM <ErCiccione> what kind of incentive endogenic?
1:27 PM <rbrunner> A lottery among all the new full nodes of the current week? :)
1:27 PM <endogenic> well to smooth's comment if people are just using free stuff..
1:27 PM <dEBRUYNE> rbrunner: I think it would be more important to warn them about the trade-offs of (temporarily) using a remote node
1:27 PM <@smooth> rbrunner: we can hire Kurzgesagt to do a nice animation for us
1:27 PM <dEBRUYNE> and give them an option to opt-out and just start the blockchain sync from scratch without a bootstrap node
1:28 PM <+hyc> dEBRUYNE: yes. explain "we're uding a remote node to get you started quickly" blah blah blah
1:28 PM <rbrunner> Yeah, but first you have to get enough understanding to even see what is a remote node :)
1:28 PM <rbrunner> Or a "node" at all
1:28 PM <rbrunner> I think hiding all this exactly the wrong way
1:28 PM <rehrarthebrearar> I think that the wallet stewarded by the core team should indeed stick to the ideals. If somebody else wants to make a GUI that goes remote node first or by default, then nobody is stopping them
1:28 PM <ErCiccione> don't we have some PR people right now? they could help with is
1:28 PM <ErCiccione> *this
1:29 PM <dEBRUYNE> rehrarthebrearar: I'd agree for the CLI, but we should be a bit more lenient on the GUI
1:29 PM <endogenic> rehrarthebrearar: i don't think we need to use the word ideals. there are principles of how things work
1:29 PM <@smooth> actually the 'ideal' is maybe there is no core GUI at all
1:29 PM <@smooth> obviously it serves a purpose now
1:29 PM <dEBRUYNE> hyc: Yeah I envisioned something similar. Just a full page w/ trade-offs and an option to opt-out
1:30 PM <rehrarthebrearar> dEBRUYNE: meh,, the GUI isn't exactly a stellar example of UX period.
1:30 PM <endogenic> nor is the code itself
1:30 PM <dEBRUYNE> How is that related?
1:30 PM <+hyc> dEBRUYNE: sure. put a timer on the OK button, don't enable it for 10-20 seconds.
1:30 PM <rehrarthebrearar> well, I mean that the concessions for the increased UX don't matter a huge amount imo.
1:31 PM <rehrarthebrearar> It's still for power users.
1:31 PM <dEBRUYNE> The GUI is fairly easy to use as long as you have a fully synced daemon and wallet
1:31 PM <dEBRUYNE> Most issues are stemming from the daemon not being fully synced or the GUI lagging
1:31 PM <dEBRUYNE> My proposal addresses both of those
1:31 PM <rbrunner> The GUI is fairly easy to use as long as you understand what you do
1:31 PM <rehrarthebrearar> ^
1:31 PM <rbrunner> If you don't even a magic GUI and UX won't help you
1:32 PM <rehrarthebrearar> it's not necessarily intuitive, which is not the fault of the GUI per se, but a fault of cryptocurrencies in general, and Monero has added complexity.
1:32 PM <rbrunner> Exactly my opinion
1:32 PM <+hyc> lagging sounds like improper division of labor btween graphics threads and worker threads
1:32 PM <rbrunner> But we are not helpless against this fact, are we?
1:32 PM <rehrarthebrearar> If someone has done the research to get into Monero at all right now, they might as well do the research to run a full node or not? :D
1:32 PM <rehrarthebrearar> rbrunner, of course not
1:32 PM <endogenic> yes hyc
1:33 PM <dEBRUYNE> rehrarthebrearar: you're significantly diverging from the original discussion now though
1:33 PM <@smooth> what does 'GUI lagging' mean exactly
1:33 PM <rbrunner> See that people still completely freak out about change, for example
1:33 PM <+hyc> OK then - who is the target audience of the GUI?
1:33 PM <endogenic> hyc: that is the problem
1:34 PM <dEBRUYNE> smooth: I should've clarified that I meant that the system "lags", i.e., users are unable to use other processes properly
1:34 PM <rehrarthebrearar> with only one real desktop GUI in existence, doesn't the answer default to 'everyone'?
1:34 PM <@smooth> dEBRUYNE: okay, that is a matter of resource usage i guess
1:34 PM <dEBRUYNE> it mostly happens on Windows fwiw
1:34 PM <+hyc> rehrarthebrearar: maybe but I think that's unrealistic at this stage
1:35 PM <rehrarthebrearar> hyc exactly
1:35 PM <dEBRUYNE> smooth: It's probably related to hyc's observation, i.e., the GUI and monerod running concurrently
1:35 PM <@ArticMine> For many if not most people running a full node makes sense; however there are cases where it is not appropriate and this has nothing to do with how tech savvy the person is
1:35 PM <@smooth> dEBRUYNE: have you confirmed that reduced max-concurrency actually helps. maybe propose to change that default on windows?
1:35 PM <endogenic> how about a core GUI that actually mirrors simplewallet functionality
1:36 PM <endogenic> in its UI. then you can build it in a modular pluggable way so others can expand it in different ways
1:36 PM <endogenic> users are already familiar with spreadsheets for example
1:36 PM <endogenic> keep it simple
1:36 PM <endogenic> try not to abstract
1:36 PM <@ArticMine> I really like this idea. A GUI for power users
1:36 PM <+hyc> not sure this is a good time to design a brand new GUI
1:36 PM <dEBRUYNE> smooth: Yes, anecdotally though
1:36 PM <endogenic> it's not about designing a new GUI
1:36 PM <endogenic> it's about using the existing simplewallet design
1:36 PM <endogenic> and just plopping the same access into a GUI kit
1:37 PM <@smooth> dEBRUYNE: it seems like a reasonable change that could help things independent of the remote node issue
1:37 PM <endogenic> the whole point is, anytime something is added to simplewallet, even a dev should be able to design how to add it to the GUI
1:37 PM <dEBRUYNE> smooth: It also occurs on mac os x, but I've seen it happen less often
1:37 PM <+hyc> lowering max-concurrency to something like cores/2 is not a bad idea
1:37 PM <dEBRUYNE> Of course this could be explained by there simply being less mac os x GUI users
1:37 PM <+hyc> unfortunately, "max-concurrency" is a lie. monerod spawns tons of threads completely independent of this setting
1:37 PM <endogenic> yup..
1:38 PM <rbrunner> Hmm, that may be more difficult than you anticipate. I was thinking about how to add my own MMS to the GUI and really did not get very far
1:38 PM <dEBRUYNE> smooth: Yeah I'd agree
1:38 PM <dEBRUYNE> hyc: Only for the GUI or?
1:38 PM <dEBRUYNE> Because running monerod separately usually doesn't produce any issues
1:38 PM → +monero (voiced) joined  
1:38 PM <+monero> [monero] moneromooo-monero opened pull request #4011: [DO NOT MERGE] Ssl on top of random unmerged stuff (master...ssl-on-top-of-random-unmerged-stuff)
1:38 PM ← +monero left (
1:38 PM <+hyc> dEBRUYNE: in that case I have no idea what's up
1:38 PM <+moneromooo> It's *worker* threads. Other threads are typically mostly idle.
1:39 PM <dEBRUYNE> hyc: With monerod separately I meant monerod with the GUI closed
1:39 PM <+hyc> right
1:39 PM <dEBRUYNE> So this probably still applies -> <hyc> lagging sounds like improper division of labor btween graphics threads and worker threads
1:41 PM <rehrarthebrearar> Alright, any further discussion on what dEBRUYNE has brought up?
1:41 PM <endogenic> apparently not :P
1:41 PM <dEBRUYNE> hyc: Btw, the GUI allows the user to run the daemon in the background upon closing the GUI
1:41 PM <dEBRUYNE> Perhaps we could add some more information there on how it would benefit the network etc.
1:41 PM <+hyc> that's helpful. as long as it also makes users aware of that
1:41 PM <+hyc> right
1:42 PM <rehrarthebrearar> 4. Code + ticket discussion / Q & A
1:42 PM <rehrarthebrearar> anything for this? moneromooo around to field questions?
1:43 PM <iDunk> < rehrarthebrearar> Ok. :P 4. Code + ticket discussion / Q & A
1:43 PM <+hyc> is there going to be a 0.12.3?
1:43 PM <+hyc> I mean, we've merged quite a few bug fixes into master recently
1:43 PM <endogenic> lol dEBRUYNE
1:43 PM <+moneromooo> That depends on whether the pony can find the strength.
1:43 PM <rehrarthebrearar> right iDunk, but then we peddled backward a bit I thought
1:43 PM <dEBRUYNE> endogenic: ?
1:43 PM <endogenic> oops sorry that was iDunk
1:43 PM <dEBRUYNE> :-P
1:44 PM <rehrarthebrearar> but ok, if we feel that's been done we can move on
1:44 PM <rehrarthebrearar> 5. Any additional meeting items
1:44 PM <+moneromooo> I have one thing about 4011: if anyone doesn't mind switching their db to v3 (that is, not being able to use a master/v2 branch after that), testing all of 4011's SSL cases would be nice ^_^
1:45 PM <+moneromooo> Also, I don't know alot about SSL, so someone who does feel free to tell me what config problems need fixing.
1:45 PM <+hyc> that PR has a ton of other commits in it.
1:45 PM <+hyc> no way to trim that down?
1:46 PM <+moneromooo> Yes, because it doesn't apply to master until the previous ones are merged.
1:46 PM <+hyc> ok
1:46 PM <@ArticMine> I have to leave now.
1:46 PM <+moneromooo> But luigi's working on that (thanks)
1:46 PM <selsta> I got a suggestion: changing the db-sync-mode once a node is fully synced up so people don’t corrupt their db when they do something bad
1:46 PM <endogenic> ttyl ArticMine
1:46 PM <+moneromooo> It is done.
1:46 PM <+hyc> selsta: current code already does that
1:47 PM <selsta> oh okay lol seen people still complaining about this, maybe they are talking about past experiences
1:47 PM ⇐ TheoStorm quit ( Quit: Leaving
1:47 PM <+moneromooo> It was buggy till recently. And not yet merged either I think.
1:47 PM <endogenic> does anyone ever think about how cool it would be if we had library builds of monero that we could link to?
1:48 PM <endogenic> or that we could transpile or bind to from other languages?
1:48 PM <endogenic> anyone else..
1:48 PM <+hyc> if everything were in C, you could already bind to it from any other language
1:48 PM <+hyc> ... my usual anti-C++ rant ...
1:48 PM <endogenic> yeah well for that we need an actual C dev to do some work on it
1:49 PM ⇐ rbrunner quit ( Read error: Connection reset by peer
1:49 PM <endogenic> i'm just trying to figure out if anyone actually thinks it's important
1:49 PM → rbrunner joined (
1:50 PM <oneiric_> think it's important, not enough C experience to do it right
1:50 PM <endogenic> well we don't need C++
1:50 PM <endogenic> we can just start with what we have now if it's teased apart
1:50 PM <endogenic> people don't build it in a teased-apart way right now
1:50 PM <endogenic> so they must not think it's important
1:50 PM <endogenic> GUI dev shouldn't require another API layer on top of wallet2 for ex
1:50 PM <+hyc> GUI should have just been built on top of wallet-rpc
1:50 PM <endogenic> lots of things go into making GUI dev complicated
1:50 PM <endogenic> it's not that complicated for me though
1:50 PM ⇐ @ArticMine quit (~ArticMine@ Ping timeout: 265 seconds
1:50 PM <+hyc> but that's already a lost cause
1:51 PM <+hyc> are we wrapping up?
1:51 PM <rehrarthebrearar> alright, winding down now
1:51 PM <rehrarthebrearar> yes
1:51 PM <rehrarthebrearar> 6. Confirm next meeting date/time
1:51 PM <rehrarthebrearar> July 1st, 17:00 UTC