metameeee
metameeee
  • 137
  • 33 448
Implementing a Ring Buffer in Rust 🦀! - Rust DSA v2 (part 7)
Implementing Ring Buffer, Circle Buffer, Array Buffer, etc. in Rust! This is one of my favorite data structures because it uses an array (or at least an array-like contiguous memory allocation) in a clever way to provide constant time access to both sides of a data set. Thanks for watching!
My article on RingBuffer: metame.substack.com/p/rust-dsa-ring-buffer
Github: github.com/metame/rust-dsa-live/blob/main/src/ring_buffer.rs
Previous episodes:
Linear & Binary Search: czcams.com/video/oV-_pnOApo8/video.html
Singly Linked List: czcams.com/video/MPm04xkiPbA/video.html
Doubly Linked List: czcams.com/video/hUbslbgjXt4/video.html
RawVec: czcams.com/video/lO7VKwCydnA/video.html
ArrayList: czcams.com/video/Hf7IyfgJLDg/video.html
ArrayList UB Fix: czcams.com/video/ftnt5A2Lhdk/video.html
Stacks & Queues: czcams.com/video/PrpA1IUcHqw/video.html
Follow along as we implement data structures and algorithms in Rust!
Watch live at www.twitch.tv/metameeee
metameeee
zhlédnutí: 364

Video

