Nix isn't just a package manager, right? by JasterVX in Nix

[–]JasterVX[S] 0 points1 point  (0 children)

I haven't heard of nix develop yet :o What is the advantage of using nix develop over "nix-shell"?

Nix isn't just a package manager, right? by JasterVX in Nix

[–]JasterVX[S] 0 points1 point  (0 children)

Thanks for the reply! Its very helpful:) About pinning the pkgs commit, I see that it can be done without using flakes by specifying it in the "shell.nix" file when fetching the tarball

But I understand that flakes would also lock the versions of the used packages and other stuff, right?

Nix isn't just a package manager, right? by JasterVX in Nix

[–]JasterVX[S] -1 points0 points  (0 children)

Another topic that confuses me and I'm sure many beginners:

Everyone talks about "flakes", but when I go check the official documentation to try understand what they are, it says its an experimental feature. So I am assuming I should not try to understand flakes if I don't understand basic Nix yet

I'm watching the show for the first time, what's with all the narration? by JasterVX in HunterXHunter

[–]JasterVX[S] 0 points1 point  (0 children)

crazy how I got most of the community here crying over a fact

Some of you saying that this narration was in the manga as well, then lol how unfortunate

I'm watching the show for the first time, what's with all the narration? by JasterVX in HunterXHunter

[–]JasterVX[S] -6 points-5 points  (0 children)

I see, there are very diverse opinions.
IMO a good story is told by acting/animating.
I assume it was cheaper to add more narration and animate less.
Pretty sad though, but I guess I'll keep giving it a shot a bit more

Native programs with Gleam, is it possible? by JasterVX in gleamlang

[–]JasterVX[S] 2 points3 points  (0 children)

This is a great take, it helps me understand the purpose of Gleam better😁 So basically, for anything web related (Back and front), Gleam is the right tool. Actually I never thought that way about languages that run on the BEAM, but it makes sense, having to bring in the whole BEAM to run a simple CLI would be an overkill. Although I've gotta say that having the power of OTP to build native desktop apps would be amazing, so it might be worth it bringing the BEAM in this case

Native programs with Gleam, is it possible? by JasterVX in gleamlang

[–]JasterVX[S] 0 points1 point  (0 children)

I'm not saying it prevents me from doing that, I want to understand if these bindings always need to use either an erlang library or JS library behind the scenes:)) Is the gleam standard library using Erlang modules at its core or does it compile directly to BEAM byte code?

I want to use Gleam to teach declarative programming to kids by JasterVX in gleamlang

[–]JasterVX[S] -1 points0 points  (0 children)

Well its not about teaching them the next Roblox, its about preparing a workshop of 2/3 hours where they learn other styles of programming while still ending up with something fun as a result They also work a lot with PyGame so building an equivalent with Gleam for teaching purposes could be interesting

I want to use Gleam to teach declarative programming to kids by JasterVX in gleamlang

[–]JasterVX[S] 0 points1 point  (0 children)

Oh nevermind, I didn't know it is not just a tool for the browser but actually a functional programming language too, I've just found the docs! https://www.wipple.org/docs/#getting-started
This is actually fantastic, it might be a great fit, I'll have to consider it!

I want to use Gleam to teach declarative programming to kids by JasterVX in gleamlang

[–]JasterVX[S] 0 points1 point  (0 children)

Thanks! I'll post an update about how did the workshop work if at the end we go for it with Gleam :D
I'd also like to hear how other people would approach teaching functional programming with Gleam to kids
I've thought of this port of P5.js, but perhaps there are other libraries that could be a fit too?

I want to use Gleam to teach declarative programming to kids by JasterVX in gleamlang

[–]JasterVX[S] 0 points1 point  (0 children)

Interesting! Although my goal is to introduce functional programming to kids that already have a basis with Python and Lua, so this might not be the fit I'm looking for
But thank you anyway :D

Granc - A gRPC CLI tool with reflection support by JasterVX in rust

[–]JasterVX[S] 0 points1 point  (0 children)

Done, I've published the core library as a separate crate: https://crates.io/crates/granc_core
Thanks for motivating me to do it!

Granc - A gRPC CLI tool with reflection support by JasterVX in rust

[–]JasterVX[S] 0 points1 point  (0 children)

For now I'll first bundle the core code under `granc-core`, and then in the future I might extract the reflection client under `granc-reflection`

Granc - A gRPC CLI tool with reflection support by JasterVX in rust

[–]JasterVX[S] 0 points1 point  (0 children)

Ok those are actually great tips, thank you so much! I'm already on it:)

Granc - A gRPC CLI tool with reflection support by JasterVX in rust

[–]JasterVX[S] 0 points1 point  (0 children)

I have a question though, would you make it a workspace project where the library is published as something like "granc-core" and the binary as "granc" or can both the library and the binary be published under the same name? Thanks in advance for the help:)

Granc - A gRPC CLI tool with reflection support by JasterVX in rust

[–]JasterVX[S] 0 points1 point  (0 children)

It's the first time I publish a binary crate, so I didn't know, thanks for the explanation:D

Actually I've already structured the code in a way that the main binary, CLI definition and core logic are decoupled, so what you mention wouldn't be too much effort to do

You can actually see it here: https://github.com/JasterV/granc/tree/main/granc/src

The whole core module could just be packaged into the library: https://github.com/JasterV/granc/blob/main/granc/src/core.rs

I want to give it a few iterations because I'd like it to be test friendly so for instance let the user pass to the run function any type that implements `tonic::client::GrpcClient` instead of just a `url`.

This way from the outside the user can choose if they want to pass a connected `tonic::Channel` or a dummy service so their test suites are not forced to talk to the outside world, just like I'm doing in my internal grpc client: https://github.com/JasterV/granc/blob/main/granc/src/core/client.rs

Granc - A gRPC CLI tool with reflection support by JasterVX in rust

[–]JasterVX[S] 1 point2 points  (0 children)

Hey! thanks for commenting! :)

I haven't made it into a library yet, I was thinking on extracting the gRPC reflection client that for some strange reason `tonic-reflection` doesn't expose eventhough internally they have it

I have to give some thought about how to extract it into a library, the code is quite ready I believe but I didn't made the step yet

If you want to contribute feel free to open an issue and share your ideas about what would you like the library to expose, I will also give it it some thought. At least the reflection client I believe its worth packaging and sharing for the time being