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
thinkpol has quit [Remote host closed the connection]
thinkpol has joined #osdev
nyah has quit [Quit: leaving]
dutch has quit [Quit: WeeChat 3.8]
Left_Turn has quit [Ping timeout: 265 seconds]
<Clockface> is this the right place to ask about writing for a DOS extender?
<mcrod> you could do worse
<mcrod> probably fine
<Clockface> well im compiling a program with DJGPP, and it needs to do ring 0 stuff
<Clockface> i cant figure out how to force it to use the ring 0 CWSDPR0.EXE extender
<Clockface> instead of the normal one
<Clockface> the one id software used for quake
<Clockface> normal CWSDPMI.EXE runs it in ring 3 and thats no good for me
<CompanionCube> well, how does it normally link?
<Clockface> well i havent used GCC in dos at all
<Clockface> so i dont really know what im doing
<Clockface> is the thing
<Clockface> as far as i can tell, the MZ stub is what tells the DOS extender to start operating
<Clockface> i should probably go figure it out on my own
<Clockface> not the best place to ask how to fight with the compiler
dutch has joined #osdev
<mrvn> Clockface: take the cover of the dragon book as template
<Clockface> i dont know if it links to the extender, or if its ran by the MZ stub
<Clockface> and then it uses DPMI interrupts once it in protected mode
<Clockface> idk if you could call that linking
<heat> >well im compiling a program with DJGPP,
<heat> i found your bug
<mrvn> is there a tinyc++ that can run in 640k of memory and still compile usefull c++ code for DOS?
<Clockface> it needs to be in protected mode
<Clockface> thats kind of the point
<heat> what's REDACTED
<Clockface> ?
<mrvn> Clockface: compiling sane c++ code with 4GB of ram is pretty trivial though.
<zid> heat: Was it ever demonstrated exactly where you were in may 2007?
<Clockface> i just want it to use the ring 0 extender instead of the default one
<Clockface> idk how to tell it to do that
heat has quit [Remote host closed the connection]
heat has joined #osdev
gog has quit [Ping timeout: 256 seconds]
innegatives has joined #osdev
heat has quit [Ping timeout: 256 seconds]
divine has quit [Remote host closed the connection]
innegatives has quit [Quit: WeeChat 3.8]
divine has joined #osdev
Vercas7 has joined #osdev
pharonix71 has quit [Ping timeout: 240 seconds]
Vercas has quit [Ping timeout: 240 seconds]
Vercas7 is now known as Vercas
pharonix71 has joined #osdev
Left_Turn has joined #osdev
Left_Turn has quit [Read error: Connection reset by peer]
<zid> Think I finally figured out how to make windows update stop giving me toast notifications that updates are available
<moon-child> toast notifications?
<zid> yea, the name for the ones that pop-up at the bottom
<zid> like toast
<bslsk05> ​media.askvg.com: Welcome
<kof123> pie menus, hamburger menus, toast pop-ups, bread crumbs ... it is quite clear where ui developers' loyalties lie
<klange> we're all just very hungry
andydude has joined #osdev
* moon-child chomp toast
Arthuria has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
Arthuria has quit [Remote host closed the connection]
andydude has quit [Quit: Leaving.]
potatojs has joined #osdev
potatojs_ has joined #osdev
slidercrank has joined #osdev
<potatojs> Hello!
potatojs_ has quit [Client Quit]
slidercrank has quit [Ping timeout: 246 seconds]
slidercrank has joined #osdev
goliath has joined #osdev
gog has joined #osdev
<Clockface> has anyone ever based their bootloader off of DOS?
<Clockface> i know microsoft sort of did that for windows at one point
danilogondolfo has joined #osdev
<kof123> there is/were ways to boot linux (and bsd?) from dos. and e.g. beos personal edition booted from windows, although you could finagle things to install otherwise. and beos ppc booted from mac os. it is not unheard of.
<Clockface> i like that idea
<Clockface> it makes it EZ too because there are posix-style libraries for both DOS and UEFI
<Clockface> so you can share a lot of code for both
<Clockface> once i get the stupid extender to work sajjsjaja
sprock has joined #osdev
Burgundy has joined #osdev
gog has quit [Quit: byee]
heat has joined #osdev
GeDaMo has joined #osdev
<heat> mjg, amaps are pretty good
<heat> The amap concept was first introduced in the SunOS4 VM system [28, 46].
bauen1 has quit [Ping timeout: 240 seconds]
<heat> on real systems this still feels silly. you almost always have a page table, this is just duplication
zarock has quit [Ping timeout: 248 seconds]
Burgundy has quit [Ping timeout: 256 seconds]
nyah has joined #osdev
gildasio has quit [Ping timeout: 240 seconds]
nyah has quit [Client Quit]
nyah has joined #osdev
slidercrank has quit [Ping timeout: 240 seconds]
gildasio has joined #osdev
slidercrank has joined #osdev
dayimproper has joined #osdev
gog has joined #osdev
Brain__ has joined #osdev
Ali_A has joined #osdev
Burgundy has joined #osdev
dayimproper has quit [Ping timeout: 268 seconds]
bliminse has quit [Quit: leaving]
dayimproper has joined #osdev
bauen1 has joined #osdev
Ali_A has quit [Quit: Ping timeout (120 seconds)]
andydude has joined #osdev
nadja has quit [Quit: bye!]
nadja has joined #osdev
zarock has joined #osdev
slidercrank has quit [Quit: Why not ask me about Sevastopol's safety protocols?]
dayimproper has quit [Ping timeout: 240 seconds]
Left_Turn has joined #osdev
bgs has joined #osdev
dude12312414 has joined #osdev
<gog> i don't understand javascript and that is really hampering my ability to do work today
<mrvn> save your sanity, get a new job
<gog> i'm taking a week off instead
<gog> but i should also probably learn how to do more things in javascript
<gog> i don't wanna work at a place where i'll have to adhere to a dress code or show up on time
<gog> i'm too hot, annoying and unreliable for that kind of thing
<FireFly> how is it misbehaving this time? JS, that is
<gog> it's not misbehaving, i'm implementing a feature with react and the backend is a json api and i don't really grasp promises
<gog> i'm just incompetent
<FireFly> ah
<FireFly> aw
<GeDaMo> Is a promise not "do this and let me know when it's done"?
<gog> yeah basically
<FireFly> pretty much, a reification of an async operation
<gog> i'm just doing something wrong here
<gog> the syntax to handle them is this fluent thing and it's not something i'm used to
<FireFly> it doesn't help that the JS world loves augmenting syntax in nonstandard ways with babel thingies these days :p
<heat> async/await!!!!
<FireFly> (though tbf JSX is comfy actually, don't at me :p)
<gog> i wanna go home and write my weird c and assembly code
<heat> i found the horrible-est thing with angular Observables where if you don't explicitly call .subscribe() (with a handler), they just never do anything
<heat> they are entirely fucking lazy
<heat> web people are nuts
<gog> everything has to be lazy on webshites otherwise low-spec computers will shit
<gog> because every website these days comes with 10MiB of javascript and libraries, all minified
<gog> and a lot of it is compiled from shit like react or angular or rectalprobe
<GeDaMo> I am unsure if "rectalprobe" is a real JS library :|
<nortti> most websites I'm testing seem to "only" clock around 2 to 5 MiB of js
<gog> i'm being a bit hyperbolic but 2 to 5 mibs is fucking outrageous
<bslsk05> ​www.wired.com: The Average Webpage Is Now the Size of the Original Doom | WIRED
<gog> we're doing a bad job as web devs
<nortti> aye, agreed
<heat> yes, you're doing a bad job
<nortti> just wasn't sure if it'd actually slipped to 10MiB yet
<gog> heat: :(
<gog> i'm a bad programmer
<heat> gog you're entirely responsible for modern web
<heat> smh
<nortti> huh, medium is only 2.43 on this article. would have expected worse with all their reacting
<heat> full stack? more like full shitstack
<FireFly> yeah it's dumb, and doing things from JS that the browser could do better on its own with properly marked up HTML sucks
<nortti> okay first page that breaks the 10MiB javascript limit: discord's friend view with 26.30MiB
<heat> lol
<nortti> compresses down to 5.69 on the wire
<gog> ok but that's an electron ap
<gog> electron apps are always going to be evil in that way
andydude has quit [Ping timeout: 268 seconds]
<nortti> no, I mean the discord web app
<heat> your mom's an electron ap
<gog> yeah it's electron
<gog> the web app and the desktop app are the same thing
<gog> for the desktop app they just ship you a frame with QtWebEngine running in it
<nortti> ??? isn't electron the platform that lets you run this on your desktop outside of web browser?
<gog> i think you can target both
<gog> idk i don't know enough about it
<heat> i think it's a js framework?
<heat> gog, they ship chromium
<nortti> < GeDaMo> https://www.wired.com/2016/04/average-webpage-now-size-original-doom/ ← this page loads 6.93 MiB of javascript (not counting any other content) if I allow it to run scripts
<gog> you ship chromium
<heat> i do not ship chromium
<gog> ligma.js
<nortti> 10.41 in total, meaning javascript makes up the majority of that page's weight
<heat> i do ship you and chromium tho, he's kinda cute 😳
<heat> >Larries are a group of shipping conspiracy theorist One Direction fans
<heat> ok, enough internet for today
<mrvn> There was a time when you optimized your images to save a few kB so it would load faster.
<gog> i'm gonna listen to zoe bee's soothing voice now
<FireFly> aww
<heat> dog
<Ermine> gog: may I pet you
bliminse has joined #osdev
<heat> no dog pet gog
<heat> mutex_lock(&gog->pet_lock);
<gog> dog refuses to release lock
<gog> dog keeps bringing lock but will not let anybody take it
* Ermine puts inotify watcher on lock file
<gog> why
<gog> 4:38
<Ermine> To know when it's released so I can pet you
<gog> i was referring to gandalf big naturals
<gog> you may pet me now
* Ermine closes inotify
* Ermine pets gog
<gog> the dog is staring out the window and woofing at something
<gog> not loudly barking, just kinda gong mmrrf
<gog> omg finally some progress with this shit
<gog> ok i think i'm in the home stretch with it now
<gog> i can maybe hopefully by god finish it on friday
<gog> my boss doesn't seem bothered that this is taking me a ridiculous amount of time to finish
<zid> boof
[itchyjunk] has joined #osdev
innegatives has joined #osdev
<innegatives> Is track and cylinder the same thing in CHS?
xenos1984 has quit [Ping timeout: 240 seconds]
<clever> innegatives: yes
xenos1984 has joined #osdev
<heat> Ermine, it wasn't a lock file
<heat> it was a mutex
<Ermine> how come
<Ermine> pthreads suxx
<immibis> pedantically, track means cylinder and head together
<immibis> which is probably why they called it "cylinder" instead of the sensible word "track"
<heat> freebsd seems to be able to only merge vmas "from the head of the mapping" if they don't have a single page
<heat> tail seems trivially done though
kof123 has quit [Ping timeout: 258 seconds]
<heat> tested with procstat vm
vny has joined #osdev
<heat> chad linux merges both
<zid> heat can I have a pml6
<zid> I want to use my cpu to de-dup these 8 byte entries
* mrvn still can't get over the fact that CHS didn't reuse 0 in the size. So you can only have 63 sectors for example, not 64.
xenos1984 has quit [Ping timeout: 256 seconds]
<gog> track is one platter, cylinder is all the platters
<gog> so track makes sense i guess
<gog> and cylinder
<gog> idk
<gog> archaic disk addressing schemes are archaic and beyond our comprehension
<gog> anyhow gonna go home now
gog has quit [Quit: Konversation terminated!]
<mrvn> and disk with the same number of tracks on all cylinders haven't been around for decades.
<mrvn> s/tracks/sectors/
<heat> zid, sadly no :(
<zid> okay I need you to write me an 8 byte dedup then
xenos1984 has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
frkazoid333 has quit [Ping timeout: 248 seconds]
innegatives has quit [Ping timeout: 265 seconds]
<mrvn> zid: and replace them with 8 byte pointers to a shared 8 byte?
innegatives has joined #osdev
gog has joined #osdev
<zid> gog you're a javascript, can you write me an 8 byte dedup
<zid> insert if new and return index into [256] array, else return existing index
<heat> gogzilla do not write him an 8 byte dedup
<heat> this is how world war 2 started
<zid> I don't know how to memcmp in javascript
<zid> or implement data structures
<zid> I suppose maybe.. you can compare arrays directly? and I could just walk the array?
<zid> 255*255 is a small enough number
<gog> sort and loop
<vny> Does the heap and stack address ranges in /proc/[pid]/maps indicate the current addresses associated with each or the min and max range of addresses that is possible?
<heat> beware gog, this is going to start world war 3
<zid> How do you make it stable if you sort?
<heat> vny, i think so yes
<zid> it was an either question heat, not a yes/no
<clever> vny: current i believe
<gog> ok ok ok
<heat> sorry, im stupid
<heat> yes current
<heat> i skipped half the sentence, too boring, brb going to watch some tiktoks
<zid> but get distracted half way through, and do a lifehack
<zid> then get half way through the lifehack and how 2 basic an egg
andydude has joined #osdev
<zid> I suppose you could use a tuple, re the sorting, so you have {key: 0xdeadbeefcafebabe, slot: 0}
<zid> then you never change 'slot' and return that instead of the actual index
<zid> allocate slot values sequentially
<zid> now you can reorder the backing array without changing which key pairs to which index
<zid> how do you sort in javascript?
<gog> idk
<zid> me either, does it not have qsort?
<gog> it has a bunch of sorting algos
<gog> yes it also has lambdas
<heat> <array>.sort
<zid> qsort seems like it'd be right up javascript's alley
<zid> heat: how do I tell it what to sort on though?
<zid> do i need to MAP REDUCE
<zid> I don't do haskell
<heat> array.sort((a, b) -> a - b); or something like that?
<zid> oh you can pass an anonymous function in the args to sort?
<heat> this lambda probably doesn't compile, can't remember
<heat> yeah totally
<zid> I thought that was like $_ => {a-b} or something
<zid> javascript is fuckin weird
<heat> array.sort(function (a, b) {......}); also works
<zid> Okay I can try
<vny> clever: zid is there a way to know the min and max possible address range for heap and stack for the process? I am a on linux x86-64 machine
<zid> what the fuck, explorer
<zid> I left click a folder, press delete key
<zid> folder disappears, random other file also disappears
<heat> vny, no
<mrvn> vny: min = 0, max = virt bits
<gog> array.sort((a, b) => {...}) is the same but you can substutute a block with statements for an expression
<heat> the stack is doable. just get the stack region's top, subtract the RLIMIT for the stack
<heat> ah yes it's =>, not ->
<heat> -> is for java
<heat> and haskell too?
<gog> c# also has arrow functions
<heat> vny, the heap will keep expanding until it can't
<mrvn> vny: your practical address range is far larger than available ram so you can't ever exhaust it and the question is pointless.
<heat> as far as I remember, there's no set limit, it just stops once it hits some high up mmap
<mrvn> (ignoring you placing some mmaps with fixed addresses in it's way)
<mrvn> heat: there is no heap as such. A sane libc will mmap and can get random blocks anywhere in the address range basically. No need to expand.
<gog> aslr might also be in play
<vny> heat zid mrvn: Aren't virtual address space segmetned into text, data, heap (lower addresses) and stack, mapped region, and kernel space (higher addresses)? So while the range of heap (which grows upwards) and stack (grows downwards) is large, it is still a range which can be defined correct?
<mrvn> vny: only in your binary. the kerne really doesn't have to care about it.
innegatives has quit [Ping timeout: 248 seconds]
<heat> what
<heat> i don't get your question
<heat> if you want me to say "your stack and heaps will be in [0x0, 0x00007fffffffffff]", there you go
<zid> That's because he doesn't understand the difference between an ISA and OS an ELF's responsibilities and views on memory
<mrvn> vny: when you do "malloc" all you care about is getting some memory. The concept of a heap that exapnds as you alloc memory is obsolete since virtual memory came along.
innegatives has joined #osdev
<zid> so he's asking weird stuff
<heat> is this an xy problem
<heat> what are you trying to do
<mrvn> vny: also don't forget about threads. There isn't one stack that grows down. There can be any number of stacks.
bauen1 has quit [Ping timeout: 268 seconds]
<mrvn> vny: modern systems you allocate a stack and that's it. It never grows or shrinks. But you only populate the stack with physical pages as needed.
<heat> that's not true, the stack grows
<gog> there are stack pointers which generally, in sane architectures don't @ me, go from higher to lower addresses from outer to inner function scope
<gog> respectively
<mrvn> heat: then it would hit the next stack.
<heat> no
<heat> the stack space and mmap space are separate, and thread stacks are mmap'd
<gog> or call scope idk
<gog> also why is there one thread that gets to call the stack space its own
<gog> a special thread
<vny> Okay, so I am plotting a graph with tiem on x-axis and virtual page number of y-axis. I have a memory trace that represents the applications access patern for a given period. In this scatter plot I want to segment the vpn into heap and stack regions for some analysis
<mrvn> heat: which means the stack space is a fixed size and the thread stacks are a fixed size but maybe different. Doesn't conflict with anything I said.
<heat> no, the stack is not a fixed size, it expands. this is trivially observable in /proc/self/maps
<zid> gog: I tried to do if(!list.includes(tile)) return list.push(tile) - 1; else return list.indexOf(tile);
<mrvn> vny: use a haskell programm. then stack is simply 0.
<zid> but it always inserts :(
<zid> what's the point of sloppy types if they don't do what they're supposed to
<vny> One way to do this is scan /proc/pid/maps while I run the trace but this keeps changing
<vny> as the heap and stack grows
<mrvn> zid: that just shows how much of the stack is populated
<zid> list[0] -> {0,0,0,0,0,0,0,0}, list[1] -> {0,0,0,0,0,0,0,0}
slidercrank has joined #osdev
innegatives has quit [Ping timeout: 240 seconds]
<zid> javscript is dum
<vny> Is the kernel region of the virtual address space well defined on linux? Like can I say any refferences made in a particular range is made by the kernel thread triggered because of the process I am interested in?
andydude has quit [Quit: Leaving.]
andydude has joined #osdev
<mrvn> vny: kernel always has the top bits set
spare has joined #osdev
<mrvn> vny: kernel address space goes from -gazillion to 0 and user space from 0 to gazillion
frkazoid333 has joined #osdev
<vny> Wait aren't the top bits for stack? Is this beyond the stack? Is it canonical so the upper half is negative? and the lower half is where userprogram resides? if this is the case is the exactly half? Like 2^63?
<vny> Or 2^35 pages (in a 4-level page table)
<mrvn> vny: not stack is at 000000007FFF
<mrvn> vny: I like to think as the address space from going from -gazillion to gazillion because then it's one chunk. And not 2 chunks with a hole in the middle.
<gog> i like the discontinuity
<zid> gog: WHY IS [2, 2] NOT EQUAL TO [2, 2]
<gog> bruh i don't know i am not a javascript understander
<mrvn> vny: CPUs don't allow all of the 64bit address space. depending on the cpu you have 48 or 57 or so virtual bits.
<mrvn> zid: because it compares the address of the object and not the values inside?
<zid> You're the closest person I have to a javascript user
<gog> i don't use it, i just have to write it and make it work
innegatives has joined #osdev
<gog> so i just do a bit of cargo cult type coding and fafo
<gog> it's a very unscientific way to work but i have things to do
spare has quit [Remote host closed the connection]
<zid> I don't think you can write sound js
<zid> so you're right to be that way
<vny> Rigth so 2^47 mrvn which is 7FFFFFFA9400, why did you say 000000007FFF?
<vny> mrvn:
<zid> you know that powers of two
<zid> have exactly 1 bit set?
<zid> 1, 10, 100, 1000, ...
<zid> 011111111111111111111111111110101001010000000000 != 2^47
<gog> 2^47 is 1 with 48 0's after it
<gog> er 47 0's
<mrvn> vny: because for 64bit there are a few zeroes before that 7FFF....
<zid> someone says they have a spectre miti that's only 7% slowdown
<zid> oh this is gross
<zid> vague skip seems to suggest they're just.. neutering the prediction by making too many tag bits match or something idk
Turn_Left has joined #osdev
<zid> yea, this is horrible I hate it :D
Left_Turn has quit [Ping timeout: 264 seconds]
tiggster has joined #osdev
FreeFull has joined #osdev
innegatives has quit [Ping timeout: 246 seconds]
innegatives has joined #osdev
terminalpusher has joined #osdev
bauen1 has joined #osdev
<Ermine> If I take EFI System Table declaration from newer version of spec and try to run my EFI app on hw supporting older spec, will the app crash and burn?
innegatives has quit [Quit: WeeChat 3.8]
elastic_dog has quit [Remote host closed the connection]
<gog> no
<gog> and if you want a revised version of an interface you typically have to check if it's present and then either ask for it or use a different definition of the interface
elastic_dog has joined #osdev
<gog> it's a fairly sensible design imo
elastic_dog has quit [Remote host closed the connection]
<Ermine> thank you gog
elastic_dog has joined #osdev
elastic_dog has quit [Remote host closed the connection]
elastic_dog has joined #osdev
elastic_dog has quit [Ping timeout: 240 seconds]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
elastic_dog has joined #osdev
andydude has quit [Ping timeout: 240 seconds]
<hmmmm> hey would anybody be able to help me out with USB here?
<zid> probably
<zid> but you'd have to ask a question
<gog> what's usb
<gog> why is usb
<gog> (not much what's usb with you)
elastic_dog has quit [Remote host closed the connection]
<hmmmm> i'm not writing a usb stack for an os, just was wondering about feasibility of implementing software-only usb file transfer
<gog> wdym
<hmmmm> is it doable to reinitialize a usb controller to work as a slave while the OS is already running
<hmmmm> *can* you do that, or is host/slave role specific to the controller hw?
<gog> i know android can be in host or device mode
<gog> i don't know if ordinary pc controllers can do that
<hmmmm> right, it'd have to be otherwise file transfer or tethering wouldn't work
<hmmmm> ya, in lspci things usually show up as "XHCI Host Controller", specifically says host
<hmmmm> that's what i'm worried about
<gog> sometimes there's more than one host controller
<hmmmm> ya
<hmmmm> it usually seems like 2 or 3
<hmmmm> and 4 physical usb ports per controller
<Ermine> Writing standalone EFI requires writing a lot of boilerplate
<gog> a bit yeah
<hmmmm> okay actually I just found something helpful
<hmmmm> USB On-The-Go seems to be a part of 2.0 spec and later
<hmmmm> nevermind, it's only a supplement, i.e. not required...
<mrvn> and only a few controllers do it
<gog> otg yes
<gog> that's what i was trying to remember
elastic_dog has joined #osdev
<hmmmm> I'm guessing OTG is how smartphones do their thing
<gog> yes
<hmmmm> sigh
<hmmmm> okay so I guess i need to make hardware
<mrvn> anything that can act as a usb stick has otg
<gog> didn't there used to be those things you could conect two computers via a type a port and send files
<gog> bridging cable
<mrvn> gog: only with hardware in the middle
<hmmmm> yes, but one end of the cable was quite large (in other words, hardware)
terminalpusher has quit [Remote host closed the connection]
<gog> ah ok those still exist
<mrvn> basically 2 otg ports with some copying between them
<hmmmm> do they need to be two OTG ports?
<mrvn> they need to appear as usb slaves
<hmmmm> sure
<mrvn> they dont need to support master mode
<hmmmm> so i need a microcontroller that supports usb and has two slave ports
<hmmmm> that's not doable though is it
<hmmmm> because slave controllers only handle one port
gildasio has quit [Ping timeout: 240 seconds]
Vercas3 has joined #osdev
<mrvn> don't think so. you need two controllers i think
<gog> you can just buy a bridging cable for like $20
Vercas has quit [Ping timeout: 240 seconds]
Vercas3 is now known as Vercas
gildasio has joined #osdev
elastic_dog has quit [Read error: Connection reset by peer]
elastic_dog has joined #osdev
bgs has quit [Remote host closed the connection]
andydude has joined #osdev
<Ermine> gog: may I pet you
* heat prrrs
divine has quit [Remote host closed the connection]
danilogondolfo has quit [Remote host closed the connection]
<sham1> A bit pre-emptive, no?
<heat> preempt_disable();
<sham1> You better cooperate
<heat> no
<gog> Ermine: yes
* Ermine pets gog
* gog prr
<gog> heat are you a catboy now
<heat> yes im a submissive catfemboy
<heat> femcat
<Ermine> Some games feature catboys
<gog> congrats proud of you
divine has joined #osdev
<heat> cats are nutsssssssssssssssss
<heat> 1) they're always completely naked
<heat> 2) they lick their balls while looking at you
<heat> 3) they smell other cats' assholes
<nortti> you can too if you're not a coward
<heat> it's a deviant animal for a non-catholic communist socialist marxist-leninist world
<heat> i miss the good catholic conservative animals. like cows
* moon-child pets heat
* heat pr
<sham1> Oh nice, a pull request
<heat> sorry, i dont use github, its not FOSS!!!
<heat> you'll have the dollar store pull request, the merge request
<heat> or the dollar store merge request, email patches!
<sham1> The official email-based git stuff also calls them pull requests
<heat> but we use gitlab because gitlab is foss and poggers
<heat> just like cats
<heat> my cat uses GNU/bowl and GNU/litter
<heat> it also shits on GNU hurd but that's his choice
<Ermine> heat: cow is hinduist
<mrvn> heat: unlike dogs?
slidercrank has quit [Ping timeout: 265 seconds]
<bl4ckb0ne> looks like you missed a GNU/turd joke there
<Ermine> bl4ckb0ne: which one?
<bl4ckb0ne> the cat that shits on GNU/hurd
<Ermine> Ah, got it
Turn_Left has quit [Read error: Connection reset by peer]
CalculusCats has quit [Quit: Meow Meow Meow Meow Meow Meow Meow Meow]
CalculusCats has joined #osdev
andydude has quit [Ping timeout: 240 seconds]
<heat> netbsd does not merge vm areas. confused.jpeg
<heat> is this pessimal
<zid> heat, make a butterfly meme
nyah has quit [Quit: leaving]