Practical Software
Practical Software
  • Видео 8
  • Просмотров 15 940
How to: Microcontrollers (Part 1)
In this video I give a brief introduction to what microcontrollers are, how are they compared to microprocessors (briefly!) and the role they usually play in applications.
This is the part 1 of a two part video. In the second part I show how to program an STM32 microcontroller using all the knowledge from past videos.
00:36 What are microcontrollers
00:55 Differences from a CPU
02:00 Peripherals
03:31 Determinism
04:43 Arduino
05:51 ESP32
06:31 Raspberry Pico
07:22 STM32
08:42 Outro
Просмотров: 463

Видео

LiDARs: Software Engineering a Driver
Просмотров 1,2 тыс.4 месяца назад
Welcome! In this video I introduce the world's coolest sensor: LiDARs. You will learn about its working principle, application, how to write a program to communicate with one, and much more! 1:00 Introduction 1:47 LiDAR Working principle 3:29 Types of Mechanical LiDARs 4:22 Solid State LiDARs 5:22 Costs 6:06 Applications 7:21 Start developing a LiDAR driver 8:15 RPLidar SDK 10:27 Using our fork...
Three Body Problem: A software engineering case
Просмотров 4146 месяцев назад
In this video I talk about the thinking behind building a Three(N)-body simulator from scratch: Architecture, components, data structures.. and much more. Also included is an actual renderer-simulator combination if you want to try yourself! 0:20 Intro 2:48 The requirements 4:20 Architecture 12:06 Dev Environment 13:48 CMake 14:22 Code tour: Classes 19:04 Simulator function 20:34 A bit of motio...
How to: Development Containers
Просмотров 4347 месяцев назад
Development containers are proving to be an extremely convenient technology that allows you to almost completely port development environment alongside your code. With it, you can share (and clone) your code without worrying about missing parts for building your project. code: github.com/Marcus-Forte/learning-dev-containers.git In this video we will discuss how you can start with this beautiful...
How to: Software testing with C++ (+ github actions)
Просмотров 8378 месяцев назад
Hello and welcome! In this video I talk about a crucial topic in software engineering: Testing. I discuss types of tests, its importance, some principles such as dependency injection and more. Of course the video is not without some practical exercises: we explore, GTest, GMock and even Github actions for running test over CI environments. Repository available at: github.com/Marcus-Forte/learni...
How to: gRPC in C++
Просмотров 8 тыс.9 месяцев назад
gRPC is a great piece of technology with which we can easily define a robust server-client service and data interface. In this video I give you a good perspective on its capabilities and present a demo where multiple machines of different operating systems and different programming languages interact with the same server! 0:00 Intro 0:46 RPCs 1:12 gRPC pro 1:42 Protobuf 4:46 Experiment 6:06 gRP...
How to: STL algorithm with parallel CPU and GPU
Просмотров 4169 месяцев назад
In this video I give a primer on data transformation and data reduction offered by STL algorithm library of the C standard. I show how powerful some standards are, specially when trying to apply the same interface on implementations that offer CPU or GPU parallelism. Have a look on the summary to know what you can expect: 0:00 Intro 1:03 The STL Algorithm 2:28 Data transformation 3:36 Data redu...
How to: Modern CMAKE
Просмотров 4,2 тыс.9 месяцев назад
CMAKE is a tool that establish the foundation to many C projects out there. In the video I show practical examples using the tool for a basic C package. 00:00 Intro 02:00 Summary 02:24 Setup with docker 05:00 Vscode extensions 05:34 CMAKE install 06:12 CMAKE setup 07:06 Building a program 09:13 Building a library 14:59 Project dependencies 20:04 Packaging Music by: mezhdunami

