#Nyaux
1 messages · Page 55 of 1
now implement /proc/cpuinfo and /proc/meminfo so it can give more info 
maybe soon
now hard links arent documented in ustar (at least in the wiki page) so im gonna have to fuck around and find out to figure out how ustar gives the information about hard links to me
I believe they're represented the same as symlinks, just with a different type code
But I wouldn't be surprised if most archiving tools don't bother detecting them and instead just archive them as if they're regular files
isn't hard link is just full path
I treat hard links as normal vnodes that share resources with other vnodes
for symlinks, I just store a path in each vnode and resolve on lookup
How would you detect hard links with tar
Other than checking the inode entry in the dirent (unreliable potentially)
Or checking the content of the file
stat the file, if you've encountered (st_dev,st_ino) before it's a hard link to that file
So this
that's not unreliable
Except not via the dirent
posix guarantees this works
(st_dev,st_ino) must be unique for every inode in the system
seems like gnu tar actually does do this, neat
and yeah hard links have a type code of '1' and a linkname pointing to the target
thats softlink
u can think of hardlink as a shared pointer, and a softlink like a weak pointer
a
yeah, on windows there are just files with the link into them as text
at least, that's how mine reads it
that's completely separate from fs-level links, whether symlinks or hard links
i think it's a compat layer then
unless you're not talking about windows explorer shortcuts? because those are just regular files recognized by explorer as shortcuts
no, i created a symlink on wsl
ah yeah
and windows reads it as a text file with the link inside it
strange that windows shows that as a regular file, it has full symlink support
but that is basically how symlinks are represented internally on disk
thats just how they're exposed over 9p i guess
they're using 9p2000.l which is basically 9p with plan9 stripped out and replaced with externalised representation of linux vfs ops instead, so it should accurately convey symlinks
on ext2/3/4 that's literally what they are. files with the link in them as text and a special inode type
i guess translating to/from win32 paths is Too Hard for them
is tar giving me this correct?
also how can i reclaim limine bootloader memory exactly?
since i no longer need the module in memory
it would be a huge memory footprint save
im so confused if this is even correct or not
Modules do not count towards bootloader reclaimable?
afaik
:c
otherwise, my kernel just takes ownership of them
and treats it as memory that has been allocated normally throught pmm
?
nothing
do these look fine at all
or are they wrong
idk how to check to make sure

im silly inside
fastfetch still wont display the logo
dies
maybe if i get hard links working itll work
well
at least it got the kernel
i put 1.0 cause i dunno what release i am
1.1-120525-2fdfge-d3f4gd I think
should nyaux have a seperate kernel name
NyauKs
nah that sounds stupid
nya
no
from a bunch of files in logos/ascii
That’s sort of what I meant
I guess it’s not exactly what I meant but I meant it’s included with the code
Did you put your own one in there?
This file looks interesting, have you looked at it? https://github.com/fastfetch-cli/fastfetch/blob/7626ef6eaab4eb4c2d65d710b9c681d3577dc7b4/src/logo/builtin.c#L396
Can you list logos?
how can i do that
fastfetch --list-logos
nyaux is there
hm
Can you set the logo to nyaux all lowercase
still does the question mark
Hm
maybe open an issue ig?
its dif not an issue with fastfetch
100% an issue with my patch somewhere..
js dunno what
ah
Wait just to clarify, you have the following:
- nyaux in the builtin.c file (under the N array)
- there is a file named nyaux.txt in src/logos/ascii
- you’re sure it’s returning “nyaux” or “Nyaux” (in whatever way fast fetch checks I can’t tell I’m on my phone ;-;)
yes
because we don't like iron oxide
did u execute your user name