Writing an article on Ring Buffer in Rust 🦀! - Rust DSA Blog (part 7)
zhlédnutí 108Před 21 dnem
Writing about Ring Buffer, Circle Buffer, Array Buffer, etc. This is one of my favorite data structures because it uses an array (or at least an array-like contiguous memory allocation) in a clever way to provide constant time access to both sides of a data set. Implementation video coming! This post is already live with the code: metame.substack.com/p/rust-dsa-ring-buffer Follow along as we im...
How do BigNum Libraries Work??
zhlédnutí 426Před 21 dnem
I thought this was a nice article to read, not too long, not too short. I didn't really think about storing bignums as a string before, but it should work fine depending on how strings are represented in the programming language you've chosen. Hope you enjoy! Article link: austinhenley.com/blog/bignum1.html Watch live at www.twitch.tv/metameeee metameeee
Implementing & Benchmarking Stacks & Queues in Rust 🦀! - Rust DSA v2 (part 6)
zhlédnutí 552Před 21 dnem
We use the Linked Lists and Array List we wrote to implement FiFo queues and LiFo queues (aka stacks)! The implementation is *very* simple and the benchmarks have a few surprising results! We use criterion for the benchmarks and it's pretty simple to use and get started with. Thanks for watching! My article on Stacks & Queues: metame.substack.com/p/rust-dsa-queues-and-stacks Github Stack: githu...
Writing an article on Queues & Stacks in Rust 🦀! - Rust DSA Blog (part 6)
zhlédnutí 64Před měsícem
Writing about FiFo queues and LiFo queues (aka stacks). We go over some of the differences in performance and what data structures lend themselves to efficiency for these two very practical data structures. Implementation video coming! This post is already live with the code: metame.substack.com/p/rust-dsa-queues-and-stacks Follow along as we implement data structures and algorithms in Rust! Wa...
Fixing DOUBLE FREE & MEM LEAK in ArrayList in UNSAFE Rust with Miri 🦀! - Rust DSA v2 (part 5a)
zhlédnutí 349Před měsícem
Let's tackle some UB we caused with the Iterator implementation and make sure we don't have any memory leaks when using a complex type like String. This is a fun one for learning miri and seeing it in action as it guides me to fix (hopefully) all of the memory issues I've caused. My article on ArrayList: metame.substack.com/p/rust-dsa-array-list Github: github.com/metame/rust-dsa-live/blob/main...
ArrayList in UNSAFE Rust 🦀! - Rust DSA v2 (part 5)
zhlédnutí 551Před měsícem
We implement an Array List in Rust! An Array List is just like a Vec (from Rust's stdlib). The basic implementation goes quickly so we also implement a consuming iterator, Index/IndexMut traits, and push_front (an inefficient way of adding an element). Note: The ArrayList on stream is a little different than the final implementation on the github due to a few UB and memory leak issues with the ...
Writing an article on ArrayList/Vec in Rust 🦀! - Rust DSA Blog (part 5)
zhlédnutí 34Před měsícem
We write about an Array List, aka Vec (in Rust), Dynamic Array, DynArray, among other names. Implementation video coming! This post is already live with the code: metame.substack.com/p/rust-dsa-array-list Follow along as we implement data structures and algorithms in Rust! Watch live at www.twitch.tv/metameeee metameeee
Rust on Easy Mode?! - Announcing June Lang (prerelease)
zhlédnutí 91Před měsícem
We talk about that (as yet unfinished) June lang, a safe systems language that uses grouped allocations in order to provide an easier development experience (as compared to Rust). Unfortunately, before I could post this video, this project was defunded and archived but I still think there's some interesting ideas here that are worth thinking about even if June will never see the light of day! A...
Growable Memory Buffer (RawVec) in UNSAFE Rust 🦀! - Rust DSA v2 (part 4)
zhlédnutí 95Před měsícem
We delve into how to allocate and deallocate memory using unsafe Rust in order to build a contiguous growable memory buffer that we can use for array-like data structures. My article on RawVec: metame.substack.com/p/rust-dsa-rawvec Github: github.com/metame/rust-dsa-live/blob/main/rawvec.rs Previous episodes: Linear & Binary Search: czcams.com/video/oV-_pnOApo8/video.html Singly Linked List: cz...
Writing an article on RawVec in UNSAFE Rust 🦀! - Rust DSA Blog (part 4)
zhlédnutí 249Před měsícem
We write about how to manually allocate and reallocate contiguous memory blocks in Rust! Implementation video coming! This post is already live with the code: metame.substack.com/p/rust-dsa-rawvec Follow along as we implement data structures and algorithms in Rust! Watch live at www.twitch.tv/metameeee metameeee
Doubly Linked List in Rust 🦀! - Rust DSA v2 (part 3)
zhlédnutí 55Před měsícem
Never having significantly worked with Arc & Mutex, this was a bit of a challenge. It definitely required more syntax and less ergonomics than working with Rc/Refcell. Post-stream I found some terser ways of expressing the behavior which you can see on the github link below. Hope you enjoy this! My article on Doubly Linked List: metame.substack.com/p/rust-dsa-doubly-linked-list Github: github.c...
Writing an article on Doubly Linked List in Rust 🦀! - Rust DSA Blog (part 3)
zhlédnutí 127Před měsícem
The next challenge is the Doubly Linked List! We write about the challenges and solutions for managing multiple references in Rust when you need mutation. Implementation video coming! This post is already live with the code: metame.substack.com/p/rust-dsa-doubly-linked-list Follow along as we implement data structures and algorithms in Rust! Watch live at www.twitch.tv/metameeee met...
Singly Linked List in Rust 🦀! - Rust DSA v2 (part 2)
zhlédnutí 396Před 2 měsíci
The famously perceived as difficult but completely whiteboard-able singly linked list in Rust! Box definitely takes out some of the complexity here and the basic linked list is a breeze! I do hit a couple annoying walls with not getting the right type of references in my split method but we get there! 00:00:00 - Reading Article 00:08:55 - Basic Linked List 00:57:30 - Split & Append My article o...
Writing an article on Singly Linked List in Rust 🦀! - Rust DSA Blog (part 2)
zhlédnutí 102Před 2 měsíci
Linked lists are so simple but many would consider them difficult to implement in Rust! Hopefully, this article explains how simple they really are and the implementation will show how easy it is to make one in Rust! The implementation video is coming! This post is already live with the code: metame.substack.com/p/rust-dsa-linked-list Follow along as we implement data structures and algorithms ...
I Built Flakes for 21 OCaml Libraries in the OCaml Riot Stack! 🐪 (Part 13 - The Finale)
zhlédnutí 73Před 2 měsíci
I Built Flakes for 21 OCaml Libraries in the OCaml Riot Stack! 🐪 (Part 13 - The Finale)
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 12)
zhlédnutí 50Před 2 měsíci
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 12)
Linear & Binary Search in Rust 🦀! - Rust DSA v2 (part 1)
zhlédnutí 216Před 2 měsíci
Linear & Binary Search in Rust 🦀! - Rust DSA v2 (part 1)
Writing an article on Linear & Binary Search in Rust 🦀! - Rust DSA Blog (part 1)
zhlédnutí 60Před 2 měsíci
Writing an article on Linear & Binary Search in Rust 🦀! - Rust DSA Blog (part 1)
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 11)
zhlédnutí 224Před 2 měsíci
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 11)
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 10)
zhlédnutí 68Před 2 měsíci
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 10)
Planning a new Rust DSA series 🦀 (part 2)
zhlédnutí 74Před 2 měsíci
Planning a new Rust DSA series 🦀 (part 2)
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 9)
zhlédnutí 51Před 2 měsíci
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 9)
Invincible & Blazingly Fast?! Learning about Golem cloud - Rust WASM Component Platform 🦀
zhlédnutí 119Před 2 měsíci
Invincible & Blazingly Fast?! Learning about Golem cloud - Rust WASM Component Platform 🦀
Planning a new Rust DSA series 🦀 (and a little bit of algo stuff)
zhlédnutí 153Před 3 měsíci
Planning a new Rust DSA series 🦀 (and a little bit of algo stuff)
OCaml Bug Hunting for Serde & Riot & More Nix flakes 🐫 ❄️ (nix riot part 8)
zhlédnutí 76Před 3 měsíci
OCaml Bug Hunting for Serde & Riot & More Nix flakes 🐫 ❄️ (nix riot part 8)
Speedrunning CS3110 - OCaml Programming Book 🐫 (Part 9) - Ch 5 Exercises
zhlédnutí 204Před 3 měsíci
Speedrunning CS3110 - OCaml Programming Book 🐫 (Part 9) - Ch 5 Exercises
FUNCTORS! Speedrunning CS3110 - OCaml Programming Book 🐫 (Part 8) - Ch 5.9 & Exercises
zhlédnutí 121Před 3 měsíci
FUNCTORS! Speedrunning CS3110 - OCaml Programming Book 🐫 (Part 8) - Ch 5.9 & Exercises
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 7)
zhlédnutí 69Před 3 měsíci
Building out Nix Flakes ❄️ for the OCaml Riot Stack! 🐪 (Part 7)
Speedrunning CS3110 - OCaml Programming Book 🐫 (Part 7) - Ch 5.4 - 5.8
zhlédnutí 102Před 3 měsíci
Speedrunning CS3110 - OCaml Programming Book 🐫 (Part 7) - Ch 5.4 - 5.8

