<SystemPrompt>
heat: "how is wayland so bad" second system effect
<SystemPrompt>
btw with that "every frame is perfect" stuff... nobody stopped to think that means you can't resize a window that's not responding
<gog>
oops
<SystemPrompt>
because then it wouldn't look perfect
<Matt|home>
hi gog o\
<gog>
every frame a painting
<gog>
hi Matt|home
<SystemPrompt>
if a frame is wasted, god gets quite irate
<gog>
dropping frames is fine
<gog>
just don't dip me below 30fps pls
<heat>
the human eye cannot see above 24 frames per second
<Matt|home>
i was just about to ask that lol
<karenw>
A stable 30fps beats a flustuating 50-60 fps any day
<heat>
hmm no
<Matt|home>
30 fps = good target
<the_oz>
intermittent etc
<heat>
30 sucks and you feel the input lag
<Ermine>
so wayland just has wayland propaganda at each 25th frame
<karenw>
A stable 60 is even better though
<heat>
if you fluctuate between 50-60 that's okay
<heat>
even 40 is (i feel) miles better than 30
<the_oz>
computer monitors vs film
<Ermine>
most displays are 60Hz though
<heat>
input lag though
<karenw>
It's personal preference, I prefer stable fps to higher but unstable, others are different.
<the_oz>
fps isn't enough information
<karenw>
Just like run everything at 144fps, problem solved.
<Ermine>
idle kwin can do 0fps btw
<heat>
i'd be pretty upset if my compositor did frames per second
<SystemPrompt>
btw insisting on perfect frames adds latency. You have the data now, but you want to wait until vblank to present it?
<heat>
yes.
<SystemPrompt>
(the real solution is to schedule the whole system so the frame is done being computed at exactly the end of vblank but good luck with that)
<SystemPrompt>
(some systems and I think even some Wayland compositors try to do this)
<Ermine>
oh, that was not kwin, that was plasmashell actually
<the_oz>
the real solution is to offload in between frames in non-causal timespace
<the_oz>
fps: instantly every time!
<karenw>
The real solution is to just use a text terminal not a monitor.
<the_oz>
>no use a printer
<Ermine>
The real solution is to stop using computers and go out and touch grass
<karenw>
Yeah, but if I go out and touch grass I just get rained on. It's bad for my laptop.
<SystemPrompt>
Go in and touch glass
<heat>
that's portugal but definitely not right now
<Ermine>
which kind of winter do you have ?
<heat>
22C tomorrow
<heat>
a little cloudy
<SystemPrompt>
Post climate change winter
* kof673
people........... <points at libyan/libra desert sea of glass> go out and touch glass <points at mad mallard> <points at baron munchausen sailing through the sand>
* kof673
shakes head in disappointment
<Ermine>
We have 7C rainy tomorrow
<Ermine>
with -1C at night
<SystemPrompt>
woah, negative temperatures, the thermometer is going backwards!
<Ermine>
we even had some snow
<heat>
in soviet russia, winter temperature too low to make joke
<Ermine>
hence Portugal doesn't qualify for Eastern Europe
<heat>
portugal is definitely eastern europe
* kof673
points at "The famous line "My God, it's full of stars!" were Dave Bowman's final words as he entered the monolith in the book version of 2001: A SpaceOdyssey."
<heat>
croatia for instance also has decent weather
<heat>
serbia is also decent but instantly just a little greyer
<Ermine>
croatia is southern europe though?
<heat>
croatia is generally considered eastern europe i'd say
vdamewood has joined #osdev
<Ermine>
"Croatia is a country in Central and Southeast Europe"
<heat>
like, geographically speaking even romania isn't in eastern europe i believe
vdamewood is now known as vampiredamewood
<heat>
bosnia is _definitely_ eastern europe
<the_oz>
walk like a bohemian
<heat>
(lots of this has to do with being poor countries and the old iron curtain, even though yugoslavia wasn't in it)
<the_oz>
flak trooper reportink
<Ermine>
looked in wikipedia, and there are multiple definitions of Eastern Europe actually
<nikolar>
the most common term for balkans (other than balkans) is southeastern europe
<nikolar>
eastern europe is like russia, ukraine, belarus
<heat>
southeastern europe is eastern europe with extra steps
<the_oz>
steppes? eh? EH?
<heat>
no thats asia
<Ermine>
re iron curtain -- Warsaw pact is more relevant here
<nikolar>
heat: not really
<heat>
yes really, i'd challenge you to find someone in france or the uk that says serbia is in southeastern europe
<heat>
vs eastern europe
<nikolar>
that's just a general lack of geographic knowledge
<nikolar>
they'd thinkg estonia is in the balkans or something
<heat>
i very well know where serbia is and that's still eastern european for me
<heat>
it is a cultural thing
<heat>
greece? southern europe.
<heat>
serbia? eastern europe.
<nikolar>
how so
<nikolar>
serbia and greece are culturally quite connected
<heat>
no one says greek people are eastern european because you're not imagining them doing slav squats with adidas tracksuits
<spiderella>
Serbia is slav
<nikolar>
so eastern europe=slav for you
<spiderella>
Yes
<nikolar>
so just say slav
<heat>
it's a cultural thing
<heat>
not _entirely_ slav
<heat>
but iron curtain, russian/turkish influence, etc most definitely
<nikolar>
i am pretty certain official eu documents refer to balkans as south eastern europe btw
<nikolar>
(or just balkans)
<heat>
probably
<Ermine>
Serbians are southern slavs though
<nikolar>
sure, so?
<nikolar>
poles are western slavs, yet no one calls them western europe
<Ermine>
it was re eastern europe=slav
<heat>
poles are more western europe than serbia
<nikolar>
poles are central europe
<Ermine>
UN statistics division considers them as Eastern Europe
<heat>
yep, still eastern europe
<the_oz>
Greece is Western Philosophy :D
<nikolar>
along with germany, czechs, etc
<heat>
but more culturally western
<heat>
czechs are also on the eastern europe boat
<heat>
austria isn't
<nikolar>
Ermine: does the un statistics division split europe in 2 or something
kfv has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
xenos1984 has quit [Quit: Leaving.]
kfv has joined #osdev
goliath has quit [Quit: SIGSEGV]
emntn has quit [Quit: WeeChat 4.4.2]
Burgundy has quit [Ping timeout: 252 seconds]
youcai has joined #osdev
kfv has quit [Remote host closed the connection]
Fingel has joined #osdev
kfv has joined #osdev
sbalmos has quit [Quit: WeeChat 4.3.1]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 246 seconds]
jedesa has joined #osdev
Arthuria has quit [Ping timeout: 264 seconds]
kfv has quit [Remote host closed the connection]
kfv has joined #osdev
sbalmos has joined #osdev
aethlas_ has quit [Quit: bye]
aethlas has joined #osdev
Matt|home has quit [Read error: Connection reset by peer]
goliath has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 265 seconds]
kfv has quit [Remote host closed the connection]
YaseenTa has joined #osdev
YaseenTa has quit [Remote host closed the connection]
jedesa has quit [Remote host closed the connection]
kfv has joined #osdev
the_oz has quit [Remote host closed the connection]
the_oz has joined #osdev
raphaelsc has quit [Ping timeout: 248 seconds]
karenw has joined #osdev
hwpplayer1 has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
heat has quit [Ping timeout: 248 seconds]
xal has quit [Quit: bye]
hwpplayer1 has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
kpel has joined #osdev
gog has joined #osdev
theruran has joined #osdev
alexander has quit [Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in]
<nikolar>
ILLUMOS
aethlas has quit [Quit: bye]
aethlas has joined #osdev
goliath has quit [Quit: SIGSEGV]
<gog>
openohio skibidi rizz we're solaris guys
alexander has joined #osdev
<karenw>
Shhh, if you say that too loud, the Oracle Lawyer Truck will hear you.
<gog>
before gta vi?
Matt|home has joined #osdev
xenos1984 has joined #osdev
kpel has quit [Quit: _]
kfv has quit [Ping timeout: 245 seconds]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 265 seconds]
goliath has joined #osdev
Burgundy has joined #osdev
cow is now known as First_Time_Bro
First_Time_Bro is now known as cow
netbsduser` has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 245 seconds]
navi has quit [Remote host closed the connection]
orccoin has joined #osdev
orccoin has quit [Ping timeout: 255 seconds]
hwpplayer1 has quit [Remote host closed the connection]
X-Scale has joined #osdev
X-Scale has quit [Quit: Client closed]
navi has joined #osdev
hwpplayer1 has joined #osdev
_ngn has quit [Ping timeout: 260 seconds]
hwpplayer1 has quit [Read error: Connection reset by peer]
youcai has quit [Ping timeout: 276 seconds]
netbsduser has joined #osdev
netbsduser` has quit [Ping timeout: 252 seconds]
youcai has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
netbsduser has quit [Ping timeout: 245 seconds]
<Ermine>
ALTERNATIVE JRE IMPLEMENTATION
<Ermine>
now they will come
<Ermine>
btw, are there any lightweight virtual machines that are easy to implement?
<heat_>
wdym
<heat_>
define virtual machine
<heat_>
and lightweight
<Ermine>
as in JVM
<heat_>
brainfuck
<Ermine>
I've expected that coming
<Ermine>
hi btw
<heat_>
hi
<kof673>
used to be kaffe
<kof673>
and some others i believe
<heat_>
Ermine, i did bpf and bpf was pretty fun (but a little underspecified)
<heat_>
i'm in the middle of (slowly) doing ebpf
npc has left #osdev [#osdev]
<Ermine>
Oh wow, they are going to standartize it at ietf
<heat_>
yep
<heat_>
bpf is cute because you can jit the whole program (and it's actually useful to do so)
<heat_>
ebpf is cute because it's super close to an actual ISA and probably even easier to JIT
<Ermine>
jitting stuff in kernel seems suspicious security-wise
<heat_>
why?
<karenw>
AML says hi
<heat_>
i cannot tell exactly how jitting is less safe than interpreting, except if the jitter is _very_ buggy
<heat_>
or spectre-like attacks but lol
<heat_>
(and those can be worked around in the jitter)
<Ermine>
Can't say for sure, but it reminds me of story when MS Edge devs introduced "super duper secure mode" (or something like this) which disabled jit
<heat_>
for side-channel attacks probably, but security people love to handwave
<heat_>
just like when theo tried to argue in linux-mm that allowing partial mprotect operation was a security problem
<Mondenkind>
what's partial mprotect
<heat_>
POSIX leaves the protection of the memory range unspecified in case of an error
<Mondenkind>
in general security implication of jitting is that it exacerbates other bugs
<heat_>
so it's permissible to leave an mprotect() half-done, and linux does that
<Mondenkind>
oob write turns into arbitrary code exec if you can corrupt a codegen buffer
<heat_>
depends, if you enforce W^X then the risk is probably minimal
<Ermine>
well, okay, maybe it's just my risk aversion which got alarmed
<heat_>
i'll also say that oob write for the kernel can usually always be arbitrary code execution, because everything is mapped
<zid`>
If you jit and emit call write_checked
<zid`>
instead of just doing the write
<zid`>
sort of defeats the point of the jit
<zid`>
people wanna write a *fast* JIT, not a secure one :P
<heat_>
even a secure one will be way faster than interp
<nikolar>
Not necessarily
<heat_>
for instance bounds checking is not really that expensive
<zid`>
not much slower, but it's mental blocky
<zid`>
jit -> gotta improve the jit -> gotta make it run faster
<zid`>
making it run faster means trying to cleverly avoid bounds checks
<zid`>
which you can absolutely fuck up
<karenw>
heat_: With correctly functioning SMEP, not all kernel OOBs are ACE. But I agree with the general concept of "JIT makes minor bugs into major bugs"
<heat_>
lots of kernel OOBs can give you code execution as long as there's that big writable mapping that you can use to poke all of memory
<heat_>
hmm, actually i don't know if any kernel out there unmaps the pages when they're used for kernel code
<zid`>
heap sprays are pretty common for turning a write gadget into code execution
<zid`>
kernel has a LOT of function pointers
<klys>
just in time (tm)
guideX_ has joined #osdev
Patater has joined #osdev
m5zs7k_ has joined #osdev
Fingel has quit [Read error: Connection reset by peer]
frkazoid333 has quit [Remote host closed the connection]
m5zs7k has quit [Ping timeout: 265 seconds]
gog has quit [Read error: Connection reset by peer]
DrPatater has quit [Ping timeout: 265 seconds]
gog has joined #osdev
guideX has quit [Ping timeout: 265 seconds]
Gooberpatrol_66 has quit [Remote host closed the connection]
Gooberpatrol_66 has joined #osdev
m5zs7k_ is now known as m5zs7k
<karenw>
I mean, all code has a lot of function pointers. It's just normally hidden away in a vtable.
<karenw>
Or whatever your programming language of choice calls it's dynamic dispatch primitives
<zid`>
err, no
<zid`>
barely any C code contains any function pointers at all
<zid`>
kernel is notable for just how many there are, for a C program
<heat_>
object-oriented C code generally has plenty of function pointer tables
<zid`>
exactly
<zid`>
which is a *really* rare paradigm
<heat_>
i'm not sure if it's really that rare among larger C programs
<zid`>
It's not rare to have *some*, in a sufficiently large program, ofc not
<zid`>
but the kernel has *lots*
<zid`>
maybe because files exist
<zid`>
and files are 'everything'
<zid`>
so they end up everywhere
<Ermine>
that's how you do virtual funcs in C I guess
<Ermine>
Idr how many tables do you need to fill for KMS driver
<heat_>
a linux filesystem needs at least 4 separate vtables
<karenw>
Fuse gets away with just one vtable though, huh. I guess I'll go look how linux fs drivers work. (I'm sure it's well documented and easy to understand /s)
<nikolar>
fuse abstracts a lot
<heat_>
you need file_operations, inode_operations, super_operations, address_space_operations
<heat_>
file_operations controls how the various syscalls are handled, inode_operations handles various operations *on the inode itself*, super_operations handles various fs stuff, address_space_operations lets you connect the page cache to your filesystem
<heat_>
dentry_operations lets you control how the dcache connects to your filesystem. all of this is reaaaaaaaaaaally flexible