←back to thread

FireDucks: Pandas but Faster

(hwisnu.bearblog.dev)
374 points sebg | 8 comments | | HN request time: 0.929s | source | bottom
Show context
OutOfHere ◴[] No.42195321[source]
Don't use it:

> By providing the beta version of FireDucks free of charge and enabling data scientists to actually use it, NEC will work to improve its functionality while verifying its effectiveness, with the aim of commercializing it within FY2024.

In other words, it's free only to trap you.

replies(4): >>42195375 #>>42195631 #>>42197438 #>>42198018 #
1. tombert ◴[] No.42195631[source]
Thanks for the warning.

I nearly made the mistake of merging Akka into a codebase recently; fortunately I double-checked the license and noticed it was the bullshit BUSL and it would have potentially cost my employer tens of thousands of dollars a year [1]. I ended up switching everything to Vert.x, but I really hate how normalized these ostensibly open source projects are sneaking scary expensive licenses into things now.

[1] Yes I'm aware of Pekko now, and my stuff probably would have worked with Pekko, but I didn't really want to deal with something that by design is 3 years out of date.

replies(1): >>42195958 #
2. cogman10 ◴[] No.42195958[source]
IMO, you made a good decision ditching akka. We have an akka app before the BUSL and it is a PITA to maintain.

Vert.x and other frameworks are far better and easier for most devs to grok.

replies(3): >>42196411 #>>42196583 #>>42196820 #
3. tombert ◴[] No.42196411[source]
Yeah, Vert.x actually ended up being pretty great. I feel like it gives me most of the cool features of Akka that I actually care about, but it allows you to gradually move into it; it can be a full-on framework, but it can also just be a decent library to handle concurrency.

Plus the license isn't stupid.

4. switchbak ◴[] No.42196583[source]
> We have an akka app before the BUSL and it is a PITA to maintain

I would imaging the non-Scala use case to be less than ideal.

In Scala land, Pekko - the open source fork of Akka is the way to go if you need compatibility. Personally, I'd avoid new versions of Akka like the plague, and just use more modern alternatives to Pekko/Akka anyway.

I'm not sure what Lightbend's target market is? Maybe they think they have enough critical mass to merit the price tag for companies like Sony/Netflix/Lyft, etc. But they've burnt their bridge right into the water with everyone else, so I see them fading into irrelevance over the next few years.

replies(1): >>42197584 #
5. wmfiv ◴[] No.42196820[source]
I've found actors (Akka specifically) to be a great model when you have concurrent access to fine grained shared state. It provides such a simple mental model of how to serialize that access. I'm not a fan as a general programming model or even as a general purpose concurrent programming model.
replies(2): >>42197620 #>>42198122 #
6. tombert ◴[] No.42197584{3}[source]
I actually do have some decision-making power in regards to what tech I use for my job [1] at a mid-size (by tech standards) company, and my initial plan was to use Akka for the thing I was working on, since it more or less fit into the actor model perfectly.

I'm sure that Lightbend feels that their support contract is the bee's knees and worth whatever they charge for it, but it's a complete non-starter for me, and so I look elsewhere.

Vert.x actor-ish model is a bit different, but it's not the that different, and considering that Vert.x tends to perform extremely well in benchmarks, it doesn't really feel like I'm losing a lot by using it instead of Akka, particularly since I'm not using Akka Streams.

[1] Normal disclaimer: I don't hide my employment history, and it's not hard to find, but I politely ask that you do not post it here.

7. tombert ◴[] No.42197620{3}[source]
Vert.x has the "Verticle" abstraction, which more or less corresponds to something like an Actor. It's close enough to where I don't feel like I'm missing much by using it instead of Akka.
8. Weryj ◴[] No.42198122{3}[source]
What are your criticisms of actors as a general purpose concurrent programming model?