Let's read the Linux kernel source code

Поделиться
HTML-код
  • Опубликовано: 28 сен 2024
  • In this live stream, I rummage around the Linux kernel source and try to understand what makes computers do what they do.

Комментарии • 43

  • @dazealex
    @dazealex 8 месяцев назад +20

    FYI, the sound is coming on the left channel only in the beginning. But you fixed it later. Thanks for exposure to the source code.

    • @ants_are_everywhere
      @ants_are_everywhere  7 месяцев назад +3

      Thanks, sorry. This is one of many audio and video glitches I worked through when I was starting to do these. Things are a bit better now, but I'm still not totally happy. I appreciate this sort of feedback a lot because often something will look/sound good on my devices but then look/sound terrible on other devices.

  • @RogueCoder7505
    @RogueCoder7505 Год назад +27

    please make more tutorials like this. I want to contribute C code to linux but its so hard getting started

    • @ants_are_everywhere
      @ants_are_everywhere  Год назад +5

      Sure! By "like this" do you mean specifically about the Linux kernel?

    • @RogueCoder7505
      @RogueCoder7505 Год назад +4

      @@ants_are_everywhere anything in linux, including the kernel. I have seen advice online saying beginners should do some research on different projects in linux. Then find the one they're most interested in, delve into and contribute to it. Right now my I am still seeking, but I am still not in my comfort zone with this stuff yet 😢

    • @ants_are_everywhere
      @ants_are_everywhere  Год назад +20

      Oh yeah. I think that's overall sound advice, but it's still really hard, which is what you're experiencing. The way I think about it is that the "search cost" to find a project that's worth your time is very high. You need to not only be interested in it, but a bunch of other factors need to be in place (e.g. the community is a good fit, the community has strong developer practices, the project has a future that's worth investing your time in, the project needs to have clear open bugs that are suitable for newcomers to the project, etc).
      Personally, I feel like this is all a mess currently in open source. Because of the friction of finding a project to contribute to, instead of joining an existing project a lot of developers start new projects. This leads to a bunch of similar half-baked projects from developers trying to learn a new concept etc. This in turn makes the search costs higher for finding something to work on.
      I think reducing these search costs is one of the next big steps that needs to be taken in open source. Until then, probably the best you can do is add some randomness to your search. E.g. come up with a number of candidates and randomly choose a subset to explore further. Randomized search tends to do a pretty good job when costs are high.

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

      Before getting start to contribute you to know how Linux works then you can read it

  • @JoshuaRose-hm3xq
    @JoshuaRose-hm3xq Месяц назад +2

    My left ear loved this

    • @ants_are_everywhere
      @ants_are_everywhere  Месяц назад +1

      Lol :) is it not coming through the right side for you? It does for me

    • @JoshuaRose-hm3xq
      @JoshuaRose-hm3xq Месяц назад +2

      @@ants_are_everywhere nah im kidding, but for the first few mins or so it was playing left channel only, great video btw

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

      @@JoshuaRose-hm3xq lol thanks :)

  • @michalsvihla1403
    @michalsvihla1403 Месяц назад +3

    That 0.1% Python code 💀 I hope that's just the integration of the interpreter.

    • @ants_are_everywhere
      @ants_are_everywhere  Месяц назад +3

      I was curious so I looked... it seems to be testing and tools github.com/search?q=repo%3Atorvalds%2Flinux+language%3APython&type=code

  • @johnny_silverhand
    @johnny_silverhand 19 дней назад +1

    I love this content

  • @HoaHa-h9w
    @HoaHa-h9w 7 месяцев назад +2

    Is it necessary to understand how operating system works before u can understand this. Because im having hard times reading and comprehending the codes in Linux, let alone finding bugs in the code. Do u have any recommendations for me? Thanks

    • @ants_are_everywhere
      @ants_are_everywhere  6 месяцев назад +8

      > Is it necessary to understand how operating system works before u can understand this
      This is a good question, but I don't have a great yes-or-no answer. In general, you'll have an easier time the more context you have about operating systems. But context is really just having been exposed to it before. And looking at the code is a reasonable way of getting exposed to an operating system if you enjoy reading code. I probably know less about operating systems than a lot of people watching the video because my background is in math and I never took an OS class like most CS majors do.
      I'm a bit unusual here because I try not to be too concerned with whether I "understand" something. A lot of what we take to be understanding is really more of a feeling than a fact about what we know. And the psychology research says generally that the feeling of understanding isn't generally correlated with our actual level of knowledge. Understanding is a bit like a fractal. The more you know the more you realize there is a great deal you don't know yet. So often your feeling of understanding actually decreases as you dig into a topic further. I think for these or related reasons, a lot of dictionaries will define the word "understand" to be basically a synonym of "be familiar with". So that's how I think about it. I think in terms of "familiarity", which is fairly easy to reason about, rather than "understanding", which is very hard to reason about.
      > Do u have any recommendations for me?
      I would say that in general most people don't comprehend the code of Linux. There's just too much of it and it's very complicated. Linus Torvalds probably has a good grasp on most of it, but I doubt he really understands all of it since there are sub components that are fairly specialized and may only be of interest to a few organizations. So my first recommendation would be to not be too hard on yourself for not understanding :)
      My second recommendation would be to figure out what it is you really want out of understanding the code. If it's to find bugs, then it's not clear to me that understanding the code is the easiest way to do that. It may be simpler to get really good at fuzzing and fuzz the hell out of everything. If your goal is to gain a deeper technical understanding of OSes, then it may make sense to read the code alongside an OS textbook or lecture videos [0]. If you don't know what you want yet and just have an irresistible urge to understand the kernel, then maybe the thing to do is meander around the code until you find something that grabs your interest and then focus on that.
      But really make sure you are having fun and not stressing yourself out about not getting things. If you're doing anything sufficiently technical you're going to be spending a lot of time being confused, so I personally believe it's good to take a lighthearted approach to the feeling of confusion.
      [0] If you haven't seen them yet, I really like John Kubiatowicz's lectures from the Berkeley OS class: ruclips.net/p/PLF2K2xZjNEf97A_uBCwEl61sdxWVP7VWC

    • @adibzadeh
      @adibzadeh 2 месяца назад +1

      @@ants_are_everywhere This was such a great comment. Thanks a lot.

  • @mondgrille
    @mondgrille 8 месяцев назад +2

    Is the video fully AI generated? Looking good!

  • @sureslendy
    @sureslendy 3 месяца назад +2

    Nice ASMR, LOL

  • @ktxed
    @ktxed 3 месяца назад +1

    dude browses kernel code in the browser: GTFO

  • @timminn
    @timminn 7 месяцев назад +3

    the vlogger seems totally unprepared and unexpierenced. dont waste your time on this video.

    • @ants_are_everywhere
      @ants_are_everywhere  7 месяцев назад +8

      lol

    • @martiananomaly
      @martiananomaly 7 месяцев назад +1

      It's a livestream?

    • @ants_are_everywhere
      @ants_are_everywhere  7 месяцев назад +5

      @@martiananomaly Yeah, it's an improvised live stream. For each episode I look at a repo I haven't seen before.

    • @lagsync
      @lagsync 4 месяца назад +1

      I think it's cool

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

      linux kernel only for 1.5h ?
      I wonder do you ever finish your projects ?
      biggest L.

  • @InfiniteCoder01
    @InfiniteCoder01 11 месяцев назад +6

    This would be a great stream

    • @ants_are_everywhere
      @ants_are_everywhere  11 месяцев назад +3

      It *was* a great stream 😎 I've been thinking about returning to the Linux Kernel again for a round 2.

  • @RogueCoder7505
    @RogueCoder7505 Год назад +6

    didnt know the winter soldier can code O_O

    • @ants_are_everywhere
      @ants_are_everywhere  Год назад +3

      lol, wait am *I* the winter soldier??

    • @ants_are_everywhere
      @ants_are_everywhere  Год назад +3

      lol that's awesome. I'm not sure where your other comment went, but I'll take that as a compliment 😎

    • @RogueCoder7505
      @RogueCoder7505 Год назад +3

      @@ants_are_everywhere not sure where it went either but yes its a compliment

  • @NimaqAlizadeh
    @NimaqAlizadeh 4 месяца назад +1

    Thanks a lot🎉🎉

  • @yagmursimsek8366
    @yagmursimsek8366 5 месяцев назад +1

    Thank you for the video!

  • @Awwe12675
    @Awwe12675 8 месяцев назад +1

    How many lines?

    • @ants_are_everywhere
      @ants_are_everywhere  8 месяцев назад +1

      In the Linux codebase? sloccount says 25,364,187 in the main branch

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

      ​@@ants_are_everywhereand hou much you read ?
      100?
      Looser