2021-07-18 GnuCash IRC logs

01:01:32 *** Mechtilde has joined #gnucash
01:16:20 *** frakturfreak has quit IRC
01:30:47 *** frakturfreak has joined #gnucash
01:55:04 *** fell has quit IRC
01:56:24 *** fell has joined #gnucash
01:56:24 *** ChanServ sets mode: +o fell
02:12:45 *** thechitowncubs has quit IRC
03:05:23 *** sbluhm has joined #gnucash
03:10:07 *** kcin has joined #gnucash
03:11:12 *** marusich has quit IRC
03:15:37 *** kcin has quit IRC
03:27:09 *** User has joined #gnucash
03:27:54 *** sbluhm has quit IRC
03:36:57 *** sbluhm has joined #gnucash
04:09:49 *** thechitowncubs has joined #gnucash
04:09:49 *** ChanServ sets mode: +v thechitowncubs
04:21:12 <chris> warlord: are you looking for a report-writer? :)
04:34:45 <Simon> to make the price list an array, gnc_price_list_insert and gnc_price_list_remove will have to be made private because you want to give they modify a GList
04:34:56 <Simon> s/you want to give//
04:35:11 *** qwer has joined #gnucash
04:35:27 <Simon> why can't scheme be given an array instead of a list?
04:36:20 <Simon> presumably there are functions to allow scheme to use a GList, can they be modified to support a GArray too?
04:37:55 <chris> Simon: AFAIK (jralls will confirm) C could use GArray, but the SWIGged functions need to construct/deconstruct a scheme list. Or a Python list.
04:38:55 <Simon> ok but that's not particularly difficult
04:40:34 <chris> agree. AFAIU as long as you are able to swig the SCM/PY list, it would be ok to modify the C implementation.
04:40:44 <chris> or better, convert to cpp
05:12:28 <Simon> there are so may optimisations in here based on list prepending
05:12:43 <Simon> the effect is that the array will end up doing a lot of prepending too
05:38:47 <Simon> ideally it would be a std::deque but then there needs to be a way to use that from the C and SWIG code
05:39:26 <Simon> which is why having gnc_price_list_insert() and gnc_price_list_remove() act on the underlying data directly is such a problem
05:40:00 <Simon> if those functions didn't exist (or expect to modify the price db) I could just return a GList as before for anything that queries it
05:48:33 *** field^Zzz3 has joined #gnucash
05:49:22 <Simon> it looks like those don't actually modify the price db
05:49:28 <Simon> so they could stay as they are
06:04:02 *** finster has joined #gnucash
06:04:03 *** ChanServ sets mode: +v finster
06:08:56 <finster> -quit
06:08:58 *** finster has quit IRC
06:20:02 *** qwer has quit IRC
06:29:29 *** sbluhm has quit IRC
06:38:18 <chris> Simon: utest-gnc-pricedb.c exists. would a binary search tree be appropriate for large pricedbs?
06:41:00 <Simon> I definitely want binary searching for my pricedb
06:41:07 <Simon> but it should be an array
06:42:30 <Simon> the overhead of linked lists and trees is too high when loading the pricedb
06:43:26 <chris> it would be a good candidate to convert it into in-memory sqlite :)
06:44:28 <Simon> a number of the algorithms need rewriting because they're based on traversing a sorted list
06:45:24 <Simon> I think the load time to store it sqlite only in memory will be too high too
06:46:02 <chris> but it matches the long term vision for engine
06:46:34 <Simon> it would need to be in the same form on disk, not just in memory
06:47:02 <Simon> otherwise it's doing a *lot* of INSERTs and index updates while loading
07:03:17 *** qwer has joined #gnucash
07:22:46 <chris> this is way beyond my paygrade so my opinion doesn't matter much here. eventually jralls warlord et al do wish to convert all engine to use in-memory sqlite, and I suspect the schema would match the sqlite datafile format.
08:00:37 *** field^Zzz3 has quit IRC
08:42:10 *** thechitowncubs has quit IRC
08:42:53 <warlord> SWIG has code to convert from G(S)List to a scheme list..
08:43:36 <warlord> But you double the memory usage, because the structures are unique. Modifying the list in scheme doesn't modify the G(S)List. So you need specific conversion functions and need to manually keep them in sync.
08:44:25 <warlord> for an array you need to know the count a-priori -- which you don't necessarily do.
08:45:00 <warlord> the move to an embedded SQLite will, IMHO, use the same schema as on-disk SQLite.. The next step after that would be "no need to load SQL into memory".
08:48:16 <warlord> chris, as for needing a report writer; let's see.
08:57:20 <chris> this was in jest, see the ":)"... I've utmost confidence in your scheme skills lol
08:58:04 <warlord> They are a little rusty. But having said that, I don't know how much scheme/report work would be necessary.
09:35:38 <chris> Simon: https://avi.im/blag/2021/fast-sqlite-inserts/
10:10:05 *** qwer has quit IRC
10:24:52 *** qwer has joined #gnucash
10:42:19 *** Pegasus_RPG has joined #gnucash
10:43:04 *** qwer has quit IRC
11:27:20 *** Pegasus_RPG has quit IRC
12:13:33 *** qwer has joined #gnucash
12:47:29 *** jervin has joined #gnucash
12:50:19 *** sbluhm has joined #gnucash
13:36:02 *** jervin has quit IRC
13:45:29 *** NoobAlice has joined #gnucash
14:10:05 *** tomk_dk has joined #gnucash
14:13:14 *** tomk_dk has quit IRC
14:16:23 *** thechitowncubs has joined #gnucash
14:16:23 *** ChanServ sets mode: +v thechitowncubs
14:44:59 <jralls> chris, in-memory SQLite3 would be used only with XML storage as an intermediate step to making XML a backup format only; operational storage would be SQL only.
14:49:17 *** Pegasus_RPG has joined #gnucash
14:49:31 <jralls> chris, c++options pushed to https://github.com/jralls/gnucash.
15:06:36 *** marusich has joined #gnucash
15:06:36 *** ChanServ sets mode: +v marusich
15:09:49 *** sbluhm has quit IRC
15:13:34 *** NoobAlice has quit IRC
15:14:00 *** NoobAlice has joined #gnucash
15:14:59 *** Pegasus_RPG has quit IRC
15:15:24 *** marusich has quit IRC
15:26:05 *** Pegasus_RPG has joined #gnucash
15:42:04 *** qwer has quit IRC
15:46:59 *** thechitowncubs has quit IRC
15:56:55 *** thechitowncubs has joined #gnucash
15:56:55 *** ChanServ sets mode: +v thechitowncubs
15:59:26 *** David has quit IRC
15:59:44 *** David has joined #gnucash
16:03:00 *** qwer has joined #gnucash
16:19:00 *** Pegasus_RPG has quit IRC
16:21:23 *** Mechtilde has quit IRC
16:33:14 *** NoobAlice has quit IRC
16:44:19 *** NoobAlice has joined #gnucash
17:31:51 *** User has quit IRC
17:40:04 <CDB-Man> chris: i finished the truth table
17:43:05 <CDB-Man> jralls: https://bugs.gnucash.org/show_bug.cgi?id=797796 oops... i think i accidentally removed you from the cc list. i was actually trying to remove wm
17:44:56 <CDB-Man> (realize now i dont have the capability to do so, and i may have actually removed myself)
17:45:03 <jralls> CDB-Man, I don't need to be on the CC list, I see all bugmail. Removing Wm isn't necessary, he's blocked from getting bugmail.
17:45:17 <CDB-Man> did i end up removing myself, then?
17:45:22 <CDB-Man> and adding myself back?
17:46:01 <jralls> Looks like yes to both.
17:47:25 <jralls> Odd that you managed to remove me but not Wm.
17:48:04 <CDB-Man> :D
17:48:28 <CDB-Man> appreciating that removing wm doesnt make a functional difference, i would still like to see him removed!
17:51:50 <jralls> OK, done.
17:59:13 <CDB-Man> thanks - it puts 1 part of my soul at rest ;)
18:01:43 *** David has quit IRC
18:02:02 *** David has joined #gnucash
18:19:40 *** mikee has quit IRC
18:20:30 *** mikee has joined #gnucash
18:46:18 <jralls> warlord: See the banner at https://bugs.llvm.org/?GoAheadAndLogIn=1. Apparently we're not the only ones with this problem.
18:51:36 *** qwer has quit IRC
19:25:56 <warlord> jralls, interesting
19:51:29 *** NoobAlice has quit IRC
19:53:03 *** NoobAlice has joined #gnucash
20:02:20 *** kramer has left #gnucash
21:11:39 <chris> CDB-Man: thx - the truth-table specifies DR/CR/NA. the next question is whether a DR amount is allowed to be zero. ditto CR.
21:12:25 <CDB-Man> the short answer is.... probably yes, but i havent given that too much thought yet
21:12:36 <chris> there's also asymmetry between Long & Short for Div.Reinvestment -- former has CR/CR latter all NA
21:12:36 <CDB-Man> yes for both
21:12:51 <CDB-Man> yeah, because when you're short a stock, you dont reinvest divs
21:13:02 <CDB-Man> that asymmetry is intended
21:13:46 <chris> to conclude - during shorting, doing "Div Reinvestm" is nonsensical.
21:13:54 <chris> ^ I can work witht that
21:15:28 *** Pegasus_RPG has joined #gnucash
21:37:17 <chris> CDB-Man; you forgot the FEES column :-o
21:40:40 *** NoobAlice has quit IRC
21:41:16 *** NoobAlice has joined #gnucash
21:43:44 *** lmat has quit IRC
21:52:39 *** storyjesse has joined #gnucash
21:56:55 *** jervin has joined #gnucash
22:01:01 *** alt_mikee has joined #gnucash
22:01:21 *** mikee has quit IRC
22:06:56 *** lmat has joined #gnucash
22:07:26 *** jervin has quit IRC
22:10:10 *** jervin has joined #gnucash
22:14:41 *** jervin has quit IRC
22:15:21 <CDB-Man> chris: good catch... will update
22:16:24 *** David has quit IRC
22:17:00 *** David has joined #gnucash
22:17:15 *** lmat has quit IRC
22:19:04 *** jervin has joined #gnucash
22:21:15 <CDB-Man> also caught an error on the short side
22:23:35 *** jervin has quit IRC
22:24:36 <CDB-Man> chris: https://bugs.gnucash.org/show_bug.cgi?id=797796#c205
22:32:37 *** alt_mikee has quit IRC
22:32:50 *** mikee has joined #gnucash
23:03:19 *** Pegasus_RPG has quit IRC
23:04:12 *** Aussie_matt has joined #gnucash