4 ms·
Spanish traders set the standard for GnuCash database design
- WhyNotHugo 4mo agoI 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 4mo agoLived through something like this after USSR collapsed and before Hryvnya was introduced. Boy I remember the bread cost - 10,000,000 :D
- phyzix5761 4mo agoHow's the inflation now with Milei's changes? I know charts show its at a 10 year low but reality could feel different.
- gostsamo 4mo agoFeels ai generated and waste of time to read even though the topic could be interesting.
- ponyous 4mo ago> Surprisingly written by a human :) Article ends with this
- gostsamo 4mo agoA true surprise if so, but still low in informational density and annoying to read.
- vitalikpie 4mo agohuh, sorry I'm really bad at writing - this is one of my first attempts
- gostsamo 4mo agoYour 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 4mo agoYeah, sorry. It's kind of intentional. Did not want to give it a boring name like "Storing fractions vs decimals".
- e40 4mo agoClickbait is a thing and pisses people off.
- internet_points 4mo agoDon'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/ https://handson.money/blog/2026-05-20-ai-coding/
- vitalikpie 4mo agoThanks. After all I'm a human too. I'm prone to AI psychosis.
- mlcruz 4mo agoI really enjoyed the read. Not everything needs to be some sort of utilitarian information density optimized reading piece. Keep up the good work!
- bitwize 4mo agoYeah, 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 4mo agoI think it's because thought-process is done in Russian, translated into English and the checked for grammar mistakes with Grammarly.
- bitwize 4mo agoThat 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 4mo agoI'm using a free version, so if an LLM suggestions slipped in - it only a couple of them.
- Buxato 4mo agoI think its not.
- vitalikpie 4mo agoIt is :) No AI slop. I'm intentionally trying to write without LLM (my previous blog posts clearly disclose it).
- deleted 4mo ago[deleted]
- ctxc 4mo ago(you mean it's _not_ AI generated)
- vitalikpie 4mo agoYeah this one is my attempt to write without LLMs rewriting my thoughts. P.S. Came to the decision after going through https://thebullshitmachines.com/ https://thebullshitmachines.com/
- vitalikpie 4mo agoCurious what made you think it's AI slop?
- stronglikedan 4mo agothe overwhelming desire to be an edgy edgelord
- fbuilesv 4mo agoI 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 4mo agoyep, I'm Ukrainian
- fractallyte 4mo agoI 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 4mo agoThanks! I believe blogs and indie products should have personality - otherwise it so easy to overlook them.
- lastorset 4mo agoSo surprised to see people saying this. AI articles tend to be soulless, smooth and samey, this one has quirk, nerdy charm and personality.
- abdullahkhalids 4mo agoI 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 4mo agoAgree. 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 4mo ago> 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 4mo agoOnly 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 4mo agoYup 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/ https://openfinancebrasil.org.br/
- 6LLvveMx2koXfwn 4mo agoI wonder if Hackernews ranking algorithm has been updated to exclude comments toing and froing about whether or not the article is LLM generated!
- vitalikpie 4mo agohaha, 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 4mo agoDoesn't sound like reality to me. The article looks very much AI-generated. Nothing to do with not being an English native speaker.
- vitalikpie 4mo agohm, 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 4mo agoI 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 4mo agoYeah, I'm just a developer mostly chatting with LLMs. I hope I'll develop a distinct style some day.
- aitchnyu 4mo agoI was cutting edge, a few people assumed I was a Markhov chain.
- swordlucky666 4mo ago[flagged]
- vitalikpie 4mo agoThanks for idea. I think I'll do another more techy article on this.
- deleted 4mo ago[deleted]
- gus_massa 4mo agoSide 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 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 4mo agoYeah, I thought about it when I first saw the coin cut into pieces - https://www.pirateglossary.com/glossary/pieces-of-eight 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 https://etc.usf.edu/clipart/40600/40610/pie_01-10a_40610.htm ?
- Swizec 4mo ago> But then why didn't they cut it into 10 pieces - https://etc.usf.edu/clipart/40600/40610/pie_01-10a_40610.htm 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 4mo agoEasier to cut into halves?
- vitalikpie 4mo agoYeah. Likely so. While at the same time, they may have some other reason - https://www.youtube.com/watch?v=g9S6qD_Wylw https://www.youtube.com/watch?v=g9S6qD_Wylw
- bgribble 4mo agoI 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 4mo agoThanks for the info! But did you guys thought about fractional commodities those days? Or was it clear that it is going away?
- bgribble 4mo agoI 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 4mo agoIn hindsight do you think it was an right decision or too "pure"?
- bgribble 4mo agoI 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 4mo ago> 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 4mo agoDid not know that. Will update the article. Thank you!
- dmurray 4mo ago> 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-treasury-futures.html https://www.cmegroup.com/trading/interest-rates/basics-of-us...
- vitalikpie 4mo agoGod 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 4mo agoTreasuries, 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 4mo agoReminds 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 4mo agoThat'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 4mo agoMy grandpa always called horse racing in general "the guineas", but I always assumed it was "the ginnies" for some reason.
- benj111 4mo agoThe guinea was also seen as posher. So guineas were used as a social indicator
- gus_massa 4mo agoI agree. [Time sink warning] [Fractions warning] There is an interesting video by Lindybeige that explains the old British coin system. The part about the guinea is at minute 42, and in particular explains why it was worth 21 instead of 20. https://youtube.com/watch?v=R2paSGQRwvo https://youtube.com/watch?v=R2paSGQRwvo
- pbreit 4mo agoStoring 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 4mo agodisplaying as a decimal is nondestructive, whereas doing math with a decimal is asking for trouble
- vitalikpie 4mo agoYeah 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 4mo agoBecause 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.
- benj111 4mo ago>Computers are not good with fractions. You're introducing a currency that does 1/8ths. A computer can handle that a lot better than decimal.