Julia used to prototype Whatsapp audio

This isn’t a big thing, Julia is just powering EVERY SINGLE VOICE CALL in WHATSAPP across the world (maybe this is a slight exaggeration) but check it out:

(relevant bit starts at 8min 12s)

33 Likes

Although it looks like they weren’t able to solve the two language problem…

2 Likes

Probably because of binary size and memory management limitations.

3 Likes

Nonetheless, I do think this is a very cool application of Julia.

Would you mind changing the title? You’ve buried the lede here. I’m thinking “Julia used Prototype Whatsapp audio”

4 Likes

True, but this reminds me of a talk at the Scientific Computing with Rust conference where the researchers did the initial prototype in Julia because it was easy for them to implement and debug mathematical algorithms, but then the final product was in Rust because it better matched their requirements. While this is not what we’d like to hear, I think it’s interesting to see that some people do appreciate Julia’s expressiveness for these tasks, even though it doesn’t end up in the final product.

22 Likes

I still think this is still a huge success for Julia. It shows us parts that need improvement to support industrial deployment in some topics, and things that are great (although, we know the latter already :wink: expressivity, and the signal analysis tools)

6 Likes

May I also congratulate the speaker for an excellent presentation. The slides, pacing, explanation, and content, were all top notch.

3 Likes

I’m in a similar position at my job. All my work/research is in Julia but because of the corporate IT overlords, my work ultimately gets ported to either Python or c#.

Although after the last port that took several weeks to get my JuMP code working in Python despite it taking me only a few hours to write the Julia code we are going to try to stand up a rest API to call a Julia function on a deployed docker container. There is hope!

11 Likes

Yes, it is what we should like to hear. Because it tells us, there is more for Julia to achieve than “just” data analysis. Julia is on the way for tasks like this, it only needs the small binaries (best would be cross platform, which is probably easy than) which is just a matter of time, hopefully.

10 Likes

The fact that people are putting up with all these workarounds indicates how much a Julia compiler is needed.

6 Likes

One interesting bit here is the workflow; in this instance (as opposed to, e.g. the Clarabel stuff @giordano mentions here), the C port was done in incremental fashion, leveraging C-Julia interoperability. It’s not the “finally solving the two-language problem through static compilation” dream but it’s noteworthy, I feel.

4 Likes

Wow! This approach of having a 1:1 interoperability between Julia and C/C++ is exactly what we are using to develop our next-gen satellite attitude controller, as I explained in the last JuliaCon. It is amazing to see another very interesting use case of a similiar development approach.

8 Likes

I wish the Julia lang website could explain how industry and academia use Julia like the Go lang website does. It’s a shame that so few people know about the cool projects that use Julia.

A perfect case for the forem platform. How about writing something @Ronis_BR , @stephenll :wink: (hmmm can’t ping those people from META :rofl: )

1 Like

It would be great if industry and academia would show how they use Julia. But it doesn’t have to be a blog post. There are many other ways. The Julia lang website could use quotes or links to videos or papers to show the growing adoption of Julia.

Of course, but we are missing good new articles there :man_shrugging:

1 Like

I will try! :slight_smile:

4 Likes

Might be interesting to have a Julia → C++ code generator.

They say they used C++ in the final code - I’d guess they also used a C++ library like Eigen or similar, which would make the translation easier.

A Julia → C++ transpiler would need type stable Julia Code, no? If so, I don’t see how that’s better than just confirming to the requirements of StaticCompiler.jl.

2 Likes

I’m pretty sure that is what this is:

2 Likes