4 ms·
In my last financial product we added 'bitcoin' and 'festival tokens' as currencies in the backend. At first for fun. But we found out the client devs (web, mo
by berkes 6y ago
In my last financial product we added 'bitcoin' and 'festival tokens' as currencies in the backend. At first for fun.
But we found out the client devs (web, mobile apps) had severe difficulties and wanted it removed. Turned out they all implemented currencies wrong. Either with hardcoded decimals or with localised in and outputs that would break if a client changed their locales.
So now, my favorite best practice for any financial data handling is that: ensure your system can handle Bitcoin (8 decimal places) and festival tokens (missing currency symbol, zero decimals). Anywhere this leads to trouble is a red flag and will probably cause trouble later on. Now at least you are aware.
- michael1999 6y agoThat's great advice. I'll add it to my list of round-tripping German, and Japanese text with emojis, and changing the timezone.
- arthurcolle 6y agoWhat do you mean by round tripping German here? I think I get the issues with the other two, but curious about the first thing!
- deleted 6y ago[deleted]
- dan-robertson 6y agoNot sure about round tripping but perhaps the longer words might stress test webpage layouts.
- FabHK 6y agoRound trip = sending it from the input/front end into the system/back end (whatever it is, database/file system/???) and back to the front, to confirm that what comes out is what you put in. For German, I'd assume it's just about the special characters (äöüß), ie testing that encodings are somewhat correct (at least beyond ASCII).
- pfranz 6y agoI was talking to a dev this weekend about i18n and said he used German to test page layouts.
- mudetroit 6y agoYeah using German translations is a well known simple strategy to see how your site handles longer word length, because of the language characteristics. It will do a good job of pointing out places where you haven't built in adequate flexibility for longer words. It's not perfect of course, there are times when a translated word is shorter, but it is a nice real world test of the basic flexibility of your page layout.
- SeriousM 6y agoSpanish is also a very good choice for testing. I used it to see if a POS Terminal can handle the translations on small screens.
- pests 6y agoGerman has a (few?) instances where going from lowercase -> uppercase -> lowercase or view versa is ambiguous because there are multiple upper/lower variants for each letter. I also think one even changes the text length because it turns into two.
- wp381640 6y agoIn [8]: "ß".upper().lower() Out[8]: 'ss'
- deleted 6y ago[deleted]
- tyingq 6y agoI wonder if there's any notable currency where you have to support fractions. Like 1/3 of a "whatever". Edit: Found the right search term. "Non-Decimal Currency". It's a thing, at least historically. https://en.wikipedia.org/wiki/Non-decimal_currency https://en.wikipedia.org/wiki/Non-decimal_currency
- thechao 6y agoThe US dollar inherits a mixed base-8 and base-10 system.