<zid>
This is how you're supposed to debug things right?
<jafarlihi>
No idea
<mrvn>
check yout elf file
<zid>
jafarlihi: do you know what a page table entry looks like?
<zid>
and do you know the relationship between multiplication by powers of the number base and place value
<mrvn>
What's KMEM_KPAGE? Maybe that isn't the page size?
<jafarlihi>
It's C0000000
<zid>
I didn't ask you what value it had
<jafarlihi>
I know what page table entry looks like, I just don't get the purpose of multiplication here. It refers to 12GB+ after mul.
<mrvn>
jafarlihi: no, it overflows and becomes 0
<mrvn>
jafarlihi: when are you going to stop reading other peoples broken code and write your own?
<jafarlihi>
Soonish
nj0rd has joined #osdev
Likorn has quit [Quit: WeeChat 3.4.1]
nyah has joined #osdev
arch-angel has joined #osdev
<jafarlihi>
I made a script to git clone literally everything from projects page so I can grep through everyones' projects
gildasio has joined #osdev
<Andrew>
Can anyone note me some complications if I treat hard disks as memory, as in things are just stored in the hard drive, accessed through pointers?
Ali_A has joined #osdev
<\Test_User>
Andrew: "your SSD now has 0 write cycles left"
<Andrew>
\Test_User: I mean, I still only store persistent data in there and stuff, not things like current system boot state, but I jsut don't want filesystems
<j`ey>
so youre storing data there.. does data including files from a user?
<\Test_User>
Andrew: if it's treated *the same*, you can't make that distinction; ram from your programs may like this new 1TB available and decide to use it
<j`ey>
where is the metadata stored to know where the 'data' on the disk is?
<Andrew>
"There are no files"
blockhead has quit []
<Andrew>
\Test_User: Treated "like", as in it's used with pointers and stuff, miswrote
<j`ey>
Andrew: how is users data stored?
<\Test_User>
then that's just a weird filesystem type
<j`ey>
or is there no user data?
<Andrew>
\Test_User: Well, kind-of
<Andrew>
j`ey: Basically like how user data is stored in memory
<Andrew>
Note that I'm still planning this new idea
<\Test_User>
"storing this new idea in memory" :P
<j`ey>
Andrew: and when you turn the machine off, and want to persist the data, what happens?
_73 has quit [Remote host closed the connection]
<Andrew>
j`ey: Since it's a hard drive and I'm only accessing it like how I access memory, it stays there, though I need a place to store the pointers and stuff which would be insanely annoying
<Andrew>
yeah, finding where data is where is annoying
<GeDaMo>
How is the user going to refer to data?
<Andrew>
Tags
<Andrew>
Ugh
<Andrew>
Tags for searching
<j`ey>
Andrew: so yes, you want a file system ;)
<Andrew>
Literal position in disk for reference
<Andrew>
Yup, I seem to be making a filesystem :)
<j`ey>
why dont you want a file system?
<Andrew>
Nah, what I didn't want was a directory hierachy, alternatively that's called "normal filesystem"
<Andrew>
(But I won't call them files, just like how I don't call random data in memory files)
<GeDaMo>
"In early MCP implementations, directory nodes were represented by separate files with directory entries, as other systems did. However, since about 1970, MCP internally uses a 'FLAT' directory listing all file paths on a volume." https://en.wikipedia.org/wiki/Burroughs_MCP
<bslsk05>
en.wikipedia.org: Burroughs MCP - Wikipedia
<Andrew>
Hmm
<j`ey>
folders seems like a good way to represent structure, I feel like tags dont work as well
<GeDaMo>
No reason you can't have both
<j`ey>
(for me)
<Andrew>
I can have both, but then there'd be the question of "should I use folders or tags", and I want tags better, don't really want folders anyway
<GeDaMo>
You could see a folder name as a special form of tag
<GeDaMo>
Maybe have a way of marking it as 'primary' or something
<Andrew>
That's not how my brain works, so nah
<Andrew>
There would be different types of metadata though
<Andrew>
tags = general for-human representation of categoreis
<bslsk05>
www.tbray.org: ongoing by Tim Bray · On Search, the Series
<j`ey>
with folders, a file can for example only be in 'photos' or 'source-code', with tags it can be in both
<j`ey>
what good example do you need for something to be in two major tags?
<GeDaMo>
Also, the same tag can apply to many 'files', how do you uniquely specify a 'file'
<GeDaMo>
?
<Andrew>
The only way to uniquely specify a file is to use its pointer
<Andrew>
A good example: I might have a tag called "BruhOS" for my OS's stuff, and if I wrote a school essay about it, it's gonna be tagged both BruhOS and Essay and School
<GeDaMo>
And maybe a date
<j`ey>
hm
<psykose>
definitely no dates
<GeDaMo>
What if you have the same file on more than one machine?
<j`ey>
could easily be school/essays/bruhos.txt or whatever
<j`ey>
guess you might forget its there
<Andrew>
j`ey: There can be essays that are not for school, and I would have other bruhOS stuff that I would organize together
<Andrew>
GeDaMo: Don't know
<Andrew>
Maybe hostname:pointer or something
<GeDaMo>
URLs aren't perfect but they're pretty good :P
<Andrew>
URLs assume hierachical data
Oshawott has joined #osdev
archenoth has quit [Ping timeout: 246 seconds]
<GeDaMo>
I suppose you could use the hash of the file as an identifier which is what Bittorrent does
<Andrew>
Hash collisions will *always* exist
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
qubasa has quit [Ping timeout: 260 seconds]
the_lanetly_052 has joined #osdev
gog has joined #osdev
the_lanetly_052_ has quit [Ping timeout: 246 seconds]
mahmutov has quit [Ping timeout: 255 seconds]
jafarlihi has quit [Quit: WeeChat 3.5]
_eryjus has joined #osdev
eryjus has quit [Ping timeout: 246 seconds]
jafarlihi has joined #osdev
Vercas9 has joined #osdev
foudfou_ has joined #osdev
Vercas has quit [Quit: Ping timeout (120 seconds)]
foudfou has quit [Quit: Bye]
Vercas9 is now known as Vercas
jafarlihi has quit [Quit: WeeChat 3.5]
wootehfoot has joined #osdev
eryjus has joined #osdev
_eryjus has quit [Ping timeout: 276 seconds]
Oshawott has quit [Ping timeout: 276 seconds]
blockhead has joined #osdev
srjek has joined #osdev
foudfou_ has quit [Remote host closed the connection]
<mjg_>
clang says all good, gcc says warning: control reaches end of non-void function
<moon-child>
I would be tempted to say it should warn, and you should default: __builtin_unreachable() if you wanna assert as your api contract that you can only eat shit and turds
<mjg_>
that's what i happen to be doing
<mjg_>
so thanks for nothing!
<mjg_>
well, not in default:
<moon-child>
because I can imagine cases where a warning would be useful
<mjg_>
after the switch
<moon-child>
mjg_: what's the difference?
<mjg_>
specifically so that the compiler still can tell me i got a new num i did not account for
<mjg_>
in the switch
<moon-child>
right
eryjus has quit [Quit: eryjus]
<zid>
-Wswitch-enum is neat
<zid>
-Wswitch is silenced by the default:
Burgundy has quit [Ping timeout: 255 seconds]
dude12312414 has joined #osdev
<mrvn>
\Test_User: You can guarantee there are some, but the chance of getting even one is miniscule
<\Test_User>
ye
<mrvn>
The chance of it being 2 useful files is even less
<\Test_User>
but as far as hashing stuff for indexing goes - you don't need a secure hash, you want a fast one
<mrvn>
you want both
<\Test_User>
there's no need at all for it to be secure if you're using it for indexing
<mrvn>
just collision free
<\Test_User>
yes
<mrvn>
which pretty much comes down to the same functions
<mrvn>
I would even say that if you can't force a collion then it's going to be secure.
_xor has quit [Quit: brb]
<mrvn>
mjg_: an enum can be any number representable in as many bits as the largest enum member requires. So crap is 1 bit and you covered all cases. `enum more { shit, turd, piss };` on the other hand is 2 bits and you wouldn't cover "case 3"