Challenging python coders: Who can create a gnucash-like GUI in python in a few weeks?

2011-01-10 Thread Christian Stimming

Dear all,

We've been discussing various future directions for gnucash, including  
a switch to a different programming language for the GUI code [1]. GUI  
coding in C sucks. Because of this, I've experimented with C++/Qt and  
was able to write up a usable gnucash-like register window GUI in 2-3  
weeks which already includes features that are unavailable in  
conventional gnucash [2]. I chose C++/Qt because I'm very familiar  
and productive with that platform.


However, a scripting language might be even more suitable for writing  
the GUI code of a project like gnucash. The language Python is a  
particularly good candidate here because gnucash already has python  
wrappers for most of its underlying data type and storage code,  
thankfully provided by Mike Evans and others. See  
src/optional/python-bindings/ and the doxygen output [3] and the  
example scripts in python-bindings/example_scripts/, in particular  
scripts like simple_book.py: Loading an existing file, modifying some  
of the data, and writing again, all in 12 lines.


Here's my challenge to coders who *are* familiar with GUI coding in  
python (because I'm not): Who of you is able to write up some python  
code that creates a gnucash-like GUI, using the existing python  
wrappers to re-use the data store of normal gnucash, but your python  
code is at least a thousand times more elegant than the previous code?  
And you won't need more than 1-2 weeks to achieve something where we  
can view our data files and enter new transactions, will you? I was  
able to do this in C++/Qt in four weeks; are you able to do it in  
python in two?


If your results are convincing, I will join. I am extremely curious to  
see how python can drive the GUI of a large application like gnucash.  
I experimented in one direction; now I want to learn about other  
possible directions. In case the results turn out unconvincing - well,  
you cannot loose more than a little bit of time and we will all have  
learnt something about the potentials and limitations here. But if you  
achieve something convincing, you will of course gain unlimited  
bragging rights that python is the language of choice for  
discriminating hackers... [4]


And now, let the coding begin!

Best Regards,

Christian

[1]  
http://lists.gnucash.org/pipermail/gnucash-devel/2010-December/030516.html and  
thread

[2] http://wiki.gnucash.org/wiki/Cutecash
[3] http://svn.gnucash.org/docs/HEAD/python_bindings_page.html
[4] http://en.wikipedia.org/wiki/ICFP_Programming_Contest#Prizes


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Challenging python coders: Who can create a gnucash-like GUI in python in a few weeks?

2011-01-10 Thread Graham Leggett

On 10 Jan 2011, at 12:24 PM, Christian Stimming wrote:

We've been discussing various future directions for gnucash,  
including a switch to a different programming language for the GUI  
code [1]. GUI coding in C sucks. Because of this, I've experimented  
with C++/Qt and was able to write up a usable gnucash-like register  
window GUI in 2-3 weeks which already includes features that are  
unavailable in conventional gnucash [2]. I chose C++/Qt because  
I'm very familiar and productive with that platform.


Something that would be really awesome would be to look at the GUI  
code in such a way as to ensure that writing the GUI code for the  
native platform would be simple and easy to do.


In other words, it would be awesome if there was a native MacOSX  
version of gnucash, that used the Cocoa interface natively, and a  
native Windows version of gnucash, that used the Windows APIs  
natively, etc.


I think rather than focusing on a GUI, rather focus on a clean API to  
the gnucash core, that a GUI might call easily. That will free up a  
python coder to use the python bindings to make a python based  
interface (as you've suggested), or a Cocoa coder to make MacOSX  
bindings, etc.


Regards,
Graham
--

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Geert Janssens
On Thursday 06 January 2011, Mike Alexander wrote:
 --On January 5, 2011 2:12:06 PM -0500 Derek Atkins warl...@mit.edu
  I get the git is cool aspect of it.  But I'm trying to get people
  ignore the git is cool part and to seriously think about the
  technicalities: what does git buy us that we don't have now, and will
  we really truly use those features that git provides that svn (or
  other tools built on svn, including git-svn) does not?
 
 For the record, I agree entirely with this.  Changing is painful and
 needs to be worth the pain.  There are lots of source code management
 systems out there and almost all of them have advantages (and people
 who swear by them).  Personally my favorite is Clearcase, but we're
 certainly not moving to that!  Mercurial is not too bad either, and I
 already use that for other open source projects.  Git is probably good
 too, but I don't know it very well.
 
I have worked with clearcase as well - almost 10 years ago. I remember I liked 
it's concept of views and strong branching. I also remember that merging was 
as tricky then as it still is today in other source management systems I used 
in the meantime. And indeed, Clearcase isn't even an option for GnuCash, so I 
won't go into it more.

I started playing with git a couple of months back, just to see what it could 
do. My first test was to import the gnucash project using git-svn.

I have a fair amount of experience in svn, which I don't have yet in git. 
Still it didn't take me long to prefer git over svn. I can't very well 
describe why. I think it's a mix of subjective and objective criteria.

On the subjective side, I am under the impression that the git way of doing 
things seems to align better with my sense of logic and representation of 
development history.

More technically, I find that git has a set of commands that is more helpful 
in many situations. I can find ways to do most things in svn as well, but in 
git it is often easier, or more direct, or more flexible.

I particularly like the flexibility that branches have in git, I already 
enjoyed the rebase command, partial commits (like committing only a few of the 
changes in one file), ...

I should also add that I have had to search hard to do certain things and am 
frequently confused because I'm conditioned in the svn way of doing things and 
git does some things fundamentally different. So there would definitely be a 
learning curve.

Equally, so far I have only had a couple of occasions to experience git's 
merge capabilities. My first impression is again that git tends to be more 
helpful and more flexible at that time. The more recent svn versions have 
improved in that area though, but in my (subjective) opinion are not up to 
git's standards yet.

What I don't have experience with at all yet is working with others via git. 
Like pushing or pulling changes to/from other git repositories.

What I am missing in git is the linear version numbering that comes with svn. 
I suppose it wouldn't work very well in a system that uses branches as its 
primary metaphor, but I miss it nonetheless. It's not obvious to see to states 
of the source code and know at a glance which one is more recent or not. The 
sha1 sum defines each commit uniquely, but seeing it in the about dialog box 
from GnuCash doesn't tell me if this build is from a more recent source than I 
built yesterday, and whether I should update my sources for a rebuild or not.

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Geert Janssens
On Wednesday 05 January 2011, Jeff Kletsky wrote:
 I don't like that history is a pretty flexible thing and that branches
 are just pointers to specific commits, rather than the kind of
 followable path that svn provides.
 
That's interesting, because I feel exactly the oposite. I don't like it that 
for svn a branch or tag is a path into the repository. It has always felt 
artificial to me and if not treated with proper care could put you into very 
unwanted situations like people inadvertently committing changes to a tagged 
release.
I guess this is mostly a matter of taste and what you are most used to 
though...


Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Bug in GnuCash Docs PDF generation (german help docs?)

2011-01-10 Thread Derek Atkins
Frank,

Frank H. Ellenberger f.ellenber...@online.de writes:

 Hi Derek,

 should be fixed in r20037.

Thanks.  It does appear to be working again.

 Frank

-derek

 Am Mittwoch, 5. Januar 2011 um 21:47:56 schrieb Derek Atkins:
 Hi All,

 The GnuCash docs have failed to build the last few days.  I decided to
 take a few minutes today to figure out why it failed, and here's what I
 found.  This failure only started a few days ago.  Maybe someone could
 look at it?

 -derek



-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   warl...@mit.eduPGP key available
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Challenging python coders: Who can create a gnucash-like GUI in python in a few weeks?

2011-01-10 Thread Phil Frost
On Mon, Jan 10, 2011 at 12:50:25PM +0200, Graham Leggett wrote:
 I think rather than focusing on a GUI, rather focus on a clean API to  
 the gnucash core, that a GUI might call easily. That will free up a  
 python coder to use the python bindings to make a python based interface 
 (as you've suggested), or a Cocoa coder to make MacOSX bindings, etc.

Coincidentally, PyObjC means that good Python bindings also enable a
native Cocoa MacOS X GUI.
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Challenging python coders: Who can create a gnucash-like GUI in python in a few weeks?

2011-01-10 Thread Jeff Kletsky

In my opinion, it is great that Scheme and Guile are on the way out.

I would suggest though, that something more than how few lines of code 
are needed go into the determination of the language for the UI. 
Otherwise, APL is going to win hands down. Even the presence of bindings 
doesn't sway me much. The amount of UI code (and proper re-factoring of 
business logic out of the UI) is probably going to be much larger than 
the bindings. Part of me also cringes at the thought of using two 
different languages for one application unless there is a good reason.




I'd argue for at least the following:



* Modern, object-oriented code

This one really goes without saying, I hope.

I'd personally prefer one that handles multiple inheritance in a 
reasonable way and clearly supports anonymous functions, closures, and 
lazy build functionality.




* Popular among developers

You want people to already have the skills to be able to contribute to 
the project. The Open Source world is not really much different than the 
commercial world. Now matter how slick your language is, it is going 
to be much easier to, for example, find top-notch Java programmers, than 
some niche language (unless it is deemed the next great thing).




* xPad aware

Consider that I wouldn't be surprised if there are more iPads out there 
than Linux desktops. Android is on the upswing. The increasing number of 
handheld devices, to some extent, argues against heavyweight 
interpreters. Why should the user have to not only download an app, but 
also another language interpreter, and potentially another GUI 
framework? I'm not saying that GNUCash must be in Objective C, but 
thinking about platform support and impact is worthwhile.




* Understandability and Maintainability

I guess that rules out APL...




On 01/10/2011 02:24 AM, Christian Stimming wrote:

Dear all,

We've been discussing various future directions for gnucash, including 
a switch to a different programming language for the GUI code [1]. GUI 
coding in C sucks. Because of this, I've experimented with C++/Qt and 
was able to write up a usable gnucash-like register window GUI in 2-3 
weeks which already includes features that are unavailable in 
conventional gnucash [2]. I chose C++/Qt because I'm very familiar 
and productive with that platform.


However, a scripting language might be even more suitable for writing 
the GUI code of a project like gnucash. The language Python is a 
particularly good candidate here because gnucash already has python 
wrappers for most of its underlying data type and storage code, 
thankfully provided by Mike Evans and others. See 
src/optional/python-bindings/ and the doxygen output [3] and the 
example scripts in python-bindings/example_scripts/, in particular 
scripts like simple_book.py: Loading an existing file, modifying some 
of the data, and writing again, all in 12 lines.




___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Derek Atkins
Geert Janssens janssens-ge...@telenet.be writes:

 On Wednesday 05 January 2011, Jeff Kletsky wrote:
 I don't like that history is a pretty flexible thing and that branches
 are just pointers to specific commits, rather than the kind of
 followable path that svn provides.
 
 That's interesting, because I feel exactly the oposite. I don't like it that 
 for svn a branch or tag is a path into the repository. It has always felt 
 artificial to me and if not treated with proper care could put you into very 
 unwanted situations like people inadvertently committing changes to a tagged 
 release.
 I guess this is mostly a matter of taste and what you are most used to 
 though...

I like that branches are paths, because you DO want to be able to make
additional commits into a branch.  So I don't agree with you there.
However, I do agree with you about tags.

IMHO branches and tags are (and should be) fundamentally different.  A
branch should be a path, but a tag is, well, a tag.

 Geert

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   warl...@mit.eduPGP key available
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Geert Janssens
On Monday 10 January 2011, Geert Janssens wrote:
 
 What I don't have experience with at all yet is working with others via
 git. Like pushing or pulling changes to/from other git repositories.
 

Oh, and I forgot to add that I don't have experience with svk. So I don't know 
it that also improves the svn experience in similar ways.

Neither have I ever uses mercurial or bazar, which are -like git- distributed 
version control systems.

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: missing gnucash-2.4.0.tar.bz2 in ftp.at.gnucash.org/pub/gnucash/sources/stable/

2011-01-10 Thread Geert Janssens
On Tuesday 04 January 2011, Derek Atkins wrote:
 On Mon, January 3, 2011 9:35 pm, Frank H. Ellenberger wrote:
  Servus Tony,
  
  in the chat
  http://lists.gnucash.org/logs/2011/01/2011-01-03.html#T14:23:35 a
  user asked, why gnucash-2.4.0 is not availabe at ftp.at.gnucash.org =
  gd.tuwien.ac.at.
 
 For what it's worth, the tarball is also missing at www.gnucash.org.
 
How does it normally end up there ?

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Colin Law
On 10 January 2011 15:12, Derek Atkins warl...@mit.edu wrote:
 Geert Janssens janssens-ge...@telenet.be writes:

 On Wednesday 05 January 2011, Jeff Kletsky wrote:
 I don't like that history is a pretty flexible thing and that branches
 are just pointers to specific commits, rather than the kind of
 followable path that svn provides.

 That's interesting, because I feel exactly the oposite. I don't like it that
 for svn a branch or tag is a path into the repository. It has always felt
 artificial to me and if not treated with proper care could put you into very
 unwanted situations like people inadvertently committing changes to a tagged
 release.
 I guess this is mostly a matter of taste and what you are most used to
 though...

 I like that branches are paths, because you DO want to be able to make
 additional commits into a branch.  So I don't agree with you there.

I am not sure what you are suggesting here.  Using git there is no
problem committing to a branch, just checkout the branch, make the
changes, and commit.  The changes go onto the branch.

 However, I do agree with you about tags.

 IMHO branches and tags are (and should be) fundamentally different.  A
 branch should be a path, but a tag is, well, a tag.

I believe they *are* different in git, at least in terms of the normal
usage via the git commands and utilities.

Colin
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: missing gnucash-2.4.0.tar.bz2 in ftp.at.gnucash.org/pub/gnucash/sources/stable/

2011-01-10 Thread Phil Longstaff
Normally, I copy it.  I forgot this time.

 Phil
-
I used to be a hypochondriac AND a kleptomaniac. So I took something for it.





From: Geert Janssens janssens-ge...@telenet.be
To: gnucash-devel@gnucash.org
Cc: Antonín Sprinzl anto...@sprinzl.info; Derek Atkins de...@ihtfp.com
Sent: Mon, January 10, 2011 10:33:33 AM
Subject: Re: missing gnucash-2.4.0.tar.bz2 in 
ftp.at.gnucash.org/pub/gnucash/sources/stable/

On Tuesday 04 January 2011, Derek Atkins wrote:
 On Mon, January 3, 2011 9:35 pm, Frank H. Ellenberger wrote:
  Servus Tony,
  
  in the chat
  http://lists.gnucash.org/logs/2011/01/2011-01-03.html#T14:23:35 a
  user asked, why gnucash-2.4.0 is not availabe at ftp.at.gnucash.org =
  gd.tuwien.ac.at.
 
 For what it's worth, the tarball is also missing at www.gnucash.org.
 
How does it normally end up there ?

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Jeff Kletsky
At least as I understand it, branches in git are nothing more than a 
pointer to the head commit and, structurally, are pretty much the same 
(if not identical) to tags. A branch in git is a tag on point in 
development that is moved to other commits if you commit to that 
branch. In simpler words, it is a tag that gets conveniently moved each 
time you commit. You really aren't working on/in a branch but are more 
moving what the notion of the head of the branch is. Yeah, it's really 
different from svn that way.


While there is the notion of parent and child commits (which can be 
multiple) in git, one of the things that is different about git branches 
is that there is no notion of a branch point or a branch history the 
way there is in svn, for example. Sure, as long as you don't merge the 
branch, you can determine where it diverges from another branch. 
However, once you merge, that gets dicey to impossible. As long as you 
don't really care where you came from and how, git branches are fine. 
They can take care of

* most recent 2.2-Release version
* most recent 2.4-Release version
* most recent Stable version
* most recent Current (bleeding-edge) version

Git tags are really the static things to take care of the concept of:
* what are all the 2.2-Release versions?
* what are all the 2.4-Release versions?




On 01/10/2011 07:38 AM, Colin Law wrote:

On 10 January 2011 15:12, Derek Atkinswarl...@mit.edu  wrote:

Geert Janssensjanssens-ge...@telenet.be  writes:


On Wednesday 05 January 2011, Jeff Kletsky wrote:

I don't like that history is a pretty flexible thing and that branches
are just pointers to specific commits, rather than the kind of
followable path that svn provides.


That's interesting, because I feel exactly the oposite. I don't like it that
for svn a branch or tag is a path into the repository. It has always felt
artificial to me and if not treated with proper care could put you into very
unwanted situations like people inadvertently committing changes to a tagged
release.
I guess this is mostly a matter of taste and what you are most used to
though...

I like that branches are paths, because you DO want to be able to make
additional commits into a branch.  So I don't agree with you there.

I am not sure what you are suggesting here.  Using git there is no
problem committing to a branch, just checkout the branch, make the
changes, and commit.  The changes go onto the branch.


However, I do agree with you about tags.

IMHO branches and tags are (and should be) fundamentally different.  A
branch should be a path, but a tag is, well, a tag.

I believe they *are* different in git, at least in terms of the normal
usage via the git commands and utilities.

Colin
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Colin Law
On 10 January 2011 15:48, Derek Atkins warl...@mit.edu wrote:
 Colin Law clan...@googlemail.com writes:

 On 10 January 2011 15:12, Derek Atkins warl...@mit.edu wrote:
 Geert Janssens janssens-ge...@telenet.be writes:

 On Wednesday 05 January 2011, Jeff Kletsky wrote:
 I don't like that history is a pretty flexible thing and that branches
 are just pointers to specific commits, rather than the kind of
 followable path that svn provides.

 That's interesting, because I feel exactly the oposite. I don't like it 
 that
 for svn a branch or tag is a path into the repository. It has always felt
 artificial to me and if not treated with proper care could put you into 
 very
 unwanted situations like people inadvertently committing changes to a 
 tagged
 release.
 I guess this is mostly a matter of taste and what you are most used to
 though...

 I like that branches are paths, because you DO want to be able to make
 additional commits into a branch.  So I don't agree with you there.

 I am not sure what you are suggesting here.  Using git there is no
 problem committing to a branch, just checkout the branch, make the
 changes, and commit.  The changes go onto the branch.

 We're not talking about git; we're talking about svn.

Sorry, I thought you were comparing the two and saying that the way
svn handles branches is better than the way git does it.

Colin L.
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Make check fails at dbi test

2011-01-10 Thread Bill Hammond
Wonderful news, Jeff.  Thanks.  I should have made it clear that the
zero amount issue happens with SQL, not the XML.  Sorry 'bout that.

Bill

On 01/10/2011 01:54 AM, Jeff Kletsky wrote:

 [...]
 Hello!

 I am having a problem with make check on r20048 (and a few versions
 before that).  I am also having problems with gnucash 2.4.0 storing
 accounts as an SQL database.  The transaction dates and descriptions
 are
 displayed in the register but the amounts always show zero.

 Here's the error I get when I run make check.  There are no errors
 during the ./autogen / ./configure / make phases of building.

 I'm running Ubuntu 10.10 with sqlite3 3.7.0.  I believe I have all
 the
 dbi stuff installed. I'm still running gnucash 2.2.9 with no
 problems.
 What vers

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Colin Law
On 10 January 2011 15:56, Jeff Kletsky gnuc...@allycomm.com wrote:
 At least as I understand it, branches in git are nothing more than a pointer
 to the head commit and, structurally, are pretty much the same (if not
 identical) to tags. A branch in git is a tag on point in development that is
 moved to other commits if you commit to that branch. In simpler words, it
 is a tag that gets conveniently moved each time you commit. You really
 aren't working on/in a branch but are more moving what the notion of the
 head of the branch is. Yeah, it's really different from svn that way.

It may well be true that branches and tags in git are structurally
very similar, but in terms of operation they are completely different.
 Git knows the difference and handles the concept of working on a
branch in virtually the same way as svn (as far as the user is
concerned).  So one can create a new branch, make changes, committing
along the way.  One can use gitk to give a graphical representation
showing the branch separate from other branches.


 While there is the notion of parent and child commits (which can be
 multiple) in git, one of the things that is different about git branches is
 that there is no notion of a branch point or a branch history the way
 there is in svn, for example.

Up to the point of merging there is effectively a branch point and history.

 Sure, as long as you don't merge the branch,
 you can determine where it diverges from another branch. However, once you
 merge, that gets dicey to impossible.

That is true, once a branch is merged into the master branch, for
example, it is as if the changes were made on the master.  Personally
I have not found this to be an issue.

 As long as you don't really care where
 you came from and how, git branches are fine. They can take care of
 * most recent 2.2-Release version
 * most recent 2.4-Release version
 * most recent Stable version
 * most recent Current (bleeding-edge) version

One of the most useful features is the ability to setup local branches
(on ones local clone of the repository) for experimental work.  Once
one is happy with the work then the changes can be merged into
whatever branch is appropriate on the master repository.

Colin


 Git tags are really the static things to take care of the concept of:
 * what are all the 2.2-Release versions?
 * what are all the 2.4-Release versions?

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Geert Janssens
On Monday 10 January 2011, Jeff Kletsky wrote:
 At least as I understand it, branches in git are nothing more than a
 pointer to the head commit and, structurally, are pretty much the same
 (if not identical) to tags. A branch in git is a tag on point in
 development that is moved to other commits if you commit to that
 branch. In simpler words, it is a tag that gets conveniently moved each
 time you commit. You really aren't working on/in a branch but are more
 moving what the notion of the head of the branch is. Yeah, it's really
 different from svn that way.
 
 While there is the notion of parent and child commits (which can be
 multiple) in git, one of the things that is different about git branches
 is that there is no notion of a branch point or a branch history the
 way there is in svn, for example. Sure, as long as you don't merge the
 branch, you can determine where it diverges from another branch.
 However, once you merge, that gets dicey to impossible.
I don't know about the command line tools, but the graphical tool gitk seems 
to have no problems with that ? As far as I know it nicely shows where 
branches diverge and merge together again ?

Perhaps you have a specific use case in mind that is easier to handle in svn 
that in git ?

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: IRR on Advanced Portfolio report

2011-01-10 Thread Franco Mossotto
Yes,
you are right, IRR can be misinterpreted because it assumes reinvestments
with the same return rate, but this is anyway widely used and is present on
other products.

NPV can be easily added starting from my code (we just need to add an option
to take the rate to calculate NPV, and add the column), but I think this is
more complex to use since it requires to think first to which is the
expected return rate.

Regards,
Franco



On Mon, Jan 10, 2011 at 4:42 PM, Donald Allen donaldcal...@gmail.comwrote:

 On Mon, Jan 10, 2011 at 3:22 AM, Franco Mossotto
 franco.mosso...@gmail.com wrote:
  I was looking for the ability in gnucash to calculate the IRR (Internal
 Rate
  of Return) for investments. This is something that other products has and
  that I found essential in order to evaluate the investments in my
 portfolio.

 IRR is certainly useful, but can be misinterpreted. See

 http://hadm.sph.sc.edu/courses/econ/invest/invest.html

 I realize that what I've said here is a bit off-topic, but since
 Professor Baker explains the issues very clearly, I thought I'd
 mention it.

 /Don

  I've found some old request to add this capability on the advanced
 portfolio
  report, but I didn't find any implementation for that.
 
  I've tried doing that by myself on 2.2.7 that is the version I'm
 currently
  using.
 
  Attached there are my scm version and the patch file for 2.2.7. It works,
  even if this probably doesn't comply with your coding standards (this is
 my
  first implementation using Scheme)
 
  I was trying to port it on trunk, but I've some issues with advanced
  portfolio shipped on 2.4.0 that I need to investigate first.
 
  Regards,
  Franco
 
  ___
  gnucash-devel mailing list
  gnucash-devel@gnucash.org
  https://lists.gnucash.org/mailman/listinfo/gnucash-devel
 
 

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: IRR on Advanced Portfolio report

2011-01-10 Thread Donald Allen
On Mon, Jan 10, 2011 at 11:38 AM, Franco Mossotto
franco.mosso...@gmail.com wrote:
 Yes,
 you are right, IRR can be misinterpreted because it assumes reinvestments
 with the same return rate, but this is anyway widely used and is present on
 other products.

What Prof. Baker is pointing out is that you can be fooled by IRR
comparisons, which are dependent on the shape of the NPV v. discount
rate curves (concave v. convex). If you are comparing situations where
large costs/outgoing flows occur late in the game, it can be the case
that inferior investments have higher IRRs than superior ones. If you
don't look at the NPV/discount rate curve, you might not know this and
make an incorrect decision, by assuming blindly that a larger IRR is
always better, which is not true.

/Don


 NPV can be easily added starting from my code (we just need to add an option
 to take the rate to calculate NPV, and add the column), but I think this is
 more complex to use since it requires to think first to which is the
 expected return rate.
 Regards,
 Franco


 On Mon, Jan 10, 2011 at 4:42 PM, Donald Allen donaldcal...@gmail.com
 wrote:

 On Mon, Jan 10, 2011 at 3:22 AM, Franco Mossotto
 franco.mosso...@gmail.com wrote:
  I was looking for the ability in gnucash to calculate the IRR (Internal
  Rate
  of Return) for investments. This is something that other products has
  and
  that I found essential in order to evaluate the investments in my
  portfolio.

 IRR is certainly useful, but can be misinterpreted. See

 http://hadm.sph.sc.edu/courses/econ/invest/invest.html

 I realize that what I've said here is a bit off-topic, but since
 Professor Baker explains the issues very clearly, I thought I'd
 mention it.

 /Don

  I've found some old request to add this capability on the advanced
  portfolio
  report, but I didn't find any implementation for that.
 
  I've tried doing that by myself on 2.2.7 that is the version I'm
  currently
  using.
 
  Attached there are my scm version and the patch file for 2.2.7. It
  works,
  even if this probably doesn't comply with your coding standards (this is
  my
  first implementation using Scheme)
 
  I was trying to port it on trunk, but I've some issues with advanced
  portfolio shipped on 2.4.0 that I need to investigate first.
 
  Regards,
  Franco
 
  ___
  gnucash-devel mailing list
  gnucash-devel@gnucash.org
  https://lists.gnucash.org/mailman/listinfo/gnucash-devel
 
 


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: IRR on Advanced Portfolio report

