Re: Budgeting

2000-05-09 Thread Bryan Larsen

On Tue, 09 May 2000, [EMAIL PROTECTED] wrote:
 It's been rumoured that Bryan Larsen said:
  
 2. What is the current state of progress?
  
  the todo list looks like:
  
  ;; TODO
  ;; "upcoming/overdue bills" report
 
 Any sort of cleverness here, or will you simply look at the system
 clock when gnucash is started up ... ?

I hadn't planned on hooking into the start up, just generating a report when
the user asks for one.

 
  ;; save/load budget
 
 How do you plan to store the data? Any ideas yet?  In a separate file?
 Do you have to store pointers to any existing transactions?  Or have you
 discovred a way of wedging this into the current file format (possibly
 slightly modified?)

It'll be stored in a seperate file in S-expression format when I get told where
to put the file.  Somebody is working on this, i forget who.

 
  ;; graph budget progress
 
 when you go to graph budget progress, you will need to compute the data
 to graph.  Is this going to be a module in the engine, or will it be
 some scheme snippet?  More importantly, *should* it be in the engine?

Not a problem.  The total at the bottom of the budget report is the number that
we graph.  I'll just generate the equivalent of several reports over different
time periods and graph that


Bryan

-----
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.



Re: Open icon

2000-05-08 Thread Bryan Larsen

On Mon, 08 May 2000, Ben Stanley wrote:
 I vote that the open icon stays gone. I found it potentially confusing, and
 I never used the open file button.

I agree.

Bryan
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.



Re: Budgeting

2000-05-07 Thread Bryan Larsen

On Sun, 07 May 2000, Ben Stanley wrote:
 Hi,
 
 I read some time ago on this list that somebody had:
 
   1. Written code to handle budgeting
   2. Was starting on coding a GUI for the budgeting
   3. Was asking who would use it if it was done.

I did/am doing #1 and #3.  Because I was whining about #2, Dave Peticolas has
started this.

  
 I want to ask:
 
   1. What was the final consensus on how to do budgeting?
  ie through savings goals sub-accounts or what? (I lost track of
  what was going on in that wild and heated discussion...)

Budgeting is set up as a report.  You will be enter your budget through a GUI.

Each budget line consists of two parts:
- what is essentially a query into the ledger.  (usually this is just an
account name)
- one or more budget entries ($x per month, $y per year) etc.

Each entry can cover an arbitrary period.

There are three types of entries:  regular bills, recurring expenses and
contingencies.

   2. What is the current state of progress?

the todo list looks like:

;; TODO
;; "upcoming/overdue bills" report
;; GUI to enter budget
;; save/load budget
;; internationalization
;; speedup:  move subexpressions outside loops
;;   don't calculate values that aren't needed
;; graph budget progress
;; save report parameters - "favorite" reports
;; "unbudgeted" report
;; deal with non-integer periods (only if people ask for it.  I don't
;; think it's necessary and don't want to do it)

Right now I'm changing the budget structures slightly to accomodate Dave's GUI.

Bryan
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.



Re: cvs 2000-05-01

2000-05-01 Thread Bryan Larsen

On Mon, 01 May 2000, Dave Peticolas wrote:
 CVS has been updated.
 
 New Stuff:
 
  + Robert Graham Merkel's updated transaction patch.  

In the "double" format, it seems to be messed up.  One should be greater than
0, the other less than 0, I presume!

You have:

