Siblings → `multi_call/2` and `multi_transition/3`

Siblings v0.4.0 has been released.

Added Siblings.multi_call/2 and Siblings.multi_transition/3 to operate on all the dynamic children.

The Titanic Machine Learning Problem in Elixir

Elixir’s machine learning suite is still relatively new, but it stands as a viable alternative to a lot of the more established tools in the Python ecosystem. Follow along as I build a neural network using nx and axon to work through the famous Kaggle Competition “Titanic - Machine Learning from Disaster” and visualize the results in livebook:

https://ryancurtin.com/posts/titanic-machine-learning-in-elixir/

Using Elixir Telemetry and Tesla

Tesla provides a Telemetry middleware which is pretty straightforward to configure for your clients. It is possible to extend the middleware behaviour and group metrics by host, method or path.

This post will show how to setup Telemetry with Tesla and path grouping: https://felipeelias.github.io/elixir/2022/08/03/elixir-telemetry-and-tesla.html

PlugLimit - rate limiting library based on Redis Lua scripting

PlugLimit is using Redis Lua scripting to provide rate-limiting functionality for web applications based on a Plug library. Salient Redis Lua scripting feature is a race conditions resiliency which makes it a recommended solution for distributed systems (e.g.: Phoenix servers swarm behind a round robin load-balancer).

PlugLimit provides two built-in rate limiters: fixed window and token bucket. Custom rate limiters can easily be added as a user defined Redis Lua scripts.

https://github.com/Recruitee/plug_limit

Health status without log request

Sometimes our application collects more logs than we would expect. Especially in the case of endpoints responsible for the server status. Thanks to a simple plug, you can inform about the system state all the time without logging this request.

More on: https://bartoszgorka.com/health-status-without-log-request

Bot Defense with Paraxial.io - ElixirCasts

In this week’s ElixirCast, learn how to defend your Phoenix app against bot attacks in minutes with Paraxial.io!

https://elixircasts.io/bot-defense-with-paraxial.io

ThinkingElixir 110: The End of Localhost Development?

Some people excitedly talk about the “end of localhost development” when developer machines move to the cloud. Presumably this is better because our environments, infrastructure and projects are so complex that they need this additional layer of abstraction just to keep teams productive. Is this our inevitable future? Or is this trying to solve the wrong problem? We talk about what we think this movement is about and how it relates to us. Elixir projects can potentially be much simpler with fewer external dependencies making this move to the cloud less compelling. Join us as we contemplate how Elixir and Phoenix might fare in a world with no “localhost development”.

https://podcast.thinkingelixir.com/110

IntelliJ Elixir v13.2.0

Changelog

v13.2.0

