ThinkingElixir 126: Working at a Software Agency with the Wizards

Episode 126 of Thinking Elixir. As software developers, there are many different types of companies we can work at. We met up with the Elixir Wizards crew to learn more about working at a Software Agency like SmartLogic. We compare what this is like vs working at a product company. Of course, we take the opportunity to learn more about Sundi Myint and Owen Bickford, their journeys to Elixir and the work they are doing now. Sundi shares how becoming an Engineering Manager presented new growth opportunities and Owen goes deeper on the ETL system he’s creating to migrate an MSSQL DB to Postgres and how gets to play with Broadway in the process.

https://podcast.thinkingelixir.com/126

Erlang, Elixir and Friends Devroom @ FOSDEM 2023 (Call for Talks)

FOSDEM 2023 is finally going to be in-person again and we’re excited to announce that the Erlang, Elixir and Friends Devroom got accepted for next year’s edition. FOSDEM is a free conference dedicated to open-source software, one of the largest in the world, and it’s the perfect venue for us showcase the power of the BEAM and get even more people excited about it!

You can find all the information to submit a talk on the dedicated website.

Whether you’re submitting your talk proposal, or you’re just attending the event, we hope to see you in Bruxelles in February!

https://beam-fosdem.dev/

Adding PostgreSQL Active Connections to Ecto PSQL Extras

While working at Binary Noggin we ran into an issue with over provision database connections while using Oban.

Having active connections available in the Phoenix Live Dashboard helped us troubleshoot over allocating connections to the database. This has the added benefit of seeing all active connections not just our Phoenix application.

https://github.com/pawurb/ecto_psql_extras/pull/31

Securing Elixir/Phoenix Applications: 5 Tips to Get Started

There are a number of resources online related to Elixir and Phoenix security, however when it comes to securing your own project, determining where to begin is a difficult task. Here are five recommendations to get started improving the security of your application.

https://paraxial.io/blog/securing-elixir

Rauversion: the opensource platform for music communities built in Elixir has released version 0.5.0

image

Hi, we have released Rauversion 0.5.0. It comes with the following:

  • Events platform with a ticketing system that lets the community publish Free and Paid Events.
  • Stripe integration that allows the community to link their stripe accounts to sell Paid events.
  • Streaming event services integration with MUX, TWITCH, STREAM YARD, and ZOOM that allows the community to publish virtual events too!
  • Track cover image generated by AI.

https://github.com/rauversion/rauversion-phx

TIL: Regex with name bindings

In Elixir, regular expressions can extract a lot of useful information. Using Regex and named_captures/3 function, we can parse the input data based on the prepared regex.

More on: https://bartoszgorka.com/regex-with-name-bindings

Upgrading to Phoenix 1.7

To celebrate the first release of Phoenix 1.7, we’ll use Chris McCord’s upgrade guide to take an existing application to Phoenix 1.7.

https://elixircasts.io/upgrading-to-phoenix-1.7

Parser Combinators in Elixir: A Deeper Dive

In the second part of our two-part series, we’ll improve the parser combinator we’ve written. https://blog.appsignal.com/2022/11/15/parser-combinators-in-elixir-a-deeper-dive.html

ThinkingElixir 125: Elixir at the Royal Bank of Canada

Episode 125 of Thinking Elixir. While hearing how Elixir is being used in the Royal Bank of Canada’s Capital Markets, we learned a lot of extra things we didn’t expect! Thanos Vassilakis, head of R&D in the CM group, explained how middle managers talk about “scaling” to mean hiring staff with the goal of using all of their budgets. Not the kind of scaling we typically think about! Thanos identified the biggest problem limiting Elixir’s adoption at large financial institutions and it wasn’t what we expected. He also shared stories of how LiveView greatly out performed React when rendering hundreds of live updating financial charts and, after experimenting with it, the React devs fully adopted LiveView! Lots of great insights and stories in this one!

https://podcast.thinkingelixir.com/125

Elixir, OpenTelemetry, and the Infamous N+1