2011-01-10 Thread Franco Mossotto
I see your point, but what's your suggestion?
I don't think that the actual information on Advanced Portfolio are useful
to take a decision on the investments because there is no information
considering the duration of the investments. And for me this is the main
missing feature in gnucash compared to the product I was using before. Do
you agree?

Franco



On Mon, Jan 10, 2011 at 5:54 PM, Donald Allen donaldcal...@gmail.comwrote:

 On Mon, Jan 10, 2011 at 11:38 AM, Franco Mossotto
 franco.mosso...@gmail.com wrote:
  Yes,
  you are right, IRR can be misinterpreted because it assumes reinvestments
  with the same return rate, but this is anyway widely used and is present
 on
  other products.

 What Prof. Baker is pointing out is that you can be fooled by IRR
 comparisons, which are dependent on the shape of the NPV v. discount
 rate curves (concave v. convex). If you are comparing situations where
 large costs/outgoing flows occur late in the game, it can be the case
 that inferior investments have higher IRRs than superior ones. If you
 don't look at the NPV/discount rate curve, you might not know this and
 make an incorrect decision, by assuming blindly that a larger IRR is
 always better, which is not true.

 /Don


  NPV can be easily added starting from my code (we just need to add an
 option
  to take the rate to calculate NPV, and add the column), but I think this
 is
  more complex to use since it requires to think first to which is the
  expected return rate.
  Regards,
  Franco
 
 
  On Mon, Jan 10, 2011 at 4:42 PM, Donald Allen donaldcal...@gmail.com
  wrote:
 
  On Mon, Jan 10, 2011 at 3:22 AM, Franco Mossotto
  franco.mosso...@gmail.com wrote:
   I was looking for the ability in gnucash to calculate the IRR
 (Internal
   Rate
   of Return) for investments. This is something that other products has
   and
   that I found essential in order to evaluate the investments in my
   portfolio.
 
  IRR is certainly useful, but can be misinterpreted. See
 
  http://hadm.sph.sc.edu/courses/econ/invest/invest.html
 
  I realize that what I've said here is a bit off-topic, but since
  Professor Baker explains the issues very clearly, I thought I'd
  mention it.
 
  /Don
 
   I've found some old request to add this capability on the advanced
   portfolio
   report, but I didn't find any implementation for that.
  
   I've tried doing that by myself on 2.2.7 that is the version I'm
   currently
   using.
  
   Attached there are my scm version and the patch file for 2.2.7. It
   works,
   even if this probably doesn't comply with your coding standards (this
 is
   my
   first implementation using Scheme)
  
   I was trying to port it on trunk, but I've some issues with advanced
   portfolio shipped on 2.4.0 that I need to investigate first.
  
   Regards,
   Franco
  
   ___
   gnucash-devel mailing list
   gnucash-devel@gnucash.org
   https://lists.gnucash.org/mailman/listinfo/gnucash-devel
  
  
 
 

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: IRR on Advanced Portfolio report

