2019-09-10 GnuCash IRC logs

00:03:25 *** habicht[m] has joined #gnucash
00:39:29 *** Mechtilde has joined #gnucash
00:43:16 *** Mechtilde has quit IRC
00:43:42 *** Mechtilde has joined #gnucash
01:11:05 *** jack_monty[m] has joined #gnucash
01:22:17 *** storyjesse has joined #gnucash
01:43:09 *** fell_laptop has joined #gnucash
01:43:10 *** ChanServ sets mode: +o fell_laptop
01:45:21 *** fell has quit IRC
01:50:26 *** luwum[m] has joined #gnucash
01:51:44 *** fell_laptop is now known as fell
02:04:21 *** warlord has quit IRC
02:04:55 *** Mechtilde has quit IRC
02:33:41 *** bertbob has quit IRC
02:43:16 *** fabior has joined #gnucash
02:46:58 *** storyjesse has quit IRC
02:54:58 *** peter-butler[m] has joined #gnucash
03:03:18 *** fabior has quit IRC
03:04:05 *** MarkFirewhal has quit IRC
03:14:27 *** MarkFirewhal has joined #gnucash
03:15:35 *** gjanssens has joined #gnucash
03:15:35 *** ChanServ sets mode: +o gjanssens
03:19:34 *** warlord has joined #gnucash
03:19:34 *** gncbot sets mode: +o warlord
03:35:03 <warlord> .
03:41:46 *** boldstripe has joined #gnucash
03:51:10 *** boldstripe has quit IRC
04:00:52 *** boldstripe has joined #gnucash
04:05:10 *** boldstripe has quit IRC
04:06:30 *** boldstripe has joined #gnucash
04:08:31 *** Mechtilde has joined #gnucash
04:11:58 *** boldstripe has quit IRC
04:13:18 *** boldstripe has joined #gnucash
04:23:15 *** boldstripe has quit IRC
04:30:36 *** warlord has quit IRC
04:45:46 *** warlord has joined #gnucash
04:45:46 *** gncbot sets mode: +o warlord
04:52:09 *** gour has joined #gnucash
04:52:09 *** ChanServ sets mode: +v gour
04:59:49 *** boldstripe has joined #gnucash
05:13:27 <fell> gjanssens, I prepared https://www.gnucash.org/download.phtml
05:26:03 <fell> Perhaps you should write down in https://wiki.gnucash.org/wiki/Release_Process or a separate page, what is required to release a fresh flatpack.
05:31:03 *** warlord has quit IRC
05:47:02 *** Aussie_matt has joined #gnucash
06:19:51 *** gncbot has joined #gnucash
06:20:51 *** warlord has joined #gnucash
06:22:45 *** bertbob has joined #gnucash
06:22:46 *** ChanServ sets mode: +v bertbob
06:30:52 *** bertbob has quit IRC
06:34:02 *** Jimraehl1 has joined #gnucash
06:35:32 *** Jimraehl1 has left #gnucash
06:35:39 *** bertbob has joined #gnucash
06:35:42 *** ChanServ sets mode: +v bertbob
06:57:29 *** boldstripe has quit IRC
07:03:58 *** gncbot has joined #gnucash
07:04:23 *** warlord has joined #gnucash
07:07:24 *** boldstripe has joined #gnucash
07:12:16 *** warlord has quit IRC
07:12:26 *** warlord has joined #gnucash
07:15:41 *** CDB-Man_ has quit IRC
07:18:47 *** oozer has joined #gnucash
07:20:14 *** Mechtilde has quit IRC
07:22:12 *** warlord has quit IRC
07:22:17 *** warlord has joined #gnucash
07:24:02 *** Mechtilde has joined #gnucash
07:30:45 *** oozer has quit IRC
07:31:51 *** warlord has quit IRC
07:34:30 *** oozer has joined #gnucash
07:48:45 *** warlord has joined #gnucash
08:13:55 *** boldstripe has quit IRC
08:18:49 *** oozer has quit IRC
08:19:54 *** Aussie_matt has quit IRC
09:08:53 *** badger92 has quit IRC
09:21:27 *** bertbob has quit IRC
09:36:07 *** bertbob has joined #gnucash
09:36:09 *** ChanServ sets mode: +v bertbob
09:46:38 *** badger92 has joined #gnucash
10:01:45 *** ElonSatoshi[m] has joined #gnucash
10:20:09 *** omnireq__ has quit IRC
10:45:53 *** Mechtilde has quit IRC
11:08:09 *** Agfarmer18 has joined #gnucash
11:13:23 *** jonas has quit IRC
11:35:07 *** omnireq has joined #gnucash
11:35:07 *** ChanServ sets mode: +v omnireq
11:48:25 *** CarwynNelson has joined #gnucash
11:50:40 *** ChanServ sets mode: +v CarwynNelson
11:54:46 *** Mechtilde has joined #gnucash
11:58:55 <CarwynNelson> Hi. I am trying to understand how the gnucash "engine" is put together, but other than reading the code I'm not quite sure which information I should be paying attention to. It seems like a lot of the documentation available is out of date? Is there anything that people would recommend I read to get a good overview of how it's put together?
12:10:32 *** guak has joined #gnucash
12:22:50 *** oozer has joined #gnucash
12:25:28 <jralls> CarwynNelson: Yes, all of the text documentation in libgnucash/engine/docs is obsolete. The only maintained documentation is in the Doxygen comments. You can read the latest at https://code.gnucash.org/docs/MAINT. David Cousens found SourceTrail (https://www.sourcetrail.com) helpful.
12:27:00 <CarwynNelson> Thanks very much :) Last time I was looking into the gnucash project I remember that there was a large effort to separate out parts of the code, move over to c++ and rely less on GObject. Is this still the case?
12:29:34 *** boldstripe has joined #gnucash
12:33:57 *** Agfarmer18 has quit IRC
12:49:51 *** Agfarmer18 has joined #gnucash
12:57:50 *** miklcct has quit IRC
12:58:54 *** miklcct has joined #gnucash
12:58:54 *** ChanServ sets mode: +v miklcct
13:02:06 *** Agfarmer18 has quit IRC
13:04:34 *** jonas has joined #gnucash
13:13:53 *** fabior has joined #gnucash
13:18:21 *** CarwynNelson has quit IRC
13:22:01 *** CarwynNelson has joined #gnucash
13:29:47 *** CarwynNelson has quit IRC
13:55:01 <ElonSatoshi[m]> hello! Just started using gnucash, it's cool! I think it'll help me save money
13:55:08 *** fabior has quit IRC
13:56:15 <ElonSatoshi[m]> Is there a way to account for the minimum balance required for my bank account?
14:02:08 *** CarwynNelson has joined #gnucash
14:11:08 *** frakturfreak has joined #gnucash
14:11:08 *** ChanServ sets mode: +v frakturfreak
14:25:58 <jralls> ElonSatoshi: You could create two subaccounts for the bank account and put the minimum balance in one and use the other for your other transactions. That way the parent account will show the balance agreeing with your statements and the sub-account will show how much you have available above the minimum.
14:30:41 *** calvinct has joined #gnucash
14:31:28 *** boldstripe has quit IRC
14:46:53 *** kael has joined #gnucash
14:46:54 *** ChanServ sets mode: +v kael
15:20:31 *** calvinct has quit IRC
15:23:37 * Simon sighs
15:23:53 <Simon> I can't see a way to get all the commodities using the python API, there are only lookup functions
15:24:07 <Simon> oh, get_commodities()
15:31:30 *** jervin has joined #gnucash
15:35:32 *** Agfarmer18 has joined #gnucash
15:36:41 *** Agfarmer18 has quit IRC
15:37:27 *** fabior has joined #gnucash
15:39:34 <Simon> but for some reason it is only returning currencies
15:42:59 <Simon> get_namespaces_list() is returning everything but then get_commodity_list() on the results only works for currencies
15:43:34 *** jervin has quit IRC
15:43:44 <Simon> but this is missing the namespaces in my file so it's not using the session...
15:45:52 *** tienne has joined #gnucash
15:49:12 *** Mechtilde has quit IRC
15:49:53 <Simon> oh I'm not specifying a filename :(
15:50:41 <gjanssens> jralls: to complete the flathub experiment I have this time taken the steps required to publish gnucash 3.7 on flathub
15:50:41 <gncbot> gjanssens: Sent 2 days, 4 hours, and 53 minutes ago: <jralls> Arch build is failing because of GLib deprecations. They updated glib to 2.62.0 and that apparently turns off G_STATIC_FUNC and G_TYPE_INSTANCE_GET_PRIVATE. We can work around it by setting -DGLIB_DISABLE_DEPRECATION_WARNINGS to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS, but maybe it's better to just live with the CI failures for a few days and get everything fixed.
15:50:42 <gncbot> gjanssens: Sent 2 days, 4 hours, and 50 minutes ago: <jralls> Separately your Docs CMake dist target doesn't create a working configure, it's missing install-sh. Surprisingly libtoolize in the unpacked srcdir doesn't fix it, had to autoreconf.
15:50:43 <gncbot> gjanssens: Sent 19 hours and 37 minutes ago: <fell> When (or how) will we get 3..7 on flathub?
15:52:29 <gjanssens> In itself the process is quite easy: we only have to push an updated org.gnucash.GnuCash.json file to https://github.com/flathub/org.gnucash.GnuCash/
15:53:00 <gjanssens> Though this time I also removed a few patches that have been incorporated into our sources by now.
15:54:21 <gjanssens> The json file I have pushed was generated from our own gnucash-on-flatpak build scripts by running "build-package.sh -r3.7"
15:55:18 <gjanssens> Obviously after setting things up as explained in the gnucash-on-flatpak README.md
15:56:08 <gjanssens> The command will start a flatpak build from the release tarballs found on github and in the end will spew out a local repo and the required json file.
15:57:04 <gjanssens> To be able to push it, you'll need write access to the above repo.
15:57:27 <gjanssens> It turns out I don't have enough permissions to give you that access myself :(
15:59:45 <gjanssens> Note the release build from tarballs is currently still a bit brittle. I don't think it will handle the case of non-matching tags really well
16:00:28 <gjanssens> For example if you have to retag code (to say 3.7a), but don't retag docs (still at 3.7)
16:01:29 <gjanssens> That was part of the discussion I was having with warlord a few weeks back and why we thought it to be good to always retag both repos together
16:01:39 <jralls> I guess it's time for me to read through gnucash-on-flatpak...
16:01:54 <gjanssens> So if code needs a retag, but docs doesn't add the new tag to docs anyway
16:02:38 <gjanssens> As for the ci failures, I'm a bit late to help you decide... I was afk this weekend
16:02:54 <jralls> I noticed. ;-)
16:03:07 *** fabior has quit IRC
16:03:22 <gjanssens> And re the Docs CMake dist target, I figured it wouldn't work well yet for autotools builds afterwards
16:03:50 <gjanssens> Should cmake's dist target call autorun.sh then and include the files it generates ?
16:03:53 <Simon> is there a reason why I would have quotes enabled for my base currency?
16:03:56 <jralls> But I had a bunch of real-life interference yesterday so I'm only starting to work on it. I'm going to fix the deprecated code.
16:04:18 <gjanssens> Ok
16:04:20 *** fabior has joined #gnucash
16:04:34 <gjanssens> Wasn't there a half-finished PR for these issues ?
16:06:01 <jralls> Cmake should either distribute everything needed to build with configure && make or none of it.
16:09:44 <jralls> https://github.com/Gnucash/gnucash/pull/439, merged last march. I guess Christoph didn't get all of them, but there are some other deprecations as well.
16:14:21 <gjanssens> How did we handle the cmake/autotools dist thing in code ? I don't remember.
16:14:26 <jralls> Simon: It's supposed to handle currency quotes automatically, requesting them for any currency pairs involved in transactions.
16:15:27 <jralls> We ran for a while with both working, though I think you and I switched to cmake for our own use early on so that we could use ninja's faster builds.
16:15:37 <Simon> jralls: so I need to enable quotes for both sides of the pairs for it to work?
16:16:40 <jralls> Simon: Inside of GnuCash you needn't do anything.
16:17:15 <Simon> well I must need to do something, because it should not request quotes for currencies I don't care about
16:18:07 <Simon> I'm writing my own implementation of --add-price-quotes in Python that doesn't do unnecessary lookups
16:19:26 <Simon> but it doesn't make sense to request quotes for the base currency
16:21:18 <jralls> Simon: Quotes are expressed in pairs. What exactly are the quotes that GnuCash is retrieving that you think it shouldn't?
16:21:46 <gjanssens> Right, and I see Rob Gowin did add code to add the autotools files to the dist tarball by running autogen.sh during dist
16:22:07 <jralls> By pairs I mean two commodities, e.g. EUR-GBP, USD-AAPL.
16:22:17 <Simon> jralls: my issue is that I need to replicate what GnuCash is doing
16:22:20 <gjanssens> I'll have to copy that bit to docs and keep it there until we're ready to drop autotools completely
16:22:45 *** fabior has quit IRC
16:22:53 <jralls> Sinon: But you seem to be saying that you don't like what GnuCash is doing.
16:23:31 <Simon> jralls: I don't, and I have a bug raised against it but the Scheme code is uneditable and undebuggable
16:23:50 <jralls> What bug?
16:24:31 <Simon> https://bugs.gnucash.org/show_bug.cgi?id=796969
16:26:25 <Simon> any variation on "GnuCash should be successful in one go" just isn't going to work; you know the processes are usually scraping websites and they fail, so I need to retry a few hours later
16:29:54 <jralls> That's why yahoo-json and alphavantage are preferred: They're not scraping webpages, they return json data in response to a documented RESTful API.
16:30:01 * Simon sighs
16:30:34 <Simon> I don't care how reliable you think the quote getting process is or isn't, they're not guaranteed to work so I want to retry a few times a day
16:30:35 *** kael has quit IRC
16:30:48 <Simon> and I do not want to request all the quotes every time when I already have a quote for that day
16:31:13 <CarwynNelson> Simon, are you trying to do this with gnucash APIs?
16:31:35 <CarwynNelson> or bindings
16:31:46 <Simon> yes I am now trying to do this with the Python API and call gnc-fq-helper myself
16:32:26 <CarwynNelson> From what I've read it sounds like you are trying to query gnucash to see if it has a quote, and if it doesn't then you want to return it and update gnucash with the latest quote.
16:32:30 <CarwynNelson> Is this summary correct?
16:32:38 <Simon> jralls: yahoo-json doesn't have the funds I need
16:32:54 <CarwynNelson> *return that quote
16:33:19 <Simon> yes I'm going to lookup quotes I think it should have and then store them; the API can do this
16:34:00 <Simon> I just need to figure out the right logic to avoid things like: Price data for CURRENCY/GBP not updated for 424 days, 0:00:00 (since 2018-07-13)
16:34:15 <Simon> because I haven't got GBP quoted in anything; everything else is quoted in GBP
16:34:30 <Simon> and once that works I still need to avoid trying to get a quote for GBP
16:34:50 <Simon> although if you say I can just disable getting quotes for GBP and not affect GnuCash, I can do that
16:35:03 <Simon> but I think I needed to enable it for something to work...
16:35:46 <CarwynNelson> So am I right in understanding that you are basically reading the gnucash xml file, and then writing to it with new / updates quotes?
16:35:52 <CarwynNelson> But using the python bindings of course
16:36:16 <Simon> yes
16:36:41 <jralls> Simon: Are you retrieving all of the commodities with automatic quotes enabled and passing them to gnc-fq-helper?
16:36:55 <Simon> jralls: I've only just started this
16:38:00 <jralls> OK, back up then: What's giving you the "Price data for CURRENCY/GBP not updated..." message?
16:38:08 <Simon> the non-currency stuff is probably ok, but I have to check the price db for all possible currencies to find the latest one
16:38:22 <Simon> jralls: my code, when it finds that I have no recent quotes for GBP (my base currency)
16:39:11 <Simon> the quotes from 424 days ago are probably automatic entries from when a transaction was entered (which I don't want but there is no configuration option to disable)
16:39:19 <jralls> Does your code distinguish between currencies and other commodities?
16:39:36 <Simon> it could do
16:40:01 <Simon> although as long as I exclude the things that don't need to have prices by disabling them in GnuCash it will work ok
16:40:24 <Simon> the harder part will be getting the right combination of currency pairs
16:41:00 <jralls> Of course it could. In fact it must, because F::Q handles currencies differently from commodities. I asked if it *does*.
16:41:16 <Simon> I've not written the part that does lookups yet
16:41:34 <Simon> I've just converted my "check there are recent prices" code from reading XML to using the Python bindings
16:42:36 * Simon has to go now
16:43:01 <Simon> I will probably do currency pairs against the base currency of the root account
16:45:25 <CarwynNelson> So I have been exploring some of the libgnucash/engine code (specifically the Account types) and I noticed this thing called gnc_numeric.h which from the header file looked like it was tied to GObject stuff, but not too heavily.
16:46:01 <CarwynNelson> And as I was exploring that further I noticed gnc_numeric.hpp and gnc_numeric.cpp which looks to be a newer c++ version of the API
16:46:20 <jralls> gnc_numeric isn't GObject at all. It's C wrappers for GncNumeric, a C++ class.
16:46:30 <CarwynNelson> I'm assuming that the ultimate objective is to move away from the c-style gnc_numeric.h to the c++ style gnc_numeric.hpp
16:46:34 <CarwynNelson> ah
16:47:19 <jralls> Yes, the ultimate goal is to convert the whole engine to C++ and get rid of GObject entirely.
16:47:30 <CarwynNelson> so is glib-object not GObject?
16:49:11 <jralls> There's no such thing as glib-object, but GObject is part of GLib.
16:49:43 <CarwynNelson> Mkay, makes sense.
16:50:08 *** jralls sets mode: +o gncbot
16:50:22 <CarwynNelson> Is there a specific order in which things are being moved over to c++ code, or is it sort of happening as and when features get touched?
16:50:33 <gjanssens> For completeness, historically there was only gnc_numeric, a set of C-functions implementing a rational number format
16:50:35 *** calvinct has joined #gnucash
16:51:28 <gjanssens> Next jralls wrote the GncNumeric class in C++ and for intermediate backwards compatibility reimplemented the complete gnc_numeric api on top of GncNumeric
16:51:43 <gjanssens> So internally it's all GncNumeric, but old code can still access it via the old api
16:51:49 <jralls> It's more like things get converted as individual noodles are pulled out of the pile of spaghetti.
16:51:59 <gjanssens> That old api is bound to go at some point
16:52:07 *** ChanServ sets mode: +v CarwynNelson
16:52:37 * gjanssens loves spaghetti bolognese
16:52:49 <gjanssens> Spaghetti GnuCash is a whole other dish though...
16:52:59 <CarwynNelson> funnily enough I had spaghetti bolognese for dinner today
16:53:06 * jralls too, but spaghetti code not so much. ;-)
16:53:07 <CarwynNelson> but that's a whole other topic :P
16:53:16 <gjanssens> :D
16:54:42 <CarwynNelson> I'm not sure how to ask this properly, but I'll give it a go. Is there any plan/motivation/intention/idea to move the gnucash "engine" out as its own thing. I think I read about that on the wiki but I'm not sure if I'm remembering correctly.
16:55:00 <gjanssens> I believe jralls started with a conversion stragegy to start from the lowest point in the stack and from there on gradually continue higher up the ladder
16:55:14 <jralls> Yes, that's one of the long term goals.
16:55:34 <gjanssens> The theoretical advantage there is one has to revisit each file only once, but in practise there is to much interdependency to pull that off cleanly
16:56:07 <gjanssens> s/to/too/
16:57:59 <CarwynNelson> Is there anything that someone like myself could so to help on that goal? I'm not going to promise that I can dedicate a specified amount of time in between my day job and general life stuff, but I would quite enjoy putting a few hours aside here an there to work on things.
16:58:47 <jralls> How good are you at modern C++?
16:59:00 <CarwynNelson> Even if it's simply documenting the current state of things.
16:59:37 <CarwynNelson> I won't pretend that I have anything more than an interest. I like to watch conference talks and things like cppcast, but it's far removed from my day job.
17:00:16 <CarwynNelson> s/that I have anything more than an interest/that I have taken it any further than a personal interest/
17:00:37 <CarwynNelson> s/far removed from/not what I use in/
17:02:16 <jralls> Is your day job primarily programming?
17:03:14 <CarwynNelson> Yeah, full time. It's just a different area
17:05:43 *** frakturfreak has quit IRC
17:11:09 <jralls> "Area" isn't so important, but the paradigms might. E.g. embedded requires a very different mindset from working with a full-featured OS.
17:13:05 <CarwynNelson> So right now I work with search, so a lot of the stuff we do is REST APIs, ingesting large amounts of data (depending on your definition of large), and tuning the search engine
17:13:43 <CarwynNelson> Some people might refer to that as "webby stuff" which I wouldn't say is inaccurate
17:14:18 <jralls> Yeah, large amounts of data is definitely a perspective thing. Google thinks in petabytes, old-timers like me remember when 64K was a serious barrier.
17:14:57 *** calvinct has quit IRC
17:15:18 <jralls> Are you doing websites in php, backends in java, or something else entirely?
17:15:19 <CarwynNelson> I remember watching a video about a google engineer saying "this mapreduce job is only a few petabytes of data so no big deal"
17:15:52 <CarwynNelson> I don't really do frontend stuff, haven't for a very long time. My team mostly has stuff written in Java, Python, and Javascript (nodejs)
17:16:16 <CarwynNelson> it's either a REST api, or a worker behind a message queue
17:16:43 <CarwynNelson> i tell a lie, we do have some front end stuff but I haven't really touched it much at all
17:18:17 <jralls> Have you spent much time with Scheme? It's a lot like javascript except all of the punctuation is converted to parentheses.
17:19:13 <CarwynNelson> Not scheme, but I did do a few months in a team that used clojure so I find it a lot easier to comprehend lisp-style languages these days
17:19:51 <CarwynNelson> or at least much more than I used to. They used to be a big confusing blur to me in the past!
17:22:46 <jralls> I ask because Scheme is another big piece of the interdependency puzzle. GnuCash was originally written in Scheme and there are parts of it that were only partly converted so they're half-C and half-Scheme.
17:24:29 <jralls> I've started on trying to peel apart the code that creates the options dialogs for reports and the File Properties dialog. It uses a lot of Scheme closures to get around the type system, but the convolution makes it very hard to understand.
17:25:41 <jralls> BRB
17:26:23 *** tienne has quit IRC
17:27:51 <CarwynNelson> It sounds like you have a lot more experience with scheme and the gnucash usages of scheme that I do (or will likely ever have). Of course I'm more than happy to see if I can help in that area, but it sounds like I would be more of a hindrance than a help.
17:30:50 *** gjanssens has quit IRC
17:40:37 <jralls> Experience comes from trying. ;-) But there's plenty of other things to do.
17:41:37 <CarwynNelson> I'm curious about the cutecash experiment. From what I've read it looks like that was a viable path (pull out a core gnucash library, build using a new ui toolkit). What were the reasons that didn't work out?
17:41:58 <CarwynNelson> Well, I can imagine that is a massive undertaking of course :)
17:43:11 <jralls> cstim did it backwards, wrapping C in C++ instead of the other way around, and without using gobjectmm. After he stalled out he suggested re-engineering the engine in C++ without the GLib dependencies.
17:51:04 <CarwynNelson> Is it possible to extract a small set of core functionality the could create be used to create a simple but usable version of gnucash and go for there? Maybe something suitable for simple personal use.
17:51:14 <CarwynNelson> s/the could/that could
17:51:49 <CarwynNelson> actually s/the could create be used to create/that could be used to create
17:52:13 <CarwynNelson> s/for there/from there
17:52:16 <CarwynNelson> lawd the typos
17:58:35 <jralls> That would be hard because of the spaghetti thing. Medium sized, maybe. You could start with libgnucash/coreutils, libgnucash/engine, and libgnucash/backend/xml. Chuck any bits of engine that you don't need and that the bits you do want don't depend on. Write a UI around it.
18:01:08 <CarwynNelson> is that a worthwhile endeavour in your opinion?
18:02:04 <jralls> Dunno, what's the goal?
18:14:20 <CarwynNelson> Good question. I'm not sure I could give you a rock solid argument for doing it, which is probably an answer in and of itself. That being said I think it would provide some value:
18:15:12 <CarwynNelson> * gives an understanding on what is truly core and important to gnucash as a product
18:15:22 <CarwynNelson> * gives a more immediate path to moving away from gtk (assuming that is a goal)
18:15:32 <CarwynNelson> * allows better integration with things like the android app, (completely shared accounting engine, always up to date with each other)
18:15:44 <CarwynNelson> * opens the possibility of not having to untangle everything in the current gnucash implementation. You would have to understand the "business logic" as people would call it, but not the intriquecies of the implementation
18:15:54 <CarwynNelson> * would allow for a UI that runs much better on platforms like windows and macos.
18:16:03 <CarwynNelson> * depending on how it is approached, it could make building and developing on macos and windows much easier, this might make people more likely to contribute changes / feel like they could create a patch.
18:16:30 <CarwynNelson> sorry - got to go to bed now. catch up with messages in the morning :)
18:17:00 <jralls> No, unfortunately it wouldn't do any of those things.
18:17:31 <jralls> I'll explain briefly for you to read in the morning.
18:17:43 <jralls> For now, good night!
18:19:29 *** CarwynNelson has quit IRC
18:20:05 <jralls> The main problem is that it would leave you with a minimal GnuCash and it would still depend on GLib/Gobject and still suffer from the many problems in the engine.
18:22:39 <jralls> Your 4th bullet presents starkly the choice: Start over from scratch or untangle the spaghetti. You can't cut the pile of spaghetti in half and expect it to still work.
18:25:19 <jralls> Maybe spaghetti is a poor metaphor here, because you can cut a pile of spaghetti and each part tastes the same. It's more like an animal: Most of the pieces are interdependent and if you cut one of them out the whole thing dies.
18:26:10 *** rdswift has joined #gnucash
18:26:32 <jralls> But animals can't be refactored into independent components. Code can be.
18:28:32 <jralls> The problem with a ground-up rewrite is that it's pretty much impossible for a small team to do that while maintaining the old code base. That's why we've chosen to untangle, because we can untangle a piece so that it still works and ship that along with the still-tangled up stuff.
18:29:52 <rdswift> With the latest release, can I still import currency exchange rates from a csv file? I used to do it with the same file I used for security prices, but it now requires a "namespace" column, and I don't know what namespace to use for the currency exchange rates. Neither "Currency" nor "Currencies" work.
18:31:53 <ElonSatoshi[m]> hello everyone
18:34:45 <jralls> rdswift: Try CURRENCY.
18:37:43 <rdswift> That did the trick. Thanks ElonSatoshi[m]. Much appreciated.
18:47:19 *** Aussie_matt has joined #gnucash
18:48:42 <ElonSatoshi[m]> gosh, i was just saying hello
18:49:17 <ElonSatoshi[m]> i know how it feels when nobody has any help for you though, you have my sympathy
18:50:22 *** CDB-Man has joined #gnucash
18:50:23 *** ChanServ sets mode: +v CDB-Man
19:00:01 *** gour has quit IRC
19:04:48 <ElonSatoshi[m]> ohhhh, maybe you were talking to jralls and pinged me accidentally
19:05:08 <ElonSatoshi[m]> sorry bout that
19:05:51 <jralls> ;-)
19:07:37 *** omnireq has quit IRC
19:21:50 <rdswift> Let's try this again... [blushing] That did the trick. Thanks @jralls. Much appreciated.
19:23:05 <jralls> rdswift: np
19:23:57 *** rdswift has left #gnucash
19:28:26 <ElonSatoshi[m]> So, is there a good open source software I can use to track how much food I eat and how much it costs?
19:28:41 * ElonSatoshi[m] wants to save money on groceries and learn to eat frugally
19:36:23 *** kael has joined #gnucash
19:36:23 *** ChanServ sets mode: +v kael
19:37:25 *** kael has quit IRC
19:40:01 <jralls> ElonSatoshi[m] GnuCash can help you with the costs but not the nutrition. The simplest way to handle the nutrition and save money is to always cook from scratch, vegetarian if you can manage balancing the proteins.
19:40:30 <jralls> Beans are cheaper than raw meat, but even expensive meat is cheaper than prepared food.
19:41:56 <ElonSatoshi[m]> Alright. So how do I manage food costs with Chuvash?
19:42:11 <jralls> What's Chuvash?
19:42:11 <ElonSatoshi[m]> Gnucash*
19:42:34 <ElonSatoshi[m]> Somethig my autocorrect pulled out
19:42:50 <ElonSatoshi[m]> Something*
19:43:59 <jralls> Keep separate expense accounts for groceries and meals eaten out and be assiduous about entering your spending, even cash.
19:44:37 *** bertbob has quit IRC
19:46:00 <jralls> You could go farther and subdivide groceries into categories like veg, meat, prepared, soda, bottled water, etc. That would require some time with a spreadsheet to total up the different parts of your grocery receipt in return you get deeper insight into your spending.
19:47:06 <jralls> Now it's time for jralls to cook dinner...
19:47:14 *** jralls is now known as jralls_afk
19:48:18 <ElonSatoshi[m]> Okay. And as a matter of fact, I preferto eat vegan! Does that tend to be cheaper or costlier than vegetarian?
19:53:07 *** guak has quit IRC
20:27:16 *** omnireq has joined #gnucash
20:29:23 *** fell has quit IRC
20:52:08 *** guak has joined #gnucash
20:58:19 *** guak has quit IRC
20:58:49 *** guak has joined #gnucash
21:01:10 *** guak has quit IRC
21:06:55 *** bertbob has joined #gnucash
21:06:55 *** ChanServ sets mode: +v bertbob
21:11:25 *** storyjesse has joined #gnucash
21:43:56 *** oozer has quit IRC
22:13:40 *** storyjesse has quit IRC
22:48:10 *** warlord has quit IRC
23:40:01 *** kapip has quit IRC
23:46:46 *** kapip has joined #gnucash
23:47:59 *** fell has joined #gnucash
23:47:59 *** ChanServ sets mode: +o fell
23:48:08 *** warlord has joined #gnucash
23:48:08 *** gncbot sets mode: +o warlord
23:49:44 *** fell has quit IRC
23:49:46 *** fell_laptop has joined #gnucash
23:49:47 *** ChanServ sets mode: +o fell_laptop
23:53:23 *** fell_laptop is now known as fell