Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider making hledger-iadd an official hledger add-on #39

Open
the-solipsist opened this issue Nov 28, 2018 · 11 comments
Open

Consider making hledger-iadd an official hledger add-on #39

the-solipsist opened this issue Nov 28, 2018 · 11 comments

Comments

@the-solipsist
Copy link

the-solipsist commented Nov 28, 2018

Hi, @hpdeifel and @simonmichael, would you consider making hledger-iadd an official add-on of hledger? Distros like Arch Linux package all the official add-ons, but don't have hledger-iadd. It's currently very difficult to have an up-to-date version of hledger with hledger-iadd without installing multiple gigabytes of Stack stuff (15GB on my laptop, making .stack the single largest folder on a 128GB drive!), and even the docker images for hledger have add-ons, but only the official ones.

Or perhaps one may even consider making into a built-in command like add?

@simonmichael
Copy link

simonmichael commented Nov 28, 2018

Is that an explicit policy ? And couldn't someone add more packages ?

For reference, the "official" designation comes from http://hledger.org/manual.html#add-on-commands: "Official add-ons.. are maintained and released along with hledger." While "Third party add-ons.. are maintained separately, and usually updated shortly after a hledger release."

@simonmichael
Copy link

PS re the other problem, size of stack deps, I feel your pain. Normally we (eg the hledger-install script) try to reuse the same resolver for all packages. hledger and hledger-iadd resolver requirements might be out of step just now. Things should improve with a release soon.

@hpdeifel
Copy link
Owner

That question has come up a few times and the answer has always been "not yet", since I still wanted to have the the freedom of iterating on the design without being constrained by hledger's release schedule and stability requirements. The reality is that I don't have that much time currently and so hledger itself probably moves more quickly than hledger-iadd. Otoh, I still have some vague ideas for a UI redesign and I'd like to try that in the new year.

There is nothing stopping distros from packaging hledger-iadd right now, even without the "official" label. I guess there is just too little demand for it. Arch currently doesn't even have an AUR package, which would probably be the first step to getting it packaged in the official repos.

@hpdeifel
Copy link
Owner

btw, would it help if I provided statically linked binaries for Arch on the github release page?

@the-solipsist
Copy link
Author

I would be delighted to have binaries for Arch/Debian! It would save me a lot of trouble, as I could just use that. I also noticed that none of the Docker images for hledger include hledger-iadd.

Here is the PKGBUILD for hledger on Arch's repositories.

Data entry is the main hurdle for people to get into plain text accounting, and hledger-iadd addresses that problem head-on. hledger-add was the main reason I chose hledger over ledger, and hledger-iadd has now become a must-have for me to use/recommend hledger. But installing all these tools is very difficult still. What would be most excellent is if hledger-web provided a data entry mode similar to/backed by hledger-iadd. That way, those who aren't comfortable with the command-line, but want a simple double-entry accounting system can use hledger.

@simonmichael
Copy link

What's missing from hledger-web's add form, for hledger-iadd users ?

@the-solipsist
Copy link
Author

What's missing from hledger-web's add form, for hledger-iadd users ?

The auto-suggestions are the most important, imho.

  1. Auto-suggestions.
    1.1. Dates don't get auto-suggested (hleger-iadd defaults to today / yesterday for the first few hours after 00:00)
    1.2. Accounts don't get auto-suggested (this is done based on past transactions with the same description, and is usually done in the same order as the previous transactions)
    1.3. Amounts don't get auto-suggest (this is done based on past transactions with the same description and based on each account)

  2. Typed suggestions / auto-complete.
    2.1 In hledger-iadd, if I had a previous entry with the description "DB Ferry", that would show up as a drop-down suggestion even if I start typing "fer". In hledger-web, I need to type "db" for it to show up. This applies not just to the description field, but to all account fields as well. This is very helpful, since I don't need to type Assets:Cash, e.g., I can type start typing ca and press tab.
    2.2 (non-essential) If I type 28 in the date field, then hledger-iadd auto-expands that to 2018/12/28 after I press tab, while hledger-web doesn't. This isn't essential (since hledger-web writes the full date in the journal), but expanding the date makes it easier to ensure that I haven't made a mistake in the month.
    2.3 (non-essential) Any commodity amount without a specified commodity gets auto-completed (prepended) with the default commodity in hledger-iadd. And the commodity amounts are re-written with the default separators as well. While hledger-web does this as well, as with "date", it only does so in the journal, and this isn't visible on the screen. This is a nice-to-have feature.

  3. "Add" box
    3.1. In hledger-web, I need to type a and then press tab twice to get it to focus on the "date" field. In hledger-iadd, it is automatically in "date". It's quite irritating to have to type tab twice to start entering the transactions.
    3.2 There is no "add" mode. I need to click on "Add transaction" after each transaction, which makes adding a bunch of transactions a pain. (Also, a small problem: Ctrl - or Ctrl + zooms out/in in both Firefox and Chromium.)
    3.3. It takes around 3-4 seconds for a transaction to be added in hledger-web while it is almost instantaneous in hledger-iadd.

@simonmichael
Copy link

That's an excellent write-up, thanks. I agree with all points. Some of them used to work better in hledger-web but have regressed for various reasons.

@hpdeifel
Copy link
Owner

@the-solipsist: In case you're still interested, there is now a binary AUR package.

This should make installation for Archlinux users a lot easier. Let's see how it
goes.

@the-solipsist
Copy link
Author

@the-solipsist: In case you're still interested, there is now a binary AUR package.

This should make installation for Archlinux users a lot easier. Let's see how it
goes.

Thanks so much for this. I use Arch on my RPi 2, and only got around to installing it today. I used yay -S hledger-iadd-bin, but sadly after installing it, I get:

fish$ hledger-iadd
Failed to execute process '/usr/bin/hledger-iadd'. Reason:
exec: Exec format error
The file '/usr/bin/hledger-iadd' is marked as an executable but could not be run by the operating system.

In short, it is using the AMD64 binary (from your release page) instead of compiling the source code for ARMv7. Would it be difficult to do an ARM binary release as well?

@hpdeifel
Copy link
Owner

In short, it is using the AMD64 binary (from your release page) instead of compiling the source code for ARMv7. Would it be difficult to do an ARM binary release as well?

I don't have a dev setup for ARM compilation, but I suppose I could set that up if there's demand. I've created a new issue to track this: #43

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants