Instead of doing: def power(_n, p) when p == 0, do: 1 you can do: def power(_n, 0), do: 1 Your function definitions can have literal values in it. Guards or more used for typechecking. Also your definition has a leak in that you are not handling cases of where p starts as a negative number. And you also aren't checking for integers. This would be a great case for using a guard: def power(n, p) when is_integer(p), do: power(n, p - 1) * n You should also add some guards for n to make sure that it's a number. EDIT: I paused the video just a few seconds too soon. I see that you did rewrite the base case to what I wrote above in terms of def power(_n, 0)....
I'm with you on decoupling some of the services that AWS provides and building with them. Definitely will be learning SQS, SES and throw some lambdas around! Great video g
if you were using neovim you would realize you just need to attach the html lsp and emmet to elixer files and you would have the autocomplete of the div you want
Hey ben, I took the same path trying these fullstack frameworks after some js fatigue and they are all great, but all falls apart when comes to client side, there is no better thing than svelte for client side rich interactions websites and when you add sveltekit routing its feels native. But for really backend heavy apps these other frameworks really make sense
@@bmdavis419 i worked as a frontend dev for 6 years and switched to elixir last year. live_view with something like live_svelte for super richt interaction stuff makes it a no brainer. and if that is not enough you can still leverage inertia.
In my opinion, I don't like full-stack frameworks that much. They tend to not perform the best on all fronts. I prefer to pick the best tool for each part, so if something changes in the future, the impact is minimal.
I was just looking into Pheonix 3 days ago and I simply read the entire Elixir/Pheonix doc and now everything kinda makes sense. I'll need to try it out in a project, but I feel like I understand the basics pretty well. The doc is super well written
Could you please share your vscode keybindings? I'm also using vim in vscode and i find it hard to navigate between tabs / files and so on :D Thank you!
I've been using the kinesis 360 for about a month now and at first it was weird to get used to, especially the thumb clusters, but aside from needing to increase my speed I'm pretty much used to it now and can't imagine using anything else. I used to have a huge amount of wrist pain that's now completely gone. I'd also recommend using a window manager if you aren't already so you can map workspaces to specific keybinds, so for instance my browser is always on alt+1 and my terminal on alt+3. Edit: maybe you can do that with raycast idk.
also want to add that I started off using the neovim extension in vscode which runs an actual neovim instance so you can use a lua config with it. I think it's been a good way to get into it without needing to go head first into config hell (only caveat being some keybind conflicts). But I've been slowly building up my standalone config so that maybe I'll be able to mostly get off of vscode
It allows you to SSR React, Svelte and Vue applications. They have a first party adapter for Phoenix. This seems really interesting to me because it gives you best of both worlds. High interactivity on the frontend and anything other than JS on the backend.
@@boccobadz It doesn't matter that it is written in Rust. What matters is that it has everything you need built-in and sensible defaults. One simple official documentation and the whole configuration in one config.toml file and one languages.toml for configuring lsps, that are btw also pre-recommended. Vi is unusable, you will do better with nano, and Vim was a great pice of software 2 generations ago. But Vim is to Helix what Gento is to LinuxMint.
Helix cannot be compared to neovim at all, neovim is way superior atm. Helix doesn't even have a plugin system yet, it's not mature but has some potencial. Maybe in a few years it will be worth learning
@@Redyf I respect neoVim as an attempt of bringing a good dev experience to the terminal. But it requires exactly these "plugins" and a bunch of other configs to even start being usable. Helix doesn't need any of that. For somebody that is just starting to develop on the terminal, Helix is the clearly superior choice. NeoVim is for people who were using vim for 30 years already and don't want to switch.
@@ncpurge789 if that’s a based take that would mean he doesn’t install any cli for any language, or are we forgetting what based take means? Targeting something specific but only for part of a whole it’s a preference, not a based take.
Should have elaborated a bit more here lol, but I actually used php a bunch in HS and freshman year of college and I don’t want to use it again. Really not a fan personally it just does not click for me
Instead of doing:
def power(_n, p) when p == 0, do: 1
you can do:
def power(_n, 0), do: 1
Your function definitions can have literal values in it. Guards or more used for typechecking. Also your definition has a leak in that you are not handling cases of where p starts as a negative number. And you also aren't checking for integers.
This would be a great case for using a guard:
def power(n, p) when is_integer(p), do: power(n, p - 1) * n
You should also add some guards for n to make sure that it's a number.
EDIT: I paused the video just a few seconds too soon. I see that you did rewrite the base case to what I wrote above in terms of def power(_n, 0)....
I'm with you on decoupling some of the services that AWS provides and building with them. Definitely will be learning SQS, SES and throw some lambdas around!
Great video g
2:24 not sure if you correct this later, but called Raycast, Warp
Elixir is goated, I love it. Also phoenix is AMAZING! It's the most loved framework for a reason
if you were using neovim you would realize you just need to attach the html lsp and emmet to elixer files and you would have the autocomplete of the div you want
Saving for later
Elixir community is definitely a quality over quantity thing at present. Highly recommend the Thinking Elixir podcast!
I was reading your cyber stack code totally loved the boilerplate when we can expect the video.
This week!
@@bmdavis419 I am building todo with your repo app you replied.
I have decided to go with a better auth it works so fine.
Thanks can't wait
In 2:24 you said warp, but you meant Raycast.
Hey ben, I took the same path trying these fullstack frameworks after some js fatigue and they are all great, but all falls apart when comes to client side, there is no better thing than svelte for client side rich interactions websites and when you add sveltekit routing its feels native.
But for really backend heavy apps these other frameworks really make sense
This is exactly what I am expecting to run into, but I want to go through with it so I can say I did lmao
@@bmdavis419 i worked as a frontend dev for 6 years and switched to elixir last year. live_view with something like live_svelte for super richt interaction stuff makes it a no brainer. and if that is not enough you can still leverage inertia.
In my opinion, I don't like full-stack frameworks that much. They tend to not perform the best on all fronts. I prefer to pick the best tool for each part, so if something changes in the future, the impact is minimal.
Give HTMX a shot 👹
@@MacKoslowskido you use htmx for any of your projects? Link them
CRONs and Ques could be done in Postgres as well if you dig dipper a bit
Did you have a look at Ruby on Rails? Version 8 is around the corner..
Ben what are the chances of migrating insiderviz to Phoenix? Functional programming is a game changer I hear.
0, elixir is dope but I am NOT rewriting that site again lmao. Maybe for future projects tho
I was just looking into Phoenix! Live updates seem insanely cool, but there's no way I could figure it all out from the docs alone.
The docs are quite good, but yea its a grind to get going on
I was just looking into Pheonix 3 days ago and I simply read the entire Elixir/Pheonix doc and now everything kinda makes sense. I'll need to try it out in a project, but I feel like I understand the basics pretty well. The doc is super well written
@@benocxx7906 "I simply read the entire Elixir/Pheonix doc" 🧐
Could you please share your vscode keybindings? I'm also using vim in vscode and i find it hard to navigate between tabs / files and so on :D Thank you!
Should learn Gleam.
Nice work mate!
Hey ben, can you recommend some projects to build to improve at programming or at least what your approach is to learning ?
Yep: ruclips.net/video/CCWc_QM5O4k/видео.htmlsi=XJhSaDc3y4covTNH
I've been using the kinesis 360 for about a month now and at first it was weird to get used to, especially the thumb clusters, but aside from needing to increase my speed I'm pretty much used to it now and can't imagine using anything else. I used to have a huge amount of wrist pain that's now completely gone. I'd also recommend using a window manager if you aren't already so you can map workspaces to specific keybinds, so for instance my browser is always on alt+1 and my terminal on alt+3. Edit: maybe you can do that with raycast idk.
also want to add that I started off using the neovim extension in vscode which runs an actual neovim instance so you can use a lua config with it. I think it's been a good way to get into it without needing to go head first into config hell (only caveat being some keybind conflicts). But I've been slowly building up my standalone config so that maybe I'll be able to mostly get off of vscode
My dude just use spring and ship
"I just don't want php in my computer" I laughed hard. Btw I couln't agree more.
man, are you coping me? going to the same phase 😂
Did you think about VPS?
Yep that is the other side of the coin I want to test out as well esp in the elixir world
21:53 you don't hear much because people are shipping instead of yapping ;)
amazing vid
i just use vim motions on Zed and avoid the nvim configuration hell
Could you share your vs code config?
Have you tried Inertia?
It allows you to SSR React, Svelte and Vue applications. They have a first party adapter for Phoenix. This seems really interesting to me because it gives you best of both worlds. High interactivity on the frontend and anything other than JS on the backend.
Oh shit I thought that was just a laravel, thing. Will definitely give it a shot
Try helix. Easier to pick up and configure than neoVim.
Every unix box has vi/vim. It's the same thing. Helix is just an attempt at rewriting perfectly stable software in rust just for the sake of it.
@@boccobadz It doesn't matter that it is written in Rust. What matters is that it has everything you need built-in and sensible defaults. One simple official documentation and the whole configuration in one config.toml file and one languages.toml for configuring lsps, that are btw also pre-recommended.
Vi is unusable, you will do better with nano, and Vim was a great pice of software 2 generations ago. But Vim is to Helix what Gento is to LinuxMint.
Helix cannot be compared to neovim at all, neovim is way superior atm. Helix doesn't even have a plugin system yet, it's not mature but has some potencial. Maybe in a few years it will be worth learning
@@Redyf I respect neoVim as an attempt of bringing a good dev experience to the terminal. But it requires exactly these "plugins" and a bunch of other configs to even start being usable. Helix doesn't need any of that. For somebody that is just starting to develop on the terminal, Helix is the clearly superior choice. NeoVim is for people who were using vim for 30 years already and don't want to switch.
The PHP take is L. Laravel is the greatest
based
You not wanting php on your computer being the reason you don’t try Laravel… I never thought you are that closed minded
Preference is okay. We need to avoid being dogmatic about a particular language or framework.
@@RsZ789 Careful some people will start crying here
That's not being closed minded. That's a based take.
@@ncpurge789 if that’s a based take that would mean he doesn’t install any cli for any language, or are we forgetting what based take means? Targeting something specific but only for part of a whole it’s a preference, not a based take.
Should have elaborated a bit more here lol, but I actually used php a bunch in HS and freshman year of college and I don’t want to use it again. Really not a fan personally it just does not click for me