<nikolar>
to be fair, the moment you touch graphical software, the dependencies explode
<sortie>
Damn straight
levitating has joined #osdev
<sortie>
I only touched the surface of that iceberg
<mjg>
lol
<mjg>
try to write a hello world in rust
<mjg>
:x
<nikolar>
kek
<sortie>
I have a side project to port as many proglangs as possible to Sortix lol
<sortie>
Rust would earn me the nerd points
<nikolar>
lol
<nikolar>
nah, it would earn you hipster points
<sortie>
I'd probably go for go next
<sortie>
It actually has a thought out bootstrap using go 1.4
<mjg>
haskell or bust
<mjg>
or better yet
<mjg>
port some forsaken basic
<sortie>
I have emacs lisp? :D
<mjg>
i mean something which stopped being maintained in the 90s
<nikolar>
kek
<sortie>
ugh those 90s ports are fun
<sortie>
I have php
levitating_ has joined #osdev
levitating has quit [Read error: Connection reset by peer]
<mjg>
:D
<mjg>
i misread this is 'i hate php'
<sortie>
I actually don't hate it
<sortie>
Although I have not worked in it for like 10 years
<mjg>
my estimation of you as a programmer just fucking plummeted
<sortie>
Be nice mjg
<sortie>
I have not yet told you of my exploits as a Visual Basic and Win32 programmer
<sortie>
You'd be amazed at the amazing abstraction astronautics I achieved
<sortie>
mjg: My ivory tower of excellent is entirely build on years upon years of screw ups and poor ideas
<sortie>
You'd be shocked at the wonderful creation that I somehow managed to refactor MaxsiOS intro
<sortie>
*into
<sortie>
One refactor at a time I make my projects suck less :)
<mjg>
i was sentenced for several years of fixing after php devs
<mjg>
both people who *use* the language and *implement* it
<mjg>
and i have scars to show it
<sortie>
Stroustrup was sentenced to maintaining the language he unleashed upon the world. A fitting punishment :D
<nikolar>
i mean he did bring it onto himself
<mjg>
in a way one should be happy c is so primitive
levitating_ has quit [Remote host closed the connection]
<mjg>
imagine if the simplest lang out there for systems usage was c++
<mjg>
:d
levitating_ has joined #osdev
<sortie>
The International Criminal Court primarily prosecute war criminals and programming language designers
<sortie>
mjg: Honestly that is why I ended up switching Sortix to C.
<mjg>
splitting hair by trying to paint a difference
<nikolar>
sortie: what do you mean
<nikolar>
wasn't it c++
<sortie>
nikolar: Kernel is C++. Userspace was migrated to C many years back.
<nikolar>
ah right
<mjg>
sounds like a backwards choice mon :d
<sortie>
The vast majority of Sortix was written in 'C but it's C++' and I realized this weird common subset language did not have a viable future as both C and C++ evolved and divergenced so I just ported it all to plain C
<mjg>
genuine question tho, why write new userspace in anything c-like anyway
<zid`>
<3
<nikolar>
^
<zid`>
sortie good person, learns from mistakes
<mjg>
maybe turbo core lib could be c
<nikolar>
we love sortie
<mjg>
past that you could probably go it
<mjg>
i'm assuming all this work predated rust
<sortie>
mjg: Well C is the systems language.
<sortie>
It's what I knew.
<sortie>
I don't trust this rust thing.
<mjg>
:d
<mjg>
are you still at G?
<sortie>
Especially since it's hell to bootstrap.
<nikolar>
rust sux
<mjg>
my experience with rust is rather negative so far, but it is the future
<sortie>
You want your lang everywhere? SUPPORT. BOOTSTRAPPING.
<mjg>
and it's not the first time the industry put itself into a corner
<sortie>
The _long tail requires bootstrapping_
Burgundy has joined #osdev
<nikolar>
mjg: the future part remains to be seen
<mjg>
well fwiw rust does support quite a few wtf oses
<mjg>
nikolar: idk man the momentum is there
<sortie>
I never tried rust
<mjg>
even if it will not get anywhere in the linux kernel
<nikolar>
i mean it's place is primarily for userspace stuff if you ask me
<sortie>
If you want to be a real systems language, you need to support getting your language, if you don't have your language.
<sortie>
I don't want to bootstrap 20 versions of your language just to build the latest one from source
<sortie>
Maybe a couple, at worst.
<zid`>
rust is hell to bootstrap and hell to write, and hell to maintain
<zid`>
makes you wonder what isn't hell
<zid`>
what glorious efficiency does it allow
<nikolar>
there are at least 3 projects that aim to implement rust compilers in another langauge, one of which is gcc
<nikolar>
none of them are there
<sortie>
mrustc seemed far enough to bootstrap some real rust versions from recent years
<nikolar>
eh
<sortie>
Didn't try it out, just what I gathered from looking
<sortie>
That's the kind of thing I want. An implementation in C or something that bootstraps easily, which doesn't make good output, but is correct enough to build the real language implementation.
<sortie>
So you can do a bootstrap from source
<zid`>
Is it allowed to require 30GB of diskspace
<zid`>
like the current rust bootstra
<sortie>
In theory, yes. But I also wanna say fuck no.
<nikolar>
lol
<kazinsal>
does it count as a bootstrap if part of its procedure is to install qemu and an linux from scratch image that can run rustc? :P
<nikolar>
just ignore rust
<nikolar>
kazinsal: that would take even more than 30gb čpč
<nikolar>
lol
<zid`>
I'll ignore rust until it's impossible not to
<sortie>
kazinsal: Nope :)
<nikolar>
zid`: basically
levitating_ has quit [Ping timeout: 248 seconds]
heat has joined #osdev
<netbsduser>
the time has come for me to dissociate my vm object page tracking structures from the system page size
<nikolar>
lo
<zid`>
I recommend LSD
<nikolar>
from experience?
<netbsduser>
i was thinking yesterday about the hateful and outrageous situation that to touch a few bytes of a file on a system with 64k pages allocates no fewer than 320k worth in the process
<zid`>
limited slip disassociation, get your mind out of the gutter nikolar
<netbsduser>
i did consider the possibility of collapsing the tree to however many levels are necessary (i.e. 1 level if the highest page extant in the object is < pgsize/size of pointer, etc) which does preserve the simplicity that the tracking tables are always page sized
<netbsduser>
but a thorougher solution might be better yet
levitating_ has joined #osdev
edr has joined #osdev
<heat>
what's a vm object page tracking structure?
<netbsduser>
a 4-level table used to keep track of pages belonging to a vm object
<heat>
oh ok
<zid`>
well it's a virtual machine that's got method calls, which hires dogs to look for pages
<zid`>
I think
<heat>
do you always have the 4 level table allocated??
<netbsduser>
yes, it's a nightmare
<heat>
i grow mine dynamically
<heat>
linux also grows its xarray dynamically
<netbsduser>
outrageous overhead for the common case
<heat>
xarray has a funny optimization i'm yet to do, which has a great optimization for xarrays with 1 entry at 0
<heat>
they just stash it in the top node pointer
<netbsduser>
and the size of levels is tied to the system page size at the moment because i stash data in the page struct (count of pointers in that table level, pointer to pointer pointing to that level)
<netbsduser>
at the very least i need to collapse the depth (preferably to 0 and do that xarray thing where 1 page @ 0 is directly pointed to) and i think disentangling it from the system page size would also be nice
<heat>
my nodes are 568 bytes long
<heat>
including associated metadata
dinkelhacker_ has joined #osdev
bauen1 has joined #osdev
hwpplayer1 has joined #osdev
q3lont has quit [Quit: Leaving]
<dinkelhacker_>
sortie: sorry my message got dropped. Yes I meant a gui.
heat has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
levitating_ has quit [Remote host closed the connection]
the_oz_ has quit [Ping timeout: 260 seconds]
the_oz has joined #osdev
levitating has joined #osdev
gildasio has quit [Ping timeout: 260 seconds]
gildasio has joined #osdev
hwpplayer1 has quit [Remote host closed the connection]
hwpplayer1 has joined #osdev
PapaFrog has quit [Ping timeout: 245 seconds]
levitating has quit [Ping timeout: 260 seconds]
Left_Turn has joined #osdev
PapaFrog has joined #osdev
levitating has joined #osdev
craigo has quit [Remote host closed the connection]
<netbsduser>
i wonder whether it's also worth my time to support the page table size < architectural page size case (as in not to require allocating pgsize / tablesize worth of tables at a time and install as many in the higher-level table)
<netbsduser>
as in for architectural page tables and not for vm object tracking structures
levitating has quit [Ping timeout: 272 seconds]
kof673 has quit [Quit: q]
<the_oz>
gotta grab that ram so you can cache shittyscript for the browsers so the ad executives can decrease time-til-eyeball on ads
<the_oz>
the real motivator of innovation in bizzaroworld
orccoin has quit [Read error: Connection reset by peer]