[HN Gopher] Spanish traders set the standard for GnuCash databas...
       ___________________________________________________________________
        
       Spanish traders set the standard for GnuCash database design
        
       Author : vitalikpie
       Score  : 120 points
       Date   : 2026-06-08 12:57 UTC (16 hours ago)
        
 (HTM) web link (handson.money)
 (TXT) w3m dump (handson.money)
        
       | WhyNotHugo wrote:
       | I used GNUCash years ago in Argentina while we had high
       | inflation. Some operations were in local currency and other are
       | Dollars. The currency exchange changing hourly. Tracking finance
       | is a nightmare, since you basically need an exchange rate for
       | every operation.
        
         | vitalikpie wrote:
         | Lived through something like this after USSR collapsed and
         | before Hryvnya was introduced. Boy I remember the bread cost -
         | 10,000,000 :D
        
         | phyzix5761 wrote:
         | How's the inflation now with Milei's changes? I know charts
         | show its at a 10 year low but reality could feel different.
        
       | gostsamo wrote:
       | Feels ai generated and waste of time to read even though the
       | topic could be interesting.
        
         | ponyous wrote:
         | > Surprisingly written by a human :)
         | 
         | Article ends with this
        
           | gostsamo wrote:
           | A true surprise if so, but still low in informational density
           | and annoying to read.
        
             | vitalikpie wrote:
             | huh, sorry I'm really bad at writing - this is one of my
             | first attempts
        
               | gostsamo wrote:
               | Your title promises a story about the spanish traders. It
               | does not deliver, but talks about 3 other different
               | topics that I'm not interested in and jumping between
               | them to test my nerves. If it is about the architecture
               | of whatever you are doing, put the architecture in the
               | title and don't make your title an offhand comment
               | somewhere there. Fucked up clickbite.
        
               | vitalikpie wrote:
               | Yeah, sorry. It's kind of intentional. Did not want to
               | give it a boring name like "Storing fractions vs
               | decimals".
        
               | e40 wrote:
               | Clickbait is a thing and pisses people off.
        
               | internet_points wrote:
               | Don't be. Keep writing! Boring people gonna be boring. I
               | for one found it a fun article with a great title, and I
               | also liked your other
               | https://handson.money/blog/2026-05-20-ai-coding/
        
               | vitalikpie wrote:
               | Thanks. After all I'm a human too. I'm prone to AI
               | psychosis.
        
               | mlcruz wrote:
               | I really enjoyed the read. Not everything needs to be
               | some sort of utilitarian information density optimized
               | reading piece.
               | 
               | Keep up the good work!
        
               | vitalikpie wrote:
               | Thanks!
        
               | fractallyte wrote:
               | You're not bad at writing. You have your own style. Keep
               | it up! This was an interesting article.
        
               | vitalikpie wrote:
               | Thanks :)
        
               | jrm4 wrote:
               | You're not. You're not bad at all. Please ignore the
               | negatives here, they're certainly more a result of AI
               | paranoia/fatigue than meaningful criticism.
               | 
               | Anyone reading this and who is complaining that it's too
               | long and content-light? Respectfully, you really need to
               | check _yourselves,_ you 're probably the one with the
               | "internet brain" dopamine or whatever problem. This is
               | NOT an unreasonable amount/style of words for what is
               | said.
        
           | bitwize wrote:
           | Yeah, I got an AI vibe off it too, and was surprised to find
           | this. The problem is, to quote Orson Welles, "it's not as
           | conversationally written. It's full if things that are only
           | correct because they're grammatical, but it's tough on the
           | ear, you see." AI writing bears a resemblance to the most
           | insufferable marketing speak, so if you ape that kind of
           | writing in an attempt to sound punchy or whatever, you're
           | going to be accused of being a bot.
        
             | vitalikpie wrote:
             | I think it's because thought-process is done in Russian,
             | translated into English and the checked for grammar
             | mistakes with Grammarly.
        
               | bitwize wrote:
               | That would explain a lot. Grammarly went full LLM
               | brainrot a few years back, so if you rely on its
               | suggestions your writing will... sound a certain way.
        
               | vitalikpie wrote:
               | I'm using a free version, so if an LLM suggestions
               | slipped in - it only a couple of them.
        
         | Buxato wrote:
         | I think its not.
        
           | vitalikpie wrote:
           | It is :) No AI slop. I'm intentionally trying to write
           | without LLM (my previous blog posts clearly disclose it).
        
             | ctxc wrote:
             | (you mean it's _not_ AI generated)
        
               | vitalikpie wrote:
               | Yeah this one is my attempt to write without LLMs
               | rewriting my thoughts. P.S. Came to the decision after
               | going through https://thebullshitmachines.com/
        
         | vitalikpie wrote:
         | Curious what made you think it's AI slop?
        
           | stronglikedan wrote:
           | the overwhelming desire to be an edgy edgelord
        
         | fbuilesv wrote:
         | I think English is not the first language of the author ("we
         | are counting fingers and thumbs"?).
         | 
         | There's also a `Surprisingly written by a human :)` at the
         | bottom.
        
           | vitalikpie wrote:
           | yep, I'm Ukrainian
        
         | fractallyte wrote:
         | I strongly disagree. I found the whole article interesting and
         | enlightening - I certainly wasn't aware of the topic before,
         | and I'm glad it was posted on HN.
         | 
         | Furthermore, it didn't feel LLM-generated to me. Quirky, yes;
         | nothing wrong with that.
        
           | vitalikpie wrote:
           | Thanks! I believe blogs and indie products should have
           | personality - otherwise it so easy to overlook them.
        
       | abdullahkhalids wrote:
       | I would like to use finance tracking products like GNUCash. But I
       | don't have the patience to download the csv for half a dozen
       | accounts every month (Products like plaid are a no go from a
       | basic security perspective). I am in Canada, and there seems to
       | be no hope that I will have API access to my bank accounts
       | anytime soon.
       | 
       | Also, did I mention how much it annoys me that the transaction
       | description differs between the CSV and the PDF statement for
       | pretty much all banks I use.
        
         | vitalikpie wrote:
         | Agree. I wish banks have their APIs open. It's 2026 and we have
         | OIDC.
         | 
         | But I used to actually pull the CSV once a week and feed it to
         | GnuCash. It's pretty good at auto-categorization.
         | 
         | Also I simplified my finances to only a couple of checking
         | accounts and only one credit account (for car rentals).
        
           | rbanffy wrote:
           | > I wish banks have their APIs open
           | 
           | There needs to be a lot of investment in training and safe
           | defaults though. Most people are not ready to automate even a
           | little of their banking like that.
           | 
           | I would even prefer banks had the option to push data to
           | trusted feeds than having open APIs you could call on your
           | own.
        
             | abdullahkhalids wrote:
             | Only need a read only API for financial analysis.
             | 
             | I definitely do not support an API for doing financial
             | transactions. That will result in so much hacking and
             | theft.
        
               | doodlesdev wrote:
               | Yup or restrict API usage to trusted providers. In
               | Brazil, we have a system called Open Finance [1] which
               | allows you to connect bank account, so you can see
               | investments, money spent, credit card spending and limit,
               | etc. from your other bank accounts. Some local personal
               | finance systems integrate into Open Finance to pull all
               | of this data for you.
               | 
               | [1]: https://openfinancebrasil.org.br/
        
             | vitalikpie wrote:
             | Agree on this. Current situation is kinda broken:
             | 
             | - people do not trust Plaid and Finicity - data is captive
             | inside of bank portals - each damn CSV has it's own format
        
         | phyzix5761 wrote:
         | I simplified to just 2 accounts and I enter them manually twice
         | a week. I keep a detailed budget so it helps to do it that
         | frequently.
        
           | vitalikpie wrote:
           | Do you do budget in GnuCash or somewhere else?
        
         | vsviridov wrote:
         | I'm using self-hosted Sure.am and also using SimpleFin to
         | connect to Canadian banks. It works, but barely, since it
         | effectively scrapes with no real API access. I have to login
         | daily to update 2-FA on various accounts, and have suffered
         | account lockouts a couple of times, due to "suspicious
         | activity".
         | 
         | But it still beats downloading multiple exports from the bank
         | and importing it manually...
        
         | bregma wrote:
         | Well, there is legislation before Committee to mandate open
         | APIs that any accredited institution can use. As a consumer you
         | will not be eligible, but you will be allowed to pay some
         | third-party to pull your data from your bank and save it in
         | their database, after which maybe they might allow you to
         | download it in their proprietary format should they choose.
         | 
         | Me, I use plain-text accounting (hledger) that automatically
         | imports the CSVs from my bank and categorizes transactions
         | automatically, and I wrote some quick scripts using Python to
         | import the PDFs from my brokerages and paystubs. It's not
         | automated pulls but I only have a handful of accounts so it's
         | really not a pain to manually pull statements once a month and
         | run the import scripts. It takes me longer to reconcile
         | everything to the penny then it does to do the imports, and
         | it's a whale of a lot faster than manually entering through
         | GNUCash. Plus, it's plain text so all you need is vim, git, and
         | the command line.
        
           | vitalikpie wrote:
           | I was contemplating between hledger and GnuCash for a while
           | and then choose GnuCash because it has pretty good UX for
           | transactions entry.
           | 
           | The missing piece for me was a mobile app. So trying closing
           | this gap with HandsOnMoney.
           | 
           | But I'll be honest - I'm putting off the statement import as
           | much as I can until my financial anxiety kicks in.
        
           | abdullahkhalids wrote:
           | The openbanking thing has been going on for 4-5 years now,
           | with no end in sight. The banks simply do not want to enable
           | a system which allows third party apps to step into the
           | space, and they are too large and lobby a lot. I don't expect
           | anything to happen for a while still.
        
         | neilv wrote:
         | Import-only is the lazy way. :) If you want, GnuCash also has
         | features to support _manually_ entering each transaction _as it
         | occurs_.
         | 
         | Then GnuCash has features to match up financial institutions
         | data exports against your transaction splits, see the
         | discrepancies, and then reconcile against their PDF statements.
         | 
         | It's a way of life, but you always know what money you have,
         | where. Although that sounds like something for wealthy people,
         | I'd say it's actually more important the _less_ money you have.
        
           | abdullahkhalids wrote:
           | When I was a poor student, I carried around a small notepad
           | in my pocket and a pencil and wrote down every transaction.
           | Only way I ensured discipline to not waste money and then go
           | hungry later.
           | 
           | But now I am ruined by smartphones, which are way too slow to
           | type in every transaction manually.
        
       | 6LLvveMx2koXfwn wrote:
       | I wonder if Hackernews ranking algorithm has been updated to
       | exclude comments toing and froing about whether or not the
       | article is LLM generated!
        
         | vitalikpie wrote:
         | haha, true.
         | 
         | Thing is - I'm not a English speaker. But I chat a lot with
         | Claude/ChatGPT - i feel like I'm picking the style from them
         | unintentionally.
        
           | simonebrunozzi wrote:
           | Doesn't sound like reality to me. The article looks very much
           | AI-generated. Nothing to do with not being an English native
           | speaker.
        
             | vitalikpie wrote:
             | hm, I don't have any other ways to prove it. The thing is -
             | I thought this is something LLM can't write about.
             | 
             | Just imagine a prompt: "Hey Claude, go ahead and come up
             | with idea why GnuCash stores numbers as fractions and come
             | up with an article for HN". I actually tried it and god
             | damn thing came up with something very similar :D
        
           | fractallyte wrote:
           | I _am_ a native English speaker, and I find accusations of
           | LLM-writing exceedingly annoying - to the point where I
           | sometimes _intentionally_ write in that style, just so I can
           | hit back with a profanity.
        
             | vitalikpie wrote:
             | Yeah, I'm just a developer mostly chatting with LLMs. I
             | hope I'll develop a distinct style some day.
        
           | aitchnyu wrote:
           | I was cutting edge, a few people assumed I was a Markhov
           | chain.
        
       | swordlucky666 wrote:
       | The discussion on Spanish traders set the standa raises
       | interesting points. In practical applications, the key challenge
       | is balancing performance with maintainability. Would be valuable
       | to see more concrete examples of trade-offs.
        
         | vitalikpie wrote:
         | Thanks for idea. I think I'll do another more techy article on
         | this.
        
       | gus_massa wrote:
       | Side question:
       | 
       | I'm surprised by the explanation of the 8 in the "real de a a
       | ocho" because " _traders counted gold doubloons on their fingers,
       | skipping their thumbs._ " (and the link to investopedia has a
       | similar explanation).
       | 
       | But from https://en.wikipedia.org/wiki/Doubloon
       | 
       | > _Spanish American gold coins were minted in one-half, one, two,
       | four, and eight escudo denominations, with each escudo worth
       | around two Spanish dollars or $2. The two-escudo (or $4 coin) was
       | the "doubloon" or "pistole", and the large eight-escudo (or $16)
       | was a "quadruple pistole"_
       | 
       | I think it makes more sense that some time ago it was possible to
       | split some coins in half and quarters, so someone decide to
       | continue the tradition and use base 2 to move up.
        
         | vitalikpie wrote:
         | Yeah, I thought about it when I first saw the coin cut into
         | pieces - https://www.pirateglossary.com/glossary/pieces-of-
         | eight
         | 
         | But then why didn't they cut it into 10 pieces -
         | https://etc.usf.edu/clipart/40600/40610/pie_01-10a_40610.htm ?
        
           | Swizec wrote:
           | > But then why didn't they cut it into 10 pieces -
           | https://etc.usf.edu/clipart/40600/40610/pie_01-10a_40610.htm
           | ?
           | 
           | Ever tried cutting a cake? It's a lot easier to visually
           | judge half of a circle segment. You'd need a compass to get
           | accurate tenths (or fifths) and I imagine it is generally
           | frowned upon if some tenths are a lot smaller than others
           | (happens a lot with cake)
        
           | noja wrote:
           | Easier to cut into halves?
        
             | vitalikpie wrote:
             | Yeah. Likely so. While at the same time, they may have some
             | other reason - https://www.youtube.com/watch?v=g9S6qD_Wylw
        
           | burnte wrote:
           | 8 pieces is easier for a human than 10. You halve it, then
           | again, then halve the remaining quarters. For 10 you'd need
           | to work harder to get the angles right and that's a lot
           | harder.
        
         | franciscop wrote:
         | Yes, my historical understanding is definitely that it could be
         | split into two easily, not that we counted with our fingers
         | skipping the thumb (Spaniard here).
        
       | bgribble wrote:
       | I committed to the GnuCash codebase pretty regularly in the
       | 1999-2002 era... I think maybe I actually implemented the
       | fractional representation that the article discusses? Not sure,
       | it was a long time ago! I definitely remember receiving some very
       | heated emails about how this was total nonsense and there was no
       | reason to do anything other than a decimal representation. The
       | phrase "a superhighway of abstraction, leading nowhere" has stuck
       | with me for lo these many years :) good times
        
         | vitalikpie wrote:
         | Thanks for the info! But did you guys thought about fractional
         | commodities those days? Or was it clear that it is going away?
        
           | bgribble wrote:
           | I seem to remember that we were aware that fractional
           | commodities were going away, but exact rational values would
           | still be important to be able to represent historical
           | holdings and transactions.
        
             | vitalikpie wrote:
             | In hindsight do you think it was an right decision or too
             | "pure"?
        
               | bgribble wrote:
               | I guess I don't really have an opinion about that.
               | Certainly an exact representation of decimal numbers was
               | essential, and was something we needed to implement at
               | the time, but going to a fully rational numeric stack was
               | arguably overkill.
               | 
               | The current value of held assets in another currency
               | isn't really "counting" any more, it's a prediction of
               | the outcome of some future transaction that hasn't
               | happened. So I'm less concerned about exactly computing
               | it than I am in never making a mistake in assets that I
               | am counting, i.e. keeping in one account and only
               | incrementing and decrementing the amount when a
               | transaction occurs.
        
       | wodenokoto wrote:
       | > 1. Japanese Yen has no minor units (due to post-WWII inflation)
       | 
       | Japanese yen do have minor units, and they are confusingly called
       | sen (which is a homonym for one thousand)
       | 
       | Now a days they are mostly used for stock prices. But they exist!
        
         | vitalikpie wrote:
         | Did not know that. Will update the article. Thank you!
        
       | dmurray wrote:
       | > So, unless you are a Spanish trader from the 16th century or
       | have a book with fractional stocks from the 90s, HandsOnMoney
       | will serve you well.
       | 
       | US treasury futures are still priced in 32nds of a dollar
       | increments. Sorry, that's not true, they're quoted in 32nds, but
       | sometimes priced in half-, quarter- or eighth-32nds. One might
       | trade at 105-22.5, which means 105 and 45/64ths.
       | 
       | https://www.cmegroup.com/trading/interest-rates/basics-of-us...
        
         | vitalikpie wrote:
         | God damn it! I did not bother to check the treasury. Thank you
         | for catching mistake - I will correct it.
         | 
         | I knew there will be something to hunt minor units.
        
           | kulkarnic wrote:
           | Treasuries, MBS, most non-corporate bonds all trade in
           | eighths or 64ths. Coupon rates are in eighths as well.
           | 
           | Commodities I think no longer do, but did until recently.
        
       | cett wrote:
       | Reminds me a bit of how in the UK the guinea coin ceased to
       | circulate decades ago but it's still used for bidding on
       | racehorse auctions.
       | 
       | 1 guinea = 1.05 pounds
       | 
       | You purchase the horse in guineas, seller gets paid in pounds,
       | auctioneer keeps the missing 5% as commission.
        
         | flopsamjetsam wrote:
         | That's fascinating, I remember my Dad telling me you would pay
         | for something in guineas as a sort of tip, but I never knew it
         | was for horses (this is in Australia).
        
           | snypher wrote:
           | My grandpa always called horse racing in general "the
           | guineas", but I always assumed it was "the ginnies" for some
           | reason.
        
       | pbreit wrote:
       | Storing money as an integer is OK but I've never liked APIs that
       | required financial amounts to be integers. Amounts always
       | eventually need to be displayed to a human as a decimal.
        
         | stronglikedan wrote:
         | displaying as a decimal is nondestructive, whereas doing math
         | with a decimal is asking for trouble
        
           | vitalikpie wrote:
           | Yeah this is exactly what I do under the hood. All the data
           | is stored as Ints, charts use double for speed, views use
           | decimal to display stuff properly in the user locale.
           | 
           | P.S. Doubles are absolute evil for calculations:
           | @Test         func test() {             var a =
           | Decimal(100.4449315513924) * 100 // It's me being dumb, not
           | noticing that             let b = NSDecimalNumber(decimal:
           | a).intValue             #expect(b == 10044) // Expectation
           | failed: (b - -8402) == 1044         }
        
           | hakfoo wrote:
           | Because decimal types are still vanishingly scarce as a
           | built-in in modern languages.
           | 
           | Storage as an integer often adds complexity because of
           | currency reforms. Decimals can and have been dropped in the
           | past.
        
       ___________________________________________________________________
       (page generated 2026-06-09 05:02 UTC)