Image 1 — Took me 2 hrs but result is good
Image 2 — Took me 2 hrs but result is good

Took me 2 hrs but result is good

My keeb was very dirty so I cleaned it inside out first one is before second one is after

u/Sensitive-Can9232 — 2 days ago

hello , just wanted some constructive criticism on my idea

so i went to the doctor yesterday for viral infection in there his attendant was registering all the patients in a register notebook, then an idea pop up what if we digitize that data so that the doctor and other medical staff can see the data insights ( i am only considering sole one doctor clinics in here not even one man hospitals also i went to a doctor in metropolitan so it is not rural area) what do you think about that

reddit.com
u/Sensitive-Can9232 — 2 days ago

Any senoir from ba political sci(hons) need some info please help 😭😭😭😭😭😭😭😭😭😭😭😭😭😭( pic unrelated)

u/Sensitive-Can9232 — 17 days ago

21M any active recession on the temple other temple has almost no recession at all

2 years difference first one is just taken

u/Sensitive-Can9232 — 1 month ago

doubt

in this question C. Inversion of a Subsequence of the yesterday's contest how you were able to forsee the if the total sum of the pair which are of differnt value is 0 ( sum of value in a) we can still do it in 2 step i was able to do for even and odd value for greater then 0 but still not able to know why for 0 ( when the sum of a is greater then 0);

reddit.com
u/Sensitive-Can9232 — 1 month ago

should i go deep into distributed system, or do what all are doing.

in short i like about the under the hood stuff, i made a small OS(similar to ms-dos) currently doing a low level internship(driver support and all), now i want to study about distributed system and make a project on it , i am upcoming in my 3rd year should i do this or do what all are doing al and all( also i dont have any exp in js , ts, html , css ).

reddit.com
u/Sensitive-Can9232 — 1 month ago
▲ 10 r/osdev

A error which can really confuse a newbie

Setup

We will need a memory buffer and a pointer to it. For example, let's create a buffer of 512 bytes that will store our allocation blocks, each of which will be 32 bytes. We will call _aligned_malloc throughout the examples in this chapter to allocate our blocks of memory so that the returned memory is always paged aligned. It is recommended to build the allocators in user mode to facilitate debugging. You can simply replace the call of _aligned_malloc to your own alloc_pages function later on. This function should allocate free physical pages and map them into the address space. You can also just set free_list to point to a heap store if you plan to use it as a heap allocator. In all cases, we need free memory to work with.

void
* free_list = _aligned_malloc (512, PAGE_SIZE);
const
 
int
 allocation_block_size = 32;

We then need to initialize the free list. Remember that each block is 32 bytes in this example, so we simply insert a LIST_ENTRY every 32 bytes to create the free list. Note how we set link->next of each entry to point to the next LIST_ENTRY.

LIST_ENTRY* link;
uint8_t* block = (uint8_t*)free_list;
for (
int
 i = 0; i < allocation_block_size - 1; i++) {
   link = (LIST_ENTRY*) block;
   link->next = (LIST_ENTRY*) (block + allocation_block_size);
   block += allocation_block_size;
}
/* last entry should point to NULL. */
link = (LIST_ETRY*) block;
link->next = NULL;

The above code creates the free list. Note that each LIST_ENTRY is located right at the start of each allocation block (in this example, each allocation unit is 32 bytes.) We use the free allocation units themselves to store the linked list.

Allocation
Setup

We
will need a memory buffer and a pointer to it. For example, let's
create a buffer of 512 bytes that will store our allocation blocks,
each of which will be 32 bytes. We will call _aligned_malloc
throughout the examples in this
chapter to allocate our blocks of memory so that the returned memory
is always paged aligned. It is recommended to build the allocators in
user mode to facilitate debugging. You can simply replace the call of
_aligned_malloc to
your own alloc_pages function
later on. This function should allocate free physical pages and map
them into the address space. You can also just set free_list
to point to a heap store if you
plan to use it as a heap allocator. In all cases, we need free memory
to work with.
void* free_list = _aligned_malloc (512, PAGE_SIZE);
const int allocation_block_size = 32;
We then need to initialize the free list. Remember that each block is
32 bytes in this example, so we simply insert a LIST_ENTRY every 32
bytes to create the free list. Note how we set link->next of each
entry to point to the next LIST_ENTRY.
LIST_ENTRY* link;
uint8_t* block = (uint8_t*)free_list;
for (int i = 0; i < allocation_block_size - 1; i++) {
link = (LIST_ENTRY*) block;
link->next = (LIST_ENTRY*) (block + allocation_block_size);
block += allocation_block_size;
}
/* last entry should point to NULL. */
link = (LIST_ETRY*) block;
link->next = NULL;
The above code creates the free list. Note that each LIST_ENTRY is
located right at the start of each allocation block (in this example,
each allocation unit is 32 bytes.) We use the free allocation units
themselves to store the linked list.

