2019-12-07 GnuCash IRC logs

00:09:18 *** Gerd has joined #gnucash
00:31:49 *** Gerd has quit IRC
00:37:05 *** omnireq has quit IRC
00:46:22 *** FH_thecat has joined #gnucash
01:09:02 *** Mechtilde has joined #gnucash
01:28:55 *** obscurans has quit IRC
01:30:13 <chris> because gnc:account-accumulate-at-dates needs to call an scm lambda split->amount, oops i'm full of typos
01:43:33 *** obscurans has joined #gnucash
01:57:02 <chris> @tell gjanssens perhaps you can offer your interpretation of my SplitPair implementation instead... the GList->SCMlist is too slow
01:57:02 <gncbot> chris: The operation succeeded.
01:58:30 <chris> it could live in base-typemaps.i
02:00:30 <chris> python calls these things generators
02:44:09 *** sbluhm has joined #gnucash
03:09:15 *** gjanssens has joined #gnucash
03:09:15 *** gncbot sets mode: +o gjanssens
03:09:15 *** ChanServ sets mode: +o gjanssens
03:09:39 *** sbluhm has quit IRC
03:11:13 <gjanssens> .
03:11:13 <gncbot> gjanssens: Sent 1 hour and 14 minutes ago: <chris> perhaps you can offer your interpretation of my SplitPair implementation instead... the GList->SCMlist is too slow
03:18:07 *** pohly1 has joined #gnucash
03:22:46 *** omnireq has joined #gnucash
03:23:36 *** bertbob has quit IRC
03:26:23 *** bertbob has joined #gnucash
03:26:24 *** ChanServ sets mode: +v bertbob
03:27:08 *** sbluhm has joined #gnucash
03:27:08 *** ChanServ sets mode: +v sbluhm
03:29:26 *** bertbob has quit IRC
03:33:53 *** sbluhm has quit IRC
03:35:08 *** bertbob has joined #gnucash
03:35:09 *** ChanServ sets mode: +v bertbob
03:37:18 *** omnireq has quit IRC
03:43:26 *** o01eg has quit IRC
03:59:46 *** pohly1 has quit IRC
04:10:30 *** omnireq has joined #gnucash
04:11:43 *** omnireq has quit IRC
04:16:32 <gjanssens> chris: I'll have to think about that for a while...
04:17:47 <chris> gjanssens: np
04:18:46 <chris> see irc logs - I'm sure my idea has merit
04:19:17 <chris> eg qofquery produces a result of 10,000 splits... would avoid looping 20,000 splits unnecessarily
04:20:04 <gjanssens> Yes, clearly it would be better to avoid that.
04:21:17 *** Mechtilde has quit IRC
04:21:51 <chris> fwiw my branch maint-pairs does it but I don't quite know how it works, e.g. why does xaccAccountSplitPairCdr know how to find split->next. It's black magic C to me :)
04:30:21 <chris> other GList types - account/lot/commodity/price/entry will not be as acutely slowed as splits
04:35:14 *** obscurans has quit IRC
04:36:08 *** Mechtilde has joined #gnucash
04:37:34 *** omnireq has joined #gnucash
04:56:21 *** fabior has joined #gnucash
04:56:58 *** omnireq has quit IRC
05:00:09 *** omnireq has joined #gnucash
05:01:08 *** FH_thecat has quit IRC
05:01:51 *** omnireq_ has joined #gnucash
05:02:48 *** omnireq has quit IRC
05:06:53 *** bertbob has quit IRC
05:11:39 *** omnireq_ has quit IRC
05:16:31 *** bertbob has joined #gnucash
05:16:31 *** ChanServ sets mode: +v bertbob
05:19:48 *** fell has joined #gnucash
05:19:49 *** ChanServ sets mode: +o fell
05:28:05 *** Mechtilde has quit IRC
05:35:55 *** Mechtilde has joined #gnucash
06:36:48 *** Gerd has joined #gnucash
07:04:45 *** puck has quit IRC
07:08:54 *** User__ has joined #gnucash
07:13:23 *** puck has joined #gnucash
07:22:34 *** Gerd has quit IRC
07:26:01 *** Gerd has joined #gnucash
07:37:35 *** sbluhm has joined #gnucash
07:37:36 *** ChanServ sets mode: +v sbluhm
07:48:30 *** pohly1 has joined #gnucash
07:51:58 *** User__ has quit IRC
07:53:09 *** oozer has joined #gnucash
08:00:08 *** finster has joined #gnucash
08:01:24 *** finster has left #gnucash
08:03:38 *** fabior has quit IRC
08:21:29 *** jervin has joined #gnucash
08:24:01 *** Orbstheorem[m] has joined #gnucash
08:29:14 *** sunyibo[m] has joined #gnucash
08:30:01 *** Orbstheorem[m] has left #gnucash
08:33:58 <sunyibo[m]> Hello everybody!
08:34:23 *** jervin has quit IRC
08:35:45 *** monkeyjuice has joined #gnucash
08:36:24 *** monkeyjuice has quit IRC
08:44:53 *** fabior has joined #gnucash
08:53:23 *** pohly1 has quit IRC
09:01:08 *** FH_thecat has joined #gnucash
09:06:46 *** Jimraehl1 has joined #gnucash
09:08:16 *** Jimraehl1 has quit IRC
09:49:13 *** User__ has joined #gnucash
10:00:10 *** jralls has joined #gnucash
10:01:16 *** ChanServ sets mode: +o jralls
10:02:26 <jralls> chris: Your idea *does* have merit, it's just that your implementation is flawed.
10:05:13 <chris> oh I am sure
10:06:11 <chris> I am quite surprised that the implementation does kinda work tbh; pointers driving me crazy
10:06:57 <chris> the idea is to *avoid* exposing a GList... but what else to expose other than a fake-cons pair?
10:08:19 <jralls> chris: Instead of GList typemaps we can use glist-car and glist-cdr on the GLists as I described on Github. It might have to be a separate function per type (i.e. gnc-splits-car etc.) to get SWIG to correctly handle the type conversions.
10:08:38 <jralls> Why not expose the GList?
10:08:57 <chris> because GLists are useful in other situations eg list of accounts, list of lots
10:09:14 <chris> it'd be far too difficult to modify all GList functions in scheme all at once
10:09:53 <chris> only list-of-splits are potentially heavy
10:10:01 *** jervin has joined #gnucash
10:10:10 <chris> plus GLists -> SCM lists is much easier for a scm newbie to work on
10:10:37 <jralls> Oh, no, there are other lists that can get heavy. There was a bug recently about a book with over 1000 accounts.
10:11:35 <jralls> But yes, one step at a time.
10:12:41 <chris> My proposal would be a new type Pair, containing car (gpointer) and cdr (gpointer to Pair)
10:12:51 <chris> xaccAccountGetSplitList would still exist
10:13:07 <chris> xaccAccountGetSplitPairs would wrap it and do the needful
10:14:03 <chris> gnc_account_get_descendants expose GList; gnc_account_get_descendants_pairs wrap it.
10:14:04 <chris> etc
10:15:43 <jralls> What I think you're missing is that there's no need for a new struct: A GList node *is* that pair (actually a tuple of 3 because GLists are double-linked).
10:16:00 <chris> ah
10:16:35 <chris> then I don't actually know how it would work
10:17:07 <chris> (i.e. the change)
10:19:45 <jralls> For development I think you're right that a new function is simplest so there's a single instance that hides the GList from SWIG so it doesn't invoke the typemap.
10:21:30 <chris> that would be a new function for each old function that we want to optimize
10:21:50 <jralls> It just occurs to me that we're probably reinventing the wheel: The Guilers probably worked out how to traverse a C list without copying ages ago.
10:22:28 <chris> I suspected so... asked them yesterday, no reply
10:23:16 <jralls> On IRC or mailing list?
10:23:22 <chris> IRC
10:23:33 <chris> the candidate guile projects are guile-gi, g-golf
10:25:13 <chris> this goes deeper into gtk than I understand
10:25:32 <chris> this goes deeper into g* than I understand (g* means any gi glib gtk gnome stuff)
10:25:38 <jralls> I've noticed that they don't seem to look back in IRC. If you happen to catch someone who knows you get a reply but otherwise it spools off unanswered, so you have to keep trying.
10:27:38 <jralls> Not really. GList is just a name for a bog-standard doubly-linked list. GSList is a singly-linked list, which is what lispish languages use as their primary container.
10:29:13 <jralls> Where things get interesting in Gnome is memory management, particularly classes using GObject. But that's completely peripheral to traversing lists.
10:30:07 <chris> http://git.savannah.gnu.org/cgit/g-golf.git/tree/g-golf/glib/gslist.scm
10:30:11 <chris> ^ bingo
10:31:10 <chris> ... calls glist functions directly, i.e. completely different to gnucash's glist
10:32:34 <jralls> Thereby stuffing their Scheme code with C-like list manipulation. Yuk.
10:32:36 *** oozer has quit IRC
10:33:25 <chris> well this project is 100% about wrapping gnome api into scheme.
10:34:23 <jralls> OK. I'd give that another Yuk.
10:35:01 *** jervin has quit IRC
10:35:02 *** jervin has joined #gnucash
10:36:36 <chris> fwiw the guile file io api is also similarly unfunctional
10:36:38 <jralls> You said earlier that copying the GList to an SCM list is easier for a Scheme beginner to grok, but it's slow. I submit that providing a Schemish way to interact with a C list makes it easy for a Schemer to grok and can save the copying.
10:37:55 <jralls> Sure. Anything involving state is unFunctional. That's a large part of why Functional remains a largely academic exercise not much used in The Real World™.
10:38:26 <chris> this means offering g_list_next type calls?
10:38:47 <jralls> It means that g_list_next == cdr.
10:39:37 <chris> well, no... cdr must be a list of all the remaining elements, not just the elt->next one... cdr must terminate with NULL
10:40:04 <jralls> Which is what g_list_next returns: A ptr to the rest of the list.
10:40:27 <jralls> and the last element of the list's next ptr is NULL.
10:40:44 <chris> interesting idea
10:41:16 <jralls> No, *that's the way it works*. Go find the implemntation of cdr in Guile.
10:44:50 <chris> Maybe I'll ask in their mailing list in couple days
10:45:38 <chris> gtg now!
10:45:43 <jralls> Bye!
10:59:27 *** jervin has quit IRC
11:00:25 *** sbluhm has quit IRC
11:14:59 *** jervin has joined #gnucash
11:36:46 *** oozer has joined #gnucash
11:41:01 <gjanssens> FYI the win32 maint build hung again today. I have just killed it. Server is currently building master. I'll restart maint afterwards.
11:51:12 *** boldstripe_ has joined #gnucash
11:51:28 *** boldstripe has quit IRC
11:51:28 *** boldstripe_ is now known as boldstripe
11:54:01 *** jervin has quit IRC
11:59:26 *** pohly has joined #gnucash
12:01:26 *** omnireq has joined #gnucash
12:04:40 *** jervin has joined #gnucash
12:14:23 *** pohly has quit IRC
12:28:33 *** Gerd has quit IRC
12:29:56 <gjanssens> ...and the master build failed :(
12:30:27 <gjanssens> I'll look into why exactly. It did work locally so probably a build order issue.
12:36:25 <jralls> Unbound variable: ACCT-TYPE-PAYABLE in (gnucash reports standard payables)
12:36:38 *** omnireq_ has joined #gnucash
12:37:12 *** omnireq has quit IRC
12:38:49 *** Gerd has joined #gnucash
12:51:39 *** jervin has quit IRC
12:56:14 *** ArtGravity has joined #gnucash
12:56:14 *** ChanServ sets mode: +v ArtGravity
13:01:07 *** debabrata has joined #gnucash
13:01:08 <gjanssens> jralls: I did see the error message :)
13:01:17 <gjanssens> Need to figure out why it happens
13:01:33 <gjanssens> But first diner
13:08:51 *** debabrata has quit IRC
13:33:22 *** oozer has quit IRC
14:09:31 *** oozer has joined #gnucash
14:12:43 *** oozer has quit IRC
14:13:51 *** frakturfreak has joined #gnucash
14:13:51 *** ChanServ sets mode: +v frakturfreak
14:14:05 *** jralls has quit IRC
14:14:11 *** jralls has joined #gnucash
14:14:58 *** jralls has joined #gnucash
14:15:41 *** jralls has quit IRC
14:15:46 *** jralls has joined #gnucash
14:15:59 *** sbluhm has joined #gnucash
14:16:28 *** jralls has quit IRC
14:16:33 *** jralls has joined #gnucash
14:17:20 *** jralls has joined #gnucash
14:18:03 *** jralls has quit IRC
14:18:08 *** jralls has joined #gnucash
14:18:55 *** jralls has joined #gnucash
14:19:38 *** jralls has quit IRC
14:19:43 *** jralls has joined #gnucash
14:20:25 *** jralls has quit IRC
14:20:30 *** jralls has joined #gnucash
14:21:18 *** jralls has joined #gnucash
14:22:00 *** jralls has quit IRC
14:22:05 *** jralls has joined #gnucash
14:22:53 *** jralls has joined #gnucash
14:23:36 *** jralls has quit IRC
14:23:40 *** jralls has joined #gnucash
14:24:23 *** jralls has quit IRC
14:24:28 *** jralls has joined #gnucash
14:25:15 *** jralls has joined #gnucash
14:25:58 *** jralls has quit IRC
14:26:03 *** jralls has joined #gnucash
14:26:50 *** jralls has joined #gnucash
14:27:33 *** jralls has quit IRC
14:29:57 *** fabior has quit IRC
14:32:21 *** o01eg has joined #gnucash
14:34:21 *** pohly has joined #gnucash
14:36:25 <gjanssens> Ok, all that was needed was to completely remove the build directory for gnucash-git
14:36:37 <gjanssens> Looks like there were still some artefacts interfering
14:36:39 <gjanssens> whew
14:49:25 *** pohly has quit IRC
15:07:43 *** oozer has joined #gnucash
15:10:45 *** oozer has quit IRC
15:13:25 *** ArtGravity has quit IRC
15:17:56 *** oozer has joined #gnucash
15:18:47 *** oozer has quit IRC
15:32:16 *** jralls has joined #gnucash
15:32:29 <gjanssens> We have a new master build for donwload :)
15:35:29 *** jralls has quit IRC
16:01:17 *** jervin has joined #gnucash
16:02:09 <warlord> gjanssens, yay!
16:08:52 *** jervin has quit IRC
16:09:59 *** jervin has joined #gnucash
16:15:04 *** User__ has quit IRC
16:15:21 <CDB-Man> Does gnucash have a subledger function to keep track of prepaid expenses?
16:15:57 <CDB-Man> In other words, instead of debiting my prepaids to a regulr asset account then keeping an excel file with all the various prepaids in that account, is there a subledger module to do it?
16:16:15 <CDB-Man> that or, i guess I could abuse the AR functionality and try to do it through that
16:16:42 *** oozer has joined #gnucash
16:20:10 <warlord> CDB-Man, can you give an example of what you mean? I'm not following what you mean by "prepaids" here...
16:20:34 <CDB-Man> Prepaid insurance for example. Pay on Jan 1st for 12 months of auto insurance
16:20:43 <CDB-Man> then proceed to expense 1/12 of the balance at the end of each month
16:21:20 <CDB-Man> easy to track when there's only 1 prepaid balance to maintain, but gets a bit more hectic if there's multiple... all through a standard Asset account
16:21:36 <CDB-Man> I have an Excel file with 1 table per prepaid balance right now, to track the running balance on each one
16:40:31 *** fell_laptop has joined #gnucash
16:40:31 *** ChanServ sets mode: +o fell_laptop
16:40:31 *** fell has quit IRC
17:18:48 *** Mechtilde has quit IRC
17:23:01 *** jervin has quit IRC
17:42:14 *** sbluhm has quit IRC
17:45:19 *** sbluhm has joined #gnucash
17:45:19 *** ChanServ sets mode: +v sbluhm
17:46:38 *** Gerd has quit IRC
18:16:49 *** sbluhm has quit IRC
18:17:13 *** jervin has joined #gnucash
18:26:52 *** boldstripe has quit IRC
18:27:02 *** boldstripe has joined #gnucash
18:46:25 <chris> jralls: https://github.com/swig/swig/pull/989/files
18:47:19 <chris> https://github.com/swig/swig/pull/1143/files
18:56:29 *** waeking has quit IRC
19:08:16 *** waeking has joined #gnucash
19:08:16 *** ChanServ sets mode: +v waeking
19:43:56 *** bertbob has quit IRC
19:49:18 <frakturfreak> CDB-Man: My Solution to this is using scheduled transactions and The reconsilition report and ordering all un-reconsiled transactions by description
19:49:43 <CDB-Man> hmm
19:50:11 <CDB-Man> though I don't like the idea of leaving balances unreconciled in the prepaids, when in fact the balance does reconcile to the 3rd party (ie insurance company)
19:52:02 <frakturfreak> Well you can reconsile the liability account but don’t have to do it on the prepaid assets
19:52:15 <frakturfreak> * expenses
19:53:27 <CDB-Man> i suppose, but less than ideal -- balance sheet accounts better lend themselves to being reconciled than I/S accounts
19:57:31 <frakturfreak> but what to reconsile your deffered assets against? There’s no bank statement where you can tick of each transaction to check if you got the same balance, for this i treat ttihs account as I please
19:59:01 <CDB-Man> well, in the insurance co eample, the insurance co shows the remaining prepaid balance, rather than the YTD expense
20:00:54 *** gjanssens has quit IRC
20:04:19 <frakturfreak> Well depending on how you calculate you can get different values for this
20:04:57 *** bertbob has joined #gnucash
20:04:58 *** ChanServ sets mode: +v bertbob
20:05:47 <CDB-Man> well, I draw down on the accrual based on the cost of insurance per month as per the insurance co
20:08:32 <frakturfreak> Well at my work we do it yearly down to the day and 366 days in a leap year, but i’ve also seen your method or only counting months to one year depending on the 15th of the month and rounding to full currency amounts …
20:09:42 <CDB-Man> the insurance co prorates based on a 365/366 day year, so their math is the same as I would have done otherwise
20:10:17 <CDB-Man> ultimately what I'm getting at is that gnucash only has subledger ability for AR/AP, and not for any other account(s)
20:11:58 <frakturfreak> And this function has a severe bug, in that you can’t assign file to transactions generated by this module because they’re write-protected, (at least from within gnucash without tweaking the database)
20:22:01 <CDB-Man> .... hmmm my customer report just broke... no transactions listed anymore
20:23:41 <CDB-Man> hmm, maybe its because i went and reconciled all the transactions in the account?
20:23:58 <CDB-Man> no, that's not it
20:25:18 <CDB-Man> ah, somehow the rport's selected target account got changed without me knowing... wierd
20:38:22 <CDB-Man> well, after messing around with this for a while, your idea of using reconciliation status to generate a pseudo sublegder works in the interim
20:44:06 *** storyjesse has joined #gnucash
21:03:09 <chris> CDB-Man: bug 797158 now fixed
21:03:39 <CDB-Man> ooh, was that the one regarding the memo displayed from the AP splits in the AP report?
21:03:43 <chris> fixed in 3.7
21:03:49 <chris> no AP account reset
21:03:58 <chris> memo etc is it your bug report?
21:04:03 * CDB-Man checks the bug report again
21:04:09 <chris> try the new experimental reports in latest nightlies
21:04:29 <chris> has new owner reports, much more capable
21:04:40 <chris> gtg
21:04:54 <CDB-Man> hmm, well, i dont have any emails about 797158, i dont think it was me
21:06:46 <CDB-Man> hmm, chris my bug report was 797255 https://bugs.gnucash.org/show_bug.cgi?id=797255
21:09:16 <chris> well try the newest nightlies. i'm not touching the old owner report, it's too old.
21:16:38 <CDB-Man> what do you mean by "old" and "new" owner, chris?
21:20:07 <chris> old=current business report, unchanged for years
21:20:33 <chris> new=candidate upgraded reports, in experimental submenu, rewritten and upgraded
21:20:40 <chris> in latest nightlies only
21:21:09 <CDB-Man> ah, that's what you mean
21:21:38 <CDB-Man> well, it looks like I'm still running 3.6, so I'll install 3.7 stable first and see if it still exists, then if yes i'll create that simple test file for you
21:24:25 *** omnireq_ has quit IRC
21:24:35 *** omnireq_ has joined #gnucash
21:24:42 *** PowaBanga has quit IRC
21:24:50 *** oozer has quit IRC
21:26:01 <CDB-Man> bah, when i click create new file, gnucash just crashes....
21:26:01 *** PowaBanga has joined #gnucash
21:26:38 <chris> the experimental reports are not in 3.7 either
21:27:47 <chris> I think the crash-at-startup have been noted in -user archives
21:28:31 <CDB-Man> well, not startup per se. launch gnucash and by default it opens my last file, so far so good. go File -> New File, and it's here where it crashes
21:28:57 <CDB-Man> so, dunno how I'm going to create that file for you :)
21:32:38 <chris> here you go, no more excuses ;)
21:33:05 <CDB-Man> :D
21:43:27 *** frakturfreak has quit IRC
21:45:55 *** omnireq_ has quit IRC
21:46:24 <CDB-Man> done chris
21:46:45 *** omnireq_ has joined #gnucash
22:10:09 *** omnireq__ has joined #gnucash
22:11:40 *** omnireq_ has quit IRC
22:12:07 *** omnireq_ has joined #gnucash
22:13:25 *** omnireq__ has quit IRC
22:15:54 *** fell_laptop has quit IRC
22:32:25 *** omnireq_ has quit IRC
22:32:35 *** omnireq_ has joined #gnucash
22:51:44 *** oliver has quit IRC
22:53:26 *** oliver has joined #gnucash
23:13:55 *** omnireq_ has quit IRC
23:14:06 *** omnireq_ has joined #gnucash
23:26:37 *** obscurans has joined #gnucash
23:27:54 *** ChanServ sets mode: +v obscurans
23:35:25 *** omnireq_ has quit IRC
23:35:35 *** omnireq_ has joined #gnucash
23:40:18 *** Gerd has joined #gnucash
23:56:55 *** omnireq_ has quit IRC
23:57:05 *** omnireq_ has joined #gnucash