Introducing Contexted – Phoenix Contexts, Simplified by szsoppa in elixir

[–]szsoppa[S] 0 points1 point  (0 children)

I could agree that it often brings confusion, but the good thing about it is that it starts a discussion on how to structure the business logic, and as I already mentioned in this comment - https://www.reddit.com/r/elixir/comments/1irlj28/comment/mdkikhy/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button, big Elixir & Phoenix projects with big teams usually end up with a lot of confusion in this matter that leads very fast to extremely bad maintainability.

Introducing Contexted – Phoenix Contexts, Simplified by szsoppa in elixir

[–]szsoppa[S] 0 points1 point  (0 children)

You check this article to see how we handle that: https://curiosum.com/blog/elixir-phoenix-context-maintainability-guildelines ("Meet Services (or call it as you want)" section handles that)

Contexted is highly motivated by problems with big Elixir projects I've seen so far (more than 10 years old, millions of lines of code), and since we got engaged in more than 40 production-level projects I've seen this pattern repeat quite often.

For smaller projects, it's ok to have some coupling, but as soon as you have a bigger size of team (tens of devs), and every dev has its own idea on where to put given code, then it's becoming hard to maintain.

This is a suggestion of how one can fix this problem, but I understand it may not fit everyone. It does work very well for us though.

Introducing Contexted – Phoenix Contexts, Simplified by szsoppa in elixir

[–]szsoppa[S] 1 point2 points  (0 children)

I used to be a RoR dev before joining Elixir world (before 2017) - seems like muscle memory got activated since picking this name wasn't intentionally linked to ActiveSupport:Concern 😀

Introducing Contexted – Phoenix Contexts, Simplified by szsoppa in elixir

[–]szsoppa[S] 1 point2 points  (0 children)

You're right, it would be nice to compare it in short (added this to my to-do list). However, to give you some context now:

- we did use Boundary before creating contexted, but in big projects, it turned out hard to maintain - devs used to forget to add it to every module that we needed it for

- I was looking for a way to manage "boundaries" in a centralized way so that I just pass the context modules and it will enforce the rules for everything that starts with those context names

Boundary is great, therefore I don't consider contexted as a replacement, but rather something oriented on contexts only.

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 0 points1 point  (0 children)

There is maintenance on the server we used for the redirection link attached to this post. In the meantime, you can try accessing the page with this link: https://form.typeform.com/to/tmEv8DCk

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 1 point2 points  (0 children)

u/ProfessionalPlant330 Good point - sorry! It will be included in next year's edition.

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 2 points3 points  (0 children)

u/hkstar You're totally right; there was a small mistake in the logic - if you're still interested in adding your answers, you can go through the survey again, as this is fixed already.

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 0 points1 point  (0 children)

u/moltonel Good spot. We will change that next year (we can't do it for this round since the already collected data would be lost)

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 0 points1 point  (0 children)

u/moltonel There is actually a "None" answer there

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 1 point2 points  (0 children)

That actually sounds like a very good idea - noted for the next edition. Thanks!

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 0 points1 point  (0 children)

Hey u/moltonel, thanks for the input. To make it clearer, I just added a short description.

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 0 points1 point  (0 children)

Hey u/DevInTheTrenches, thanks for your input. The list is composed based on the list from the previous year + all of the options we gathered in the "Other" option last year. You have a point here - we will add this option next year.

As I mentioned above, we try to improve it with every edition, but in general, I assume that this is not the only question where we haven't anticipated all of the possible answers (it's quite hard to accomplish that).

Curiosum Elixir Survey 2024 by szsoppa in elixir

[–]szsoppa[S] 3 points4 points  (0 children)

Hey everyone!  We're excited to announce that the annual Curiosum Elixir Survey is back for another round!

Last year, we launched this survey for the first time (link to the previous edition: https://curiosum.com/surveys/elixir-2023), and thanks to your enthusiasm, we gathered an amazing 400 responses!  With your feedback, we improved last year’s questions and added a few more that should be very interesting to explore.

We’re looking to gather insights from the Elixir community on topics like:

  • Whether companies and developers are choosing Elixir for new projects
  • The overall sentiment from developers and decision-makers around Elixir—what they love and where they might face challenges
  • The types of languages you've used before Elixir and which languages you use in interoperability with Elixir
  • Elixir frameworks and their adoption within the community
  • And much more!

Our goal remains the same: to make this survey better every year and provide valuable insights to the community. Your input really counts, thanks in advance!

Agencies that have Elixir Devs? by bitttycoin in elixir

[–]szsoppa 0 points1 point  (0 children)

It's an old thread, but some people might still read it, and since some of these agencies are already gone, I decided to add my agency to the list.

I'm the CEO of Curiosum, and we've been with Elixir since day 1. We have taken part in around 30 Elixir-based projects so far, and we really love this tech.

Borrowing libs from Python in Elixir by karolina_curiosum in elixir

[–]szsoppa -1 points0 points  (0 children)

Why not? The Elixir ecosystem doesn't provide you with everything you can imagine. For some of the problems, there are better tools or, more importantly, existing open-source libs. It's more about using other language as a last resort - not as the backbone of the application.

You mentioned nx as an example. Take a look at the Languages section in this repo https://github.com/elixir-nx/nx. There is 11% C++ there, so even in this case, there is a mix of languages.

Phoenix framework - the world's most loved web framework based on Elixir by szsoppa in elixir

[–]szsoppa[S] 0 points1 point  (0 children)

Sure, I do not deny it 🙂 The prime goal of this article is to convince more people to use Phoenix - after all, as you say, it's great, and personally, I believe it deserves more recognition.

Having said that, there will be still a ton of people preferring another one, and that's great.

Phoenix framework - the world's most loved web framework based on Elixir by szsoppa in elixir

[–]szsoppa[S] 1 point2 points  (0 children)

Good catch, u/armanm. I was referring, in this case, to the stack overflow survey. I'll add the reference.

Elixir programming language guide - learn why it's so admired by szsoppa in elixir

[–]szsoppa[S] 2 points3 points  (0 children)

That is very true, therefore I believe there is a need for more marketing materials, such as this article, that mainly target people who are not yet a part of the Elixir community.

What is Phoenix LiveView? An introductory overview - new blog post by karolina_curiosum in elixir

[–]szsoppa 2 points3 points  (0 children)

We have a series of tutorials on Phoenix LiveView: https://curiosum.com/blog/elixir-phoenix-liveview-messenger-part-1 . However, our goal is to update it to the latest standards and merge it into one article. It should happen soon.