https://brokenthorn.com/Resources/OSDev26.html , in his tutorial , the allocation_block_size which is used for the for loop will corrupt the memory as the for loop is too big

reddit.com
u/Sensitive-Can9232 — 2 months ago
▲ 83 r/AneoEngineDev+1 crossposts

Some key thing from which we can identify a vibe coded project

By vide coded i dont mean ai used for debugging or for understanding, i mean ai slop, i identified some key things such as

&#x200B;

  1. A single commit on to github for a project that takes months or years, and via files upload

&#x200B;

  1. Not knowing what is the diff in git and github, and that git works locally.

&#x200B;

  1. Getting defensive while asking past git history

&#x200B;

  1. Straight up denying the use of version control

&#x200B;

  1. This is thr most funny one, saying that I have worked on my os for years but dont know what git or github.

&#x200B;

I may be wrong in some point, sorry for that.

reddit.com
u/Sensitive-Can9232 — 2 months ago

In need of help, Please suggest some good projects.

Hey guys i am an upcoming student in 3rd year, I have only made one good project which is not vibecoded at all , it is a operating system (still in development will be completed after one month similar to ms-dos) and i am doing an unpaid internship in a goverment institute in the os area as well( usb interface and driver), I dont my resume to be completely low level and all can you suggest some legit good software stuff which i can make, i dont want to make any simple crud application.

reddit.com
u/Sensitive-Can9232 — 2 months ago
▲ 51 r/LinuxUsersIndia+2 crossposts

finally , monarchy have a ascii art ( credit Joan Stark) , and some other major updates

these are some major updates monarchy have

  1. 256 command buffer with overflow protection - the command can have upto 256 chracters, after that to handle overflow, the buffer is cleared, and a error msg is shown.
  2. 16 prev command history - the shell can remembers upto 16 prev command and are ejected in a LRU manner,
  3. clear -b - instead of implementing a new command clear with -b flag will clear the command buffer and clear -b will be the first command.
  4. uptime - it will show the uptime , i am currently using channel 0 of the pit in a rate generator mode ( freq divider = 1193) , handling the error with the whole and fraction ms way.
  5. time - i once use the update interrupt to get the time from the cmos then update it via the irq 0 as is already updating the uptime.
  6. fetch - really wanted it to have a fetch command , currently one the uptime is dynamic.
  7. redundancy checks - earlier even with garbage the command like hello , help , they were working but now they wont , only if you have a lot of space after the command , then it will run else it will give a incorrect/no flag error.

now i will work on the memory allocator and a file system.

github:- https://github.com/mridul-verma2005

u/Sensitive-Can9232 — 2 months ago
▲ 2 r/LinuxUsersIndia+1 crossposts

some major update (atleast major on my scale)

hey guys i have implemented a lot of stuff in my os:-

what is new

github: https://github.com/mridul-verma2005/Monarchy

  1. A 256 bit command buffer , if you add more then 256 byte in a command buffer at a single time , it will reject more bytes and will clear the command buffer.
  2. command history - it can store upto last 16 commands in an LRU manner.
  3. clear -b - with the -b flag it will clear the command history and the clear -b command itself will become the first command.
  4. time - first i get a update interrupt from the cmos via irq 8 and i will check whether or not the time is set already via a simple flag if it is set then i will ignore it else i will use it once to get the time and then ignore it , after that i will use the irq 0 for the time updation , currently i am using a c code(inspired from the asm code shown in the osdev wiki) for the approximation as the freq is not 1000 hz exactly after the frequency divider used in channel 0,(using 24 hr format).
  5. uptime - uses the same mechanism of irq 0 but it is not updated by the time.
  6. fetch - i really wanted to do a fetch command so i made one credit to Joan Stark for the ascii art, some sys info ( only the uptime is dynamic rest is static for now).

also i was busy with some uni work, so i want able to add a whole lot of stuff, sorry if you find this update not a quality one.

u/Sensitive-Can9232 — 2 months ago
▲ 15 r/osdev

Some key details i felt missing in the cmos section ( osdev wiki).

Can someone clarify it.Ok I am a newbie please dont get upset if i say something stupid but as I was working on the clock I was thinking to first get the initial time from the cmos via the update interupt on irq 8 and then set my user time and then use irq 0 for the 1 ms ticks ( not exactly 1 ms I used the whole and fractional ms thing in decimal and coded in c) the thing is that you have to enable the update interrupt in the status register B ( the same used for to get the 24 vs 12 format and the bcd vs binary format) you have to update the same status register B for the periodic timer ( used by rtc but not connected to time) and an alarm ( dont know exactly what alarm do) then to check for the update interrupt you have to check the status register C. I think these details should be mentioned in the cmos section if someone wants to use the update interrupt to get the time instead wait to first get the clear flag in status register A and then set and then clear again. Sorry if I am wrong in some place.

reddit.com
u/Sensitive-Can9232 — 2 months ago