Andrew Timberlake Andrew Timberlake

Hi, I’m Andrew, a programmer and entrepreneur from South Africa,
building Mailcast for taking control of your email.
Thanks for visiting and reading.


Render heex templates directly from a Phoenix controller

Sometimes a controller and a view and a template is just too much. Here's a way to embed heex templates within your Phoenix controllers.

7 Oct 2024

How to get a letsencrypt dev certificate on a mac

Get a development SSL certificate from LetsEncrypt for local development.

3 Sep 2024
dev, mac,

How to use the datetime-local input type with timezone in a Phoenix LiveView

How to get a users timezone when using the datetime-local input type in a Phoenix LiveView.

21 Aug 2024

How to respond to channel broadcasts in a Phoenix LiveView app layout (global broadcasts)

How do you respond to channel broadcasts in a Phoenix LiveView app layout? You need a way to subscribe across all LiveViews.

17 Jul 2024

How to update URL params in a Phoenix LiveView

How do you push an update to a single query string param without changing other params in the url or even being aware of the url or its query string. I’ll explain how to build a filter toggle component and tag list component that maintain state in the query string while updating state in the LiveView.

7 Jun 2024

Use Font Awesome icons in Phoenix

Phoenix comes with Heroicons built-in. If you want to change to using another icon library, like Fontawesome, it can be done quite easily with a few small changes. This post will show you the steps needed so the <.icon /> component works with Fontawesome.

12 Feb 2024

Add a tooltip component to Phoenix

How to add a tooltip component to your Phoenix app using PopperJS. Learn how to connect client-side javascript when elements are added and removed from the DOM.

12 Sep 2023

Add utility functions to iex

How to create short functions that can be called directly in your Elixir iex session

2 Aug 2023

Why code_change wouldn’t work on my GenServer

In Elixir code_change/3 is the callback that allows you to upgrade state in a GenServer process during a hot-code upgrade—but it didn’t work for me. Understanding how the erlang release handler finds processes to update helped me to figure out what was wrong and how to fix it.

3 Jul 2023

No reply?

A short rant against no-reply@ email addresses.

6 Feb 2023

Next page