The Pragmatic Studio

The Studio Blog

What's up in the Studio?

Phoenix Course Update #2: Live Patching

November 22, 2024

Today we added 2 new modules on updating the URL with filter criteria and live patching. ⚡️

Read On →

Phoenix Course Update #1: Ecto!

November 13, 2024

Today we added 7 new modules all about Ecto: schemas, migrations, queries, and more. 🥁

Read On →

Full-Stack Phoenix Course Now Available In Early Access

November 01, 2024

It's officially launch day! 🚀

Read On →

Full-Stack Phoenix Course Launches This Fall

September 18, 2024

The course is now content complete. Hurray! 🙌

Read On →

Upcoming Phoenix, Ecto, and LiveView Course

March 24, 2024

It's time to let the cat out of the bag! 😸

Read On →

Ruby Course Update and What's Next

September 27, 2023

Our long-time popular Ruby course has been entirely updated for Ruby 3.2! 👩‍🚀

Read On →

Updated Phoenix LiveView Course Officially Launches!

April 06, 2023

We're excited to announce that our updated Phoenix LiveView course is now out of early access! 🥳

Read On →

LiveView Course Update #6: JS Commands, JS Hooks, and Key Events

March 31, 2023

We're on the home stretch of wrapping up early access to our Phoenix LiveView course! Today we added 5 new videos.

Read On →

LiveView Course Update #5: Live Auth, Sessions, and Presence

March 22, 2023

Robust authentication! Multi-user, real-time presence updates! You'd settle for nothing less in today's web apps, right?

Read On →

LiveView Course Update #4: Live Components and Real-Time Updates

March 15, 2023

Today we added 3 new videos on designing Live Components and using Phoenix PubSub to broadcast real-time updates to multiple LiveViews.

Read On →

LiveView Course Update #3: Live Ecto Forms, Validations, Streams, and More!

March 08, 2023

Today we added 5 new videos on live Ecto forms, validations, streams, and toggling state using LiveView.

Read On →

LiveView Course Update #2: Live Nav, Sorting, and Pagination

February 23, 2023

This latest batch of videos takes us through live navigation, sorting, and pagination using LiveView.

Read On →

LiveView Course Update #1: Filtering and Function Components

February 16, 2023

This week's batch of videos are all about filtering and function components.

Read On →

LiveView Course Updated and Available in Early Access

February 07, 2023

Our Phoenix LiveView course has been updated and is now available in early access! This course is as fresh as it gets.

Read On →

Rails 7 Course Update and What's Next

August 15, 2022

Our popular Ruby on Rails course has been entirely updated for Rails 7! 🚇

Read On →

Hotwire Course Officially Launches!

April 19, 2022

We're excited to announce that our Hotwire for Rails Developers course is now out of early access! 🎉

Read On →

New Hotwire Video: Stimulus Targets, Values, and More!

April 06, 2022

Want to invite your favorite JavaScript library to the Hotwire party? We thought so! 🎉

Read On →

More Hotwire Videos

March 17, 2022

We added new videos to our Hotwire for Rails Developers course today! Quite a few of you asked for more examples using Stimulus. So we look at three more Stimulus examples in this week's round of new videos. 🙌

Read On →

Hotwire Course Update: Forms and Lists

February 24, 2022

This latest batch of videos take us through hotwiring the second page of our lil' fishing app. We build on what we've already learned about Turbo Frames and Streams by applying them in new situations with forms and lists.

Read On →

Hotwire Course Early Access is Open

February 02, 2022

Our Hotwire for Rails Developers course is now available in early access! You'll learn exactly how to use Hotwire to improve the speed and responsiveness of a real Rails app. No hype or hand-waving here.

Read On →

We "hotwired" a Rails app. Want to see how?

August 10, 2021

Are you in the same boat we were? You've heard about Hotwire but you're frustrated by not really knowing when, where, why, or how to use it. 😫 We can change that!

Read On →

How To Avoid Getting Electrocuted With LiveView Authentication

June 10, 2021

Have you heard the story about the boilermaker who is hired to fix a streamship boiler system? It's all about knowing where to tap!

Read On →

LiveView Course Update: Modal Components

April 13, 2021