(lambda (value)
  (if ( value 0) (html-right-cell (html-currency value))
  (html-right-cell (html-string " "


for both debits and credits.

Once you fix that, I suggest making "double" format the default.

Bryan

-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: Total columns using html-generator.scm

2000-04-28 Thread Bryan Larsen

On Thu, 27 Apr 2000, Robert Graham Merkel wrote:
 From the comments:
 
 ;; Note that pretty much every parameter may be set to #f.  For
 ;; example, to define a "total column", you may wish to add an entry
 ;; to the spec list that sets html-proc to #f, but sets
 ;; total-html-proc and subtotal-html-proc.  This way, subtotals really
 ;; stand out.
 ;;
 
 I just tried exactly this technique (have a column with html-proc 
 set to #f) and it causes a crash.
 
 Do you get the same behaviour?

It used to work.  :)

Here's an html-table-do-entry that works.  Sorry.

(define (html-table-do-entry line specs)
  (map
   (lambda (spec)
 (cond ((and (report-spec-get-get-value-proc spec)
 (report-spec-get-html-proc spec))
((report-spec-get-html-proc spec)
 ((report-spec-get-get-value-proc spec) line)))
   (else #f)))
   specs))
-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: transaction report feature request

2000-04-27 Thread Bryan Larsen

On Thu, 27 Apr 2000, Robert Graham Merkel wrote:
 Bryan,
   thanks for your new transaction report.  It's a
 great improvement on my original.
 
   However, the original printed amounts over two columns (credits
 in one, debits in the other), while the new version prints them in
 one, with parentheses or other indication of negative amounts.
 
  How difficult would it be to add an option giving the choice
 between the one-column and two-column formats?

Not too tough.  Quick tutorial on the new report format:

To output a report, you give the html-generator a list of somethings (in this
case Split*'s) and a list of report-spec-structure's.  Each item in the list of
report-spec-structure's specifies one column in the report.

The most important items in the report-spec-structure are the value-getter, the
html-proc and the total-proc.

The value-getter is a function that gets a value from a something (Split*).  In
this case, we pass in gnc:split-get-value.

The html-proc is a function that converts a value into html.  Right now, we
pass in (lambda (value) (html-right-cell (html-currency value))).  
For something that prints only credits, we'd use something like 
(lambda (value) (if ( value 0.0) (html-right-cell (html-currency (- 0 value)))
html-blank-cell))

The total-proc is a function that creates a total.  Right now, we pass in +. 
For something that totals only credits, we'd use something like
(lambda (a b) (if ( value 0.0) (- a b) a)).  I'm not sure this will work, this
is not a symmetrical function like +, but a little trial and error would fix
this up.

If you remove my amount column and replace it with debit and credit columns
you no longer have an amount total.  So it'd be useful to add an "extended
total" column.  Pass in gnc:split-get-value as the getter, #f as the html-proc
and + as the total function.  This way it won't print the amounts, but it will
total them, and print the totals.

The second part of the question is:  how hard is it to give an option between
the two styles?  Answer:  simple.  If you want single column, add my old amount
report-spec to the report-spec list.  If you want the new format, add the three
new report-specs to the report-spec list.

While you're fixing that, here's the rest of the todo list:

1) the "Other Account" logic should be fixed to:  if there isn't another
account, return "".  If there's one other account, return it.  If there are
more than one other account, return "Split".
2) Internationalize.
3) Use Bill Gribble's new query rather than getting the list of Split*'s
ourselves.
4) Get a good set of query formats.  It's ok to let the user switch on and off
stuff like "Description", but it'd be nice to automatically flick on "Other
Account" and flick off "Account" when they select single-line mode and vice
versa for the other two modes. 
5) pick some colours that aren't ugly.  :)
6) add a mechanism to save "Favourite Reports".  As well as the parameters, you
should be able save relative dates as well as absolute dates.  IOW, "the
current month" rather than "April 1/2000 to April 30/2000".

Bryan
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: transaction report feature request

2000-04-27 Thread Bryan Larsen

On Thu, 27 Apr 2000, Robert Graham Merkel wrote:
 Bryan,
   thanks for your new transaction report.  It's a
 great improvement on my original.
 

Oops.  Sorry about that.  Just read the title now:  "feature request" rather
than "how do I?".   Let me know if you want to give it a try yourself. 
Otherwise, I'll get around to it eventually.  I'd rather focus on my day job
and the new budget entry window that Dave is working on.

Thanks,
Bryan

-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: What's the proper accounting way to handle a stock split?

2000-04-25 Thread Bryan Larsen

On Tue, 25 Apr 2000, Rob Browning wrote:
 Richard Wackerbarth [EMAIL PROTECTED] writes:
 
  I think it is best to store exact numbers (for example {3 to 5} as a ratio or 
  {99 to 165}  for the actual number of shares)
 
 Well, if we were doing this in a scheme with the full numeric tower,
 then we'd be set since 1/3 would be just fine, but it looks like
 rscheme supports 1/3, but guile converts it to a real...
 

I have mutual funds that split every December 1.  They split to bring their net
asset value back to $10.  The ratios are never even.  Last time, it was 11.412
to 10 or something like that.

Bryan

-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: Stock portfolio accounting, splits, etc.

2000-04-25 Thread Bryan Larsen

(keeping the same topic to make it easier for those who want to ignore this
long-winded discussion, may).

I would like the capability to store tertiary information about stock accounts.
 Specifically:  # of outstanding shares, revenue, earnings,  assets, et
cetera.  Whether or not its stored in the register, it would be nice to be able
to do so.

Thanks,
Bryan


-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: Stock portfolio accounting, splits, etc.

2000-04-25 Thread Bryan Larsen

On Tue, 25 Apr 2000, [EMAIL PROTECTED] wrote:
 It's been rumoured that Bryan Larsen said:
  
  I would like the capability to store tertiary information about stock accounts.
   Specifically:  # of outstanding shares, 
 
 ? this is already soething you store as a 'transaction' in the 'ledger'.
 

the total number of shares in the company that exist, not that I own.  In other
words, a number several orders of magnitude higher than that in the ledger.

   revenue, earnings,  assets, et
  cetera.  
 
 click on 'edit account' there's a generic area to write whatever you
 want in whatever format you want.  (I suppose this area could be 
 made larger, and, e.g. editable with your favorite editor. Would that
 help?)

These are dated events, so the generic area doesn't work well.  It'd be nice to
have a standard header for the column so that a report can pull this
information out.

  
 There is also a generic hook (which you can't get to from the gui) and 
 which is currently unused, to store additional info.  If you've got some
 architecture in mind, we can debate it.

My brother's actually working on a Python project that uses a lot of this info.
 I'll talk to him to see what's appropriate.

Bryan

-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: Terminology, Documentation

2000-04-21 Thread Bryan Larsen

 
 Yes, indeed.  The _real_ problem is that GnuCash _does_ have the
 beginnings of some reasonably decent documentation that apparently people
 don't consult very much.

I second this.  The stuff that was documented was documented really well.  As
far as I'm concerned, the documentation is better than that which comes with
MSMoney.

Bryan

 -- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: LWN

2000-04-21 Thread Bryan Larsen

On Fri, 21 Apr 2000, Dave Peticolas wrote:
  
  3.  better entry of budgets.  You may have noticed that I've spent more time 
  the budget output than on the input.  :)
 
 If you don't want to fool with the GUI, I would be happy to work
 on the budget front-end. Just let me know how you want it to look.
 As a start, I could go with the sketch I sent.

Yay!  yes, this would help a lot.   I'm quite pressed for time here (busy at
work, new girlfriend), but really want to get started.  If you can get it
started, I can finish it.  This way, I can learn GTK, etc while I'm using it
rather than having to invest the time up front.

Yes, I think the three pane window idea that you came up with will work well.  

Left pane:  the list of budget entries  sub entries, plus an insert  delete
button for entries.

top right pane:  fields to enter the details of an entry

bottom right pane:  fields to enter the details of a subentry.  This will have
two parts:  some information is common to all subentries.  As well, there
should be a drop down box to select the subentry type.  As this type changes,
a sub pane within this pane will change, as some information is different
depending on the type.

Don't spend too much time on it.  I will take responsibility for the front-end,
I just have not had a good idea on how to start.

I'm going home for the long weekend, but I'll be back Sunday night.

Thanks for your help,
Bryan

-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: find dialog query API

2000-04-21 Thread Bryan Larsen

 There's support for user-provided query predicates, which I engineered
 with Scheme in mind; if you have a user filter-pred that's a scheme
 thunk, it's possible to add it to queries also.  I just need to write
 a little C wrapper to call it.
 

I definitely don't need this, as the find dialog box does everything I ever did
with a pred.  But it may be useful to have more than one way of doing things --
this way I can leave the query totally under the users control, and filter the
query myself for report parameters.

Bryan

 -- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: find dialog query API

2000-04-21 Thread Bryan Larsen

On Fri, 21 Apr 2000, Dave Peticolas wrote:
  Bryan Larsen [EMAIL PROTECTED] writes:
   2. Transactions can appear more than once.  That seems pretty durn wacky.
  
  Dave: what did we decide about this?  Is it a problem with the Split**
  I am generating, or a natural side effect of the way the register
  works?  I remember that discussion about rebalancing multisplit
  transactions being tied up with this somehow but the details escape
  me.

It took me a while to figure out, when doing the Transaction 2 report, whether
to work with a list of Split*'s or a list of Transaction*'s.  Split*'s was the
right answer, but a Split is really something that should not exist on its own
-- the transaction is really the primary element.

  
 We haven't really solved this problem in general. However,
 for the find functionality, assuming we are searching for
 transactions and not splits, you can get rid of this by
 not adding splits which have a peer split that have already
 been added.
 
 But then 'all register' operations may not work the way you
 would expect. I think we are bumping up against the limits
 of the current register model. We probably need to sit down
 and come up with a generalization.
 

I've run up against the exact same problem in the "transactions 2" report.  I
haven't done anything about it, but it was my opinion that duplicates should
only be removed if:
1) in a multi-line report format, and
2) are in the same subsection.

the find register does not have subsections.  Since the user is always editing
complete transactions, it is my belief that you should always remove
duplicates, whether in a multi-line display or not.

Bryan

  -- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: find dialog query API

2000-04-21 Thread Bryan Larsen

 
 Are you saying that I should NEVER have multiple lines of a split transaction
 which "duplicate" other lines of the transaction?

I was talking about something else entirely.  But thanks for the excellent
example that illustrates the problem.

If you use the find dialog, and search on "INCOME", the transaction will show
up twice in the find register.

This is wrong, IMO.  But that's not your fault, it's just the way the find
search does things.

To make things messier, people who always use "single-line mode" may disagree
with me.  I understand their opinion, but I still think they are wrong.  :)

