Sascha Wolf joins the mix to talk about how to test behaviors in your Phoenix apps by using tools like Mox and Knigge.
Allen, Adi and Sascha join this week's panelist episode. They talk about the importance of a historical record, logging, and error handling, time operations in Elixir, and code linting with Credo. Moreover, they dive into helpful app development tools, caching with etech plug, telemetry, and open telemetry solutions.
Adi, Allen, and Sascha join this week's panelist episode. They dive deep into the world of observability, tracing, and monitoring. They talk about the advantages of using open telemetry directly and how it can be translated into different formats. They also explore the benefits of using tools for understanding and improving code performance during development. Additionally, they take a look at different levels of observability, from Phoenix Live View and Live Dashboard to telemetry and tracing operations in large pipelines.
Adi, Allena, and Sascha join this week's panelist episode. They dive into the world of engineering approaches for startups and delve into the ongoing debate of whether software engineering is really engineering. They discuss a unique structure for building a big elixir application, where separate bound contexts are responsible for their own supervision trees. They share their insights on the benefits and challenges of this approach, exploring the balance between pragmatism and forward-thinking. From discussing microservices to exploring new programming languages and patterns, there is plenty of valuable information for developers of all levels.
Bruce Tate is the founder of grox.io. He begins by introducing himself and talking about the services his company provides. They also discuss choosing Elixir as your first language for beginners, its pros and cons, and each of the panel's perspectives regarding it. Moreover, they dive into all things Elixir and many more!
Adi, Allen, and Sascha join this week's panelist episode to discuss their most recent work update and exciting projects. They also dive into some of the issues they experienced while working on some of their projects and how they handled them.
Kevin Mathew is a Junior Backend Developer at Qiibee. He joins the show to talk about his article, "Run specific test cases with ExUnit". He begins sharing how he became an author in ElixirSchool. He also shares the reason why he came up with his article. Additionally, he dives into explaining running specific tests and the panel also shares their own experience & perspective on the different tests.
Brent Anderson is a Software engineer at Knock. He builds high-scale messaging systems in Elixir. He joins the show to talk about his article, "Using our One and Done library to power idempotent API requests". He begins by explaining the idea of creating a library and the importance of idempotency.
Nikola Petrušić is a Software Engineer at theScore. He joins the show to talk about Sports Betting. He begins by sharing his experiences in the industry and how he landed his job. He dives into the concept of sports betting in the Elixir ecosystem.
Adi, Allen, and Sascha join this week's panelist episode to talk about their Elixir projects, recent discoveries, and challenges they have encountered.
Allen and Sascha join this week's panelist episode to talk about updating web application dependencies. They dive into the things you should consider in web application updates. Moreover, they share their professional experience and how they deal with errors and bugs after updating software.
Paul Fioravanti is Principal Consultant at Alembic. He joins the show alongside Sascha to talk about his YouTube video, "Build a real-time Twitter clone with steno using LiveView and Phoenix 1.6" He starts off by sharing how he was introduced to the concept of "Stenography" and how it lead to creating his youtube video. He explains using steno in programming and what difference it makes. Additionally, he advises beginners on how to get started with steno.
In this episode, Allen, Adi, and Sascha are joined by Michael Lubas, the founder of paraxial.io, as they delve into the world of bot defense. Michael highlights the importance of bot defense, especially for small companies who are often deliberately targeted. The group examines the issues with "man-in-the-middle" solutions like Cloudflare and how this can be avoided by having bot defenses built into the application itself - the approach paraxial.io is taking. He explains how paraxial's bot detection and defense work on a high level, how it tries to reduce the runtime overhead to a minimum, and what other security topics are relevant for the day-to-day Elixir developer.
Adi, Allen, and Sascha join this week's panelist episode to tackle different deployment applications in Elixir. Allen leads the show as he talks about the application "Fly.io". He describes how he used the software, how it works, and its benefit to users. On the other hand, Adi explains why he prefers to use Heroku. He explains its process and why it is also user-friendly. Lastly, they highlight the tools they think developers should utilize in 2023.
Ben von Polheim is a Freelance Front-end Developer. He also built two Elixir libraries: live_motion and ex_cva. He joins Allen and Sascha to talk about his article, "Remote Development in Elixir with Gitpod". He explains how he came up with the idea for the project and the process of setting it up.
Francesco Cesarini is the Founder & Technical Director at Erlang Solutions. It is a global corporation with a focus on soft real-time systems with high availability and scalability demands. He joins the show to share his inspiring story of how he was able to establish and run his own company. He begins by discussing how he came to be successful over the years and his road to getting there.
Filipe Cabaco is an Elixir Software Developer who currently works at Supabase. He joins the show with Allen and Sascha to discuss his article, "Elixir Code Security: Prioritize Security in Your CI With 4 Tools". He begins by outlining how he came up with the idea for his article and how that came about. Additionally, he discusses some of the tools that may be used to safeguard your code.
Peter Ullrich is Senior Elixir Engineer at Remote. He is also an experienced Elixir Developer, certified Blockchain Engineer, and Entrepreneur. He joins Allen and Adi to talk about his blog articles, THE COMPLETE GUIDE TO FULL-TEXT SEARCH WITH POSTGRES AND ECTO, and EFFICIENT NAME SEARCH WITH POSTGRES AND ECTO. He starts off the show by explaining what inspired him to write these articles.
Join the Elixir Mix Panel as Adi opens the episode by discussing his thoughts on how some companies employ an unconventional procedure to manage their system. Additionally, they share their insights and opinions on using the "process dictionary" and whether it’s beneficial or it’s not necessary.
Dave Lucia is a CTO at a media company called Bitfo, which builds high-quality educational content in the cryptocurrency space. He has been an Elixir Developer for about 6 years. He is the author of “Elixir Observability: OpenTelemetry, Lightstep, Honeycomb”. He joins the show to talk about how they were able to build their system and other websites like DeFi Rate and ethereumprice.
The panel dives into how different Union Types apply to Elixir. They share their thoughts and experiences on the topic as well as techniques when writing codes. Sascha also gives a brief background about his current project called ExUnion.
Tristan Sloughter has been an Erlang Developer for over 19 years. In this episode, Tristan joins the show as he talks about their project called “OpenTelemetry release of Erlang/Elixir.” With the use of this protocol, in your application, developers can collect, process, and export data. He also shares his journey toward shifting his focus from OpenCensus to OpenTelemetry and gives a background about it.
The Elixir Mix panel they discuss how they run their CI/CD pipelines, how they set them up, how they run, and what they do to make them a valuable part of the development process. They also discuss caching, how deep it needs to go, and how they approach getting the best/most information out of the system they're running.
Michael Fich joins the show today to share how he implemented the PostgreSQL schema to enhance the Elixir workflows at his organization, the Score, based in Toronto Canada. Sascha and Allen also provide additional insights and deep dive into their experience with PostgreSQL models.
Today we talk with Wojtek Mach from Dashbit, about the Livebook Desktop app, a tool for writing interactive and collaborative code notebooks. Dashbit primarily works with clients, helping companies adopt and run Elixir. We talk about the history of how Livebook came to be, and the challenges of developing for desktop apps. We also get a sneak peak into what is coming soon.
Today we talk with Louis Pilfold, an ex-elixir/Lang developer. Since 2018, Louis has been working on Gleam, and hesitantly admits to being its author. This statically typed language that runs on Erlang virtual machine and draws its inspiration from several other languages. With Gleam gaining a lot of traction, it’s definitely worth a look into this up and coming gem.
In this episode of the Mix the panelists talk about Seniority. They lay out their own personal journeys towards getting a senior title and how they define seniority for themselves - especially how it goes beyond the ability to write code well.
In today’s all-panelist episode, we take a shot at demystify domain-driven design. We discuss several books and some concepts that stand out in those texts. How easy or hard do Elixir and Phoenix make it to apply DDD principles? We give our experience with taking these concepts and putting them into practice, and give some tips and resources for getting started.
In this episode the panel talks to Danny Hawkins - CTO at Quiqup - and his team's journey at Quiqup with Elixir. Danny explains how some of the first things Quiqup built were using Elixir and how they then left Elixir behind in favor of TypeScript, only to come back to Elixir.
Today we talk with Abul Asar Sayyad, a software engineer from Mumbai, India. Working for ID Plans, a commercial property management solution. We discuss his blog article about combining GraphQL with LiveView for rendering on the front end. We also dive into GraphQL libraries, working with LiveView, and testing.
In this episode Adi and Sascha dig deeper into what it means to consume and build APIs in Elixir and how a RESTful approach compares to choosing GraphQL as your weapon of choice. Along the way they discuss common pitfalls when building APIs (spoiler: one is caching), how to test all of this, and what their personal preferences and experiences are in creating APIs in Elixir.
In this week’s all-panelist episode, Sascha and Allen tackle the topic of concurrency on The Beam. They discuss parallelism, some things to do and some not to do, and some of the questions and issues that arise.
In this episode Simon Zelazny joins the mix to talk about his experience in scaling an Elixir and Phython based service to meet a once-in-a-blue-moon demand scenario. The panel and him discuss the challenges in finding the relevant bottlenecks in non-trivial software systems - and BEAM applications in particular - and what options there are to fix those.
In this episode the panel talks to Robert Ellen and his experience with using macros in Elixir to get rid of some repetitive boilerplate code. They discuss common pitfalls when first diving into macros and resources which help to avoid these mistakes.
Teo Diaz spent the first half of his career as a paratrooper and security agent for the Spanish army, until he made a career pivot to become a software engineer. Teo shares his story from the bootcamp beginnings to JavaScript and Elixir, and then landing his first job in the industry. Teo also shares how he uses Elixir on a daily basis as an engineer within Cabify, the international ridesharing company based in Madrid, Spain.
In this all-panelist episode we discuss the promises of the BEAM, and how these hold up in reality. Is the BEAM truly resilient? Allen, Sascha and Adi discuss their experiences using the BEAM, how it compares to other options, and discuss why Elixir isn’t a more prominent technology.
Tobi Pfeiffer, creator of Benchee, joins the show to share his perspective on benchmarking and Elixir integrations. The hosts start by bantering with Tobi about the Elixir community, deeming it less inviting compared to other language communities. Tobi then shares his career progression, how he landed in the Elixir ecosystem, and why he created Benchee. Finally, the panel debates the future for Elixir and share their wish list features for Elixir 2.0.
Eric Sullivan joins the mix to discuss Project Severus. He started out with greeting carts and it grew into a way of sharing and keeping up on contact information. He dives into how it works and then into the technical details of how he build it.
This is an interesting discussion about the architecture and design of the system.
In this episode the panel chats with Cory o’Daniel which is one of the founders of massdriver.cloud where they try to give teams the tools to deploy production-ready, best-practice, and secure cloud infrastructure.
In this episode Koen van Gilst joins the mix to share his experience learning Elixir and LiveView as a mainly frontend developer. The panel then discusses the evolution of LiveView since it’s announcement and how it’s incorporating ideas from the frontend world to simplify building complex UIs, such as components. The episode closes with the panel’s perspective on how we specialize as software developers and that we can learn a lot from other by moving closer together.
In this episode the panel talks to Thomas Kunnumpurath about how to build event-driven systems in Elixir and what tradeoffs different approaches have. The panel probes Thomas - who is a relative newcomer to Elixir but well versed in building event-based systems - on his experience with various event brokers and compares how using an event broker differs from using the BEAMs built-in distribution mechanisms.
Additionally the panel provides some insight into the BEAM’s history and for which context the BEAM’s distribution mechanisms were optimized. At the end Thomas asks the panel for some suggestions on how he can continue his BEAM journey with more advanced learning material.
In this episode the panel talks with Adolfo Neto who went out to learn Erlang during last year’s “Advent of Code”. He talks about his experience with the format, compares it against using a platform such as exercism.org - where mentors can give feedback - and how this shaped his perception of the onboarding experience of Erlang.
The panel also discusses Adolfo’s involvement in the Erlang Ecosystem Foundation’s education working group and what they think Erlang - and Elixir - could do better to attract newcomers and make onboarding easier.
In this episode the panel talks with Mika Kalathil about how to write Ecto code which makes it straight-forward to reuse and compose. In addition they discuss the advantages of having a streamlined and consistent error handling strategy and how all of that flows together in big, monolithic applications.
Today, the gang discusses the best code-quality tools that you NEED in your Elixir tool-belt, plus what to look out for in the Elixir world this year. It's gonna be a good one!
In this episode the panel is picking up an often discussed topic in the Elixir community: umbrella projects and possible alternatives. They go over what an umbrella project actually is and their experiences with them. Based on this they go over the trade-offs you better know about, restrictions which might come back to bite you and how possible alternatives - like a monolithic app, “poncho” projects, or separate services - fare up against umbrella projects.
In this episode Adi, Allen, and Sascha talk with Rasheed Atanda about his library Elasticlunr which brings the power of full-text search to the BEAM without any external dependencies. They discuss where the library is standing right now, how indexing works in detail, and the benefits and drawbacks of having an external dependencies - such as Elasticsearch - compared to running it inside the same BEAM instance as your application.
In this episode Allen and Sascha talk about OTP and what people usually mean, when they say that it’s more of an intermediate topic. They discuss how work gets fairly scheduled on the BEAM, the start and shutdown behavior of BEAM applications, what supervision trees actually are, and why you probably shouldn’t start a process unsupervised.
In this episode, Allen, Sascha, and Adi discuss the type of apps where Elixir is a no-go, the weak spots you NEED to know to avoid headaches, and what alternatives the panelists recommend for very complex workflows.
Excited about Elixir but not sure how to get the most out of it? We’ve got you covered. In this episode, the Elixir Mix roundtable sits down with Alex Burlacu, a software developer whose specialities include Elixir, machine learning, and blowing his own mind. They talk about this ONE Elixir feature that surprised Alex, the do’s and don’ts of pattern matching and guards, and why Elixir is making Java shake in its boots.
In this episode we talk with Dimitris Zorbas and how he built Brain using Nerves and LiveBook to teach a RaspberryPi to display quotes and highlights from his Kindle. We also talk about how the exciting developments in the Elixir ecosystem intertwine to create experiences bigger than the part of their sums and what part LiveBook will probably play in the future of these developments.
In this episode we talk with Miguel Cobá about his book and article series “Deploying Elixir” which includes various ways to deploy your Elixir applications. We discuss the history of deploying Elixir apps, common pitfalls, and the pros and cons of going with a solution like Kubernetes compared to a “bare” server approach.
In this episode we talk with Marten (Wiebe-Marten) Wijnja about his library TypeCheck which brings runtime type checking to your Elixir project and more. We also talk about the virtues of types in general, which value dialyzer brings, and how to use your type specs to run spec tests, which is a feature of TypeCheck.
Sophie DeBenedetto rejoins the mix to discuss the latest developments in LiveView and how to use it to best effect in your Phoenix applications.
She also discusses co-authoring the book "Programming Phoenix LiveView" with Bruce Tate and how the future of the project will drive the future of the book.
Alfred Reinold Baudisch joins the mix to discuss his publishing engine written in Elixir called PardallMarkdown.
It's a static site generator solution that builds content from Markdown and can build different types of content targets.
Arkadiusz Plichta joins the adventure to discuss how he built a system that tracks BitCoin value using GenServers.
He explains the architecture of his application and the story behind why he built this particular application. Then the panel dives in to help explain how you can use GenServers for ongoing services like this one.
David Yamnitsky joins the mix to discuss tangram.dev and how to use it to add Machine Learning features to your Elixir applications.
He also goes into how it is built and how it provides you with a basic level of AI that integrates nicely with Elixir.
Ben Moss joins the Mix to discuss Event Sourcing and CQRS in Elixir. Event sourcing is the practice of logging data across logged series of events and then reconstructing data from the events. CQRS is focused on keeping read and write operations from conflicting.
Randy Coulman joins the Mix this week to discuss ConfigCat's SDK for Elixir. Since ConfigCat doesn't have an Elixir SDK, they built one internally in their application. Randy discusses how that worked out and how you could do that if your services don't offer Elixir SDK's.
The Elixir Mix panel takes the helm to talk about helping onboard and transition new developers onto an Elixir team. They discuss helping developers who may not have an Elixir background. They also advise Chuck on how to make a career transition since he's considering a jump into an Elixir job from his current role as a Rails developer.
Brian Underwood joins the mix to discuss his recent project where he created a game that would push more and more load onto a genserver to see at what point the performance and usability begins to degrade. The discussion includes an exploration of what this means as your application grows.
AJ Foster is a developer at Pluralsight. He talks about the course he made for Pluralsight about Elixir and then talks about how Elixir was brought into Pluralsight, both into their catalog of courses as well as into the tech stack for the company.
Tej Pochiraju joins the mix to discuss Progressive Web Apps and how you can support them using Elixir and Phoenix.
Ivan Rublev is the author of the open source library, Domo, which provides type validations for Elixir applications. He discusses the types of validations it does and the tradeoffs you get when you can validate the structure of your structs.
Louis Pilfold is the creator of the Gleam programming language. He explains what Gleam is and tells us where it came from.
He then dives into why he wrote a statically typed language for the BEAM, the challenges involved, and its strengths for programming and tooling.
This week, the panel gets in and talks about Elixir is not just a specialty language for high concurrency applications with specific performance profiles.
They dive into how Elixir can be used in a variety of cases and how it is set up as a language that allows you to solve the breadth of issues that other popular languages solve without being specialized to them.This week, the panel gets in and talks about Elixir is not just a specialty language for high concurrency applications with specific performance profiles.
They dive into how Elixir can be used in a variety of cases and how it is set up as a language that allows you to solve the breadth of issues that other popular languages solve without being specialized to them.
The panel talks about how to manage state in Elixir applications. Sometimes you can get away with internal structures like gen servers and ETS and other times you have to reach to external systems like redis, mongodb, or postgreSQL.
This episode will walk you through the ins and outs of managing state and what your options are and what the tradeoffs are between those options.
Luca Peppe built a health check and heartbeat system for the systems at work in Elixir. While the implementation uses many basic features from Elixir and Phoenix, the way that it underscores the fundamentals of Elixir is helpful for both the experienced and the new Elixir developer.
This week, we talk with Yiming Chen about how drilled into the root cause of some slow requests and how it turned out to be an issue with Elixir's own Regex module. We talk about how they monitor performance at Tubi, what they tried to solve the issue, and how they ssh'ed into production to run more detailed performance monitoring.
The panel discusses their development setups, their journeys getting them to where they are now, and the tools they use while they're developing software in Elixir and with Phoenix.
Everett Griffiths is the author of the DotEnvy library. He wrote the library to help manage environment variables across multiple applications and environments.
He and the Elixir Mix panel dive into how DotEnvy works and in the ins and outs of managing environment variables securely from one application to another and from one environment to another. Through development and deployment this is often an overlooked step in keeping things secure while also keeping them simple.
The Elixir Mix Panel discussions the history of Elixir and the high points and big changes in the language and ecosystem. They go into the big changes that brought about growth in the ecosystem, ease of use in the language, better features, and much more.