Komentáře

  • @sgeisenh
    @sgeisenh Před 9 dny

    Is Real World OCaml the other "most recommended" book? Thoroughly enjoying your videos; thanks for learning in public!

    • @metameeee
      @metameeee Před 6 dny

      Glad you're enjoying them! Yes, Real World OCaml is the other one :)

  • @YuruCampSupermacy
    @YuruCampSupermacy Před 13 dny

    noice

  • @priyanshujaswal2210
    @priyanshujaswal2210 Před 15 dny

    Yoo...thanks for this awesome playlist

  • @cunningham.s_law
    @cunningham.s_law Před 16 dny

    dope you should fix the video order in the playlist tho

    • @metameeee
      @metameeee Před 16 dny

      thanks for the heads up! should be fixed :)

  • @joshuarowe8410
    @joshuarowe8410 Před 24 dny

    I did a little bit of extra research after the video and it seems like storing a dynamically sized array of digits (0-9, not sure if I'd call that a "string" per se) is the way most languages implement it.

    • @metameeee
      @metameeee Před 23 dny

      ya that makes sense! easy to leverage the way strings are represented in C in this case :)

  • @connerohnesorge7461
    @connerohnesorge7461 Před 29 dny

    zshhhhh.

  • @sironheart
    @sironheart Před měsícem

    sadly already deprecated :/

    • @metameeee
      @metameeee Před měsícem

      Ya, it's too bad but such is the OSS life.

  • @emilpriver8114
    @emilpriver8114 Před měsícem

    good video!

  • @devitosolucoes7534
    @devitosolucoes7534 Před měsícem

    Great

  • @tonystark6096
    @tonystark6096 Před měsícem

    This is good

  • @joshuarowe8410
    @joshuarowe8410 Před 2 měsíci

    no ocaml-bindgen sadge. It's an annoying one too. I can't get it to work on my voidlinux install because of a different name of the ncurses package it expects it cant find the system package so I've been dev-ing from a Kubuntu VM.

  • @anurag9385
    @anurag9385 Před 2 měsíci

    When are you planning to start?

    • @metameeee
      @metameeee Před 2 měsíci

      The first video just went live!

  • @ecruz1542
    @ecruz1542 Před 2 měsíci

    You had me at Erlang! Nice video. Thanks for sharing / presenting. :)

    • @metameeee
      @metameeee Před 2 měsíci

      Thanks for watching and the kind words!

  • @web3_a
    @web3_a Před 3 měsíci

    lets go and was waiting for it!!

  • @clivalycardoso8606
    @clivalycardoso8606 Před 3 měsíci

    Lets goo 👏

  • @ArnabJhaYT
    @ArnabJhaYT Před 3 měsíci

    Can you build projects using C++ too? Would really help me a lot

    • @metameeee
      @metameeee Před 3 měsíci

      Not in my current plans, but who knows what the future holds

  • @aajularsen
    @aajularsen Před 3 měsíci

    Which keyboard are you using? Looks a bit like the moonlander?

    • @metameeee
      @metameeee Před 3 měsíci

      Ergodox EZ, precursor to moonlander :)

  • @YuruCampSupermacy
    @YuruCampSupermacy Před 3 měsíci

    noice

  • @DistantVirtue
    @DistantVirtue Před 3 měsíci

    Yo dude, are you okay ? Hope everything is okay. Thanks for the series

  • @reviraemusic
    @reviraemusic Před 3 měsíci

    Do gleam/lustre, or rust/xilem. I'm struggling with UI'ing in my favorite languages... ^^'

  • @Rohan-bg8ci
    @Rohan-bg8ci Před 3 měsíci

    Keep going bud

  • @ArnabJhaYT
    @ArnabJhaYT Před 3 měsíci

    I wish to get to your level in Rust before 2025

  • @web3_a
    @web3_a Před 3 měsíci

    Hey just want to ask will you continue this series ??

    • @metameeee
      @metameeee Před 3 měsíci

      I'm planning on a new Rust DSA series that will be implementing several of these data structures again, aiming at a single 2-3 hour video per data structure then hopefully continue with some new data structures! Thanks for watching!

  • @__gadonk__
    @__gadonk__ Před 3 měsíci

    maybe i read too much of the linux coding style doc but holy moly are you using many nested statements.

  • @joeldsouzax
    @joeldsouzax Před 3 měsíci

    linked list is the only way to get a dynamic list going in rust, if you dont want a vec!

    • @metameeee
      @metameeee Před 3 měsíci

      We implement our own soon enough in the series :D

  • @priyankgupta
    @priyankgupta Před 4 měsíci

    A heavy Indian accent or a big blonde beard on a white dude are the most reliable indicators of good technical content on CZcams.

  • @mehdiboujid8761
    @mehdiboujid8761 Před 4 měsíci

    Hi ! love your content! what s the font you re using ?

    • @metameeee
      @metameeee Před 4 měsíci

      It's Andale Mono. Thanks for watching!

    • @mehdiboujid8761
      @mehdiboujid8761 Před 4 měsíci

      @@metameeeeOH i meant the one you have in your terminal and neovim !

    • @metameeee
      @metameeee Před 4 měsíci

      Ah, yes that's JetBrainsMono :)@@mehdiboujid8761

  • @temiloluwaadebowale2553
    @temiloluwaadebowale2553 Před 4 měsíci

    What font is that? Looks good.

    • @metameeee
      @metameeee Před 4 měsíci

      It's Andale Mono. Thanks for watching!

  • @jobinnelson
    @jobinnelson Před 4 měsíci

    Cool vid, what font is that on your editor?

    • @metameeee
      @metameeee Před 4 měsíci

      andale mono - thanks for watching!

  • @SimpleTutorialsIndia
    @SimpleTutorialsIndia Před 4 měsíci

    Just Found your playlist, excited!

    • @metameeee
      @metameeee Před 4 měsíci

      Definitely a playlist of me learning about Rust and Data Structures, so get ready for the skill issues :) Thanks for watching!

    • @SimpleTutorialsIndia
      @SimpleTutorialsIndia Před 4 měsíci

      @@metameeee I would really appreciate if you could recommend me whether I should do DSA in Rust and if yes then please be kind enough to provide some other resources along with your lectures.

    • @metameeee
      @metameeee Před 4 měsíci

      I followed along ThePrimeagen's course on DSA, which is free on Frontend Masters, just to learn/relearn the data structures, then I implemented them in Rust through grinding :D

    • @SimpleTutorialsIndia
      @SimpleTutorialsIndia Před 4 měsíci

      @@metameeee Thanks a lot for your suggestion as well as quick reply. If you don't mind me asking, what are you doing nowadays?

  • @pietraderdetective8953
    @pietraderdetective8953 Před 4 měsíci

    hey sorry if I'm spamming your comments section, but I'm really glad I found your channel and these videos. I have been looking to write some web apps using Zig but found no reference how to do that. this video might be it!

    • @metameeee
      @metameeee Před 4 měsíci

      Glad you're enjoying them! Lots of skill issues but also a lot of fun :)

  • @pietraderdetective8953
    @pietraderdetective8953 Před 4 měsíci

    oh woww you're doing Zig as well!! awesome stuff...liked and subbed!

  • @pietraderdetective8953
    @pietraderdetective8953 Před 4 měsíci

    hey I just found your channel and I got to say I love this series. I'm currently learning C, Rust and Zig as part of my low level learning. C should be easy for you since you write Rust. great video, more please!

  • @hoango6382
    @hoango6382 Před 5 měsíci

    What font are you using in vim?

    • @metameeee
      @metameeee Před 5 měsíci

      my editor font is Andale Mono (it's technically emacs with evil-mode/vim motions but don't tell anyone 😉)

  • @re1konn
    @re1konn Před 5 měsíci

    Keep going 👏

  • @cobbcoding
    @cobbcoding Před 7 měsíci

    gcc on macos is aliased to clang by default???

    • @metameeee
      @metameeee Před 7 měsíci

      Indeed... Apple clang to be precise 😀

  • @digitalspecter
    @digitalspecter Před 7 měsíci

    I'm a metalhead but I'd rather have VODs without any music. Maybe it's just me but I find it very distracting when I'm trying to listen to someone talking.

    • @metameeee
      @metameeee Před 7 měsíci

      Hey there, thanks for the feedback! I've been considering uploading a version without music as well. Maybe this is a push to do that 🙂

  • @derschutz4737
    @derschutz4737 Před 7 měsíci

    Have u tried Lean 4?

    • @metameeee
      @metameeee Před 7 měsíci

      Haven't tried it but on a list for the future ;)

  • @abhinavpandey7265
    @abhinavpandey7265 Před 7 měsíci

    I'm gonna beat you in Rust someday.. I'll reach your level 🧐

  • @MrYevelnad
    @MrYevelnad Před 7 měsíci

    Now the tables are turned.

  • @Mugabo2023
    @Mugabo2023 Před 8 měsíci

    It would be super helpful in all of these videos if you shared the timestamp for when you actually start. 00:00 Getting Started ?? Actual Start 12:50 Setting up repo 15:05 Series Intro 24:04 C

    • @metameeee
      @metameeee Před 8 měsíci

      Hey, thanks for watching. The second timestamp is my "actual start" from my perspective. But maybe you mean just when I actually get back on camera and start talking? Usually before that is me just talking about random stuff with chat :D

    • @Mugabo2023
      @Mugabo2023 Před 7 měsíci

      @@metameeeeAh, thanks. I suppose I was looking for a place where you give an overview of what you're doing, what resources you're using and such. Is the idea that folx just follow along, or that there is a resource that we kinda just do in parallel. How do you intend these to be used?

    • @metameeee
      @metameeee Před 7 měsíci

      @@Mugabo2023 definitely more just fun and exploration than anything else. But the github repo can be a nice reference to track progress (and eventually the README's will be improved) - github.com/metame/mtol

  • @viktorlilienberg3478
    @viktorlilienberg3478 Před 8 měsíci

    Where do you stream? Any way to support you, donate something or buy you a coffee?

    • @metameeee
      @metameeee Před 8 měsíci

      Ah very kind. I stream on twitch.tv/metameeee. Hope to see you live sometime! I do in fact have a ko-fi.com/metameeee for just that reason. Thanks for watching.

  • @viktorlilienberg3478
    @viktorlilienberg3478 Před 8 měsíci

    Your alone on youtube with this detailed dsa rust content, you deserve so much more views. Thanks for teaching us

    • @metameeee
      @metameeee Před 8 měsíci

      Thank you so much for the kind words, Viktor. Glad you're enjoying the videos!

  • @freesoftwareextremist8119
    @freesoftwareextremist8119 Před 8 měsíci

    Geiser would have actually worked had you installed geiser-guile and not geiser-mit...

    • @metameeee
      @metameeee Před 8 měsíci

      Ya I realize that mistake later and fix it!

  • @arjaz1150
    @arjaz1150 Před 8 měsíci

    You actually had a memory leak in your fizzbuzz when you passed the heap allocator, you should've used a general-purpose allocator instead, and it would've given you an error

  • @ostlandia
    @ostlandia Před 8 měsíci

    rare fellow emacs user spotted

  • @kosta5980
    @kosta5980 Před 8 měsíci

    how can you be a rust dev and never tried c++ before? That just makes no sense

    • @metameeee
      @metameeee Před 8 měsíci

      I feel sorry for your clearly limited experience! Hope you have a much broader set of experiences in your future! ❤

    • @LogicAtBest
      @LogicAtBest Před 8 měsíci

      As dismissive as this comment is, and even with the reply from OP being no better, it is an interesting thing to see. Clearly the knowledge of toolchains and lower-level language semantics are missing, and yet OP is able to write functioning rust code. You can check their repo for their initial rust implementation they use as a reference, and despite the project being simple and having some inconsistencies, it looks like the code is perfectly functional. For better or for worse, writing working code like this was not possible for OP in C++ and I think that does an interesting job of showing how approachable rust is compared to C++ when both languages produce pretty much the same results. I come from C++ also, and seeing the code being written here in C++ is painful ofc, but that's a problem caused by C++ and how non-approachable it is in regard to modern C++ and its differences from C++ 30 years ago. If rust is able to get through all this while being somewhat similar in capabilities to C++, I think that's a good thing.

    • @metameeee
      @metameeee Před 8 měsíci

      Solid take@@LogicAtBest -- approachability is definitely a big Rust W despite the language having a reputation of being "hard to learn". I didn't put effort into a reply to the original dismissive comment because it was in fact dismissive ;). But there's a reason "Rust dev" is in quotes. I've learned Rust over the last few months with no systems programming background (just 10+ years off application development, primarily backend web development), and I don't have a CS degree. I appreciate your well thought out comment.

    • @sproccoli
      @sproccoli Před 5 měsíci

      i had vague experiences with C++ before rust, but its definitely not somehow a prerequisite. C++ is like the final boss, not the tutorial boss.

  • @astrahcat1212
    @astrahcat1212 Před 8 měsíci

    Prepare for hours upon hours of configuration and Makefile madness 😢 Still C++ is just the main programming language for software and game development.

    • @Garoze
      @Garoze Před 8 měsíci

      C++ has better options than a simple Makefile, CMake is pretty nice and easy to work it, and theres other options like Premake, Xmake etc, u also can deal with external libs with git submodules or using something like conan, bazel, vcpkg etc

  • @yotubecreators47
    @yotubecreators47 Před 9 měsíci

    this is cool

  • @nazargavrilov873
    @nazargavrilov873 Před 9 měsíci

    man, you are cool! Can we see some blockchain dev from you if it possible?) Will be great!

    • @metameeee
      @metameeee Před 9 měsíci

      Not in the current plans but you never know ;)