Alex Koutmos wrote an OpenTelemetry article for Phoenix projects by with an awesome demo repo that visualizes telemetry events with Grafana! It’s also a helpful guide on debugging performance problems like N+1 DB queries!

https://fly.io/phoenix-files/opentelemetry-and-the-infamous-n-plus-1/

Elixir, OpenTelemetry, and the Infamous N+1

Alex Koutmos wrote an OpenTelemetry article for Phoenix projects by with an awesome demo repo that visualizes telemetry events with Grafana! It’s also a helpful guide on debugging problems like N+1 DB queries!

https://fly.io/phoenix-files/opentelemetry-and-the-infamous-n-plus-1/

Simulate a bad internet connection with Phoenix LiveView

Learn how to make your LiveView app resilient against bad internet connections by simulating latency, jitter, and package loss when developing locally.

https://www.peterullrich.com/simulate-latency-jitter-and-package-loss-in-phoenix-live-view

Elixir Code Security: Prioritize Security in Your CI With 4 Tools

Improve your code security and dependency checking by getting warnings about attack vectors in an automated and actionable way.

https://semaphoreci.com/blog/elixir-code-security

ThinkingElixir 124: Caching Things Anywhere with Nebulex

Episode 124 of Thinking Elixir. We wanted to go deeper on the caching library Nebulex, so we visited with the creator, Carlos Bolaños, to learn what prompted its creation. Nebulex takes a couple unique approaches to things. It supports a decorator pattern to indicate that a function should be cached without having to write the boilerplate code for reading and writing to the cache. Nebulex was inspired by Ecto, in that it supports multiple adapters to different backends like Redis, Cachex and even Horde! It also supports multiple caching strategies. It’s an interesting project that aims to solve common caching challenges in new ways and we enjoyed learning more about it.

https://podcast.thinkingelixir.com/124

A Real-Time Phoenix LiveView App for Soccer Matches

@mssantosdev and I implemented a distributed real-time app for soccer matches as an experiment. We’ll share a post soon, but check it out what we have so far https://twitter.com/norbajunior/status/1589950754315726850?s=20&t=7jF8890I9TNlRvKXNAhpZQ

Github Actions for Elixir CI

A critical ingredient for modern development teams is a regularly run set of code checks. If it’s up to every developer to run code tests and checks locally before pushing code, you know it will be forgotten at some point. This leaves it as a problem for someone else to cleanup later. Uncool!

We want the benefits of modern Continuous Integration (CI) workflows for our Elixir projects. This guide lays out a good starting point that teams can customize to suit their needs.

https://fly.io/phoenix-files/github-actions-for-elixir-ci/

The Complete Guide to Full-text Search with Postgres and Ecto

This epic article covers implementing efficient full-text search, result ranking, query modifiers, query testing, and so much more!

https://www.peterullrich.com/complete-guide-to-full-text-search-with-postgres-and-ecto

Ecto.DevLogger v0.7.0

This release is notable by adding a Ecto.DevLogger.PrintableParameter protocol which allows printing yet not supported types and even user-defined postgrex types.

Also, it contains various small fixes.

Links:

ThinkingElixir 123: Ash Framework Models Resources

Episode 123 of Thinking Elixir. Creator of the Ash Framework, Zach Daniel, shares how he feels Ecto is such a good tool, that people haven’t built a modeling layer above it and end up using Ecto directly. Ash models a resource above Ecto, making it more expressive while supporting LiveView, REST, and GraphQL interfaces on top. While cutting boilerplate, a major goal builds in escape hatches to keep from being boxed in. Ash Framework recently celebrated a 2.0 release, accompanied by the release of the Ash HQ website. A fun look into the achievements and philosophy that make the Ash Framework what it is today!

https://podcast.thinkingelixir.com/123

Sanitize Strings in Elixir with Pattern Matching and Recursion

Let’s use two great features in Elixir - recursion and binary pattern matching - to sanitize a string. https://blog.appsignal.com/2022/11/01/sanitize-strings-in-elixir-with-pattern-matching-and-recursion.html

Previous page Next page