Announcing Muzak and Muzak Pro

Muzak is a mutation testing library for Elixir applications, and Muzak Pro is the full-featured version of Muzak designed for business use. You can find more information about Muzak and Muzak Pro in this announcement post: https://devonestes.com/announcing_muzak

Wrote a little helper to use SvgSprites in Phoenix projects.

Published my first contribution to the Elixir community. A small helper to embed SVG Sprites in a convenient way inside templates in a Phoenix project.

https://hex.pm/packages/svg_sprite

Shopping Cart Product Variations

New episode on handling multiple product variations in a shopping cart app.

https://elixircasts.io/shopping-cart-product-variations

Stubs or mocks? Or Mox?

I am working on a project that needs a lot of mocking in the testing department. Here is 100% straightforward introduction to Mox.

ThinkingElixir 021: Tailwind CSS, Alpine.js and LiveView with Patrick Thompson

In episode 21 of Thinking Elixir, we talk with Patrick Thompson about the PETAL stack. The combination of Phoenix, Elixir, Tailwind CSS, Alpine.js and LiveView! Patrick and David help me understand why people are excited about Tailwind CSS, how it works nicely with Alpine.js. Add LiveView to it and I’m sold! Very beneficial and productive stack. Patrick shares his insight and a ton of great resources. Check it out!

Podcast Episode

Optimizing for Free Hosting - Elixir Deployments

This is a guide to launching a Phoenix web app on a free-forever Google Cloud Platform instance, with single-command zero-downtime deploys, using Elixir releases, without hot code reloading.

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

Understanding Associations in Elixir's Ecto

Data modeling in Ecto takes a bit of getting used to. The goal of this post is to give a short but definitive answer to this problem.

https://blog.appsignal.com/2020/11/10/understanding-associations-in-elixir-ecto.html

Messenger App Tutorial with Phoenix LiveView (Updated)

In this tutorial series, freshly updated to include the latest Phoenix LiveView version, Michal explains how to build an instant messaging app with Phoenix LiveView, with live-updated conversations, push notifications and connection failure handling. https://curiosum.dev/blog/elixir-phoenix-liveview-messenger-part-1

Low Hanging Fruits in Frontend Performance Optimization

https://pawelurbanek.com/frontend-performance-optimization

In this blog post, I describe the often-overlooked techniques that can significantly improve your web app’s overall performance.

These tips apply to all the web technologies like Ruby on Rails, NodeJS, Python Django, or Elixir Phoenix. It does not matter if you render an HTML or serve an API consumed by the JavaScript SPA framework. It all comes down to transferring bytes over the HTTP protocol. Frontend performance optimization is all about making this process as efficient as possible.

A Blog and a Website hosted fro $5/m

I built a new blog and a website and I am hosting it on a $5/m droplet. I decided to blog about the process https://andrewbarr.io/posts/website-and-blog-5-dolllars-a-month-p1

10th video in the series about building cryptocurrency trading bot in Elixir

10th video in the series about building cryptocurrency trading bot in Elixir - this time we will fine-tune trading strategy per symbol

we will move hardcoded settings from the leader to the database. We will look into the reasons why we should introduce a new database for the naive app instead of using the datawarehouse application’s database. Lastly, we will update the leader to fetch settings from the database.

Link: https://www.youtube.com/watch?v=45x8ctriYRs&list=PLxsE19GnjC5Nv1CbeKOiS5YqGqw35aZFJ&index=10

Swoosh 1.1 Recipient Protocol

The Recipient Protocol enables you to easily make your structs compatible with Swoosh functions.

defmodule MyUser do
  @derive {Swoosh.Email.Recipient, name: :name, address: :email}
  defstruct [:name, :email, :other_props]
end

Now you can directly pass %MyUser{} to from, to, cc, bcc, etc. See Swoosh.Email.Recipient for more details.

https://hexdocs.pm/swoosh/Swoosh.Email.Recipient.html

🎥 How to Deploy a Phoenix App to Gigalixir in 20 Minutes

This is a quick screencast to demonstrate how easy it is to deploy an Elixir application to Gigalixir, a hosting platform built specifically for Elixir.

https://www.mitchellhanberg.com/how-to-deploy-a-phoenix-app-to-gigalixir-in-20-minutes/

[Live Coding] UX with LiveView: Wiktionary for Language Learning

A new adventure with LiveView, but this time we’ll be doing a small app for language learning.

In the first part, we setup a new LiveView project, added a basic search input and async fetching of Wiktionary articles with debounce, and started working on parser for the articles, using Floki and implementing HTML tree traversal.

https://www.youtube.com/watch?v=xxsHjd0w8es

ThinkingElixir 020: LiveView v LiveWire, Alpine.js with Caleb Porzio

In episode 20 of Thinking Elixir, we talk with Caleb Porzio from the PHP Laravel community where he created LiveWire, a framework inspired by LiveView. We cover some similarities and differences between the two technologies. Caleb also created Alpine.js to address problems common to both LiveWire and LiveView. We also learn about how he went 100% community supported financially. Lots of great insights come out as we learn from him. Check it out!

Podcast Episode

How to test HTTP requests in Elixir with ExVCR

As your app grows so does its integrations base. At some point, you may need to consume API from third-party services. Click here to learn how to test them properly with the exvcr library.

Using Event Sourcing and CQRS with Incident - Part 1

Event Sourcing and CQRS are great design patterns for some domains. The Incident library will help implement them without compromising other parts of your application.

This is the first of a series of posts that I will present the usage of Incident.

Check it out: https://pedroassumpcao.ghost.io/event-sourcing-and-cqrs-using-incident-part-1/

Hornet - library for stress testing

I created a new library which handles long-running stress tests gracefully, spawning the optimal number of processes.

In the post, I’ll describe my motivation, high-level and low-level designs of the library.

https://www.badykov.com/elixir/2020/10/31/hornet/

Nov 3 - Live w/ LiveView and LiveWire feat. Caleb Porzio

Currently scheduled for Nov 3 at 12:30pm Eastern US.

YouTube Live: https://www.youtube.com/watch?v=0iNCrQASviQ

Caleb Porzio, creator of Alpine.js and Laravel LiveWire, and David Bernheisel are going to live code, shoot the breeze, try to create an application, and celebrate each others’ development ecosystems.

David is going to use the Elixir language with Phoenix and LiveView, and Caleb is going to use the PHP language with Laravel and LiveWire (which he created and was inspired from LiveView).

Follow @calebporzio and @bernheisel on Twitter for updates on the livestream.

How to Create a Todo List with Phoenix LiveView

It’s been over a year and a half since I first published this Phoenix LiveView tutorial. Since then a lot has changed with the library. I’ve now updated the entire tutorial to work with Phoenix 1.5 and Phoenix LiveView 0.14. The new generators will let you get up and running a lot faster, and I’ve managed to make the video ten minutes shorter than before. Please let me know what you think!

https://dennisbeatty.com/how-to-create-a-todo-list-with-phoenix-liveview.html

Previous page Next page