2019-10-08 GnuCash IRC logs

00:15:07 *** jervin has joined #gnucash
00:40:34 *** JacobS has quit IRC
00:48:53 *** Mechtilde has joined #gnucash
01:13:19 *** sbluhm has joined #gnucash
01:31:00 *** fell has quit IRC
01:32:20 *** fell has joined #gnucash
01:32:20 *** ChanServ sets mode: +o fell
01:39:11 *** Mechtilde has quit IRC
02:42:00 *** fabior has joined #gnucash
02:50:53 *** gjanssens has joined #gnucash
02:50:53 *** ChanServ sets mode: +o gjanssens
02:51:20 <gjanssens> .
02:51:20 <gncbot> gjanssens: Sent 10 hours and 25 minutes ago: <jralls> re: app-utils, I thought you knew that already. Yeah, it's pretty ugly.
02:51:21 <gncbot> gjanssens: Sent 6 hours and 10 minutes ago: <jralls> Same with OpenSuSE Leaf: It has only boost-1.66. Dumping that, switching to Tumbleweed.
02:52:45 <gjanssens> jralls: apparently I didn't fully realize the mess in app-utils.
02:53:14 <gjanssens> But that's ok. We'll fix it one issue at the time :)
03:58:52 *** fabior has quit IRC
03:59:56 *** fell has quit IRC
04:22:33 *** bertbob has quit IRC
04:29:50 *** bertbob has joined #gnucash
04:29:50 *** ChanServ sets mode: +v bertbob
04:31:04 *** fabior has joined #gnucash
04:40:36 *** bertbob has quit IRC
04:43:14 *** Mechtilde has joined #gnucash
04:52:55 *** fabior has quit IRC
04:58:58 *** fabior has joined #gnucash
05:13:07 *** fabior has quit IRC
05:38:15 *** bertbob has joined #gnucash
05:38:16 *** ChanServ sets mode: +v bertbob
05:58:43 *** chf has quit IRC
05:59:33 *** chf has joined #gnucash
06:36:09 *** Jimraehl1 has joined #gnucash
06:37:25 *** oozer has joined #gnucash
06:40:53 *** Jimraehl1 has quit IRC
06:46:30 <chris> @tell fell don't know which page CTEST flag must appear in
06:46:30 <gncbot> chris: The operation succeeded.
07:18:38 <warlord> .
08:25:53 *** oozer has quit IRC
08:49:11 *** TommyT has joined #gnucash
08:49:11 *** ChanServ sets mode: +v TommyT
08:55:49 *** fabior has joined #gnucash
08:59:21 *** sbluhm has quit IRC
09:24:12 *** monkeyjuice has quit IRC
09:34:21 *** oozer has joined #gnucash
09:56:22 *** jervin has quit IRC
09:57:52 *** jervin has joined #gnucash
10:02:32 *** omnireq has quit IRC
10:04:17 *** sbluhm has joined #gnucash
10:04:18 *** ChanServ sets mode: +v sbluhm
10:05:04 *** fabior has quit IRC
10:26:53 <chris> gjanssens: I can do budget-note as an html tooltip ^_^ but need to augment html-table https://imgur.com/a/ZEXIF0q
10:27:06 *** fabior has joined #gnucash
10:31:46 *** Mechtilde has quit IRC
10:32:39 <gjanssens> chris: cool!
10:33:20 <gjanssens> OTOH I wonder whether a footnote style accumulation of notes is perhaps better or should be offered as an alternative
10:33:54 <gjanssens> My reasoning is reports get printed or exported. In those situations the tooltips would be lost.
10:34:22 <chris> I can anticipate an RFE to convert these tooltips when @media print as footnotes O_o
10:36:05 *** Gerd has joined #gnucash
10:36:09 <chris> discoverability always a problem; ideally these budget-cells with notes would be rendered different type html-table-cell style
10:36:18 *** kael has joined #gnucash
10:36:18 *** ChanServ sets mode: +v kael
10:41:22 <gjanssens> Indeed.
10:45:11 *** chris has quit IRC
10:46:53 *** ArtGravity has joined #gnucash
10:46:53 *** ChanServ sets mode: +v ArtGravity
11:02:21 *** omnireq has joined #gnucash
11:02:21 *** ChanServ sets mode: +v omnireq
11:29:33 *** kael has quit IRC
11:29:58 *** kael has joined #gnucash
11:29:58 *** ChanServ sets mode: +v kael
11:45:09 *** kael has quit IRC
11:45:15 *** Gerd has quit IRC
11:49:18 <jralls> gjanssens: OpenSuSE Tumbleweed has gcc9 and boost 1.71, so should be OK (I still need to install the dependencies and try a build). What do you think about going ahead with specifying C++17 and upping the boost minimum version to 1.67 to encourage OpenBSD and OpenSuSE to move to newer distros?
11:50:05 <lmat> :-)
11:51:18 <gjanssens> For OpenBSD I think that's certainly ok. They are in the habit of catching up with linux distros.
11:51:34 <gjanssens> I have no idea about OpenSUSE
11:51:50 <gjanssens> I'm not too familiar with that ecosystem.
11:51:58 <jralls> lmat Have you looked at std::variant vs. boost::variant?
11:52:19 <gjanssens> Is their Leap offering. Is that something like Ubuntu's LTS ?
11:52:48 <gjanssens> By the way I don't suppose RHEL/CentOS 7 would comply ?
11:53:04 <jralls> gjanssens: OpenSuSE Tumbleweed is the equivalent of Fedora Rawhide or Debian unstable. It shows what's in the pipeline. Leap is their stable branch, updated more or less annually.
11:53:07 <lmat> jralls: No. The only time I have ever used *::variant is when I worked on gnucash KVP!
11:53:37 <gjanssens> Oh. Ok
11:54:00 *** guak has joined #gnucash
11:54:10 <jralls> I haven't looked at what's in the RHEL/Centos EPEL lately. The last version bump was what, 5 years ago?
11:57:03 <gjanssens> CentOS has recently released both CentOS 7.7 and 8
11:58:28 *** Mechtilde has joined #gnucash
11:59:04 <gjanssens> As for OpenSUSE, they plan to release Leap 15.2 around May 2020. That should be at least half a year before our 4.x release.
11:59:31 <jralls> I thought that we were going to release 4.x next January?
11:59:39 <gjanssens> According to repology though 15.2 so far is still shipping 1.66
12:00:13 <gjanssens> Hmm, yes, half a year is clearly wrong :(
12:00:29 <gjanssens> OTOH do you think we'll get 4.x ready by January ?
12:00:45 <jralls> https://repology.org/project/boost/versions says Centos 8 has boost 1.66. That's an epic fail considering that it's 2 years old.
12:01:30 <gjanssens> Yeah, RHEL's policy is to branch a Fedora release at a certain point in time and then stabilize it further
12:01:41 <gjanssens> RHEL 8 was based on F28
12:02:08 <gjanssens> They won't do big version updates after branching except for a few select packages (like webbrowser)
12:02:32 <gjanssens> Though there's talk this may be relaxed a bit more in the future.
12:03:06 <gjanssens> Particularly with the introduction of CentOS Stream (a project that will straddle between Fedora and RHEL)
12:03:23 <gjanssens> I don't know how that will work out in practise yet.
12:04:20 *** fabior has quit IRC
12:04:22 <gjanssens> Regardless we've always known RHEL and CentOS to be rather behind.
12:05:27 <gjanssens> My take on that is they apparently don't mind not being on the latest and greatest releases of software. So it should be ok for those gnucash users to use an older version
12:06:08 <gjanssens> Those so inclined can also install a flatpak with a more recent version (wich a few restrictions as limited printing support and no F::Q support)
12:06:13 <jralls> It's still a fail. The boost::locale developer suffered a major recto-cranial insertion about auto_ptr, see https://github.com/boostorg/locale/issues/27. One expects boost developers to be on top of the standard process. He should have followed the auto_ptr->unique_ptr switch as soon as most compilers supported it, not waited until auto_ptr was removed from the language.
12:07:59 <jralls> So boost::locale doesn't support C++17 until 1.67.
12:08:38 <gjanssens> Right. That's ugly :(
12:09:04 <gjanssens> So we do have to go for 1.67 at a minimum if we want to enable C++17 support.
12:09:31 <gjanssens> As we want to start using the C++17 features, I think we should go for it.
12:10:19 <jralls> Now, back to GC4: I thought that we'd settled on a "release what we have" for the end of this year, but BobIT suggesting holding off a month to avoid colliding with the holidays. Not that that's ever stopped us before, we released 2.4.0 and 2.6.0 right around Jan 1.
12:10:46 <gjanssens> It's up to the distro packagers of older distros to figure out what's needed on their platform to get it included.
12:11:00 <gjanssens> We did settle on that.
12:11:58 <gjanssens> And at the same time settling on that timeline has prompted me to start cleaning up things that have been bothering me for ages.
12:12:17 <gjanssens> I think I'm getting into pre-release stress already :)
12:12:46 *** sbluhm has quit IRC
12:13:00 <jralls> I was about to say "which is good"--meaning the cleaning up. Stress isn't so good.
12:13:25 <gjanssens> Well, it's tongue in cheek. I'm not really stressing out.
12:13:44 <gjanssens> Do you think you'll get the options rewrite ready in time ?
12:14:16 <gjanssens> I really hope to get the no-more-guile-in-libgnucash work complete for GC4
12:15:26 <jralls> That I'm not so sure about. I think I can get the first part, making options and the "optiondb" C++ objects instead of Scheme ones, done in another few weeks.
12:15:27 <gjanssens> And IIRC some C work is still blocking some of chris' PRs
12:16:14 <jralls> There's still a bit of guile untangling to do after that.
12:16:31 <gjanssens> Related to options you mean ?
12:16:40 <jralls> Yes.
12:16:51 <gjanssens> Ok. We'll see
12:17:39 <gjanssens> I am now looking at the guile roundtrip induced by the register copy-paste mechanics
12:17:45 <jralls> Then there's the rest of app-utils. Some bits like gfec can just be picked up and moved. Others are a mix of C and Scheme like options, though not as tangled.
12:18:12 <jralls> Oh, geeze. Is that in app-utils?
12:18:14 <gjanssens> That's a large chunk of guile-util
12:18:44 <gjanssens> And tied into the engine-interface.scm functions exported by the engine code :(
12:19:16 <gjanssens> Luckily it's fairly self-contained, so I think I'll port to C(++) and then move to register code.
12:19:28 <jralls> That should be ":)", because those can mostly be converted to C with s/-/_/.
12:19:53 <gjanssens> You wish
12:20:12 <gjanssens> Those are functions writting in scheme and exported as part of the "engine-interface"
12:20:35 <jralls> Sigh. Who thought *that* was a good idea?
12:20:39 <gjanssens> What they really do is store a scheme interpretation of a split or transaction
12:21:10 <gjanssens> They can't use real splits and transactions as these are currently always linked to a transaction and an account
12:21:53 <gjanssens> However this is for clipboard functionality, so they just want to store what info is in the split or trans but prevent it from being linked to an account/transaction already
12:22:07 <gjanssens> There's no reason that should happen in scheme though.
12:22:24 <gjanssens> I have created similar pre-split and pre-trans objects for the csv importer
12:22:56 <gjanssens> At this point I don't know yet whether these can be easily reused/extended for the editing functions of the register
12:23:49 <gjanssens> Other than that part, the gettext helper can be moved straight into the guile bindings. There's no need to keep it in app-utils.
12:24:05 <gjanssens> And that's all I have investigated so far
12:27:37 <gjanssens> Huh, just saw a heisenbug passing by on my local build
12:28:28 <jralls> OK. There's also the formula stuff. The interest functions are implemented in Scheme, the rest is in C.
12:28:31 <gjanssens> test-engine failed for xaccTransCopyFromClipBoard
12:28:56 <gjanssens> Rerunning ninja-build check fixed it...
12:29:58 <gjanssens> Oh right the formula stuff. That may be a tough one still as well
12:30:02 <jralls> test-engine uses a lot of fuzzing.
12:31:06 <jralls> I think the formulas will be pretty easy, actually. There's nothing special about the Scheme... and IIRC it uses inexact numbers so the results are a bit dicey.
12:31:47 *** fell has joined #gnucash
12:31:47 *** ChanServ sets mode: +o fell
12:33:58 <gjanssens> Isn't the formula code able to read arbitrary expressions from the user's gnucash dir ? There's an expressions-x.y file there.
12:34:44 <gjanssens> So in theory it is currently capable of parsing arbitrary scheme code cast into an expression.
12:35:02 <jralls> Oh, great, another arbitrary Scheme exploit.
12:35:32 <gjanssens> Oh wait. That's the expression-parser. The predefined formulas are probably relatively easy to convert indeed.
12:35:58 <jralls> I think that they work by being passed to that same expression parser.
12:36:15 <jralls> But I haven't looked at it in a year or so.
12:36:17 * gjanssens wonders of anyone actually knows about this expressions user file other than me from gleaning at the code
12:36:51 <gjanssens> I have never ever heard anyone ask about this on gnucash-user, gnucash-devel or in a bug report
12:37:03 <gjanssens> s/wonders of/wonders if/
12:39:19 * jralls hopes no one does
12:41:08 <jralls> My plan for persisting the options is to write a simple serializer/parser that duplicates what the current Scheme writes. It will look like Scheme but be immune to scheme insertion attack because it won't actually know how to execute anything, just to extract the option values.
12:42:17 <gjanssens> Should chris' work to store report options in the book tie into this ?
12:42:52 *** sbluhm has joined #gnucash
12:42:52 *** ChanServ sets mode: +v sbluhm
12:44:10 * gjanssens has to leave
12:44:13 <gjanssens> TTYL
12:44:14 <jralls> That would be one way to do it, yes. But I wonder if we really want the saved report configuration in the book.
12:44:19 <jralls> Bye.
12:47:07 <gjanssens> We can continue this conversation Thursday (as I believe you're afk on Wednesdays)
12:47:47 *** kael has joined #gnucash
12:47:47 *** ChanServ sets mode: +v kael
13:06:52 *** sbluhm has quit IRC
13:12:21 *** Gerd has joined #gnucash
13:15:40 *** calvinct has joined #gnucash
13:18:06 <jralls> I am indeed afk on Wednesdays. There's a possibility I'll be offline Thursday, there's a possibility of a "public safety shutdown" of the electric power to protect against wildfires: https://www.pge.com/en_US/safety/emergency-preparedness/natural-disaster/wildfires/public-safety-event.page
13:37:33 *** Gerd has quit IRC
13:40:29 *** TownsendHardware has quit IRC
14:01:43 *** jervin has quit IRC
14:08:41 <jralls> gjanssens, successfully built my c++options branch in OpenSuSE Tumbleweed. I'll go ahead and convert master as we discussed.
14:10:19 *** frakturfreak has joined #gnucash
14:42:55 *** kriesel has joined #gnucash
14:43:35 *** kriesel has joined #gnucash
14:44:05 *** calvinct has quit IRC
14:44:30 *** calvinct has joined #gnucash
14:49:41 *** calvinct has quit IRC
14:49:56 *** calvinct has joined #gnucash
14:50:45 *** calvinct has quit IRC
15:02:04 *** kriesel has quit IRC
15:02:43 *** kriesel has joined #gnucash
15:05:53 *** kael1 has joined #gnucash
15:05:53 *** ChanServ sets mode: +v kael1
15:06:16 *** kriesel has quit IRC
15:06:28 *** kriesel has joined #gnucash
15:07:11 *** Gerd has joined #gnucash
15:08:01 *** kael has quit IRC
15:08:01 *** kael1 is now known as kael
15:12:56 *** sbluhm has joined #gnucash
15:12:56 *** ChanServ sets mode: +v sbluhm
15:18:17 *** kriesel has quit IRC
15:18:23 *** kriesel has joined #gnucash
15:25:00 *** kriesel has quit IRC
15:25:05 *** kriesel has joined #gnucash
15:27:40 <fell> I see moving saved reports in the book as a regression. Imagine several ussers with different tasks and as follow up reports working on the same book (at different times). They will get flooded with the reports of the other users.
15:27:40 <gncbot> fell: Sent 8 hours and 41 minutes ago: <chris> don't know which page CTEST flag must appear in
15:29:37 *** baileygoat has joined #gnucash
15:32:13 *** baileygoat1 has joined #gnucash
15:32:38 *** baileygoat has quit IRC
15:32:38 *** baileygoat1 is now known as baileygoat
15:34:06 <fell> Chris: Testing or the table in Cmake?
15:34:23 *** kael1 has joined #gnucash
15:34:23 *** ChanServ sets mode: +v kael1
15:35:00 <fell> @tell chris Testing or the table in Cmake?
15:35:00 <gncbot> fell: The operation succeeded.
15:35:01 *** kael has quit IRC
15:35:01 *** kael1 is now known as kael
15:39:13 *** baileygoat has quit IRC
15:55:10 *** Mechtilde has quit IRC
16:04:26 *** jervin has joined #gnucash
16:14:04 *** gjanssens has quit IRC
16:32:58 *** Agfarmer18 has joined #gnucash
16:33:02 *** Yotson has quit IRC
16:33:45 <jralls> fell That's one use case; the other is that a solo user has two computers and is sharing the file back-and-forth. Having the saved report configs in GNC_DATA_HOME is then a PITA.
16:34:45 *** Yotson has joined #gnucash
16:34:49 *** Agfarmer18 has quit IRC
16:35:54 <jralls> Another use case is multiple users who need to share the same saved report configurations. I suspect that multiple > 2 is pretty rare.
16:37:30 <fell> Hm, splitting them in user specific and file specific?
16:43:41 <jralls> Could do, I suppose. The user-specific ones could go in foo.gcm. We *could* further split off the ones that don't involve account selections for saved-reports-4.0, but let's not.
16:44:41 <jralls> OTOH I don't think we've gotten any push-back about folding them into the book on either mailing list.
16:52:56 *** sbluhm has quit IRC
16:57:05 *** calvinct has joined #gnucash
17:00:20 *** monkeyjuice has joined #gnucash
17:02:29 *** monkeyjuice has quit IRC
17:02:37 *** frakturfreak has quit IRC
17:20:36 *** calvinct has quit IRC
17:35:28 *** jervin has quit IRC
17:35:42 *** jervin has joined #gnucash
17:47:51 *** Gerd has quit IRC
17:58:28 *** Gerd has joined #gnucash
18:10:47 *** chris has joined #gnucash
18:10:47 *** ChanServ sets mode: +v chris
18:11:43 <fell> Another aspect: To fullfil governmental requirements, some user save a signed copy e.g. on CD. If they then want to improve a report they have to redo the whole process.
18:12:28 <fell> And there is the good old rule keep data and views separate.
18:13:28 <jralls> No sale on the "Government Requirements". GnuCash doesn't implement sufficient controls to make it acceptable for any purpose where audits would be a thing.
18:13:45 <jralls> You're just putting up straw men.
18:20:42 <jralls> Separating data and config is valid, but then we need to provide a not-per-user place to keep the config. One piece of that is that saved reports are surely application-side but the datastore is managed by libgnucash. Should we have a separate per-book config file, maybe foo.gncconfig next to foo.gnucash?
18:21:53 <jralls> If so, how do we manage that on a db-server backend? How will we manage concurrent access when the time comes?
18:27:48 *** waeking has quit IRC
18:27:49 *** waeking7 has joined #gnucash
18:27:49 *** ChanServ sets mode: +v waeking7
18:30:13 *** linas has joined #gnucash
18:30:19 *** linas_ has joined #gnucash
18:30:30 *** linas_ has left #gnucash
18:33:04 *** Gerd has quit IRC
18:34:42 *** kael has quit IRC
18:41:26 *** ArtGravity has quit IRC
18:47:57 <fell> In a data base you can have them in separate tables with different user rights. I don't see the point there.
18:49:06 <fell> The current problem are users, who do not know how to sync their PCs.
18:52:36 *** waeking7 has quit IRC
18:53:01 *** waeking7 has joined #gnucash
18:53:01 *** ChanServ sets mode: +v waeking7
19:02:05 *** omnireq has quit IRC
19:07:24 *** waeking7 is now known as waeking
19:54:22 *** omnireq has joined #gnucash
20:44:44 *** guak has quit IRC
20:51:44 *** oozer has quit IRC
21:49:17 *** jervin has joined #gnucash
21:56:11 *** jervin has quit IRC
23:44:36 *** TommyT has quit IRC