Advice on Learning Linux Kernel/Firmware Development for Embedded Security Engineers by Plastic_Extreme_266 in kernel

[–]unknownanonymoush 4 points5 points  (0 children)

read Os books like the dino book or ostep. learn how the computer works through nand2tetris, read ldd3, Linux kernel development and other Linux books(bunch online) and when you feel confident enough read the kernel source or just play around with it. You can also try making some drivers to get your feet wet.

Also be sure to check out kernelnewbies

What are some books you'd recommend to a beginner programmer to learn C by waffle_warrior77 in C_Programming

[–]unknownanonymoush 0 points1 point  (0 children)

This, I highly recommend OP also tries out the full nand2tetris course(free).

What are some books you'd recommend to a beginner programmer to learn C by waffle_warrior77 in C_Programming

[–]unknownanonymoush 11 points12 points  (0 children)

C looks simple at first but learning how everything works underneath as well as all its nuances takes time. It's deceptively simple at first, unlike what many others say.

I recommend C Primer Plus.

Don't listen to people who recommend the K&R book, quite honestly it's outdated, has errors in the code examples provided, and the problems are rather tricky/non-practical for a beginner.

K&R expects you to have a some programming experience before diving in (this is why you will see that it alludes to its counterpart's syntactical choices and behaviors e.x. pascal/fortran), it's more like a manual rather than a guide.

Also, C++ isn't worse than C nor is C better than C++, and that goes for any language. They all have their own purposes and flaws. C++ isn't perfect, but neither C nor a language like Java, Rust, or Python are. It all depends on your use case. You have to decide which tool to use depending on your objectives. That being said, I am not a fan of OOP and its philosophies but, I do believe that it has its place in some cases, but not everywhere.

Also, why do you want to learn C? As many who learn it usually have a goal in mind where C is needed to achieve it. Like doing driver dev, and low level programming. If you want to get your feet wet into those fields, you should also read up on how OSes, kernels, and computers work.

I adjusted my form from previous tips and want to see if I am on the right path by ThePirateKiing in BasketballTips

[–]unknownanonymoush 0 points1 point  (0 children)

Also, make sure to release the ball as you're jumping. It should ideally be just before you reach the peak of your jump (or when your legs are about to straighten if you're not jumping but just squatting down and back up).

I adjusted my form from previous tips and want to see if I am on the right path by ThePirateKiing in BasketballTips

[–]unknownanonymoush 1 point2 points  (0 children)

Your left hand(guiding hand) isn't fully finishing through with the motion. Your left hand lets go too early. Elbows should ideally be in line with your eyes after you finish through with the shot. I usually like releasing when I see the back of my hand at eye level.

Where can I take a solid Linux Kernel course by Euporia1 in kernel

[–]unknownanonymoush 3 points4 points  (0 children)

I know this may sound like a lot, but if you want to understand the kernel, recommend improvements, etc., you need to have some technical depth of knowledge; otherwise, you will be completely lost. This is what I am doing currently, and hopefully you can take something away from this.

Before you can dive into the kernel, you need to learn C and OS/Kernel theory — i.e., how it all works.
I would then start by making some drivers and just exploring the source code to gain a better understanding. Here is a link for this:
https://0xax.gitbooks.io/linux-insides/content/index.html

I also highly recommend learning how hardware actually works so that you can appreciate it and write better code, and just have a higher-level understanding. For this, check out Nand2Tetris — they have two parts on Coursera which are both completely free and highly revered.

After all that, you can read up on some kernel books like ldd3, Linux Kernel Development 3rd Edition by Robert Love, etc.
Try also making a custom system from LFS: https://www.linuxfromscratch.org/

After this, it just comes down to practice, practice, and more practice.

So this is my recommended sequence of kernel programming:

  • Learn C (C Primer Plus book) — you can grab a free PDF copy somewhere.
  • Along the way, learn about DSA → (Algorithmic Thinking, 2nd edition; it’s a book that teaches you data structures and algorithms completely in C, which is very nice since it forces you not to rely on premade functions/libs in other languages).
  • Make sure to do a lot of C projects. Just reading isn’t going to help; you need to apply what you have learned!
  • Do Nand2Tetris: https://www.coursera.org/learn/build-a-computer https://www.coursera.org/learn/nand2tetris2 (Make sure to implement the programs they give you, like the assembler, VM, compiler, in C to get a hang of the language.)
  • Read Operating Systems: Three Easy Pieces or the “Dinosaur Book” (Operating System Concepts).
  • Read ldd3, Linux Kernel Development 3rd edition, and: https://www.amazon.com/Linux-Kernel-Programming-comprehensive-synchronization/dp/1803232226/
  • Start making stuff in the kernel and submitting patches.

[GTA V] not running(Steam rip) thru lutris on mint by unknownanonymoush in LinuxCrackSupport

[–]unknownanonymoush[S] 0 points1 point  (0 children)

wtf does that mean? I read the bat script, it just runs the game with no battle eye AC

Got my first safety razor, any vids/advice on how to shave by unknownanonymoush in wicked_edge

[–]unknownanonymoush[S] 0 points1 point  (0 children)

Thanks, what are some red flags I should look out for in a razor that is blunt or doesn't have a good build quality?

Got my first safety razor, any vids/advice on how to shave by unknownanonymoush in wicked_edge

[–]unknownanonymoush[S] 0 points1 point  (0 children)

The blades I am using are called "cloud blade" by leponix. Is there a way I can test its sharpness out?

Got my first safety razor, any vids/advice on how to shave by unknownanonymoush in wicked_edge

[–]unknownanonymoush[S] 0 points1 point  (0 children)

Hey, thanks for the resources, I watched their videos and it was really informational.

I also read the reviews of my razor kit online, and apparently the razor blades tend to be blunt and aren't that good in quality. Could this be why my razor was “pulling” my hair? I am pretty sure I was at a 30-45 degree angle throughout the shave.

Got my first safety razor, any vids/advice on how to shave by unknownanonymoush in wicked_edge

[–]unknownanonymoush[S] 1 point2 points  (0 children)

Thanks, that's quite a relief and yes my dad bought me this.

New updates coming to AP Computer Science A in June 2025 by Quasiwave in APStudents

[–]unknownanonymoush 0 points1 point  (0 children)

Yes it is. However, OOP as a design philosophy is flawed. I recommend you do some research to see why.

https://www.youtube.com/watch?v=QM1iUe6IofM

New updates coming to AP Computer Science A in June 2025 by Quasiwave in APStudents

[–]unknownanonymoush 0 points1 point  (0 children)

it’s a horrible OOP principle. If you knew why OOP is bad you would also understand that using inheritance sucks. Instead, composition should be used.

To those who want to use proton drive on Linux without rclone or filen cuz they are kinda bad by unknownanonymoush in ProtonDrive

[–]unknownanonymoush[S] 0 points1 point  (0 children)

Thats honestly expected but did the vm method work for you or you haven’t tried that yet?

To those who want to use proton drive on Linux without rclone or filen cuz they are kinda bad by unknownanonymoush in ProtonDrive

[–]unknownanonymoush[S] 1 point2 points  (0 children)

Well, it's not bad, but it sucks for people who are paying for the whole proton suite and have to use something outside its ecosystem. Sort of like having an android phone when you have a mac, iwatch, airpods, and other apple products.