alt.hn

6/8/2026 at 12:57:54 PM

Spanish traders set the standard for GnuCash database design

https://handson.money/blog/2026-06-06-horse-arse-and-design/

by vitalikpie

6/8/2026 at 2:17:10 PM

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.

by gus_massa

6/9/2026 at 3:05:53 AM

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).

by franciscop

6/8/2026 at 2:21:19 PM

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 ?

by vitalikpie

6/8/2026 at 2:33:11 PM

> 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)

by Swizec

6/8/2026 at 9:43:25 PM

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.

by burnte

6/8/2026 at 2:36:36 PM

Easier to cut into halves?

by noja

6/8/2026 at 6:18:02 PM

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.

by cett

6/8/2026 at 8:37:41 PM

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).

by flopsamjetsam

6/9/2026 at 1:46:00 AM

My grandpa always called horse racing in general "the guineas", but I always assumed it was "the ginnies" for some reason.

by snypher

6/9/2026 at 9:11:34 AM

The guinea was also seen as posher. So guineas were used as a social indicator

by benj111

6/9/2026 at 1:28:51 PM

I 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

by gus_massa

6/8/2026 at 3:05:09 PM

> 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...

by dmurray

6/8/2026 at 3:10:06 PM

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.

by vitalikpie

6/9/2026 at 4:24:45 AM

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.

by kulkarnic

6/8/2026 at 3:02:20 PM

> 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!

by wodenokoto

6/8/2026 at 3:04:05 PM

Did not know that. Will update the article. Thank you!

by vitalikpie

6/8/2026 at 1:31:55 PM

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.

by WhyNotHugo

6/8/2026 at 1:53:37 PM

Lived through something like this after USSR collapsed and before Hryvnya was introduced. Boy I remember the bread cost - 10,000,000 :D

by vitalikpie

6/8/2026 at 2:05:12 PM

How's the inflation now with Milei's changes? I know charts show its at a 10 year low but reality could feel different.

by phyzix5761

6/8/2026 at 2:40:03 PM

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

by bgribble

6/8/2026 at 2:53:27 PM

Thanks for the info! But did you guys thought about fractional commodities those days? Or was it clear that it is going away?

by vitalikpie

6/8/2026 at 3:12:50 PM

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.

by bgribble

6/8/2026 at 3:20:03 PM

In hindsight do you think it was an right decision or too "pure"?

by vitalikpie

6/8/2026 at 9:03:39 PM

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.

by bgribble

6/8/2026 at 1:55:35 PM

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.

by abdullahkhalids

6/8/2026 at 2:57:31 PM

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.

by bregma

6/8/2026 at 3:43:03 PM

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.

by abdullahkhalids

6/8/2026 at 3:24:04 PM

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.

by vitalikpie

6/8/2026 at 6:55:16 PM

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.

by neilv

6/8/2026 at 9:30:01 PM

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.

by abdullahkhalids

6/8/2026 at 2:00:22 PM

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).

by vitalikpie

6/8/2026 at 2:22:46 PM

> 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.

by rbanffy

6/8/2026 at 3:03:46 PM

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.

by abdullahkhalids

6/8/2026 at 8:51:04 PM

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/

by doodlesdev

6/8/2026 at 3:14:01 PM

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

by vitalikpie

6/8/2026 at 2:43:17 PM

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...

by vsviridov

6/8/2026 at 2:02:43 PM

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.

by phyzix5761

6/8/2026 at 2:22:56 PM

Do you do budget in GnuCash or somewhere else?

by vitalikpie

6/8/2026 at 7:41:20 PM

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.

by pbreit

6/8/2026 at 7:59:08 PM

displaying as a decimal is nondestructive, whereas doing math with a decimal is asking for trouble

by stronglikedan

6/8/2026 at 10:32:59 PM

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
    }

by vitalikpie

6/9/2026 at 2:42:39 AM

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.

by hakfoo

6/9/2026 at 9:17:41 AM

>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.

by benj111

6/8/2026 at 1:56:50 PM

I wonder if Hackernews ranking algorithm has been updated to exclude comments toing and froing about whether or not the article is LLM generated!

by 6LLvveMx2koXfwn

6/8/2026 at 2:01:56 PM

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.

by vitalikpie

6/8/2026 at 2:10:23 PM

Doesn't sound like reality to me. The article looks very much AI-generated. Nothing to do with not being an English native speaker.

by simonebrunozzi

6/8/2026 at 2:17:54 PM

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

by vitalikpie

6/8/2026 at 7:40:18 PM

I was cutting edge, a few people assumed I was a Markhov chain.

by aitchnyu

6/8/2026 at 2:16:54 PM

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.

by fractallyte

6/8/2026 at 2:22:27 PM

Yeah, I'm just a developer mostly chatting with LLMs. I hope I'll develop a distinct style some day.

by vitalikpie

6/8/2026 at 2:03:57 PM

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.

by swordlucky666

6/8/2026 at 3:16:55 PM

Thanks for idea. I think I'll do another more techy article on this.

by vitalikpie

6/8/2026 at 1:39:34 PM

Feels ai generated and waste of time to read even though the topic could be interesting.

by gostsamo

6/8/2026 at 1:54:42 PM

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.

by fbuilesv

6/8/2026 at 2:04:45 PM

yep, I'm Ukrainian

by vitalikpie

6/9/2026 at 1:07:09 PM

So surprised to see people saying this. AI articles tend to be soulless, smooth and samey, this one has quirk, nerdy charm and personality.

by lastorset

6/8/2026 at 1:43:34 PM

> Surprisingly written by a human :)

Article ends with this

by ponyous

6/8/2026 at 1:46:27 PM

A true surprise if so, but still low in informational density and annoying to read.

by gostsamo

6/8/2026 at 1:48:27 PM

huh, sorry I'm really bad at writing - this is one of my first attempts

by vitalikpie

6/8/2026 at 2:10:11 PM

I really enjoyed the read. Not everything needs to be some sort of utilitarian information density optimized reading piece.

Keep up the good work!

by mlcruz

6/8/2026 at 2:23:32 PM

Thanks!

by vitalikpie

6/8/2026 at 3:00:09 PM

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.

by jrm4

6/8/2026 at 2:20:17 PM

You're not bad at writing. You have your own style. Keep it up! This was an interesting article.

by fractallyte

6/8/2026 at 3:40:28 PM

Thanks :)

by vitalikpie

6/8/2026 at 1:56:57 PM

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.

by gostsamo

6/8/2026 at 2:10:25 PM

Yeah, sorry. It's kind of intentional. Did not want to give it a boring name like "Storing fractions vs decimals".

by vitalikpie

6/8/2026 at 2:48:46 PM

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/

by internet_points

6/8/2026 at 3:41:36 PM

Thanks. After all I'm a human too. I'm prone to AI psychosis.

by vitalikpie

6/8/2026 at 2:19:23 PM

Clickbait is a thing and pisses people off.

by e40

6/8/2026 at 2:28:51 PM

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.

by bitwize

6/8/2026 at 2:38:06 PM

I think it's because thought-process is done in Russian, translated into English and the checked for grammar mistakes with Grammarly.

by vitalikpie

6/8/2026 at 2:41:46 PM

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.

by bitwize

6/8/2026 at 2:55:29 PM

I'm using a free version, so if an LLM suggestions slipped in - it only a couple of them.

by vitalikpie

6/8/2026 at 1:44:00 PM

I think its not.

by Buxato

6/8/2026 at 1:47:19 PM

It is :) No AI slop. I'm intentionally trying to write without LLM (my previous blog posts clearly disclose it).

by vitalikpie

6/8/2026 at 1:48:38 PM

(you mean it's _not_ AI generated)

by ctxc

6/8/2026 at 1:51:00 PM

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/

by vitalikpie

6/8/2026 at 2:19:27 PM

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.

by fractallyte

6/8/2026 at 2:35:26 PM

Thanks! I believe blogs and indie products should have personality - otherwise it so easy to overlook them.

by vitalikpie

6/8/2026 at 1:52:01 PM

Curious what made you think it's AI slop?

by vitalikpie

6/8/2026 at 8:00:14 PM

the overwhelming desire to be an edgy edgelord

by stronglikedan