Pubray — blogging powered by Elixir, Phoenix, LiveView and React

REPL? PERL? Regardless of the acronym, the stack behind Pubray is really something else — an exciting yet pragmatic mix of the bleeding edge and the battle proven that should literally make engineers beg for a chance to work with it (I know I would 😀).

Read the introductory article with a sneak peek of tech behind Pubray as well as the all-new Pubray Engineering blog.

And since this is the very first time that I’m posting about Pubray to the Elixir community, feel invited to give it a shot and become early adopters or just share your thoughts. Thanks!

Three real-world examples of distributed Elixir (pt. 3)

👋🏼Hi, there!

Here’s is the third part of the Three real-world examples of distributed Elixir series, in which we will build a distributed download requester and progress tracker, thanks to libcluster, Horde, Phoenix.PubSub, and Phoenix.LiveView.

https://bigardone.dev/blog/2021/06/18/three-real-world-examples-of-distributed-elixir-pt-3

Final result

Happy coding!

Connecting Observer to Production

For a long time, I wanted an easy way to run Observer connected to my production environment. I finally have that on http://Fly.io! I wrote up how I did it and showed how playing “chaos monkey” exposed some UX problems on my project.

https://fly.io/blog/observing-elixir-in-production/

New Elixir 1.12 - The developer’s point of view

The Elixir 1.12 version introduced some significant changes.

The main one is the ability to create scripts and import dependencies via Mix.install. The interactive console can be more helpful in the software development, prototyping and debugging processes.

https://bartoszgorka.com/elixir-1-12-released

How to distribute Mnesia between multiple nodes

Mnesia is a distributed database that’s embedded in Erlang and is super-easy to access — you don’t have to rely on a third-party service because it’s already available with your Elixir app. In this article, we want to share how we scaled our Mnesia usage in our different services, how we coupled the performances of Mnesia, and the persistence that was required to deploy our services with multiple nodes running.

https://medium.com/@wttj_tech/elixir-how-to-distribute-mnesia-between-multiple-nodes-cb7c851b1ed1

ThinkingElixir 052: IOList and Postgres with Nathan Long

In episode 52 of Thinking Elixir, Nathan Long takes us on a deep dive into IOLists in Elixir. We cover what they are, how they work, the power they have when concatenating strings, and how they are used in Phoenix and Logger. We even talk about improper lists and why they exist. And no, it isn’t a bug. We then talk about PostgreSQL features like materialized views, triggers, and using denormalized tables for solving complicated caching situations. Nathan shares some tips for when to use them and provides some cautions worth hearing.

https://thinkingelixir.com/podcast-episodes/052-iolist-and-postgres-with-nathan-long/

Elixir in Production: Glific

What are the benefits of using Elixir for building an open-source communication platform? Find out in our interview with Donald Lobo, the founder and chief architect of Glific.

https://serokell.io/blog/elixir-in-production-glific

Pure Elixir deployment strategy

Deploying an Elixir app to a free GCP instance and getting no-downtime deploys without leaning on Docker, Distillery, or Nginx.

This is a big refactor of the article, which previously relied on Nginx/Certbot for SSL and no-downtime deployment.

https://damonvjanis.medium.com/optimizing-for-free-hosting-elixir-deployments-6bfc119a1f44

Hands-on Elixir & OTP: Create a cryptocurrency trading bot - Ep. 16 - Add end-to-end tests

Hi everyone!

I’m extremely happy to announce that I’ve released the 16th episode in the series dedicated to creating a cryptocurrency trading bot in Elixir. In this episode, we will focus on creating end-to-end tests and all the issues that you can see on the way in case of caching the Binance response as well as cyclic dependencies in your umbrella.

https://www.youtube.com/watch?v=UFjGQLNgVUQ&list=PLxsE19GnjC5Nv1CbeKOiS5YqGqw35aZFJ&index=17

PS. Update to the book will follow soon!

Enjoy!

Erebus - Elixir implementation of the envelope encryption paradigm, utilising Google KMS or local keys

Erebus is an implementation of the envelope encryption paradigm. It uses a separate key (called DEK, short for data encryption key) for each encrypted struct. The key is regenerated on each save, making key encryption barely necessary. During each encryption, the DEK is encrypted using the KEK (key encryption key).

The DEK is a symmetric key (Erebus uses AES-256 with Galois mode (AES-GCM) with AEAD), which guarantees both the security and the integrity of the data. The KEK is an asymmetric key – Erebus uses the public key for encryption (for performance reasons when using external key storage) and the private key for decryption. The specific implementation depends on the backend.

https://github.com/venndr/erebus

Dynamic Styles with Phoenix Live View

Exploring (simple) ways to generate dynamic styling for your Phoenix Live View projects

https://iacobson.medium.com/dynamic-styles-with-phoenix-live-view-848ceca261e0

Elixir Wizards S6E6 From Developer to Director of Engineering with Estelle DeBlois

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

Progressive Web Apps & Elixir Phoenix

Elixir Phoenix is one of the best choices out there for building server side web applications. So, how does one build progressive web apps on it?

Find out at https://iotready.co/blog/progressive-web-apps-elixir-phoenix/

Two new life saving functions worth knowing | Elixir 1.12 | tap & then|

New improvements tap/2 and then/2 in Kernel module Elixir 1.12 Artticle Image This article is all about knowing the two newly added macros then/2 and tap/2 from Kernel module.

Here, we cover some real world situations with simple examples where these functions would be useful.

Introduction to Phoenix

Phoenix is the main web framework in the Elixir ecosystem. Learn how it works and what’s special about it.

https://serokell.io/blog/introduction-to-phoenix

LiveView Uploads with CSV Data

A quick intro on using LiveView uploads to upload CSV files.

https://elixircasts.io/phoenix-liveview-uploads-with-csv-files

ThinkingElixir 051: Live Auctions with Alex Loukissas

In episode 51 of Thinking Elixir, Alex Loukissas talks about using Phoenix sockets to build a live auction system. We talk about the situation of flash-mob-like users coming to a system and needing to handle high traffic volumes for shorter durations. We talk about how the Horde library helps solve fun distributed clustering problems, we cover observability tools, how and why companies should support open source development through sponsorships and more!

Podcast Episode

Find popular beam projects on Github and top 100 downloads on hex.pm!

Are you curious about the most popular beam projects on Github and Top 100 downloads on hex.pm ? Find it out on beam-trending

How I develop ogp in Livebook

I developed ogp in last week, it is a very simple library, the joy is when I explore the idea in Livebook and finally made it. Although it is simple, it shows Livebook is an ideal way to write documents and explore ideas.

I write a post to record the development process: https://goofansu.medium.com/livebook-driven-development-50f82e66fbff

Geolocation search input + autocomplete + caching results with Phoenix LiveView

In this post, I want to share with you all the powerful machinery I’ve used to implement a geolocation search input with autocomplete using Here Maps API. With this approach, I’ve also implemented a browser’s geolocation to improve precision, as well as results caching for better performance and cost saving when hitting geolocation third-party backends.

https://dev.to/santiagocardo/geolocation-search-input-autocomplete-caching-results-with-phoenix-liveview-5816

Previous page Next page