2017-12-18 GnuCash IRC logs

00:28:53 *** mebX has joined #gnucash
00:28:54 *** lucky has quit IRC
00:32:14 *** mebX has quit IRC
01:21:05 *** mebX has joined #gnucash
01:25:25 *** Mechtilde has joined #gnucash
01:50:09 *** gnomey has quit IRC
02:04:03 *** Mechtilde has quit IRC
02:44:04 *** gjanssens has joined #gnucash
02:44:04 *** ChanServ sets mode: +o gjanssens
02:45:06 <gjanssens> .
02:55:03 *** fabior has joined #gnucash
03:30:10 *** fekepp has joined #gnucash
03:37:09 *** fekepp has quit IRC
03:37:30 *** fekepp has joined #gnucash
03:47:20 *** storyjesse has joined #gnucash
03:49:32 *** Mechtilde has joined #gnucash
04:00:20 *** fekepp has quit IRC
04:03:27 *** Mechtilde has quit IRC
04:34:00 *** fekepp has joined #gnucash
05:23:31 *** pilotauto has quit IRC
05:40:03 *** jotrago has joined #gnucash
06:51:05 <lmat> chris: Ah, I didn't see earlier, but just noticed: congratulations on successfully building and running the tests!
06:53:00 *** fabior has quit IRC
07:09:50 *** Mechtilde has joined #gnucash
07:23:42 *** warlord has joined #gnucash
07:34:48 *** Mechtilde has quit IRC
07:55:52 *** User has joined #gnucash
08:07:55 <chris> lmat thx your script did the trick; I had to disable AQBANKING due to lacking gwenhywfar
08:08:15 <chris> some tests fail and I'm not sure due to time64 or not eg qof
08:10:41 <chris> lmat gncEntry.c - gncEntryGetDate etc
08:18:41 <chris> these tests failed and I'm not sure is due to time64 work = test-qof, gnc-nuemric, -gnc-datetime, -split
08:18:51 *** oozer has joined #gnucash
08:18:56 <chris> interesting... the eguile template can output error messages on screen https://imgur.com/a/m6JjW
08:19:38 <warlord> chris: that's not surprising to me.
08:19:58 <chris> the unit tests?
08:21:51 <warlord> That e-guile can output error messages on screen.
08:25:07 <chris> it's quite a jump for me to understand eguile, will need to come back to it at some point in the future
08:26:09 *** fabior has joined #gnucash
08:26:29 <warlord> eguile is just a way to use guile like you would use php to build a dynamic web page.
08:26:37 *** oozer has quit IRC
08:27:00 *** oozer has joined #gnucash
09:00:52 *** storyjesse has quit IRC
09:01:13 *** storyjesse has joined #gnucash
09:09:47 *** storyjesse has quit IRC
09:10:10 *** noah has joined #gnucash
09:12:56 *** GabrieleV has quit IRC
09:21:22 *** noah has quit IRC
09:25:37 *** GabrieleV has joined #gnucash
09:26:37 *** chf has quit IRC
09:31:13 *** chf has joined #gnucash
09:51:07 <lmat> chris: The tests have been failing a long time. This is a good opportunity to learn git bisect, but it actually should be easier than that...just go back to the beginning of this work a few commits in ^_^
09:51:45 <lmat> chris: Done with gncEntry time64 alternatives.
10:03:58 *** kael has joined #gnucash
10:30:07 *** kael has quit IRC
10:32:20 <lmat> Excellent talk about simplicity: https://www.youtube.com/watch?v=rI8tNMsozo0
10:35:42 *** Mechtilde has joined #gnucash
10:40:00 <warlord> lmat: KISS principle?
10:43:14 *** sborman has quit IRC
10:49:05 *** Mechtilde has quit IRC
10:50:59 *** oozer has quit IRC
11:14:23 *** fekepp has quit IRC
11:29:06 *** mib_5bc2bf has joined #gnucash
11:34:06 <mib_5bc2bf> As the incoming Treasurer of our church I am wondering if anyone has experience with church accounts. I found Jacob Oommen's blog but I am wondering if there is a resource person in Canada?
11:37:20 <warlord> mib_5bc2bf: you might have better luck on the gnucash-user mailing list.
11:39:17 <jralls> mib_5bc2bf: Indeed, there are several users there with experience in nonprofit bookkeeping.
11:41:46 <jralls> lmat, chris: Re the tests that fail because of timezone: Do a rebase. I fixed almost all of that last week, though Dmitry Smirnov, the Debian packager, reports that there's still a problem with UTC.
11:44:18 *** mib_5bc2bf has quit IRC
11:45:33 *** gnomey has joined #gnucash
11:51:25 <gnomey> <jralls> gnomey: It is income. You can assign it to any income account you like including long-term cap gains. <= my problem is the inconsistency. In a the most normal situation, where you buy 10 shares for example, and there's no corp. action funny business, and you sell 10 shares to close the position, there is no record in the "income:LTCG" account. So why then would you record the forced sale of a
11:51:31 <gnomey> fractional share due to a split as "income:LTCG"? This leaves "income:LTCG" only showing fractional share sales.
11:52:00 <jralls> gnomey: Huh?
11:52:27 <gnomey> jralls: this was a conversation for a day or two ago
11:53:04 <gnomey> a normal stock buy/sell does not result in an income account line item
11:53:32 <jralls> It was from yesterday. I remember it perfectly. Your reply is nonsense, unless you're not booking your capital gains when you sell stock.
11:53:41 <gnomey> but exceptionally, if a corp. action causes a split with "cash in lieu", only then is it recorded as income
11:55:24 <gnomey> hmmm.. but why would i create an income transaction with a normal stock sale? That info would be entirely redundant, no? the buy and sale price implies the gain/loss
11:55:34 <jralls> gnomey: You need to either generate the capital gain splits yourself or use the lots facility, but you should book the capital gains/losses. chris wrote a very nice explanation for the T&CG last year. I suggest that you read it.
11:56:53 <gnomey> i'll have to have a look. but I'm skeptical, because when I don't do an extra booking for a sale, the cash amounts balance correctly with the statements of account that the broker sends
11:57:00 <jralls> gnomey: To recognize the income, of course. So when tax time comes you can just do an income statement (aka P&L report) and see the income:ltcg and income:stcg lines.
11:57:45 <jralls> Yes, of course the cash accounts balance. But your trial balance report won't.
11:58:05 <gnomey> i've been using a report tool to derive the capital gain from the buy/sale info for tax prep
11:58:30 <gnomey> i don't like the idea of duplicating that info.. but I'll have a look if it's the standard gnucash practice
11:58:43 <jralls> It's GnuCash
11:59:09 <jralls> sigh. It's GnuCash's way of implementing standard accounting practice.
12:00:46 <gnomey> when entering info that's already in the db, it sounds vulnerable to human error, whereas a tool that derives the gain/loss from the buy/sale info would not make mistakes
12:00:56 <gnomey> anyway, where is this doc? is it in the wiki?
12:01:48 *** mib_8kym2g has joined #gnucash
12:02:20 *** mib_8kym2g has quit IRC
12:02:44 <jralls> It's the Tutorial and Concepts Guide. You can get it from the help menu in GnuCash (if you're on Linux/BSD you may have to install a separate docs package) or you can read it online at https://www.gnucash.org/docs.phtml. You can also download a PDF, ebook, or mobi there.
12:03:44 *** mib_sk41qi has joined #gnucash
12:03:51 <jralls> The lots facility can automate the process of calculating the cap gains splits.
12:04:02 <gnomey> chapter 9.7 seems to be what i need to read
12:04:44 *** fekepp has joined #gnucash
12:05:56 <mib_sk41qi> I am looking for a Church Treasurer who has set up GNUCash for their church. Found Jacob Oommen's blog but was hoping for someone a bit closer to home (Western Canada)
12:08:25 <gnomey> jralls: thanks
12:09:22 *** finster has joined #gnucash
12:10:26 <jralls> mib_sk41qi: warlord and I both suggested that you look on the gnucash-user mailing list, though I don't think that there's anyone from western Canada there.
12:13:12 *** fekepp has quit IRC
12:13:15 *** fekepp has joined #gnucash
12:17:23 *** fekepp has quit IRC
12:18:37 *** finster has quit IRC
12:24:13 *** Mechtilde has joined #gnucash
12:49:02 *** Mechtilde has quit IRC
12:50:30 *** Mechtilde has joined #gnucash
13:01:31 <warlord> mib_sk41qi: I do think there *are* canadians, but not necessarily western canadian.
13:19:35 <jralls> lmat, chris: I found and fixed the UTC problem in GncTimeZone.
13:26:40 <jralls> warlord, gjanssens, chris: So now I'm looking at our practice of calling gnc-numeric-to-double to convert gnc_numerics into Scheme numbers and then (less often) double-to-gnc-numeric when going back. Based on https://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Reals-and-Rationals.html#Reals-and-Rationals this is an extraordinarily dumb thing to do as Scheme directly supports exact rationals.
13:27:59 <jralls> warlord, gjanssens, chris: I should say *seems to me* an extraordinarily dumb thing to do. I'm bringing it up because I'm no Scheme guru and I want you're opinions.
13:37:23 <jralls> warlord, gjanssens, chris: See also the tortuous gnc_gh_gint64_p, gnc_scm_to_numeric, and gnc_numeric_to_scm at https://github.com/Gnucash/gnucash/blob/master/libgnucash/engine/engine-helpers.c#L2001 and following. No doubt that was needed for Guile in 2001 but there's much more direct C API even in 1.8.
13:47:11 <warlord> jralls: I suspect the scheme/guile rational number support is much newer, and the "if it works, don't touch it" model of gnucash scheme hacking
13:47:42 <jralls> warlord: Much newer than 2001, right?
13:52:39 *** fabior has quit IRC
13:52:50 <jralls> Looks like it was between 1.6 and 1.8: The 1.6 manual says "Guile represents both real and rational numbers approximately using a floating point encoding with limited precision." and the 1.8 one " Exact rationals are represented by storing the numerator and denominator as two exact integers."
13:56:53 <warlord> That makes sense. Most of the schemers left between around the guile 1.4->1.6 migration (which coincided with the "modularization" of gnucash)
14:08:30 <jralls> Plus we kept 1.6 support around until 2011 (in what was then trunk; it stayed in 2.4). I remember cstim's elation at getting rid of slib as a separate dependency.
14:08:56 <warlord> Yes, I remember that..
14:15:13 <jralls> I guess the history explains the design, but there's a good reason we have gnc_numeric (and now GncNumeric & GncRational). Guile 2.0 uses gmp to provide infinite-precision exact rationals, so we can even convert GncRational directly once we remove support for 1.8.
14:17:42 <jralls> Oh well. Time to go erect the Yule Bush and bake some cookies.
14:17:50 *** jralls is now known as jralls_afk
14:18:34 <gjanssens> jralls_afk: the "gh" in gnc_gh_gint64_p is a clear indication this was written for guile 1.6. The "gh" variants of functions has been replaced in guile 1.8.
14:20:35 *** frakturfreak has joined #gnucash
14:38:16 <warlord> gjanssens: I think it was even earlier than 1.
14:38:17 <warlord> 1.6
14:38:26 <warlord> I think guile 1.4 also used gh_
14:38:50 *** Mechtilde has quit IRC
14:41:20 *** Mechtilde has joined #gnucash
15:00:54 <gjanssens> warlord: probably. I meant to convey guile 1.8 was the first to provide the scm variant (I don't know the exact differences, just ran into this when fixing swig for guile 2.0)
15:01:34 <warlord> *nods*
15:06:07 *** Mechtilde has quit IRC
15:09:55 <jralls_afk> gjanssens: OK. ISTM we can get remove gnc-numeric entirely and use Scheme rationals directly with a simple bridge to C's gnc_numeric and C++'s GncNumeric. Seem reasonable?
15:12:33 <gjanssens> jralls_afk: seems like a good idea even
15:12:50 *** oozer has joined #gnucash
15:14:11 *** User has quit IRC
15:55:35 *** mib_sk41qi has quit IRC
15:57:24 *** fbruetting has joined #gnucash
16:36:30 *** pilotauto has joined #gnucash
16:45:11 *** frakturfreak has quit IRC
16:59:56 *** oozer has quit IRC
17:00:23 *** MadDogMcCree has joined #gnucash
17:08:18 *** gjanssens has quit IRC
17:14:24 *** oozer has joined #gnucash
17:27:04 <chris> ^ wow reading above is like reading old WW2 manuals and videos
17:27:48 <chris> scheme indeed does infinite precision rationals directly
17:31:57 <chris> lmat thanks for the changes - there's an annoying blocker on upgrading business/owner-report.scm which means the whole app segfaults
17:34:04 <chris> lmat more importantly I think I'll need to kill my early commit f65e90a1 which reindents all .scm - it seemed a good idea at the time but makes merging extremely complicated
17:35:14 <chris> lmat this means we need to divorce all scm and .c/.h changes completely so I can rewrite .scm history right?
17:45:27 <chris> lmat ^ there is one commit of mine e394643be which touches gnc-date.cpp, perhaps you can own this one?
17:48:58 *** kael has joined #gnucash
17:51:30 <chris> taxtxf.scm teaches how to export TXF - will be easy to export CSV as well
18:22:41 <chris> jralls you'll know best how to access guile rationals directly - they're a pleasure to use cf python
19:00:33 *** chris has quit IRC
19:00:45 *** chris has joined #gnucash
19:18:12 *** oozer has quit IRC
21:01:13 *** sbluhm has quit IRC
21:01:59 *** kael has quit IRC
21:11:07 *** oozer has joined #gnucash
21:45:56 *** User has joined #gnucash
21:53:29 *** oozer has quit IRC
21:54:43 *** User has quit IRC