Building a MongoDB-style API for Postgres with Ecto

Building complex querying APIs can be hard - but it doesn’t have to be. This article shows how to use dynamic/3 to build complex SQL queries with Ecto from JSON query documents inspired by MongoDB.

https://pentacent.com/blog/dynamic-ecto-queries/

ThinkingElixir 036: Using LiveView and Hooks with Alexandre Minette

In episode 36 of Thinking Elixir, Alexandre Minette shares his adventures with LiveView as he builds a personal finance tracking application. We cover his use of hooks to integrate Javascript libraries that give him the UX he wants. He shares some tips and resources for finding Javascript libraries that work well with LiveView. Alex pushes browser locale data up to the server to customize rendering dates and times for a fun and different approach. We also get his perspective on using Flutter for Mobile development and where he thinks it fits with web technologies like LiveView.

Podcast Episode

One Year of Elixir: How it compares to Ruby

https://boredhacking.com/one-year-of-elixir/

Last year I started a new job at Brex where Elixir is the primary programming language for business logic. This was my first real adventure into Elixir after working in Ruby (mostly) for my professional career. Since José Valim came from the Ruby world, Elixir was a common buzzword I heard for years. I had done a tutorial or two here and there but never gotten to really use it. Now, looking back at the past year I’ve become fairly comfortable with Elixir, and wanted to outline some of the things I really enjoy about Elixir and some of the things I miss from Ruby.

mix_test_interactive: Interactive test runner for ExUnit tests

mix_test_interactive is an interactive test runner for ExUnit tests.

Based on Louis Pilfold’s wonderful mix-test.watch and inspired by Jest’s interactive watch mode, mix_test_interactive allows you to dynamically change which tests should be run with a few keystrokes.

It allows you to easily switch between running all tests, stale tests, or failed tests. Or, you can run only the tests whose filenames contain a substring. Includes an optional “watch mode” which runs tests after every file change.

How atom keys with JSON in Ecto can break your system

You need to know that if you use the map type in your Ecto schema. https://patrykbak.com/2021/02/20/atom-keys-with-json-in-ecto.html

13th episode - Autostarting crypto prices streaming - crypto trading in Elixir

Hello everyone,

Just released my 13th video!

We will focus on creating a supervision tree around our streamer processes that will allow us to start and stop streaming on a symbol. To keep things in sync with the improvements made to the Naive application in the last episode, we will also introduce the autostarting functionality based on the settings from the database.

I’ve also redone the 12th video and uploaded it again so it follows the style of the series a little bit closer.

New 13th video:

https://www.youtube.com/watch?v=NLpQqF1Y3Y8&list=PLxsE19GnjC5Nv1CbeKOiS5YqGqw35aZFJ&index=13

The remake of the 12th video:

https://www.youtube.com/watch?v=RHL8-d5mP5s&list=PLxsE19GnjC5Nv1CbeKOiS5YqGqw35aZFJ&index=12

Enjoy <3

Server Side Time Series Plots With Elixir Using Contex

Operational dashboards are a lot more fun (and useful) realtime, so we are building ours with Elixir and the Phoenix Framework. And Contex makes it easy to build fast, realtime SVG plots.

This blog post covers some documentation gaps and quirks when using Contex.

Build ‘Availability First’ Systems with Elixir + DataStax Astra

Why DataStax Astra and Elixir? Elixir is to programming languages what Apache Cassandra™ is to databases: fault tolerant with features that prioritize scale without sacrificing performance or resilience. https://www.datastax.com/blog/2021/02/build-availability-first-systems-elixir-datastax-astra

Elixir Wizards S5E12 Brian Howenstein on How ClusterTruck is Innovating Food Delivery

Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s5e12-howenstein/

How to use Ecto's Repo.stream/1 to process large amounts of data

It’s great to have tools like Flow, GenStage, or Broadway, but you don’t always need them! This short post shows a really easy way to process large-ish (max few hours of processing) datasets using Ecto’s Repo.stream/1.

https://mkaszubowski.com/2021/02/16/ecto-repo-stream-data-processing.html

Dynamic Nested Function Call with Macro

Blogged on how to build a nested dynamic function call like

foo(:bar, fn arg1 ->
  foo(:baz, fn arg2 ->
    ...
      foo(:bzz, fn argN ->
        {arg1, arg2, ..., argN}
      end)
    ...
  end)
end)

https://rocket-science.ru/hacking/2021/02/18/dynamic-nested-function-calls-with-macro

Cursed curried Elixir

If you love currying and think macros are scary, this post is for you! https://liftm.io/posts/cursed-curried-elixir.html

Handling configuration variables in Elixir

We have some environmental variables in almost every Elixir application. They change the behavior of the system. They even allow you to reduce variables hard-coded somewhere in the depths of the code.

Check how to handle it better: https://bartoszgorka.com/handling-configuration-variables-in-elixir

ThinkingElixir 035: X-Plane's Elixir MMO with Tyler Young

In episode 35 of Thinking Elixir, Tyler Young from X-Plane talks with us about how he added a new MMO feature to the popular flight simulator using Elixir. He shares some behind the scenes information on how it was created and how it’s been working in production. We learn about the single modest server that supports all the mobile users right now.

I loved hearing how Tyler found working with Elixir to be super productive. He took on a major new feature that he expected to take over a year but was able to deliver it in less than half the time. He did all the Elixir work himself and was new to it!

Podcast Episode

Elixir Berlin February Meetup

Agenda:

  • “Web archiving with dust” by Sultan (@imanhodjaev) 07:39
  • “Writing a desktop application in Elixir” By Dominic (@dominicletz) 33:29

ecto_psql_extras: "null_indexes" method added

https://github.com/pawurb/ecto_psql_extras#null_indexes New release of EctoPSQLExtras library introduces a “null_indexes” method. It allows you to track indexes that contain mostly NULL values and can probably be changed to partial index to improve insert performance and reduce disk usage

Conditional context for macros

Blogged on how to use __CALLER__.context and __CALLER__.context_modules to build macros, which behaviour depends on the context (different/extended abilities when in guard, when in match, elsewhere.)

https://rocket-science.ru/hacking/2021/02/13/conditional-context

Database Session Store with Elixir and Plug

Writing your first encrypted DB-backed session store with sliding timeout

https://kimlindholm.medium.com/database-session-store-with-elixir-and-plug-4354740e2f58

The case of the Red Bug (tracing in Elixir)

I’ve been exploring a bit tracing in Elixir as I needed an API endpoint returning a trace of all function calls when certain module is invoked. Most of the time tracing tools output to stdout but I needed something that I can use for API. This blog post is a short story-like description how I did it.

https://ignacy.co/the-case-of-the-red-bug

Building a Real-time Kanban Board with Phoenix LiveView

I’ve started building a very simple Kanban board web app to try out Phoenix LiveView, and got pretty excited with the feature - so I decided to write a small tutorial on how to build it :)

https://medium.com/@leo_hetsch/building-a-real-time-kanban-board-with-phoenix-liveview-e9b718ac185

Previous page Next page