We excited to announce that with this week's release of three new videos on building a custom modal component that our Phoenix LiveView course is now content-complete and out of early access! 🙌

Read On →

LiveView Course Update: File Uploads

March 30, 2021

LiveView now supports file uploads right out of the box. It's an impressive piece of engineering! To really get a handle on file uploads, we built an application that lets you share photos of your desk.

Read On →

LiveView Course Update: Keyboard Interactivity

March 02, 2021

Your first thought might be that key events are mostly useful when building a game with LiveView. But key events are also super handy when building web apps.

Read On →

It's Live: LiveView Pro Package Early Access!

January 14, 2021

Today we opened early access for the Pro Package of our Phoenix LiveView course. 🔥

Read On →

LiveView Pro Course Update: Testing

December 08, 2020

If you've done any browser-based testing, then you're in for a real treat testing LiveViews! 🍫

Read On →

LiveView Pro Course Update: Authentication

November 06, 2020

If you're one of the many folks who've asked us about LiveView and authentication, then this one's for you! 🔒 👍

Read On →

LiveView Pro Course Update: Mapping Demo

October 23, 2020

We've been working on a mapping example that we think really showcases some unique JS interop features of LiveView.

Read On →

LiveView Pro Course Update: Charting Demo

October 16, 2020

Many of you asked for an example of a LiveView that charts data using a JavaScript library, so we've put together a time-series chart that automatically updates every hour.

Read On →

LiveView Course Update: Example #15 and What's Up Next

September 10, 2020

We've arrived at our goal: 15 LiveView examples including LiveComponents. So, what’s up next for us?

Read On →

LiveView Course Update #13: JavaScript Interop

August 25, 2020

In this week's video we invite some JavaScript to the LiveView party. 🎉

Read On →

LiveView Course Update #12: Real-Time Updates

August 04, 2020

The last video ended with a bit of a dilemma. A change in status doesn't automatically show up across browser sessions. Phoenix PubSub to the rescue!

Read On →

LiveView Course Update #11: Toggle State

July 23, 2020

Being able to toggle state saves our LiveView app from being like the Eagles’ song 'Hotel California.'

Read On →

LiveView Course Update #10: Live Validation

July 17, 2020

This week's new video shows how easy it is to have live form validations from backend Ecto changesets.

Read On →

LiveView Course Update #9: Form Create

July 09, 2020

In this week's new video we use Ecto and changesets to dynamically create records. And as a bonus, we use phx-update and temporary_assigns to reduce memory at web scale. 👌

Read On →

Don't Make The Same Mistake Mike Did 😩

June 30, 2020

Instructors of technical topics seem to fall into two categories. They're either like Ferris Bueller's teacher Mr. Lorensax or Doc Emmett Brown. You remember them from the 1980's movies, right?

Read On →

LiveView Course Update #8: Pagination and Sorting

June 17, 2020

Imagine you're running a food bank that receives a lot of donations. A good problem to have, right? You have sooooo many donations in fact you now want to paginate and sort your list.

Read On →

LiveView Course Update #6: Live Navigation

June 03, 2020

While LiveView isn't top of mind right now (nor should it ever be) we'd like to share with you a new video this week on implementing page navigation without a full page reload.

Read On →

LiveView Course Update #4: Filtering

May 13, 2020

The fourth progress report on our upcoming free Phoenix LiveView course. 🔥

Read On →

LiveView Course Update #3: FAQ

May 04, 2020

The third progress report on our upcoming free Phoenix LiveView course. 🔥

Read On →

LiveView Course Is Live!

April 30, 2020

Today we opened early access to our free Phoenix LiveView course. 🔥

Read On →

LiveView Course Update #2: New Releases

April 21, 2020

The second progress report on our upcoming free Phoenix LiveView course. 🔥

Read On →

LiveView Course Update #1: What Is It?

April 14, 2020

The first progress report on our upcoming free Phoenix LiveView course. 🔥

Read On →

What We're Doing While Stuck At Home: Phoenix LiveView

March 31, 2020

While stuck at home this past week, we put the finishing touches on a 4-minute "What Is LiveView?" animation. It's the first video in our upcoming course on Phoenix LiveView. This course will be free! It's our gift to you. 🎁

Read On →