Enhancements

  • Rendered Markdown toggle for @moduledoc, @typedoc, and @doc
    • Inject markdown in @doc deprecated: …
    • Inject Markdown into doc lines and heredocs
    • Ignore false for documentation module attributes
    • Ignore @doc metadata that can’t include Markdown
      • guard: …
      • since: …
    • Ignore @callback(unquote(spec)) when trying to find typespecs
    • Interleave Markdown and Elixir for doctests
      • Mark code blocks as Elixir language in Markdown documentation
      • Mark multi-line exceptions in doctests as Markdown
      • Treat DBG prefix doctest lines as Markdown instead of Elixir
      • Resolve owner of docs as following call definition clause.
      • Count …> as Markdown since it’s not Elixir syntax
      • Count ** (… as Markdown since it’s not Elixir syntax for exception in iex prompts
      • Count iex> as Markdown since it’s not Elixir syntax
    • Documentation links in rendered documentation
      • Modulars MODULE
      • Callbacks
        • Relative (c:NAME/ARITY)
        • Absolute (c:MODULE.NAME/ARITY)
      • Types
        • Relative (t:NAME/ARITY)
        • Absolute (t:MODULE.NAME/ARITY)
      • Functions and Macros
        • Relative (NAME/ARITY)
        • Absolute (MODULE.NAME/ARITY)
  • Quick Documentation for more elements
    • Callbacks (@doc above @callback and @macrocallback)
    • Types (@typedoc above @type, @typep, and @opaque)
  • Compatibility with IntelliJ 2022.2.
  • Updated Elixir version used in tests.
  • Updated Gradle dependencies.

Bug Fixes

  • Add compiled CallDefinitionImpl delegation targets to resolve results
  • Log non-Call modulars for resolving delegation
  • Fix operator token set for **.

Installation Instructions

Introducing the Livebook desktop app

The Livebook desktop app was just launched. Now one can install Livebook on their machine without having Elixir installed before.

Building a Cloud Shell Leveraging Elixir

Elixir turned out to be an awesome solution for this sort of product for two reasons. It made creating a purpose-built WebSocket API a joyful experience. It also allowed us to leverage its unique binary handling capabilities to handle a goofy protocol easily and present it in a Javascript digestible format to our browser clients. Check out our code here: https://github.com/pluralsh/plural How we built it: https://www.plural.sh/blog/how-we-created-an-in-browser-kubernetes-experience/

Rauversion: An open source Souncloud made with Phoenix/LiveView

Rauversion is an open source platform to build communities of musicians, podcasters and listeners. The Stack is Elixir Phoenix & LiveView.

Check it out, and if you like it, please give us a star on Github 🍻 https://github.com/rauversion/rauversion-phx

ThinkingElixir 109: Digitally Processing Signals with NxSignal

In episode 109 of Thinking Elixir, we talk about a new library in the Nx ecosystem under active development called NxSignal by Paulo Valente. We talk with Paulo to learn what a DSP (Digital Signal Processor) is, how it works, and touch on the kinds of problems it can solve. We learn about his involvement in Nx, where the library is going, and some unusual ways he’s applied it. He also shares how he’s using Nx Explorer on production to clean up and process financial data returned in a JSON API and much more!

https://podcast.thinkingelixir.com/109

How to Write a Functor in Elixir

Learn all about functors and their benefits, then create a protocol for functors in Elixir. https://blog.appsignal.com/2022/07/26/how-to-write-a-functor-in-elixir.html

Elixir Meetup #7 hosted by Curiosum ▶ Szymon Soppa ▶ Perfecting local and remote Elixir CI pipeline

The cost of developer time is expensive, you don’t want to waste it! One of our goals in a day-to-day development is to optimize things, and that’s exactly what we should do to our CI’s to reduce badly spent developer time and engage him in something more productive.

In this talk I’ll guide you through some steps we implemented in CI at Curiosum, as well as propose a local CI setup that can be shared across your team. In short: check as much as possible in automated way, and do not waste a time on things you don’t have to in Code Review and daily development.

Elixir Meetup #7 hosted by Curiosum ▶ Szymon Soppa ▶ Perfecting local and remote Elixir CI pipeline

Paraxial.io Getting Started Guide

Paraxial.io protects your Phoenix application from malicious bots. Similar products are reCaptcha and Cloudflare, neither of which are designed for Elixir. Bots are the cause of security incidents such as credential stuffing, credit card fraud, and email spam, causing major problems for application owners.

Starting today, the Paraxial.io beta is open to new users, no invitation necessary. We have published a detailed guide that walks you through how to protect your Phoenix application with Paraxial, via a simple mix dependency.

https://hexdocs.pm/paraxial/getting_started.html

Elixir Startphases in Primary and Included Applications

This article explains Application start phases in live by creating applications and adding lines of code. At the end of this article you will learn more about the Elixir application and its start phases in depth.

Setup VS Code for Elixir Development

I was setting up a new laptop for Elixir development and I opted for “the clean install” approach. Getting VS Code all setup and configured took a bit of tweaking! I wrote up what I learned and the final needed bits into a recipe. Please feel free to share with people new to Elixir and Phoenix development so they can have a smoother experience.

https://fly.io/phoenix-files/setup-vscode-for-elixir-development/

LiveView Authentication Part 2

Part 2 of adding authentication to Phoenix LiveView.

https://elixircasts.io/phoenix-liveview-authentication-part-2

ThinkingElixir 108: Stack Overflow Survey Results 2022

In episode 108 of Thinking Elixir, we were surprised to see how well Elixir and Phoenix performed in the Stack Overflow survey results for 2022! Elixir came in as the #2 most loved language and Phoenix as the #1 most loved framework! And this was their first year appearing as official choices in the survey! We discuss what it means, what we can learn from it, how it compares to other languages and frameworks and what it may indicate for the future. We also discuss ideas to help support and grow the community.

https://podcast.thinkingelixir.com/108

Writing Predictable Elixir Code with Reducers

Let’s see how code predictability plays a crucial role in a project’s short and long-term health. We will use Elixir’s built-in features for this, like the pipe operator, tuples, and with blocks.

https://blog.appsignal.com/2022/07/19/writing-predictable-elixir-code-with-reducers.html

Previous page Next page