Комментарии

  • @wlepnoga
    @wlepnoga День назад

    The Wait() function starts an infinite loop, how to end it correctly? What does it mean from another thread?

  • @stefanmuck2048
    @stefanmuck2048 4 дня назад

    Thank you very much. That helped me getting kick-started with grpc and protobuf.

  • @meu22422
    @meu22422 5 дней назад

    Thank you for starting this series. Much needed and much appreciated. Following

  • @humanamentemedica8670
    @humanamentemedica8670 10 дней назад

    Excelente!👏🏻👏🏻👏🏻

  • @SYNAPSEdwl
    @SYNAPSEdwl 10 дней назад

    I've seen your previous materials, they're well done, they provide a lot of knowledge, so I'll be happy to watch the newest one. Thanks. Take care.

  • @ВиталийБаханович-ч9ь

    Thanks for the video. Really helped with cmake

  • @learningcode314
    @learningcode314 23 дня назад

    Very helpful. Thanks a ton!

  • @SYNAPSEdwl
    @SYNAPSEdwl Месяц назад

    Great job! Thank you. Take care :-)

  • @jayaprakash7959
    @jayaprakash7959 Месяц назад

    great tut

  • @mastermind9711
    @mastermind9711 2 месяца назад

    Could ypu please share the link of the docs where the gRPC installation is mentioned? I tried searching for it but couldn't find any. I want the linux commands

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 2 месяца назад

      Sure. What I did was follow steps in grpc.io/docs/languages/cpp/quickstart/ and put them in the Dockerfile - specifically Linux & MacOs commands. Main difference being that inside a docker, you don't need to specify CMAKE_INSTALL_PREFIX, you can install system-wide

  • @robertparenton7470
    @robertparenton7470 2 месяца назад

    Thank You!

  • @ozimandias1858
    @ozimandias1858 2 месяца назад

    Hi! I had a problem writing a cmake file that supports the case where one proto imports another inside itself. Could you please drop a link where a similar design is implemented. Everything I found is too cumbersome compared to what you have in video

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 2 месяца назад

      I will share a public repo I worked on for pointcloud processing. Look for the `grpc`folder, I use multiple grpc files! github.com/Marcus-Forte/pointcloud-tools/tree/main/grpc

  • @ozimandias1858
    @ozimandias1858 3 месяца назад

    Need video about templates

  • @ozimandias1858
    @ozimandias1858 3 месяца назад

    Отличное видео, супер. Ещё бы про профилевщики и дебаггеры. Название не подходящие из-за чего, на мой взгляд, мало просмотров. Я вообще изначально думал, что здесь про проектирование контейнеров std :-) В целом очень рад, что нашел Ваш канал. На русском такого контента очень мало. Смотрю вас на 0.75 и по нескольку раз. Некоторые уроки прохожу вместе - открываю ide и пишу.

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 2 месяца назад

      Could be a translation thing indeed, but I really meant Dev. Containers as in docker containers

  • @ozimandias1858
    @ozimandias1858 3 месяца назад

    Need videos about docker :-)

  • @sharathshetty8052
    @sharathshetty8052 3 месяца назад

    I subscribed because of C++ content done well. Funny thing, I first used RPC with C++ back in 1995 with DCE/Encina. After that I implemented RPC multiple times using raw TCP or HTTP or NATS. Recently a customer asked for gRPC, so here I am. 😀

    • @innovationmafia3754
      @innovationmafia3754 2 месяца назад

      same here 😃

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 2 месяца назад

      You're a legend to use RPC that long ago!

    • @sharathshetty8052
      @sharathshetty8052 2 месяца назад

      ​ @practicalsoftwaremarcus Naah, just makes me old. Concepts of marshalling/unmarshalling data existed even before that in Borland C++ libraries. Marry that with messaging, you can build your own RPC. I also worked on CORBA with C++ later, which used the IIOP protocol. But firewalls killed IIOP, and web services took off. GRPC is just the recent iteration of RPC protocol.

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 2 месяца назад

      @@sharathshetty8052 I am familiar with this too. Worked in the semiconductor industry where they invented their own serialization /interface definition file 20 years ago ;). To me gRPC/Protobuf really captures a common problem.

  • @damondouglas
    @damondouglas 4 месяца назад

    Thank you so much for such a clear explanation.

  • @rakshitx1
    @rakshitx1 4 месяца назад

    What are your opinion on ROS and its current state?

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 4 месяца назад

      I've used ros and ros2 (more than ros1) for many years, both for academic and industrial applications. I think it is a brilliant framework and ros2 especially forces you to use nice software design patterns on the way. It does achieve its goal which is to facilitate development and decoupling of different problems. Over time I've been using less because it always introduced such a big dependency to the application, among other constraints. What if I want to build software for a particular Linux distro or hardware that does not support it(not even compilable..)... Maybe I will make a video on it ;)

  • @niko_ferrey9118
    @niko_ferrey9118 4 месяца назад

    Absolutely awesome. It would be amazing if you can explain how to use a raspberry pi in robotics and how to make a deployment from a laptop. Keep it going!!

  • @rakshitx1
    @rakshitx1 4 месяца назад

    Great Video, would love to know how to make those diagrams

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 4 месяца назад

      I will make on dedicated to UML and the thinking behind crating diagrams!

  • @sr.otavio8248
    @sr.otavio8248 4 месяца назад

    awesome explanation

  • @pedrorabitti2618
    @pedrorabitti2618 4 месяца назад

    Great video! Keep making content!

  • @rakshitx1
    @rakshitx1 5 месяцев назад

    How about making a discord server for connecting?

    • @rakshitx1
      @rakshitx1 5 месяцев назад

      Great content btw!!

  • @akshaypratap4123
    @akshaypratap4123 5 месяцев назад

    Great tutorial. From next time please post a github repo of your demonstration so that it would be easier for us to pick code.

  • @rishiniranjan1746
    @rishiniranjan1746 5 месяцев назад

    This has helped me a lot integrating grpc using docker approach. Thanks ❤

  • @rishiniranjan1746
    @rishiniranjan1746 5 месяцев назад

    Today i spent 5 hours straight to make cmake file run but of no use. I added grpc as a submodule. I received lots of file not found issues. Could you suggest any good cmake tutorial?

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 5 месяцев назад

      I have a video on cmake, have you checked it out? In my next video I will use grpc with cmake once, so maybe it helps further!

    • @rishiniranjan1746
      @rishiniranjan1746 5 месяцев назад

      @@practicalsoftwaremarcus yes I'm going through all your videos. 💓

  • @sirrcharles1869
    @sirrcharles1869 5 месяцев назад

    Thanx for this super clear tutorial, you are a great teacher!

  • @munna5553
    @munna5553 5 месяцев назад

    Can you please make video on Drogon c++ web framework

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 5 месяцев назад

      Hey! I am not familiar with it. Looked interesting. I will think about it!

  • @munna5553
    @munna5553 6 месяцев назад

    Can you please make video on Drogon c++ web framework installation please

  • @mr.shredder5430
    @mr.shredder5430 6 месяцев назад

    great tutorial, with the cmake 👍

  • @CarelessOutcast
    @CarelessOutcast 6 месяцев назад

    I really enjoyed this! Thanks for the content :)

  • @r3corpinformatica
    @r3corpinformatica 6 месяцев назад

    Very good..👍

  • @Maximus98245
    @Maximus98245 6 месяцев назад

    Why not just use wsl ubuntu on windows?

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 6 месяцев назад

      Wsl is something that works on windows only, while docker in any machine. I think covering docker is more generic!

    • @yokozombie
      @yokozombie 6 месяцев назад

      looks like if you upgrade wsl to version 2, docker able to run containers like this on windows seamlessly. I haven't tried it myself yet, still checking tutorials. the sense to use container instead of entire wsl is that you got very clean "machine" without leftovers of your past projects and broken configs, and if you screw up, you can just burn container with fire and start in a new container

  • @samuelmagilocusts2870
    @samuelmagilocusts2870 6 месяцев назад

    Very cool. I need to learn how to write code like that.

  • @seangroks
    @seangroks 6 месяцев назад

    Only comment i'd recommend is make it easier to read your code. I have to fullscreen in order to see what you're trying to show.

  • @seangroks
    @seangroks 6 месяцев назад

    i've been dreaming of making software simulations for space, thanks so much!

  • @r3corpinformatica
    @r3corpinformatica 7 месяцев назад

    Vc fala português?your accent is pretty much of someone from brazil.... haha.... good videos btw

    • @practicalsoftwaremarcus
      @practicalsoftwaremarcus 6 месяцев назад

      You got it! I am 🇧🇷😀

    • @r3corpinformatica
      @r3corpinformatica 5 месяцев назад

      @@practicalsoftwaremarcus Irmaõ será que tem como vc me ajudar a encontrar trabalho por ai? Aqui no brasil está complexo....

  • @sarahfacanha
    @sarahfacanha 7 месяцев назад

    Great!

  • @王小明-p4j
    @王小明-p4j 7 месяцев назад

    This demo really use "Modern CMAKE", which complies the standard nowadays, nice.

  • @flipflop1758
    @flipflop1758 7 месяцев назад

    The audio is so low.

  • @theintjengineer
    @theintjengineer 7 месяцев назад

    You got another subscriber (because of the C++ Content haha). Btw: I'm also another Electrical Engineer who got lost in Software Engineering😅. Also, are you Brazilian?

  • @sarahfacanha
    @sarahfacanha 8 месяцев назад

    Cool, thanks!

  • @Goodwill345
    @Goodwill345 8 месяцев назад

    Wonderful Video of all the capabilities

  • @JeffLiuth
    @JeffLiuth 8 месяцев назад

    Leandro Twin + obrigado

  • @FaelldiSousa10
    @FaelldiSousa10 9 месяцев назад

    Mah, responde o direct kk

  • @sarahfacanha
    @sarahfacanha 9 месяцев назад

    Great!

  • @elliepistalerro3097
    @elliepistalerro3097 9 месяцев назад

    Thank you a lot! Please, continue to create a content

  • @pauloabner
    @pauloabner 9 месяцев назад

    Great.

  • @llawliet2248
    @llawliet2248 9 месяцев назад

    that a pretty cool and helpful block of information i just received! THANKS.

  • @sarahfacanha
    @sarahfacanha 9 месяцев назад

    Nice content 👍