Elixir & Phoenix
When you first launch your Elixir app, everything seems super fast. Lightweight processes and fast routing, fantastic WebSocket support. But when the app becomes a real, revenue-generating system, you suddenly need answers to difficult questions.
When you think of entry-level projects for newcomers to the IoT realm, one of the first things that comes to mind is: build a weather station!
This follow-up to our recent Permit update, analyzes the future of Elixir authorization with a look at upcoming features, optimizations, and experimental ideas that will shape how Permit evolves.
Permit now supports Phoenix LiveView 1.0 and Streams, and a new integration for Absinthe-based GraphQL APIs is in the works. This article presents the latest changes, improvements, and upcoming plans across the Permit ecosystem.
OpenAPI specifications have become the industry standard for documenting REST APIs, allowing developers to describe an API’s endpoints, operations, parameters, and responses in a standardized way.
No application can function without data, and sometimes your data lives in a spreadsheet. Let's see what can we do to change this sorry state of affairs and how can we move it into an actual database.
Phoenix LiveView lets you build dynamic web apps without writing much JavaScript. But sometimes, you do need a bit of client-side magic - especially for animations or local state that you don't want to store on the server.
Security is a fundamental aspect of web development that should never be overlooked.
One of the most unproductive activities an Elixir software developer can engage in is determining which module should implement a given function and how to maintain complex business logic.
Building feature-rich data tables remains one of web development's persistent challenges.
Scaling applications can be challenging, especially when only specific parts of your app are compute-intensive.
The SOLID principles, originally designed for object-oriented programming, can also be adapted effectively to functional programming languages like Elixir. Read how to apply it to create more maintainable, scalable, and adaptable software systems.
Packaging Elixir applications with Nix offers a way to manage dependencies and ensure consistent builds across different environments. This article shows how you can leverage Nix to simplify and improve your Elixir project workflows.
Have you ever wondered how to efficiently manage multiple clients within a single application? Or how to keep different users' data isolated while still leveraging shared resources? Enter multi-tenancy!
We all love Elixir and know how great it is, but that's not what this article is about. Today we will focus on things in Elixir that may cause you to shoot yourself in the foot (or blow your whole leg off).
Explore how Elixir's Commanded library revolutionizes application development through CQRS and Event Sourcing, offering powerful capabilities for audit, time travel, and seamless event-driven architecture.
Elixir GenServer is a behaviour module for implementing concurrent and stateful processes.
Using Alpine.js to handle JavaScript events in Phoenix LiveView applications significantly enhances your web app's interactivity.
The goal of this tutorial is to lay out the basics about queries, mutations, subscriptions, and everything around.
Everyone learning a new programming language has probably been there. There’s a missing piece in the new programming language, probably a library.
Almost every programming language has at least one web framework in its ecosystem.
When we start to materialize our app from an idea into code, in the first days, weeks, and months, we create, develop and test our app locally, on our machine.
In the programming language world, there is a strong need to popularize languages such as Elixir - a productive, scalable, functional programming language that consistently ranks at the top of the most loved programming languages in the world.
Learn more about what makes Phoenix Framework's younger sibling stand out and how it compares against other contemporary counterparts.
Elixir and its ecosystem is gradually becoming the go-to platform for many web application developers who want both performance and productivity without a tradeoff.
Have you ever thought about making and handling reusable pieces in Phoenix? Or splitting big HTML templates into smaller, easier-to-read parts?
There is a high chance that you have used lists, maps, keywords etc. for some reason or another, and if you used those enumerables, you had to iterate over them, build some data structures, transform them etc.
There's arguably no non-trivial web app that doesn't need to manage resource authorization, and Curiosum’s Permit library comes in handy especially if your stack is Phoenix, LiveView and Ecto. We’ve just released it so explore its features.
Handling translations in web applications can be a challenging and time-consuming task. The process entails managing various files, tracking modifications, and ensuring that translations remain current as the project progresses.
In this series, we're going to explore real-world usage of the Elixir. We'll be speaking to different companies that are currently using Elixir to understand the challenges they faced, the benefits and, whether they would recommend it.
SQL Injections. It's a monster that every programmer has heard of, but only a few have seen its devastating effects. Also, it's very likely that you've created at least one such vulnerability on your programming road and don't even know about it.
Explore the insights of Elixir Security with Michael Lubas, the founder of Paraxial.io, as he shares his expertise at Curiosum's Elixir Meetup #18.
Discover this unique project's challenges, solutions, and exciting features that aim to revolutionize property management.
The concept of Phoenix Context may appear straightforward, yet its potential for significantly boosting Phoenix app maintainability is profound. However, the truth is many developers grapple with its effective implementation.
In the rapidly evolving world of software development, choosing the right programming language is essential for the success and growth of your business.
Should you build a monolith, umbrella app, or microservice? By exploring the advantages and drawbacks of each approach, Szymon provides a comprehensive guide to help developers make informed decisions for their projects.
Find out more about an open-source tool developed by Curiosum to streamline translations in Elixir and Phoenix projects. Learn how Kanta simplifies the process of managing multilingual content, making it easier for developers and translators alike.
Join Savannah Manning at Elixir Meetup #14 as she shares her journey of mastering Elixir and the resources that helped her. Discover valuable tools and tips to enhance your Elixir learning experience.
In Elixir Meetup #13, João Ferreira's presentation is a must-watch for developers looking to optimize their LiveView projects by making their code more maintainable and efficient.
In Elixir Meetup #12, Caleb Beers introduces Periscope, a powerful open-source tool designed to enhance debugging and introspection in Phoenix LiveView apps. It's essential for developers looking to improve their workflow and efficiency.
Join Samuel Pereira at Elixir Meetup #11 with the topic of gRPC, comparing it with REST and demonstrating how to implement gRPC in Elixir. It's for developers looking to optimize communication between microservices and improve app performance.
Introduction
Drawing from Joshua extensive experience in Elixir and Phoenix LiveView, Joshua offers valuable insights and practical techniques to help developers improve their coding efficiency and maintain high standards.
With so much of our life going online now, it's more important than ever to understand cybersecurity - what it is, why it is crucial, and how we can protect ourselves from cyber threats. In this post, I will introduce you to the world of cybersecurity and tell you how Elixir programming language works in this environment.
It can be tough to find Elixir developers. They're a rare breed and love the language so much that they're often hard to pull away from their current projects. So, what to do, if you're looking to add Elixir development capabilities to your business?
Discover the power of multi-node communication in Elixir with Mika Kalathil. Learn how to connect nodes, manage clusters, and leverage built-in tools for scalable applications.
Pedro shares his journey of choosing Elixir for his side project and discusses his experiences with this powerful language. Learn why Elixir was the right choice for him and how it can benefit your projects too.
Time for a final round of the unwritten war between Elixir and Ruby. According to many developers, Elixir is considered Ruby's successor.
The Elixir programming language has gained popularity recently due to its simplicity and efficiency. As a result, many SaaS companies are now using Elixir & Phoenix as the base of their technology stack.
Elixir is a great choice language for IoT devices due to its fault-tolerant nature, but also because of the ability to handle a lot of concurrent I/O operations thanks to the BEAM scheduler running under the hood.
The annual results of Stack Overflow surveys prove that the popularity of the Elixir programming language is growing yearly.
A new authorization library for Elixir designed to simplify and unify authorization processes. In this session, Michał shared the progress made on Permit, detailed its current status, and discussed future plans for the library.
Elixir, a descendant of the Erlang language, is becoming increasingly popular. Michał shows us its business value, why Elixir programmers are faithful to this language, and how to develop as an Elixir programmer. Read interesting facts about Elixir!
As a software house, Curiosum specializes in Elixir technology. Are you considering the Elixir Developer career? Read an interview with Szymon and learn how to become a successful Senior Elixir Developer. See also why Elixir's language is so likeable
Check out an example project that aims to create a Rust NIF that crops an image and makes it grayscale to show you a way to run your Rust code from Elixir efficiently.
Learn about strategies for perfecting local and remote CI pipelines in Elixir projects. Know the importance of automating checks to reduce developer time spent on repetitive tasks, ultimately leading to more efficient and productive development.
Developer time is precious for business. Don't waste it on things that can be easily automated. One of these things is a part of the code review process - quality checks. Continuous integration (CI) is where this automation is put in place.
Adolfo Neto presented on leveraging two powerful learning resources, Exercism and Advent of Code, to master Elixir and Erlang. Adolfo shared his experiences and provided practical tips for utilizing these platforms to enhance programming skills.
It's insightful session on Test-Driven Development (TDD) with LiveView. Gustavo shared practical techniques for using TDD to build reliable and efficient applications in Elixir, demonstrating how TDD can be simpler than you might imagine.
After 10 years, we can say that it is completely different - the language is gaining popularity, becoming one of the 3 highest paying programming languages and one of the most user-friendly.
Five Elixir Meetups are behind us! Who were the speakers, how many people attended, what is the idea? When the thought of organizing regular meetups with Elixir tech crossed our minds, we didn't suspect that they would enjoy such a big audience!
Miguel Cobá presented an engaging session on deploying Elixir applications using Kubernetes and Minikube. Miguel shared his expertise on setting up a local Kubernetes cluster, deploying an Elixir application, and scaling it seamlessly.
Learn about the limitations of existing authorization libraries and presented a more flexible and comprehensive solution designed to integrate seamlessly with Plug, LiveView, and other frameworks.
At Elixir Meetup #4, Bartosz Górka delivered an informative session on tracking Elixir apps using Telemetry and Metrics. He shared his insights on implementing Telemetry, capturing meaningful metrics.
At Elixir Meetup #4, Michael Lubas presented the importance of protecting applications from credential stuffing attacks and shared practical strategies to mitigate such attacks using PlugAttack.
Neural networks mirror the behaviour of the human brain, enabling computer programmes to recognise patterns and solve common problems in the fields of artificial intelligence, machine learning and deep learning.
Check the presentation on how Phoenix LiveView can simplify web application development. He emphasized the advantages of using LiveView over traditional single-page applications (SPAs), showcasing its efficiency and ease of use.
Why did we decide to organize Elixir Meetups by Curiosum? We realized there was a lack of live Elixir events in our area. Moreover, it turned out that there are only a few of them in the whole of Europe. So we thought... Why not? Let's do this!
Read in-depth session on mastering Phoenix LiveView by understanding three critical levels of development. He provided practical insights and demonstrated how to navigate each level effectively to build robust and maintainable web applications.
At Elixir Meetup #2, Łukasz Niemier delivered an enlightening presentation on the complexities of configuring Elixir applications.
Many people who need an e-learning platform first look for ready-made solutions/tools available on the training application market. What if I tell you it's not always a good solution?
Whether you've only just heard of the Elixir programming language and would like to learn it, or if you're a seasoned developer with years of experience, you need adequate learning resources to ensure steady progress in your career.
The choice of technology when creating a web or mobile app is crucial for the entire development plan.
Michał Buszkiewicz, CTO at Curiosum, was a guest in Podcast POIT ("Porozmawiajmy o IT"/"Let's talk about IT") conducted by Krzysztof Kempiński.
The ability to upload files is a key requirement for many todays web and mobile applications. In this tutorial, we will look at how we can accomplish file uploads to local storage and S3 server in Phoenix with the help of Waffle library.
ElixirConf EU let me learn new Elixir tools and best practices, find out how Elixir is going to develop in the nearest future and meet with so many Elixir professionals from different industries in a friendly Warsaw hotel environment. That was great!
Every application contains bugs, and even if it doesn't, it will.
For a while, I’ve been looking for a perfect way to construct Ecto Queries. At Curiosum we came through a couple of iterations and eventually ended up with a solution that you may call resource-based query modules.
If I was asked, what word best describes Elixir as a language in 2021, it would be maturity.
Elixir is not magic - despite being easy to write in and learn, you need a strong foundation. In this short article, I will give you my personal list of things that are necessary (or at least very much a “should-have”) for Junior Elixir developers.
As your app grows so does its integrations base. At some point, you may need to consume API from third-party services. Today you'll learn how to test them properly with the exvcr library.
Elixir is a pretty capable language - and it consistently ranks near the top of most loved and wanted languages rankings.
Explore the session on developing IoT apps using Nerves and Elixir. He walked the audience through a full Nerves application, showcasing its capabilities and providing insights into building robust, fault-tolerant, and maintainable embedded systems.
At Elixir Meetup #1, Michał Buszkiewicz shared his extensive knowledge on debugging Elixir applications.
At Elixir Meetup #1, Krzysztof Kempiński discussed the reliability of Elixir and Erlang, emphasizing their robustness and suitability for building dependable applications.
There's hardly any more misunderstood element of Elixir than its metaprogramming power. The way to understand it is actually not to try too hard to wrap your head around it.
In most programming languages we often deal with instructions responsible for handling dependencies. Elixir is no different.
Today we're going to look at how Ecto, Elixir's first-choice database access library, handles relational (SQL) database transactions.
While we can't say cheating on anyone is okay, we're not as absolutistic when it comes to cheating on Elixir at times.
Let’s build something together
Ready to turn your curiosity into a successful digital product?
Share your idea, and let's explore the possibilities.
Our experts worked with 20+ worldwide tech innovators