2011-01-10 Thread Donald Allen
On Mon, Jan 10, 2011 at 12:04 PM, Franco Mossotto
franco.mosso...@gmail.com wrote:
 I see your point, but what's your suggestion?
 I don't think that the actual information on Advanced Portfolio are useful
 to take a decision on the investments because there is no information
 considering the duration of the investments. And for me this is the main
 missing feature in gnucash compared to the product I was using before. Do
 you agree?

I agree that doing something in this area would be useful, but I think
gnucash can and should do better than giving people enough rope to
hang themselves, by just computing the IRR for them. Perhaps it could
present the NPV v. discount rate curve for a proposed investment (or
investments), to help people avoid the common misuse of IRR.

/Don

 Franco



 On Mon, Jan 10, 2011 at 5:54 PM, Donald Allen donaldcal...@gmail.com
 wrote:

 On Mon, Jan 10, 2011 at 11:38 AM, Franco Mossotto
 franco.mosso...@gmail.com wrote:
  Yes,
  you are right, IRR can be misinterpreted because it assumes
  reinvestments
  with the same return rate, but this is anyway widely used and is present
  on
  other products.

 What Prof. Baker is pointing out is that you can be fooled by IRR
 comparisons, which are dependent on the shape of the NPV v. discount
 rate curves (concave v. convex). If you are comparing situations where
 large costs/outgoing flows occur late in the game, it can be the case
 that inferior investments have higher IRRs than superior ones. If you
 don't look at the NPV/discount rate curve, you might not know this and
 make an incorrect decision, by assuming blindly that a larger IRR is
 always better, which is not true.

 /Don


  NPV can be easily added starting from my code (we just need to add an
  option
  to take the rate to calculate NPV, and add the column), but I think this
  is
  more complex to use since it requires to think first to which is the
  expected return rate.
  Regards,
  Franco
 
 
  On Mon, Jan 10, 2011 at 4:42 PM, Donald Allen donaldcal...@gmail.com
  wrote:
 
  On Mon, Jan 10, 2011 at 3:22 AM, Franco Mossotto
  franco.mosso...@gmail.com wrote:
   I was looking for the ability in gnucash to calculate the IRR
   (Internal
   Rate
   of Return) for investments. This is something that other products has
   and
   that I found essential in order to evaluate the investments in my
   portfolio.
 
  IRR is certainly useful, but can be misinterpreted. See
 
  http://hadm.sph.sc.edu/courses/econ/invest/invest.html
 
  I realize that what I've said here is a bit off-topic, but since
  Professor Baker explains the issues very clearly, I thought I'd
  mention it.
 
  /Don
 
   I've found some old request to add this capability on the advanced
   portfolio
   report, but I didn't find any implementation for that.
  
   I've tried doing that by myself on 2.2.7 that is the version I'm
   currently
   using.
  
   Attached there are my scm version and the patch file for 2.2.7. It
   works,
   even if this probably doesn't comply with your coding standards (this
   is
   my
   first implementation using Scheme)
  
   I was trying to port it on trunk, but I've some issues with advanced
   portfolio shipped on 2.4.0 that I need to investigate first.
  
   Regards,
   Franco
  
   ___
   gnucash-devel mailing list
   gnucash-devel@gnucash.org
   https://lists.gnucash.org/mailman/listinfo/gnucash-devel
  
  
 
 


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread John Ralls