Spring Into Elixir and OTP For Free This Week

March 10, 2020

Sometimes getting started is the hardest part. Take our recent home improvement project for example.

Read On →

4 Videos on Active Storage Added to Rails 6 Course

February 20, 2020

Earlier this month we decided to add Active Storage to our Rails 6 course. We figured on one new video around 10 minutes. Maybe two videos. It turns out we’re bad estimators. 🤦

Read On →

Rails 6 Course Is Complete! 🚀 Special Launch Price

November 07, 2019

Our Rails course is now completely updated for Rails 6! Thank you all for your patience and feedback over the many months it took us to remake this 8-hour course. 😅

Read On →

No Tricks, Just Treats! 4 New Videos Added to Rails 6 Course

October 31, 2019

Many-to-many associations as well as custom scopes and routes were never meant to trick you. But if they do, this week’s four new Rails 6 videos will turn them from tricks into tasty treats! 🎃 🍫

Read On →

5 Videos on Many-to-Many Associations Added to Rails 6 Course

October 24, 2019

Does the thought of correctly modeling rich many-to-many associations leave you a little frightened? 👻

Read On →

3 Videos on Authorizing Users Added to Rails 6 Course

October 10, 2019

We released three new Rails 6 videos for you today!

Read On →

4 Videos on Authenticating Users Added to Rails 6 Course

September 26, 2019

When you sign in to a web app, how does it verify your identity and then remember that you’re signed in as you navigate from page to page? 🤔

Read On →

Rails 6 Videos Updated to Use form_with

September 19, 2019

Releasing courses as early access is our way of trying to get the latest updates into your hands as quickly as possible. So while early-access courses aren’t initially 100% complete, our hope is that the early modules give you something to chew on while we incrementally finish up the remaining videos.

Read On →

3 Videos on User Accounts Added to Rails 6 Course

September 05, 2019

Happy September to you! 🍁 We have three new Rails 6 videos for you today.

Read On →

Special Launch Price 🚀 Full-Stack GraphQL Course Is Complete!

August 29, 2019

Today we released the final videos in our Unpacked: Full-Stack GraphQL course! If you’ve been waiting until this course was complete to snag your copy, your wait is over!

Read On →

Rails 6 Is Out, and 3 New Videos on Nested Resources

August 23, 2019

It’s official, Rails 6 is out and ready for you! 🎉

Read On →

2 New Videos on One-to-Many Associations Added To Rails 6 Course

August 15, 2019

One of the most powerful features of Rails is the ability to create relationships between models and represent those relationships in a database.

Read On →

2 New Videos On Reviews and Reservations Added To Full-Stack GraphQL Course

August 08, 2019

As we get deeper into August, it’s hard not to miss that back-to-school season is in full swing. 🤓 📚 And we’re ready for it!

Read On →

2 New Videos Added To Full-Stack GraphQL Course

July 18, 2019

As the heat of summer settles in 🏝, we start on the capstone of our Unpacked: Full-Stack GraphQL course. Two new videos for you this week! Ahhhh…

Read On →

4 New Videos On Authentication Added To Full-Stack GraphQL Course

July 09, 2019

In the Unpacked: Full-Stack GraphQL course, we’ve been dancing 🕺 around the need for authentication in the frontend app. But now we’re ready to dive into form-based mutations and caching smartly!

Read On →

3 New Videos on Validations Added To Rails 6 Course

July 09, 2019

In the Rails 6 course, our forms currently let in bad data. Yikes! It’s high time we ensure the integrity of our application data and give notice to our users when things go right as well as when things go wrong. 💥

Read On →

2 New Videos On Caching and Searching Added To Full-Stack GraphQL Course

June 27, 2019

As we move into summertime here 🍉 we also move into the 4th hour of our Unpacked: Full-Stack GraphQL course. Sweet!

Read On →

2 New Videos Added To Rails 6 Course

June 18, 2019

The app we’re building in our step-by-step Rails 6 course needs two additional features: a custom query and a new database migration. How do we do this? Find out in the two new videos this week! 🎥

Read On →

3 New Videos On Apollo Client Added To Full-Stack GraphQL Course

June 11, 2019

The backend app in our Unpacked: Full-Stack GraphQL course is now complete. Yeehaw! 🤠

