Finishing the scaffold (Trello clone P2)
This episode is part 2 of Phoenix 1.4 Trello clone.
We’ve already got a workable system for fixing tests generated by mix phx.gen.html for schemas with associations. We’ll continue using it. This time we’ll do the comment and activity models, which will finish the project’s scaffold.
Keeping Test Data in Context
The problem with ex_machina and similar test data creation patterns, and why you should only ever manipulate data (whether in test or production) via contexts.
https://scripted.rjdellecese.com/2019/07/21/keeping-test-data-in-context
Error Monitoring with Sentry
In this blog post I cover how to setup error monitoring in your Elixir+Phoenix application using Sentry.
https://akoutmos.com/post/error-monitoring-phoenix-with-sentry/
Are you ready for the #SpawnFest? Code a BEAM-based app over the weekend with your team and win amazing prizes!
Register your team to compete online over the weekend of September 21-22 https://spawnfest.github.io/
Oban Recipes Part 1: Unique Jobs
In the first of a series of Oban recipes we look at a couple of techniques for enforcing unique background jobs.
https://sorentwo.com/2019/07/18/oban-recipes-part-1-unique-jobs.html
Incident
Incident is a library that helps implement Event Sourcing and CQRS. Check it out the Hex package in https://hex.pm/packages/incident.
Smart Software S2E2: Bryan Joseph on ElixirScript and the Big Elixir
We continue our season on Elixir Internals, this time talking with Bryan Joseph about ElixirScript, the Big Elixir, and more.
Elixir developer opening in London
We have an opening for an Elixir developer at Made by Many in London! https://www.madebymany.com/stories/mid-to-senior-software-engineer
Slimming down fat channels in Phoenix
Here is a new article explaining how we refactored a Phoenix channel module that was getting too complex.
https://www.wyeworks.com/blog/2019/07/19/slimming-down-fat-channels-in-phoenix/
Using Select2 with Phoenix LiveView
Using Select2 with Phoenix LiveView
LiveView doesn’t support JavaScript interop at the moment (but it’s a planned feature), so in this article we see how to come up with a workaround to make LiveView playing together with a JavaScript library like Select2.
We see how to take advantage of phx:update events, which LiveView dispatches every time it updates the DOM. Then, we see how to send events to the server using liveSocket.
ElixirMix Podcast 060 - Property-Based Testing, Dialyzer, & Inaka with Brujo Benavides
In this episode of ElixirMix, we talk with Brujo Benavides We also discuss dialyzer, understanding common errors, the company Inaka and the community that grew in its place, and upcoming events like Spawnfest and Elixir Conf Latin America.
Various Elixir resources focused on transition to large-scale production
https://www.bobek.cz/blog/2019/elixir-resources/
We working on planning introducing Elixir into our toolbox. This page summarizes key resources we have use / are using for learning Elixir and pushing it to large-scale production.
Introducing Temple: An elegant HTML library for Elixir and Phoenix
https://www.mitchellhanberg.com/introducing-temple-an-elegant-html-library-for-elixir-and-phoenix/
Temple is a macro DSL for writing HTML markup in Elixir and a template engine for Phoenix.
Ecto.Rescope release v0.1.0
Just released Ecto.Rescope, which can be used to set a default scope on Ecto schemas. This is useful for defining soft-deletes or other complex scoping.
Usage information and examples provided in documentation. Blog post to follow.
Smart Software podcast S2 on Elixir Internals - E1 Brooklyn Zelenka on Witchcraft
Smart Software Season Two is out! Our topic is Elixir Internals; in our first episode, we talk with Brooklyn Zelenka about Witchcraft, type systems, property-based checking, Dialyzer, and more.
Elixir GenServer Memory Issues
Are you having problems with memory management while using GenServers? Then maybe you should take a look at our latest article for some tips!
What's new in Horde v0.6.1
New in Horde v0.6.1:
- Tune delta_crdt options
- Telemetry integration (don’t forget to upgrade delta_crdt too!)
- Now using libring for better process distribution
- Added guides for how to deal with state handoff, eventual consistency, and how to set up a cluster
https://github.com/derekkraan/horde/blob/master/CHANGELOG.md
Elixir maps made effortless
I wrote a short article covering two things I’ve seen frustrate Elixir learners, especially those coming from a language like JS or Ruby—immutability and the use of strings vs atoms for keys.
Upgrading to Elixir Releases - live stream archive
Archive of Eric’s Elixir live stream from last week, starting to look into upgrading Grapevine for Elixir 1.9 release
ElixirMix Podcast 059 - Using Rust to Scale Elixir for 11 Million Concurrent Users with Matt Nowack
In this episode of ElixirMix, we talk with Matt Nowack at Discord about how they used Rust with Elixir to scale to 11 million concurrent users. We discuss NIFs, dirty schedulers, diagnosing scaling problems, tracing, and much more!