Bryan

  
 IOW,
 
 CASH  DEBIT   $100
 INCOMECREDIT  $50 /*customer 1*/
 INCOMECREDIT  $50 /*customer 2*/
 
 is not a proper transaction?
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: Dividends

2000-04-20 Thread Bryan Larsen

On Mon, 10 Apr 2000, Dave Peticolas wrote:
  I looked at most of the archives, and I didn't see much mention of how
  stock dividends would fit into the GnuCash framework.  There was some
  mention in the QIF import html file, but that just acknowledged the
  problem.  I was thinking that I would like to implement a Return On
  Investment report, but to do that you need to keep track of dividends and
  capital gains for a particular security.  Has there been any thought of
  how to implement dividends?  It seems that such a feature will be
  necessary in order to completely keep track of personal finance. 
  
  One could hack in a temporary fix by having an account
  Income:Dividends:Security_Name and having all dividends that come from
  Security_Name be counted against that security, but then you run into
  problems if you have the same security in two different accounts (not
  inconceivable).  
  
 Another thing you could do is use the 'Action' field in double
 line mode to mark the transaction as being a Dividend (there is
 a choice 'Div' in the popup menu for that purpose. Then it wouldn't
 matter what Income account you used to transfer from.
 

I'm still trying to figure this statement out.  Why doesn't it matter?  If I
transfer from "dividend income" to "brokerage account", it doesn't matter
whether I've marked it "div" or not -- there is no association with the stock
account, so an investment report does not find the dividend.

Bryan

  -- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





budget straw poll (please respond)

2000-04-20 Thread Bryan Larsen

OK, except for the front end, budgeting is getting close to complete.

Is there anybody using budgeting except for me?

Will anybody use budgeting if I add a front end?

Will anybody use budgeting if I add/fix a feature they want?  What is that
feature?

Would you prefer more conventional budgeting?  
(Quick synopsys on the difference:  my system lets you enter budgets as either
1) bills which are paid on or around a certain date 2) recurring expenses and
3) contingencies.  In the long term, the differences disappear, but I believe
that it produces more accurate short term results.  A MSMoney budget might tell
you that you are $520 under budget but most of that difference is money that
you're trying to set aside for bills  contingencies that have not occurred
yet.  My report might tell you that you are $20 under budget for the same
budget report period.

Thanks for your responses.

Bryan

Here's the current budget todo list:

;; TODO
;; "upcoming/overdue bills" report
;; druids to enter budget
;; save/load budget
;; internationalization
;; speedup:  move subexpressions outside loops
;;   don't calculate values that aren't needed
;; graph budget progress
;; save report parameters - "favorite" reports
;; "unbudgeted" report
;; deal with non-integer periods (only if people ask for it.  I don't
;; think it's necessary and don't want to do it)

Bryan

-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: LWN

2000-04-20 Thread Bryan Larsen

On Thu, 20 Apr 2000, Rob Walker wrote:
  On Thu, 20 Apr 2000 19:07:56 -0600, Bryan Larsen
  [EMAIL PROTECTED] said:
 
 Bryan On Thu, 20 Apr 2000, Rob Walker wrote:
   On Thu, 20 Apr 2000 18:15:00 -0600, Bryan Larsen
   [EMAIL PROTECTED] said:
  
 Bryan 1.  better investment reports.  This requires a strategy to
 Bryan deal with things like commissions and dividends.  My opinion is
 Bryan that this should be dealt with via meta-information.  We
 Bryan shouldn't be setting account policy.
  
 Bryan 2.  better entry of investments.  I'm not asking for a wizard,
 Bryan but it's a pain in the butt to have to switch account windows
 Bryan to enter commissions, etc.
  
 Bryan 3.  better entry of budgets.  You may have noticed that I've
 Bryan spent more time on the budget output than on the input.  :)
  
 Bryan 4.  graphing infrastructure, using a similar strategy to my new
 Bryan report infrastructure.  The goal is to make it easier to switch
 Bryan away from gnuplot if so desired, as well as make it easier to
 Bryan add new graphs.
  
 Bryan Except for #2, I think I would be a good person to handle these
 Bryan jobs.  Unfortunately, my day job and my social life and my
 Bryan sleep consume virtually all of my time.  It'd probably take me
 Bryan a month to do any one of the three.  Any opinions on what I
 Bryan should work on?
  
  3, 2, 4, 1.
 
 Bryan That's why I asked.  This is almost the reverse order of my
 Bryan priority.  Did you put #1 last because somebody is working on
 Bryan it?  Did you put #3 first because you'll use the budget if I
 Bryan add it?
 
 I put 3 first because I am having a bear of a time figuring out how to 
 put our budgets into gnucash.  Yes, I will use it if you build it.  I
 will also try to help debug it and ask lots of questions while you
 build it.

Good.  That's the response I wanted to hear. :)
 
 I put 1 last because I thought it was more like 4, and if you do 4, 1
 will go away.
 

#4 is general graphing infrastructure.  If you build a report, it'll be trivial
to graph columns of the report.

#1 is "tell me what kind of return I got in the stocks in my RRSP account
between Jan 1 and Feb 29, properly accounting for commissions  dividends?". 
and "what's the adjusted cost basis of the stocks I'm holding for my sister?"
and "how much capital gains to I have to claim this year?"

Is there anybody working on #1?

Thanks,
Bryan

-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: LWN

2000-04-20 Thread Bryan Larsen

 
 New features:
   - non-gnuplot graphing, including bar and pie charts, line and scatter 
 graphs.

Please run your proposed scheme interface to this by me before or while you do
this.  It's my belief that it should have a similar interface to my new report
generators in html-generator.scm, but I'm probably biased.

   - recurring transactions
   - investment/savings goals and funds "earmarking".  People seem to
 really want this, and I think there's a way to do it correctly
 with only minor modifications to the engine.

These two items should share information with the budget, so I guess we should
talk about this a little bit as well.

 
 Usability/stability improvements:

Looking forward to all of these.

 Wizards:  I hate 'em but I think we need some. 

Sort of related:  one reason that budgeting does not have a front end is that
there's nothing for me to "copy and modify".  I learned scheme  the report
infrastructure by fixing up the transaction report.  I don't have something I
could mess with to learn GTK, gnome druids and the gnucash C code.

Bryan

-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





awkward portfolio entry.

2000-04-17 Thread Bryan Larsen

OK,

I'm having lots of fun trying to enter my portfolio and its history into
gnucash. 

Buying:  I figure this should be a credit from the trading account, and debits
to the stock account and the commission expense account, right?  Is there an
easy way to do this?  Right now, I enter the # and price and stock
account on the first line, the trading account on the second line with a buy
action and the commission expense account on the third line with a fee action. 
Then I switch over to the commission expense account window to enter the
commission, because trying to do it in the stock window seems to mess up the
number or price.  Entering a single transaction in two windows is awkward. 
Is there a better way?

When I look at the stock window again I see a "0" in the "d"
column.  What the heck is that?

The commission does not show up on the Stock Portfolio as part of the cost
basis.  It'd be nice to have a cost basis with and without commissions.

