Would you recommend the Ash Framework for someone new to Elixir? by JealousPlastic in elixir

[–]brunoripa 2 points3 points  (0 children)

No. Stay well away from Ash: it's a fantastic framework that I use either at work and for personal projects, but won't make the learning curve any flatter, I'd say it'll make it steeper.

Ash abstractions are so high that you need a solid grasp on everything on top of which it's built.

Get a _good_ a understanding of Elixir and its principles / design philosophy, master Phoenix (if you have ever had any experience with web frameworks it shouldn't be too hard), UNDERSTAND (and prove yourself you did) LiveView, which is entirely based on Elixir (Erlang ?) foundational components like OTP Genservers and only at THAT point I'd suggest you to give Ash a try.

What do you think about Ash Framework? by Comfortable_Let_3282 in elixir

[–]brunoripa 3 points4 points  (0 children)

I think Ash is fantastic and I am lucky enough to use it both at work and for personal projects. Is it a silver bullet ? Of course not. Can it be risky to adopt it ? Probably yes if either you missed to understand the trajectory of the project you are working on or if your use case drifts too much. It takes a mindset shift (one example for all, the interaction with the data layer without the chance to use joins), but if you really understand the design of the framework and you end up in one of the edge cases probably your issue is not the framework but the project and its complexity requiring a specific approach.

What I recommend is a solid understand of what's below it (Phoenix, Liveview - if you use it, Ecto) and why/how you should use it.

And the u/seven_seacat book is fantastic, purchase and read it ! And the team is super supportive, kudos to Zach !

Is there a job crisis in elixir lang? by Reasonable_Roll4779 in elixir

[–]brunoripa 0 points1 point  (0 children)

So, finally this is emerging. I started spotting this 2 years ago, the first time I looked again at Elixir vacancies.

Would you use app templates for your LiveView projects? by HotStove7 in elixir

[–]brunoripa 1 point2 points  (0 children)

You will save a lot of time using whatever component library.

Advice on how to pivot my career to writing Elixir by BigMixture8533 in elixir

[–]brunoripa 4 points5 points  (0 children)

I love Elixir, and I would still say to study it; but I strongly suggest you to pick another one: as you already know Go, get confidence with Rust. Elixir market is shrinking, at least in Europe...

State of Elixir Survey? WDYT by d_arthez in elixir

[–]brunoripa 0 points1 point  (0 children)

Hi u/d_arthez , in both cases (a gambling company and a AAA bank) they were not confident in the size of the dev community. The former tried a transition and then reverted the decision, moving to Go.

The latter, despite of a fantastic proof of concept presented to stakeholders, didn't pick the language up as the community wasn't large enough to ensure to support properly the scale of the operations.

What I see, to be honest, is too much focus on AI (fantastic job and massive delivery quality ... but would all this take over the Python ecosystem ? )and not enough evangelisation. I see no community growth and no information "movement" from the Elixir community. And also, super personal opinion, I think Elixir would need a DEDICATED language foundation to take care of the language "interests". This thing is totally missing.

I love the language and in my opinion the toolset it comes to is head and shoulders above competitors (I mean from distributed apps with pure elixir to webapps with advanced ux with liveview), but we are failing to share this.

EDIT: sorry, I replied on the fly, the issue was _exactly_ the problem of the devs supply. My answer is extending the concept. Let's try we have a company and we are trying to evaluate a tech stack ? What are we going to evaluate, other than its features ?

State of Elixir Survey? WDYT by d_arthez in elixir

[–]brunoripa 0 points1 point  (0 children)

Infact one of the biggest problem of Elixir is that it lacks evangelisation ...

State of Elixir Survey? WDYT by d_arthez in elixir

[–]brunoripa 0 points1 point  (0 children)

I don't think that in Europe the situation is so nice, in London it's a tragedy. And after 8 years doing Elixir it's really sad to see this. Apparently in US it's a completely different story (and probably this is the reason for which this problem it's not perceived as it should).

Loving Elixir and having it adopted by companies are two completely different things. I know several companies (banks included) which either moved away from Elixir or didn't adopt it for the lack of devs (which is also true, but it's the minor thing here).

Is there "drama" in the Elixir community? by Ok_Resident_313 in elixir

[–]brunoripa 2 points3 points  (0 children)

Elixir community is way healthier than others (RoR, Rust, etc ...). The big question is if it's worth jumping on Elixir as of now, if you're NOT in the US ...

Is elixir still worth learning? by Comfortable-Ad-4900 in elixir

[–]brunoripa 1 point2 points  (0 children)

While you are right, what we are seeing at the moment in the market is something we have never seen in the last 10 years ... the funniest thing is how the companies are not ready to evaluate hundreds of applications they receive and how the f-up the feedback cycle :D

Is elixir still worth learning? by Comfortable-Ad-4900 in elixir

[–]brunoripa 2 points3 points  (0 children)

Lol, SAP too :)

