I am unsure whether to learn :rust: #Rust or :haskell: #Haskell next. (Not that I have time to, but one may dream, right? 😉).
Knowing Haskell would allow me to contribute to some software I deeply care about (#hledger, :gitannex: #gitAnnex). Rust on the other hand looks *much* easier to get going with coming from #Python (and embedded #C / #Cpp). Its cargo toolchain and ecosystem also looks nicer, plus easier availability on all architectures (aarch64!).
#rust #haskell #hledger #gitannex #python #c #cpp
It feels like #NuShell could be of great use for #plainTextAccounting. PTA tools can output structured data like CSV or JSON, providing an ideal input for Nushell. Might be even simpler than spinning up #Python to do some custom calculations or logic that aren't available natively in the PTA tools.
#nushell #plaintextaccounting #python #hledger #ledger #beancount
New post - just something tiny about #hledger balance assertions failure messages being nicer than Ledger's : https://jamescooke.info/hledger-failure-messages-are-better-than-ledgers.html
I've started doing #plaintextaccounting not sure yet if I'll mainly use #ledgercli or #hledger the journal formats are nearly identical so I can keep it mutually compatible for now.
It'll depend on the differences of the formats and the tools, but maybe the tools aimed at ledger-cli will just work anyway?
#plaintextaccounting #ledgercli #hledger
@RL_Dane @nobodyinperson isn't that what hledger-web (and to a lesser extent hledger-ui) is for ?
Or anyway a start on that use case. My non-technical spouse uses it..
@RL_Dane Very happy with @simonmic's #plainTextAccounting with #hledger:
Infinitely customizable, ultra safe data format, git versionable, flexible tagging, budgeting and forecasting capabilities. Great community.
But only if the terminal is your thing. 🙂
@simonmic hands out 100$ if you find a regression, that much they value stability.
@chickfilla @nytpu If you're an #Emacs user, you might also enjoy the helpers for it: https://hledger.org/editors.html#emacs
@nobodyinperson There seems to have been some hold up with #haskell packaging on Nix recently. Not sure why it would be #hledger specific.. does hledger have a much bigger dependency footprint than git-annex ?
Hm, for #hledger it's unfortunately not that easy to build the latest version on :nixos: #NixOS 🫤
The problem is that hledger's dependencies apparently vary quite a bit between releases (not the case for :gitannex: #gitAnnex? Did I just get lucky above?) so all of its dependencies need to be repackaged as well 🫤
Maybe that's the reason hledger is still at 1.27.1 even on unstable...
https://gitlab.com/nobodyinperson/nixconfig/-/blob/main/pkgs/hledger.nix?ref_type=heads
@nobodyinperson No, there's no support for arithmetic expressions in csv rules files. When you really need that, preprocessing the csv is the way, currently.
#hledger #plaintextaccounting
Rewritten, hopefully clearer:
https://hledger.org/dev/hledger.html#amount-field ,
on the various ways of setting amounts in #hledger CSV rules.
I suspect that
- Haskell is currently about the strongest language for prototyping and evolving "tricky" code above a certain size
- You could do a successful close port of hledger to (for example) rust, or typescript, or a fast version of python
- If you keep evolving features, the Haskell codebase would outlive the ports (again, assuming equal funding)
#haskell #programming #plaintextaccounting #hledger
Notes from a #hledger dev session:
1. It's amazing how complicated things get with simple-seeming semantics applied to plain text.
2. I am always curious whether these features could be developed/debugged/maintained faster in other languages... or if it's only because of Haskell that they can be shipped at all. I don't mean theoretically, obviously, but pragmatically, assuming equal personpower/funding.
#hledger #haskell #programming #plaintextaccounting
Another rewrite of "Cost reporting" in the hledger manual. This explains the various ways of recording transactions involving costs, how to convert between them, and how to report costs/selling prices.
So you have defined some #hledger reports with just. Now would you like to browse them with fzf, with (cached) output in the preview pane ? I'm collecting such tips at https://hledger.org/just.html .
I converted yesterday's ft and tt #hledger scripts to a https://hledger.org/scripts.html#justfile
This is similar to the previous bash scripts, and the Makefile before that, but I think it's much easier to create and maintain, and more cross platform. It requires installing just, but I think it makes this practical for a much larger group of people. An easy task runner / script manager is great for #plaintextaccounting, and seems to have been a missing piece.
#plaintextaccounting:
I use two bash "multi-scripts", `ft` and `tt` (via `f` and `t` aliases) to organise my #hledger reports and related scripts. Examples of these are now on the hledger.org Scripts page:
The slides for my #Tübix2023 talks are now online:
- :gitannex: #gitAnnex: https://tuebix.github.io/tuebix-downloads-2023/5-git-annex-dateien-synchronisieren-sichern-und-verwalten-fr-poweruser.pdf
- :openscad: #OpenSCAD vs #PythonSDF: https://tuebix.github.io/tuebix-downloads-2023/15-prozedurales-3d-design-mit-openscad-und-python-sdf.pdf
- 💸 #plainTextAccounting with #hledger https://tuebix.github.io/tuebix-downloads-2023/16-plaintextaccounting-mit-hledger.pdf
#tubix2023 #gitannex #openscad #pythonsdf #plaintextaccounting #hledger
@nixos_org Unfortunately, I forgot to record the #hledger lightning talk as everything had to go so fast 🫤
And OBS decided to only record a still of the first slide for my #gitAnnex workshop 🤦
Let's see what I can harvest from it...