Read On →

3 New Videos Added To Rails 6 Course

June 06, 2019

Last week in our Rails 6 course we saw that Rails has a whole bunch of conventions to help you create robust and friendly forms with minimal code.

Read On →

New Video On Subscriptions Added To Full-Stack GraphQL Course

May 30, 2019

In the Unpacked: Full-Stack GraphQL course, we currently have all the queries and mutations in place. In this week’s video we cap off the API with a subscription. Drawing on the power of Phoenix channels, Absinthe provides unparalleled support for GraphQL subscriptions.

Read On →

2 New Videos On Forms Added To Rails 6 Course

May 30, 2019

In the Rails 6 course, next up we need a form to easily edit a resource’s details. Rails has a whole bunch of conventions to help you create robust and friendly forms with minimal code.

Read On →

Early Access Opens to the Rails 6 Course

May 14, 2019

Rails 6 is here: the first release candidate rolled off the track just two weeks ago. And we’ve got you covered!

Read On →

4 New Videos Added To Full-Stack GraphQL Course

May 09, 2019

We hope you’ve found the first 13 modules helpful in our recently-released Unpacked: Full-Stack GraphQL course!

Read On →

3 New Videos On Dataloader Added To Full-Stack GraphQL Course

April 23, 2019

A special thanks to all of you who have taken advantage of early access for our Unpacked: Full-Stack GraphQL course! Your feedback is priceless and we love hearing how the first 10 modules have been a helpful springboard for you.

Read On →

Early Access Opens to the Full-Stack GraphQL Course

April 12, 2019

Here at Pragmatic Studio HQ, we’ve received one very consistent piece of feedback these last few months: “I’m working on a full-stack app right now using GraphQL. Please release your course already!”

Read On →

New Tutorial: How To Setup GraphQL in a Phoenix Application

April 10, 2019

After watching last week’s video on Absinthe, you may be wondering: How do I setup GraphQL in a Phoenix application?

Read On →

New Tutorial: What Is Absinthe?

April 04, 2019

From the previous three tutorials (part 1, part 2, part 3) you now know that a GraphQL API is a special kind of API that supports queries, mutations, and subscriptions. These are defined by a schema and GraphQL clients can introspect that schema.

Read On →

New Tutorial: What Does a GraphQL API Know?

March 21, 2019

From our previous GraphQL tutorials, you now know that a GraphQL API is a special kind of API that supports queries, mutations, and subscriptions.

Read On →

New Tutorial: What Can GraphQL Do?

February 20, 2019

In our previous tutorial we showed you how we think of GraphQL, but we only told you part of the story! There’s much more to GraphQL.

Read On →

New Tutorial: What Is GraphQL?

February 06, 2019

GraphQL is an expressive query language for your API that blah, blah, blah….😴

Read On →

Complete Unpacked Single-Page App Course Launches!

January 09, 2019

Today we released the final three videos in our Unpacked: Single-Page App course! If you’ve been waiting for this video series to be complete before buying your copy, well, your wait is over!

Read On →

3 New Videos Added To Unpacked Single-Page App Course

December 19, 2018

Last week in our Unpacked: Single-Page App course we began exploring how Vuex stores state in our application. This week we have 3 more videos for you! 🐟

Read On →

2 New Videos Added To Unpacked Single-Page App Course

December 10, 2018

We hope you found the first five modules in the Unpacked: Single-Page App course to be helpful. Next up, we have two new videos that begin to unpack the Vuex store!

Read On →

Early Access Opens to the Unpacked Single-Page App Course

December 04, 2018

Single-page applications (SPAs) are cropping up everywhere across the landscape of modern web app development. But building a solid SPA can be tricky: the frontend JavaScript and backend API need to work in harmony.

Read On →

New Tutorial: The Vue CLI

November 19, 2018

In this 10-minute free tutorial, we dive into how we used the Vue Command Line Interface (CLI) to generate the initial app and serve it up during development. By walking through the generated app, you’ll feel confident about using the Vue CLI to create, build, and serve your own apps.

Read On →

New Tutorial: Using Rails Session Cookies for API Authentication

September 05, 2018

Over the summer, we explored the good, the bad, and the ugly of designing a Vue.js front-end web application (an SPA) with a Rails API backend.

