2008-02-01 GnuCash IRC logs

00:55:16 *** gregg has quit IRC
00:55:49 *** dbreiser has joined #gnucash
00:58:48 *** dbreiser has quit IRC
01:30:06 *** joerlend_ has joined #GnuCash
01:38:42 *** XiXaQ has quit IRC
03:14:58 *** danishka has joined #gnucash
03:19:30 *** snavin has quit IRC
03:31:32 *** kielein has joined #gnucash
03:42:17 *** ErKa has joined #gnucash
04:04:12 *** danishka has quit IRC
04:07:07 *** snavin has joined #gnucash
04:23:36 *** IanL has left #gnucash
04:23:50 *** joslwah has joined #gnucash
04:25:14 <joslwah> Is there a forum for discussing significant rewrites? Should I just post a proposal to -devel? The context is redoing the recurrence stuff so that it can deal with +/- n business days relative to a fixed date.
04:25:50 <joslwah> It requires significant changes to the way things are done at the moment, and probably centralising everything into one place (rather than the current duplication in two places at the moment).
04:28:01 *** andi5 has joined #gnucash
04:28:01 *** gncbot sets mode: +o andi5
04:58:35 *** andi5 has quit IRC
05:23:33 *** Demitar has quit IRC
05:32:12 *** Demitar has joined #gnucash
05:48:08 *** joerlend__ has joined #GnuCash
05:57:08 *** joerlend_ has quit IRC
06:27:32 *** joerlend__ has quit IRC
06:30:10 *** XiXaQ has joined #GnuCash
06:47:10 *** _gunni_ has joined #gnucash
07:39:05 *** kielein has quit IRC
08:24:08 *** Flakk has joined #gnucash
08:25:41 <Flakk> Hello people I am using gnucash for about two months all is fine. I have a question: if I have a remunerated account (that is, holding money there automatically gives me some interest on thsi money), can I include this feature to gnucash? so that gnucash show me how much interest I have earned with this account?
08:28:10 <jsled> joslwah: duplication?
08:28:36 <jsled> joslwah: But, yeah, -devel is perfect for this, and a discussion about non-small changes is usually recommended and welcome.
08:29:13 <jsled> Flakk: If the interest accumulation is very regular, you can probably setup the appropriate formulæ in a scheduled transaction.
08:29:35 <jsled> Or, you could have a scheduled transaction with a variable, such that it would prompt you for the interest value every $statement_period.
08:30:51 <Flakk> jsled: well this is not exactly the case. the problem is that i will be moving money back and forth so the amount there will never be constant, so there is a real need for some computation, which I would not like to do myself - say 30 days there were 1000 bucks, then 40 days there were 6000 bucks, and the interest rate is 3%/year...
08:31:10 <jsled> right. it can't do that, right now.
08:31:27 <Flakk> OK thanks for the info
08:31:56 <Flakk> it was meant basically to check whether the bank computes correctly the rate due
08:32:00 <Flakk> )
08:32:01 <jsled> Even the basic extension that we've talked about on other occasions (getting the current account balance of a date in order to compute interest) would probably not work with a more complex interest schedule based on intra-period changes.
08:32:14 <jsled> s/of a date/as of a date/
08:33:37 <jsled> biab.
08:52:44 *** donfede has joined #gnucash
09:23:07 *** Flakk has quit IRC
09:39:29 <joslwah> jsled, O.k. I'll write something at some point for discussion. And the duplication is between Recurrence.c and gnc-frequency.c which appears to do a lot of the same stuff.
09:39:58 <jsled> hmm. a bit of history...
09:40:10 <joslwah> Go for it.
09:40:36 <jsled> There was an old structure called src/engine/FreqSpec (for SXes). Then Recurrence came along (for budgeting). Recurrence was simpler and more featureful than FreqSpec.
09:41:01 <jsled> s/FreqSpec/Recurrence/ in the SX code, for 2.2.
09:41:06 <jsled> GncFrequency was written as a editor for FreqSpecs; is now an editor for Recurrences.
09:41:37 <joslwah> Background to my thinking: I'm planning on calls to recurrence stuff to be either "Here's a recurrence, and a date range --- give me a list of dates" or "Here's a list of recurrences, with associated transactions, and a date range --- give me a list of dates and transactions."
09:41:58 <joslwah> Clearly the former is a subset of the latter and the latter just uses the former and puts them all together.
09:41:59 <jsled> The intent is that GncFrequency really is just the editor, so there shouldn't be much functional duplication.
09:42:14 <jsled> Right. The GncSxInstanceModel does that.
09:42:37 <joslwah> So the changes make sense. If you look in gnc-frequency there seems to essentially be a copy of the Recurrence stuff.
09:42:42 <jsled> And, no, I don't think the recurrence code should know about transactions.
09:42:55 <jsled> I'm sure there's not.
09:43:28 <joslwah> Well, if it is going to return a list of dates, how does the receiver know which recurrence generated them, and hence which transaction to use?
09:43:42 <joslwah> Or do you really just want the first case?
09:43:55 <jsled> The recurrence isn't tied to a transaction, at all.
09:44:01 <jsled> It's more of a library component.
09:44:04 <jsled> Thus the date sequence.
09:44:13 <joslwah> I.e. All things calling recurrence stuff need to deal with one recurrence at a time?
09:44:25 <jsled> Some other application concept needs to aggregate the Recurrence with a Transaction, or Invoice, or …
09:44:53 <jsled> yeah, gnc-frequency.c is really small, and is all about flowing stuff into/outof the UI.
09:45:11 <jsled> Recurrence.c is UI-agnostic, and does the work of actually computing date sequences.
09:45:15 <joslwah> O.k. So you never want to just give the code a list of recurrences and associated whatevers (doesn't need to know what they are, just a pointer) and say "Sort that lot out"
09:45:27 <jsled> What's a receiver?
09:45:53 <joslwah> Well, it doesn't ever seem to return a list.
09:46:04 <jsled> which it?
09:46:06 <joslwah> Caller is probably more suitable.
09:46:39 <joslwah> Problem is that to deal with +/- n business days, you want to deal with lists and date ranges rather than a date and then ask for the next one.
09:46:48 <jsled> I understand.
09:46:57 <jsled> And that is one thing that hte Recurrence API does not do well, no.
09:47:00 <joslwah> Because, if you just ask for a date and then the next one you risk missing some.
09:47:18 <jsled> In fact, both the Sx Editor and SxInstanceModel duplicate that "get next instance" loop.
09:47:23 <jsled> And I absolutely see where it's problematic.
09:47:36 <joslwah> In a sense, are there any circumstances where using the Recurrence API doesn't want a list of all the occurances in a given date range?
09:47:45 <joslwah> Exactly.
09:47:56 <joslwah> That duplication is the real work of Recurrances.
09:48:03 <jsled> It'd be nicer for Recurrence ot have a GList* recurrenceNextInstances(Recurrence *r, union { GDate *end_date; int num_instances; }| )
09:48:04 <joslwah> At least it would be if I could spell.
09:48:11 <jsled> s,|,,
09:49:24 <jsled> No, I think in almost all instances the caller wants to get a list of recurrences, either by end date or number of occurrences.
09:49:29 <joslwah> Why not GList *getRecurrenceDates(Recurrence *r, GDate *start, GDate *end)?
09:49:50 <jsled> Each enough to cscope-find-calling-functions for recurrenceNextInstance to see what the callers actually do. :)
09:49:52 <joslwah> Start date is when?
09:49:56 <jsled> It's not always a start/end date.
09:50:03 <jsled> But it usually is.
09:50:08 <joslwah> O.k. But there must be a start date.
09:50:12 <jsled> yes
09:50:18 <jsled> There's always a start date, I think.
09:50:33 <joslwah> So add in your start date and have two wrapper functions. One for end date, one for end count.
09:50:54 <joslwah> With the end count one not promising to get that many.
09:51:13 <joslwah> (Recurrence may end before you have a enough)
09:51:33 <jsled> Recurrences don't have an edn date.
09:51:42 <jsled> an end date, either.
09:51:46 <joslwah> Hmmm. The ui specifies that recurrences can have an end date.
09:51:50 <joslwah> But the code doesn't allow it.
09:51:59 <joslwah> Well, the date structure doesn't allow it.
09:52:09 <jsled> That's left to the Recurrence-user.
09:52:23 <joslwah> That seems broken to me.
09:52:37 <jsled> It could probably move down, true.
09:52:46 <joslwah> One advantage of putting everything in one place is that it means you can just have one place to worry about it.
09:52:54 <joslwah> And one place to do it properly.
09:53:15 <joslwah> Oh, and thanks for applying the patch.
09:53:21 <jsled> Well, yes, of course.
09:53:24 <jsled> You're welcome
09:54:43 <joslwah> So, you think there shouldn't be anything higher level than "get me the occurances of this recurrence between these dates"? (Subject to being end date or count)
09:55:02 <jsled> No. I don't think Recurrence should handle anything higher level.
09:55:38 <joslwah> O.k. I suppose coming from the Lisp world I think of "Higher level the better"
09:56:16 <jsled> What are you thinking of as the higher level interface?
09:56:19 <joslwah> Right. I'll do some thinking and then write a proposal.
09:57:02 <joslwah> Having the args being "list of recurrences", "list of associated objects", "start", "end/count"
09:57:11 <jsled> Of course, there should be higher level concepts. But Recurrence is at the bottom of the stack, so it'd be a bit of a layering violation for it to know about other application concepts.
09:57:42 <joslwah> Returns a GList of date-object pairs. As far as Recurrence is concerned the object is just a void *
09:57:59 <joslwah> It doesn't know. It just has pointers back.
09:58:06 <jsled> Right. I don't see the point.
09:58:20 <jsled> IF you look at the SX code, one thing that might be useful is a "DeferrableRecurrence".
09:58:54 <joslwah> Well, for the "recurrences since last run" you'd just get a list of dates with what is supposed to happen then.
09:58:55 <jsled> Since all the SX code to manage "postponed" and "ignored" instances isn't SX specific...
09:59:30 <joslwah> But it was more as an idea of helper code, rather than being essential.
09:59:37 <joslwah> Not a big issue.
09:59:38 <jsled> ... except, that there is some logic about what needs to be associated with those postponed and deferred instances that is SX specific.
09:59:50 <joslwah> What is SX?
09:59:54 <jsled> Scheduled Transaction
10:00:21 <joslwah> O.k.
10:00:29 <joslwah> Right. I'll leave it as the lower level stuff then.
10:00:48 <jsled> There's two ways to approach things like this: try to make the lower-level be really generic in what it contains (either by void* s or interfaces or whatnot), or just treat the thing as small unit, and expect the higher level stuff to compose it.
10:01:11 <joslwah> Yep. I don't see them as mutually exclusive though.
10:01:20 <jsled> That's a good point.
10:01:41 <jsled> But, a discussion to continue another day, perhaps. :)
10:01:50 <joslwah> The point of the higher level routines wasn't to replace the lower level ones, but to supplement.
10:01:54 <joslwah> Quite possibly.
10:02:35 <joslwah> Ahhh. your timezone is significantly different from mine. 8-)
10:02:54 <jsled> you're +00:00?
10:03:00 <joslwah> Currently, yep.
10:03:25 <joslwah> And you?
10:03:30 <jsled> -05:00
10:03:37 <jsled> (East-coast US)
10:03:51 <joslwah> I'm normally GMT+8.
10:04:09 <jsled> +8? Wow. Where?
10:04:14 <joslwah> China.
10:53:14 *** ErKa has quit IRC
10:57:33 *** donfede has quit IRC
11:04:21 *** ErKa has joined #gnucash
11:24:10 *** ErKa has quit IRC
11:38:48 *** sjc has joined #gnucash
11:40:24 *** twunder has joined #gnucash
12:11:27 *** ErKa has joined #gnucash
12:17:34 *** Zoolooc has quit IRC
12:24:55 *** joslwah has quit IRC
12:29:10 *** Zoolooc has joined #gnucash
12:47:34 *** wizkid239 is now known as wizkid238
13:03:14 *** ErKa has quit IRC
13:23:48 *** snavin has quit IRC
13:25:06 *** snavin has joined #gnucash
13:42:55 *** _gunni_ has quit IRC
14:01:37 *** joslwah has joined #gnucash
15:00:00 *** |McLANE| has joined #gnucash
16:02:53 *** jharold has joined #gnucash
16:25:50 *** bonez44 has joined #gnucash
16:26:37 <bonez44> I run a chiropractic practice....do I want to use gnucash, or would sql-ledger work better for me?
16:31:25 *** |McLANE| has quit IRC
16:36:56 *** bonez44 has left #gnucash
16:37:23 *** pdc__ has joined #gnucash
16:38:47 *** pdc_ has quit IRC
16:45:54 *** jharold has left #gnucash
16:49:23 *** Karti has joined #gnucash
17:00:39 *** twunder has quit IRC
17:10:44 *** tjanssen has joined #gnucash
17:44:15 *** joslwah has quit IRC
17:55:28 *** sjc has quit IRC
18:37:40 *** danishka has joined #gnucash
18:44:31 *** snavin has quit IRC
19:10:23 *** Zoolooc has quit IRC
19:12:36 *** wormeyman has joined #gnucash
19:13:36 <wormeyman> Hey does anyone know how to get a budget total in the budget report i am using 2.2.1
19:25:51 *** XiXaQ has quit IRC
19:26:50 *** XiXaQ has joined #GnuCash
21:22:48 *** twunder has joined #gnucash
22:31:58 *** twunder has quit IRC
22:58:08 *** tjanssen has quit IRC
23:01:11 *** danishka has quit IRC
23:02:01 *** IanL has joined #gnucash
23:05:19 *** snavin has joined #gnucash