klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
ramenu has joined #osdev
\Test_User has quit [Quit: .]
\Test_User has joined #osdev
<adder> COFFEE
qubasa has quit [Remote host closed the connection]
xenos1984 has joined #osdev
Matt|home has quit [Quit: Leaving]
vdamewood has joined #osdev
<heat_> chrome is suspending tabs super eagerly here
<heat_> which is good
<nikolapdp> can't you control that somehow
<zid> chrome? control things?
<zid> hahaha
<nikolapdp> lol wouldn't know, don't use it
<heat_> sure i can
<zid> I don't use it because it's adamant about the way it should work
<zid> and the way it 'should' work is anti-me
<heat_> but freeing up memory instead of making the system swap tabs out is good, IMO
<heat_> i'm not looking at all of my tabs at the same time continuously
<heat_> oh, here's a fun idea: what if the kernel could simply discard certain pages (that were madvise'd before) and tell userspace about it
<nikolapdp> doesn't that exist already
<heat_> so if a program has something in cache, the kernel could unilaterally discard it and set some bit somewhere or soemthing
<heat_> i don't know? i can't think of a similar feature
<zid> why tell it about it
<zid> that sounds like a signal, and we have that, page faults
<heat_> page faults are expensive
<zid> or rather, segfaults
<heat_> and in this case, the mmap segment wouldn't be unmapped, just zeroed on next use
<zid> if I hit up some 20MB image or .js file or whatever and it gives me a segfault
<nikolapdp> MADV_DONTNEED is the closest thing that comes to mind
<zid> I'll just redownload it
<heat_> although i can see some possible concurrency issues...
<nikolapdp> heat_ ^
<heat_> i guess segfault would /kinda/ solve them, but you could get into a livelock
<heat_> and on most kernels unmapping a segment is super touchy and cant be done outside the process
<heat_> at least due to locking reasons
<zid> It also makes detecting actual crashes kinda hard
<zid> heat I hate your idea
<zid> why not just let the OS swap shit
<zid> my disk is faster than my internet, and 'pages lose their content and you have to redownload it' doesn't work on modern websites
<heat_> why would chrome's zid.jpeg in-memory cache be swapped to disk?
<zid> this whole convo was about memory pressure
<heat_> yes
<zid> that's why
<heat_> but if it's in memory *cache* (and anonymous at that), it shouldn't be written back to disk
<zid> you're going to have to define what you mean by memory cache then
<heat_> because... no one cares if its gone
<heat_> in this context "in-memory" I mean in-process user memory
<heat_> oh, MADV_FREE /kind of/ does what i want
<heat_> not quite, but close-ish
<nikolar> Check MADV_DONTNEED
<heat_> MADV_DONTNEED is not what i want
<heat_> MADV_DONTNEED just discards everything immediately
<nikolar> Ah yeah
<nikolar> You want to be able to keep using it until the os tells you it's gone
<heat_> MADV_FREE kind of works by using write as a signaling mechanism
<heat_> struct cached_data {int valid; char data[];}; if (!valid) {valid = 1; refill_data();}
<heat_> and then you madvise the whole structure as-needed
<heat_> huh. i guess MADV_FREE does work
goliath has quit [Quit: SIGSEGV]
<nikolar> Similar to dontneed except it's potentially delayed
<heat_> oh wow, POSIX_MADV_DONTNEED is not implemented in linux at all
<heat_> great stuff
navi has quit [Quit: WeeChat 4.1.2]
<nikolar> Lol
elderK has joined #osdev
<elderK> Hey guys, any chance there's anyone here who's an expert with CFFI?
<elderK> Ah, sorry. Wrong channel :)
<elderK> Happy Sunday to all anyway :)
pretty_dumm_guy has quit [Ping timeout: 260 seconds]
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 264 seconds]
<adder> Is it Easter already?
<zid> no but tomorrow is monday, which is honzukid ay
<zid> honzuki day*
<adder> What's a honzuki?
<bslsk05> ​j-novel.club: Ascendance of a Bookworm (Light Novel) | J-Novel Club
<zid> lmk when you're up to date so we can compare ntoes
<adder> I wish I had the time to read fiction. :)
<zid> You're on irc, ofc you do
<adder> For educational purposes!
<zid> and presumably you sleep sometimes, cut that right out
<adder> Ah, libgen hasn't got it.
<adder> How much is all?
<zid> a gig
<adder> A gig?
<adder> It says 699.
<zid> it's like, a thousand megs
<adder> No, I mean how much I need to pay to read it.;
<zid> oh, you click the link I sent you, realistically
<zid> fall in love, then buy hard copies
<adder> Is the Preview the whole thing?
<zid> the what
<zid> I sent you a message
<zid> it'll be the red flashy thing, or the purple thing, depending on client
<zid> or maybe bold yellow?
<zid> I forget what irssi does for privmsg
<adder> Tiny.
<adder> Red. :)
ramenu has quit [Ping timeout: 255 seconds]
<zid> Redda.
ramenu has joined #osdev
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
vdamewood has quit [Quit: Life beckons]
cow321 has quit [Read error: Connection reset by peer]
blockhead has joined #osdev
blockhead has quit [Client Quit]
cow321 has joined #osdev
gog has quit [Ping timeout: 256 seconds]
rustyy has quit [Ping timeout: 276 seconds]
elderK has quit [Quit: WeeChat 4.1.1]
Matt|home has joined #osdev
<adder> What do I read to learn how to write a kernel? Just show it to me, I don't care if it's 10k pages.
<adder> I went through the MINIX book previously, so I have some idea.
<adder> Well, having an idea is a wild overstatement. But I did go through the book. :)
<adder> zid: ^
<zid> I've never read a technical book.
ramenu has quit [Ping timeout: 276 seconds]
ramenu_ has joined #osdev
<adder> I'm not sure how I'd otherwise learn.
<adder> There's not enough substance in my head to just come up with a kernel.
<zid> fix that then?
<zid> Do some embedded stuff
<adder> Why embedded?
<zid> or at least systems
<zid> break you out of your shell of relying on something telling you what and how to do things
<zid> and learn all the tools you'll need
<zid> like, a gameboy game is just a very shitty kernel
<zid> it's driven off interrupts and does some stuff, then goes back to sleep
<zid> Then maybe write an allocator in userspace with mmap as a backend.
<zid> Then write a filesystem in memory
<zid> Then write..
<zid> Like, you could read a unix book, then rewrite unix, which might be fun
<zid> but if you want to write *your* OS, you need to have *your* ideas on how the apis should work etc
<adder> I want to do a minix-like clone.
<zid> and it's hard to have any of your own feelings unless you've written similar code before
<zid> "I hate how x does y, I'd do it like z"
<zid> is how you write an OS
<adder> Well I need to figure out how to write an os at all first. :)
<zid> right, so what's stopping you?
<adder> Then I can reason about what needs changed.
<zid> You can't write bare metal anything at all?
<zid> You could, but only after someone else has given you the toolchain?
<zid> You can, but you don't know how to run it?
<adder> No, I've only done general purpose programming. The most challenging to me was a virtual machine.
<zid> So then what's stopping you? What wall are you seeing in front of you
<zid> to just get started
<zid> bear in mind what you write doesn't have to be the best thing you *could* write, or even your 'minix clone', what about something that booted and printed hello world in an infinite loop?
<adder> Yes, that sounds like a good start.
<zid> If you're not capable of that yet, you now have a *much* more realistic goal.
<zid> It's very hard to know what you don't know, if you've not messed with something at least tangentially related to the thing you wanna do
<zid> "I wanna design a car engine", "Great, petrol or diesel?" "Uhh, what's the difference?" <-- This person is not ready.
<adder> lol
<zid> think of it like learning a language imo, you don't *start* by writing fantasy novels
<zid> You start by reading children's books.
<zid> or writing crappy essays about cheese
<adder> I think I have what it takes for a hello world, definitely, and then I'd be gradually chipping away at it and stockpiling features.
<zid> none of it is the *goal* of writing a fantasy novel
<zid> but it's all required to have been something you did
<adder> I did not know how to write a virtual machine either, but I learned. :)
<zid> and some shitty int method = packet->type; switch(method) case 0: udp_packet(packet); break; case 1: tcp_packet(packet); break; .. } dispatcher for a totally unrelated program or whatever, is what might have given you the skills to have done so
gbowne1 has quit [Read error: Connection reset by peer]
<zid> just.. write lots of code,
<zid> and anything you wanna do is next to something you already did and you have a good idea how it will go already before you start
<adder> Yep.
<adder> I'll figure out tomorrow (today?) how to boot it and print a message, after I get some sleep.
netbsduser` has joined #osdev
gxt has quit [Remote host closed the connection]
gxt has joined #osdev
heat_ has quit [Ping timeout: 246 seconds]
netbsduser` has quit [Ping timeout: 264 seconds]
Gooberpatrol66 has quit [Quit: Leaving]
GeDaMo has joined #osdev
Matt|home has quit [Quit: Leaving]
pretty_dumm_guy has joined #osdev
zxrom_ has joined #osdev
zxrom has quit [Ping timeout: 260 seconds]
zxrom_ is now known as zxrom
vdamewood has joined #osdev
stanrifkin has joined #osdev
<kazinsal> ssh troy@jarvan
<kazinsal> oops, you're not my terminal
<sortie> troy@jarvan ~ $
Gurkenglas has joined #osdev
<vdamewood> passowrd:
<vdamewood> dammit
zid has quit [Ping timeout: 260 seconds]
zid has joined #osdev
Ermine has quit [Remote host closed the connection]
Ermine has joined #osdev
<kazinsal> > mkfs.ext2: Input/output error while writing out and closing file system
<kazinsal> well, this floppy's toast.
goliath has joined #osdev
Left_Turn has joined #osdev
<vdamewood> the floppy... or the drive?
rustyy has joined #osdev
navi has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 255 seconds]
Turn_Left has quit [Ping timeout: 268 seconds]
aejsmith has quit [Remote host closed the connection]
aejsmith has joined #osdev
Turn_Left has joined #osdev
Turn_Left has quit [Max SendQ exceeded]
hl has quit [Quit: ZNC - https://znc.in]
Turn_Left has joined #osdev
hl has joined #osdev
Turn_Left has quit [Ping timeout: 264 seconds]
Turn_Left has joined #osdev
Gurkenglas has quit [Ping timeout: 250 seconds]
Gurkenglas has joined #osdev
[itchyjunk] has joined #osdev
Turn_Left has quit [Remote host closed the connection]
[_] has quit [Ping timeout: 268 seconds]
Turn_Left has joined #osdev
Bonstra has quit [Quit: Pouf c'est tout !]
netbsduser` has joined #osdev
Gurkenglas has quit [Quit: Ping timeout (120 seconds)]
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
Gurkenglas has joined #osdev
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
heat_ has joined #osdev
pretty_dumm_guy has quit [Ping timeout: 264 seconds]
pretty_dumm_guy has joined #osdev
sbalmos has quit [Ping timeout: 268 seconds]
sbalmos has joined #osdev
Cindy has joined #osdev
bubuche87 has joined #osdev
heat_ has quit [Remote host closed the connection]
heat_ has joined #osdev
ramenu__ has joined #osdev
ramenu_ has quit [Ping timeout: 252 seconds]
bubuche87 has quit [Ping timeout: 250 seconds]
frkzoid has joined #osdev
Gurkenglas has quit [Quit: Client closed]
Gurkenglas has joined #osdev
bubuche87 has joined #osdev
crm has joined #osdev
orthoplex64 has quit [Ping timeout: 268 seconds]
Gurkenglas has quit [Quit: Ping timeout (120 seconds)]
ramenu__ has quit [Ping timeout: 268 seconds]
Bonstra has joined #osdev
ramenu__ has joined #osdev
Turn_Left has quit [Ping timeout: 264 seconds]
Turn_Left has joined #osdev
Turn_Left has quit [Max SendQ exceeded]
Turn_Left has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
pretty_dumm_guy has joined #osdev
Turn_Left has quit [Ping timeout: 255 seconds]
Turn_Left has joined #osdev
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
Turn_Left has quit [Max SendQ exceeded]
Turn_Left has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 255 seconds]
Left_Turn has quit [Remote host closed the connection]
Left_Turn has joined #osdev
xenos1984 has quit [Ping timeout: 264 seconds]
xenos1984 has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
Left_Turn has quit [Ping timeout: 256 seconds]
Matt|home has joined #osdev
Left_Turn has joined #osdev
xenos1984 has quit [Ping timeout: 264 seconds]
Left_Turn has quit [Ping timeout: 272 seconds]
bubuche87 has quit [Ping timeout: 250 seconds]
Left_Turn has joined #osdev
xenos1984 has joined #osdev
Left_Turn has quit [Ping timeout: 255 seconds]
Left_Turn has joined #osdev
elderK has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
knusbaum has joined #osdev
Ameisen_ has quit [Quit: Quitting]
Ameisen has joined #osdev
<nikolapdp> KERNAL
<zid> nercol
<zid> how honzuki niko
<nikolapdp> busy
<zid> always an excuse eh
<nikolapdp> i was out the whole day so you know
<zid> see
<zid> nikolapdp if you're struggling with any of the words, I can help
<nikolapdp> i know words zid
<zid> cat, dog, etc
<nikolapdp> there are words outside computers, wow
<zid> There are words INSIDE the computer too!?
<nikolapdp> the words you're reading right now are in your computer somewhere
Arthuria has joined #osdev
<zid> I thought I was reading them off my ethernet card's buffer
selve_ has joined #osdev
<zid> and it was doing like, morse code
<nikolapdp> your ethernet card is still in your computer so still true
<zid> it isn't my computer though, that's the confusion
<nikolapdp> oh are you signaling pci manually to the card
<zid> aren't we all?
<nikolapdp> in a way, guess so
selve_ has quit [Quit: leaving]
Left_Turn has quit [Quit: Leaving]
bubuche87 has joined #osdev
Arthuria has quit [Ping timeout: 264 seconds]
bubuche87 has quit [Ping timeout: 250 seconds]
<heat_> nikolapdp, kern
bubuche87 has joined #osdev
<nikolapdp> heat_: ILLUMOS
zid has quit [Ping timeout: 264 seconds]
zid has joined #osdev
bubuche87 has quit [Quit: Client closed]
<geistvax> ILLUMOS
bubuche87 has joined #osdev
<heat_> drop the farce geistvax
<heat_> we know ILLUMOS doesn't run on the VAX
<nortti> yet
<heat_> btw try #2: does anyone know why v5/v6 UNIX had 514-sized buffers in the buffer cache?
<heat_> i need to know
<heat_> i think they're stashing that last word in the buffer for something, but i can't tell and there are no comments
bubuche87 has quit [Ping timeout: 250 seconds]
SunClonus has joined #osdev
<geistvax> hmm, i thought i had a illumos VM at some point
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
SunClonus has quit [Remote host closed the connection]
SunClonus has joined #osdev
<heat_> time to bring out the sparcstation
SunClonus has quit [Quit: Leaving]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
<nikolapdp> heat_ i'll have to disappoint you but as far as i know, illumos is dropping sparc support
<heat_> Slowly(tm)
<nikolapdp> yeah
<nikolapdp> sadly
<heat_> but i don't care about illumos, solaris or bust
<heat_> also anything illumos does is slowly
gbowne1 has joined #osdev
<nikolapdp> heat_ so you want to use the proprietary ORACLE OS
<nikolapdp> shock horror
<heat_> Sun engineering ethos > GNU & BSD programmer glue sniffing contest
<nikolapdp> it's not sun anymore though
<heat_> the sun engineering ethos never dies
<nikolapdp> through illumos it lives on
<heat_> no
<nikolapdp> lol
Gurkenglas has joined #osdev
<mjg> we need to start a purity movement
<mjg> illumos is not real solaris, is it?
<mjg> i mean they are even dropping sparc
<mjg> liek FAKE
<nikolapdp> lol oracle isn't far away from dropping sparc alltogether either
<mjg> last i played with solaris it required a multicore setup
<mjg> liek for real
<mjg> requiring 2 cpus to boot
<mjg> i wonder how that happened
<zid> how does one even obtain a sparc
<nortti> call fujitsu and ask for a quote I guess
<GeDaMo> Bang two rocks together?
<nikolapdp> you buy second hand off of ebay
<zid> fujitsu are still alive!?
<nikolapdp> yes
<nikolapdp> making sparc cpus still
<zid> last fujitsu product I had was a hard drive in the 90s, and a CRT
<nikolapdp> i think this is the last sparc generation that is going to be made though
<nortti> I think they're mainly a thing in high-end space
<mjg> there is a russian sparc
<mjg> (!)
<nikolapdp> what do you mean mjg
<zid> high-end what, posing?
<GeDaMo> Probably get one on an FPGA
<nikolapdp> GeDaMo: yeah those exist to
<zid> I assumed at this point they were like, cobol machines
<nortti> zid: cost
<zid> important to some, so still a thing, but not useful
<mjg> nikolapdp: there is a russian company making sparc
<mjg> or at least there was
<mjg> the spec is open
<nikolapdp> heh nice
<heat_> Ermine, send sparcen pls
<nikolapdp> i do want to get a sparc machine though i guess the easiest way to do that is to get an fpga
<nortti> hm, didn't sun rays use sparc?
<heat_> $ qemu-system-sparc64
<nortti> yeah, microsparc IIep
<nortti> dunno how easy it's to get your own code running there tho
<GeDaMo> zid: you write emulators, write a Sparc emulator
<nortti> oh looks like that's a 32-bit only one
junon has joined #osdev
<nikolapdp> nortti microsparc IIep?
<nortti> yeah
<Ermine> heat_: I'd like to
<junon> How's everyone been? Been a minute since I've been here since the matrix bridge died :')
<nikolapdp> irc is clearly superior
<junon> yeah, was just convenient having everything in one spot
<junon> and had to take a break from osdev stuff to deal with ~life~ for a while.
<zid> GeDaMo: fast, or good?
<nortti> no
<GeDaMo> Cheap
<nikolapdp> what does good do that fast doesn't zid
<nortti> accurate emulation, I'd presume
<zid> nod
<zid> almost all software doesn't care, but the stuff that does, ho boy
<Cindy> hi
<nikolapdp> well sparc is probably too new for software to care about that
<nikolapdp> hello Cindy
<zid> It still happens, nikolapdp, suddenly race bugs that have always existed start actually happening
<zid> and it's a nightmare to debug
<nikolapdp> yeah that's fair
<zid> And it's purely annoying, because ofc the race bug is a bug, but you're not allowed to just say "your problem", because this is for like, legacy systems that aren't allowed to break
<nikolapdp> like with "never break userspace" on the linux sid
<nikolapdp> side
<nortti> can recommend the dolphin progress report series if you wanna see what kinda technically-never-correct code you get emulating even a fairly modern target: https://dolphin-emu.org/blog/series%23series-1
<bslsk05> ​dolphin-emu.org: Dolphin Emulator - Blog series
<nortti> also damn, it's soon 10 years of progress reports
<nikolapdp> that's a lot
gog has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
ramenu__ has quit [Ping timeout: 260 seconds]
ramenu__ has joined #osdev
netbsduser` has quit [Ping timeout: 272 seconds]
netbsduser` has joined #osdev
bubuche87 has joined #osdev
linear_cannon has joined #osdev
junon has quit [Ping timeout: 260 seconds]
ramenu__ has quit [Remote host closed the connection]
bnchs__ has joined #osdev
Cindy has quit [Killed (NickServ (GHOST command used by bnchs__))]
bnchs__ is now known as Cindy
ramenu has joined #osdev
<heat_> nikolapdp, fyi "dont break userspace" does not /usually/ apply to userspace bugs
<nikolapdp> heat_ is that true though
<gog> break me
<nikolapdp> i guess it depends on how long it's been around
<heat_> yes, it is true
<nikolapdp> oh well
<heat_> as part of the kernel <-> user interface? totally applies
<nikolapdp> oh yeah duh
<nikolapdp> gog what a weird way to say hello
<heat_> if by linux changing scheduling it creates a race condition in your shitty program? nope
<heat_> gog is looking for hung kernel stacks
<nikolapdp> yeah obviously
<mjg> so here is a funny q
<mjg> if linux was to change the order on which shit runs after fork
<mjg> and that broke lolprogs
<mjg> would it upset the L man/
<zid> what a dirty bastard
<nikolapdp> define lolprogs
<zid> m.preg your hung stacks
<heat_> >the order on which shit runs
<heat_> which is?
<mjg> fuck if i know today, probably turbo arbitrary given smp
<heat_> exactly
<mjg> there was however a real world program strongly depending on it basck in the day
<mjg> and it broke with the other order
<nikolapdp> how do you manage that lol
<mjg> by being a red hat employee
<nikolapdp> kek
<zid> nikolapdp: is your stack hung?
<Griwes> hyrum's law in practice
<nikolapdp> zid: not yet
<nikolapdp> still chugging along
<zid> nikolapdp: Tried pills?
<heat_> have i mentioned how the linux ELF loader is turbo crapped
<nikolapdp> how so
<nikolapdp> zid: i have not, no
<heat_> where they never checked the ELF progs for remotely strict ELF spec compliance, so now they're stuck loading all sorts of broken shit
<heat_> out of order segments, overlapping segments, you name it
<nikolapdp> oh lol
<mjg> ;d
<mjg> mon
<heat_> the last time they changed the ELF loader to disallow it, some random video game broke
<Griwes> lmao
<nikolapdp> gross
<Ermine> microcrap wingarbage goes great lengths to maintain backwards compat, yet it isn't 100%
<mjg> there is literally nothing worse than proprietiary code
<mjg> Ermine: microsoft literally patches windows to work around bugs in 3rd party programs
<zid> It's micro$hit winblows I thought
<nikolapdp> Ermine: i don't think that's even remotely as high priority now as it used to be
<mjg> pretty crazy
<heat_> microcrapper winshit
<zid> the ecosystem is so fucked it's pointless
<zid> doesn't matter if you can load a win xp .exe anymore
<nikolapdp> heh yeah
<heat_> mjg, that's not unheard of in linox
<Ermine> mjg: yes, this is what I'm talking about
<heat_> remember the "check if current->comm[0] == 'X'" thing in DRM?
<mjg> no
<nikolapdp> what's that about
<heat_> or, you know, that open() takes all sorts of random flags because THEY NEVER CHECKED FOR FUCKING VALID FLAGS
<heat_> oh boy
<nikolapdp> oh yeah i remember some weird unspecified behaviour for open lfags
<nikolapdp> was it something with O_TRUNC
<heat_> there was a line in DRM modesetting code that basically did "if (current->comm[0] == 'X') /* This is Xorg, do something else */"
<heat_> no
<nikolapdp> lol
<heat_> you can literally stick invalid flags in open(), the linux open() won't error out. so they need to be extra careful not to accidentally break people
<bslsk05> ​lore.kernel.org: [PATCH] drm/atomic: do not branch based on the value of current->comm[0] - Jason A. Donenfeld
divine has joined #osdev
<nortti> reminds me of xenix 286 not running on 386 since they used the reserved-in-286 bits of the descriptor tables for their own stuff, and 286 didn't care
<nortti> but then 386 gave those bits meaning, "whoop"
<nikolapdp> oh yeah i read that email
<Ermine> I had issues with Halo CE and Luxor 2 in Win10, so I had to use WinXP VM to play Luxor and Zuma
<zid> The main thing that annoys me on windows re 'backwards compat' is just that the softwarehas 0
<zid> they built with msvcrt2024 just because it's the default, and now it doesn't run on xp/7/10 for no reason
<zid> and I have to hex edit the binaries
<nikolapdp> lol
<nikolapdp> i had to use some simulation software at uni, and my friend tried running it on win 10
<nikolapdp> didn't work
<nikolapdp> but wine worked perfectly
<zid> and then they do it on purpose sometimes too, like with dx11 and with nested virt
ramenu has quit [Remote host closed the connection]
<nikolapdp> yeah microshaft windblows sucks
<bslsk05> ​www.phoronix.com: The Linux Kernel Has Been Forcing Different Behavior For Processes Starting With "X" - Phoronix
ramenu has joined #osdev
<Ermine> My point is not that windows sucks, but that you can't achieve 100% compatibility
ramenu has quit [Remote host closed the connection]
<zid> You can, it's just often more trouble than it's worth
<zid> there's an infinitely long tail
<nikolapdp> windows did way better in the 90s
<zid> vista is where they stopped caring
<nikolapdp> i doubt they are patching the kernel or system libraries to support old software
<heat_> you're wrong
<zid> they still work very hard and they do it all the time /for customers/
<nikolapdp> yeah obviously
<zid> but there's no mantra that they shouldn't break stuff anymore in the userspace side at least
<zid> kernel might be able to run them sure, but none of the dlls will work
xenos1984 has quit [Read error: Connection reset by peer]
<zid> so it's kind of pointless
<heat_> maybe you should've have bought micropenis winpessimal
<nikolapdp> they patched some system library just to make one game run
<nikolapdp> back in the 90s
<heat_> shouldn't*
<nikolapdp> i've never bought a windows license
<nikolapdp> sorry windblows
<heat_> average serbian
bubuche87 has left #osdev [#osdev]
<Ermine> I need to write dowm all windows nicknames heat_ came up with
<nikolapdp> heat_ piracy bad obviously, i meant because i am on linux *wink*
<nortti> I've never bought a windows license either, when running windows my systems using the license they came with
<nikolapdp> oh no system i've ever had came with an os preinstalled
<nortti> self-built, or?
<heat_> what
<nikolapdp> like my laptop didn't come with an os
<nortti> huh
<nikolapdp> or actually it came with freedos lol
<heat_> was it a gayming laptop
<Ermine> I've bought os-less laptop as well
<nikolapdp> just a basic lenovo laptop
<nikolapdp> ideapad or whatever
<heat_> there are a few of those that skip out on windows for freedos
<nikolapdp> most laptops do here
<nikolapdp> even prebuilts i think
<heat_> weird
<nortti> aiui they aren't even running freedos natively anymore, since it doesn't have the drivers
<heat_> i wonder if that's due to legal reasons
<nortti> so instead you get a linux running full screen VM
<heat_> lmao what
<nikolapdp> no way
<nikolapdp> why wouldn't they just skip the whole process and run just linux
<Ermine> anyway having freedos and having no os at all is basically the same thing
<bslsk05> ​blog.tmm.cx: The very weird Hewlett Packard FreeDOS option – Interesting things
<nikolapdp> what drivers does it need anyway, can't it just run through bios
<nortti> well, for that you first need a system with bios boot supported
<Ermine> Does freedos support uefi?
<nortti> I don't think so
<Ermine> Recent laptops don't have CSM
<nikolapdp> mine does, it's from 2021/2022 i think
<Ermine> My doesn't, and it's from 2022 or 2023
<nikolapdp> interesting
<nikolapdp> is it a gayming laptop
<Ermine> no
<nikolapdp> do desktops still come with csm
<nortti> I think NUCs dropped that, at least for some boot options
<nortti> but dunno about ATX boards
<nikolapdp> well i am probably getting a new pc soon, so we'll see i guess
<Ermine> Can't say, because my board is ancient enough to be supported by coreboot
<nikolapdp> heh nice
<Ermine> and back then everything was shipped with csm
<nortti> sortie: do I remember correctly that your "new" laptop doesn't support bios boot?
<Ermine> and win7 was supported
<sortie> nortti, legacy boot only on external drives
<nikolapdp> huh weird
ramenu has joined #osdev
<netbsduser`> +heat_: if i remember right when they dropped the traditional hashtable of symbols, the affected program was some weird parasite
<netbsduser`> some kind of DRM for video games
<heat_> yep, that was also an issue, but on the glibc end
<netbsduser`> the details of how the symbol table is represented in an executable is the element of the dynamic linker, the compiler, and other tools, never the element of anything to do with a videogame, which should conform itself and use public interfaces like dlsym
<nikolapdp> and glibc definitely doesn't have the whole don't break the userspace thing
<zid> it does at least do symbol versioning
<netbsduser`> i have no sympathy for that weird program which stuck its nose where it should've stayed out
<zid> which ends up being highly annoying in practice cus you can't link gainst the old symbols without an old glibc
<zid> but yea, drm breaks, it isn't a target for compatibility
<nikolapdp> you mean anticheat software a bunch of games depend on lol
<zid> and nobody is upset about that for a reason
<zid> If your program relies on the exact byte layout of kernel32.dll I have some unfortunate news about reality
<netbsduser`> nikolapdp: throw it in the bin, it's worthless
<nikolapdp> oh i don't care
<nikolapdp> i don't play multiplayer games generally
<zid> I need to get some sulphur in my factorio game heat, how
<netbsduser`> there are a thousand reasons to hate glibc but they did no wrong there
<nikolapdp> i agree
<nortti> didn't some anticheat also break on the 12th gen intel CPUs having asymmetric multithreading?
<nortti> *multicore
<nikolapdp> oh lol
ramenu has quit [Remote host closed the connection]
xenos1984 has joined #osdev
<netbsduser`> they say on Windows some of the "anti cheat" software is now kernel drivers
<nikolapdp> yeah
<nikolapdp> it's sniffing other processes and even pci devices
<nikolapdp> for "suspicious" activities
<zid> used to be kernel drivers
<zid> it's incredibly rare now because of forced signing
<nortti> isn't denuvo signed and allowed by microsoft to run in the kernel?
<nikolapdp> and the vanguard thing too
<zid> denuvo has one yea
<zid> but random individual games used to ship their own kernel drivers and stuff
<zid> like random capcom titles, sony cd-roms, etc
<nikolapdp> gross
<CompanionCube> also that one anticheat driver that got used by malware
<zid> They got some.. rather bad press for their drm, the press popularized the term "rootkit" because of it.
<zid> so kernel drivers fell out of fashion, and windows started requiring drivers to be signed, etc
<heat_> most "good" anti-cheats are still kernel resident
<CompanionCube> and the other drm that was known to cause issues with cdrom drives
<zid> yea but they're expensive paid products
<zid> securom
<zid> would try to root your cd-drive's firmware
<CompanionCube> did it?
<zid> so had the potential for bricks
<CompanionCube> i was thinking of starforce
<zid> oh, starforce
<zid> got them confused
<zid> starforce is correct yea
<heat_> denuvo, battleeye, EAC, faceit's AC, valorant's AC are all kernel-resident
<heat_> VAC is like... the main one that doesn't have a kernel driver
<zid> and again, are all massive companies using dedicated 'products'
<zid> they can afford to get drivers signed
<zid> I don't think you realize what a wild west it was before
<zid> Like, most people just throw in easycheat and they are done, now
<heat_> <nikolapdp> and glibc definitely doesn't have the whole don't break the userspace thing
<heat_> it definitely does?
<zid> It breaks userspace
<zid> they 'fixed' memcpy at one point
<heat_> when did that happen?
<zid> and broke flash because it was using memcpy instead of memmove
<zid> so we all used shim .so files
<heat_> yes, and then they "unfixed it" so memcpy is still memmove
<zid> so they did do it, got you
<heat_> there's gnulib code that pokes FILE internals for many libcs
<heat_> so the binary layout of that shit is defacto frozen
<CompanionCube> especially since often no one cares to update gnulib?
<heat_> how would you? its random decoupled code that's standing in the middle of your package's source code, which is also completely decoupled from the system's version (usually)
stanrifkin has quit [Quit: Leaving]
<nikolapdp> zid: are you getting a new pc soon
<zid> should I be?
<zid> This one is very nwe
<zid> It's an AMD RYZEN
<zid> It's so new half of it doesn't work right
zxrom has quit [Quit: Leaving]
<nikolapdp> lol
<CompanionCube> which ryzen
<zid> 5800x
<CompanionCube> neat
<nikolapdp> you were shitposting about it earlier so i wasn't sure if it was just a joke or half serious
<zid> no I wasn't?
<zid> I think you have me confused with someone who is not me
<nikolapdp> lol sure
<zid> post
<zid> copy paste, gogo
<zid> it was you, nortti and ermine and heat
<zid> not me
<nikolapdp> lol yeah sure
<zid> copy paste pls
<nikolapdp> copy paste waht
<zid> me talking about new pc
<zid> or whatever it is you say I said
<nortti> I refute any allegations of owning a new PC
<zid> My new PC is actually my friend's oldPC
heat_ has quit [Remote host closed the connection]
<zid> he buys new HW constantly cus he has an okay job and nothing decent to spend it on
heat_ has joined #osdev
<zid> I have to *stop* him from buying me things if we talk about computers
<nikolapdp> lol
<nikolapdp> good friend
<zid> It's a reward for putting him with him
<zid> He's pretty autistic so he'll just send me a short novel worth of fun facts about trains
<gog> me too
<adder> Nice, I wish I had friends.
<nikolapdp> aren't we all friends here adder
<zid> no, adder hasn't paid the membership fee
<zid> he's a guest still
<nikolapdp> dang
<nikolapdp> too bad then
lunaspis has joined #osdev
<gog> i'll pay their fee
<zid> zidsoft+paypal@gmail.com
<zid> I'm the treasurer
<zid> trust me
<gog> k
<zid> Fun fact, a playstation 2 is 302mm long, a 4090 is 304mm
<zid> so if your 4090 won't quite fit, you could always use a ps2, it's smaller
<nikolapdp> btw zid: [13:20:29] <zid> nikolapdp: Found what I want for my birthday https://www.asrockrack.com/general/productdetail.asp?Model=WRX90%20WS%20EVO#Specifications
<bslsk05> ​www.asrockrack.com <no title>
<zid> ?
<zid> That isn't me getting or wanting a new computer
<nikolapdp> that's definitely you at least wanting a new computer
<zid> I'm just excited that high perf desktop is back
<zid> did you even look at it
<zid> it's a workstation board
<nikolapdp> i did yeah
<zid> nobody has made workstation boards in 15 years
<zid> it's HYPE
<nikolapdp> lol ok
<zid> what
<CompanionCube> didn't they probably make some for the original threadripper?
<zid> no
elderK has quit [Quit: Connection closed for inactivity]
<CompanionCube> indeed, it's so workstation it comes with a bmc and aspeed 'gpu'
<nikolapdp> btw remember me saying something about random b in messages from bslsk05
<zid> yea
<zid> b'hello
<nikolapdp> it's also in my proper bouncer
<zid> maybe he replies with bold codes or something
<zid> and someone stripped the 01
<zid> test
<zid> What does that look like nikolapdp
<nortti> nikolapdp: where is the b located?
<nikolapdp> right before the url
<nikolapdp> 1,0test
<zid> okay so the bolds were stripped, and the colour start
<nikolar> but bold here
<nikolar> or inverted, sorry
<zid> that disagrees with mirc standards, smh
<zid> I did bold bold, which should cancel out and do nothing
<zid> else you can't turn bold off
<CompanionCube> it's also inverted on my weechat
<nikolar> yeah weechat here too
<nortti> nikolar: ​does it appear in this message?
<zid> cus there is no "bold" in a terminal, so invert gets used
<zid> what about this
<nikolar> nortti: yes
<zid> or this
<nortti> nikolar: it's the zero-width space, U+200B. your setup is not unicoding correctly
<zid> I should speak exclusively in bold underlined italics imo
<zid> zero-width spaces are cool, until they aren't
<nikolapdp> nortti: my bouncer is just dumping the bytes it's recieving
<gog> hi
<nortti> then the problem is in your client I guess
<nikolapdp> vim is displaying it as <200b>
<nikolapdp> hello gog
valshaped7424880 has quit [Quit: Gone]
<nortti> < nikolapdp> vim is displaying it as <200b> ← yeah, so that is correct
<nikolapdp> i haven't noticed it before but this is non unicode client here lol
<nikolapdp> so it just shows up as b
<nikolar> but here it's fin
<nikolar> fine
<zid> his client is on a pdp
<nortti> interesting that it's only a single b, not three characters
<zid> it not understanding unicode zero width spaces is sort of to be expected
<nikolapdp> lol
<zid> whatdoes U200b encode to
<nortti> e2 80 8b
<nikolapdp> eh
<zid> e2?
<zid> my reference says 8203
<CompanionCube> at least it's 8-bit clean? :p
<nortti> see I don't think it is
ramenu has joined #osdev
<nortti> >>> chr(0xe2 ^ 0x80)
<nortti> 'b'
<zid> smh 7 bit characters
<nortti> < zid> my reference says 8203 ← what reference is that?
<bslsk05> ​www.fileformat.info: Unicode Character 'ZERO WIDTH SPACE' (U+200B)
<bslsk05> ​symbl.cc: ​ - Zero Width Space, Unicode Number: U+200B 📖 Symbol Meaning ✂ Copy & 📋 Paste (◕‿◕) SYMBL
<zid> etc etc
<zid> oh e2 80 8b
<zid> is what this one says
<nikolapdp> oh yeah i guess this terminal emulation is 7 bit by default
<zid> is like, the entire damn page zero width bananas
<nikolapdp> maybe i should set it up to be 8bit clean lol
<nortti> yah, 8203 is 0x200b in decimal
<zid> oh is THAt what the U+ means
<nikolapdp> yeah dumbass
<zid> but.. that would have huge gaps!
<nikolapdp> what would
<zid> my butt
<zid> I fell on it as a kid now it has a crack in it
<nikolapdp> you're hilarious
<gog> me too
valshaped7424880 has joined #osdev
<nikolapdp> hello gog
<gog> hi nikolapdp
<gog> there's a hole in it too
<zid> ouch
<nikolapdp> no way
<gog> yeh
<zid> From far away, stays for a day, never a frown with golden brown.
valshaped7424880 has quit [Client Quit]
<zid> Why is music about heroin really really good
<nikolapdp> maybe you should try heroin
<zid> i hear it's pretty moreish
<gog> idk but i'm abotut o pick in utero as my album for the office album game pt 2
<gog> don't tell anybody tho
<zid> smh no baby cocks
<gog> which songs on nevermind are about heroin tho
<nikolapdp> too late, already told everyone
<zid> I emailed your boss
<zid> At least, I assume I did
<zid> I just emailed every single .is email address, all 40 of them
<nikolapdp> lol
<nikolapdp> didn't take long
<gog> true
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
<gog> i was going to pick after laughter by paramore but i think that'd be too easy to guess me
<zid> Oh is that the game
<gog> the whole thing is "sad girl sings about being sad and wanting to kill herself"
goliath has quit [Quit: SIGSEGV]
<nikolapdp> have you tried not being sad gog
<zid> What about pomppufiilis
<zid> gog: evanescence then
<gog> i'm not sad rn tho
<nikolapdp> that's a start
<zid> nortti: Is there a better finnish song than pomppufiilis?
valshaped7424880 has joined #osdev
<nortti> yes
<zid> :o I don't believe you
<nortti> also how the fuck do you know that?
<zid> that oneis high art
<zid> nortti: Who doesn't? It's finland's largest export now that nokia is gone.
<nortti> damn, I thought we had managed to contain the evil
<gog> i listened to 3 seconds of that song and i immediately died
<zid> It worked then
<nikolapdp> i am more impressed that zid managed to spell it correctly
<zid> it's spelled how it's said though?
<zid> Finnish is like the world's easiest accent, you just put random long bits into english words
<zid> and roll your r a bit