When to use field :default in an Ecto schema
What does the :default
option actually do when you set it on a field in the Ecto schema? This blog post makes a dive into this, to understand how this option works, and discuss when to use it.
https://danschultzer.com/posts/when-to-use-field-default-in-ecto
đ„· Dodge Runtime Exceptions with Compile Time Config
Runtime Exceptions are the bane of my existence.
How do we maintain compiler benefits while using behaviors?
With a little bit of compile-time config, thatâs how.
Get the secret: https://johnelmlabs.com/posts/compile-time-config
Flop Part 2
In this episode, weâll build on what we did in part 1 and create a form that filters our albums using Flop.
Blog post: How to Add daisyUI to Your Elixir + Phoenix Project (And Why You Should!)
A blog post with a brief introduction to daisyUI and its features, and how you can integrate it into your Phoenix project with just a few lines of code!
GenServer.reply: Don't Call Us, We'll Call You
A blog post on using :noreply
and GenServer.reply
to allow a GenServer to continue working even while its callers wait for the result of long-running operations.
https://blog.sequin.io/genserver-reply-dont-call-us-well-call-you/
Blog post: Using the OpenAI Functions API to estimate story points
I love using LiveBook to prepare my blog posts! Itâs great to have the code, prose, and visualizations all in one place. While working on this one, I used a simple filesystem cache to avoid unnecessary re-evaluation in cells that were expensive in terms of time and OpenAI credits⊠Iâll have to share that tip in a future post.
https://revelry.co/insights/artificial-intelligence/openai-functions-api-to-estimate-story-points/
New Video on Tasks
New video from Bruce Tate in the updated OTP course. Tasks are short-lived GenServers our code can spin up to handle intermediate jobs concurrently. These genservers donât hold state indefinitely or process loops. Instead, they do a concurrent job and return a result. https://youtu.be/O0JxVTqVV9w
How You Can Help Build the Elixir Development Community, Even if You Don't Use it at Work
This is a fantastic article written by our Launch Scout team member and Principal Engineer, Andrew Ek about supporting and building the Elixir community. https://launchscout.com/blog/supporting-elixir-or-other-communities
Add a Form to a Modal in Phoenix 1.7
In part one of this series, we introduced the core generated components when bootstrapping a new Phoenix project. We used a button and a modal from the core components to lay the groundwork for a âcreate modalâ.
In this post, we will put a form onto the modal and create pets.
https://blog.appsignal.com/2023/08/01/add-a-form-to-a-modal-in-phoenix-1-7.html
Infinite scroll with LiveView's `phx-viewport-bottom`
LiveView 0.19 added phx-viewport-top
and phx-viewport-bottom
to help with infinite scroll
Just tested it and was amazed that a one line change allowed me to remove my entire InfiniteScroll JS hook! đ€Ż
Check it out! đ
Thinking Elixir 162: Elixir to WebAssembly with Orb
Episode 162 of Thinking Elixir. WebAssembly is an interesting technology that feels completely separate from Elixir. Patrick Smith created an Elixir project called Orb, an Elixir DSL for WebAssembly. He also shows how a WebAssembly component can play a meaningful role in a LiveView page! We talk more about what WebAssembly is, the promise for the technology, how it can improve UX, and where Patrick sees real practical applications for Elixir developers.
Blog post: Sorting and Deleting many-to-many assocs with Ecto and LiveView
Explore how to sort and delete many-to-many associations in Ecto using the powerful :sort_param and :delete_param options from cast_assoc, all with the magic of LiveView. https://fly.io/phoenix-files/cast-assoc-sort-and-delete-options/
EPISODE 54: SEAN MORIARITY AND MACHINE LEARNING
Join the BeamRadio panel for a riveting talk with Sean Moriarity on Elixir and machine learning! https://www.beamrad.io/54
How to help build the Elixir development community
https://launchscout.com/blog/supporting-elixir-or-other-communities
Iâve had a number of conversations with folks who want to help the Elixir community, but who donât know where to start or feel intimidated by âjust make an open source libraryâ. This article provides several concrete things people might try, ranging in size/difficulty from âI can spend 10-15 minutes per week reading and sharing what I learnâ to âI can hire Elixir developers!â
Conversational AI: Exploring Product Ideas Leveraging GPT-4 as a Core Component
Curiosity piqued by GPT-4 and its implications for product development? đĄ
Check out the blog post that takes you through potential products that could harness GPT-4âs powerful AI capabilities. đ https://curiosum.com/blog/exploring-product-ideas-leveraging-gpt-4-as-a-core-component
ExUnit. It's an app!
I imagine many think ExUnit just does some scripting to run tests.
But itâs actually a full Elixir app! I think thatâs awesome đ
Check it out đ
Flop Part 1
In episode 167, weâll use the fantastic Flop library to add pagination and sortable tables to an application.
đ„ Build a real time instagram clone with LiveView!
A lotâs changed since Chris McCordâs fantastic LiveView twitter clone video!
I wanted to showcase whatâs happened in LiveView since then, including:
- Live file upload
- Streams
- phx.gen.auth improvements
- LiveView Core Components
See the full video: https://youtu.be/4cnmyQJToKM
Walkthrough of the Adapter Pattern
This blog post discusses a safer way to build the adapter pattern in Elixir applications. It also provides guidance around the when to use and not use the adapter pattern.
https://aaronrenner.io/2023/07/22/elixir-adapter-pattern.html