Project: Write un-hackable code in C

Sdílet
Vložit
  • čas přidán 29. 08. 2024
  • Unchecked string handling is the main entry point for hackers. In this video you'll learn how to build a Safe string library, effectively stopping all evil at the door.
    In this episode you will learn how to code a C library, but you will also improve your knowledge and skill when it comes to pointers, advanced structures and Makefiles. In addition to this, you will also learn how to write your own string utility functions, like strlen() and memcpy().

Komentáře • 26

  • @yagami-light
    @yagami-light Před 3 měsíci +6

    Ayyy you did it, thanks for considering my suggestion

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 3 měsíci +3

      No problem, and thank you for the excellent idea. You got more? :) JB

    • @yagami-light
      @yagami-light Před 3 měsíci +2

      @@dr-Jonas-Birch simulate finite automata system (DFA) determined finite automata

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 3 měsíci +1

      Hehe interesting.. but I'd need to brush up my maths a little bit. You study Cs? JB

    • @yagami-light
      @yagami-light Před 3 měsíci +1

      @@dr-Jonas-Birch it's part of theory of computation subject, you don't need maths for it dont worry. also yes I am studying computer engineering

  • @Humble_Electronic_Musician
    @Humble_Electronic_Musician Před 3 měsíci +2

    This is extremely interesting!
    THank you

  • @AmanKumar-jk1qu
    @AmanKumar-jk1qu Před 3 měsíci

    Love you Dr jonas ❤
    can you do some video on how to build our projects from ideas to implementation and another video on reading documentation properly to learn some library I hardly finded any video on CZcams that cover this .
    Take care ❤.

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 3 měsíci

      Hi Aman, very interesting topics indeed. I will add them to my list. Take care, JB

  • @johnpapa8554
    @johnpapa8554 Před 3 měsíci +1

    Thank you for helping !

  • @Nathan-xv1nd
    @Nathan-xv1nd Před 3 měsíci +1

    Can you please add this to one of your playlists so that it easier to find

  • @ifox1291
    @ifox1291 Před 3 měsíci +1

    There's a banging in the background (a bit like tapping on a microfone), any way to get rid of that?

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 3 měsíci

      Fox, Hi, is it continous all the way through the episode or is it one bang, then X min ok, then a bang etc? Details will help me pinpoint what it might be. JB

    • @ifox1291
      @ifox1291 Před 3 měsíci +1

      @@dr-Jonas-Birch Seems to be in the whole video. Easier to hear when you turn up the volume. It's seems to be a very irregular rhythm, but it's constantly there.

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 3 měsíci

      Bad sound quality is the worst. I have a really good mic so there must be some kind of background noise. Is it the same problem in my other videos? JB

    • @ifox1291
      @ifox1291 Před 3 měsíci +1

      ​@@dr-Jonas-Birch Here's the C course: there's a big difference in quality between the quality in the structures part and before that. This is where the switch happens: czcams.com/video/Lf5V4OIRYcA/video.html
      In the later part of the video, there's the tapping sound as well, just not as often and the overall quality sounds the same as in this string video here. Hope that helps.

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 3 měsíci

      Thank you Fox, I will look into it. JB

  • @h3ssan
    @h3ssan Před 3 měsíci +1

    Thank you, Delicious content!
    Just POV: vim & nano are great and should be used everywhere, EXCEPT for programming. I like vim and use it everywhere and for everything except programming I get use of IntelliJ IDEs. Yes, vim and nano in programming are completely waste of time, since companies don’t give a shit about whether you used vim or a paper & pencil, they need the job done ASAP with no errors.
    Btw, Don’t count how many times I said “programming” lol
    Thanks again for the content, like it

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 3 měsíci

      Thank you dear Hassan for your honest oppinion, it is like a breath of fresh air. You are wrong though.
      Have you ever seen a video where the pro coder/youtuber realizes he needs to use the host's computer and vscode inst.
      coder> -oops, im not used to open() files without Githubcopilot, isn't the flags something like "w+'? I cant focus when a tab is four whitespaces! It' driving me INSANE!@
      Looks familiar? We've all seen videos like that. But you will never see me in that kind of videos, you know why?
      JB

    • @h3ssan
      @h3ssan Před 3 měsíci +1

      @@dr-Jonas-Birch
      Thank you Dr. Jonas for the reply.
      Sadly due to that English is my second language, I lost you in the second paragraph.
      About the spaces part, vim’s tab defaults with 8 spaces tho, you need to customize it, same to IDEs.
      I am totally agree in the 3rd paragraph, but noobs are noobs! There’s nothing we can do about it. Also, we can’t compare people who don’t know pointers who using vscode (just example) to pro coders who using vim (just example). But we can compare you when using vim and you when using vscode.
      Actually, for me, I found myself faster coding/debugging in IDEs instead of vim where I can benefit of:
      - real autocompletion
      - multi-cursor
      - change some name everywhere
      - built in terminal (or a simple shortcut to use Makefile instead of “exiting, run make, run the executable, reopen vim `or maybe fg`”)
      - lmk when there’s a typo in variable name.
      - GREAT DEBUGGING (built in)
      If you have debugging built in to vim, you won’t spend minutes (and maybe hours) trying to find out why the “copy” function isn’t working properly.
      btw, I like that you don’t do clickbait or “why i use vim” and then “why i left vim” and then “why i back to vim”.
      You’re amazing as well the content you provide. Thank you Dr. Jonas
      Edit: sorry for the long comment! Keep the good content up!

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 3 měsíci +1

      hehe I'm glad you like my content. And I actually use vsCode when I write Haskell or when doing Js/Ts/html etc. In those cases the Intellisense is actually quite helpful. I do always use the default settings though, in all applications everywhere, becaause I want to be effective even when using somebody else's computer.
      Vi is installed by default on any (non-windows) server since the 1980s and it's nice to always have access to it. Many of the problems you mention about Vi/Vim is true but if you use it along with the software "screen" it fixes most of them and screen is often installed by default too.
      JB

  • @energy-tunes
    @energy-tunes Před 9 hodinami +1

    1:06:37 😺😺

    • @dr-Jonas-Birch
      @dr-Jonas-Birch  Před 4 hodinami

      Hi there energy. I believe you are referencing that I dont update the pointer and you are worried that realloc() might change the original memory address? I dont think thats possible on linux but perhaps for other systems. See if you can make a proof of concept code which causes it to crash and I will stand corrected. JB