On Jan 10, 2011, at 8:13 AM, Colin Law wrote:

 On 10 January 2011 15:56, Jeff Kletsky gnuc...@allycomm.com wrote:
 At least as I understand it, branches in git are nothing more than a pointer
 to the head commit and, structurally, are pretty much the same (if not
 identical) to tags. A branch in git is a tag on point in development that is
 moved to other commits if you commit to that branch. In simpler words, it
 is a tag that gets conveniently moved each time you commit. You really
 aren't working on/in a branch but are more moving what the notion of the
 head of the branch is. Yeah, it's really different from svn that way.
 
 It may well be true that branches and tags in git are structurally
 very similar, but in terms of operation they are completely different.
 Git knows the difference and handles the concept of working on a
 branch in virtually the same way as svn (as far as the user is
 concerned).  So one can create a new branch, make changes, committing
 along the way.  One can use gitk to give a graphical representation
 showing the branch separate from other branches.
 
 
 While there is the notion of parent and child commits (which can be
 multiple) in git, one of the things that is different about git branches is
 that there is no notion of a branch point or a branch history the way
 there is in svn, for example.
 
 Up to the point of merging there is effectively a branch point and history.
 
 Sure, as long as you don't merge the branch,
 you can determine where it diverges from another branch. However, once you
 merge, that gets dicey to impossible.
 
 That is true, once a branch is merged into the master branch, for
 example, it is as if the changes were made on the master.  Personally
 I have not found this to be an issue.
 
 As long as you don't really care where
 you came from and how, git branches are fine. They can take care of
 * most recent 2.2-Release version
 * most recent 2.4-Release version
 * most recent Stable version
 * most recent Current (bleeding-edge) version

