A Visual Tour of Phoenix's Updated 'magic link' Authentication Code Generator
A visual tour of how `phx.gen.auth` looks to the user, what the core schemas/contexts look like, and I'll sprinkle in some personal commentary as we go.
73 posts.
A visual tour of how `phx.gen.auth` looks to the user, what the core schemas/contexts look like, and I'll sprinkle in some personal commentary as we go.
Took a few moments tonight to record a short demo of RankedVote.app (Project name: Flick) tonight. Flick is a simple Elixir / Phoenix LiveView app that helps capture ranked votes. This project was built to help the …
I had a great time at the CodeBEAM conference. The content was high quality and well presented. Here are some of my notes and links.
This past weekend, I added a feature to Flick (RankedVote.app) where we now present domain-specific `DateTime` values, like `published_at` and `closed_at`, on the live view page using the user's time zone. I thought I'd …
With my side project Flick hitting an MVP milestone and inspired by some conversations during Elixir Book Club, I thought I’d take a moment to document some code aesthetic choices I made in this project.
A review of the technical situation where the `Live` suffix is more than an optional naming pattern.
I have some big news: Starting December 4th, I'll be working full-time as a Senior Elixir Developer for Allovue, where they build web-based accounting software for school districts.
After six months, today I announced ElixirClub's closure.
Had too much fun asking ChatGPT to generate haiku poems and rap songs about programming tools and languages. Here is one about Elixir.
During a recent Elixir Book Club meeting we had a back and forth discussion on a simple code style question: When providing an accessor function inside your domain context, do you prefer a return type of {:ok, noun} || …
ElixirClub is an outcome-oriented community that helps Elixir developers finish their side projects.
I read this back in April of 2021 and thought well of it. It's a good overview of the various testing tools available and how to apply them to Elixir scenarios and patterns (OTP, Ecto, Phoenix).
Not overlooking an opportunity to recap the project, I figure I'll capture a few thoughts to celebrate.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about GenServer while completing the Take-A-Number Deluxe exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Links and Tasks while completing the RPN Calculator Inspection exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Behaviours and Use while completing the Dancing Dots exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Streams while completing the Lucas Numbers exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Exceptions while completing the Stack Underflow exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about With while completing the New Passport exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Errors and Try/Rescue while completing the RPN Calculator exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Alias and Import while completing the Need For Speed exercise.
After working through the intro tutorial and demoing the project to my Apple friends, I figured I'd capture my notes and concerns.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Erlang Libraries and Randomness while completing the Captain's Log exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Protocols while completing the Bread And Potions exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Agent while completing the Community Garden exercise.
· Series: Exercism Elixir Track
Comprehensions while completing the Boutique Suggestions exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Structs while completing the Remote Control Car exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Ranges while completing the Chessboard exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about the File module while completing the Newsletter exercise.
· Series: Exercism Elixir Track
This exercise was a tougher one for me. I cut out a bunch of head scratching but is still ended up being almost an hour. Ugh.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Binaries while completing the File Sniffer exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Enum while completing the Boutique Inventory exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Access Behaviour while completing the Basketball Website exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about PIDs and Processes while completing the Take-A-Number exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Dates and Time while completing the Library Fees exercise.
Some notes and takeaways from my time at ElixirConf.
I'm attending ElixirConf this week, and in preparation, I looked over the session schedule to see what talks are of interest to me. I figured I'd share my notes in case anyone is curious about what's on my mind.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Bitstrings and Tail Call Recursion while completing the DNA Encoding exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Keyword Lists while completing the Wine Cellar exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we ATTEMPT to learn about Regular Expressions while completing the Log Parser exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about If and Nil while completing the Name Badge exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about IO while completing the RPG Character Sheet exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Case and Charlist while completing the German Sysadmin exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Docs and Typespecs while completing the City Office exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Recursion while completing the Bird Count exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Maps and Module Attributes as Constants while completing the High Score exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Pipe Operator and Strings while completing the High School Sweetheart exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Pattern Matching and Tuples while completing the Kitchen Calculator exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Default Arguments, Guards, and Multiple Clause Functions while completing the Guessing Game exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video, we learn about Atoms and Cond while completing the Log Level exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video we learn about Lists while completing the Language List exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video we learn about Floating Point Numbers and Integers while completing the Freelancer Rates exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video we learn about Booleans while completing the Pacman Rules exercise.
· Series: Exercism Elixir Track
In today's Exercism Elixir Track video we learn about Anonymous Functions and Bit Manipulation while completing the Secrets exercise.
Exercism, the popular platform that teaches programming via structured coding exercises, is going to be hosting a free August cohort for their Elixir track. They brand the endeavour an "Exhort".
I recommend avoiding nested aliases since it negatively impacts your ability to text search a project for module usage.
Over the past few days I've been upgrading my projects to Phoenix 1.6 and like any project that comes out of a template-based generator, migrating a Phoenix project to a new version can be a little scary and error prone, …
When we say "parameters" we are usually talking about data coming into the system from external actors; When we say "attributes" we are usually talking about internal Elixir structures.
With schemaless changesets you have the power to hand craft validations for specific web form presentations and define firm boundaries of responsibilities between your web presentation layer and the business-specific …
This post was originally written for my old ElixirFocus blog, and transfer here after its closure. A few months ago I kicked off the next sample project for this website, a team retrospective board built using Phoenix …
This post was originally written for my old ElixirFocus blog, and transfer here after its closure. The following is a collection of resources and suggestions for people looking to acquire full time or project specific …
This post was originally written for my old ElixirFocus blog, and transfer here after its closure. One of our primary day-to-day responsibilities as programmers is to communicate. We need to express our ideas, explain …
This post was originally written for my old ElixirFocus blog, and transfer here after its closure. While browsing the ElixirForum the other day I spotted this question from Dominic which resonated deeply with my own …
This post was originally written for my old ElixirFocus blog, and transfer here after its closure. Phoenix by Example is all about crafting educational content extracted from open source example projects. Today I am …
Webhook might sound like some scary, exotic term but at the end of the day webhooks are nothing more that a web server endpoint configured to receive HTTP POST requests in some agreed upon format. The concern however is, …
Sadly when it comes to dialyzer errors that first error need not be what actually needs to get fixed. Many times you need to fix issues from the middle of the list first and knowing what to fix from that list is a …
With my increasing enjoyment of Elixir and Phoenix I've been anxious to find a teaching outlet using these technologies.
In advance of adding some new broadcast email features to Guildflow I've built some additions to the Swoosh Elixir email library that allow one to use the new broadcast message stream feature of Postmark.
This talk was originally presented at the Philly Elixir Group April meeting. Covers the basics of the language, what it can be used for and why it’s particularly helpful for certain situations. A great talk for …
This talk was originally presented at the Philly Elixir Group February meeting. “Today we are going to talk about time zones, specifically what they are, how Elixir handles them and then talk about some strategies …
Happy Friday everyone. Hope you all had a good and productive week. I myself am feeling pretty good. Went heads down this week and made some project progress for both clients and personal endeavors. Today, Friday, …
After too long of a hiatus, the Philly Elixir Meetup group is rebooting! https://www.meetup.com/PhillyElixir Elixir is a functional programming language that is popular for building web apps and services using a library …
After attending ElixirConf I am as confident as ever that Elixir is a language, community and ecosystem I want to continue to personally invest and participate in. About two years ago I made the decision that I needed to …