just make it jump to 0xFFFF:0x0000
Can you do fastfetch --print-logos
doing so rn
printing them
might take a while lol
even with kvm is kinda slow
to be expected
Fair lol there’s like a few hundreds logos
yea nyaux is not there at all
it's instantaneous on linux
tty took 2s
Hmm
i have no idea for the perfomance then but im sure its FINE
Do you have your fork somewhere? Or just a diff?
my patch?
Yes
I have to look at this once I’m home but I’ll do it first thing
@surreal path why is the nyaux builtin in S[] ?
s[]?
line 4477 in src/logo/builtin.c
it's in the static const FFlogo S[]
rather than the static const FFlogo N[] (line 3121) that it should be
idk that it terribly matters but that doesnt seem right
yes i may be an idiot
that fixes it for me
yes it fixes it
yipee
using menix's logo as a placeholder
@supple robin
menix propaganda
new logo by @native wharf
this is now offically the nyaux logo
Damn
damn
Hi silly
@surreal path question. does your OS use dynamic or static linking
mlibc can do dynamic linking so i think yes
mlibc can. but does nyaux make use of the feature?
nyaux uses dylibs yeah
nice
yes
me eepy
did the logo come out good
nice
which one looks better
I may be biased by I like the second one
i need to implement hard links but i dont feel like doing anything today :c
me when depression
Are you on meds? (Sorry if invasive question)
yes but they dont work
You should tell to your doctor or psychiatrist
There’s like a billion of them and all of them work differently on different people
shitty ah doctor
Oh
yea
I can't wait for bill gates to worship nyaux
ngl i thought mine was gonna look like crap but i love the result :D
i just had doubts cuz i didn't know if it was going to fit in the terminal
no work today cause fuck you im tired
today im eating way less (to lose weight) so im quite tired physically to do practically anything
ralsei needs hugs instead 🥺
i need hugs in general 🥺
🫂

Take your time
I ate so much crap today
But I punished myself with exercising for that

should i have a parent vnode field in my vnode structure and have the file system impmenting the ops mantain that field?
similar to vinix in a way
vfs should maintain that field but otherwise yes
I believe the sunos book that I implemented based off of says to do that
i remember from the pictures you posted that you were thin as hell
what makes you think you need to lose weight
i had a dream where i was in factrio
ive gained weight trust me
yea fair
doesnt always mean you have to lose it, it depends
silly ^-^
i dont like it its too much i prefer 40 kg being not 63kg im not happy with that even if i look "healthier"
being anorexic isnt good for you either though 🥺
63 is normal
I'm like almost 80
I'm a bit taller though
40kg is way underweight
wait, lord, Aomi and Aina are heavier than that and they're pretty smol XD
no male teenager should be 40kg that is simply not healthy
40kg is an unhealthy amount underweight for adults
if you're also tall then that's pretty good
183
ah
i am 82 kg 😃
I'm a whopping 104kg... 😅
I'm like 65kg 6ft
45kg, 5ft 2in 
idk man, I'm only 45kg, but super short
16yo male
I'm actually somewhat chubby even, I just have literally no muscle mass, so I weigh nothing
yet I'm doing just fine, no doctor has told me to put on more weight
I'm about 69kg, around 6ft
real
191 cm and around 80 kg
idk I was too lazy to go convert both weight and height 
I’m 18 like him and pretty skinny and I’m 182cm and 77kg
i used kg because everyone else did, but I typically use pounds and feet
if you're chubby and weigh that little then you probably need to gain muscle
or more like
you should
but if you live properly its fine
same
yes I know I should, but I'm also a lazy ass 
can't be bothered
yawn
ok we ball
nyaux hard link support lesgo
if i cant get it working ill just cheese it by making it a sym link instead
but i think i can get it working
i can manipulate the path the get the second last component, make a link op that performs a free of tmpfsnode and replacement with new vnode

cool
now all i need to do is make the link op and implement that for tmpfs and devfs
then do the ustar shit and done
wait no
u need to convert it from /home/test/../qwoeqo/./.. to /home/test/../qwoeqo/./
to /home/qwoeqo ?
no?
/home/test/../qwoeqo is /home/qwoeqo
okay
i finally figured out the fucking string function
that took so long
holy shit

