Skip to main content
thoughtbot thoughtbot
  • Live on Twitch!

    thoughtbot is livestreaming

    Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

  • Case Studies
  • Blog
  • Let’s Talk
Live on Twitch!

thoughtbot is livestreaming

Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

Let’s get started!
View all Services
Development
  • Ruby on Rails
  • Hotwire
  • AI and Machine Learning
  • Maintenance
  • Mobile
Design
  • Discovery Sprints
  • UX, UI, and Product Design
  • Design Systems
Product
  • MVP
  • Product Management
  • Accessibility
Team and Processes
  • Team Augmentation
  • Fractional Leadership
View all Services
View all Resources
Development
  • Tech Leadership Resources
  • Open Source
  • Books
  • The Bike Shed Podcast
  • Live Streaming on YouTube
  • Conference Talks
The business of great software
  • Playbook
  • Purpose Built
  • Giant Robots Smashing Into Other Giant Robots Podcast
  • Design Sprint Guide
  • Live Streaming on LinkedIn
View all Resources

Elixir Articles

Written by thoughtbot, your expert partner for design and development.

    • All Topics
    • Design
    • Development
    • Product
    • More topics
  1. Supercharge Your Elixir and Phoenix Navigation with vim-projectionist

    Toggle between alternate files, edit files by type, and create files with templates — all with vim-projectionist. If you’ve never used it, you’re in for a treat.

    German Velasco
    November 18, 2019
    • Vim
    • Elixir
    • Phoenix
  2. Mocking and faking external dependencies in elixir tests

    Explore a combination of mocking, faking, and dependency injection to focus on the code being tested.

    Wil Hall
    September 23, 2019
    • Testing
    • Elixir
  3. Better domain modeling in Elixir with sum types

    Sum types are a powerful domain modeling technique. Let’s look at how to use them to remove invalid states.

    German Velasco
    July 26, 2019
    • Elixir
    • Functional Programming
    • Types
    • Good Code
  4. Do you break your Elixir eggs on the big end or the little end?

    From big-endian to little-endian through unsigned integers. A tale of two ends, and Elixir shines again.

    German Velasco
    December 25, 2018
    • Elixir
    • Endianess
    • Functional Programming
  5. Is Elixir a scripting language?

    Elixir is known for being a language made for building distributed applications that scale, are massively concurrent, and have self-healing properties. But is Elixir good enough for the mundane scripts of this world?

    German Velasco
    October 15, 2018
    • Elixir
    • Functional Programming
    • Code
  6. Chess and Recursion: Part 1

    It turns out solving chess moves with recursion and pattern matching is a lot of fun!

    Dan Barber
    August 10, 2018
    • Code
    • Good Code
    • Elixir
    • Phoenix
    • Recursion
  7. Long-lived processes in Elixir

    Long-lived processes are everywhere in Elixir. Let’s look at why they’re needed and how to create them!

    German Velasco
    June 18, 2018
    • Elixir
    • Processes
    • Concurrency
  8. Organize your functional code

    When coming to a functional language, I often hear people ask, “How do I organize my code?” Let’s take a look at some ways in which data can tell us how to organize our modules and functions.

    German Velasco
    March 19, 2018
    • Elixir
    • Functional Programming
    • Good Code
    • Code
  9. Querying an Embedded Map in PostgreSQL with Ecto

    Structs and maps are easy to work with in Elixir, but if they are stored in the database as JSON and accessed via an Ecto Schema, it’s not as clear how to query them. We’re going to explore how to do that, and make it clear and easy.

    David Bernheisel
    March 9, 2018
    • Ecto
    • Map
    • Embeds One
    • PostgreSQL
    • JSON
    • Elixir
    • Query
    • Web
  10. Why Ecto's Way of Storing Embedded Lists of Maps Makes Querying Hard

    You can use PostgreSQL’s JSON data types to store embedded data on Ecto models. But the way Ecto tells you to store it might not be the best way.

    Jon Yurek
    February 16, 2018
    • Elixir
    • Ecto
    • PostgreSQL
    • JSON
  11. Sign up to receive a weekly recap from thoughtbot

    Looking for even more ways to stay connected?
    RSS feed icon Check out our feeds
« First ‹ Prev 1 2 3 4 5 Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • Mastodon
  • Bluesky
  • GitHub
  • YouTube
  • Twitch
  • Feeds
© 2025 thoughtbot, inc.

The design of a robot and thoughtbot are registered trademarks of thoughtbot, inc.

  • US: +1 (877) 9-ROBOTS
  • UK: +44 (0)20 3807 0560
  • Beware of fraudulent thoughtbot job listings Learn more
  • Code of Conduct
  • Accessibility Statement
  • Privacy Policy