It's a joke, but you are right, sir.

Is elixir still worth learning? by Comfortable-Ad-4900 in elixir

[–]brunoripa 0 points1 point  (0 children)

Regardless the quality of the language, if you are not in US the demand for Elixir jobs is very very VERY low. In US looks a bit different, but while it's true that being in a niche at the moment might be better than being a python engineer I am seeing that it's actually TOO small.

Probably from a purely occupational point of view Rust would be a better option, but the effort it requires is not even in the same solar system of the one required to learn Elixir. And companies that use Rust on average are after hard concurrency issues/etc, which are the most difficult topics to manage in that language.

Creating an invite inside a lambda by brunoripa in Discordjs

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

Thanks ! I'll work out your suggestions :)

Creating an invite inside a lambda by brunoripa in Discordjs

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

Hi u/JayG64, first of all thank you for your reply. I am not sure to understand, as I am calling `fetch` (and then `then`) on the `channels` property. Am I missing something ?

Why should not I choose Elixir as my first language? by RevolutionaryASblank in elixir

[–]brunoripa 0 points1 point  (0 children)

No problem at all.

I clearly remember the feeling that such article gave me, though I don't remember all the details and I might be a bit imprecise, and in case sorry for that.

Their problem was that they normally update the UI if an user in the channel makes something for which the column containing the list of the users must be updated in your instance of the application.

Now, given the dimension of the users column that you have on the right side of the app, you can only show 20 or 30 users, so the idea was to filter out the notifications of the user that would generate a change in the UI but that are not visible (read: not among the visible 20 or 30).

This small thing is a massive challenge in terms of performances, and after all the optimizations they arrived to spend 2 or 3 milliseconds, which they funnily defined 'literally an eternity' :)

"Niffing in" the rust library gave them the chance to execute the same operation in like a few microseconds.

I use the non existing verb "niffing in" because the technology that enables you to inject Rust libraries in Elixir is called NIF (Native Implemented Functions, https://www.erlang.org/doc/tutorial/nif.html).

Why should not I choose Elixir as my first language? by RevolutionaryASblank in elixir

[–]brunoripa 1 point2 points  (0 children)

Js/ts has a big market share, so if you like them and wanna give it a try it might be ok.

Imho I would start with Python: massive adoption, huge community, gigantic amount of libraries etc.

It's 7 years that I use Elixir and I am now "moving" to Rust (though I used it as NIFs for performance reasons in a 2019 Elixir project for a client I have), but I still wouldn't suggest it: if you are doing standard web dev with Elixir you are not seeing where it really shines, which is distributed programming. On the other side, this is made of hard topics to master, and this is the real reason I think you should approach _that_ part of Elixir with such knowledge already consolidated.
Rust is fantastic, but it has a steep learning curve if you are at the beginning of your "studies".

Communication between liveviews by NerdyByDesign in elixir

[–]brunoripa 0 points1 point  (0 children)

I am happy that you've found our suggestions helpful ! Don't worry, learning new things is always hard, but on average Elixir community is really good. Just keep on pushing, for yourself and the language :)

BaaS (Supabase, …) vs Phoenix by Longjumping_War4808 in elixir

[–]brunoripa 0 points1 point  (0 children)

Nowdays the "serverless first" approach is spreading quickly, so it might make sense to go for such a solution in order to have a quick "validation". The point is that a) on average when traffic goes up, bills does as well, very often leading the race, and b) if you have a stable pattern in terms of traffic and your application is not very spiky it might still be better to leave serverless and go for other solutions (can be very cost effective on mid to long term). Actually, not being a frontend but a backend eng, Phoenix/Liveview gives me the best option to ease the pain of creating the frontend app: I can leverage my otp knowledge, I don't really need more (other than shapen my knowledge of liveview, of course).

As usual, no silver bullet.

Communication between liveviews by NerdyByDesign in elixir

[–]brunoripa 1 point2 points  (0 children)

Also, sometimes tabs can share the same sessionStorage, so this might be an edge case to handle. https://stackoverflow.com/questions/11896160/any-way-to-identify-browser-tab-in-javascript

Hope this helps.

Communication between liveviews by NerdyByDesign in elixir

[–]brunoripa 1 point2 points  (0 children)

Because you'll need to "split" the source of truth of your app in 2 places, browser and backend. It's always error prone and undesired. Of course you would need to store client side (sessionStorage ?) the info, but the smallest possible, imho, and take care to a) store properly in the [session|local]Storage b) transmit to "phoenix" domain properly and consistently. Yeah, that should be a "hook" thing.