nvm i did not
ok i figured it out now
ok i think ive implemented it fine
only way to test is to well
run it
okay lets see
🤞
fuck
im trying to implement hard links and hardlinking something not involved to the US dir causes its v_type to suddenly be regular?????????????????????????
im stuck

no idea whats going on and its hard to track with gdb
where do you add a reference to the vnode's refcount
you are creating a new tmpfsnode and inserting the dirent from the old node into the new tmpfsnode
what the hell
bad order of operations?
isnt it supposed to be like, create the tmpfsnode, insert a new dirent into currnode that points to the new tmpfsnode?
i dont have one
no i think im doing everything right here
???
still :c
Not entirely sure what's breaking there, but some general tips that might help:
Are you corrupting memory (parsing bogus info)? (You can watch values in GDB to check this)
Do you have faulty assumptions about the layout?
Are you trashing internal state that causes faulty assumptions about the layout?
but wait how do the parameters work
what is curvnode and with
is with the destination directory or the actual node to be hardlinked
i literarly am
still cannot figure it out
curvnode is the vnode ur running ops with
with vnode is the destination vnode
to be linked

so you need a vnode to link to and a directory where the new link will be placed
yes which i do
which one's which
curvnode is the directory where the new link will be placed
with vnode is the one to link to
so describe to me how this works
specifically the insert_into_list
what list do you add what entry into
okay so
direntry is bascailly struct tmpfsnode **nodes and size_t cnt
insert_into_list is a helper function
ah so it's multiple dirents
can you show me what insert_into_list looks like
yea sure
its just this
static void insert_into_list(struct tmpfsnode *node, struct direntry *entry) {
if (entry->cnt == 0) {
entry->nodes = kmalloc(sizeof(struct tmpfsnode *));
entry->nodes[0] = node;
} else {
struct tmpfsnode **oldnodes = entry->nodes;
entry->nodes = kmalloc(sizeof(struct tmpfsnode *) * (entry->cnt + 1));
memcpy(entry->nodes, oldnodes, entry->cnt * sizeof(struct tmpfsnode *));
kfree(oldnodes, entry->cnt * sizeof(struct tmpfsnode *));
entry->nodes[entry->cnt] = node;
}
entry->cnt += 1;
}
mm
so typically the vnode doesnt have the name of the file
because it can have multiple
but i see that your tmpfsnode has a pointer to a vnode
direntry seems to not actually be a direntry
youre naming things wrong and confusing
wdym
direntry could be named dircontents and tmpfsnode could be named a direntry because it associates a vnode with a name
tmpfsnode can also be a file tho
it doesnt matter what vnode could be, a file or a directory
or a symlink
but tmpfsnode has a thing that points to a vnode right?
it doesnt contain the vnode
yea
ok so how things typically work
- a vnode represents an instance of a file, so its size, permissions, contents, etc.
- a direntry is basically a name of a file, of which there can be multiple
- the direntries themselves are in a directory vnode
your naming convention is confusing
i guess
still 
holy shit none of this makes sense, how does adding an entry cause the fuckin US vnode to become type 0?????????????
i still dont understand
cringe US vnode lover vs chad EU vnode enjoyer
@brisk zenith maybe u might have an idea as to why this happens? im quite stuck here and gdb isnt telling me much :c
What's the issue exactly? I haven't been keeping up
basically my hard link op is somehow corrupting the directory and making this happen
which makes zero sense
as its unrelated to the hardlink completely
the only thing i can think of is corruption but all im doing is inserting a node into the directory?
code for hardlink is in tmpfs.c and ustar.c on github
run git pull if u got a local repo already
Can't think of anything from that alone, I'll do some debugging on my own
alright
the hell????
ah i see
in hardlink() you're not copying the name
you're just using the pointer the user passed in
which in this case happens to be a buffer allocated on the stack in populate_tmpfs_from_tar
so on the next iter that buffer gets filled with the name of the new entry - Antarctica
or well
the next iter is the one that creates the Antarctica dir, and on this path the stack buffer isn't used, so it contains gibberish and lookup() doesn't resolve to the hard link
so the Antarctica dir gets created correctly
the next entry does use the stack buffer, and in such a way that it ends up holding Antarctica starting at the address that got stored in the tmpfs by hardlink
so this time the lookup resolves to the hard link
doing strdup solves it yep ur right
me when buffer overflow funny string garbage
diff --git a/kernel/src/fs/ustar/ustar.c b/kernel/src/fs/ustar/ustar.c
index 5d8e210..05f974b 100644
--- a/kernel/src/fs/ustar/ustar.c
+++ b/kernel/src/fs/ustar/ustar.c
@@ -108,7 +108,7 @@ void populate_tmpfs_from_tar() {
// THE HUMAN uhhhhh.... maybe we're here because the guy writing this is
// braindead WHAT...??? just kidding! uh i dunno bro WHERE IS THE HUMAN
// ?????
- src->ops->hardlink(src, destination, last);
+ src->ops->hardlink(src, destination, strdup(last));
kfree(lookup, lookup_len);
kfree(last, last_len + 1);
diff --git a/kernel/src/fs/vfs/vfs.c b/kernel/src/fs/vfs/vfs.c
index 3e31a5d..06ec41e 100644
--- a/kernel/src/fs/vfs/vfs.c
+++ b/kernel/src/fs/vfs/vfs.c
@@ -137,7 +137,7 @@ void vfs_create_from_tar(char *path, enum vtype type, size_t filesize,
}
if (res != 0)
- assert(current_node->ops->create(current_node, token, VDIR, &tmpfs_ops,
+ assert(current_node->ops->create(current_node, strdup(token), VDIR, &tmpfs_ops,
&next_node, NULL, NULL) == 0);
assert(next_node->v_type == VDIR);
``` this is the patch i used for reference
the 2nd hunk isn't related to the issue but i noticed that it would have suffered from the same issue
papyrus
real
but as for the question above it
is the issue that you're not sure the directory src needs to be created in exists?
if so i'd just do something similar to vfs_create_from_tar
ah ok
WHY DOES YOUR MAKEFILE INSTALL APT
lol what
are you seeing this
i am having to remerge my system to fix everything this broke
where is it installing apt?
how do you think it is getting things from the debian servers
no i am on gentoo
at least use docker if you really wanna do it
but why does the build script do this to begin with
jinx uses a debian container?
oh ok phew i was worried
oh, that explains why then
how about you read the output of the command you are running before jumping to conclusions and accusing someone of breaking your system
lol
unless: you explicitly gave it root permissions, you are using a broken kernel or your / and friends are & 0--6, there is no way a makefile could break your system
make 0day 
I have no sudo passwd so I wouldn't know if someones makefile would do sudo 
well, yeah, you fall under the first condition then :^)
explicitly giving root permissions
the reason for it is that I got tired of needing to enter my password every time I run xbstrap run make-image
(lemme add a sudo rm -rf /* to nyaux makefile real quick)
i just set the timeout to like 30 minutes or something
usually enough between rebuilds
or maybe I could make xbstrap be owned by root and give it suid 
just remove the password for a specific user
or remove the passwd for just a specific command
specific command no
or just make it so your imaging script doesn't need root
i think it is
libguestfs 
that's what managarm does by default
but it is kinda slow iirc
i was more thinking along the lines of mke2fs -b <block size> -d <dir/tarball> -E offset=<offset> <image> <number of blocks>
but sure libguestfs works
we're talking about sudo then, i guess
that doesn't need sudo
ah
true
i think managarm can already do that with remake-image
make-image mounts the image and uses rsync to update it
which needs root permissions if you use loopback mount method
for that i'd use fuse2fs
it's not a matter of xbstrap support? you just have to make whatever script xbstrap invokes support it
xbstrap doesn't support loopback or guestfs or anything like that either
ah ok
it contains the scripts
idk if it's one specific script that does it
but i think so
i think it's update-image.py
huh whats going on
ive been sleeping
@mossy belfry fix ur pr
thats not how it works
u need to do kprintf("%s"(), func)
and panic doesnt take format
well uh
good morning chat i suppose
ive been sleeping all day
holy shit
i was trying to string concatenate
oh ok
well fix ur PR if u want me to merge this
nah that would take a long time ur codebase is big lol it's not a huge problem
perferably get it to compile
I might try again later time
okay then close ur PR or smt
all good
lol you did it wrong too
kprintf("%s()", __func__)
yours would just be UB
cause discord
the __func__ is a separate argument
fucking discord
myopia 😔 ✊
the __func__ is within the string literal
what if their kprintf function just does that but it lexes each token in the string 
give me eyes then
aux?
:3
crazy
minimal expandable unix
holy shit im sleepy
a/ux?
when you wake up, i am going to sleep
hey
currently working on getting c++ working
then we ball with fbdev
sorry for the lack of progress in the past week
:3
is okie 🥺 🫂
ye
you mean g++ or in the kernel
in the kernel
then rewrite it better instead of mixing languages
that's the sane solution
im not gonna rewrite it
you could fix your coding style and some bugs
theres no bugs atm? that i know of
there are always bugs
havent encountered any atm
perfect software doesn't exist
ik
im just saying, how am i supposed to fix a bug i dont know of and havent encountered
you might accidentally fix it by rewriting
bro
yes
Smh not even zig
crazy
they locked me in a room
i think rayan sticks to good programming languages
C++ IS A GOOD LANGUAGE
guh
i keep conking out amd falling asleep
honestly that is kind of expectee
expected*
considering i didnt get a lot of sleep
due to stress
add patches
and ill support even tho i know 0 zig

i just opened my closet
i found
this little shit
the wii fit thing
oh and a broken wii
lol
😔
anyways
nap time
write custom drivers in Nyaux for the Wii Fit balance board 
the best way to navigate your operating system
i believe its just a bluetooth device
lol
anyways i need to add some c++ glue garbage so i can use keywords like new
shouldn't be too hard c++ just calls into operator new(usigned long
i can simply get it to call kmalloc
bluetooth would be pain to implement but maybe one day if we can get weston on nyaux we can probs do that too
then we could be able to write a driver for the wii fit board
first hobby kernel to do so

:DDD
glue made 👍
now we can do fbdev
oh and im finally giving proper commit messages to nyaux
no more "nano added cm cm"
finally c++ nyaux
indeed
oop looks like ci is broken again
time to fix ig
glue
glue
what's glue
what does it do tho
bruh
lol
i might add wrappers around more C functions in the kernel
or smt
idk
i just wanted to have a file named glue
cause haha glue
and i mean it kinda sounds right even tho its lit 3 loc
if there are other C++ "operators" i dont know about i can impl them here ig
delete
and delete[]
don't forget these flags
-fno-rtti
-fno-exceptions
-fcheck-new
yea i have em
also maybe -fsized-deallocation because your free takes size too
are you sure you have the third one?
oh yeah def want that
no but adding now
hi guys im wing gaster the royal scienist!
Hi wing gaster the royal scienist!, I'm ilobilo
What if it’s non toxic tho
it'll still kill you if you eat too much of it
Anything will kill you if you eat too much of it
afaik elmers glue is made to be non-toxic since it's intended to be used by children
air
air isn't food or a drink but if you took too much of it, you would pop
air kills too 😔
2025 stop
Oxygen toxicity
i feel asleep watching a japanese person play sans undertale
Ey! Japanese! 🎌
V nice
What does that do
passes size to delete operators
does the compiler keep track of it or what
new/delete knows what kind of an object it's destroying
so it knows the size of it
but i do wonder how it works with lets say
struct a { int x; };
struct b : a { int y; };
void foo(a *bar) {
delete a;
}
int main() {
foo(new b);
}
-fsized-deallocation doesn't make the compiler call sized delete, it just enables the operator on clang iirc
ah
gosh i miss my old desktop
also, is that even valid?

if a has a public virtual dtor sure
also typo in your code, delete bar;
you can keep virtual dtors but make the object destructible only through derived classes by doing protected: ~a() = default;
(= default not necessary ofc)
is it not?
i mean you can give the dtor a custom body
speaking of which
if need be
ah yeah
i thought you meant
~a(); vs ~a() = default; lol
that made no sense in my head
it will be a nyaux expence 
ah no yeah i worded that poorly
but = default vs one with body make sense
before clang 19 -fsized-deallocation does also make it use the sized delete in all cases where it can use it and >= clang 19 it just automatically uses in all cases where its possible regardless of that flag
and gcc looks to use the sized functions by default starting at 6.1 
wdym?
vectors would either use malloc/realloc/free or new[]/delete[]+new[]/delete[]
new[] stores the amount of elements somehow (in an implementation-defined way), since delete[] has to know how many destructors to invoke
I guess new[] would allocate more memory and store the size as well
Yes, but there is no standard method for storing that size, so different implementations do it in their own ways
yeah, it would work just like the allocator in libc storing metadata
also it looks like it only uses the sized array delete for types that have a non-trivial destructor, that's actually kinda annoying
though ig its not that bad as you can just store the size yourself in the nonsized one in that case (if its not already stored by the allocator)
nyaux lore
The allocated area has a spot in the beginning, before the pointer, where the size of the array is stored
I'm pretty sure this is what happens
Like ((size_t*)myPointer)[-1]
But this isn't standard
it is a part of the itanium abi afaik though 
apologies for the slow nyaux development
its too hot and its hard to code when its super hot outside
im not used to this temperature and its making it nearly impossible to type even one line of code
im sweating like crazy
idk how we are gonna get past this
we have no ac here in ireland so
that's pure hell
i dont own a car
at least you have AC in there
any of your parent's car?
not allowed to waste the battery of my parents car
f
here in italy we have AC
and at least for now it is an OK temp in the shadows
but you get cooked in the sun
what is ac
air conditioning
why
why in ireland no ac
because its "always cold"
that is not true btw
ever since global warming its getting worse and worse in summer
how about fans
nope
none in my house at least
i feel like a intel current gen cpu with this heat
im thermal throttling from the temperature
are you laptop or pc user
laptop
then you need to ready to cook fried eggs
temp is going down cause its 7:11pm here
when its colder ill work on fbdev for nyaux so we can have doom
still too hot
most of europe does not have AC
normally the days where it would be useful were not too many (although climate change kinda fucked that), and houses in europe are generally built with the lack of AC being considered (so things like blinds down during day to keep house cooler / open windows during night to let cold air go in + insulation and stuff)
wild
tbh i think the american obsession with it is wild
like, bruh, its such a waste of power, just have well insulated houses and heating?
send your ip adres and i wil hug u
very cool
what is your temp
now
Ey goiz, it me a gain and gaster deltarune real whaaaaat?
CREDITS:
Gaster Sprite - Sarah/VyletBunni
Creator - https://www.youtube.com/@UC_YWqRrNfbu4HrTCA1q6QOg
Game - https://gamejolt.com/games/deltatraveler/661464
Depths Area Inspiration - funnyFeline
https://www.youtube.com/@UCEIfYCwC4Qes5jyYQV9pWyQ
--------------...
is this real ???
im going to play undertale again and kill everyone
OR
i can be good boy
nah thats wild
then i going to pacifist ending
I would love to see you try that in florida
or in arizona
Which is a fucking desert
not all places were meant to be settled by humans 
oh lord I used to live in Florida XD
swamp
Yeah it's really humid
Idk I haven't gone to enough states
Maybe I'd like California more since it's a similar weather kinda (without storms every day) and dryer
cali weather goes hard sometime
not that I have spent tons of time there
but the few weeks
I'd love to go there but I'm on the east coast so it's quite far
hong kong
lol
the AC city
I'd like to have an ac in the summer, I don't like when its 30c inside
can't get anything done and can't sleep either
something like 20c would be ideal (and in the winter it mostly is like that)
australia also has AC in most houses. to be fair though, it gets to 40c+ in half the country during summer.
only 30c?
that's still an ok temp
here we can reach 40°C sometimes
and your car becomes an oven too
over here in Phoenix it's not uncommon to hit 46C
can sometimes get as high as 49
30C is like, average room temps
that's the temp that it is RIGHT NOW in my room
that's cool
lmfao
if it was 20C inside I would be shivering, that's cold as balls
XD
no sane person sets it that cold over here
wild
people from different regions experience temperatures very differently I suppose
if it was 13C I'd need a heavy shirt and possibly a jacket
i wear a jacket only when it's 5°C or less outside
meanwhile I can walk outside in 40C+ weather and be fine
that's just average
once it hits ~44C it starts to get annoyingly hot
=47C is possible, but very much "don't go outside" tier
okay so
ive been exceedingly tired
weirdy
im not gonna do anything today for nyaux ngl but tmrw ill do something promise
just been struggling with myself
a lot
🥺 🫂 💙
its okie, take care of yourself first frien
You don't owe nyaux to us, we're just excited to see you make something cool.
Take care of yourself and remember we're here if you want to talk.
Nyaux is already awesome and your well being is important so take your time and get some good rest
We’re here for you
Nyaux is ahead of most osses
I should try nyaux out
when nyaux java port
when nyaux brainfuck port
when nyaux firefox port
when nyaux malbolge port
when nyaux factorio port
when firefox nyaux port
when nyaux hearts of iron 4 port
when nyaux wine
true
it shouldn't likely be that bad after you have xorg or wayland working, it mostly just uses signals + mmap stuff + some other stuff
k
working on fbdev like now
im gonna have to restructure how i provide framebuffers instead of hard coding it in
getting there
now i need to understand those fbdev structs
get owned
it says "results for linux os"
I wish
nope 😦
maybe try adding the OS part?
actually how do you do the inspect thing on firefox, ik how on discord
NyauxKc
like this
that ik, not for firefox
ignore the sentence it's just what i had in mind for some reason
no offense but id rather keep the name as is
BadgerOS is somehow listed above the fake OS of the same name from GTA 

how tf is uacpi related to that query lol
lol
ok we cook
lets get back on the grind of fbdev
be adviced, might not do much considering starship flight 9 launch window opens in a 2 hours ish
and i wanna watch that
make gfxdevice constructor print that
ill have to make the read and write functions virtual
wait a second
yea wssp
why am I seeing classes? 
this guy c++es
and he's mixing up c and c++
yes
💀
mishakov is speachless
crazy
not in one binary
yeah no
are you liking it? 
yes 😔
just use fmtlib
variadic templates 
who doesn't love them
with concepts
it brings me joy when I get them nice and pretty
I use that for my IPC memes
how would u set that up for freestanding environments
ezpz
compile and define unresolved symbols
you just need a few stubs iirc
you might not even need that tbh
fair
i see it can output std::string? but i dont have access to the std library
how does that work
freestnd-cxx-hdrs
access what
i've just reimplemented parts of stl that I wanted in my kernel
std::string
might I introduce you to: https://github.com/ilobilo/string
it's pretty feature complete
with sso and stuff
#include <string>
didnt u say freestnd-cxx-hdrs have it
(or something)
no, but you still need that
but string isn't freestanding I think?
i already have that
Per c++ standard
it's not
(I'm waiting for C++26 for freestanding std::expected
)
crazy
you can use it right now
freestnd-cxx-hdrs
I use C++23 and std::expected is wonderful
It's fine
I use it in userspace
oh yeah
Ok, I'm finishing to listen to the song and I'll probably watch that as well
(Though I have an exam tomorrow, which I need to study for...)
good that I don't have a proper sleep scheduler