Dividends:  It seems to me that this should be a transfer from "Dividend
Income" to my trading account.  No part of the transaction touches the stock
account, so how would a (future) report be able to figure out my return on the
stock?

Dividend reinvestment:  This seems straightforward:  Transfer from "Dividend
Income" to the stock account.  What should the action be, "div".

How to do this and other such transactions should definitely be in the help.  A
druid would be nice.

Options:  how should these be handled?  ie grants, vests, exercises.

For reference, Microsoft Money 2000 has:

buy
sell
interest
reinvest interest
dividend
reinvest dividend
capital gains
mid-term cap gains dist
reinvest capital gains
capital gains distribution
reinvest mid-term CG dist
reinvest cap gains dist
other income
other expense
return of capital
add shares
remove shares
short sell
cover short
grant
vest
exercise
expire
redeem GIC/Bond
renew gic
transfer in
transfer out
transfer in short
transfer out short


Thanks,
Bryan

  -- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Robert Graham Merkel?

2000-04-16 Thread Bryan Larsen

Robert was the guy who wrote the original transaction report.  Since I just
replaced his work there, I wanted to talk to him.  His email bounces. 
([EMAIL PROTECTED]).   Robert, are you still around?  Does somebody know him?

Also, he's not in the credits list -- I presume he should be.

Thanks,
Bryan

 -- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





transaction report patch

2000-04-15 Thread Bryan Larsen

OK, I've fixed up the transaction report so it's nice and feature filled. 
(patch was sent to [EMAIL PROTECTED])

New features:
- brand new look
- select multiple accounts
- 3 ways of displaying split transactions
- a bunch of new sort options
- subtotal by account, month or year
- remove unwanted columns from report

Report authors, by switching to my new report routines, you too can have such a
fancy report!

Bryan

-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.



--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





segfault

2000-04-14 Thread Bryan Larsen

A pristine, up to date build is currently segfaulting.  No core file.  More
details to follow

Bryan
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: cvs 2000-04-14

2000-04-14 Thread Bryan Larsen

OK, this must be the update that broke the build for me.

cvsgnucash update -Pd -D "14 apr 2000"

works fine

cvsgnucash update -Pd -A 

segfaults just before the main window should appear.

The ouput from the screen is the same as normal.  

I get this message, but then again, I've always gotten this message.

This is a development version.  It may or may not work. 
Report bugs and other problems to http://www.gnucash.org/ 
The last stable version was gnucash-1.2.5 
The next stable version will be gnucash-1.4.x 



Gdk-WARNING **: locale not supported by C library
gnucash: [D] "Running functions on hook "main-window-opened-hook
  #procedure gnc:extensions-menu-setup (win)
  #procedure gnc:report-menu-setup (win)

Gdk-WARNING **: locale not supported by C library


On Fri, 14 Apr 2000, you wrote:
 CVS has been updated.
 
 New Stuff:
 
  + Hubert Figuiere's patch to gnc-prices.in.
 
  + Bug fix allowing the quote source to be set to (none).
 
  + Code to support unique identifiers for all accounts, transactions, etc.
This is not ready to be used, it's just there for testing purposes.
 
 
 dave
 
 --
 Gnucash Developer's List 
 To unsubscribe send empty email to: [EMAIL PROTECTED]
-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





budget patch new transaction report

2000-04-14 Thread Bryan Larsen

Sent to [EMAIL PROTECTED]

this is a patch against -D "14 apr 2000" (see previous bug report)  It should
apply cleanly, though.

- date filter bug fix
- income bug fix
- added filter-pred to budget-line.  See documentation.
- report sorting now works.
- report subsections now work
- report subtotals now work
- really ugly colour scheme shows what can be done with new report format. 
Someone with more esthetic taste may want to fix things up (html-generator.scm)
- totally new transaction report (transactions 2) on the menu
-  allows selection of multiple accounts
-  does not handle multiple splits properly (yet - should be easy to add)
-  sort is hardcoded to account (primary) and date (secondary).  this'll be
easy to fix as well

I'll fix add multi-splits and sorting to the transaction report.  Right now,
it's Friday night and I've got plans.

Please try out the new reports and comment, please.

Bryan


-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.



--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: budget gui

2000-04-08 Thread Bryan Larsen


 
 --
 | Entry| |
 |   Sub-entry  | Entry information   |
 |   Sub-entry  | |
 | Entry|--
 |   Sub-entry  | |
 | Entry| |
 |  ... |   Sub-entry information |
 |  | |
 |  | |
 |  | |
 --
 
 
 thoughts?

Hrm, I think in the left pane, I'm going to have to put the "nominal
amount" info, to make balancing easier.

Bryan

 
-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Phone:  306 664 2087 x29.   Fax:  306 664 4446
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: budget gui

2000-04-07 Thread Bryan Larsen

Looks good.  If we split the subentry pane into two panes:  one that selects
the type and common information a second one that lets one enter information
specific to the type, I wouldn't need to use a Druid interface.  

What's the best way to proceed?  I can start on an interface, but I cannot
finish until we have resolved the issues on how to save secondary information.

Bryan

On Thu, 06 Apr 2000, Dave Peticolas wrote:
 I've been looking at the budget stuff and have come up with
 a sketch of what the gui interface might look like:
 
 
 --
 | Entry| |
 |   Sub-entry  | Entry information   |
 |   Sub-entry  | |
 | Entry|--
 |   Sub-entry  | |
 | Entry| |
 |  ... |   Sub-entry information |
 |  | |
 |  | |
 |  | |
 --
 
 The pane on the left contains the buget tree, with entries
 and sub-entries. The pane on the right displays editable
 information about the selected entry in the top portion,
 and editable info about the sub-entry in the bottom portion.
 
 In addition, there would be controls to add/delete entries
 and sub-entries. Maybe move them around too.
 
 thoughts?
 
 dave
 
 --
 Gnucash Developer's List 
 To unsubscribe send empty email to: [EMAIL PROTECTED]
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: cvs 2000-04-05

2000-04-06 Thread Bryan Larsen

On Wed, 05 Apr 2000, you wrote:
 CVS has been updated.
 
 New Stuff:
 
  + Removed eperl stuff including configure.in tests for eperl.
Because of some file removals, you will probably need to
do a 'make clean' to get rid of stale dependency info.
 
 

The "place g-wrap-install in /" bug is back.

Bryan

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: budget patch

2000-04-06 Thread Bryan Larsen

  
  - massive speedup from proper usage of structure functions
 
 Wow, that's a lot faster. What made the difference?
 

(define budget-entry-get-subentries
  (record-accessor budget-entry-structure 'subentries))

instead of

(define (budget-entry-get-subentries entry)
  ((record-accessor budget-entry-structure 'subentries) entry))

Bryan

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





budgets ready for testing

2000-04-06 Thread Bryan Larsen

OK,

I've got the budget report to a state where I'm using it, and I feel others
could get value out of it.

So please use it and send me feedback.

Yes, I know that entering the budget in the report itself is annoying and slow.

Here's the current documentation:

;; make-budget-entry:  
;;  1: description, 
;;  2: list of accounts
;;  3: list of subentries.

;; make-budget-subentry:
;;  1: description
;;  2: amount
;;  3: period size (number of days, weeks, months or years)
;;  4: whether #3 is in days, months, weeks or years
;;  5: mechanism (nominal, bill, recurring or contingency)

;; make-nominal-mechanism.
;;  (no parameters).  A nominal budget line is probably the budget
;;  type you are most used to.  The expected value for half a year of
;;  a one year budget line would be half the amount.

;; make-recurring-mechanism.
;;  (no parameters).  This type is designed for budget items that
;;  happen regularly, but on no fixed date.  For example, if you
;;  service your car 3 times a year at $40 a pop, enter an amount of
;;  $40 and a period of 4 months rather than $120 a year.

;; make-bill-mechanism.
;;  This type is designed for budget items that happen on a fixed
;;  date.  You can specify a window around the date in case you pay a
;;  little early or late.
;;  The two parameters specify the start or stop day.  This is the day
;;  number in the period.  For example, 15 would specify the 15th of
;;  the month, 1 specifies sunday, et cetera.  The first day in the
;;  period is "1".  The last day in the period is "0", and negative
;;  numbers are used to count backwards from the last day.  For
;;  example, Christmas Day is -6 for a year.

;; make-contingency-mechansim.  
;;  Use this for unexpected expenses.  The budget saves up money for
;;  the unexpected expense, and then always keeps the full amount on
;;  hand.

Bryan

 -- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: reports

2000-04-06 Thread Bryan Larsen

On Thu, 06 Apr 2000, Dave Peticolas wrote:
 Right now, reports are represented in guile as a vector
 containing a version, name, option generator, and renderer.
 Some things I'd like to add in the future include a help
 text generator, and report-specific toolbar buttons and
 menu items. To eliminate the need to change each report
 every time we add a new feature, I'd like to move the
 report representation to the "key-value" style scheme
 closure.
 
 Any thoughts?

Sounds excellent to me.  I would love to have better access to the toolbar and
menu.

What I really want is a way to save views into reports.  For example, I want a
user defined report that gives me my budget status for the last 30 days, a
report that gives me the "balance" report for the current year, et cetera.

Bryan

  
 dave
 
 --
 Gnucash Developer's List 
 To unsubscribe send empty email to: [EMAIL PROTECTED]
-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: reports and a compound document architecture

2000-04-05 Thread Bryan Larsen

On Mon, 27 Mar 2000, you wrote:
 Let's talk about reports and gnucash for a minute.  

You didn't get much discussion.  That's a shame.  Especially after reading
Miguel's interview on Slashdot, Bonobo sounds very interesting.

A compound document structure would be nice from the point of view of the work
that I'm doing.

Besides integrating graphics it'd be nice to integrate multiple reports into
a compound document and to move some of the parameters onto the report, making
the report interactive.

On the other hand, it may be a lot of work.  As long as somebody else does it,
that's fine, but I'm going to concentrate on adding functionality.

 Graphs and plotting are a pain in the butt to get right, and we want
 someone else to do it for us if possible.  One forthcoming solution is
 GUPPI, the Gnome Useful Plot Production Interface.  Right now it's in
 its infancy, but does a LOT of things really nicely.  They are
 planning to support both scientific and financial plots, charts,
 graphs, etc and already have a super scatter plot engine.  Scatter
 plots aren't too useful for us, but if they make a pie chart with as
 many features as the scatter it will be a killer.
 

GUPPI is still fairly immature.  We use gnuplot at work a lot, and it works
really well.  I guess that's partly because we use it for scientific rather
than financial plotting.  Unless we want to expend significant effort on GUPPI
(which is an option if we have a volunteer) my recommendation would be to wait
a while.

There are several options for getting the graphs more closely integrated with
the html or the system.  Gnuplot can output to a .PNG instead of a window, the
simplest compound document is HTML with an IMG tag!  As well, gnuplot can
output to a TK Canvas, and there are other options.

 
 Once that works, there are some other interesting things that we could
 do with Bonobo.
 
 For example, we could write a Bonobo wrapper around the register
 display.  It's really just a special kind of report, which given a
 tiny bit more search functionality could supersede (for example) the
 Account Transactions report.  After all, if you want to display a set
 of transactions, the register was designed for that, right?

To play devil's advocate:

- html probably prints better
- the report I want for a transaction report would go through the user
specified list of accounts, over a user specified range of dates.  For each
account, it would display all the transactions, and then a subtotal.  This
would probably be difficult for the register:  you would have to allow multiple
accounts in the register.  this probably means that transactions are in the
same register more than once.  To look nice you'd probably have to have a clean
seperation between the accounts, included the subtotals.

 
 So why couldn't we just embed the register in reports, displaying any
 arbitrary subset of transactions?  Consistent interface, interactivity
 in the report process, etc... all nice things.
 
 Combining Guppi plots, register displays, HTML-formatted text,
 Gnumeric spreadsheets, and other stuff in compound documents could be
 an incredibly cool thing:

I originally though Gnumeric would be cool, but I now no longer think so.

If I want table entry, the register works better.
If I want table display, html will work better.
If I parameter entry, a dialog box works better.
If I want calculations, a scheme expression works better.

Some of these may be debatable, but the it does show you that adding Gnumeric
does not add much value for a lot of work.

 
   - How about an interface between a Bonobo-ified Gnome Calendar
 display and a repeating transactions/bill payment system?  one
 thing I like about Moneydance is its calendar display of upcoming
 due dates and repeating transactions.  The gnomecal display is
 nice and works and could make a slick interface for this.

Yep, definite win here.

 
 Any thoughts about all this?  It seems like there are some fairly
 painless roads to getting the stuff going, with lots of potential for
 future growth.
 

Painless?  I'm not volunteering, but I will use it if it is the system.

Bryan

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





current budget TODO

2000-04-05 Thread Bryan Larsen

;; TODO
;; properly handle income as well
;; proper totals
;; "upcoming/overdue bills" report
;; druids to enter budget
;; save/load budget
;; internationalization
;; speedup:  replace linear search with hash, 
;;   create structure functions on load, 
;;   move subexpressions outside loops
;; clean/prettify up report
;; graph budget progress
;; save report parameters - "favorite" reports


any other wishes?  Hints on speedups would be nice -- the report is currently
slow as dirt.

Thanks,
Bryan


-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: current budget TODO

2000-04-05 Thread Bryan Larsen

  
 I got a private email suggesting present value/future value calculation
 tables to plan for large expenditures like college.
 

Hmmm, I consider this a seperate report.  However, I might be a good candidate
to handle this one as well. Currently I have a massive Excel spreadsheet to
help make the "when should I buy a house" decision.

Bryan

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: things are getting worse for my build.

2000-04-04 Thread Bryan Larsen

On Mon, 03 Apr 2000, Dave Peticolas wrote:
 Hi Bryan, could you try again on new CVS?

Yay!!  it's all fixed.  Thanks!

Bryan

 
 thanks,
 dave
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





budget TODO

2000-04-04 Thread Bryan Larsen

Here's the current budget TODO list.  Feel free to tell me what else you want.

Bryan

;; TODO
;; allow multiple budget subentries per budget line
;; properly handle income as well
;; proper totals
;; "upcoming/overdue bills" report
;; druids to enter budget
;; save/load budget

-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





scheme problems

2000-04-04 Thread Bryan Larsen

From an example in R5RS:

(gnc:debug
(map + '(1 2 3) '(2 3 4)))

doesn't work.  And gives me really crappy errors.  Trying the map line in
standalone scheme works.

Error: gnc_report_error_dialog: error running report.
ERROR: In expression (abort (quote ()) (quote ())):
ERROR: Wrong number of arguments to #continuation 1351 @ 82247b0
Backtrace:
12* [gnc:debug ...
13*  [map-in-order #primitive-procedure + (1 2 3) ...]
14   (if (pair? lists) (letrec (#) (recur #)) ...)
 ...
15   [cons 3 ...
16*   [#procedure (lists) ((2 3) (3 4))]
17[call-with-values #procedure () #procedure (scm:G0 scm:G1)]
  ...
18[cons 5 ...
19*[#procedure (lists) ((3) (4))]
20 [call-with-values #procedure () #procedure (scm:G0 scm:G1)]
   ...
21 [cons 7 ...
22* [#procedure (lists) (() ())]
23  [call-with-values #procedure () #procedure (scm:G0 scm:G1)]
24  (let ((result #)) (if (values-predicate? result) (apply consumer #) ...))
25* [#procedure ()]
26  [%cars+cdrs (() ())]
...
27  [#continuation 1351 @ 82247b0 () ()]




Does anybody know what the heck is going on?

thanks,
Bryan

-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: scheme problems

2000-04-04 Thread Bryan Larsen

On Tue, 04 Apr 2000, Bryan Larsen wrote:
 From an example in R5RS:
 
 (gnc:debug
 (map + '(1 2 3) '(2 3 4)))
 
 doesn't work.  And gives me really crappy errors.  Trying the map line in
 standalone scheme works.
 

It's a problem in srfi-1.r5rs.scm.  I commented out the line 

(define map map-in-order)   

to get things to work.  However, I use map-in-order, so I hope it isn't broken
as well

thanks,
Bryan

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





budget categories

2000-04-02 Thread Bryan Larsen

Ok, the budget currently has the following categories, in order of most to
least predicable.

1) trigger on date -- exact/approximate date of payment is known.  Right now the
date is exact.  I'm going to replace that with a window, so that the recurring
category is only used for things it's designed for.  I may call this category
"regular bills", because that is the most common usage for this category.

2) recurring expenses.  Probably the most common category.  In this category,
you generally spend a certain amount of money in a certain period.  Most of the
time, this money is spent in one shot.  (The system works better if you make
the period as small as possible).  

3) unexpected expenses.  contingencies like house or car repairs.

4) large, expected one time expenditures like vacations and big screen TV's.

I've got a good handle on 1,2  4.  They can be modelled using a
discrete constant probability model.  Internally, they're handled identically,
although the interface to the user will be different.

Does anybody have a good idea on how to handle number 3?  This is generally
modelled using a normal probability model.  It may be nice to ask the user
leading questions to try and estimate the distribution, then try to feel out
their tolerance, then suggest a budget amount.

Once the budget amount is determined, how should it be handled in the budget
report.  For an example, let's pretend we've budgeted $6000 for car repairs
over the next 5 years.  If this is entered into the system, this implies to me
that:

- that it's possible to spend $6000 in one shot, and that the user is
budgeting for this possibility.  (ouch!).  
- that car repairs totalling $6000 may happen in smaller chunks over a 5 year
period.
- that the user wishes to "save" for this possibility at a rate of $100/month.

For the other items in the budget, I've introduced a min  max notation. 
You're on budget if you are between the two numbers.  From the above
assumptions,  I think that any report less than 5 years old must show a
maxmimum of $6000 and a minimum of $0.  

That may sound like a useless budget.  It's going to tell you that you are on
budget no matter how much you spend (well, at least up to $6000).  I don't
think it's useless, though, for the following reasons:

- presumably, you have a balanced budget.  Therefore, you are "saving" $100 a
month for car repairs.
- the report doesn't tell you that you are under budget just because you
haven't blown your engine yet, which is a major problem with most conventional
budgets.

We just have to make sure that the user doesn't use this category 4 stuff like
vacations and TV's, because it will let him blow a large wad.

My next question, is, how do we deal with reports that are longer than the
contingency period.  My inclination is to always have a delta between min and
max of the entire budget amount.  In the example, a 6 year report would have a
$1200 minimum and a $7200 maximum.

Bryan




-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





gnucash dumping core

2000-03-30 Thread Bryan Larsen

I cannot run recent versions of gnucash.  cvs co -D "21 mar 2000" gnucash
works,  but one from the 28th doesn't.

I tried looking for the problem, but gnucash doesn't seem to like to run under
gdb.

Here's a backtrace:

#0  0x4055c4b1 in __kill () from /lib/libc.so.6
#1  0x4055c11d in raise () from /lib/libc.so.6
#2  0x40116e56 in gnome_segv_handle () from /usr/lib/libgnomeui.so.32
#3  0x4055c3c8 in __restore () from /lib/libc.so.6
#4  0x400d2bf2 in gnome_app_fill_menu_custom () from /usr/lib/libgnomeui.so.32
#5  0x400d2c6c in gnome_app_fill_menu_custom () from /usr/lib/libgnomeui.so.32
#6  0x400d2941 in gnome_app_fill_menu () from /usr/lib/libgnomeui.so.32
#7  0x806c306 in gnc_register_create_menu_bar (regData=0x820cfe0, 
statusbar=0x8212478) at window-register.c:1204
#8  0x806ce67 in regWindowLedger (ledger=0x81d0b18) at window-register.c:1493
#9  0x80683e3 in regWindowSimple (account=0x81d9818) at window-register.c:151
#10 0x8065d09 in gnc_account_tree_activate_cb (tree=0x818a5d0, 
account=0x81d9818, user_data=0x0) at window-main.c:491
#11 0x40333945 in gtk_marshal_NONE__POINTER () from /usr/lib/libgtk-1.2.so.0
#12 0x40360f9d in gtk_handlers_run () from /usr/lib/libgtk-1.2.so.0
#13 0x403603e2 in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
#14 0x4035e535 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
#15 0x80701b8 in gnc_account_tree_button_press (widget=0x818a5d0, 
event=0x81f208c) at account-tree.c:794
#16 0x403336e9 in gtk_marshal_BOOL__POINTER () from /usr/lib/libgtk-1.2.so.0
#17 0x4036041b in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
#18 0x4035e535 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
#19 0x4039373c in gtk_widget_event () from /usr/lib/libgtk-1.2.so.0
---Type return to continue, or q return to quit---
#20 0x40333642 in gtk_propagate_event () from /usr/lib/libgtk-1.2.so.0
#21 0x4033289a in gtk_main_do_event () from /usr/lib/libgtk-1.2.so.0
#22 0x403de11b in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0
#23 0x4040bbc6 in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
#24 0x4040c181 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
#25 0x4040c321 in g_main_run () from /usr/lib/libglib-1.2.so.0
#26 0x403321d9 in gtk_main () from /usr/lib/libgtk-1.2.so.0
#27 0x8064b3f in gnc_ui_main () at top-level.c:242
#28 0x80bd6a8 in gwrap_gnc_ui_main () at gnc.c:4078
#29 0x404f3638 in scm_deval () from /usr/lib/libguile.so.4
#30 0x404f51e5 in scm_dapply () from /usr/lib/libguile.so.4
#31 0x404f0751 in scm_apply () from /usr/lib/libguile.so.4
#32 0x404fdb63 in gh_call0 () from /usr/lib/libguile.so.4
#33 0x80b7b3d in gnucash_main_helper (argc=9, argv=0xb604) at gnucash.c:130
#34 0x404fdc4d in gh_launch_pad () from /usr/lib/libguile.so.4
#35 0x405002a9 in invoke_main_func () from /usr/lib/libguile.so.4
#36 0x4052571b in scm_internal_lazy_catch () from /usr/lib/libguile.so.4
#37 0x4050025b in scm_boot_guile_1 () from /usr/lib/libguile.so.4
#38 0x4049 in scm_boot_guile () from /usr/lib/libguile.so.4
#39 0x404fdc88 in gh_enter () from /usr/lib/libguile.so.4
#40 0x80b7ca5 in main (argc=9, argv=0xb604) at gnucash.c:207

Bryan

 -- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: quicken migration

2000-03-30 Thread Bryan Larsen
possibly incorrect, monkeying around in the
   engine.  Not sure off the top of my head...
  
  I don't think this is necessary.  As mentioned, making a goal account a sub
  account of a bank account (so many accounts!) is almost a perfect solution, and
  doesn't require any code changes to gnucash, since its framework has been so
  well designed!  A new account type wouldn't hurt to help delineate a goal
  account from a bank account, but it would have the exact same semantics as a
  bank account and would be a different account type in name only.
  
  Anyway, I don't think these goal accounts would be used enough by most people
  to deserve drastic, confusing changes to the stable structure already present.
  What we have is sufficient.  What /would/ be useful would be a druid that could
  step people through setting one up, creating the requisite sub-bank
  account/liability account combo.  But it would basically just automate
  something that isn't all that difficult to do manually.
  
   -- 
   Rob Browning [EMAIL PROTECTED] PGP=E80E0D04F521A094 532B97F5D64E3930
  
  -Scott
  
  -- 
  
  --
  Gnucash Developer's List 
  To unsubscribe send empty email to: [EMAIL PROTECTED]
  
  
  
 
 
 
 --
 Gnucash Developer's List 
 To unsubscribe send empty email to: [EMAIL PROTECTED]
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: quicken migration

2000-03-30 Thread Bryan Larsen
the
superior structure already in place in gnucash.  She suggests setting up a goal
account as a sub-account off a regular bank account, and debiting from the goal
account to a liability account (which makes sense to me, thanks Lauren!) to
represent setting aside money for the goal.  The beautiful part is you don't
have to worry about these transactions showing up in your checking account,
since you're never actually touching the bank account.  Therefore, monthly
reconciliations would work just like normal, without having to factor in any
goal account transactions.  It gets better: the goal account's (typically)
negative balance would be factored into the bank account's balance on the main
window (since it's a sub-account), giving you the desired effect of a
(perceived) smaller balance without any fuss.  The only minor downside of this
method is that for it to be most effective, these goal accounts must be tied to
a single bank account, whereas a separate, standalone goal account could
receive transfers from any bank account.  But I believe its worth it for not
having to mess with it come reconcilation time.

 If I'm right, then to do "savings goals", we'd probably need another
 abstraction.  Maybe you'd have a "real balance", used for
 reconciliation, that ignores savings goal transfers, and then the
 "normal balance" that gnucash shows you by default that includes the
 savings goal transfers.  This would probably require a new account
 type and some ugly, and possibly incorrect, monkeying around in the
 engine.  Not sure off the top of my head...

I don't think this is necessary.  As mentioned, making a goal account a sub
account of a bank account (so many accounts!) is almost a perfect solution, and
doesn't require any code changes to gnucash, since its framework has been so
well designed!  A new account type wouldn't hurt to help delineate a goal
account from a bank account, but it would have the exact same semantics as a
bank account and would be a different account type in name only.

Anyway, I don't think these goal accounts would be used enough by most people
to deserve drastic, confusing changes to the stable structure already present.
What we have is sufficient.  What /would/ be useful would be a druid that could
step people through setting one up, creating the requisite sub-bank
account/liability account combo.  But it would basically just automate
something that isn't all that difficult to do manually.

 -- 
 Rob Browning [EMAIL PROTECTED] PGP=E80E0D04F521A094 532B97F5D64E3930

-Scott

-- 

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]



   
   
   
   --
   Gnucash Developer's List 
   To unsubscribe send empty email to: [EMAIL PROTECTED]
  -- 
  -
  Bryan Larsen, Senior Software Engineer  fall guy
  Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.
  
  --
  Gnucash Developer's List 
  To unsubscribe send empty email to: [EMAIL PROTECTED]
  
  
 
-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: quicken migration

2000-03-30 Thread Bryan Larsen

Linas said:
 In some way, we can do the same: if we know that we've budgetd 
 $600 every month for e.g. rent, then, if you want to have a smooth
 graph, it makes sense to 'depreciate' it daily, so that your
 expenditures graph doesn't have a stairstep in it ever month, and so
 that your budget graph doesn't have a $600 up spike on rent due date,
 and an equal down-spike a few days later when youn actually pay the
 rent.  On average, the budget graph should really look pretty flat,
 if you've budgeted correctly.  Don't let the big noisy spikes fool you.
 

If you don't always pay the rent on the same day, categorize your rent as
"recurring" rather than "trigger on date".  You'll only get a spike if you're
30 days late.  And then you deserve one.

Bryan

-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





impressions

2000-03-30 Thread Bryan Larsen

Even though I am the author of one of the reports in the system, I hadn't
actually switched over from VMWare+MSMoney to GnuCash until today.

Here are some things I noticed:

- I cannot seem to delete transactions when in "auto-single" or multi-line mode
on the register.

- I got a few duplicate transactions on my import.  Basically splits that
touched two of Money's accounts and one category came in twice -- once properly
and once as a transaction between the accounts.  I can package up some QIF's if
this is not a known problem.  They were easy to track down and kill.

- Retained Earnings shows up on the balance sheet.  No big deal, I suppose. 
I'll have to look back on the discussion on this one.

- documentation is much better than I expected.

- I've got one account with a balance that is WAY off.  the problem may be that
one of the accounts is in USD (everything else is in CAD)  When I delete the
USD account, the balance seems to be reasonable.

- a unified transaction register would be nice.  It'd be nice to transfer $5
from cash to lunch and $30 from mastercard to beer in the same window.  Myself,
I have three accounts I use regularly -- it's a pain to switch beween them.

- I've got a sticky date tag on src/SplitLedger.c and src/register/splitreg.*
for March 26th.  It'd be nice to get that bug fixed before I get too far
out of date.  (see previous emails.)

- reports, especially the budget report I wrote, need a lot of work.  :)

later,
Bryan

-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]





Re: transaction report

2000-03-08 Thread Bryan Larsen

You may have noticed that I've done some minor additions to the transaction
report.  (handling multi-splits, printing the full account name)

Since I based budget-report on transaction-report it would not be difficult for
me to make some major fixes  additions to the transaction report.

The items I was planning on working on were:

-- html generation:  using the routines in html-generator.scm
-- transaction report on multiple accounts.
-- doing totalling differently, like Christopher wants it done (or some small
variation thereof).

let me know what you want me to work on, and when, so we don't step on each
others toes.

thanks,
Bryan

On Wed, 08 Mar 2000, Robert Graham Merkel wrote:
 Dave Peticolas writes:
   
   Hi Rob, I fixed bug #90 in the transaction report.
   It will be in CVS tonight. When you send updates
   the report, can you send me diffs from CVS?
   
   thanks,
   dave
 
 Hello all.  
 
 I have been deprived of net access for quite a while now due to a
 variety of reasons, but I should be up and going again today.
 
 I intend to synch up with CVS today and get cranking on whatever
 needs doing over the weekend (perhaps more documentation, if it still
 needs updating).
 
 Congratulations to everyone for the release.
 
 -- 
 ---
 Robert Merkel [EMAIL PROTECTED]
 
 What a strange game.  The only winning move is not to play.
   -- WOP, "War Games"
 ---
 
 --
 Gnucash Developer's List 
 To unsubscribe send empty email to: [EMAIL PROTECTED]
-- 
-----
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]




Re: cvs 2000-03-07

2000-03-07 Thread Bryan Larsen

 
  + fixed a few bugs in transaction-report.scm

which seems to be hosed, at least for me on my pristine branch.  (my devel
branch is worse).

How is it working for others?

I've seriously cleaned up the html of my budget report.  I'll update
transaction-report as well.

Bryan

-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]




new budget patch

2000-03-07 Thread Bryan Larsen

OK,

I haven't got around to the transaction report yet, but the budget report is
starting to look pretty sweet, at least from the perspective of a generic
report.

The coolest new feature is the multiple views.

The patch is being sent seperately to gnucash-patches.

Bryan

-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]




Re: Some questions

2000-03-07 Thread Bryan Larsen

 - Do you guys have any plans to setup reminders. I like that
   feature of moneydance and I'd be happy to see it in
   GnuCash.

I'm currently working on budgeting.  There is some overlap on the workload
between the two...

-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]




Re: multi-split transaction report

2000-03-05 Thread Bryan Larsen


thanks.  especially since the refinements you suggested are to the original
code, not my modifications. :)

 Not bad; I suggest couple of refinements, involving adding some useful
 abstractions that essentially pull out the HTML dependancy.

this was in the pipe, but I wasn't doing it as well as you suggest, so thanks!

 
 a) By creating a debit/credit "collector," lots of set! instances get
 to go away, and you don't have to track "inflow" and "outflow."

I didn't consider the transaction report "mine"  (I'm working on budgeting),
so I wasn't going to get into that.

But to be able to report on multiple accounts at once, we do need something
better.

 b) Generate HTML in an automated manner, rather than by hand:
 

My function prettifies the number itself -- I'll merge it in to your cell stuff.

 ;;; the above function is a sample of looping via "named let," which is
 ;;; one of the nicest ways of managing loops...

Yah, I just found it.  it sure is sweet.

 
 Note: I've spent some time Messing Seriously With Reports, and haven't
 yet checked anything in.  I suspect that what I should do is to check
 in the utility functions that have fallen out of it, and drop the
 reports proper, to redo the work once some further code gets checked 
 in.

Ouch, I figured this would happen.  I'd like to request that you check in
regularly to minimize my merge costs.

  
 To that end, here is, pretty raw, what I've added as new files, for:
 
 - rptutils.scm   - Some utility functions used in multiple reports
 - htmlgen.scm- HTML table generation functions
 - xmlgen.scm - A generalized XML generator function set
 - gnm.scm- Uses xmlgen.scm to build a GNumeric spreadsheet
 

Thanks.

-- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]




makepatch problems

2000-03-05 Thread Bryan Larsen

using makepatch-2.00 and perl-5.005_03, I get:

Building file list for directory gnucash.pristine ...
Directory gnucash.pristine contains 669 files.
Building file list for directory gnucash ...
Directory gnucash contains 704 files.
Processing the filelists ...
-T and -B not implemented on filehandles at /usr/bin/makepatch line 647.

Bryan

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]




adding budgeting

2000-03-04 Thread Bryan Larsen

Hello,

I don't like the way MSMoney does budgeting, so I've decided to try and add
budgeting to GnuCash.

Is there anybody currently working on budgeting who I should synchronize with?

I plan on doing a proof-of-concept as embedded perl in a report.  I'd rather do
the main implementation in Perl or Python, but we can argue about that later. 
I'm also not the best guy to do the GUI, but that can be talked about later as
well.

features i'll be prototyping:
- budget items can have arbitrary periods.  If lunch is a daily expense, it can
be entered as one (or even as a daily expense for 5 of 7 days)
- budget items can have trigger dates.  If rent is due the first of the month,
you can tell the system that and reports will understand that.
- items with incomplete periods are/can be treated seperately.  Just because
you budgeted $60 for oil changes a year does not mean that you're $5 under
budget for a month that didn't include an oil change!

anything else?  The only budgeting program that I've used is MSMoney, so I'm
probably reinventing the wheel for some of these things.  Please send me any
suggestions (I have read budget.txt)

thanks,
Bryan


 -- 
-
Bryan Larsen, Senior Software Engineer  fall guy
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]




Re: adding budgeting

2000-03-04 Thread Bryan Larsen

On Sat, 04 Mar 2000, you wrote:
  Hello,
  
  I don't like the way MSMoney does budgeting, so I've decided to try and add
  budgeting to GnuCash.
  
  Is there anybody currently working on budgeting who I should synchronize with
  ?
  
  I plan on doing a proof-of-concept as embedded perl in a report.  I'd rather 
  the main implementation in Perl or Python, but we can argue about that later.
  I'm also not the best guy to do the GUI, but that can be talked about later a
  well.
  
 We are no longer supporting eperl and reports are now done in guile.
 Is there anyway you could be convinced to do the work in guile (scheme)?
 That is the main scripting language we use.
 
 We have one utility written in perl, and no python code. We've been
 trying to reduce the number of extra libraries and programs you need
 to run GnuCash.
 
 regardless, thanks for the work!
 

Yah, I just noticed that the eperl stuff is obsolete.

I was hoping to prototype in Perl, and find out how good your arguments were
after I had a prototype done.  It looks like I can't even do that.

I could do it in C, that is my "native" language.  However, it does seem an
inappropriate language for the task.  

My lisp experience is limited to hacking .emacs files, so working in scheme
would involve learning a new language.  Not a big deal after you've learned as
many as I have, but it's still another obstacle.

Bryan

--
Gnucash Developer's List 
To unsubscribe send empty email to: [EMAIL PROTECTED]