<klange>
My main annoyance with Minix is it's too piecemeal. It pulls in tons of BSD stuff to make the complete userspace. Feels very "draw the rest of the ***ing owl" to me.
<klange>
I think that complaint is specific to modern Minix 3, the older versions are better.
<sortie>
Oh I totally hear klange here
<heat>
well, draw the rest of the fucking owl is most of UNIXes out there
<sortie>
The best part of osdev is that it's an excuse to learn basically anything I'm interested in
<heat>
Open/Net/FreeBSD all draw each other's owls
<klange>
Open/Net/FreeBSD aren't intended as teaching tools, though :)
<heat>
the only minimally inventive OS out there is GNU
<heat>
but then they stole Linux
<brunothedev>
gnu hurd
<sortie>
I like to think my OS can serve as a teaching tool - not because I'm trying to be done - but because it's a coherent self-contained thing
<brunothedev>
though no one uses it
<klange>
GNU Hurd: I seriously though it would get 64-bit support before Toaru did.
<sortie>
Like, you know, just not being super weird, complex, and inconsistent -- that's what you want from a teaching tool
<brunothedev>
sortie: using c++ on a unix strikes as a weird choice for me for some reason
<klange>
Though, to hurd's credit, it can run Xfce...
<sortie>
C++ is used lots of places
<sortie>
For me it's just the kernel though
<sortie>
User-space is C
<brunothedev>
but on unix it does have a reputation for bloat
<sortie>
Honestly not
<sortie>
Classic Unix is nothing compared to the modern beasts out there
<brunothedev>
but there is a reason linus rejected it
<heat>
SVR4 was both great and horrible
<heat>
pick yer poison
<klange>
C++ is seen as having lots of footguns around features that have historically been problematic for a kernel, and for a long time there were enough of those that you ended up writing C with name mangling more than you were really writing C++.
<heat>
^^
<heat>
this is essentially my kernel
<sortie>
Yeah that's why I ended up migrating my C++ user-space to C
<sortie>
It was basically already C
<heat>
some classes here and there, some C++ fancyness here and there, but mostly very C-like
<sortie>
The kernel does use some key C++ features like classes and scoped mutexes and so on
<heat>
partly because I hate the whole modern C++ shebang
<sortie>
Yeah #!/usr/bin/c++ is so weird
<heat>
I do funnily enough use some exceptions in some userspace stuff I have
<brunothedev>
hehe "#!/usr/bin/g++"
<klange>
tcc supports this :)
<heat>
partly because its the classic userspace stuff where dying works fine, and partly because I'm not up for reimplementing good bits of the standard library
dude12312414 has joined #osdev
<heat>
most C programs just reinvent the wheel for data structures using some shitty realloc loop
<heat>
no ty.
<heat>
BSD at least gives you decent data structures in the libc AFAIK
<brunothedev>
c, c++, all bad! Gonna write my os in HolyC
<heat>
but POSIX stuff is laughable at best
<nortti>
are you saying one process-wide hash table is not enough?
<heat>
lmao, exactly
<klange>
obviously the right choice here is to write your own compiler for your own language
<brunothedev>
i cant say it here, but look up "terry a. davis receives a call"
<klange>
I'd rather not.
<brunothedev>
on youtube
<brunothedev>
klange: oh why?
<brunothedev>
soemone calls terry to talk about (G)lendale (C)ommunity (C)ollege
<klange>
Let me rephrase that.
<klange>
Please do not talk about Terry Davis here.
troseman has joined #osdev
<brunothedev>
bro talked with "sudo" 💀
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<brunothedev>
dude12312414: #relatable (when i had a 2gb machine)
zxrom has quit [Quit: Leaving]
frkazoid333 has quit [Read error: Connection reset by peer]
brunothedev has quit [Ping timeout: 260 seconds]
frkazoid333 has joined #osdev
nyah has quit [Quit: leaving]
FreeFull has quit []
MarchHare has joined #osdev
zxrom has joined #osdev
Ali_A has joined #osdev
gog has quit [Ping timeout: 276 seconds]
[itchyjunk] has quit [Ping timeout: 246 seconds]
[itchyjunk] has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
MarchHare has quit [Ping timeout: 260 seconds]
gabi-250_ has quit [Remote host closed the connection]
gabi-250_ has joined #osdev
MarchHare has joined #osdev
slidercrank has joined #osdev
zxrom has quit [Quit: Leaving]
zxrom has joined #osdev
troseman has quit [Quit: troseman]
[itchyjunk] has quit [Remote host closed the connection]
gxt__ has quit [Ping timeout: 255 seconds]
gxt__ has joined #osdev
<heat>
for this evening's stupid POSIX trivia: what happens on O_CREAT | O_DIRECTORY on existing systems?
slidercrank has quit [Ping timeout: 246 seconds]
<heat>
for the record, linux's open(2) man page is wrong about this lol
<zid>
disregard linux, try xenis
<zid>
xenix
<kof123>
hmm...people have said bsd manpages are better, they are certainly as far as saying what various standards do IMO
<gog>
although i do fully support introducing more advanced math concepts earlier
<zid>
I need to get some scissors and cut all these shipping labels up and tape them to this envelope, but the man isn't coming until tomorrow morning, so my brain is "you can just stay up until 6am and do it then"
<zid>
I am A+ tier executive function
<gog>
i am not
<gog>
i'm trying to do research for my next work task but it's not going well
<gog>
my brain is fried from debugging something earlier
<gog>
and i'm a little worried that our latest deployment is bad
<gog>
i want ice cream
<heat>
what?
<gog>
you heard me
<heat>
you want a full UNIX path walking test suite?
<heat>
in 2023 you need to pair any of this with poorly pronounced starbucks drinks and bougie foods
<heat>
like a mushroom and butter bruschetta
<Ermine>
gog, heat: thank you
<heat>
Ermine, join a trendy SF company/startup and you'll get the SF mocha latte valley girl vibes very quickly
<gog>
wish it was still 2013 so i could go get a north face vest to go with my leggings and uggs
<gog>
oh oh and a live laugh love tat
<heat>
on the other hand "name's paul, from newcastle, luv me footy, luv going down to the pub with the lads, luv me pints, 'ate the french, 'ate the irish" is the absolute reverse valley girl
<zid>
that's not a newcastle accent
<heat>
how do you type a newcastle accent
<heat>
to me bald fat englishmen sound exactly the same m8, sorry
<bslsk05>
cgit.adelielinux.org: renameat.c « unistd « src - musl - The musl libc tree (WIP / dev branches)
<Ermine>
Adelie strives indeed
<heat>
mjg, two fstatat's for a rename!
<heat>
and that's the fast path m8
<mjg>
rename is a slow path
<mjg>
:X
<heat>
is current linux slow here?
<heat>
I think it just takes seqlocks now, right?
<zid>
rename is not a hot path
<zid>
wake me up when my system slows down cus rename is too slow
d316d has joined #osdev
<d316d>
have there been any practical osdev book releases in 2023? i remember there was one that looked promising that was yet to be published but i dont remember the name
<d316d>
what is most complete practical book on x64 osdev?
<d316d>
i have read all the osdev wiki books
<d316d>
ones that matter anyway
<d316d>
is there better tuts than poncho series?
<netbsduser>
d316d: i don't know of such a book
<zid>
osdev is osdev
<zid>
the details of the arch are in the manual for the arch
<netbsduser>
and the tutorials all mysteriously stop midway through the dull details of hardware initialisation before getting on to the real osdev
<zid>
if you just want the "x86_64 parts" then the intel sdm has it all, well organized
<d316d>
netbsduser so theres no book on real osdev?
<zid>
otherwise you can read stuff from the 80s about microkernels and monolithic kernels and scheduling and stuff based on minix or whatever it is they wrote
<zid>
the only real difference is smp
<netbsduser>
d316d: there are plenty, try Design & Implementation of the FreeBSD Operating System, Windows Internals, or The Magic Garden Explained
<d316d>
i have read first two already
<netbsduser>
that's very erudite
<zid>
you're more well read than most of the rest of us already then :P
<netbsduser>
for a first stab at the game i think picking a book like one of these and religiously following it is useful
<d316d>
i didnt particularly understand every detail tho
<zid>
getting your hands dirty teaches you 10x as much imo
bl4ckb0ne has quit [Remote host closed the connection]
bl4ckb0ne has joined #osdev
theboringkid has quit [Ping timeout: 246 seconds]
dormito has quit [Ping timeout: 252 seconds]
dormito has joined #osdev
d316d has quit [Quit: Client closed]
<heat>
netbsduser, i would say the opposite
<heat>
following something religiously is an easy way to get a bad clone of whatever you're following
<mjg>
and that thing is probably already bad :X
<heat>
yes, which is why you get the Solaris Internals book
<heat>
guaranteed quality
<mjg>
check out how solaris does mount point traversal
bgs has quit [Remote host closed the connection]
<moon-child>
maybe
<moon-child>
if all the things are bad
<moon-child>
it's a sign that it's impossible to make good things and we should stop trying
bl4ckb0ne has quit [Remote host closed the connection]
bl4ckb0ne has joined #osdev
<zid>
stop trying to make things, or stop trying to make good thing
[itchyjunk] has joined #osdev
<klange>
there is a post in the forum moderation queue where someone is trying to write an EFI application in assembly and I... can't even.
<zid>
That sounds like a good weekend project
<zid>
if you already know both assembly and efi but.. I doubt that's really the case
<moon-child>
in order to become ONE WITH THE MACHINE i write EFI APPLICATIONS IN ASSEMBLY and put the CPU UP MY ASS because me and my MACHINE ARE ONE
<zid>
yea that's the reality of most people who are writing assembly
<heat>
Thank you moon-child, very cool!
<zid>
I nEedD To Do iT in AssemBly BecaAuse The NSA arE reAding My CompiILER
<zid>
my teeth won't stop hurting unless I resolve the EFI conspiracy
dutch has quit [Quit: WeeChat 3.8]
<klange>
the nsa are reading your assembler, too
<moon-child>
lol
<zid>
don't tell them that
<moon-child>
apparently nasm supports (rax+1)*8 as an address
<zid>
you'll get queue entries where they're doing it in machine code instead
[itchyjunk] has quit [Remote host closed the connection]