Hacker Newsnew | past | comments | ask | show | jobs | submit | dvirbt's commentslogin

No not at all, it’s really simple and high rewarding (in terms of usage)


It was only doing problems when running things like Doom or videos, so I guess my rendering system isn’t optimized enough.


Yes it is playable, I made an API for window graphics which gives every window the ability to render stuff on it’s surface. Then I used DoomGeneric to port my graphics API to Doom.


Thank you and good luck!


Thank you so much! I also made a few years ago an high level filesystem, which helped me during I made this one. I think the main difference is just that you need to work with drivers here for every disk operation.


Thank you so much! That’s great to hear :) I feel like vibe coding projects like this, where the whole idea is to learn, vibe coding only makes it harder


Wow 8MB of ram… that’s really amazing! Which hobbyOS did you made?


I named it Tinkerbell for some reason. It was kinda neat, it would boot directly into a windowed GUI. It lived at tinkerbell.org back in the 90s, but it seems it got missed by archive.org :(


Absolutely, I learned so much from this project! Do you think I should make a new version in Rust?


That’s your call to make but I think it’ll be easier to write tests for the trickier parts and avoid the memory safety issues you flagged as being your biggest annoyance by isolating into unsafe that’s better unit tested (+ maybe cover with Miri to double check the unsafe code is still sound)


That’s a great idea, could’ve really improved the overall project structure


I’ll flag one thing which is that the page table stuff mentioned is unlikely something rust can protect you against - if you set up the wrong memory mapping that’s a higher level logic bug that would make rust unsound and result in weird failures. Rust can only protect you within the bounds of the memory model it defines for its abstract machine.


There's probably a lot of other memory bugs though. The first thing I looked at was the shell, and almost immediately I spotted an out of bounds write (input[n] = '\0' where n could be sizeof(input)).


For sure. I’m highlighting the nastier parts of the system that Rust can’t help with. I love Rust but it’s important to understand its limitations, particularly for something like OS development. There’s a similar way to make Rust unsafe using 100% safe Rust where you poke /proc/self/mem to violate memory safety using safe IO :).


Thanks! I’ll look into it


Yes, you are right. Do you think I should make the video technical or just a showcase?


I'd go for something more technical, it feels like your target audience are hackers and not people shopping for an OS.

But as always, it's your project done for yourself, so whatever feels like more fun recording.


On the other hand, for future employers you might wanna simply showcase the creation. They don’t have all the knowledge to appreciate the technicals or even the time to sit through it.


Do both :-)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: