2016-05-14 GnuCash IRC logs

00:18:47 *** raeburn has joined #gnucash
03:48:33 *** fell_ has quit IRC
04:15:27 *** fabior has joined #gnucash
04:18:57 *** fabior has quit IRC
04:33:10 *** fabior has joined #gnucash
04:38:04 *** ThomasKeller has quit IRC
04:38:23 *** ThomasKeller has joined #gnucash
05:03:33 *** Mechtilde has joined #gnucash
05:27:38 *** Mechtilde has quit IRC
05:31:18 *** Mechtilde has joined #gnucash
06:48:32 *** rubdos has joined #gnucash
06:56:23 *** minot has joined #gnucash
07:16:20 *** fabior has quit IRC
07:55:00 *** fell has joined #gnucash
07:58:25 *** fabior has joined #gnucash
08:36:19 *** Jimraehl1 has left #gnucash
08:41:59 *** Jimraehl1 has joined #gnucash
08:45:33 *** Mechtilde has quit IRC
08:53:26 *** andy has quit IRC
08:58:10 *** Mechtilde has joined #gnucash
09:07:22 *** andy has joined #gnucash
09:12:11 *** minot has quit IRC
09:37:33 *** Mechtilde has quit IRC
09:43:43 *** andy has quit IRC
09:43:52 *** andy has joined #gnucash
09:51:32 *** andy has quit IRC
09:52:15 *** andy has joined #gnucash
09:52:31 *** fabior has quit IRC
09:53:59 *** Mechtilde has joined #gnucash
10:46:09 *** mlncn has joined #gnucash
11:30:49 *** mlncn has quit IRC
12:18:37 *** Mechtilde has quit IRC
12:30:42 *** bertbob has quit IRC
12:45:14 *** bertbob has joined #gnucash
13:09:54 *** bertbob has quit IRC
13:25:00 *** bertbob has joined #gnucash
13:34:01 *** nomeata has joined #gnucash
13:44:38 *** bertbob has quit IRC
13:46:00 *** CDB-Man_ has joined #gnucash
13:47:05 *** CDB-Man has quit IRC
14:00:16 *** bertbob has joined #gnucash
14:28:21 *** mlncn has joined #gnucash
15:10:55 *** mlncn has quit IRC
15:33:17 *** fell has quit IRC
15:38:43 *** storri has joined #gnucash
15:46:51 <storri> jralls: Where can I find the list of features being worked on for the next release? I am looking for a place I can get started.
15:50:20 <jralls> storri: Stable releases are mostly bug-fix only, and fixing bugs is an excellent way to get your head around the code base. https://bugzilla.gnome.org/query.cgi. Select Gnucash from "product" and then a component.
15:54:04 *** minot has joined #gnucash
15:55:22 <jralls> We've been saying that the next release (2.8.0) with new features will be at the end of next year, with feature freeze and beta releases beginning in about a year. But I think we're way behind on making the goals at http://wiki.gnucash.org/wiki/Release_Schedule#Goal for that.
15:55:36 *** miklcct has quit IRC
15:59:07 *** miklcct has joined #gnucash
16:21:24 *** aqua___ has joined #gnucash
16:24:34 <storri> jralls: How do you run 'gnucash' without installing it? I have built a debug version and want to play around looking at things in gdb
16:24:41 *** aqua___ has quit IRC
16:26:16 <jralls> storri: You might be able to if you did a cmake build, but the autotools build sticks stuff all over the place and it's easier to install it than to set up the necessary load paths.
16:26:47 <storri> jralls: Ok. I am not using CMake. I will use autotools for now.
16:27:43 <jralls> storri: OK, then just configure with a safe --prefix arg, install it, and run it with an explicit path. That way it won't mess with the installation you use for real accounting.
16:28:17 <storri> I put it in /usr/local but something has happen with my regular installation. It coredumps everytime I start it.
16:30:05 <storri> jralls: No it does not coredump. I think I used the git version on my file by mistake. Now it cannot parse the file. Oh well.
16:32:30 <jralls> storri: The file shouldn't be changed, we're careful about backwards compatibility. But /usr/local is probably in your regular LD_LOAD_PATH so the distro gnucash is trying to link with the wrong libs.
16:33:09 <jralls> How long have you been developing on Unix?
16:33:45 <storri> 7 years professionally. More if you count university.
16:35:05 <jralls> OK.
16:35:39 <storri> Most of my professional experience has been using CMake to generate builds for Linux or Visual Studio for C++ projects.
16:35:52 <storri> New job I start on Monday is more Java.
16:38:31 *** aqua___ has joined #gnucash
16:38:40 <jralls> storri: So mostly build tools rather than product?
16:39:29 <storri> jralls: most of my previous work was one off prototypes or proofs of concept. We were more of a what if lab while most recent work was more quick and dirty solutions.
16:47:08 <storri> jralls: So I am a bit lost with GnuCash since it is slowly being transformed from C into C++ (More comfortable there).
16:47:53 <jralls> storri: Don't feel bad. It's easy to get lost in Gnucash's giant vat of spaghetti.
16:48:55 <storri> jralls: Yeah I am not sure which strand to pick out of all of them. Feeling a bit overwhelmed with it. That was why I tried first at CMake but never had to beat CMake against Guile/Scheme before.
16:51:41 <jralls> Yes, Guile adds its own set of complications. I suggest the bugfix route: Pick a bug that interests or irritates you and work on those noodles. Repeat a few times on bugs in the same module until you start to grok that module, then start on another.
16:52:32 <storri> jralls: I will do that. Given what you know about the code which component might be the easiest way to ease into the code base in your opinion?
16:53:35 <jralls> Since you're familiar with C++ you'll want to read a little about Gnome's GObject so that you can recognize it. It has a lot of macros that can trip you up, and it's used quite a bit in GnuCash.
16:53:55 <storri> Ok
16:56:09 *** aqua___ has quit IRC
17:28:36 <storri> jralls: It seems that Gnome's GObject is a mixture of C, java like garbage collection (similar to Boost shared_ptr), C++ polymorphism and Qt signals.
17:30:58 <jralls> storri: Except for the garbage collection. GObject instances are reference counted, but unlike in C++ or Java the ref count has to be manually incremented and decremented. It's closer to Objective-C's retain and release without autopools.
17:32:14 <jralls> Boost (and now std) shared_ptrs are reference counted but thanks to C++'s constructor/destructor magic they're able to increment and decrement the counts automatically.
17:32:42 <storri> One of the reasons I love them. Its a simple solution to remembering to free allocated memory.
17:32:56 <storri> No need to make a language to handle that (e.g. Java)
17:34:08 <jralls> GObject signals are based on Lisp closures; the closest thing in C++ would be functors. Dunno how Java does that.
17:34:38 <storri> I don't know either.
17:37:53 <jralls> And the polymorphism is much more crude than anything Stroustup designed. It depends very heavily on casts and preprocessor macros to work. If you want vtables you have to write them by hand. If you look at src/backend/dbi and src/backend/sql in maint you can see the same mechanism without the macros making the code hard to follow. That's what I'm converting to C++ now.
17:38:20 <storri> Stop the pain! Ouch!
17:40:00 <storri> Casts can be troublesome if you are not careful. Preprocessor macros cannot be type checked. Well in my experience that was what I was told. I tend to use static functions or template functions in place of macros.
17:40:50 <jralls> Yes, of course, any C++ programmer would. But that's not an option in C.
17:49:26 <storri> true in C you are restricted to preprocessor macros if you want to create generic code while you could use a function for common.
17:50:28 <storri> Well I have to get stuff done. I will be able to look at a possible starting place next weekend.
17:56:37 *** storri has quit IRC
18:04:15 *** minot has quit IRC
18:34:33 *** nomeata has quit IRC
18:44:23 *** bertbob has quit IRC
18:58:59 *** bertbob has joined #gnucash
19:08:11 *** bertbob has quit IRC
19:22:50 *** bertbob has joined #gnucash
20:12:57 *** minot has joined #gnucash
21:30:52 *** minot has quit IRC
21:53:38 *** mlncn has joined #gnucash
22:41:59 *** andy has quit IRC
23:26:44 *** mlncn has quit IRC
23:55:40 *** bertbob has quit IRC