Read On →

Elixir/OTP Course Now Has Subtitles!

August 10, 2018

🎉 Our Elixir/OTP course now has English subtitles on all 36 videos!

Read On →

Apple Pay Now Supported

June 07, 2018

We now support Apple Pay so you can easily purchase courses with just a touch of your finger!

Read On →

Vue.js Frontend Added To Multi-Player Bingo Course

May 08, 2018

Starting today, the frontend of Unpacked: Multi-Player Bingo now comes in two flavors: Elm and Vue.js. That’s right, we’ve added 4 new videos specific to Vue.js. And if you already own the course, they’re included for FREE! 🎉

Read On →

Complete Unpacked Multi-Player Bingo Course Launches!

April 19, 2018

Today we released the final 4 videos in our Unpacked: Multi-Player Bingo course! If you’ve been waiting for this video series to be complete before buying your copy, well, your wait is over!

Read On →

4 New Videos on Elm Added To Unpacked Multi-Player Bingo Course

April 12, 2018

This week we dive into the third part of our Multi-Player Bingo game: the Elm app. From how our Elm code gets compiled and kicked off to talking on Phoenix channels, we unpack it all in today’s 4 new videos!

Read On →

New Phoenix Presence Video Added To Unpacked Multi-Player Bingo Course

March 29, 2018

It is presently a very good time to jump into our Unpacked: Multi-Player Bingo course. 😉 All of the videos “unpacking” the Phoenix app are released and ready for you!

Read On →

New Phoenix Channel Video Added To Unpacked Multi-Player Bingo Course

March 22, 2018

It’s time to explore the juicy part of the Phoenix app in our Unpacked: Multi-Player Bingo course!

Read On →

3 New Videos Added To Unpacked Multi-Player Bingo Course

March 15, 2018

We hope you found the first 6 modules helpful in the Unpacked: Multi-Player Bingo course!

Read On →

Early Access Opens to the Unpacked Multi-Player Bingo Course

March 08, 2018

By combining the concurrency of Elixir and real-time streaming in the Phoenix web framework, you can build seriously cool applications!

Read On →

Complete Elixir/OTP Course Launches!

September 27, 2017

Today we released the final 3 modules in our Developing With Elixir/OTP course! If you’ve been waiting for this video series to be complete before buying your copy, your wait is over!

Read On →

Another GenServer Module Added To Elixir/OTP Course

September 20, 2017

Writing a new server process that performs background work on a periodic interval let’s us explore different ways to leverage all that GenServer has to offer. This week’s new module #27 Another GenServer of our Elixir/OTP course shows you how!

Read On →

GenServer Module Added To Elixir/OTP Course

September 13, 2017

It’s now time to use Elixir’s official GenServer behavior in our application! All the work you put into the last two modules of the Elixir/OTP course is absolutely going to pay off right here, right now.

Read On →

Refactor Toward GenServer Module Added To Elixir/OTP Course

September 06, 2017

At this point in our Elixir/OTP course, we see two types of code in our client-server interaction:

Read On →

Stateful Server Processes Module Added To Elixir/OTP Course

August 30, 2017

So far in our Elixir/OTP course we’ve been looking primarily at short-lived processes.

Read On →

Asynchronous Tasks Module Added To Elixir/OTP Course

August 16, 2017

With several one-off asynchronous tasks now running and getting results at a later time, we’re starting to see a definite pattern emerging. In fact, running functions (or tasks) in a short-lived process is so common that Elixir provides a really helpful abstraction: the Task module.

Read On →

Sending and Receiving Messages Module Added To Elixir/OTP Course

August 09, 2017

So if Elixir processes are isolated and run independently, how exactly do they communicate? Find out in today’s new module of our Elixir/OTP course: #22 Sending and Receiving Messages.

Read On →

Processes Module Added To Elixir/OTP Course

July 26, 2017

Concurrency and parallelism. Fault tolerance and isolation. Spawning and blocking. What does it all mean!? 🤔

Read On →

Web Sockets Module Added To Elixir/OTP Course

July 19, 2017

It’s summertime here and picking the right tool for the job is crucial to having more time for outside fun in the sun. 😎

Read On →

More Posts →