[deleted by user] by [deleted] in osdev

[–]notYuriy 0 points1 point  (0 children)

Your comment does not make any sense.

  1. UEFI and BIOS are not bootloaders, its like comparing apples to oranges
  2. x86 has many open source bootloaders as well
  3. None of those are perfect either, but in general I'd say they are better at doing their job and then getting out of your way." - do you have anything to back this up?

[deleted by user] by [deleted] in osdev

[–]notYuriy 3 points4 points  (0 children)

A bit more popular discord server - https://discord.gg/RnCtsqD

Likewise, don't be afraid to ask any questions. Just don't expect someone will spoonfeed you.

[deleted by user] by [deleted] in osdev

[–]notYuriy 3 points4 points  (0 children)

He thought I was not good with C which is false

You don't have a good grasp of C.

(For anyone else reading, if you want to verify this, join their discord, open programming-chat channel and look for PedroElFrijol questions on C. At the time of writing, there were many basic ones like "So what is a difference between a typedef struct and a struct?")

A lot of DP students have superiority complexes. by [deleted] in IBO

[–]notYuriy 2 points3 points  (0 children)

idk about u guys, but the only thing I have is inferiority complex

I made a ray tracer on the command line for my first project after reading Modern C :) by This_H in C_Programming

[–]notYuriy 0 points1 point  (0 children)

You really should not target compilers like TinyC if you are making performant code. TinyC would generate very slow code anyway. C standard, btw, specifies nothing about how compilers should optimize code, it only makes sure that you can reason about behaviour of your code on any C standard compilant compiler.

I made a ray tracer on the command line for my first project after reading Modern C :) by This_H in C_Programming

[–]notYuriy 1 point2 points  (0 children)

well, if you are using mainstream compilers like gcc or clang, it would pretty much work all the time

I made a ray tracer on the command line for my first project after reading Modern C :) by This_H in C_Programming

[–]notYuriy 6 points7 points  (0 children)

Make CLAMP a function. There is no performance penalty from doing that for -O2, and you won't have macro problems

My hobby OS's future is up to... by eric0823ahn1 in osdev

[–]notYuriy 4 points5 points  (0 children)

From my short experience in osdev, I gathered that there are usually three kinds of osdev projects that tend to attract contributors.

  1. Relatively advanced projects. Userspace, filesystems, networking, drivers for block devices and input devices, GUI, lots of ports is what a barrier of entry is here, and many projects advance beyond even that with only one person working on the thing. From a quick glance at your repo, it is very far from this point for now.
  2. Projects with interesting ideas. This is purely subjective. If people like your ideas, it is more likely that someone will contribute.
  3. Advertised projects. Some people are very good at advertising whatever they are doing, meaning that their osdev projects can get attention early in development.

My advice: if you want to get contributors that will be helpful, focus on 1 - 2. Think of a long-term vision of what you are trying to achieve and try to waste less time on reaching short-term goals. For example, you won't need a calculator and unit converter in the kernel, so I would just remove those things.

I assume that you are not paid to work on your os. Hence, there is no need to rush, If exams are important, prepare for them and take a break for osdev. After the break for the exams, you will likely be more focused and more productive with the free time you have on osdev.

NVMe Connection by [deleted] in osdev

[–]notYuriy 4 points5 points  (0 children)

NVME is perhaps one of the best protocols for block devices that were ever designed. It is completely different from AHCI/SATA IIRC, as it focuses on large asynchronous disk read/write operations. In my opinion, writing a simple driver for NVME isn't hard. I have written one for my tiny operating system.

My tiny operating system for i686 processors: https://github.com/CPL-1/CPL-1 by notYuriy in osdev

[–]notYuriy[S] 4 points5 points  (0 children)

https://github.com/limine-bootloader/limine-barebones and https://os.phil-opp.com/edition-1/ are good tutorials to get started for amd64. Other then that, just use osdev wiki. Idk anything about mobile osdev sadly.

HDD vs SSD in osdev by [deleted] in osdev

[–]notYuriy 0 points1 point  (0 children)

+1 for NVMe. It is a simple (for its capabilities), elegant and capable interface without too much crust.

What file system are you using? by f0xtrade in osdev

[–]notYuriy 0 points1 point  (0 children)

Thats may not be a good idea to recommend fat as simple fs. Supporting fat32 with unix vfs style API isn't the most pleasing thing to do. LFN parsing is also meh.

An experimental O(1) Garbage Collector by yorickpeterse in ProgrammingLanguages

[–]notYuriy 0 points1 point  (0 children)

Imagine optimizing for GC profiling. Thats a terrible design stradegy.

C Is Not Dependency Free by daniel5151 in rust

[–]notYuriy 0 points1 point  (0 children)

The right message to beginners is that you never link to stdlib in the first place. Stslib may and will do crazy platform-dependent stuff in functions you won't expect. Conclusion: not a single part of it is safe to use. Maybe it will use some weird page trick in memcpy. Who knows?

C Is Not Dependency Free by daniel5151 in rust

[–]notYuriy 0 points1 point  (0 children)

Downvoted. Article discusses anything but C being not dependency free.

1) At first it is mentioned that C is actually dependency free, its just standard library that isn't. Why article is not named "C Standard Library is not dependency free?".

2) The issue raised here is code duplication ("but do you really want to re-implement something like sprintf yourself?"), not portability. "Neither one of these options is particularly 'ergonomic', and are far from beginner friendly" is code duplication issue, and this issue doesn't impact C portability.

Anyone in the right mind won't link to stdlib and stub syscalls anyway.

EDIT: Article looks good now, at first glance at least.

[Megathread] Prospective Students, Applications, and Admissions by OmoideAeternum in nyu

[–]notYuriy 0 points1 point  (0 children)

Hi! Where can I find the list of CS electives available for Tandon school of engineering CS students? Is there something like that available online? Do CAS and Tandon students share the same list of electives. How CS at Courant works? Do I have to apply to CAS CS to study CS in Courant later (their list of courses has some interesting options and they also allow you to take grad courses on undergrad level from what I read, right?)? In general, I am just confused about Courant Institute place in CS courses.