fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

Korkeala

Hello fediverse, here's my post. Although I joined in the middle of the great TwitterMigration, I've been actually planning to join a very long time.

I'm a software developer and a long time Linux/#FOSS user. I maintain packages in , but recently been also exploring .

I'm interested in and in computing and in real life, more on the side of doing than posting about it.

I also enjoy art a lot, good books, music, movies and visual art.

@korkeala

> Hello fediverse, here's my post.

Welcome to !

> I'm a software developer and a long time Linux/#FOSS user. I maintain packages in , but recently been also exploring .

I've been exploring too, both as a user and by trying to update the packages. It's a fascinating distro, but certainly has a learning curve.

Do you think you'll stick with it?

@codesections @korkeala

Despite being way more fluent in Ruby, Raku has become my goto language for all my command line tools (i write a lot of them). I suspect it's going to be my go-to language for WebDev too but I haven't played with Cro yet. Also, in the background I'm working on my own language and my current plan is to have it transpile to Raku.

So yes, pretty sure I'll stick with it. ;)

@masukomi

Cro is great for web applications, but really a framework for event driven or streaming type things that benefit from pipeline processing: messaging, other network applications and so forth.

You'll love it.

@jns 🤔hmm... for those tasks i feel like Elixir / Erlang would probably be a better bet. The Erlang VM is just _so ridiculously good_ at that stuff. It's like, its raison d'être.

As much as i like Raku, Elixir is also a _surprisingly_ nice language, and ... just everything to do with message queues and such is just 🤯 good.

I don't know how well the Raku VM competes in messaging type tasks but i feel like it's going to be extremely hard for anyone to beat Elixir/Erlang on that front.

@masukomi

Oh yeah, I'm a big fan of RabbitMQ which is a great advert for Erlang in that area, but I didn't really mean creating a full broker in (though it's doable and would work well,) rather the kind of service that might consume messages and do things in response.

The point was more that 'Cro' isn't just a framework for an HTTP server, but for anything with a similar processing requirement ( accept raw request, transform it into something useful, route to processor etc.)

@masukomi @jns

> I don't know how well the Raku VM competes in messaging type tasks but … it's going to be extremely hard for anyone to beat Elixir/Erlang on that

It depends a bit on what you mean.

In terms of performance/battle-hardened-ness, then languages running on the BEAM VM will be way ahead – they've been optimizing that ~40 years.

But in terms of being able to use event-driven programming with an ergonomic APIs (and reasonable performance), I'd say holds its own.

1/2

@masukomi @jns

For example, builds event-driven concurrency into the language at a fairly fundamental level, including by providing syntactic support.

Here's a tiny example, adapted from the cro docs, of a program that shuts itself down whenever it (asynchronously) receives a ^C stop signal:

react whenever signal(SIGINT) {
$program.stop;
exit;
}

The docs have a lot more along those lines: docs.raku.org/language/concurr

2/2

docs.raku.orgConcurrency

@codesections

Exactly, and if you were to take that Supply and pass it to some other component that component doesn't even need to know or care where the "events" being fed on the Supply came from; if you look under the hood of `Cro` it boils down to a pipeline of components that have a Supply as input and a Supply as output (slight over-simplification,) so e.g. a Cro service could have the Supply from `signal` as a source and the eventual "Sink" gets a message it has to deal with.

@codesections

We'll see, it seems like a great tool, but yes has a learning curve. I run it on a foreign distro to test it and use some packages not available in Fedora. I think it has a long way to go to be used my primary laptop OS.

Also I currently I explore running it in a VM as a remote development environment (the guix shell is a nice!) and as a CICD-solution. Also the home configuration feature looks nice.

@korkeala

> I think it [] has a long way to go to be used my primary laptop OS.

I'd agree with that, but I'd note that "laptop" is a pretty important word in that sentence: I'm currently using Guix as my primary *desktop* OS, and it's going pretty well.

That's because running Guix on a (fairly beefy) desktop mitigates two pain points for laptop use: I don't need wifi (sidestepping Guix's driver support), and I can more easily build from source when Guix doesn't have a binary substitute.

@codesections

Yes, thats true. I mainly use laptops, but been thinking also about a new workstation machine. That would be easier to get fully foss supported. But for now I'll keep exploring guix in a foreign distro and virtualized environments.

As a separate note, general linux systems have come quite far, everything on my newest laptop worked automatically: touchscreen, pen, fingerprint reader, wifi, webcam etc.