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
m3a has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
spareproject has quit [Remote host closed the connection]
zetef has quit [Remote host closed the connection]
night has quit [Quit: No Ping reply in 180 seconds.]
night has joined #osdev
netbsduser has quit [Ping timeout: 256 seconds]
<heat> Ermine, with the hw decoder?
navi has quit [Quit: WeeChat 4.1.2]
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
op has joined #osdev
sbalmos has quit [Ping timeout: 260 seconds]
sbalmos has joined #osdev
op has quit [Remote host closed the connection]
joe9 has joined #osdev
goliath has quit [Quit: SIGSEGV]
<heat_> this is very funny: intel took the VERW instruction to clear some CPU buffers used in side-channel attacks
<heat_> i assume VERW was implemented in microcode, so they just took that random instruction and tacked on some mitigation code
<Mondenkind> what's a verw
<heat_> VERR/VERW — Verify a Segment for Reading or Writing
netbsduser has joined #osdev
<clever> heat_: ive heard somewhere, that segmentation is basically deprecated, and not worth investing hw decode into
<clever> heat_: so all segment based stuff is basically just emulated in software (microcode)
<heat_> for these weird instructions, totally
<clever> so yeah, changing the implementation would be trivial
<heat_> but %gs and %fs are still widely used, so you can't emulate all of segmentation in mirocode
<clever> yeah
<clever> but, is that even really segmentation anymore, or just a reserved register to act as a base for something?
<clever> like the gp register found in some arches
<heat_> its a handy way to have a tp register without having to reserve one of the 15 GPRs
<clever> on the VPU, gp is just another name for r24, just a regular old general-purpose 32bit register
<clever> but the official compiler uses gp as the offset for .data and stuff, to minimize the relocation patching
<heat_> it's basically TPIDR but suped-up and with 30 years of x86 backwards compat
<clever> heat_: but you could just say there are 17 GPR's, and %gs and %fs are 2 of them
<heat_> but they're not, they behave like segment registers
<clever> is it really segmentation at this point, or just a register that reuses the old segmentation syntax in asm?
<heat_> being able to do stuff like inc %gs:0x58 is incredibly powerful
<heat_> uh, probably the second
<clever> can you do inc on eax + 0x58?
netbsduser has quit [Ping timeout: 255 seconds]
<zid> The 'difference' between gs:0x58 and some_reg+0x58
<zid> is that we get a special worse encoding for gs:0x58
<zid> so we can get away with fewer bits in the reg field of all *other* instructions
<clever> the VPU does that too, r0-r15 have a special encoding that only uses 4bits, and goes with the 16bit opcodes
<heat_> don't you just need a gs segment override byte for this insn
<clever> if you want to access r16-r31, you need 5bits, and that goes into a 32bit opcode
<clever> so the higher half of the registers are more expensive to access, but function identically to the lower half
<heat_> i believe inc %gs:0x58 should be smaller than inc 0x58(%rax)
<heat_> in any case i think you can pull off weird warcrimes with segmentation, that you wouldn't be able to normally with GPRs
<zid> heat can you make my aslr bypass land
<heat_> mov eax, gs:[eax + edi] hehe x86 go brrrrrrr
<heat_> what aslr bypass?
<zid> the one I am doing
<zid> and by bypass I mean "guessing a bunch of bits"
<bslsk05> ​godbolt.org: Compiler Explorer
<clever> using gs, costs 3 bytes, one is just the 0x58
<clever> using rax, is also 3 bytes
<heat_> wow thats awful
<heat_> why the heck does it need a full imm32 for that shit
<clever> wait no
<clever> i read it backwards
<clever> wow, thats worse
<clever> that explains why i had trouble figuring out the 0x58 in 8b 45 fc
<clever> and fs is equally bad
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 255 seconds]
heat_ has quit [Ping timeout: 260 seconds]
SGautam has joined #osdev
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
netbsduser has joined #osdev
<kof673> as a coworker once told me, it is not human trafficking if there are no bodies lol
<geist> oh wow clever is writing x86? what happen!?
netbsduser has quit [Ping timeout: 260 seconds]
<clever> geist: was just wondering about the encoding of %gs: vs rax
<geist> ah i see
<geist> yeah prefix
<clever> the big surprise for me, is that `inc %gs:0x58` takes up a full 8 bytes!?
<clever> but `inc 0x58(%rax)` takes up only 3 bytes
<Mondenkind> yeah because you can't have just a 1-byte displacement. since it comes up pretty rarely. so just a displacement is always the 4-byte form
<Mondenkind> so that adds 3 bytes. another byte because you sib instead of just modr/m. and another byte for the gs prefix
<clever> ive seen some other things, that will >>2 the displacement before putting it into the opcode
<clever> so an 8bit field allows a 10bit displacement
<clever> just because all access must be aligned, so those 2 lower bits dont matter
<clever> enforce it at assembly time, then discard em
<geist> welcome to x86
<clever> maybe i should continue to avoid writing x86 :P
<Mondenkind> arm has some stuff like that
<mjg> :d
<geist> well, of course most of this doesn't matter
<Mondenkind> (where by arm i mean aarch64 obviously)
<Mondenkind> like ... ldr takes an aligned displacement, and ldar is the one with an unaligned displacement?
<geist> yah to be fair arm64 has some pretty clearly bespoke addressing modes
<mjg> instruction encoding on x86 is totally trippy
<Mondenkind> that said. unaligned access is legit. and so is unaligned displacement cancelling out unaligned base to produce an aligned address. so
<mjg> you would think more operands means longer and but it can easily be the opposite
<geist> one i saw that other day that i legitimately hand't seen before was an arm64 instruction somehting like `ldr x0, [x0, x1, utxh]` or something
<geist> i know that utxh and whatnot is a bit extraction instruction, very powerful
<Mondenkind> clever: oh, avx512 also has the aligned displacement thing
<clever> Mondenkind: but arm is also fixed opcode width (except for thumb), so you cant have the opcode size varying wildly
<geist> but i saw it as part of a ldr/str
<bslsk05> ​developer.arm.com: Documentation – Arm Developer
<geist> er wait taht's an add. of course
<clever> mjg: what i cant really understand, with the x86-64 switch, why couldnt they have fixed the encoding mess?
<geist> but you can do it in a load/store
<clever> x86-64 cant run x86-32 binaries, right?
<clever> so its already incompatible out of the box
<geist> sure it can
<Mondenkind> clever: presumably they didn't want a super complicated decoder
<mjg> wut
<kazinsal> compatibility mode, my droogs
<Mondenkind> and they didn't want to compromise performance for 32-bit or 64-bit mode
<clever> kazinsal: i mean when in 64bit mode
<bslsk05> ​developer.arm.com: Documentation – Arm Developer
<Mondenkind> keeping them close lets you share most of the circuitry
<mjg> running 32-bit binaries was one of the seeling points over itanium
<clever> but yeah, i can see compat being a problem, then you need 2 completely different decoders
<clever> Mondenkind: yep
<geist> clever: and no, you can't. it's close but a few of the opcodes are moved around
<geist> the obvious one being the REX prefix having previously been used for a one byte 32bit op
<geist> you lose it, but you get the prefix
<Mondenkind> with that said. _now_, I think you could get away with cleaning up the encoding, and making a jit old->new
<clever> geist: what i meant, was more, you could have re-designed x86-64 to not be a train wreck
<clever> but then you cant share any decoder logic between 32bit and 64bit
gbowne1 has quit [Remote host closed the connection]
<mjg> amd64 is slowly getting to death row anyway
<geist> well, that's precisely what ARM does
<Mondenkind> (old 32-bit _and_ 64-bit)
<geist> hence why the arm32 -> arm64 transition is a lot cleaner IMO
<geist> at the expense of having two decoders
<clever> and the 32bit decoder being optional
gbowne1 has joined #osdev
<geist> but then they also defined the system as booting in the highest mode, so they can slowly phase out the 32bit mode, which they're doing.
<clever> yep
<geist> intel is only now really starting to talk about finally phasing out < 64bit moe
<clever> while x86 boots in the lowest mode, like a 286, or older??
<geist> yep, like an 8086. real mode
<clever> some x86 chips still have the a20 gate active?
<geist> yep
<mjg> is that true for something freshey?
<mjg> i thought most of that luller got fucked after uefi?
<geist> i dunno, i literally booted dos on my ryzen a few years ago
<geist> boots and ran just fine. i was a bit surprised, but it was pretty neat
<mjg> but you switched to legacy mode first?
<mjg> the bios
<kazinsal> iirc one of the last stages in the CSM boot process before popping down to real mode and handing over control is "disable A20"
<clever> but i think a20 only matters, for programs that place a section near the top of the lower 1mb
<geist> nope, was using the CSM stuff
<clever> and expect access to wrap around to 0
<geist> yep, himem.sys
<mjg> hm
<geist> thats its original purpose, you load it you get UMB (upper memory block) and then you can use loadhigh for other drivers
<mjg> that's both impressive and kind of a disappointment
<geist> mjg: yah *even crazier* i booted from a usb floppy drive
<mjg> you just know that level of compat comes at a cost
<clever> geist: i still never really learned how all of that highmem stuff in dos worked
<mjg> now *that* i aspect i think i understands, there is some low level bullshit (probably provided by bios) which lets you do dogslow reads
<mjg> from anything
<clever> did dos ever use the segment remapping stuff?
<geist> i'm sure that has it's limitations. probably ceases to look like a DOS machine as soon as you try to find the real FDC
<clever> that kind of was an ancestor of the mmu?
<geist> clever: very very much
<mjg> i booted something after illegally burning an fd image onto a cd
<geist> well, okay. not in the strictest sense. classic dos is real mode, so you dont use GDT/etc to remap because that only kicks in when you go to protected mode
<mjg> after the boot loader finished loading the kernel (super slow) it claimed it has no idea what cd is
<clever> geist: i discovered why one sata drive in my nas was performing poorly a few months ago, the bloody bios put it into pata emulation mode
<clever> so even modern linux can be fooled by that stuff
<mjg> ;d
bauen1 has quit [Ping timeout: 260 seconds]
<mjg> there was a video somewhere recounting a lot of evil concerning x86 boot process
<geist> that's baiscally what 286 protected mode is: it's stilla 64bit machine, but it extended 8086 to have 4 rings, redefines how segments work (they';re now handles into a table instead of a << 4 offset), and then added GDT/LDT and IDT tables to let it all be indirected
<mjg> where the person (people?) presenting claimed it is a miracle it even boots
<clever> the weird part, is that a single sata controller, was doing both sata and pata at the same time
<mjg> does anyone remember what i'm talking about?
<geist> but otherwise 286 is still dealing with 64K segments, just via handles now
<clever> 2 over the sata api, and 1 over pata
<geist> also this is why 286 machines can address up to 24 bits, because the original GDT has iirc 20 bit offset/lengths in units of 16 bytes?
<geist> something like that
<kazinsal> yeah
<geist> then 386 extended the segments out to full 32bit, which is why the base/length stuff is split across the GDT entries in a weird ass way
<clever> i read one thing about some AMD chips with the PSP, and how it starts booting with an arm core
<kazinsal> reminds me I gotta get some new tantalums for the PS/2
<clever> the arm core handles dram init, copies the x86 bios to ram, and maps that to the legacy reset vector
<clever> and any changes to dram config, require a hard reset of the x86, and message passing to the arm, so it can redo things
<geist> ah yeah you can even see how it was extended: https://wiki.osdev.org/Global_Descriptor_Table#Segment_Descriptor
<bslsk05> ​wiki.osdev.org: Global Descriptor Table - OSDev Wiki
<geist> the top byte (bits 63-48) were clearly unused in 286, since base [31..24] and limit [19..16] were unused
<geist> as well as the flag bits which are all only concerning 386
<kof673> ralf brown interrupt list: > Notes: Errors on a floppy may be due to the motor failing to spin up quickly enough; the write [or read] should be retried at least three times, resetting the disk with AH=00h
<kof673> seems pretty reliable to me /s
<geist> yah if you write a bare metal floppy driver you have to kick the disk motor yourself
<geist> and keep a timer to keep the motor running for a second or so after the last transaction
<clever> i was also recently looking back at ipxe and the sanboot command
<geist> and of course wait for it to spin up
<clever> from what i can see, ipxe will hijack the bios soft-irq's for hdd access
<clever> and re-map the local hdd's to an iscsi device
<clever> then anything using the legacy api (dos, grub, win95 in some modes), will route thru ipxe and over iscsi
<kof673> yeah, was gonna say....there is an interceptor pattern there basically if one goes through the trouble
<clever> obviously, it stops working when you switch to proper drivers, but by then, linux would have an initrd, and can iscsi itself
gbowne1 has quit [Read error: Connection reset by peer]
masoudd_ has joined #osdev
netbsduser has joined #osdev
<kazinsal> that's one thing I need to fiddle with a bit, is PXE shenanigans. currently I netboot grub for rapid build testing but I'd like to NIH the rest of my bootstrap process, including PXE
<kazinsal> finally drop multiboot entirely
netbsduser has quit [Ping timeout: 252 seconds]
jjuran has quit [Read error: Connection reset by peer]
jjuran has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
rustyy has quit [Quit: leaving]
rustyy has joined #osdev
ThinkT510 has quit [Quit: WeeChat 4.2.1]
netbsduser has joined #osdev
ThinkT510 has joined #osdev
rsjw has quit [Quit: leaving]
netbsduser has quit [Ping timeout: 256 seconds]
Matt|home has joined #osdev
ski has joined #osdev
GeDaMo has joined #osdev
netbsduser has joined #osdev
<sham1> Dropping Multiboot? Nice
netbsduser has quit [Ping timeout: 255 seconds]
<kazinsal> yeah my osdev dream goal (which is unlikely to happen, for many reasons) is to have my OS be the core of a combined hardware/software product, and NIHing things when you know the exact set of hardware you're running on is sooooooo much easier
<kazinsal> nothing I do from an osdev perspective is particularly genericizable
<mjg> fucking pitbulls
masoudd_ has quit [Ping timeout: 264 seconds]
<Ermine> heat: with the hw decoder? <--- yes
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
xFCFFDFFFFEFFFAF has joined #osdev
bitoff__ has joined #osdev
bitoff_ has quit [Ping timeout: 256 seconds]
<kof673> pitbulls are not a problem, only nature can overcome nature > In most accounts, Hercules subdues and steals the mares, killing Diomedes and feeding him to his own horses
<Reinhilde> Humans are a force of nature
<kof673> well, he wars lion skin when taking on the lion :D medusa sees her reflection, etc. :D
<kof673> *wears
elastic_dog has quit [Ping timeout: 256 seconds]
xFCFFDFFFFEFFFAF has quit [Read error: Connection reset by peer]
elastic_dog has joined #osdev
netbsduser has joined #osdev
bitoff__ has quit [Read error: Connection reset by peer]
bitoff__ has joined #osdev
theyneversleep has joined #osdev
masoudd_ has joined #osdev
carbonfiber has joined #osdev
masoudd_ is now known as masoudd
joe9 has quit [Quit: leaving]
navi has joined #osdev
heat has joined #osdev
<heat> mjg, mothercrapper the x86 boot process is absolutely INSANE
<heat> from the firmware down to the bootloader and down to the kernel
<heat> linux has like... 4 or 5 different entry points for the various ways it may be booting from
<mjg> you need to relax heet
<mjg> my hello world qemu kernel works every time with just one entry point
<heat> multiboot1 is bae
<sham1> multiboot2 or bust
<sham1> At least MB2 gives you access to the ACPI tables
<heat> multiboot2 is incredibly buggy
<heat> well, the GRUB implementation, which is virtually (if not literally) the only one
<heat> there was a bug some years ago where GRUB just zeroed the RSDP in memory. and bugs where they changed what "image base" meant in the relocatable kernel bits
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<clever> heat_: i figured out what was causing the 4k alignment issues on the pi5, the x86 wine!? :D
<bslsk05> ​forums.raspberrypi.com: Just a moment...
<Ermine> my bad, i didn't change the situation yet...
<kof673> "various ways it may be booting from" yes, > loadlin is a Linux boot loader that runs under 16-bit real-mode DOS
<clever> kof673: i dont have the full details, but ive also ran linux on a treo 650, its normally palmos based
<clever> the cpu lacks an mmu, so any application can just turn irq's off and jump to the linux entry-point
<clever> but, how do you get processes without an mmu? :D
<clever> a vfork() only libc!
<kof673> for "those" and similar, wikipedia says mmx-like and sse-like instructions on arm 5!
<kof673> i mean that is not surprising, just assumed those names would be x86-only
theyneversleep has quit [Remote host closed the connection]
<Ermine> fk noname android devices with borked fastboot
goliath has joined #osdev
bauen1 has joined #osdev
Vercas9 has quit [Ping timeout: 260 seconds]
Vercas9 has joined #osdev
heat has joined #osdev
heat_ has quit [Ping timeout: 240 seconds]
Bergerag has joined #osdev
gildasio has quit [Ping timeout: 260 seconds]
heat has quit [Remote host closed the connection]
heat has joined #osdev
gildasio has joined #osdev
pog has quit [Quit: byee]
xFCFFDFFFFEFFFAF has joined #osdev
gog has joined #osdev
mjg has quit [Ping timeout: 256 seconds]
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
xFCFFDFFFFEFFFAF has quit [Read error: Connection reset by peer]
masoudd_ has joined #osdev
masoudd has quit [Ping timeout: 272 seconds]
<Ermine> mjg@fook.org
<Ermine> fook, can't coonect to this one
<gog> fook
<heat> fook yoo all
<gog> rude
<gog> i'm leaving because you were rude and mean
<Ermine> heat: how dare you to make gog upset
<heat> gog no dont leave no no please no
<gog> i'm jk
<gog> but i am leaving
<gog> but not because i'm upset
* gog sniffles
<heat> wtf i start watching the game and we start losing
<heat> fuckign hell
<Ermine> Stop watching it so they could start winning again
<heat> oh well, stream died anyway
<Ermine> Idk where my boss gets this Chinese tech
<GeDaMo> China
<Ermine> yes but
<heat> i think you're just sad you have to deal with random chinese vendors and their hacked up tech stack with no regard for the GPL
<Ermine> This vendor doesn't even have website or email or someting
<Ermine> Yeah, I'm sad
<heat> i remember seeing a guy go to actual china and ask for the GPL source code
<heat> they eventually gave it to him IIRC
<Ermine> I remember hearing that story
<Ermine> Well, this is what I'm going to say the boss
<Ermine> Either he gets sources or firmware file, and then there's a prospect of getting something interesting out of it, or this tech can go straight to an utilization facility
<GeDaMo> Is that what the kids call landfill these days? :|
<Ermine> There's bunch of noble metals in electronic devices, you don't want them to get lost on landfills
<GeDaMo> e-waste stream then :P
<heat> Ermine, why do you want to mess with that phone's kernel anyway?
Vercas92 has joined #osdev
Vercas9 has quit [Ping timeout: 260 seconds]
Vercas92 is now known as Vercas9
<Ermine> heat: boss is interested in how to get linux on rk3588 devices
xenos1984 has quit [Ping timeout: 272 seconds]
Matt|home has quit [Quit: Leaving]
xenos1984 has joined #osdev
Bergerag has quit [Ping timeout: 268 seconds]
[itchyjunk] has joined #osdev
netbsduser has quit [Ping timeout: 240 seconds]
<geist> huh i think someone linked this here weeks ago and i only know got around to reading it, been sitting on a tab on my browser ever since
<geist> it's really interesting: https://www.zompist.com/yingzi/yingzi.htm
<bslsk05> ​www.zompist.com: Yingzi
<geist> we were discussing different writing systems and i pointed out my complete ignorance of how chinese writing works
gbowne1 has joined #osdev
gbowne1_ has joined #osdev
gbowne1_ has quit [Remote host closed the connection]
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
masoudd_ has quit [Ping timeout: 272 seconds]
netbsduser has joined #osdev
zxrom has joined #osdev
deckard has quit [Quit: l8r]
tjf has joined #osdev
<nikolar> Yeah it's pretty interesting geist isn't it :)
<heat> LANGDEV LANGDEV LANGDEV
<heat> just kidding, langdev sucks
<heat> lets talk about the roman empire
<Ermine> I need to try to build roman empire in hoi4
<heat> i haven't played hoi4 in a good while
<heat> is it still as easy as a few years ago?
<Ermine> probably
<Ermine> I'm still intimidated by the variety
<heat> hoi4 only has variety if you have the 200000 dlcs
<heat> because it's exclusively focus tree based
<Ermine> I have some
<heat> way back when before fuel was a thing you could have an exclusively tank-based army
<heat> i did that with the soviets once, ate the germans ezpz
<heat> i heard the soviets are way more challenging with the new focus tree
<kof673> (from link) > Proto-Indo-European i keep seeing this...is it just code for "we don't know" :D
<Ermine> Oh I guess I don't have that dlc
<heat> well you still get bits of the new focus tree
<heat> that's how it has always worked at least
<geist> kof673: hmm? the name proto indo european?
<heat> you basically get the boring historical bits of the new focus tree, and the DLC gets the non-historical stff
<zid> did someone say PIE
<kof673> yes, i mean if they knew it would have a better name?
<geist> it's from what i remember, it's the common ancestor to a bunch of lanuages, hence why it's called that
<zid> every european language except hungarian and finnish
<geist> yeah but they dot kow it, they only have figured out that a lot of languages derived from some sort of common one
<zid> and also indian languages
<geist> but the language itself is lost
mjg has joined #osdev
<Ermine> Can I kill Stalin and make Bukharin the leader without that DLC?
<heat> probably not
<Ermine> oh
<heat> i dont know how the great purge works anymore
<heat> all i know is that focus trees are like... hilariously big, and have been for a few years
<zid> I've not played hoi4
<heat> they have exponentially expanded that shit, you need google maps to know your way around
<zid> It seemed paradox-complicated but on a much smaller.. game
<Ermine> I'm already scared by Italian tree, and this is tutorial campaign
<zid> like, eu4 is much much more freeform?
<heat> totally
<zid> hoi4 seemed short and limited, idk
<Ermine> Then add division designs and political stuff
<heat> did italy get a rework at some point?
<heat> they had the shittiest tree for a looong time, literally unchanged for who knows how many years since launch
<zid> shitty tree for shitty country? :P
<zid> who cares what talents they get, they're going to lose on both sides
<Ermine> Woah woah there are some free dlcs!
<zid> stellaris is more interesting to me, I have an 'every dlc' pack somewhere, I wonder if there's an achievements emulator..
<heat> ermine play portugal
<Ermine> look, it's hard
<zid> heat has to LIVE there
<heat> https://i.imgur.com/43cMUyo.png wooooooooooah it's exactly like real life
<bslsk05> ​i.imgur.com <no title>
<Ermine> I've bought it in liek 2017
<kof673> context: someone told me "egypt guy" who tries to derive things from there, is really just PIE which is......person who didn't read his books or the modern accepted stuff then lol
<Ermine> and have played for 6hrs
<zid> I have a couple of hours in eu4
<zid> 1828 infact
<Ermine> 2018 even
<heat> wow i haven't played hoi4 for 2 years
<heat> rad
<zid> holy shit stellaris takes a while t load
<zid> hrmph if I click achievements it asks me to log into my paradox account
<heat> zid btw eu5 is going to start in the mid 1300s again
<zid> sweet
<Ermine> And 4hrs of them is from 2 weeks ago when I tried tutorial campaign and Ethiopia pissed me off
<heat> i don't like it, it'll mean the 1300-1500 period will naturally suck ass
<Ermine> btw which ideology Portugal has
<zid> gog stellaris is so broken
<gog> when
<CompanionCube> portugal is non-aligned iirc?
<heat> yeah non-aligned
<nikolar> Mid 1300s?? SERBIAN EMPIRE RAHH
<heat> the most interesting ideology is non-aligned
<heat> you can do soooooooooo much stuff as non-aligned
* heat falls asleep
<gog> hmm
<gog> it's been a minute since i played stellaris tbh
<nikolar> I've played Stellaris last when it still had the old pop system
<zid> nikolar: omg we found a game you've played!?
<nikolar> Lol I've played paradox games
<nikolar> I'm a map gamer
<zid> how much eu4
<heat> stellaris is legitimately boring
<heat> fact.
<zid> stellaris is really chill
<zid> I like just exploring and popping events
<heat> ooooooh space empire!!!!!!!!! fucking nope
<nikolar> zid no clue it wasn't on steam :)
<nikolar> yes heat, space empire
<heat> i have imperator and i know there's a recent movement where everyone's playing it again
<gog> i tend to make friends with the empires around me even if we have serious issues politically
<zid> nikolar: dirty pie-rate?
<gog> just good practice
<zid> I only played so much eu4 cus it had achievements to collect ngl
<nikolar> I was playing imperator a couple of days ago actually
<nikolar> It was even multiplayer
<gog> and usually i'm culturally strong enough to shift their political balance
<gog> unless they're a gestalt consciousness
<gog> i tend to focus on unity early game
<gog> just get as much as i can
<heat> nikolar, do you make a serbian ethno space empire because universe is serbian clay
<Ermine> Why that meme music starts playing in my head when I hear serbia
<nikolar> zid maybe it was :)
<nikolar> heat clearly
<zid> nikolar: if you have base eu4 on steam we can use my dlc list as pitiful as it is, to kill serbia
<zid> together
<heat> zid, btw i can't overstate how many portugal games i've played
<heat> they are legitimately boring
<heat> but it's fun because its portugal
<zid> portugal is boring in eu4, but it has so many achis :(
<heat> i take it the historical route, i'm spain's friend
<heat> there's literally no expansion in europe for me
<geist> oh my i kinda forgot about stellaris
<geist> must... resist
<heat> noooo geist play eu4
<zid> it's hard to expand at all in europe as porto
<geist> honestly if i want to just lose a few hours i'll either start up Oxygen Not Included or Civ 3
<zid> the only time I managed it was in like, 1600 after getting rich first elsewhere
<geist> not really into wargames
<geist> except maybe tabletop miniatures, but then that's a more tangible thing
<heat> zid, Back Then you could early-aggro into spain I think
<heat> without the favors dlc especially
<zid> You always can, but it's barely ever worth it
<zid> better to get tunis, hop to ottoman land, etc
<zid> eat italy after shadow event
<Ermine> you can disable dlc can't you
<zid> yes
<heat> why would you?
<zid> eu4 with just art of war is pretty good
<zid> removes a shit load of useless buttons :p
<heat> i need to get a byz game going
<heat> one of these days
<Ermine> to try older playstyles i guess
<heat> i had one in like 2018
<zid> I should finish that russia game, one year
<heat> but they fucked it with some update
<zid> nikolapdp are you still at BIRTHDAY PARTY
<heat> Ermine, very rarely is it more fun
<Ermine> Well okay
<heat> a DLC-less eu4 game is like being stuck in a desert and slowly dying there
<nikolar> zid you won't believe it but I have almost all of the dlcs on steam
<Ermine> I don't mean disabling dlcs forever
<heat> a DLC-less hoi4 game is like being stuck in a desert and slowly dying there, but in WW2
<Ermine> being stuck in Ethiopia*
<heat> you can get like 5 civ factories in the base focus tree
<zid> nikolar: we should play co-op at some point
<Ermine> Btw should I construct factories/infra if I can get them from focuses?
<heat> yes
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<heat> i mean, *how much* just depends on the country and your industry
<Ermine> well okay
<nikolar> zid sure, I have kind of forgotten how to play the game though lol
<heat> i've always bankrolled enough to get a lot of mil factories and get a nice military equipment pipeline
<heat> with the US you can basically sit tight for 5-6 years just building a lot of civs
<heat> waiting for the moment to strike
<Ermine> wiki says I should invest in coast defense in case of Italy
<nikolar> That's code word for garissoning your ports
<Ermine> kek
<heat> yes, do NOT build coastal forts
<heat> as a general rule don't build forts, but for smaller nations it can totally be worth it
zid` has joined #osdev
<zid`> HYPERVISOR_ERROR :(
<heat> i used it to great effect in my romania game against the soviets
<zid`> I was watering my flowers in animal crossing
<heat> hyperv did a fucky wucky
<geist> a solution for that
<zid`> don't water my flowers!? never.
zid has quit [Ping timeout: 264 seconds]
zid` is now known as zid
<bslsk05> ​steamcommunity.com: Steam Community :: Screenshot
<Ermine> OH
<Ermine> It's so fucking big
<heat> yeah i took moscow too
<heat> romanian was spoken in the red square
<Ermine> Lol
<heat> that's what happens when you ask for moldova
<Ermine> I promise I won't!
<geist> hmm, now i'm trying to remember that moldovia video about spaceships
<geist> and not epic sax guy, that's.... wins the internet
<geist> ah no, molvania: https://youtu.be/Re_1HrfOMZ4
<bslsk05> ​'Zlad! - Elektronik Supersonik (Official Video) [HD REUPLOAD]' by Working Dog Productions (00:03:05)
<zid> serbia is actually the mud country from dilbert
<zid> elbonia
Rubikoid has quit [Remote host closed the connection]
zetef has joined #osdev
<Ermine> heat: did you try playing as Yugoslavia?
<heat> yes
<nikolar> Just bunker up and win
<zid> as who
<nikolar> Yugoslavia
<heat> warcrimes incorporated
<zid> never heard of.. her?
<nikolar> Have you heard of hoi4 zid
<nikolar> It's a WW2 strategy game
<zid> yea but never heard of yugoslavia
<zid> is it where slaves build yugos
<nikolar> No, just people
<zid> they build peopel!?
<nikolar> People built yugos
<Ermine> what about 'serbia strong' campaign?
<nikolar> Which game is that ermine
<Ermine> hoi4
<nikolar> There's no Serbia unfortunately, unless you lose as Yugoslavia lol
<Ermine> That would involve defeating turkey for sure
<geist> that sounds like a turkey solution
<heat> you can release serbia
<heat> i think
<nikolar> Yeah but that sucks, you get the generic tree
<zid> https://www.youtube.com/watch?v=ius_CTA0DUo You need to play this song if you do that
<bslsk05> ​'"Serbia strong" or "Karadzicu lead your serbian" /Karadzicu Vodi Srbe Svoje - Serbian patriotic song' by OBTALION (00:03:38)
<heat> god is a serb
<Ermine> Oh ok
<CompanionCube> nikolar: could always get modern day mod
<Ermine> zid: I saw such campaign timelapse with this song
<nikolar> CompanionCube: yeah that is true
<Ermine> Idr if that was hoi or eu
<nikolar> Or WW1 :)
<zid> And if you play japan you need to play https://www.youtube.com/watch?v=RLzzvxCUiSk
<bslsk05> ​'THE 10 best Evangelion Rebuild Sound Tracks' by Bobby T (00:35:48)
<heat> CompanionCube, modern day mod is so hecking boring holy hell
<heat> 1) play germany
<heat> 2) wait 3 hours clicking a button once every few minutes
<heat> 3) form the EU
<nikolar> Lol
<CompanionCube> heat: i think millenium dawn was slightly better when that was a thing, but then it merged with the other one that was more into realism, which sucked and had less content i think?
<heat> idk i lost track
<heat> they both felt samey to me, but i was never into those mods
<zid> best eu4 mod is just the 10x multiplier on traditions one
<zid> ottomans have 100% CCR, france has 1000% morale, etc
<heat> lol
<nikolar> Prussians have like 1500% discipline
<zid> gl forming prussia
<zid> prussia just vanity, it forms too late
<zid> by the time prussia is formable you've already eaten all of india and half of europe
<nikolar> Yeah fair
<zid> ever done an alien robots game?
<zid> If they occupy a province, they just core it
<nikolar> I haven't
<zid> it's kinda good training for lategame eu4 :P
<zid> manage 80 wars at once with massively overbought armiesetc
<nikolar> Heh yeah makes sense
<heat> geist, how much of the x86 crap bonanza are you mitigating in zircon?
<geist> some of it, but by far not all of it
<geist> got the heavy hitters for at least plain spectre stuff
<heat> yeah i've been lightly reading into some of this stuff and i need to sprinkle some verw's at least :p
<geist> the most annoying by far are toolchain level fixes, like the huge hit it is to make an indirect call
<heat> yeah
<geist> by dumping the BTB. makes a virtual call literally like 100 cycles
<geist> instead of basically free
<geist> as you can imagine that works against C++ pretty hard
<heat> the really big annoying thing is that toolchains don't let you know where you can patch things
<Ermine> seems like android target triplets have android api level in them
<heat> linux's objtool does instruction-level analysis to understand where these things are and let the kernel patch at boot time
<heat> without it, if you build a kernel with rethunks you'll need to take the hit regardless
<geist> you can have indirects go through a helper function and then patch that at boot
<geist> which is what we do
<heat> yeah but it still sucks
<Ermine> Like aarch64-unknown-linux-android24
<geist> so that in the best case it's just bounching through an additional function
<geist> it sucks but a lot less
<Ermine> oh, patching
<geist> really one of the biggest thing that sucks is you have no choice but to build up ridiculous amounts of tables for every cpu and every microarch and have all these patchups based on that
zetef has quit [Ping timeout: 252 seconds]
<heat> wait, where's your __x86_return_thunk?
<geist> dunno, haven't looked at that in years
<heat> right, you're a riscv guy now
<heat> recovering ARM addict :P
<geist> well, that and a lot of the x86 stuff was done by someone else
<geist> at least these sploit level stuff
<geist> i did the basics and then he came in and messed it all up by slowing it down :)
<heat> shots fired
<geist> heh we knew it
<Ermine> Who runs lk on x86 devices anyway?
Left_Turn has joined #osdev
<heat> we were talking about zircon, not lk
<Ermine> ah
<geist> some people do. intel has some internal use for it that i honeslty dont know what
<geist> which is why they posted some x86 patches and occasionally still do
<Ermine> Maybe they're replacing minix in their me...
<geist> nah it's some security thing, that's about all they told me
<geist> probably some sort of equivalent to trusty from android for x86 android or something
netbsduser has quit [Ping timeout: 255 seconds]
<nikolar> geist: Trusty consists of:
<nikolar> A small OS kernel derived from Little Kernel
<geist> yep
<geist> nvidia had a similar thing called tLK
<nikolar> Mystery solved
<heat> hah lk is running in SMM? lovely
<geist> in that case it's probably either an intel project to run a hypervisor (though i dont think so, they have their own little type 2 i see show up on occasion) or its some guest in a hypervisor
<geist> since intel i think doubles down on using virtualization for security bits
<heat> yeah it could be a hypervisor or it could be running in SMM, who knows
<geist> probalby not SMM. isn't SMM intrinsically 16bit only?
<geist> or something like that?
<heat> no
<geist> or can you go to full protected mode in there?
<geist> or i guess you could thunk to it
<heat> you can do whatever you set your mind to
<geist> zombocom!
<heat> unless you set your mind to switching rings, that probably won't work, but i'm not super familiar with how that works
<geist> yeah dunno. SMM is one of those thigs i've never looked at seriously since you can't easily get to it
<geist> i dunno of bochs or qemu fully emulates it either
<heat> qemu does at least
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
<heat> but it's usually part of the firmware
<geist> right
netbsduser has joined #osdev
<heat> but yeah you're probably right. if x86 android still has a semi-conventional UEFI firmware stack, LK will be the hypervisor
spare has joined #osdev
<geist> but then of course how much does x86 android matter outside of an emulator environment
<geist> it did temporarily there when intel was interested in making mobile x86, but they dont seem to be so anymore
<geist> so it may be dead internally
<heat> idk, good question
<heat> it could be that this is not for android at all
<geist> or it's possible it was just some internal testing project or something
<geist> i know at least one particularly large ARM soc vendor uses the hell out of LK for their testing and factory diagnostics on their soc teams
<heat> i think apple uses linux
<heat> It Is Known
<geist> it's a great size for booting up and running lots of test cases on emulation especially, pre-tapeout, where you want to get from 0 to some working code in the shortest amount of time
<geist> but want something bigger than just bare metal
<heat> yep
<heat> UEFI people would USE FUCKING PYTHON AHHHHHHHHHHHHHH
<heat> at least its not the UEFI shell
<geist> someone told me they were running on some emulator thats doing something like 10khz, and they could get to a usable LK environment and running their tests in < 10 minutes
<geist> but if it was booting linux it takes over 2 hours to just get to the point where they can start the test
<heat> lol
<Ermine> Microsoft made VBS thing for windows, so maybe intel follows this
<Ermine> And MS trusty is securekernel.exe
<geist> but yeah i'd be chuffed to hear that LK runs on intel chipset stuff
<geist> but frankly Zephyr is the replacement for LK, in my opinion. if there was another thing out there that most closely does the same thing its that
<geist> it seems fairly close in design and is a real project with multiple people working on it
<heat> hello intel, run onyx for everything, its very good and has zeroo bogz, thank heat
<geist> it checks a lot of the same boxes in terms of getting you a sandbox to start writing code
<Ermine> Btw, heat, Onyx must be a nice line in your CV
<heat> yeah its nice
MiningMarsh has joined #osdev
<heat> i'll just say that if you do it for the CV you'll be dead inside in no time
<geist> +1 agree
<heat> i'm completely dead inside but for unrelated reasons
<geist> there are i'm sure far easier ways to impress people with your CV
<Ermine> I don't do onyx for cv
<geist> AI, webdev, etc is what 95% of them care about anyway. you say you wrote an OS it may be impressive but i can tell you abot 80% of the people out there dont even know what that is
Shaddox404 has joined #osdev
<geist> they assume OS == linux
<geist> or windows, and then have no real concept of kernels/etc
<Shaddox404> Hello!
<geist> it's like saying you have extreme skills in cleaning and diagnosing and building custom carbourators
<Ermine> For my purposes osdev stuff is irrelevant
<geist> it may be fantastic, but most people dont even know what it is
<Ermine> So I do osdev for hobby
<geist> hi Shaddox404
<gog> hi
<Ermine> In systems programming area the most useful line would be ability to write OPTIMAL stuff for linux, making it parallel, etc
<gog> i'm a web developer
<gog> i'm sorry
<geist> dont be. it's what people want
* geist pets gog
* gog prr
<Ermine> And probably GPGPU stuff
<Shaddox404> Question: Why are the front end of OSes not that well done? I mean i have seen that there are "hacks" to both Windows and Linux desktop envs. Is there a reason why there isnt a less "hacky" approach?
<heat> onyx engineer job posting
<heat> requirement: - be gog
<heat> we want gog
<geist> not sure i agree with the premise of your question Shaddox404
<geist> what do you mean 'not well done'?
<gog> as in they're too rare
<heat> Ermine, i mean that depends on what you call systems programming honestly
<gog> bleeding in the middle
<Shaddox404> I mean, why do they employ a "hacky" approach to get, say a variant of blur in the UI... Why the hacky approach for that?
<heat> what's a hacky approach there
<gog> in modern windows? they don't. they have proper compositing now
<gog> xorg has compositing too
<gog> wayland always did
<geist> yep
<Shaddox404> I'm sorry, I'm rying to explain my best. I have seen a few places (last I saw was in KDE Plasma) where some of the stuff for window related things are called "hacks"
<Shaddox404> *trying
<geist> well, they're probably just referring to the fact that nothing is perfect
<geist> trying to bolt on newer things onto older stuff tends to require some hackery. but then it depends on the details
<gog> perfect is the enemy of good anyway
<heat> yeah a desktop is incredibly hard to get right
<geist> but thats just how things are in most areas of computer programming
<geist> you cant always get it right the first time and it's very hard to start over and do it right
<Ermine> Linux tries to do that for like 25 years
<geist> so sometimes you have to accept that you can't do something optimally, thus you 'hack' it in
<heat> lets say i use opengl 4 for my WM. your GPU shits the bed and only works with the opengl 2 codepaths. I'll add a hack and you can toggle that if your WM is fucked
<bslsk05> ​phabricator.kde.org: ⚙ D21153 [Notifications KCM] Hack scroll bar not crashing
<geist> eventually it gets bad enough, and a new project starts up to reimplement everything in a modern way (see, say wayland vs X) or (windows 10 compositor vs whatever was before)
<heat> Shaddox404, yeah but >Actual bug was addressed :)
<Ermine> It's about graphics, and this is the hardest stuff in osdev
<Shaddox404> So hacks here are like workarounds created because there is an issue related to QT, so its a temporary fix?
<heat> Ermine, oh absolutely not the hardest bit is the kernel
<heat> i am not biased not one bit nuh uh
<Ermine> What is the hardest then?
<heat> the kernel
<gog> well if you look at commentary, they didn't end up using the hack
<gog> the title of the discussion is misleading
<geist> getting the energy to stick with it every time
<Shaddox404> Yes yes, but i want to know the context...
<heat> the context for what?
<Ermine> Also, Qt is the hell of the framework
<Shaddox404> of the term "hack" being used here
<gog> the context is in the code
<geist> well in this case it was a workaround for some bug in lower layer code, and thus was a 'hack' and probably intended to be temporary
<gog> and it was never merged
<geist> but it didn't get taken because the lower layer code was fixed
<heat> hack: fixing something in a incorrect/unclean way such that it fixes the bug but forces you to take a shower
<geist> and thus wasn't needed
<geist> yah
<Shaddox404> Ahh i see
[itchyjunk] has quit [Ping timeout: 260 seconds]
<heat> the linux kernel also has hacks
<gog> this is all very normal programming things
<heat> it's actually *full* of hacks
<Shaddox404> So when parts of it are rewritten in Rust, will those hacks be gone?
<heat> lmao
<heat> no
<Ermine> Also hw is cursed sometimes
<gog> a lot of bugs like this come from interoperating with other code. rust doesn't fix that problem, it just makes certain limtied guarantees about safety of memory accesses
<Shaddox404> well, for starts, Nvidia hardware and linux are like oil and water
<heat> the desktop is particularly annoying because most other components and layers are entirely blackboxes WRT to the WM
[itchyjunk] has joined #osdev
<gog> really? i have a dual-gpu laptop with nvidia and amd and they do work together decently
<heat> the GPU drivers are black boxes, the desktop apps are black boxes, and people expect things to just work
<Ermine> OPTIMUS
<Ermine> because OPTIMAL
<gog> yes
<heat> mjg loves nvidia OPTIMUS
<gog> PESSIMUS
<Ermine> AMD PESSIMUS
<gog> anyhow rust doesn't fix any of this really
<heat> hey google, how do you say crapper in latin
<gog> it just makes certain errors with memory accesses less likely
<Shaddox404> Oh I had a lot of issues when trying to run linux on a GTX 1060 laptop that i previously had
<gog> yeah it's linux
<gog> linux has issues with lots of things
<gog> i've been using linux for 20 years
<heat> https://i.imgur.com/3u28LwH.png CRAPPER IT IS
<bslsk05> ​i.imgur.com <no title>
<gog> it's so much better than it was
<gog> idk how long you've been using linux but you have no idea
<gog> i can run windows games nearly flawlessly on linux now
<heat> to be fair it's still crap and i wouldn't trust anyone non-technical to use it
<gog> even 10 years ago this was tricky and often didn't work well
<Shaddox404> Its been 1 year since I shifted to Linux
<gog> yeah
<Ermine> I was surprised when hoi4 run almost without lags on my intel integrated graphics
<Shaddox404> Thank Valve ngl, without the Steamdeck, the wine/proton development would have not progressed as much
<gog> no, without wine proton wouldn't exist
<heat> how would i explain to my cousin that his game doesn't work because glibc removed the sysv symbol hash table and battleeye has a stroke because of that
<gog> don't get things backwards. valve leveraged literal decades of man hours that went into wine
<gog> it progressed quickly because of changes in the technology stack that large companies invested in sure
<heat> woman hours where
<gog> but only after it proved to be a serious platform
<Shaddox404> Oh yea, definitely, props to Wine for that
<Ermine> heat: I've tried to scare my sister by telling that I'll install linux and her games wouldn't work
<gog> my wife uses linux sometimes and it's fine
<Shaddox404> I remember that in 2016-2017 when i was still learning about linux, it supported games upto Windows XP only
<heat> threatening to install linux was an NKVD torture method
<gog> lmao
<Shaddox404> NKVD?
<Ermine> lmao
<gog> in soviet russia, kernel boots you!
<Shaddox404> lol
<Ermine> Yeah, we commit warcrimes towards each other from time to time
<Ermine> Anyway, there are no cinematics in RTW and needed winetricks are borked
<heat> as long as medieval 2 works, i'm fine with that
<gog> baldur's gate threeeeeeee
<gog> :3
<heat> RTW has really aged over the last 20 years
<Ermine> Everything else works in RTW
<gog> i should play it's been a minute
<heat> i literally can't play it, it feels very rudimentary
<Ermine> It even did stop crashing in tutorial campaign
<Ermine> But Rise of Nations degraded somewhat. It reacts slowly to mouse clicks...
<Shaddox404> gog Have you played Descent?
<gog> no
<Shaddox404> Alright
<Ermine> Need to try Genshin Impact, people say it now works under linux
<heat> hey gog you're an old person
<heat> where were you when franz ferdinand was shot
<gog> i was not in belgrade
<gog> i mean sarajevo
<gog> i was NOT in sarajevo
<heat> you were definitely not named gavrilo
<gog> no my name is gog
<Ermine> Gog is to Icelandic to be named gavrilo
<Ermine> gog*
<Shaddox404> or just Good Old Games
<Shaddox404> by CD Projeckt Red
<Shaddox404> Yea, I mean i asked because, i thought you'd be into retro and 90's games
<gog> not especially
Turn_Left has joined #osdev
<Ermine> gzdoom works!!!
xenos1984 has quit [Read error: Connection reset by peer]
<heat> Ermine, does any AC freak out with musl?
<Ermine> ?
<heat> anti-cheat
<geist> heh i thought you meant EFLAGS.AC
<Ermine> Wine doesn't work with musl afaik
<Ermine> because multilib
<Ermine> So idk
<heat> lovely
<Ermine> I heard that it could work if they ported their stuff to PE format
<Ermine> But I'm not so sure now
Left_Turn has quit [Ping timeout: 256 seconds]
<Ermine> So guess why I chose opensuse and not alpine for my laptop
<Shaddox404> Ooooh I too use OpenSUSE
<heat> ah yes 2006, 10 years ago
<Ermine> meme from 2016
<Shaddox404> OpenSUSE for me feels more familiar. And YaST is a boon for me. Plus, its a solid distro imo
<heat> opensuse is a remarkably hipster choice btw
<Ermine> so far it's the least annoying distro among glibc-based distros
<Ermine> imo
<Shaddox404> For me it just works
<heat> i like fedora and arch
<Shaddox404> unlike Ubuntu which had firefox snap
<Ermine> dnf is slooooooooooooooooooooooooooooooooooooow
<Ermine> and fedora cosplays windows while updating
<Ermine> But apparently it has larger package base
<Ermine> So I have it on my desktop anyway
<Shaddox404> Ermine, there are a few env vars which can improve the performance of Zypper, multi-threading and multi-downloads from what i can recall
<Ermine> zypper is tolerable
<Shaddox404> There are some experiments enabled via environment variables you might try ...
<Shaddox404> Download related:
<Shaddox404> Turn off multicurl (metalink and zsync) and fall back to plain libcurl
<Shaddox404> ZYPP_MULTICURL=0
<Shaddox404> Download related:
<Shaddox404> Turn on the new multi-threaded backend (experimental)
<Shaddox404> ZYPP_MEDIANETWORK=1
<Shaddox404> Install related:
<Shaddox404> Commit strategy where all RPM operations are executed in a single transaction
<Shaddox404> ZYPP_SINGLE_RPMTRANS=1
<heat> hey chill with the spam
<Shaddox404> Upvote
<Shaddox404> 17
<Shaddox404> Downvote
<Shaddox404> Reply
<heat> no i won't upvote
<Shaddox404> reply
<heat> downvote
<Shaddox404> Share
<Shaddox404> Share
<heat> downvote
<Ermine> Shaddox404: not like I've asked for an advice
<heat> downvote
<heat> downvote
<Ermine> downvote
<Ermine> report
<Shaddox404> Sorry, i did not know if that would send as multiple lines
<Ermine> "For 3+ LoC, use a pastebin", the topic says
<Shaddox404> Yes yes, my bad. I should have used that
<geist> i always get nervous with irccloud because it'll auto pastebin for you, but to do that you have to paste in the multiline thing
<geist> and then just hope it works
<geist> it feels icky but then it work
<bslsk05> ​www.reddit.com: Blocked
<heat> yay dnf wins pacman wins
<Ermine> how come
<Ermine> I usually fall asleep while it updates repos
Shaddox404 has quit [Quit: User Offline.]
<heat> out of all the package managers i've used, dnf is like... okay
<gog> when pacman is rewritten in rust will it finally be as slow as apt
<heat> pacman - apk - dnf - apt speed wise, with the freebsd and netbsd package manager somewhere in the middle
<heat> no gog, because of zero cost abstractions
<gog> ah right
<gog> the magic bullshit
<gog> thank you
<heat> and fearless threading
<gog> NO FEAR
<nikolar> FEARLESS CONCURRENCY
<heat> i want a package manager written in java
<heat> with oop patterns
<gog> PackageExtractorFactoryBuilder
<heat> singleton
<heat> singletons are living proof that if you cleverly rename something they'll eat it all up
<Ermine> what's about am and pm?
<Ermine> I believe there's a package manager written in java
<heat> globals are bad and stupid, singletons are a genius and integral part of building software using industry-proven OOP patterns
<nikolar> That's just how it goes heat
xenos1984 has joined #osdev
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
<Ermine> heat: fk you've opened my eyes
<Ermine> Ah, gradle is definitely java and it can into Maven
<Ermine> maven central*
<Ermine> My friend made an abstact class from which all classes in his project was derived. And I've told him to name factory of these objects Iluvatar
Turn_Left has quit [Read error: Connection reset by peer]
elastic_dog has quit [Ping timeout: 256 seconds]
<Ermine> Back to android: seems like they don't use modules much