Learning Elixir

Joined June 2023
Learning Elixir retweeted
I completely agree. Have written about this before. zachdaniel.dev/p/elixir-misc…
I never shared this view of "let it crash". Things will NOT resume instantly with a clean state. Most of the time, at least in my experience, things will resume instantly but in the same broken state + errors will be a nightmare to debug.
4
17
1,886
Learning Elixir retweeted
Here's the skill file I use to update dependencies in Elixir projects. I used to hate the update cycle, especially in Phoenix. Now it's just a conversation away. #MyElixirStatus gist.github.com/ChristianAle…
4
6
85
3,102
Learning Elixir retweeted
We're actually not yet pushing on the declarative UI frontier quite yet (in core), we're starting with compatibility with existing patterns. Declarative UI is being worked on, however: hexdocs.pm/cinder is a good example, and we plan on expanding further over time.
1
3
71
We have portals in Phoenix! 🥳 Useful for modals, of course. But I also hope they might make it possible to interleave Vue and HEEX in LiveVue without issues (slots). @wout_dpu might be interesting for you 😉 Thanks Steffen Deusch for the hard work! #myelixirstatus
1
8
66
2,247
Learning Elixir retweeted
I found a way to make this a little cleaner using the File Nesting extension settings: I added a `*.ex` extension with a couple of matchers for nesting the files if they live next to each other. After this, your files will collapse and save some space and visual clutter (if you're into that sort of thing). Collapsed: Expanded: h/t to @RootCert for the awesome tutorial I'm working through to try this out.
I'm unconventional in a lot of ways, one of them being that I put @elixirlang tests right next to what they test. It's pretty easy, you just add `lib` to `test_paths` in `mix.exs` #myelixirstatus
2
1
1
2
309
Learning Elixir retweeted
Replying to @thmsmlr
In LV v1.1 you will be able to do: phx-mounted={JS.ignore_attribute("style")}
1
1
71
1,789
Learning Elixir retweeted
[Ash Question] Trying to transition to the mental model of Ash elixirforum.com/t/71060 #AshFramework #ElixirLang #WeBeamTogether #MyElixirStatus
1
1
225
Learning Elixir retweeted
Oh I see it's not automatic you have to choose to log it by calling `all_and_log`🤔 two ways: 1. there is a new tool called `Ash.data_layer_query`. call all_and_log with the query. 2. Temporarily make your action manual, and use all_and_log in its implementation
1
1
2
106
Learning Elixir retweeted
lit is my goto when I need something in my LV app that's beyond server rendering
2
1
5
498
Replying to @src_rip
You can use Escape+o if you have the VISUAL environment variable configured. I got that from bsky.app/profile/bobbby.onli…
103
Would the @AshFramework book show the correct way to do this? Are there examples somewhere that show all the correct way to do things in Ash?
1
82
#ElixirTips Ash Framework
Mainly learning the Ash way vs the Ecto's. Defining resource actions and domain code interfaces with arguments is significantly different from writing normal functions. However, the validations and changes feel much easier once you understand them. The best part is conditional validations and changes with the where option that validates all conditions before executing the change or validation. Query composition moves from just functions to Preparations where you can do the same style of function head pattern matching. Same can be said for custom Changes and Actions. Managing relationships is made way easier in Ash. Instead of doing put_assoc, you can put the manage_relationship change and specify what should happen when adding the relationship. Like create if one doesn't exist, relate when it does exist, or remove and add a new one. Still not fully clear on how to compose actions by leveraging Hooks like before_action, after_action, before_transaction, after_transaction to replace Ecto.Multi uses or leverage Notifiers for async actions. But, I've mostly been able to replace Ecto.Multi uses with manage_relationship for my use cases. Planning to dive into Notifiers soon for writing to an action logs table. The main challenge of learning the framework has been a lack of search-ability as opposed to Ecto. That's just due to the framework being young. However, you can learn a ton with the documentation, Discord, Elixir Forum, and using references like github.com/team-alembic/real…. I'm still actively learning the framework and figuring things out. I constantly go from "Why isn't this working???? I could just write a function or use the Ecto way" and then when it finally works "Holy crap! It was that simple?! This is awesome."
3
113