Your top_five function only sorts by the first value in the tuple, which are the words and not the actual frequencies. Should be something like this, not sure how to do shorthand: ``` defp top_five(word_frequencies) do Enum.sort_by(word_frequencies, fn {_, value} -> value end, :desc) |> Enum.take(5) end ``` Great videos, BTW!
@plattegruber574Күн бұрын
Subscribed for the intro
@JacobLuetzowКүн бұрын
🤣🤣 Thanks, i'll take it!
@ItsD3vil7 күн бұрын
That looks really promising! I have a question, though: does the BEAM VM have its own way of handling this? For example, if I define a 3-bit value (as I saw in your example), is it strictly constrained to 3 bits, or does it adapt to the underlying system? Since the operating system ultimately deals with bytes, how does Elixir and the BEAM VM manage this?
@JacobLuetzow5 күн бұрын
The BEAM VM stores your 3-bit value as exactly 3 bits logically, but under the hood it works with full bytes for system operations. When you use <<value::size(3)>>, the VM efficiently packs these bits together - for example, two 3-bit values can share a single byte. So while your code works with precise bit sizes, the VM handles the byte-level storage transparently.
@ItsD3vil9 сағат бұрын
@@JacobLuetzow Okay! That makes sense now, thanks for the answer!
@ItsD3vil7 күн бұрын
Thanks! I’m coming from C and Go to elixir for fun and experimenting This language looks promising!
@JacobLuetzow5 күн бұрын
Welcome aboard!
@captnoplan39268 күн бұрын
Great interview. More of this please and showcasing how Elixir is being used for ML projects in real life.
@JacobLuetzow8 күн бұрын
Sean rocks!
@steveoc648 күн бұрын
It’s Jan 2025 now We are still on 1.7.x, so I guess no major changes but maybe some minor tweaks Roughly how much of this tute should I expect to still work in 2025, if starting today - 1 year on ?
@JacobLuetzow8 күн бұрын
Everything seems to be in order. The project uses Phoenix 1.7.7, and there might be a few minor issues with LiveView (0.19.0), but I don't think you'll encounter any problems.
@steveoc648 күн бұрын
@ thx for the quick reply I’m half way through- getting into the actual live view parts now, and no issues yet Good stuff. Subbed and joining the discord
@JacobLuetzow8 күн бұрын
🙌🏻
@patolorde11 күн бұрын
Next js is our generation PHP
@JacobLuetzow7 күн бұрын
🤣 is that good or bad?
@HantonSacu14 күн бұрын
elixir maximalist, love how it sounds 👺😂
@JacobLuetzow14 күн бұрын
LOL it does have a good ring to it 😂
@project-asgard14 күн бұрын
Awesome, thanks Jacob!
@JacobLuetzow14 күн бұрын
Happy to help!
@AnkhbayarTs119 күн бұрын
phoenix form here
@AnkhbayarTs119 күн бұрын
phoenix JS click action here
@AnkhbayarTs119 күн бұрын
thank you, u save my time!
@JacobLuetzow19 күн бұрын
Glad to help!
@AliResool-k8z22 күн бұрын
Clojure always gets forgotten
@codeoj86122 күн бұрын
👏
@JacobLuetzow20 күн бұрын
🙌🏼
@blubbellord25 күн бұрын
At 11:36 you could have piped into Kernel.//2 instead of the shorthand or extra function. Every arithmetic expression can be substituted using Kernel functions (they are Guards in the docs)
@pkeod26 күн бұрын
For the filter, couldn't you just hash everything and then put it into a merkle tree? Then the footprint would be extremely tiny. Maybe that would take too much CPU vs the method they are using?
@AndrewBerry-n6e27 күн бұрын
All these Full Course videos are great! Very informative!
@JacobLuetzow27 күн бұрын
Thanks for the kind words!
@krumbergify27 күн бұрын
Syntax doesn’t matter (that much), but semantics really does. Choosing to make a programming language functional allows for (optional) distributed computing. The creators of Go tried to make Go channels work over a network but the fact that Go is not functional and channels allow you to send pointers makes this really hard to do.
@JacobLuetzow27 күн бұрын
All very true.
@nicholasmanning430727 күн бұрын
Jacob, great video again! Have you used other libs that already allow folks to specify schema annotations so changesets do not need to be hand crafted and tested? Like Peri or Justify?
@JacobLuetzow26 күн бұрын
You definitely could. Peri and Justify look like great libraries. This video was made before Peri was created and I'm not sure about Justify.
@nicholasmanning430727 күн бұрын
Great video. Perhaps consider increasing the font size. Also, I have a question: why would we need to test our fields and types if the database already enforces that?
@JacobLuetzow26 күн бұрын
Testing schema fields and types in Phoenix/Ecto projects is valuable because: • Validates business logic before database interaction • Verifies custom changeset validations work correctly • Ensures proper handling of virtual fields • Tests schema relationships and associations • Catches errors from incorrect type casting/conversion This improves reliability beyond just database constraints.
@fullfungoАй бұрын
This is the stupidest thing I’ve heard. If you are only ever sending the password’s hash, then the hash is effectively your new password. Man in the middle can just copy the hash you send. It is no different from copying the password itself. It adds 0 security.
@JacobLuetzowАй бұрын
Wow, thanks for the security lesson! But isn't it funny how hashing on the frontend could still save users from themselves when they reuse passwords everywhere? Just a thought! 😄 By the way, stats show that 78% of people reuse passwords across multiple accounts, with 53% admitting to it, and 70% of those exposed in past breaches still using the same compromised passwords. So, maybe it's not the stupidest idea after all!
@Danishkhan-ff4jsАй бұрын
Loved your series from start to end. Started learning elixir from 0 with the help of this series. explanation so simple that any beginner would understand it. just a request - please complete the series. it's taking so much time. please shoot and upload all the videos at once😆. I started learning it because i have a interview lined up for elixir and thought of completing this project. anyways KEEP IT UP
@JacobLuetzow26 күн бұрын
Love to hear it! Thanks for the support.
@solvm1652Ай бұрын
Recursion is also clearer, obvious even.
@JacobLuetzowАй бұрын
100%
@ryualvano3221Ай бұрын
may i know what's the color theme ur using on the video?
@JacobLuetzowАй бұрын
Yes, it's "Elixir Theme by Maiqui Tomé" I don't think it's available anymore though. I'll have to find a good replacement for it.
@AtheeqRahman-ob4whАй бұрын
Excited for the Elixir course to finish! 🚀 A Phoenix course next would be 🔥! Truly a gem 💎 for Elixir on KZbin!
@JacobLuetzowАй бұрын
Thanks! Yes, Phoenix content is coming! I'm uploading 16 more Elixir videos today/tomorrow, making 22 total videos available immediately for Pro+ members, or weekly releases if you prefer to wait.
@srikanthkyatham506Ай бұрын
Hi Jacob, Love your podcast. I don't wanted to be picky, but there is mistake at the end of video you showed it like formatted_date = formatted_date what you wanted was formatted_date = format_date() I am guessing you already know.
@JacobLuetzowАй бұрын
We'd also have to pass a utc date in, just a short/reel from a long form video. It's hard to keep them under a minute on KZbin. Check out the full video here: kzbin.info/www/bejne/rH_dYnyCqN9rnMUsi=it5yOigE874ntKiJ&t=235
@quintenkamphuisАй бұрын
Wow, I needed this video. Great timing!
@JacobLuetzowАй бұрын
Perfect!
@redguard128Ай бұрын
I enjoy Elixir. I also use |>, !, & symbols in everyday speech. And of course [] means a linked list and {} is an array.
@JacobLuetzowАй бұрын
🙌🏻
@ryzh6544Ай бұрын
6:28 somehow this Elixir Theme extension is no longer available.
@JacobLuetzowАй бұрын
Yea that's a bummer, there are lots of themes to change to though.
@JonasThente-ji5xxАй бұрын
We need to recruit more people to Elixir
@JacobLuetzowАй бұрын
that's the goal!
@AbrahamRodriguez-o5cАй бұрын
Thanks for this series
@JacobLuetzowАй бұрын
glad you're enjoying it!
@AbrahamRodriguez-o5cАй бұрын
Good video thank you.
@JacobLuetzowАй бұрын
🙌🏻
@jlzarateceАй бұрын
❤ excelente video no hay desperdicio
@JacobLuetzowАй бұрын
🙌🏻
@jlzarateceАй бұрын
Excelente recurso, estoy viendo toda esta playlist🎉
@JacobLuetzowАй бұрын
glad you are enjoying it!
@tameribrahim6869Ай бұрын
5:40 I don’t think this is true, since these two functions are different in arity, calling with no arguments will call the ‘\0’ no matter the order, and with that atom passed, the 0 arity function won’t be called.
@JacobLuetzowАй бұрын
Yes, you're correct I misspoke. We end up adding more patterns for arity 1 and then it matters. Thanks for catching that!
@tameribrahim6869Ай бұрын
@@JacobLuetzow thank you for the quality content Jacob.
@PanTek-r8gАй бұрын
The jingle is cool. Is that a Prince Rupert's Drop?
@JacobLuetzowАй бұрын
haha thanks, I'm not sure I know what a Prince Rupert's Drop is though.
wild, thanks for sharing! The Elixir Logo definitely looks similar.
@hrithikrtiwariАй бұрын
Edit: UpperCamelCase is still camelCase & understood that classes and Modules have first letter Caps --- It's suppose you meant PascalCase camelCaseHasFirstLetterSmall PascalCaseHasFirstLetterCaps PascalCase is also called UpperCamelCase
@JacobLuetzowАй бұрын
Thanks! While there's technically a distinction, 'camelCase' has become a common umbrella term for both styles in everyday dev talk. Both follow the same 'humps' principle - just with different first-letter capitalization.
@hrithikrtiwariАй бұрын
@@JacobLuetzow Cool, yes I agree with this because UpperCamelCase is still camelCase Also it's understood that classes and Modules have first letter Caps Thanks
@quintenkamphuisАй бұрын
I think I've got the gist of it
@JacobLuetzowАй бұрын
🤣
@christopherchalcraft1134Ай бұрын
I am enthusiastic for elixir... but I don't find the syntax strait forward. I have been going through runelixir but exercism might be good to learn syntax. ... mind you I found Haskell syntax easy ... so it might just be how I was taught.
@PanTek-r8gАй бұрын
You could shorten the video by saying what you cannot use Elixir for
@JacobLuetzowАй бұрын
🤣🤣
@TechnoTIK-2024Ай бұрын
14:28 focus: is unneccessary
@OyyouАй бұрын
"Don't dm me, bro" :')
@ruhnetАй бұрын
A notable addition would be that although atoms are more memory efficient, map keys can also be strings like so: %{"key" => "value"} In that case, they cannot be accessed by dot notation and you have to use bracket notation map["key"] or Map.get/2. Also, you can mix atom and string keys within a map: %{"key" => "value", atomkey: "value"}
@JacobLuetzowАй бұрын
🙌🏻
@a.v7998Ай бұрын
Another Great Video!! have you building Desktop or Mobile apps in elixir? I would love to explore that side myself, I have only done desktop apps in python with tkinter GUI library.
@JacobLuetzowАй бұрын
I have, using elixir as the backend. But also check out LiveNative, very cool project by dockyard.
@solvm1652Ай бұрын
well said. i struggled with this for a long time. I'd never used a programming language that also worked at the bit.byte level before.
@JacobLuetzowАй бұрын
Love to hear it. You might find these two videos helpful as well. kzbin.info/www/bejne/gnjPhKyhhNJnhtE kzbin.info/www/bejne/hpCrgYumiMqgobs
@dhonydevАй бұрын
#45:06 I couldn't hear the name of the chart library. Could someone help me?
@dhonydevАй бұрын
Ow. Contex
@JacobLuetzowАй бұрын
ah awesome, i was about to go back and listen for you.
@noah_boat9Ай бұрын
I thought bro was talking about clash Royale 😭
@a.v79982 ай бұрын
Great video! Its been 2 weeks since I started learning Elixir! Been pretty good. Have you tried any LeetCoding or data structures & algorithms in Elixir?
@JacobLuetzow2 ай бұрын
Awesome! Happy you’re enjoying it. You should check out exercism.
@gonzalooviedo54352 ай бұрын
Why this video has not comments?. Elixir ROCKS!!!!, I will use it in a product company enterprise that Im working on... It is powerful and fun. I think!. I will try to implements Elixir in my country, Chile, that is one of my goals