User:Sortie: Difference between revisions

Content deleted Content added
m Rephrase
Introduce myself
 
(3 intermediate revisions by 2 users not shown)
Line 1:
Hi, I'm [http://maxsi.org sortie].
 
I'm an admin here on the osdev wiki. I'm a moderator on the [https://forums.osdev.org osdev forums]. I'm an operator on the #osdev IRC chat on freenode.org.
 
I develop the [https://sortix.org Sortix operating system].
<!--
 
Hi, I'm Sortie. Guess what, I made an operating system! I'd list all the nice features it supports, but somehow the only interesting part for normal people is that you can play Pong.
 
Line 4 ⟶ 11:
 
Edit: Another year. I am now self-hosting. I demand I'm eligible to never hear of Windows again!
 
Edit: Another two years. My OS is installable and self-hosting and the latest release was built under itself. I may have heard of Windows again.
 
-->
 
== Warranty ==
Line 19 ⟶ 30:
 
* Don't ask questions on #osdev, wait 30 seconds, and then ragequit. I'm upstairs getting my coffee and I can't prepare it that fast.
* Don't follow tutorials that arencan't community-be edited by the community.
* Don't follow tutorials that haven't been peer reviewed. The scientific method is important at the University of Osdev.
* Don't follow tutorials made by the inexperienced.
* Don't follow tutorials without obviously consulting #osdev whether the tutorials are bad and whether there are errata.
* Don't blindly follow tutorials: Some tutorials give very bad advise. Some are buggy. The best ones have bugs only experts notice and you won't until things explode.
Line 32 ⟶ 45:
* Don't listen to your own advise. He is a newbie and might not know it. You'll hate his code deeply a few years down the road.
* Don't try to replace C or Unix without truly knowing what's wrong with it and what's good about it.
* Don't use newlib. Use musl.
* Don't do black magic. You're trying to be cool and failing at it. If this is the proper way to do it, declare this the normal approach and think nothing special of it; otherwise do it the proper way instead.
* Don't use code you developed while sleeping. You were unconscious. Do you code well when you are really tired?
* Don't leave proving the code is correct as an exercise for the reader.
* Don't follow operating systems development tutorials on Youtube: They are not community edited and tends to be made by the inexperienced.
* Don't proclaim me a master of osdev and quote my holy words in #osdev.
* Don't write tutorials if you're inexperienced.
 
== Recommendations ==
 
* Understand what your goals truly are and what you want from osdev.
* Take osdev seriously and do things well.
* Don't play the role of an operating systems developer, ''be'' one.
* With every incompatibility come a price that must be paid. Corollary: Pick your battles.
* Corollary: Pick your battles.
* Read instructions carefully.
* Take correctness seriously and write secure code.
* Correct code is secure.
* Know your programming language well.
* Know your ABI well.
* Know your toolchain well.
* Be truly afraid of undefined behaviourbehavior.
* Use a modern, good Unix for osdev.
* Use UTF-8 (no BOM, Unix line terminators).
Line 61 ⟶ 79:
* Implement [[Ext2]] as your first filesystem.
* Make a [[OS Specific Toolchain]] when you add a user-space.
* Quote me in your forum signature.
* Be an expert.
 
== Naively Closed Source ==