Nice idea, but the calendar format is a bit verbose for my taste. Week number is something I would have to look up constantly and surely get wrong more than once.
If you want to follow UNIX philosophy, why don't you write an augmenter/converter tool `caug` that adds "computed" information such as week number, weekday or even relative date?
That was my first thought too; I often use Google Sheets/Excel as a lightweight todo calendar, and I'll make formulas to calculate week-of-year and day-of-week. These lists are so lightweight and adhoc that having to do that kind of calculation would be enough friction to not maintain the lists after a short period
With some traditional GUI calendar software, I was often hunting and miscopying week numbers. Some software also had a weird (non ISO-8601) idea of week numbers.
In case you need calendar.txt after 2033, I wrote a small tool [2] to generate more templates.
Static binaries generated by Go are indeed large, even if the source code here is under 30 lines with support to some additional minor features (US and Finnish day names, command line help, optional week headings, day counts and parameter handling).
Here are some more scripts to generate calendar.txt date format:
Doner kebap was invented in Ottoman empire in 19th century. It was also usually eaten inside bread.
Turkish immigrants introduced it in Germany in 70's. However it is true that the current version of Doner kebap in Germany is quite different than Turkish counterparts. (Sauces, toppings etc)
This is plainly false. Doner was being served in both sandwich and wrapped forms in Turkey well before the 70's. It was one of my grandfather's favorite foods growing up in Ankara in the 40's, and I've got family photos with street vendors selling it on the streets of Istanbul in the 60s.
It is true that in Turkey, you'll find the Döner Iskendar (cubes of bread, covered in döner meat, covered in sauce, on a plate) as a very common dish, but to claim that the street food variant was new in the 70's is insane. There are a ton of people alive today who can refute that, trivially.
My major gripe with hledger and other plaintext accounting systems: setting up the correct rules (regex for your expenses) takes too much time as it involves:
a) defining the regexes/categories) for dozens to hundreds of expense descriptions (e.g. walmart, gas station xyz)
b) "recompiling" your hledger journals after every rule change
c) checking for negative and positive errors (expense description was not matched OR too many different expenses were matched)
This process is much faster in a spreadsheet application. IMHO the journal format of hledger and other plaintext accounts apps is too verbose.
it would be a great relief if someone started a Github repository with expense texts used when you e.g. pay at Carrefour in Italy or Walmart in the USA with your debit card. People could submit those descriptions from the CSV exports of their bank accounts.
Another annoyance in Europe is that there is no API connection for open source apps to bank account statements, you always rely on manual CSV exports.
> My major gripe with hledger and other plaintext accounting systems: setting up the correct rules (regex for your expenses) takes too much time as it involves:
> a) defining the regexes/categories) for dozens to hundreds of expense descriptions (e.g. walmart, gas station xyz)
We don't usually do it all up front; it's easier to build up your rules over time, improving them a little each time you download.
> b) "recompiling" your hledger journals after every rule change
It's not required (see my other comment).
> c) checking for negative and positive errors (expense description was not matched OR too many different expenses were matched)
For the not matched case: hledger's fallback category is "expenses:unknown" (and inflows are "income:unknown").
I usually watch for those, with something like
and tweak rules until there are no unknowns, before importing.
For the other - I guess I have a similar answer - if you're not certain of your rules, preview the conversion and tweak them, before finalising it.
> This process is much faster in a spreadsheet application. IMHO the journal format of hledger and other plaintext accounts apps is too verbose.
You can keep your data in CSV/TSV instead of journal. This could be better for spreadsheet interop.
I think a more compact, but still readable journal format would be interesting (something between CSV and current journal format).
I agree some things are much easier in a spreadsheet (and also, vice versa).
> it would be a great relief if someone started a Github repository with expense texts used when you e.g. pay at Carrefour in Italy or Walmart in the USA with your debit card. People could submit those descriptions from the CSV exports of their bank accounts.
Please do, I would love to see it! However, wouldn't it be a really huge list of text patterns/regexps, with 0.1% of them useful to any one person ? Perhaps region-specific collections could work.
> Another annoyance in Europe is that there is no API connection for open source apps to bank account statements, you always rely on manual CSV exports.
Ha! It's not better in the US at least (except, by giving up your bank credentials to third parties). We are usually envying your APIs over there.
Another red flag: this invoice was issued just days before the EURO was introduced in Germany (1st of January 2022). Invoices issued in these times would have surely shown the amount in EUR as well.
If you want to follow UNIX philosophy, why don't you write an augmenter/converter tool `caug` that adds "computed" information such as week number, weekday or even relative date?