This is absolutely not true, and spending a few seconds with a history 
visualization in git-gui or the network view on Github will show it. (With 
git gui, you have to pay attention to the colors of the links between commits: 
They indicate in which branch the commit was made.) It's SVN that loses 
identity unless the merge commit mentions it in the comment: A merge is 
represented as a single patch on the merge-to branch (trunk is a special 
branch). Github's visualization is especially cool because it tracks pulls 
across multiple repositories on Github. 

As Jeff mentioned in passing, any commit can have multiple children (a branch 
point) and multiple parents (a merge point). (Only parents are recorded in the 
commit object; children have to be reconstructed.) The git history plumbing 
follows those branches and merges and displays them correctly -- as long as one 
uses the tools correctly.  It's possible with git to replay the changes in one 
branch onto another branch (git cherrypick), which creates a new set of commits 
on the receiving branch which have no references to the original. 

See http://utsl.gen.nz/talks/git-svn/intro.html for a good exposition on 
migrating to git from svn and how to get more from git, as well as a comparison 
of svn, svk, git, darcs, bzr, and Hg.

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Public Git repo

2011-01-10 Thread Jeff Kletsky

On 01/10/2011 08:28 AM, Geert Janssens wrote:

On Monday 10 January 2011, Jeff Kletsky wrote:

