Elixir Icon


Elixir is a dynamic, functional language designed for building scalable and maintainable applications.
74 Stories
All Topics

Yejun Su Medium

Livebook-driven development

Yejun Su is using Numerical Elixir’s new Livebook project for more than just Numerical Things.

Before Livebook, I write code in IEx, which is a REPL. It has some helpers to ease the way to explore code, but in my opinion, Livebook exceeds in two factors:

Code history
In fact, IEx can enable code history by setting export ERL_AFLAGS="-kernel shell_history enabled" in the shell profile file. You can also search the IEx code history with Ctrl-r and apply it. But as Livebook is essentially a notebook, you can see all texts and evaluation results without the need to set anything.

Livebook has a clean UI. You can write documents in Markdown and evaluate Elixir code blocks. It is more continuous, you can review every step of your thought by scrolling the page.

Practical AI Practical AI #135

Elixir meets machine learning

Today we’re sharing a special crossover episode from The Changelog podcast here on Practical AI. Recently, Daniel Whitenack joined Jerod Santo to talk with José Valim, Elixir creator, about Numerical Elixir. This is José’s newest project that’s bringing Elixir into the world of machine learning. They discuss why José chose this as his next direction, the team’s layered approach, influences and collaborators on this effort, and their awesome collaborative notebook that’s built on Phoenix LiveView.

The Changelog The Changelog #439

Elixir meets machine learning

This week Elixir creator José Valim joins Jerod and Practical AI’s Daniel Whitenack to discuss Numerical Elixir, his new project that’s bringing Elixir into the world of machine learning. We discuss why José chose this as his next direction, the team’s layered approach, influences and collaborators on this effort, and their awesome collaborative notebook project that’s built on Phoenix LiveView.

Mark Eriksen fly.io

Building a distributed turn-based game system in Elixir

Mark Eriksen:

Many great Phoenix LiveView examples exist. They often show the ease and power of LiveView but stop at multiple browsers talking to a single web server. I wanted to go further and create a fully clustered, globally distributed, privately networked, secure application. What’s more, I wanted to have fun doing it.

So I set out to see if I could create a fully distributed, clustered, privately networked, global game server system. Spoiler Alert: I did.

I like the way he frames his experience. He says the most remarkable thing about it is not what he built, it’s what he didn’t need to build in order to accomplish his goal.

Elixir github.com

Papercups - open source live customer chat in Elixir

You can think of this like Intercom or Drift, only it’s open source and self-hosted (unless you use their hosted offering).

We wanted to make a self-hosted version of tools like Intercom and Drift for companies that have privacy and security concerns about having customer data going to third party services. We’re starting with chat right now but we want to expand into all forms of customer communication like email campaigns and push notifications.

Try out the live chat widget on their demo page.

Node.js acco.io

I finally escaped Node (and you can too)

This is one of the least ranty “I’ve switched from X to Y” posts I’ve read and it’s filled with knowledge regarding the importance of data structures:

If you have solid foundation, the house will come with little effort. If the foundation is mud and sticks on top of a trash heap, your life as a builder is going to be complicated.

This principle applies to tools in a broader sense. You want to do the least work possible when swinging a sledgehammer, so you design it such that the hammer is a much heavier material than the handle. This gives you leverage. If you designed your sledgehammer in the inverse, you’d have to swing it harder every time you used it.

Elixir thinkingelixir.com

ML is coming to Elixir by way of José Valim's "Project Nx"

Elixir creator José Valim stopped by the Thinking Elixir podcast to reveal what he’s been working on for the past 3 months: Numerical Elixir!

This is an exciting development that brings Elixir into areas it hasn’t been used before. We also talk about what this means for Elixir and the community going forward. A must listen!

Queue up this episode and/or stay tuned for an upcoming episode of The Changelog where we’ll sit down with José after his LambdaDays demo to unpack things even more.

Hugo Baraúna changelog.com/posts

Best of Elixir Radar in 2020

As the editor of the Elixir Radar newsletter, I read lots of articles related to Elixir every single week. Along the year I read probably more than 700 articles, so I could curate the best ones and send them to Elixir Radar’s subscribers.

In this article, I share the 11 most popular articles on Elixir Radar in 2020. Those are the ones that had the biggest engagement from Elixir Radar subscribers in each month of 2020, in terms of CTOR (click-to-open rate).

Elixir dockyard.com

Creating a Sonos volume knob with Elixir and LiveView

Steven Fuchs loves his Sonos, but…

While it is the radio of the future, our most common usage is as the radio of the past. We tend to tune it to one station and leave it there. By far, our most common interactions with the system are changing the volume and pausing/playing the music, often creating scrambles to find a phone to turn down the volume in order to answer a different phone. What we needed was an analog interface to this digital system that was always at arms reach.

Hackers gonna hack. Steven reached for Elixir and scratched his own itch with this very cool little hardware project. Here’s a demo video of it in action.

Elixir simplabs.com

Writing Rust NIFs for Elixir with Rustler

A Native Implemented Function is implemented in C (or Rust when using Rustler) and can be called from Elixir or Erlang just like any other function. It’s the simplest and fastest way to run native code from Erlang but it does come with a caveat: a crash in a NIF can bring down the whole BEAM. This makes Rust a safer option than C for implementing NIFs as its type system and ownership model guarantee memory and thread-safety.

Jerod Santo YouTube

Jonathan Clem from the GitHub Actions team joins me for a jam session

I thought it’d be cool to get mix test and mix format running on pushes to the changelog.com repo, so I gave GitHub Actions the old college try. After (not too much) futzing around on my own, I figured I’d have more success by getting an expert to help out. Good call be me! 😆

In this ~1 hour jam session, we go from zero to a successful Actions workflow. I learned a lot along the way, and you might too by joining us on the journey. Thanks, Jonathan!

The Changelog The Changelog #402

What's next for José Valim and Elixir?

We’re joined again by José Valim talking about the recent acquihire of Plataformatec and what that means for the Elixir language, as well as José. We also talk about Dashbit a new 3 person company he helped form from work done while at Plataformatec to help startups and enterprises adopt and run Elixir in production. Lastly we talk about a new idea José has called Bytepack that aims to help developers package and deliver software products to developers and enterprises.

0:00 / 0:00