loading...
markdown guide
 

The most ambitious project I've embarked on is hands down got to be my operating system Saturn. You know that whole not-invented-here-syndrome? Well, that's the end game if you don't get control over it.

It's ambitious because its broad scope can cover a vast variety of comp-sci theory/topics. Low-level systems programming? Check. High-level GUI frameworks? Check. Language design and interpreters? Check. Optimization, apps, services, drivers, shells. Spend a weekend at a high-level user application cottage, then the next weekend re-design the filesystem cache to improve performance. There's never a chance to get bored because there's always so much stuff to do and so much to learn. I think a philosopher once said: So much to do, so much to see, so what's wrong with taking the back streets? You'll never know if you don't go.

I started out slightly too ambitious in that I was literally going to write every line of code, including a C++ standard library implementation. But after doing that for a while I came to the conclusion that following the spec carefully would mean a year at least of just working on the library and not the OS. There's a reason the language lawer tag exists on StackOverflow. So I settled for only mostly it being me - the whole OS and libC is pure me, libC++ is courtesy of LLVM :).

Did I succeed? Depends on the definition. Saturn's obviously not complete since I've been working on it for just about one year. However I have reached a lot of the short-term goals along the way, and the only thing I've scrapped was mentioned above, so it could be considered successful.

If you'd like to know more you can visit Saturn's repository. I've been writing a few blog posts about Saturn and OS dev in general on my personal blog and also on here.

 

Woah, that's pretty cool πŸ‘. This is definitely up there in terms of ambition! I really like the "space" theme idea.

The amount of dedication you have put into this project is amazing. Good luck with the project in the future πŸ‘!

 
 
 

Back in 2010 or thereabouts I had the idea to develop a toy language which operated on functions instead of values. I learned about EBNF and lexing and parsing, discovered ANTLR wasn't up to the task and used yacc to build something that actually processed some input.

Then I realized I'd invented Lisp and gave up.

 

Haha I went through the same thing, though I didn't go as deep as you.

Maybe you can come up with something better than Lisp 😏.

 

I'm going to make my own browser/OS. Like ChromeOS but by me and with some key changes. Particularly in the PWA space.

 

Woah another OS! Do you have any keywords/links/repositories to look out for or watch?

 

the idea and implementation plan (language/main goals) has changed a lot over time so I don't currently have a big public repo quite yet but I'll be sure to keep dev.to updated!

 

I had another "side" project to make a fully moddable Pokemon game but stopped working on it after Pokemon Uranium got taken down because I didn't want all my work to reach the same fate..

Classic DEV Post from Nov 1 '19

Do developers have higher job satisfaction than non-developers?

Ravern Koh profile image
The best code is no code πŸ™…β€β™‚οΈ

Tip: You can configure your dev.to reading experience, such as using sans serif fonts.

Go to your the "misc." section of your settings.

Customize dev.to