At least as I understand it, branches in git are nothing more than a
pointer to the head commit and, structurally, are pretty much the same
(if not identical) to tags. A branch in git is a tag on point in
development that is moved to other commits if you commit to that
branch. In simpler words, it is a tag that gets conveniently moved each
time you commit. You really aren't working on/in a branch but are more
moving what the notion of the head of the branch is. Yeah, it's really
different from svn that way.

While there is the notion of parent and child commits (which can be
multiple) in git, one of the things that is different about git branches
is that there is no notion of a branch point or a branch history the
way there is in svn, for example. Sure, as long as you don't merge the
branch, you can determine where it diverges from another branch.
However, once you merge, that gets dicey to impossible.

I don't know about the command line tools, but the graphical tool gitk seems
to have no problems with that ? As far as I know it nicely shows where
branches diverge and merge together again ?

Perhaps you have a specific use case in mind that is easier to handle in svn
that in git ?

Geert


git and svn are just different on things
which is better depends on how you work
(that said, I personally prefer git for my local work)

1) You're somewhere along in development

- A - B - C

Branch 1 = C


2) You Create Branch 2

- A - B - C

Branch 1 = C
Branch 2 = C


3) Make some commits on Branch 2

- A - B - C - D - E - F

Branch 1 = C
Branch 2 = F


4) Make some commits on Branch 1

- A - B - C - D - E - F
   \
\ G - H

Branch 1 = H
Branch 2 = F


5) Someone else makes a topic branch, Branch 3, off commit B
(maybe that was the last released version) and makes some commits

/ I -  J
   /
- A - B - C - D - E - F
   \
\ G - H

Branch 1 = H
Branch 2 = F
Branch 3 = J


6) You merge in some of the changes from Branch 3 into Branch 2

/ I - J -- \
   /\
- A - B - C - D - E - F - K
   \
\ G - H

Branch 1 = H
Branch 2 = K
Branch 3 = J


Sooo, where is the branch point for Branch 2? Was it commit B or 
commit C?


Also, from git's perspective, commmits I and J are just as much on 
Branch 2

as are commits D, E, and F.

From svn's perspective, there was a branch made at point C
and some additional changes were introduced in commit K

When I remember, I tag the branch points when I make them.







___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Python Shell

2011-01-10 Thread Christoph Holtermann
Hello and a happy new year !

My interest in gnucash is to have a python-shell-environment which lets me 
easily access and display
data. I have written some things for myself like simple functions
PrintTransaction(Transaction) and so for other objects.

I use IPython for that purpose. I would like to submit my tries in that 
direction but for myself I would
like to find the best solution for at least these printing functions before I 
do to not submit something
too preliminary.

I wonder in which way a function that prints an complex object should be done.

When looking around in the internet i saw things like object.prettyPrint(). I 
came across
object.__format__().

When I print out for example a transaction i want to print out information of 
objects that are nested into
it. For example I would probably also to print out the splits.

I would like to have some function of the objects that are always called the 
same way. In the end I would
like to have something as easy as

print object.

Could someone point me something helpful ?

regards,

Christoph Holtermann
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Python Shell

2011-01-10 Thread Anthony Dardis
On Mon, 10 Jan 2011 17:04:50 -0500, Christoph Holtermann  
c.holterm...@gmx.de wrote:



Hello and a happy new year !

My interest in gnucash is to have a python-shell-environment which lets  
me easily access and display

data. I have written some things for myself like simple functions
PrintTransaction(Transaction) and so for other objects.

I use IPython for that purpose. I would like to submit my tries in that  
direction but for myself I would
like to find the best solution for at least these printing functions  
before I do to not submit something

too preliminary.

I wonder in which way a function that prints an complex object should be  
done.


When looking around in the internet i saw things like  
object.prettyPrint(). I came across

object.__format__().

When I print out for example a transaction i want to print out  
information of objects that are nested into

it. For example I would probably also to print out the splits.

I would like to have some function of the objects that are always called  
the same way. In the end I would

like to have something as easy as

print object.

Could someone point me something helpful ?


How far into Python are you? It should be pretty easy to write an  
interpreter for a very simple language like your last suggestion. You  
would need to decide how you wanted it to work (how will you refer to the  
objects?). Also, you would need to decide how fancy the environment should  
be. For instance you could model what you want on IDLE, so there's a  
prompt, and various commands defined under it. I think IDLE is written  
using tkinter. I don't know what the best way to do GUI's in Python is;  
there's a Gtk+ interface that's essentially the same as the c/c++  
interface (http://www.pygtk.org/) (and Glade is supposed to work either  
with c or with python). The object/method syntax is fine (a) if you know  
it, and (b) you code ways to make Gnucash objects into Python objects  
(object.prettyPrint() just calls the prettyPrint method on the value of  
object, so you need to define that kind of object with its methods, and  
set its data fields to be a Gnucash object).

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Unit Testing

2011-01-10 Thread John Ralls
I've written a fairly extensive change to manage database version changes, and 
I'd like to add unit tests for the new functions before I commit it. 
Longer-term, of course, I'd like to have full unit test coverage of the non-gui 
parts of Gnucash before we start on the major surgery we've been discussing the 
last couple of weeks.

The issue is what framework to use? GLib from 2.16 (supported by everything 
stable except RHEL 5 and its derivatives, so I don't feel any remorse about 
using it in 2.4 before we branch it) provides a serviceable, though primitive, 
framework that we can introduce without adding a dependency, and it integrates 
nicely with automake. It would, however, increase our dependency on GLib and it 
lacks the automatic registration of test cases and suites afforded by more 
sophisticated frameworks.

Any comments?

Regards,
John Ralls
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Unit Testing

2011-01-10 Thread Derek Atkins
John,

On Mon, January 10, 2011 7:04 pm, John Ralls wrote:
 I've written a fairly extensive change to manage database version changes,
 and I'd like to add unit tests for the new functions before I commit it.
 Longer-term, of course, I'd like to have full unit test coverage of the
 non-gui parts of Gnucash before we start on the major surgery we've been
 discussing the last couple of weeks.

 The issue is what framework to use? GLib from 2.16 (supported by
 everything stable except RHEL 5 and its derivatives, so I don't feel any
 remorse about using it in 2.4 before we branch it) provides a serviceable,
 though primitive, framework that we can introduce without adding a
 dependency, and it integrates nicely with automake. It would, however,
 increase our dependency on GLib and it lacks the automatic registration of
 test cases and suites afforded by more sophisticated frameworks.

 Any comments?

My feeling is that so long as it doesn't add new dependencies and ties
into make check then you can do whatever you want.

We already have some code to generate random GnuCash data; tie that into
whatever 'check' system you want to perform functional tests, and make it
work with make check.

 Regards,
 John Ralls

-derek

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Unit Testing

2011-01-10 Thread John Ralls

On Jan 10, 2011, at 5:17 PM, Derek Atkins wrote:

 John,
 
 On Mon, January 10, 2011 7:04 pm, John Ralls wrote:
 I've written a fairly extensive change to manage database version changes,
 and I'd like to add unit tests for the new functions before I commit it.
 Longer-term, of course, I'd like to have full unit test coverage of the
 non-gui parts of Gnucash before we start on the major surgery we've been
 discussing the last couple of weeks.
 
 The issue is what framework to use? GLib from 2.16 (supported by
 everything stable except RHEL 5 and its derivatives, so I don't feel any
 remorse about using it in 2.4 before we branch it) provides a serviceable,
 though primitive, framework that we can introduce without adding a
 dependency, and it integrates nicely with automake. It would, however,
 increase our dependency on GLib and it lacks the automatic registration of
 test cases and suites afforded by more sophisticated frameworks.
 
 Any comments?
 
 My feeling is that so long as it doesn't add new dependencies and ties
 into make check then you can do whatever you want.
 
 We already have some code to generate random GnuCash data; tie that into
 whatever 'check' system you want to perform functional tests, and make it
 work with make check.

Glib it is, then.

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Challenging python coders: Who can create a gnucash-like GUI in python in a few weeks?

2011-01-10 Thread John Ralls

On Jan 10, 2011, at 6:31 AM, Phil Frost wrote:

 On Mon, Jan 10, 2011 at 12:50:25PM +0200, Graham Leggett wrote:
 I think rather than focusing on a GUI, rather focus on a clean API to  
 the gnucash core, that a GUI might call easily. That will free up a  
 python coder to use the python bindings to make a python based interface 
 (as you've suggested), or a Cocoa coder to make MacOSX bindings, etc.
 
 Coincidentally, PyObjC means that good Python bindings also enable a
 native Cocoa MacOS X GUI.

But using Python just to have a Cocoa Gui would be really silly. Objective-C 
interfaces perfectly well with C and is as expressive, dynamic,  and terse as 
Python. Maybe even more terse. 

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Challenging python coders: Who can create a gnucash-like GUI in python in a few weeks?

2011-01-10 Thread John Ralls

On Jan 10, 2011, at 7:12 AM, Jeff Kletsky wrote:
 
 * xPad aware
 
 Consider that I wouldn't be surprised if there are more iPads out there than 
 Linux desktops. Android is on the upswing. The increasing number of handheld 
 devices, to some extent, argues against heavyweight interpreters. Why should 
 the user have to not only download an app, but also another language 
 interpreter, and potentially another GUI framework? I'm not saying that 
 GNUCash must be in Objective C, but thinking about platform support and 
 impact is worthwhile.

That's somewhat conflicting: Android is Java: Portable, but looks crappy on 
everything else. Might require rewriting the backend in Java, too. Apple's iOS 
is Objective-C native, but I think that Qt supports it and I know that 
wxWidgets does, so the C backend with a C++ frontend will work.

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel