Alchemist Camp Episodes

Title Length Topics
Fine-grained authentication restrictions in LiveViews (0 comments) 7:45
Phoenix
LiveView
Scopes
Auth
Pro Scopes: Controlling access and conditional rendering (0 comments) 17:48
Auth
LiveView
Scopes
Phoenix
A first look at Phoenix scopes (0 comments) 11:38
Auth
Scopes
Phoenix
A very first look at Phoenix 1.8 (2 comments) 2:21
DaisyUI
Phoenix
Disabling logs for a route (1 comment) 5:12
logging
Phoenix
Phoenix JSON API: Generating code for CRUD actions (0 comments) 15:29
JSON
API
Phoenix
Migrating Phoenix to esbuild, with Tailwind, SCSS and Font Awesome (0 comments) 16:40
esbuild
Tailwind
Setup
Fonts
Vite
Phoenix
Phoenix JSON API: Rendering many (0 comments) 8:48
API
Phoenix
JSON
Phoenix JSON API: Getting started (0 comments) 10:40
API
JSON
Phoenix
Pro Scheduling jobs with Quantum (or just GenServer) (0 comments) 13:58
Quantum
GenServer
Getting started with WebSockex (0 comments) 12:37
Libraries
Sockets
Upgrading to Elixir 1.12 and OTP 24 with ASDF (0 comments) 7:06
Upgrade
ASFD
Ecto build_assoc and put_assoc (1 comment) 13:43
Beginner
Associations
Ecto
Ecto changesets, validations and constraints (0 comments) 13:12
Changesets
Validations
Beginner
Ecto
Ecto changesets: change vs cast (0 comments) 10:09
Changesets
Beginner
Ecto
Naming things in an Ecto project (0 comments) 8:00
Ecto
Naming
Beginner
Ecto many_to_many and joining through (0 comments) 21:00
Beginner
Associations
Ecto
Ecto belongs_to and has_many (3 comments) 16:39
Beginner
Associations
Ecto
Configuring IEx for working with Ecto (0 comments) 5:04
Beginner
IEx
Ecto
Some useful Ecto functions (0 comments) 13:32
Beginner
Queries
Ecto
Our first Ecto schemas (0 comments) 16:46
Beginner
Schemas
Ecto
Schema-less Ecto Queries (0 comments) 25:30
Beginner
Queries
Ecto
Creating Ecto Migrations (0 comments) 21:08
Beginner
Migrations
Ecto
Configuring a new project with Ecto (0 comments) 12:12
Setup
Ecto
Config
Beginner
Ecto Overview: The Repo (0 comments) 4:58
Active Record
Beginner
The Repo
Ecto
Pro More Absinthe mutations (0 comments) 17:02
Mutations
Ecto
GraphQL
Absinthe
Pro Our first Absinthe mutation (0 comments) 11:01
Absinthe
Ecto
Mutations
GraphQL
Pro Absinthe project organization (0 comments) 17:59
GraphQL
Absinthe
Organization
Pro The Problem with deeply nested queries (0 comments) 9:45
Absinthe
Associations
Resolvers
GraphQL
Pro Absinthe adding a many-to-many (0 comments) 17:14
Absinthe
Many-to-Many
GraphQL
Pro Absinthe scalars and enums (0 comments) 14:05
GraphQL
Enums
Scalars
Absinthe
Pro Querying single items with Absinthe (0 comments) 11:53
Schema
GraphQL
Associations
Pro Our first Absinthe resolvers (2 comments) 17:54
GraphQL
Associations
Resolvers
Absinthe
Pro Our first Absinthe schema (2 comments) 7:07
GraphQL
Schema
Absinthe
Pro Exploring with GraphiQL (1 comment) 12:00
GraphiQL
GraphQL
Pro GraphQL Overview (0 comments) 4:22
Overviews
GraphQL
Absinthe GraphQL Series Intro (0 comments) 2:43
GraphQL
Planning
Absinthe
Simple Phoenix LiveView App: Series Complete! (0 comments) 14:37
LiveView
Walk-throughs
Reactor
EEx
Phoenix
Passing redirect URLs + fragments (0 comments) 17:42
Reactor
Views
Phoenix
Simple Phoenix LiveView app: Embedded comments form (0 comments) 16:42
Phoenix
EEx
Reactor
Commenting
Showing comment counts on the index page (Simple Phoenix LiveView App) (0 comments) 10:11
Commenting
Reactor
Ecto
Phoenix
Simple Phoenix LiveView App: planning comments (1 comment) 10:00
LiveView
Phoenix
Walk-throughs
Reactor
Commenting
How I add auth to Phoenix LiveView apps (0 comments) 19:32
LiveView
Walk-throughs
Phoenix
Auth
Reactor
Simple Phoenix LiveView App: Upgrade LiveView to v0.12.1 (0 comments) 8:20
Reactor
Phoenix
LiveView
Upgrade
Simple Phoenix LiveView App: The Podcast Listing Page (0 comments) 8:32
Phoenix
EEx
Styling
Reactor
Simple Phoenix LiveView App: Markdown show notes (1 comment) 20:33
Ecto
Phoenix
Markdown
Reactor
Regex
Simple Phoenix LiveView App: Fonts, logos and sass (0 comments) 22:06
Ecto
Webpack
Reactor
Phoenix
Fonts
Simple Phoenix LiveView App: Upgrade LiveView to v0.8.1 (0 comments) 18:00
Reactor
Forms
Upgrade
LiveView
Phoenix
Simple Phoenix LIveView App: Show & Edit Pages (0 comments) 19:29
PubSub
LiveView
Reactor
Phoenix
Simple Phoenix LiveView App: PubSub & Index (4 comments) 20:58
PubSub
Phoenix
LiveView
Reactor
Simple Phoenix LiveView App: Scaffolding Users & Content (0 comments) 17:04
Generators
Reactor
Seeds.exs
Ecto
Phoenix
Simple Phoenix LiveView App: Socket Session info, CSRF & .leex (0 comments) 7:47
Reactor
CSRF
Sockets
LiveView
Phoenix
Simple Phoenix LiveView App: Upgrade to LiveView 0.5.1 (0 comments) 2:06
LiveView
Phoenix
Reactor
Upgrade
Simple Phoenix LiveView App: Planning DB Schemas (2 comments) 18:04
Meta
Phoenix
LiveView
Contexts
Planning
Reactor
Simple Phoenix LiveView App: Setup (4 comments) 23:38
Reactor
Setup
LiveView
Phoenix
Pro Comment counts with abstract schemas (3 comments) 26:59
Aggregates
CMS
Abstractions
Ecto
Pro Rewriting Ecto Queries (0 comments) 9:00
Performance
Ecto
The .iex.exs file (0 comments) 11:54
Dev Tools
Setup
IEx
Stream.iterate and Advent of Code Day 1 (0 comments) 15:15
Streams
IEx
Advent of Code
How to generate a Pid-File for an Elixir app (0 comments) 4:16
Unix
Systemd
Deployment
Pid-File
An Ueberauth Oauth 2 Walkthrough (1 comment) 21:40
Oauth
Walk-throughs
Phoenix
Ueberauth
Pro Integration testing Elixir with Wallaby Part 2 (0 comments) 11:03
Integration Testing
Webdriver
Wallaby
Testing
Integration testing Elixir with Wallaby (0 comments) 11:04
Integration Testing
Wallaby
Testing
Pro New cards, JSON APIs and Ajax (Trello Clone P5) (0 comments) 36:23
Mellow
Axios
JSON
Ajax
Vue
Phoenix
Pro Styling cards and todo lists (Trello clone P4) (0 comments) 18:37
Sass
Vue
Mellow
Phoenix
Setting up Vue and SASS (Trello clone P3) (3 comments) 18:11
Vue
Mellow
Webpack
Phoenix
Sass
Finishing the scaffold (Trello clone P2) (0 comments) 26:17
Mellow
Testing
Phoenix
Generators
Fixing generated Phoenix tests (Trello clone P1) (0 comments) 40:11
Generators
Testing
Mellow
Phoenix
Elixir TDD with ExUnit (interview / toy problem) (0 comments) 42:26
TDD
Fibonacci
ExUnit
Testing
Q&A: What do you think of Absinthe GraphQL? (0 comments) 7:39
GraphQL
Absinthe
Q&A
Q&A: How do you update relations in Phoenix forms? (0 comments) 6:45
Phoenix
Ecto
Forms
Q&A
Q&A: How do you deploy Elixir apps? (0 comments) 13:08
CMS
Phoenix
Deployment
Q&A
ASDF, the version manager for all your languages (0 comments) 11:23
Setup
ASDF
Pro Phoenix 1.4 Chat Server: Part 9 (0 comments) 19:52
CI/CD
Deployment
ChitChat
Gitlab
Phoenix
Pro Phoenix 1.4 Chat Server: Part 8 (0 comments) 24:40
Deployment
ChitChat
Nginx
Edeliver
Phoenix
Pro Phoenix 1.4 Chat Server: Part 7 (0 comments) 33:48
ChitChat
Phoenix
Sockets
Channels
Auth
Presence
Pro Phoenix 1.4 Chat Server: Part 6 (0 comments) 14:10
Auth
ChitChat
Channels
Sockets
Phoenix
Phoenix 1.4 Chat Server: Part 5 (0 comments) 23:29
Phoenix
ChitChat
Channels
Sockets
EEx
Phoenix 1.4 Chat Server: Part 4 (0 comments) 25:57
Phoenix
Plug
Auth
ChitChat
Phoenix 1.4 Chat Server: Part 3 (0 comments) 23:17
Phoenix
Login
ChitChat
Sessions
Phoenix 1.4 Chat Server: Part 2 (0 comments) 30:13
Ecto
Mix
ChitChat
Associations
Phoenix
Phoenix 1.4 Chat Server: Part 1 (4 comments) 9:35
Sass
ChitChat
Webpack
Phoenix 1.4
Phoenix 1.4 Chat Server Series Overview (0 comments) 3:01
Planning
Phoenix 1.4
Autogenerate Elixir Documentation (1 comment) 8:21
Documentation
Fibonacci
Testing
Mix
Pro Zero Dependency Pagination in Phoenix (Part 2) (0 comments) 23:44
Pagination
StatWatch
EEx
Phoenix
Zero Dependency Pagination in Phoenix (Part 1) (2 comments) 29:44
StatWatch
Pagination
Phoenix
Ecto
Deploying a Phoenix app to Heroku (0 comments) 12:00
Heroku
Deployment
Phoenix
Pro Tracking signup referrals with Phoenix (0 comments) 25:16
Phoenix
Marketing
Ecto
Analytics
Parsing referral codes (Phoenix Framework) (0 comments) 15:01
Marketing
Meta
Analytics
Phoenix
Spawning linked processes in Elixir (0 comments) 9:58
OTP
Processes
Pro Process ping-pong (0 comments) 10:05
Processes
OTP
Controlling one process with another (0 comments) 7:17
Solutions
Processes
OTP
The simplest Elixir process example (0 comments) 11:48
Processes
OTP
Scheduling recurring jobs with a GenServer (0 comments) 6:06
OTP
GenServer
Very customized Phoenix form helpers (0 comments) 35:00
Ecto
Phoenix
Forms
Caching DB requests with ETS (0 comments) 34:12
OTP
ETS
Performance
Phoenix
CMS
Pro Simple performance tweaks for Phoenix (0 comments) 18:18
Phoenix
Meta
Performance
Extending a CMS with markdown and regex (0 comments) 34:07
Meta
Automation
Regex
CMS
Pro Implementing the Enumerable Protocol (0 comments) 25:21
Protocols
Pattern Matching
Enum
Pro Deriving an Elixir Protocol (0 comments) 9:17
Poison
Protocols
Elixir Protocols: a gentle introduction (0 comments) 11:06
Pattern Matching
Protocols
Pro Setting up Brotli on Nginx or Phoenix (0 comments) 9:05
Performance
Brotli
Nginx
Phoenix
Forwarding remote IP to Phoenix (0 comments) 8:20
Analytics
Phoenix
Encoding Ecto Structs into JSON (0 comments) 6:17
Poison
JSON
Ecto
Pro Page specific titles, meta and tags in Phoenix (0 comments) 16:06
SEO
EEx
CMS
Phoenix
Pro Listing multiple types of content in a page template (0 comments) 30:35
Many-to-Many
Abstractions
Ecto
Meta
CMS
Pro Graceful 404 pages in Phoenix (0 comments) 6:10
ErrorView
Phoenix
Editing topic tags as a list in a Phoenix form (4 comments) 32:08
Phoenix
Ecto
Forms
Meta
CMS
Making a unified tagging system with many to many ecto relations (0 comments) 57:35
CMS
Meta
Abstractions
Tagging
Many-to-Many
Ecto
Q&A: Configuring your editor, plugins and code formatter (Elixir 1.6+) (0 comments) 10:08
Plugins
Formatter
Q&A
VS Code
Server side event tracking with Keen.io (Phoenix framework) (0 comments) 24:23
Event Tracking
Analytics
Phoenix
Meta
Planning schemas and contexts for a content site (0 comments) 11:29
Planning
Contexts
Phoenix 1.3
CMS
Meta
Sass Brunch setup with Phoenix (0 comments) 12:01
Sass
Phoenix
Brunch
Using heatmaps and surveys to drive content production (0 comments) 13:23
Growth
Surveys
Heatmaps
Meta
Hotjar
Form inputs for array Ecto types in Phoenix (1 comment) 35:11
Lists
Forms
Phoenix
Ecto
Pretty URLs in Phoenix using names or slugs (0 comments) 8:12
Permalinks
URL
Phoenix
Protocols
Q&A: Has Rails 5 fixed its chat and web sockets problems? (0 comments) 7:59
Chat
Web Sockets
Rails
Q&A
Automated deployment with Distillery and Edeliver (0 comments) 56:35
Ubuntu
Releases
Deployment
Edeliver
Postgres
Setting up Nginx blocks and Let's Encrypt HTTPs certs (0 comments) 31:27
HTTPS
Nginx
Digital Ocean
Let's Encrypt
DNS
Meta
Setting up Ubuntu and Nginx on Digital Ocean (0 comments) 12:56
Ubuntu
Digital Ocean
Nginx
SSH Keys
Firewall
Windows Developer mode and Ubuntu (Virtual Box) (0 comments) 14:45
Windows
Virtual Box
Ubuntu
Meta
Pain
Permalinks and an admin auth plug for StatWatch (0 comments) 53:11
Ubuntu
Plug
StatWatch
Styling
Auth
Permalinks
Password hashing and Ecto associations for StatWatch (0 comments) 73:38
Comeonin
Auth
Pain
StatWatch
Ecto
Bcrypt
Adding sessions and logins to StatWatch (0 comments) 42:15
Sessions
Auth
Login
StatWatch
From backend OTP app to Phoenix app (0 comments) 49:30
OTP
Phoenix 1.3
Supervision
Contexts
StatWatch
Planning a Phoenix web app for StatWatch (0 comments) 12:08
Planning
Phoenix 1.3
Contexts
StatWatch
Launching StatWatch.me (side project) (0 comments) 6:06
Side Projects
Launch
Meta
StatWatch
Building the alchemist camp anew (0 comments) 5:31
Books
Phoenix
Meta
Q&A: Why did you choose Elixir as your teaching topic? (0 comments) 11:17
Q&A
Business
Strategy
Meta
Q&A: How the Elixir/Phoenix experience compares to Rails or Node (0 comments) 6:41
Q&A
Node
Rails
Phoenix
Web Frameworks
Using Elixir macros to simplify our views (0 comments) 26:57
Views
Web Frameworks
Meta
Macros
Creating a DSL for our router (0 comments) 18:00
Router
Macros
Web Frameworks
Meta
Creating controllers for an Elixir web server (0 comments) 32:04
Web Frameworks
Macros
Controllers
Meta
Pro Putting an Elixir OTP app in our Elixir OTP app (0 comments) 10:42
Meta
Mix
StatWatch
OTP
Catching EEx template errors and displaying them on the page (0 comments) 8:06
Error Handling
Meta
EEx
Cowboy server
Adding EEx templates to a Cowboy web server (0 comments) 13:49
Plug
Meta
Web Frameworks
Cowboy Server
EEx
A minimal Plug.Conn clone to handle 404s (0 comments) 9:26
Plug
Web Frameworks
Meta
Cowboy Server
Building a router and handling static assets (4 comments) 25:53
Meta
Router
Cowboy Server
Web Frameworks
Deploying a simple Elixir app with Nanobox (0 comments) 13:37
Nanobox
Deployment
Meta
Digital Ocean
Making a site with just the Cowboy web server (0 comments) 24:35
Web Frameworks
Meta
Erlang
Cowboy Server
Flattening lists recursively in Elixir (0 comments) 18:53
Toy Problems
Tail Recursion
Solutions
Lists
Inserting one Ecto schema at a time (0 comments) 7:00
Ecto
Associations
Creating Ecto associations between profiles and stats (0 comments) 29:34
Schemas
StatWatch
Ecto
Creating belongs_to and has_many Ecto associations (5 comments) 9:00
Ecto
Associations
Adding Ecto and a Postgres database to StatWatch (2 comments) 23:31
Migrations
StatWatch
Ecto
Postgrex
Schemas
Mutli-app
Making bitmaps with color palettes (0 comments) 28:58
Bitstrings
File Formats
Images
Solutions
Binaries
Constructing bitmap files with Elixir (1 comment) 34:31
Binaries
Images
Comprehensions
File Formats
Querying Alexa Site API and parsing XML (3 comments) 11:29
Meta
XML
SweetXML
APIs
StatWatch
A worker to log stats from a YouTube’s API (4 comments) 28:35
StatWatch
APIs
HTTPoison
JSON
Meta
Threatened by rooks, bishops and knights (1 comment) 14:04
Games
Solutions
Xor
Filters
Generators
Comprehensions
Pro Finishing Tictac and making a CLI (2 comments) 47:48
HoF
CLI
Games
State Machines
Pattern Matching
Modelling the memory game (0 comments) 7:44
Games
State Machines
Game state machine (Tictac Part 2) (0 comments) 25:27
Pattern Matching
Structs
Games
State Machines
Whiteboarding the Tictac state machine (0 comments) 6:18
State Machines
Games
AFK
Deck generation, Pythagorean Triplets and more (0 comments) 13:01
Sigils
Codepoints
Filters
Generators
Comprehensions
Game board (Tictac Part 1) (3 comments) 28:37
Structs
With
Comprehensions
Games
Caboose, a simple Unix tail clone (3 comments) 31:53
Escript
Tail
CLI
Command line applications with escript (0 comments) 15:18
Escript
CLI
TDD
Pro Using mix to modularize and add tests (1 comment) 16:02
Testing
Mix
HoF
Fibonacci
Alchemy Markdown (3 comments) 41:09
Regex
Testing
Markdown
Mix
Extending Mini Markdown (1 comment) 13:06
Regex
Markdown
Mini Markdown (3 comments) 21:59
Regex
VS Code
Markdown
Fibonacci with tail recursion (0 comments) 16:00
Tail Recursion
Timer
Fibonacci
Solutions
Minimal Todo List Part 2 (3 comments) 46:53
CLI
CSVs
Maps
Todo List
IO
The Image Snatcher (1 comment) 7:23
Dev Tools
IO
File
Solutions
Command line
Minimal Todo List Part 1 (8 comments) 60:25
Enum
Todo list
Maps
Ridiculous
Pattern matching
CLI
Word Count ULTIMATE EDITION! (5 comments) 11:10
Regex
Solutions
IO
File
Enum
CLI
Lesson 2: Word Count (7 comments) 19:44
Regex
IO
File
Elixir scripts
CLI
Solution 1: The Greeter (4 comments) 8:12
Solutions
IO
Lesson 1: The guessing game (11 comments) 31:10
Setup
IO
Math
Games
Binary search
Welcome to Alchemist Camp (6 comments) 15:17
Meta
Welcome