If you're not developing with this, you're wasting your time

In other videos we've seen a variety of ways Docker can be used, but actually developing inside a container, while useful, is not that straightforward.
The VS Code Dev Containers extension makes it a breeze to construct, use, and share containers that are designed for development.
Check out PCBWay at pcbway.com/g/59QIMe
📖Various Documentation
code.visualstudio.com/docs/de...
containers.dev/
💬 Join the discussion at discourse.articulatedrobotics...
❤️ Support me on Patreon! www.patreon.com/bePatron?u=55...
00:00 - Intro
01:15 - Running a simple dev container
03:58 - What did it do?
05:38 - PCBWay
06:22 - Dev Container Tips
10:05 - Running GUI programs
13:090 - Outro

Пікірлер: 149

  • @MuhammedBasil
    @MuhammedBasil4 ай бұрын

    I have been using dev container for over 2 years. Though running GUI programs is totally new to me. This is amazing. Thanks for sharing. Keep rocking !!!

  • @chrisogonas
    @chrisogonas4 ай бұрын

    Simply incredible! Thanks for showing that amazing tool 👍

  • @jordan4220
    @jordan42204 ай бұрын

    Its crazy because we also went this way using both vscode and clion remoting into our containers. We didnt use this vscode plugin, but just provisioned the containers as remote entities with avahi and ssh. Then its just like remote development in any other ide that supports it, which is pretty much all of them

  • @7hr1LL_
    @7hr1LL_4 ай бұрын

    omg running gui programs is a total game changer for me. thank you so much for that! very good video!

  • @alexsal6069
    @alexsal60694 ай бұрын

    Awesome video, I love developing inside containers and your video is a great introduction in the topic ! I’m looking forward to learning more about this 🙂

  • @ArticulatedRobotics

    @ArticulatedRobotics

    4 ай бұрын

    Thanks!

  • @CodingYourLife
    @CodingYourLife4 ай бұрын

    Stumbled upon your video and it's been a game-changer! 🚀 Your content is like a compass guiding us in the right direction. Seriously, if anyone isn't diving into this, they're missing out big time. Thanks a ton for sharing such valuable insights. Grateful for your work!

  • @marknabilibrahim
    @marknabilibrahim4 ай бұрын

    Thanks for the video, I have a question let's say we have a ROS system on my machine that is going to stream images using the cv bridge, how to get such image stream inside the docker image so that it can run a ros node that is having all its dependencies in that docker image.

  • @sbacon92
    @sbacon924 ай бұрын

    omg this actually change how I develop. thank you.

  • @vuhoangdung
    @vuhoangdung2 ай бұрын

    yeah I've been using dev container for a long while, really save a lot of my time to set up the environment, especially for Python

  • @brownnerd
    @brownnerd4 ай бұрын

    This video alone deserves a sub.

  • @6Belliarh6
    @6Belliarh64 ай бұрын

    Thank you very much for another informative docker video. I'm really looking forward to an explanation of how this will all be related to the articubot_one project. I'm making a robot based on your project with its own nuances and additions. Docker should simplify the development very much, but so far it is not possible to run the project in a container.

  • @adi-j-uc3qi

    @adi-j-uc3qi

    4 ай бұрын

    i would also like guide/demo to run a project inside docker.

  • @nicolasfelipe1
    @nicolasfelipe12 ай бұрын

    awesome job, thanks for opening my eyes to dev cotainers.

  • @yuvrajsingh-gm6zk
    @yuvrajsingh-gm6zk2 ай бұрын

    gotta be the best video that KZread ever recommended to me:)

  • @RomanBaeriswyl
    @RomanBaeriswyl3 ай бұрын

    I am also doing this for years with VSCode on Windows, either with remote linux VMs and ssh into them or in WSL2. Glad IntelliJ is also working on implementing Dev-Containers as well (for those who want IntelliJ).

  • @ChrisHalden007
    @ChrisHalden0073 ай бұрын

    Great video. Thanks

  • @alvarezfermin7948
    @alvarezfermin79483 ай бұрын

    Do you have a vscode terminal theme? It looks so cool!

  • @user-fl8gq5jp5g
    @user-fl8gq5jp5g4 ай бұрын

    Very awesome video

  • @epepsipepsi
    @epepsipepsi4 ай бұрын

    Thank you so much for the amazing video! I had a quick question. Is it possible to use this to develop inside containers on a remote machine? Using remote and dev containers at the same time.

  • @frackinfamous6126

    @frackinfamous6126

    4 ай бұрын

    Yep you can run Dev containers anywhere. You can also tunnel into the remote machine then launch your containers as if your on that machine with no setup. Just download the pack of remote dev extensions. Plenty of good docs on them too.

  • @patrykperonski5459
    @patrykperonski54594 ай бұрын

    I couldn't find an answer, so do topics in ROS use some kind of serialization for communication? I mean something like protobuf.

  • @ArticulatedRobotics

    @ArticulatedRobotics

    4 ай бұрын

    Yep, ROS 2 uses DDS underneath, it's a bit complicated and there are a few different implementations that can be swapped out (referred to as middlewares).

  • @pooryakhanali6921
    @pooryakhanali6921Ай бұрын

    Thanks, that is a great explanation! Could you also explain if it is possible in this way run the noVNC on GPU!

  • @giuliomariomartena6308
    @giuliomariomartena63084 ай бұрын

    What about developing in dev containers on remote machines?

  • @idincern
    @idincern4 ай бұрын

    Great tutorial! Thanks!

  • @iTzBoosTerZx
    @iTzBoosTerZx4 ай бұрын

    Is there something like this for PhpStorm?

  • @aadams99
    @aadams994 ай бұрын

    I went through the steps, everything works, but it doesn't create the Dockerfile for some reason.

  • @sy-gb1xf
    @sy-gb1xf2 ай бұрын

    actually i face some problem when running the 'reopen in the container', i have an already build docker image, and after that when i try to reopen it in the container vs code shows error. so i do it another way which is from the docker extension, find the image i have build before, and right click the image, select the attach visual studio code, this make me able to open my ros2 workspace inside the container with vs code, but when i try to run my package after sourcing, it show package not found and unable to find /opt/ros/humble/setup.bash where i can find this file when i run ls /opt/ros/humble/setup.bash in terminal. anyone know what is the problem? thanks

  • @DavidVerhas
    @DavidVerhas2 ай бұрын

    does this work with podman desktop also?

  • @maurolimaok
    @maurolimaok3 ай бұрын

    Nice. Thanks!

  • @Darren_UnikMediaGroup
    @Darren_UnikMediaGroup4 ай бұрын

    absolute legend. thank you for this video lol

  • @jordiespinafont2984
    @jordiespinafont29844 ай бұрын

    This video is amazing, definetly changed my developement. I am trying it out and run into issues when connecting with another ROS system in the same network (in this case its a Turtlebot 4 using discovery Server) I am able to see the topics, but for example when I un `ros2 run teleop_twist_keyboard teleop_twist_keyboard` the robot does not react. I can ssh into the robot from the terminal, run the same command and then its happy times. What could be going on?

  • @adi-j-uc3qi
    @adi-j-uc3qi4 ай бұрын

    I really appreciate your videos Can you make video of dev container based on windows os, For ROS2 i had used ubuntu previously by dual boot but i liked windows because of its user friendly nature and i also use solidworks. I used Docker and xlaunch to use GUI tools in windows and was able to launch gazebo and rviz, but i would like to learn to do it from vscode via dev container. Thank you!

  • @avalagum7957
    @avalagum79574 ай бұрын

    The only problem (not to everybody) is that we have to use vs code.

  • @guruware8612

    @guruware8612

    4 ай бұрын

    you can always use vim to manage your 300 sourcefiles and depedencies, want to code like in the 1980's with a terminal and jump back and forth to man pages - go for it

  • @avalagum7957

    @avalagum7957

    4 ай бұрын

    @@guruware8612 'jump back and forth to man pages'? You don't know how to use vim/neovim yet 😊

  • @DaviAreias

    @DaviAreias

    4 ай бұрын

    You still have to manage your 300 dependencies in VScode with JSON instead of lua

  • @HoloTheDrunk

    @HoloTheDrunk

    4 ай бұрын

    @@guruware8612 Never had a proper vim config eh?

  • @RenderingUser

    @RenderingUser

    4 ай бұрын

    ​@@guruware8612blud thinks terminals are only for the 1980s 💀

  • @scott98390
    @scott9839016 күн бұрын

    Can I use something *other* than Docker Desktop, like Rancher Desktop or Podman?

  • @Fatykhoph
    @Fatykhoph18 күн бұрын

    Hello ! I really liked the way to develop that you've described. But, what I can do on arm ? Because osfr doesn't support this architecture. Maybe this can be the theme for new video ? Anyway, thanks for your efforts.

  • @Phoenix_1974
    @Phoenix_19744 ай бұрын

    Hey , can you post video series of simulation of 6dof robotic arm using ROS (Gazebo and Rviz) also using a Moveit …and lastly integrating it with Raspberry pi and physical 6dof arm……

  • @RolanRoyce
    @RolanRoyce4 ай бұрын

    I couldn't even get Docker to work. I tried installing it a few times, on Win 10, and every time the same error prevented it from starting. I don't have the text of it, but it sure did tick me off.

  • @eewls
    @eewls4 ай бұрын

    your channel is the billabong shirt of youtube

  • @abhispace4
    @abhispace44 ай бұрын

    Can this docker stuff be run with Visual Studio Professional? I don't use VSCode after trying to get into it several times in the past.

  • @mahahrishi
    @mahahrishi4 ай бұрын

    Does it work with WSL

  • @edhahaz
    @edhahaz2 ай бұрын

    more indirection is exactly what you need when that package errors out! for sure !

  • @devchandbothra7908
    @devchandbothra79083 ай бұрын

    Can we use this for professional development of products? Also, same question for research related development

  • @ArticulatedRobotics

    @ArticulatedRobotics

    3 ай бұрын

    Yes it's great for any kind of development where you are regularly changing environments (e.g. need to support different distributions)

  • @ubercorey
    @ubercorey4 ай бұрын

    Damn that is slick.

  • @user-ed9nb6ou1f
    @user-ed9nb6ou1f4 ай бұрын

    Great video about vscode +++++

  • @cgmiguel
    @cgmiguel3 ай бұрын

    What about the overhead?

  • @Maman-Setrum
    @Maman-Setrum4 ай бұрын

    this is new for me. wow

  • @alexg111
    @alexg1114 ай бұрын

    love the steam deck dev setup lol

  • @Amirtronics
    @Amirtronics3 ай бұрын

    Can you make a ROS Kinetik docker?

  • @garethjax
    @garethjax4 ай бұрын

    interesting, how much memory does it uses ?

  • @user-zu6wg9wt8m
    @user-zu6wg9wt8mАй бұрын

    what ubuntu theme is that? it looks really good

  • @ArticulatedRobotics

    @ArticulatedRobotics

    20 күн бұрын

    Ubuntu MATE, it's a different desktop environment to the standard GNOME. A bit lighter-weight.

  • @user-zu6wg9wt8m

    @user-zu6wg9wt8m

    19 күн бұрын

    Nice i might try it in a vm later

  • @ryanwiskes1881
    @ryanwiskes18814 ай бұрын

    Vs Code is so powerful, let’s hope Microsoft doesn’t realize they could charge for it - great video

  • @BrandonTomonGoogle

    @BrandonTomonGoogle

    4 ай бұрын

    They charge for visual studio, so I think they know. Besides the ide is just the gateway drug from their other services, like github copilot.

  • @yogpanjarale

    @yogpanjarale

    4 ай бұрын

    They are already indirectly with github copilot

  • @parlor3115

    @parlor3115

    4 ай бұрын

    Shhh 🤐

  • @moose43h

    @moose43h

    4 ай бұрын

    Just use the open source one

  • @SahilP2648

    @SahilP2648

    4 ай бұрын

    @@RajinderYadav VSCode is not even a code editor, it's just a glorified text editor running in Electron which makes it less efficient than any native text editor.

  • @hithishn2221
    @hithishn22214 ай бұрын

    I have a request (i am a mechanical eng with little knowledge about open stack electronics and i am a noob when it comes to coding)...can you make a video on how effectively can we use use CHAT GPT for writing codes for robotics application. Such as (simple... motor drive controller, PID tuning, IOT..To complex.. imaging, computer vision etc) If YES, how effective and to what extent can complex code problems can be solved. If No, can other near future Ai tools like gemini will they be able help ease of development of code for Robotics sector? Thank you, Your subscriber😊

  • @avalagum7957

    @avalagum7957

    4 ай бұрын

    I don't think it's possible at this moment. You can ask Chat GPT/Google bard to do things like this: In C programming language, write me a function that takes 3 arguments: an integer a, a boolean b and a string c then returns another string. Then you describe what your function logic is. If other people can understand what your function logic does when reading what you write, then those AI's might and be able to generate some code for you.

  • @Haddleton

    @Haddleton

    4 ай бұрын

    Unfortunately at this moment in time Chat GPT is very prone to just straight up lying about certain aspects of programming implementation - in particular it likes to make up functions that feel like they should be part of external libraries, but actually aren't. You have to already know about the thing you're asking it in order to make sure it's right... which kind of defeats the whole purpose. There are uses for it - but they're not super obvious or straightforward right now.

  • @HoloTheDrunk

    @HoloTheDrunk

    4 ай бұрын

    For any application that has to touch "real" things like databases, hardware or the such, I would heavily advise against trusting ChatGPT with anything.

  • @cartanfan-youtube

    @cartanfan-youtube

    4 ай бұрын

    The trick is that you don't use chatgpt and actually learn robotics code so you know what your building and what it's doing instead of blindly copy pasting from a glorified next syllable predictor

  • @felixyasnopolski8571

    @felixyasnopolski8571

    3 ай бұрын

    Just never ever use words "effectifely" and "ChatGPT" in one sentence, please. If you can't code - learn it, if you can get a grade on mechanical engineering, it's strange to see you whining about some code which even some kids can do.

  • @HomeEngineer-wm5fg
    @HomeEngineer-wm5fg4 ай бұрын

    I subscribed. Also on Twitter.

  • @msolace580
    @msolace5804 ай бұрын

    never had a issue without docker containers for my code bases. don't know if it really saves any time :/

  • @user-qj6jd1zz2b
    @user-qj6jd1zz2b4 ай бұрын

    hello sir, not relevant to this video but a request for a tutorial. im following your robot from scratch series to build my own firefighting mobile robot, im having troubles with integrating a thermal camera to my system because i, so used to your series that i cant find any tutorials online.

  • @radui7468
    @radui74684 ай бұрын

    Nice video and nice tool, but why is this useful? Does it really has any real benefits? Am I missing something?

  • @jeffreyhiggason4004

    @jeffreyhiggason4004

    4 ай бұрын

    Well for starters, we just added a ton of complexity to an already complex subject. When things break, now you are troubleshooting both docker and the underlying OS. Really though...for the average developer, you aren't adding anything except complexity.

  • @thecircusb0y1
    @thecircusb0y14 ай бұрын

    Dev on a deck , bold strat cotton

  • @RocketLR
    @RocketLR4 ай бұрын

    Most annoying for me is athat i need to develop from a lab enviroment that does not have internet access... So copilot which is my favorite tool does not work... I wish i could ssh into the remote dev server but have copilot go trough my own computer to the internet..

  • @jojje3000-1
    @jojje3000-14 ай бұрын

    X11 clients runs fine from within Docker container.

  • @Dexter101x
    @Dexter101x2 ай бұрын

    I’m not convinced I need docker still

  • @TheTimeProphet
    @TheTimeProphet4 ай бұрын

    Unless I can run WAMP and Angular 11 in Docker, then it is no good to me.

  • @rubiskelter
    @rubiskelter4 ай бұрын

    Linux is lagging behind with the lack of a RDP-like protocol to enable the GUI programs from running against containers. RDP desktops just look amazing.

  • @DanielVoogsgerd

    @DanielVoogsgerd

    4 ай бұрын

    It is not really lagging behind. There is/used to be X11 Forwarding, but ironically we are moving away from X11 at the moment.

  • @rubiskelter

    @rubiskelter

    3 ай бұрын

    @@DanielVoogsgerd how is it not lagging behind mate? X11 Forwarding is really buggy and unstable... would you say its on par with RDP? RDP works flawlessly. Probably something Wayland-based will have a decent RDP competitor in the future.

  • @DanielVoogsgerd

    @DanielVoogsgerd

    3 ай бұрын

    @@rubiskelter I thought you meant that there wasn't really anything. But fair enough, at least nowadays X11 Forwarding isn't really up to par with RDP I suppose. Although I think X11 used to be a lot better in the past, but applications are constructed differently nowadays. Personally I don't really use nor wanna use either 🤷‍♂️

  • @msahu2595
    @msahu25953 ай бұрын

    ❤❤

  • @tenkotalk
    @tenkotalk9 күн бұрын

    my brain hurt

  • @shalomcohen122
    @shalomcohen1223 ай бұрын

    Nix makes cu better than containers for development environments

  • @smiletolerantly

    @smiletolerantly

    14 күн бұрын

    Scrolled a long way to find someone mention nix, thank you!

  • @thedoctor5478
    @thedoctor54784 ай бұрын

    I use pycharm tho

  • @markusesslinger
    @markusesslinger3 ай бұрын

    Imagine you could just hit "compile" to have the computer build a binary of some hundred kb size that would do what you wrote in the source - without Docker, virtualization, installation or other ceremonies and gigabytes of wasted memory. Wouldn't that be cool? Too bad we lost that ability in this millennium. 😂

  • @ArticulatedRobotics

    @ArticulatedRobotics

    3 ай бұрын

    Yes, but now imagine you are responsible for developing tools that have to work across a variety of robotics platforms, each with different environments and dependencies and quirks, and now you don't need to have a whole VM for each one. (Which is the current practical alternative in industry). I'd prefer a couple GB docker image to a hard drive full of VM's but each to their own!

  • @markusesslinger

    @markusesslinger

    3 ай бұрын

    @@ArticulatedRobotics I probably didn't get my point across correctly. I neither blame you nor Docker, but rather the industry which brought us the mess with all those dependencies, quirks and VMs. As robotics often involves a second, incompatible hardware platform, that is actually acceptable - but nowadays people use Docker for tiny tools like Pihole and think nothing of it. We got used to ridiculous waste of resources to compensate chaotic development environments. Ironically, one of the few bright spots is the language in which Docker was written in: With Go, you can write self-contained, tiny binaries and even cross compiling isn't that hard.

  • @nzam3593
    @nzam35933 ай бұрын

    Yea have good AI over there😊

  • @ArticulatedRobotics

    @ArticulatedRobotics

    3 ай бұрын

    Thanks!

  • @NafunaTVchannel
    @NafunaTVchannel3 ай бұрын

    I havent seen a bilabong shirt in decades

  • @jeffreyhiggason4004
    @jeffreyhiggason40044 ай бұрын

    Explain to me why this is helpful as it relates to our ROS2 projects? You didn't do that. How exactly is me not using docker...wasting my time?

  • @ArticulatedRobotics

    @ArticulatedRobotics

    4 ай бұрын

    I guess there's two answers here. As to why Docker is useful in general, I've made a few videos on the topic. I think it's most helpful for package maintainers or people who are otherwise needing to work on multiple ROS versions or different sets of dependencies from a single machine. For example my main development machine is still running 20.04 and I chop and change between foxy and humble. This video in particular is about why Dev Containers make developing in a container (as opposed to deploying in a container) much easier, especially for people who are newer to Linux/working from Windows.

  • @jeffreyhiggason4004

    @jeffreyhiggason4004

    4 ай бұрын

    @@ArticulatedRobotics Thank you for responding.

  • @polarfamily6222
    @polarfamily6222Ай бұрын

    I wouldn't use any of those in development. I can't believe you feel this was correct. Very sad to see.

  • @pepposoftwaredev3950
    @pepposoftwaredev39504 ай бұрын

    "If you're not developing with this, you're wasting your time" are you the ultimate entity over everything. I have enough of titles designed only for you tubers monetization purpose which makes searching anything useless these days. I have nothing wrong with the video but still I have to see it or look at comments because the title (other than being a bit arrogant) is totally useless. You tubers please stop with this nonsensical titles and thumbnails. They \are making the you tube experience a waste of time

  • @ArticulatedRobotics

    @ArticulatedRobotics

    4 ай бұрын

    Yes, I do agree and it hurts me a little every time I have to do it! When I have the time I need to sit down and do some proper A-B testing with more straightforward titles/thumbs but it appears to me that this is just what you have to do to actually get the content viewed at all. My hope is that for most people they are satisfied enough with the result that they'll put up with it - I know that's how I feel about other creators. I try to put something in the description to help with searchability, I wish you could release with two sets of titles, one to drive stray clicks from general interest and one that is more informative for those searching a particular topic. It's definitely something I have to grow in, all I can say is that this video has outperformed my next best (in its first week) by over 4x, and if I called it "VS Code Dev Containers Overview", that wouldn't have happened, but I also don't want to waste people's time so perhaps there's a middle ground. :) Thanks for the feedback!

  • @pepposoftwaredev3950

    @pepposoftwaredev3950

    4 ай бұрын

    ​@@ArticulatedRobotics fair enough, thanks for replying that's much appreciated. While I am not much on you tube anymore I still enjoy good content from creators like you. my apologies, the comment was a bit too strong, sometime it can get frustrating..

  • @NeonGreenT

    @NeonGreenT

    4 ай бұрын

    ​@@pepposoftwaredev3950 No man, I agree with both of you but your comment was not even the tiniest bit too strong, google (or other search engines for that matter) and youtube search are really near useless for me or atleast like 20 times worse than they've been a decade ago and since they're like the gateway to internet content, the whole internet is suffering heavily from this. And it's not really the creators fault, it's the fault of silicon valley. You can literally memorize and search for the exact title of a (unpopular) video and it still won't show up, which is why I almost bookmark everything I consider revisitable cause I ain't gonna find it that easily by searching anymore.

  • @sixbutton9
    @sixbutton94 ай бұрын

    time was made for wasting. that's why i wrote programs.

  • @ordinarygg
    @ordinarygg4 ай бұрын

    I always like how all sh*t is put in container that sized 1Gb+, but in reality it's 99% apt get install a couple of packages ahahahahahahaha, overcomplicated for basically nothing.

  • @ArticulatedRobotics

    @ArticulatedRobotics

    4 ай бұрын

    Yeah it drives me nuts haha but at least it's smaller and quicker than a VM...

  • @user-zu6wg9wt8m
    @user-zu6wg9wt8mАй бұрын

    nice to see another linux user that makes coding vids

  • @TheS0meguy
    @TheS0meguy3 ай бұрын

    Remote SSH? /me laughs in Emacs trump mode!

  • @jj-icejoe6642
    @jj-icejoe66424 ай бұрын

    If you use this, you give all to Microsoft

  • @notcorrect
    @notcorrectАй бұрын

    If you are developing a container based application then using dev containers may not benefit you much.

  • @davidlee588
    @davidlee5884 ай бұрын

    good but tried and sadly not that useful

  • @danddietz
    @danddietz4 ай бұрын

    You created a problem by using containers in the first place and then “solved” the problem by forcing a specific editor with a bunch of extra tooling added. Terrible.

  • @astrovicis

    @astrovicis

    4 ай бұрын

    Sorry…who “created the problem” of different operating systems existing…? As a DevOps engineer, this is THE way to build things FAST. No offense, but you genuinely have no idea what you’re talking about.

  • @MiningForPies

    @MiningForPies

    4 ай бұрын

    Yeah. What a problem. Being able to compile your code against different environments from one machine. What a problem that is. Dumbest comment I’ve read this week.

  • @astrovicis

    @astrovicis

    4 ай бұрын

    @@MiningForPies It’s not just about compiling code for different environments, it’s about the environments themselves. You neglect those environments, you will fail, within each for a different reason, and you will not know why, and you will be overwhelmed. I take it you’ve never had to install proof-of-concept software on-prem for differing environments. Clock yourself the next time you set up a PostgresQL server. Guarantee I’ll do it 8x faster at minimum.

  • @MiningForPies

    @MiningForPies

    4 ай бұрын

    @@astrovicis why are you saying that to me. I’m for this method.

  • @MiningForPies

    @MiningForPies

    4 ай бұрын

    @@astrovicis and I’ve been installing proof of concept software on premises for 25 years. Including one client who has a none internet connected set of servers with 900GB worth of databases, who are limited to secure USB data transfer (max size 6GB). Don’t you fucking come at me with having no experience.

  • @ruizhen5747
    @ruizhen57472 ай бұрын

    Come on, if you are professional programmer, pay for JetBrain IDE, don't use free craps.

  • @davidescatton9028
    @davidescatton90284 ай бұрын

    Hi, very nice video and very usefull, I try to follow you but I got an error with vscode when I try to reopen in container, could you please help me? ERROR [dev_container_auto_added_stage_label 2/7] RUN groupadd --gid 1

  • @user-fl8gq5jp5g
    @user-fl8gq5jp5g4 ай бұрын

    Very awesome video