ebcrowder / rust_ledger

Rust implementation of ledger, the command line accounting tool.
GNU General Public License v3.0
137 stars 21 forks source link

Ledger Rust collaboration #21

Closed alensiljak closed 1 year ago

alensiljak commented 1 year ago

Hi, Eric!

Would you be interested in collaborating in Ledger rewrite to Rust? After a poll on Reddit, it seems there's enough interest to initiate such a project. I'm wondering if you'd like to contribute your knowledge and experience using this project.

The meeting point is https://github.com/ledger-rs/ Currently in incubation phase. Cheers!

dantuck commented 1 year ago

Alen,

I would be up for collaborating. I have worked with Eric to advance rust_ledger and then also played around with https://gitlab.com/dantuck/bankroll to do it in a few different ways. Curious about your intended approach with ledger-rs. Are you you going to create a new tokenizer to parse the files or use one already in development https://crates.io/crates/ledger-parser?

alensiljak commented 1 year ago

Hi, @dantuck ! You're most welcome to join in. Look, the story is that I posted a question on Plain Text Accounting channel on Reddit about a Rust Ledger port and there was some enthusiastic response, including from John. I followed that up with a poll, to see how many people would be interested in pooling in. John had given some time estimates and it is a significant effort for a single person or even a small team. The response on Reddit was way higher than expected. Hence, I decided to organize some infrastructure and lay some ground work in establishing collaboration. The purpose of the organization, linked above, is exactly to provide answers to the type of questions you just asked. :D No, seriously. John was suggesting a full rewrite, module by module, and then moving forward from there. In the Incubator repository, the Discussions section is the focus. I'd like to see how big of a team we can get, what kind of knowledge and experience we have on disposal, figure out the existing needs, and establish some goals and directions. Otherwise, I don't see much point in going it alone. This does not seem like an effort for one person.

It seems that you already have significant background knowledge in this area. I have not worked on the Ledger source code nor have so far tried rewriting it. I was mostly making other small tools within the ecosystem (i.e. https://cashier.alensiljak.eu.org), hoping that someone would initiate a revival. Now I think I'm ready to plunge in because the time is running whether we do something in that regard or not. So I think better to chip away bit by bit. Together we can certainly do more! I'm currently focusing (first on the infrastructure, as mentioned) on establishing some testing strategy/harness/plan to cover the original Ledger and any new application in Rust. I would like to have that sort of safety net before actually starting coding. That's the general idea. The poll just finished on Monday and I created the repo this week.

curbyac commented 1 year ago

Hey! I am a beginner that is interested in contributing. I have an accounting background and have been interested in rust_ledger for a while.

Curby

Sent from Proton Mail for iOS

On Tue, Dec 20, 2022 at 2:47 PM, Alen Šiljak @.***> wrote:

Hi, @.***(https://github.com/dantuck) ! You're most welcome to join in. Look, the story is that I posted a question on Plain Text Accounting channel on Reddit about a Rust Ledger port and there was some enthusiastic response, including from John. I followed that up with a poll, to see how many people would be interested in pooling in. John had given some time estimates and it is a significant effort for a single person or even a small team. The response on Reddit was way higher than expected. Hence, I decided to organize some infrastructure and lay some ground work in establishing collaboration. The purpose of the organization, linked above, is exactly to provide answers to questions you just gave. :D No, seriously. John was suggesting a full rewrite, module by module, and then moving forward from there. In the Incubator repository the Discussions section is the focus. I'd like to see how big of a team we can get, what kind of knowledge and experience is on disposal, figure out the existing needs, and establish some goals and directions. Otherwise, I don't see much point in going it alone. This does not seem like an effort for one person.

It seems that you already have significant background knowledge in this area. I have not worked on the Ledger source code nor have so far tried rewriting it. I was mostly making other small tools within the ecosystem (i.e. https://cashier.alensiljak.eu.org), hoping that someone would initiate a revival. Now I think I'm ready to plunge in because the time is running whether we do something in that regard or not. So I think better to chip away bit by bit. Together we can certainly do more! I'm currently focusing (first on the infrastructure, as mentioned) on establishing some testing strategy/harness/plan to cover the original Ledger and any new application in Rust. I would like to have that sort of safety net before actually starting coding. That's the general idea. The poll just finished on Monday and I created the repo this week.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

alensiljak commented 1 year ago

Hi, @curbyac ! Happy to see that! Please have a look at https://github.com/ledger-rs. Everyone is more than welcome. It is an early stage but do come in and contribute your views to the discussions, request to join the organization, star or watch a repo. Please feel free to participate in any area and at any level you feel comfortable with.

ebcrowder commented 1 year ago

@alensiljak thanks so much for reaching out. This is an exciting idea! I don't have any bandwidth to contribute in a meaningful way at the moment, but I am very interested in contributing to the project in the future. I'll keep an eye on the project in the meantime.

I'll contribute this idea formally to the ledger-rs repo, but one useful thing that this repo contains is https://github.com/ebcrowder/rust_ledger/blob/main/.github/workflows/release.yml, which, as it references at the top, was lifted from https://github.com/BurntSushi/ripgrep. It packages multi-platform binaries (linux, macOS, windows) whenever a release tag is pushed upstream. You might find it useful when evaluating ways to package binaries.

alensiljak commented 1 year ago

Thanks a lot for the feedback! I understand the issue with the bandwidth. It is probably the same for all of us involved. GitHub helps a lot, though, by providing the tools to keep in touch in regards to projects, fortunately. I've sent you an invite!

That's an interesting tip for the multi-platform build. I'm actually quite frequently using Ledger on the phone and building an aarch64-linux-android is a real PITA. :)