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
Matt|home has quit [Quit: Leaving]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
MiningMarsh has joined #osdev
innegatives has joined #osdev
MiningMarsh has quit [Client Quit]
MiningMarsh has joined #osdev
<innegatives> From what little I understand one of the main benefits of a language based OS is security based on language's types, does this mean TypeScript based OS essentially lacks this because TypeScript types are not enforced in runtime?
<innegatives> Is it sensical to make small kernel with C++ and embed V8 on that and build rest of the OS in JS/TS?
<Mutabah> That's what I'd do for a "JS" OS
<Mutabah> Write a C/C++/Rust microkernel with an embedded interpreter, and do the rest in the other language
<innegatives> But is there any benefit to JS OS compared to a strongly typed language OS?
<Mutabah> IMO, not really... but I guess since it's a dynamic language you get the ability to introspect state easily
<innegatives> Would it be possible to do something like hack TS to enforce types at runtime?
<Mutabah> And I guess it makes it easier to port between architectures
<zid> It's not based on the language's types, moreso the ability of the language to construct and run code
<Mutabah> Don't think so. Afaik TS is just a translation layer to JS
<zid> so as long as you ban eval, and there are no implementation bugs, it's not *possible* to hijack the control flow of javascript from within javascript
<zid> can't corrupt rip if nothing lets you write to it
<innegatives> But same can be said of C, yet here we are
<zid> Cannot be said of C
<zid> C allows you to construct and run code
<zid> you *cannot* ban eval
[itchyjunk] has quit [Ping timeout: 246 seconds]
<innegatives> Who are you banning eval from? Userspace app developer?
<zid> the language
<zid> remove it
<Mutabah> Remove `eval` from the interpreter, and now RCE isn't possible at all (unless the very interpreter has a bug)
<zid> The attack surface on javascript is "letting the attacker eval something they should not have" (or an impl. bug, like accessing off the end of an array)
<zid> It's very similar to a SQL attack in that regard
<innegatives> If you can write and execute code, does it matter whether it happens through eval or without?
<zid> The solution is 'only run prepared queries', aka, remove eval
<zid> You cannot execute *kernel* code
zxrom_ has joined #osdev
<zid> you said the kernel is written in js, so is my browser's UI, user programs cannot change my browser's UI because they just don't have the `document` reference for it
<zid> your user programs would not have the kernel's DOM
<zid> in C without memory management, I can bypass this with just *((int *)0xDEADCAFE) = 7; or whatever, no memory safety
<zid> In javascript, there is *nothing* I can do
<zid> unless I can trick the kernel into eval()ing something
<innegatives> How having eval lets you have reference to kernel DOM?
zxrom has quit [Ping timeout: 246 seconds]
<zid> The kernel has one
<zid> the kernel is running the eval
<zid> ergo 'document' in the context of the kernel, is the kernel's
<innegatives> So of interface to kernel eval is secure and has no bugs it's safe?
<zid> yes
<zid> but then w're back to "just don't write buffer overflow exploits"
[itchyjunk] has joined #osdev
<zid> (it may be marginally safer regardless though because it's easier not to write eval bugs, maybe)
<innegatives> ok, makes sense
<zid> Consider a very feature sparse interpreted language where all you have is GOTO 10, there's obviously 0 attack surface there, I can't corrupt memory, can't corrupt state, etc, there's just no primitive to do so
<zid> C has *every* primitive available to it, JS has 'eval'
<zid> Because C has *every* primitive available, in order for it not to be *able* to shit on other things, you have to *physically* stop it being able to, not just pray that it doesn't
<zid> that's called memory protection
<zid> if there's no address I can write to to write to kernel memory, I can't write to kernel memory no matter what C program I write
innegatives has quit [Quit: Client closed]
<jimbzy> Any idea what this is? https://i.imgur.com/OvXz6oi.jpg
<bslsk05> ​i.imgur.com <no title>
<Mutabah> I think it's a system board, I recall some motherboard designs at one point being just a backplane - with the CPU being on a special ISA card?
<Mutabah> Although... looks like it has a DE-15/DE-9 sized connector
<jimbzy> No idea.
<Mutabah> oogle the markings along the top of the board?
<Mutabah> It seems to say "PUMA 386 CV MODULE REV 0"
<Mutabah> Maybe early dedicated hardware for computer-vision?
innegatives has joined #osdev
<jimbzy> Could be
<jimbzy> I wonder if it was part of a CV gate.
<Mutabah> more likely
<innegatives> my dumb ass just cloned Phil's Rust blog OS and tried to cargo add boa, but that obviously doesn't work because shit's not no_std
<zid> tseng made graphics cards if that helps
<zid> that's also a din connector, might be cga/vga/etc
<innegatives> Do I need to write my own no_std JS interpreter if I want to do bare metal Rust JS OS?
<jimbzy> zid, never heard of them
<zid> v
<zid> I never owned one, but all the 'please select graphics card' programs had tseng :p
<Mutabah> innegatives: Likely, or at very least port/tweak an existing one to run in a minimal environment
<innegatives> Mutabah: I imagine same is true for V8 and other C/C++ based interpreters? You would expect them all to require the stdlib right?
<zid> picture of a similar huge ass tesng card
<zid> but with a big TI chip
<jimbzy> ET4000AX
<zid> nod
<zid> That's one of their regular gpus, 1MB of memory!
<jimbzy> Interesting.
<Mutabah> innegatives: very very likely
<zid> viper fx?
<zid> hmm not finding anything decent
<innegatives> then gang is going to try to write no_std js interpreter next, surely going to succeed given my track record
<CompanionCube> are those two other CPU sockets? unlikely, surely?
<zid> a 386dx was a 387 + 386 afaik?
<zid> might be for an actual 386 + 387 setup if they couldn't get a dx
<zid> (afaik a 387 works super weird and snoops the memory bus of a running 386 to see if a 387 instruction is being fetched and then injects the results where it 'should' be or something totally insane)
<zid> actually maybe it's for a 286 or 486 and the pinout is different? I need a 'pinout of shit cpus' detective
<jimbzy> 16-bit card?
<zid> you'd very hope so
<zid> it being an 8bit card would surely be a waste, that thing must have cost thousands
<jimbzy> ET4k is 16-bit.
<zid> and you know, all the pins are there *points*
<zid> tsenga probably just sold them the chip so this.. whatever it is, could have an output
<zid> I think the main 'point' of it is that it's a powerful *something* on an isa card
<jimbzy> Pretty funky.
<zid> like maybe it's actually a vga capture card or something
<jimbzy> I hope I grow up to be as smart as you. ;)
<zid> why are we being snarky? :(
<jimbzy> I'm not.
<Mutabah> zid: I don't think they are
<Mutabah> Although... I'd call that experience, not smarts :)
<zid> you added the patronizing emoji to the end of it!
<jimbzy> Well, that's because I'm 40 :P
<zid> ahh so it was a joke, just at you, and I needed bg knowledge I didn't have to parse it
<jimbzy> Yeah, that's what I thought of when I first saw it.
<zid> I think it might just be an inboard with integrated vga
<zid> Back in the day, the IRS depreciation period for computers was super long because it was designed for mainframes. PCs had a very short lifetime due to Moore's Law which was still quite in force. PCs were so expensive they were considered capital equipment and could not be replaced until depreciated, but they could get budget to upgrade them.
<innegatives> Mutabah: there's this: https://github.com/bytecodealliance/spidermonkey-wasm-rs Does this mean I can compile SpiderMonkey to wasm then run it on bare metal with no_std with wasmi?
<bslsk05> ​bytecodealliance/spidermonkey-wasm-rs - (8 forks/77 stargazers)
<zid> turns a 5150 into a 386, basically
<zid> I think the blue socket (and maybe the smallest unpopulated one on the ISA card) is for 'intel overdrive'?
gog has quit [Ping timeout: 260 seconds]
<zid> not sure if the timelines work out, but the socket looks very similar
<zid> anyway back to my book
<kazinsal> not enough pins to be an overdrive socket
<kazinsal> overdrives were PGA 168/169
xvmt has quit [Ping timeout: 264 seconds]
innegatives has quit [Quit: WeeChat 4.0.0]
Matt|home has joined #osdev
smeso has quit [Quit: smeso]
smeso has joined #osdev
klys has quit [Server closed connection]
klys has joined #osdev
rorx has quit [Server closed connection]
rorx has joined #osdev
Vercas has quit [Quit: buh bye]
Vercas has joined #osdev
vdamewood has joined #osdev
rwb has quit [Ping timeout: 264 seconds]
bgs has joined #osdev
mahk has joined #osdev
rwb has joined #osdev
slidercrank has quit [Ping timeout: 246 seconds]
rwb has quit [Ping timeout: 240 seconds]
rwb has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
goliath has joined #osdev
justache has quit [Server closed connection]
justache has joined #osdev
slidercrank has joined #osdev
danilogondolfo has joined #osdev
foudfou has joined #osdev
carbonfiber has joined #osdev
sakasama has quit [Server closed connection]
sakasama has joined #osdev
gareppa has joined #osdev
zxrom__ has joined #osdev
zxrom_ has quit [Ping timeout: 246 seconds]
zxrom__ is now known as zxrom
nyah has joined #osdev
awita has joined #osdev
GeDaMo has joined #osdev
gog has joined #osdev
xvmt has joined #osdev
moon-child has quit [Server closed connection]
moon-child has joined #osdev
SGautam has joined #osdev
zxrom has quit [Quit: Leaving]
ornitorrincos has quit [Server closed connection]
ornitorrincos has joined #osdev
zxrom has joined #osdev
rwb has quit [Ping timeout: 240 seconds]
rwb has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
[itchyjunk] has joined #osdev
slidercrank has quit [Ping timeout: 240 seconds]
bgs has quit [Remote host closed the connection]
carbonfiber has quit [Quit: Connection closed for inactivity]
SGautam has quit [Quit: Connection closed for inactivity]
<mcrod> hi
<mcrod> first, I must open with this today
<mcrod> I hate C++
<mcrod> second, I will likely end up asking someone for help
<mcrod> (why I'm not asking in #c++, I don't want to hear "wtf use dynamic dispatch" "premature optimization is the root of all evil")
<mcrod> https://pastebin.com/fNeRd90C <- see line 27
<bslsk05> ​pastebin.com: template <class T> struct Base{ void interface() { // ... - Pastebin.com
<mcrod> obviously you can't do this since Base is a template, but I don't know how to come close to that idea
<ThinkT510> just so you are aware some people may refuse to open pastebin.com links as they use very aggressive anti-adblock measures
<mcrod> ok good point
<bslsk05> ​godbolt.org: Compiler Explorer
<sham1> mcrod: so… why *don't* you use dynamic dispatch
<mcrod> I'm curious
<mcrod> dynamic dispatch is probably the right answer here
<sham1> Anyway, the type you're looking for the type is Base<Derived>*
<mcrod> but the problem is
<mcrod> if I have multiple structs/classes derived from Base
<mcrod> I can't do Base* ptr = whatever_the_fuck_I_want;
<sham1> You can't just have Base, because it's a template
<mcrod> understandably, I get it, it's a template
<mcrod> hm I guess I'm asking for too much
<vdamewood> What are you asking for that you wouldn't get with dynamic dispatch?
<sham1> He probably doesn't want to have a vtable and whatnot
<sham1> So he does static dispatch with curiously recurring template variables and such to avoid it
<mcrod> there you go
<sham1> But yeah. Bare `Base` isn't a type. You need a type parameter
<mcrod> this is also experimentation
<sham1> I suppose there is a way, if you want to get really hacky and use type erasure, but at that point it's probably just easier to use dynamic dispatch
smko has joined #osdev
<mcrod> i just don't know how good compilers are at devirtualizing
<mcrod> and yeah, probably
<sham1> You'd most likely need one layer of pointer indirection either way, so I'd say that it's better to use the actual language feature as opposed to try and fight the language
goliath has quit [Quit: SIGSEGV]
<mcrod> right, my next step was going to be along those lines anyway
<mcrod> so yeah, ok
<sham1> (I'm looking at you, -fno-exceptions crowd)
<mcrod> hey I do that
<sham1> For kernel code? Sure, but even in the context of osdev because I'm a believer in the Church of the Microkernel, I try to get as far from kernel code as possible, as fast as possible
<sham1> And for user code, exceptions
carbonfiber has joined #osdev
<immibis> mcrod: every Base<T1> and Base<T2> are different types and this is unavoidable because they have different functions that do different things.
<immibis> you have basically two options. Either the code in main needs to know that it's a Base<Derived>* instead of just Base* - this can mean that more of your code uses templates
<immibis> OR, you make them do the same thing, where that thing is "find out which thing to do and do it", which is dynamic dispatch
<immibis> if you hate this dilemma, you might also consider (not to say it's always a good fit) using a tagged union instead of inheritance
<immibis> you can have a limited dynamic dispatch, like `if(this->type == TYPE_DERIVED1) doDerived1Thing(); else doDerived2Thing();`
<immibis> fundamentally if you want one code path that diverges instead of two code paths you need some point at which it diverges, which is dynamic dispatch
<zid> which is just, kind of, always the question
<zid> do you do if(p->a) blah; else blah; or do you do if(p->a) blah(); else blah2();
<zid> one function with ifs() inside it, or an if() guarding two versions of the function
<immibis> what
<immibis> yes, the second thing is the question
<zid> I was saying this is basically what programming is, determining when the best point to branch is
<immibis> creating two slightly different variants of the code is expensive too - no matter whether you do it manually or with templates - due to caching
<zid> because yea, you have to weigh a lot of stuff, duplication in .text vs potentially fewer cmps, etc
<immibis> it isn't worth bloating your binary code to 200MB just to avoid some if statements
<zid> that's the sort of thing the optimizer isn't going to do for you, it's just an educated guess you have to make
<immibis> C++ code bloat is terrible when you start using templates for *everything*
<immibis> sometimes templates can allow the optimizer to collapse a whole bunch of abstract code into the few statements that you actually need and then it's a good use of templates; other times they can't
<immibis> like if you iterate over a std::vector<int>, because you have code that is specifically adding 4 bytes each iteration there is a very good chance the optimizer can turn it into a simple for loop and now you have both the abstraction and the performance. If you had a dynamic-sized vector with an `int m_elementSize;` it might not be able to do that.
dude12312414 has joined #osdev
Stary has quit [Server closed connection]
Stary has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
frkazoid333 has quit [Ping timeout: 246 seconds]
<gog> :'(
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
<zid> gorg
<bslsk05> ​www.youtube.com <no title>
frkazoid333 has joined #osdev
zxrom has quit [Ping timeout: 240 seconds]
\Test_User has quit [Quit: \Test_User]
\Test_User has joined #osdev
heat has joined #osdev
<heat> gog: gog
<sham1> gog: why are you sad
<heat> i'm blue da ba dee da ba da
smko has quit [Ping timeout: 240 seconds]
dude12312414 has joined #osdev
<mcrod> hi
<sham1> hi
<mcrod> my neck hurts really bad.
<heat>  my throat feels really fucky
<heat> i may have covid or some shit
<vdamewood> Do crows get CORVID-19?
xenos1984 has joined #osdev
<mcrod> i had covid
<mcrod> for me it was the worst sore throat I've ever had
<mcrod> then it just.. stopped
<heat> i also had covid
<heat> i got a fever while trying to install netbsd on my rpi a couple of months ago
<heat> turns out it was covid
<heat> thank you covid for stopping me from using netbsd
<GeDaMo> Is netbsd a transmission vector? :|
<sham1> It was an unsanitized ISO
<sham1> Should have used OpenBSD
<heat> ironically netbsd has the sanitizers, freebsd has the performance (and steals the sanitizers), openbsd has the
<sham1> malloc.conf
<mcrod> it'd be nice if CLion wasn't a pile of yankee doodle donkey shit
<sham1> It indeed would be. But alas
<heat> cry
<heat> i dont program anymore so i couldn't give less of a shit
<heat> clion? more like clidontcareaboutyourstupideditorwars
<heat> i use notepad.exe
<sham1> I don't care as long as you use emacs
<mcrod> error reading clang-format: invalid argument unknown key 'HexMinDigits'
<mcrod> kill me
<mcrod> just kill me
<mcrod> all I did was generate it
<gog> heat: :)
<heat> clang-format sux, use microsoft word's auto formatting
<gog> i fixed the thing that was making me sad
<heat> poggers
<gog> but my boss had to help because i couldn't reproduce the error
<heat> fixing the thing that was making you sad is like, very poggers
<heat> lads we've defeated depression
<gog> i have some experience fixing the things that are making me sad
<zid> I punch them
dude12312414 has quit [Remote host closed the connection]
frkazoid333 has quit [Ping timeout: 246 seconds]
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
<zid> keep ya fuckin covid, if I got any more brain fog I'd forget to breathe
smko has joined #osdev
<gog> meow
<sham1> nyah
<gog> ^w^
Left_Turn has joined #osdev
goliath has joined #osdev
innegatives has joined #osdev
Turn_Left has joined #osdev
goliath has quit [Ping timeout: 260 seconds]
Left_Turn has quit [Ping timeout: 260 seconds]
smko has quit [Ping timeout: 246 seconds]
gog has quit [Quit: Konversation terminated!]
zxrom has joined #osdev
xenos1984 has quit [Ping timeout: 246 seconds]
goliath has joined #osdev
smko has joined #osdev
xenos1984 has joined #osdev
slidercrank has joined #osdev
gog has joined #osdev
<heat> we need to start false flagging newbie x86 questions
<heat> to keep this shit alive and non-boring
* innegatives wants to ask a newbie x86 question but too noob to think of anything
<innegatives> you are glad i finished with that emulator tho, aren't you
<geist> hmm, what do you mean by false flagging?
heat is now known as notheat
<notheat> hello guyz i have problem in my kernal is rebooting help
notheat is now known as heat
<immibis> no theat? but i wanted theat
<bnchs> notheat: smack it hard
<bnchs> and tell it to stop rebooting
<sham1> Smack my kernel up
qubasa has joined #osdev
<bnchs> if that fails
<bnchs> beat the fuck out of it
<bnchs> as a punishment
<bnchs> so it'll learn to never reboot
<heat> osdev challenges would also be really fun
<sham1> But yeah, I don't see the value in trying to weed out x86 questions. Most if not all new OSDevvers target x86/AMD64, so we can just assume and ask
<zid> heat: osdevcomp #1 when
<zid> must make something that multiboots on x86 and solves a thing
<mcrod> my neck is killing me.
<mcrod> challenge: massage me someone
* sham1 massages mcrod
* mcrod prr
<heat> zid yeah and then it could evolve into some harder shit
<bnchs> maybe your mother put up with you rebooting, but i don't
<heat> like write a network stack that can correctly speak TCP or some shit
<zid> You make the test harness
<zid> and I will submit an entry
<heat> no
<heat> i complain, someone else writes it, you submit an entry
<zid> protohackers it is then
<gog> hi
<bnchs> hi gog
<heat> gog: hello we need a cheap rpogrammer
<gog> i'm cheap
<heat> 0 USD dollar, write osdev competition yes??
<sham1> ( ͡° ͜ʖ ͡°)
<gog> yes??
<heat> you write codez, me and zid idea people
<mcrod> sometimes I forget how useful #define actually is
<mcrod> (said no one ever)
<mcrod> but it is.
<mcrod> in the right situations
<sham1> constexpr my dde
<sham1> If you're using C++ you might as well
<mcrod> when I finish what I'm working on
<heat> it is constexpr my dudez
<mcrod> I do want a few select people to review it because it's part of a broader thing
<mcrod> but I'm not saying what it is, yet
<heat> am i apart of your c++ special forces
<mcrod> yes
<heat> c++ DEVGRU
<zid> apart or a part?
<heat> a part!
<heat> ap art
<mcrod> to give a hint
<mcrod> zid is also a critical factor
<mcrod> do with that as you will
<zid> Tough, we already agreed that you're apart from it heat
<sham1> heat should be a part of it
<heat> constexpr gameboy emulator
<mcrod> no
<zid> constexpr swearing simulator
<heat> gameboy emulator but using the C preprocessor
<sham1> constexpr the entire program and then execute it. Instant testing
<zid> I already did that heat
<innegatives> we need runtime type checking in C
<mcrod> no stop
<heat> dynamic_cast and RTTI are great!
<heat> when is C getting dynamic_cast?
<innegatives> when its getting operator overloading
goliath has quit [Quit: SIGSEGV]
<heat> oh yess
<heat> i tried using powershell yesterday
<heat> i failed
<innegatives> powershell is galaxy brain stuff
<innegatives> my 43k lines PR was finally approved
<mcrod> I would take powershell over bash scripting any
<mcrod> fucking
<mcrod> day
<mcrod> it is so much simpler to use in comparison, I can't believe I'm saying it
<innegatives> 42k lines of formatting change
<sham1> Powershell has good ideas. It's betrayed by the fact that it's MSFT
<zid> /? does fucking nothing
<zid> for any powershell program I've tried
<sham1> --help, my dude
<zid> that's linux
<bslsk05> ​gist.github.com: switch.c · GitHub
<sham1> It's also powershell
<zid> You have to compile it about 4 times
<zid> then it works
<sham1> Powershell cmdlets do --help
<heat> windows commands' arguments are as consistent as its UI
<heat> I literally went through like 2-3 decades of UI development just to change a setting a few days ago
<heat> whereas in Linux, everything looks stuck in the late 90s/early 2000s so it's consistently backwards
<sham1> tbf, it's mostly just /? from like CP/M and through MS-DOS to windows and then --help in powershell
<innegatives> if you want good looking linux then make electron based DDE
<innegatives> DE
* sham1 throws up
<heat> hottest takes
<innegatives> if you throw css and html at it you can create any kind of beauty you like
<innegatives> the reason why gnome and kde is shit cuz they have to work around QT and GTK
<sham1> Don't you talk shit about kde
smko has quit [Ping timeout: 240 seconds]
<mcrod> i'm hungry
<sham1> Hi hungry, I'm sham1
<zid> every single powershell thing I've seen works like this
<zid> you have to find the weird option you need on msdn
<mcrod> shamwow
<sham1> zid: Get-Help maybe
<sham1> I can't test it, I'm not on Windows RN
<sham1> I could have sworn that --help also worked
<sortie> man foo
<sham1> sortie: on powershell?
<sortie> It does beat bat scripting
<sham1> It certainly does. In some ways it's even better than UNIX shell
<sham1> My biggest gripe is that the powershell window isn't a terminal emulator and I get all confused when I try to ^P and such and it just doesn't do what I expect
<sham1> Also doesn't help that I'm more proficient in shell than in PowerShell
qubasa has quit [Ping timeout: 246 seconds]
<gog> powershell is p cool
joe9 has joined #osdev
<sham1> Executes commands and doesn't afraid of anything
eddof13 has joined #osdev
smko has joined #osdev
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
innegatives has quit [Quit: WeeChat 4.0.0]
<gog> yes
danilogondolfo has quit [Quit: Leaving]
smko has quit [Quit: Lost terminal]
<heat> gog
<heat> hi
<sham1> goggers
heat is now known as goggers
<goggers> hello its me goggers
<sham1> Faker!
<goggers> league of legends moment
<sham1> *insert that one famous part from "Invasion of the Body Snatchers"*
<gog> hi goggers
<goggers> hello im you but ers
<gog> how's the living in iceland and being a programmer and all the other stuff you don't shut up about
<sham1> I think you mean gers
<goggers> brilliant
<goggers> i love living in iceland and being a programmer and all the other stuff i dont shut up about
<sham1> goggers: how do you feel about payment processors
<goggers> terrible
<gog> sounds like something i'd say
<goggers> reject payment, embrace comrade
<bslsk05> ​'Invasion of the Body Snatchers (12/12) Movie CLIP - The Scream (1978) HD' by Movieclips (00:02:38)
<goggers> this snack bar is OURS
<sham1> GeDaMo: thank you
<bslsk05> ​'Breaking Bad - I F***ed Ted Scene (S3E3) | Rotten Tomatoes TV' by Rotten Tomatoes TV (00:02:13)
<gog> yaaas queen
<gog> very gatekeep, gaslight, girlboss of her
<goggers> i fucked ted
<goggers> did the colors work or is this shitty web client shitty
<gog> they worked
<gog> you fucked ted but rainbow
<goggers> ok thats good
<gog> breaking bad is a cool guy
<gog> eh cooks meth and doesn't afraid of anything
<goggers> yeah mr. bad is a cool guy
<goggers> just like the main character of legend of zelda, mr zelda
gareppa has quit [Quit: WeeChat 3.8]
dza has quit [Remote host closed the connection]
<bslsk05> ​mods.factorio.com: Honk - Factorio Mods
<goggers> badonkahonk
<gog> honk
<gog> goggers
<gog> why are you so poggers
<gog> may i pet you
<goggers> yes
* gog pet
* goggers pr
gog is now known as poggers
<goggers> poggers
<poggers> goggers
<zid> SECONDARY HONK
<poggers> honk
<goggers> honk
dza has joined #osdev
<geist> what are you guys doing?
<poggers> idk
<goggers> pretending we're trains
<zid> I am doing a secondary honk, ofc
<goggers> geist: have you tried out the arm64 continuous bit in zircon or nah?
<goggers> there's a linux patch set in the lkml that adds support for it in linux and you have like solid wins, but ofc it relies on higher-order buddy allocations
<geist> i have not, but yeah would like to
<geist> always meant to implement it for the kernel at least
<goggers> i suspect it's very hard to see a difference if you can't really allocate contiguously
<sham1> HONK
zxrom_ has joined #osdev
<goggers> fun fact: atm my mmap allocation is O(n)
<goggers> highly pessimal
<sham1> It could be worse
<sham1> It could be O(n!)
<zid> pezzimul
<zid> That's my new counting base
<sham1> Compared to that it's outright optimal
<goggers> O(PESSIMAL)
<zid> it goes 1, 2, many, lots
<zid> anything above 2 is too pessimal to care about
<goggers> i think you need some sort of augmented rb tree (or similar) to do this right
zxrom has quit [Ping timeout: 250 seconds]
<sham1> splay tree
<goggers> like each node has a unsigned long gap_len;
<goggers> and then you iterate manually thru the tree
<goggers> radix trees would be interesting (I think FreeBSD uses em) for aligned allocation
<goggers> linuks does an augmented rb tree for rmap functionality too (as to get an interval tree)
awita has quit [Remote host closed the connection]
<zid> can you implement me one goggers
<goggers> no
<goggers> i dont program anymore
<goggers> i play rocket league and csgo
<zid> me either
<zid> me too
<zid> did you pay me my wages yet btw
<sham1> Steam games with their own launchers should be hung
<zid> https://www.ebay.co.uk/itm/314612598998 I wanna see how terrible one of these is
<bslsk05> ​www.ebay.co.uk: Power A Wired Controller for Nintendo Switch - Black Matte black design 617885020254 | eBay
<goggers> sham1 still better than EA games that always go through origin (now EA play)
<sham1> Well EA being pessimal was already known
<goggers> PESSIMAL WONTFIX
<goggers> i prefer steam games that go through launchers to steam games that go through entire fucking platforms
<goggers> particularly as some games sometimes need it
<goggers> like paradox shit that needs mods to be set before launch cuz the game engine is cursed
<goggers> eu4 can't even back out of a saved game without restarting the entire game
<zid> I rember when that happened, I lolled
<zid> their launcher at least is useful now
<zid> because it lets you select the dlc you wanna boot on
<Ermine> goggers: may I pet you
<goggers> yes
* Ermine pets goggers
* goggers barks
<Ermine> all of the sudden
<goggers> zid it always did though?
<zid> >now
<zid> no
<goggers> now it just has support for extra stuff and mod sets
<zid> It used to just be a launch button
<goggers> and looks pretty
<zid> now it's a launch button AND dlc selector, and I think maybe eula?
<goggers> hmm i'm fairly sure it has always been there since I started playing (late 2015)
<zid> wow
<zid> do you remember when france was one country, and not a load of vassals?
<zid> I remember when france *wasn't* one country, they actually came full circle on that
<zid> 5th march 2015 is when I started playing
<goggers> france being a bunch of vassals is too old for me
<goggers> i had blob france since the beginning
<goggers> now ofc a bunch of vassals again
<zid> patch 1.12, jun 2015
<zid> France is now more integrated at the start and no longer has a huge number of vassals.
<zid> launcher was added in 1.29
<zid> sep 2019
<goggers> i've been doing a portugal game but in my game UK sucked and got into a war with france and my country got occupied and i peaced out
<zid> nice
<zid> add me on steam so I can compare achievements
<goggers> waz ur name
<zid> zid, the dinosaur from braid
<goggers> there are 2000 zids
<zid> nice
<zid> nekozid
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<zid> that one is unique
<zid> it's my steam account name cus zid was taken
<goggers> dun
<zid> wow you've done nothing
<goggers> who tf plays as the pope
<zid> People who see it on the achi list
<goggers> i dont play for achievements
<zid> what else is there to do
<zid> You play ottoscum a few times and smack the entire world around
<zid> play your home country
<zid> play a random mexican to see how shit it is
<zid> then you go achi hunting
<goggers> i've never really done an ottoman game after like 1500
<zid> doesn't look like you've played to 1500
<zid> as any nation
<goggers> played portugal, spain, uk a bunch, austria a bunch
<goggers> prussia games are always fun, have also blobbed a bunch with france
<zid> You don't have A fine goosestep though
<zid> so why bother playing prussia
<poggers> hi
<zid> poggers did my wages come in yet
<poggers> yes i spent them all
<goggers> they were space marines even without 125%
<zid> https://www.ebay.co.uk/itm/314612598998 I wanna see how terrible one of these is
<zid> so I can play ROCKET LEAGUE without a drifty stick and broken R3
<zid> heat do you wanna play co-op on whatever random DLC I have at some point
<zid> I'll play some awful mid country like portugal
Bitweasil has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
<zid> you can play a stronk country
<zid> and I will bail you out when you almost die
Bitweasil has joined #osdev
<goggers> nah you'll flame me
<zid> only if you beg
<zid> shit ain't free
<goggers> zid wtf happened to eu4 map mods?
<zid> no idea
<zid> I've never played one
<zid> I did play the 10x mod though that was funny
<bslsk05> ​steamcommunity.com: Steam Community :: heat :: Screenshots
<zid> Every country's national ideas are 10x as strong
<goggers> ... wrong link
<zid> so 5 discipline? 50%!
<goggers> the standard map looks like garbo
<zid> Is that the flag mod
<zid> lots of people seemed to enjoy that
<zid> I figured you were more of an anime waifu flag mod guy though
<goggers> no
<goggers> this is Theatrum Orbis Terrarum
<bslsk05> ​steamcommunity.com: Steam Workshop::For The Glory of Your Waifu! (Deimios' Edit)
<zid> custom ram nation lol
ghostbuster has quit [Server closed connection]
ghostbuster has joined #osdev
<zid> Trent is Myne from honzuki
<zid> WHAT, NO EVA?!
<zid> fucking pointless mod
truepassion has quit [Server closed connection]
stux has joined #osdev
frkazoid333 has joined #osdev
SGautam has joined #osdev
poggers is now known as gog
<gog> hi
<mcrod> hi
innegatives has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
m5zs7k has quit [Ping timeout: 246 seconds]
<gog> mcrod: may i hug you
<mcrod> yes
* gog hug mcrod
* mcrod hugs gog
m5zs7k has joined #osdev
[itchyjunk] has quit [Ping timeout: 246 seconds]
vdamewood has quit [Remote host closed the connection]
vdamewood has joined #osdev
vdamewood has quit [Client Quit]
nyah has quit [Ping timeout: 240 seconds]
[itchyjunk] has joined #osdev
nyah has joined #osdev
slidercrank has quit [Ping timeout: 264 seconds]
nyah has quit [Quit: leaving]