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
<gog> i meant björk
<heat> is that a new dua lipa song
<gog> yes
<childlikempress> i wish i were a dua lipa song
<kof673> bad gog :/ "all there ever was, is, or ever shall be" -- nature god/goddess/whoever
<gog> what
<kof673> it was all "nature" even if computers are a step more "abstracted"
<gog> oh
<kof673> thinking sand or whatever lol
<gog> two words: butlerian jihad
<gog> we must destroy the thinking machines before they destroy us
voider has quit [Remote host closed the connection]
jjuran_ has joined #osdev
rom4ik3 has joined #osdev
Ameisen_ has joined #osdev
sjs has quit [Killed (molybdenum.libera.chat (Nickname regained by services))]
chibill has quit [Ping timeout: 252 seconds]
Ameisen has quit [Ping timeout: 252 seconds]
kristinam has quit [Ping timeout: 252 seconds]
janemba has quit [Ping timeout: 252 seconds]
pg12 has quit [Ping timeout: 252 seconds]
tjf has quit [Ping timeout: 252 seconds]
Brnocrist has quit [Ping timeout: 252 seconds]
eck has quit [Ping timeout: 252 seconds]
kanzure has quit [Ping timeout: 252 seconds]
PapaFrog has quit [Ping timeout: 252 seconds]
Stary has quit [Ping timeout: 252 seconds]
particleflux has quit [Ping timeout: 252 seconds]
sjs has joined #osdev
pg12_ has joined #osdev
rom4ik has quit [Read error: Connection reset by peer]
rom4ik3 is now known as rom4ik
wgrant_ has quit [Ping timeout: 252 seconds]
jjuran has quit [Ping timeout: 252 seconds]
bliminse has quit [Ping timeout: 252 seconds]
simpl_e has quit [Ping timeout: 252 seconds]
jjuran_ is now known as jjuran
bliminse has joined #osdev
Brnocrist has joined #osdev
particleflux has joined #osdev
Stary has joined #osdev
wgrant_ has joined #osdev
eck has joined #osdev
simpl_e has joined #osdev
kanzure has joined #osdev
PapaFrog has joined #osdev
chibill has joined #osdev
pg12_ is now known as pg12
heat has quit [Quit: Client closed]
heat has joined #osdev
tjf has joined #osdev
janemba has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
gog has quit [Quit: byee]
linearcannon has joined #osdev
MiningMarsh has joined #osdev
netbsduser has joined #osdev
linearcannon has quit [Ping timeout: 268 seconds]
netbsduser has quit [Ping timeout: 240 seconds]
mavhq has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
mavhq has joined #osdev
edr has quit [Quit: Leaving]
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
heat has quit [Quit: Client closed]
smeso has quit [Quit: smeso]
smeso has joined #osdev
netbsduser has joined #osdev
<geist> heat: RUUUUST
Matt|home has quit [Remote host closed the connection]
netbsduser has quit [Ping timeout: 252 seconds]
childlikempress is now known as Mondenkind
netbsduser has joined #osdev
gorgonical has quit [Ping timeout: 260 seconds]
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
masoudd has joined #osdev
bgs has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
zetef has joined #osdev
zxrom has quit [Quit: Leaving]
goliath has joined #osdev
goliath has quit [Client Quit]
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
bgs has quit [Remote host closed the connection]
xenos1984 has quit [Quit: Leaving.]
goliath has joined #osdev
night has quit [Quit: goodbye]
night has joined #osdev
netbsduser has joined #osdev
carbonfiber has joined #osdev
zetef has quit [Ping timeout: 255 seconds]
netbsduser has quit [Ping timeout: 246 seconds]
vdamewood has joined #osdev
GeDaMo has joined #osdev
zetef has joined #osdev
agent3142 has joined #osdev
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
gbowne1 has quit [Read error: Connection reset by peer]
zetef has quit [Ping timeout: 240 seconds]
netbsduser has joined #osdev
<bslsk05> ​cliffle.com: The server chose violence - Cliffle
zetef has joined #osdev
agent3142 has quit [Ping timeout: 240 seconds]
zetef has quit [Ping timeout: 256 seconds]
netbsduser has quit [Ping timeout: 252 seconds]
agent3142 has joined #osdev
<GeDaMo> Nice :)
<vdamewood> beep
<kof673> "we keep finding operations that really can’t fail. Setting a GPIO pin, for example" # yeah, but have you ever set a GPIO pin on <insert substance here> (across a network for the metaphor)
<kof673> that is not to nitpick that example, but a good reason why everything might actually "really can fail"
<kof673> if something is "network transparent" failure is always an option surely
<GeDaMo> Wouldn't that be the network failing, not the pin setting?
<nortti> hopefully setting a GPIO pin is not network transparent
netbsduser has joined #osdev
* kof673 sees plan9 glenda shed a single tear
<kof673> yes network, but should the caller know something goes across a network or not?
<kof673> well, virtual device then for another case
<kof673> a simulated GPIO pin done in software
<kof673> i'm still reading, have not decided yet on the general idea
<kof673> for a vague handwavey analogy, foo(struct thing * t, size_t i) foo() validates each record of t[]. should it fail at the first problem and e.g. return the failing index and reason? or continue checking the other elements, and e.g. return/set a bit array of failing elements and reasons somewhere as well? this i think is more what should the caller know, or should they have to call foo() again and again potentially to se
<kof673> e which records are actually invalid. and a question of how resource-intensive it is to check a record perhaps. is the information useless if any part is bad, or can the caller still use the "good" elements?
<kof673> i don't know, not accusing the link of doing so, just hard for me to decide on a one-size-fits-all rule
zetef has joined #osdev
leon_ is now known as leon
<kof673> or, a compiler finds a syntax error. same deal, fail immediately, or keep going, assuming that possible further error messages are more useful than not?
<kof673> there is that rfc saying too "be liberal in what you accept, conservative in what you send"
<mjg> that really sucks, does not it
netbsduser has quit [Ping timeout: 252 seconds]
<mjg> but then again, from interop perspective it is probably unavoidable
divine has quit [Ping timeout: 255 seconds]
air has quit [Ping timeout: 240 seconds]
<nortti> while it's pretty hard to retrofit strictness onto deployed protocols, I do want to say newer protocols tend to be quite strict from the beginning
<mjg> t does not matter how strict the protocol is
agent3142 has quit [Quit: WeeChat 4.1.1]
<mjg> if the leading implementation (for example showed down the throat by microsoft) is doing stupid shit, that's what you have to support
<nortti> true, but strict protocols at least admit strict implementations
gog has joined #osdev
<kof673> agree with both; it seems double-sided to me: interop goes up if you are flexible, but then you are "encouraging bad behavior" arguably i.e. flaky things never get fixed, because they work "well enough"
navi has joined #osdev
netbsduser has joined #osdev
air has joined #osdev
bitoff has quit [Ping timeout: 260 seconds]
op has joined #osdev
divine has joined #osdev
masoudd has quit [Remote host closed the connection]
xenos1984 has joined #osdev
pog has joined #osdev
gog has quit [Ping timeout: 255 seconds]
SGautam has joined #osdev
netbsduser has quit [Ping timeout: 240 seconds]
<zid> Is it linguistics time yet?
<zid> calque is a loan-word and loan-word is a calque.
<GeDaMo> zid: been reading Reddit? :P
<zid> ofc
<zid> GeDaMo what weird puzzle today
<GeDaMo> Was it?
<zid> huh
<zid> I don't know any weird puzzles called was it
<zid> I guess I'll just do squardle and wordle until you find me something
* vdamewood plays Squirtle
<zid> There's a squirdle
<zid> where you have to guess a pokerman
Gooberpatrol_66 has quit [Remote host closed the connection]
<zid> but I only know like 2 gens so I can't really play it
<zid> at least on default settings
zetef has quit [Ping timeout: 252 seconds]
op has quit [Remote host closed the connection]
op has joined #osdev
op has quit [Remote host closed the connection]
theyneversleep has joined #osdev
zetef has joined #osdev
bauen1 has quit [Ping timeout: 255 seconds]
<bslsk05> ​bazingle.wook.wtf: Bazingle
<nikolapdp> zid it's always linguistics time
zetef has quit [Ping timeout: 260 seconds]
<zid> good news, whatever the answer is, it isn't in my dictionary, I checked
<zid> oh, fuck you GeDaMo
<GeDaMo> :D
<GeDaMo> That was my response too :P
masoudd has joined #osdev
<nikolapdp> lol
netbsduser has joined #osdev
bauen1 has joined #osdev
edr has joined #osdev
heat has joined #osdev
heat has quit [Ping timeout: 250 seconds]
SGautam has quit [Quit: Connection closed for inactivity]
DaftMouse has joined #osdev
heat has joined #osdev
DaftMouse has quit [Remote host closed the connection]
pog is now known as gog
stolen has joined #osdev
goliath has quit [Quit: SIGSEGV]
scaleww has joined #osdev
zetef has joined #osdev
spareproject has joined #osdev
theyneversleep has quit [Read error: Connection reset by peer]
zetef has quit [Ping timeout: 252 seconds]
spareproject has quit [Remote host closed the connection]
op has joined #osdev
Left_Turn has joined #osdev
dude12312414 has joined #osdev
op has quit [Ping timeout: 268 seconds]
dude12312414 has quit [Remote host closed the connection]
bgs has joined #osdev
spare has joined #osdev
spare has quit [Ping timeout: 255 seconds]
theyneversleep has joined #osdev
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
theyneversleep has quit [Remote host closed the connection]
op has joined #osdev
op has quit [Remote host closed the connection]
<heat> bazingle
<gog> rust
<zid> asp.net
<gog> shut up
<mjg> web.dev
<zid> It all returns to nothing, it just keeps tumbling down, tumbling down, tumbling down
<gog> i'm not a webdev, i'm a temporarily embarassed osdev
<zid> gog have you considered letting the boundary of your psyche erode and becoming one with the sea of consciousness?
<zid> dirac would bepleased
<gog> i just need a heroic dose of psilocybin
<zid> or a spear of longinus
<gog> is this an anime reference
<gog> is this EVANGELION
<zid> ofc it's evanlgeion :P
<gog> mmm LCL
<zid> I only infact, speak in advanced evangelion memes
<zid> heat's over here playing power rangers and shouting AT FIELD! at other kids, I am figuring out how to compress the soul of my dead wife into a point mass
<gog> gendo ikari is a weird fucken dude
<gog> i guess every character in that show is dealing with extreme trauma
<zid> He misses his wife, she was nice to him even though he's a dickhead
<zid> yui: "I can fix him!"
<zid> yea sure you can, get in the robot
theyneversleep has joined #osdev
<heat> i feel sick
<heat> i've just argued *for* mouse support inclusion in OVMF
<heat> what's wrong with me
<zid> is it nice and laggy
<zid> like every single mouse impl in any bios I've ever used
<heat> probably
<zid> perfect
linearcannon has joined #osdev
<zid> 4Hz is a lovely way to use a mouse
<heat> tbh i don't understand why firmware mouses suck
<zid> just the crappy software redraw speed I think
<zid> 5fps -> 200ms of input lag and choppy as fuck
<heat> mine feels floaty and the sensitivity was clearly designed for the touchpad :D
<zid> and yea, probably wrong sensitivity
<zid> all combined is a thoroughly miserable experience
<zid> GOP should add hw mouse, rather than ovmf adding an impl for a shitty software one
Turn_Left has joined #osdev
<heat> god yes
<heat> GOP should add opengl too
<heat> typedef struct gl_proto { void *(*GetProcAddress)(CONST CHAR16 *Name, struct gl_proto *Protocol); } EFI_OPENGL_PROTOCOL;
<heat> hire me intel
Left_Turn has quit [Ping timeout: 255 seconds]
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
<pounce> u really want to work in beaverton
<heat> sounds like a fake name
<pounce> i wish it were
<heat> do you work in beaverton
<pounce> ok i guess it's Hillsboro, even further from beaverton
<pounce> heat: no, intel
<heat> you work at intel now?
<pounce> no!!
<pounce> <heat> hire me intel
<heat> i remember you used to have a facebook/ cloak
<gog> me too
<pounce> but it's on like, the boring side of portland
<heat> yeah i mean
<gog> beaverton was the inspiration for lumberton from david lynch's blue velvet
<heat> one has to assume all those corporate cities are boring as fuck
<pounce> i worked at facebook but i quit because i don't like making money
<heat> based
<zid> good
<zid> I recommend getting really interested in buying other people computer parts
<heat> i'd shoot myself if i had to live in fucking menlo park
<pounce> no it was seattle
<pounce> but if i liked computer parts it would have been a good place to stay
<heat> or fucking mountain view
<heat> or belevue or whtaever the fuck that is
<pounce> facebook sent me a $40,000 desktop with NUMA by accident
<heat> cuz 1) expensive 2) nerds
<heat> 3) literally nothing else
<zid> $40k and they couldn't even buy ram that was local to you? rude
<pounce> oh, i didn't have to do bellevue thank goodness
<zid> "It's got some ram, but it's in a different postal area"
<pounce> more uniform than that :p
<zid> My last desktop was numa cus I mismatched the dimms
<zid> facebook equally cheap
<heat> ah yes im glad to have a break from my facebook job, now let me step into my Facebook Powered bus to go down to my local Facebook McDonald's and have a McFacebook
<pounce> TRUE
<pounce> i went to Menlo park once
<heat> it's sure good to live in Facebook Park
<pounce> it was so lame
<zid> don't forget to drink your verification can so that the bus lets you off, heat
<pounce> i had to take the facebook bus
<pounce> to go across the bay
<pounce> to go to the other facebook
<pounce> and they didn't even have anybody in the offices, it was just empty limnal tech office space as far as the eye can see
<FireFly> why did the pounce cross the bay? to get to the other facebook...
<pounce> they had more turkeys than people!!
<heat> facebook backrooms
<zid> and now they're begging people to go back to the offices so that their billion dollar campuses weren't a total waste of money
<pounce> inshallah my old coworkers escape the facebook backrooms
<zid> that only served to make local property moguls rich
<heat> is facebook bad now?
<heat> as far as i know their benefits and pay were the best among big tech
<heat> and you weren't uber-harassed
<heat> wait no, not uber, tesla and spacex
<pounce> lack of harassment was nice, probably better than foss haha 🥹
<heat> do you work for a foss company now?
<heat> did you fill those ginormous canonical interview questionnaires
<pounce> no im in school
<heat> "were you a good math student in 9th grade? How good? If so, why?"
<bslsk05> ​<pounce> @wxcafe> you have to peak in high school to work at canonicalyeah sounds about right
<heat> "where do you think canonical should expand for the next 10 years?"
<heat> i'm so happy things haven't changed
<zid> "Wherever the tendrils locate food sources, else the basilisk will be displeased"
<pounce> pspspspspsps
<zid> tell your cat I said pspspsps
<heat> ok
<pounce> im trying to summon puck
<heat> he said
<pounce> bc i don't know why bslsk05 didn't render the newlines
<zid> because
<zid> newlines?
<zid> like, what do you render them.. as?
<pounce> ␤
<zid> my cat says "I have never been fed or let out in my ENTIRE LIFE, you utter cretin"
<heat> netherlands
<heat> my cat usually says 🟢
<heat> because he's just green
<heat> fucking green
<zid> what is that
<heat> woodland tones are strong with that motherfucker
<zid> it appears to be some kind of circle
<heat> it's a green circle zid
<zid> oh I don't have green
<zid> test 🟢
<zid> there, now it'sgreen
<heat> emojis are good
<pounce> im doing mathematics for my grad degree rn
<zid> sucker
<pounce> but i don't think i was good enough in high school for canonical
<heat> top 10 inventions ever
<gog> meow?
<heat> what kind of maths pounce
<bslsk05> ​redirect -> www.reddit.com <no title>
<heat> is it one of those maths that feel like a total scam?
<heat> like abstract algebra
<puck> pounce: meow
<pounce> wait, let me send the icelandic title
<puck> pounce: newline rendering is Weird
<puck> bad HTML processing
<pounce> heat: here's my thesis topic: https://0x0.st/XikY.png
<heat> what does that mean? I don't read viking
<heat> why are you in iceland? are you gog?
<pounce> i am gog, you found me out
<pounce> and i love rust
<gog> yes
<gog> i used to work at facebook
<gog> you know my secret
<zid> GREAT PÖT
<gog> but yes pounce and i are irl besties now
<zid> a student is reading a text in class and starts off “Goethe was a great poet” whereupon the teacher interrupts him and says “oe is pronounced as ö”. The kid starts again and says ”Göte was a great pöt”
<zid> never not going to think of this every time I see o-dots
<sham1> ööö
<heat> pounce seriously what does that mean
<heat> google translate cant give me an accurate translation
<pounce> lmao
<heat> OR that's nonsense
<heat> "Correspondence (At) trinity in Ögda"
<pounce> the english translation is "interactions between (co)monads in Agda"
<pounce> basically im doing formalized mathematics about programming languages... or programming languages that formalize mathematics. both ways work
zxrom has joined #osdev
<heat> sounds like computer science
<heat> cuz i didn't get half of it
<zid> sounds like we're being taken for absolute fools
<zid> but yea, SYMOLIC FORMALISM
<heat> the TAX PAYER is paying for this
<heat> https://i.imgur.com/CE3utRd.png we're so fucked
<bslsk05> ​i.imgur.com <no title>
<pounce> gog: do you like my translation i worked really hard on it 🥺
<heat> https://i.imgur.com/x6UuBJW.png i have to say my district is way above the rest of the country and this is because i fucking carry the whole country
<bslsk05> ​i.imgur.com <no title>
<pounce> mister president, we have found the OS dev
<heat> we found THE kernel developer
linear_cannon has joined #osdev
linearcannon has quit [Ping timeout: 268 seconds]
<gog> pounce: it's so good that i don't know what it means because your icelandic is way better than mine
<heat> both of your icelandics are way better than mine because i do not know iceland at all
<heat> icelandic
<heat> ice language
<pounce> you know that's basically what it's called in chinese
bauen1 has quit [Ping timeout: 252 seconds]
scaleww has quit [Quit: Leaving]
<pounce> 冰島語
<heat> how many languages do you know
<pounce> i know 1 and i suck at many
stolen has quit [Quit: Connection closed for inactivity]
<zid> perfect
<zid> being bilingual just means you suck at two languages equally
<zid> pounce: hippo language?
<zid> oh, that's island not horse
<zid> my font is teeeny
<gog> i'm going home fuck this
gog has quit [Quit: Konversation terminated!]
<zid> Home to LA
<zid> *earthworm jim music*
xenos1984 has quit [Ping timeout: 268 seconds]
<nikolapdp> zid my case arrived
<zid> so literally the least important part first?rip
<zid> You can get PC cases delivered in under 20 mins here
<zid> phone 202588, PREMIER PIZZA AND BEST KEBAB, ask for an extra large with jalapeno and mushroom, comes shipped inside a complementary PC case
dude12312414 has joined #osdev
<nikolapdp> why didn't i think of that
dude12312414 has quit [Remote host closed the connection]
xenos1984 has joined #osdev
<zid> If you get a 4090 or something, you need multiple pizzas now though
<nikolapdp> it's not as bad as 4090 luckily
gog has joined #osdev
<geist> gog has arrived
<zid> they were here before, so it's revived
bgs has quit [Ping timeout: 240 seconds]
<gog> hi
<nikolapdp> hello gog
<gog> hi
<zid> hate it when ur drinkign acetone like normal and then you start coughing
<GeDaMo> Uh ... :|
<nikolapdp> well turn your head away, duh
<zid> you don't expect it
<zid> you just get a bad fume hit and do a huge cough
<gog> lmao
<geist> well gog had a fuck this moment
<gog> oh i meant "fuck this" as in work
<gog> it was 17:00 time to go
<geist> yah, but at least that meant you didn't go drive off a bridge somewhere
<gog> yet
<geist> or jump into a volcano
<geist> there's a bit of a caldera near grindavik you can jump into if the need arose
<gog> that's too far away
<gog> also it's not a fast death
<gog> no thanks
<gog> well, it's fast, but not immediate
<geist> these are important details taught in icelandic schools
<geist> how to heroically jump into a volcano
<geist> proper technique
<gog> yes
bnchs__ has joined #osdev
Cindy has quit [Killed (NickServ (GHOST command used by bnchs__))]
bnchs__ is now known as Cindy
masoudd has quit [Quit: Leaving]
<heat>  hmm
<heat> for how many seconds are you alive before the lava kills you
<heat> i would assume it's almost immediate, maybe 1 second
masoudd has joined #osdev
<heat> basically enough for it to chew through your brain
bauen1 has joined #osdev
masoudd has quit [Remote host closed the connection]
masoudd has joined #osdev
masoudd_ has joined #osdev
masoudd has quit [Killed (NickServ (GHOST command used by masoudd_))]
masoudd_ is now known as masoudd
<vin> Hi, does anyone know how next-page hardware prefetchers on Intel work? I might have asked this question earlier here
<heat> they prefetch the next page
<heat> follow me for more cpu tips and tricks
<vin> while that is funny heat, I am looking for specifics. How is it triggered? How aggressive is the prefetching? etc
<vin> Does all processors have it? How do I check if mine supports TLB prefill
<vin> I couldn't find anything in Intel's Sofware Developement Manual
<zid> It will vary per microarch
<zid> and isn't something intel will document outside of the *optimization* manual, if at all
<zid> you'll need to try make a clever benchmark that measures it
Gooberpatrol66 has joined #osdev
<zid> (the reason you won't find info is because it's not particularly useful info, btw)
<vin> I scoured through the manual and didn't find anything of relevance other than a intel forum discussion https://community.intel.com/t5/Software-Tuning-Performance/Is-next-page-prefetcher-available-on-Haswell-microarchitecture/td-p/1100229
<bslsk05> ​community.intel.com: Is next-page prefetcher available on Haswell microarchitecture? - Intel Community
<vin> Regarding its usefullnes, I think it depends on the user.
<rsjw> maybe there's some info in patents
linear_cannon has quit [Ping timeout: 240 seconds]
<vin> rsjw: good idea. A quick search seem to only result in cache line prefetchers though https://patents.google.com/?q=(next+%22page%22+prefetcher+intel)&oq=next+%22page%22+prefetcher+intel
<bslsk05> ​patents.google.com: Google Patents
linear_cannon has joined #osdev
goliath has joined #osdev
gbowne1 has joined #osdev
FreeFull has quit []
<vin> TIL L1 prefetchers can cross page boundaries and can trigger page walks on TLB miss!!
heat has quit [Ping timeout: 250 seconds]
frkzoid has quit [Ping timeout: 268 seconds]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
heat has joined #osdev
heat16 has joined #osdev
<heat16> guess im 16-bit today
<zid> I thought that was your age
<heat16> im 13
<heat16> yall wanna play
<heat16> uh
<heat16> fortnite
<Mondenkind> psh
<Mondenkind> fortnite is for 7-year-olds
heat has quit [Ping timeout: 250 seconds]
<Mondenkind> this channel is for _mature_ people
<zid> sorry too old
<heat16> define mature
<Mondenkind> if you insist
heat has joined #osdev
<heat> this client is so fucked sometimes
* Mondenkind #define mature
<heat> like porn-site category mature?
<heat> 7 year olds can be mature and based
<mjg> cats are based and red pilled
<nikolapdp> heat16: hello fellow 16 bit
<heat> heat16 is no longer with us
<nikolapdp> rip
heat16 has quit [Ping timeout: 250 seconds]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<kof673> what do people think about various libm?
<Mondenkind> core-math best libm
heat has quit [Ping timeout: 250 seconds]
heat has joined #osdev
<heat> i mean, most libm's inherit from sun's
<heat> 1) SUN SUPREMACY
<heat> 2) shows how hard it is to write a good, fast libm
<Mondenkind> yeah
gorgonical has joined #osdev
<gorgonical> restarting is for punks. never restart kernels
<zid> correct
<Mondenkind> 13:30:58 up 20 days, 18:46, 2 users, load average: 0.19, 0.14, 0.10
<zid> but, next time I do end up restarting
<Mondenkind> there was a power outage :(
<zid> make sure to remind me to disable spread spectrum
<gorgonical> 16:33:45 up 222 days, 19:02, 1 user, load average: 4.23, 5.16, 4.20
<zid> it's on by default for some reason
<Mondenkind> hey zid
<Mondenkind> remember to disable spread spectrum
<zid> 3wks 2days 23hrs 20mins 1sec
<zid> I forget what that was about, I think too much animal crossing caused me one of my mystery MCEs
<gorgonical> I had to figure out how to nuke the x11/dbus-enabled userland and revive it in order for this song and dance to work, too
<gorgonical> I used to just restart the whole thing whenever I fucked something up tinkering with the userland
Rubikoid has quit [Read error: Connection reset by peer]
Rubikoid has joined #osdev
<sham1> 23:34:02 up 2 days, 3:19, 1 user, load average: 0.62, 1.33, 2.59
<sham1> I really don't care about uptime tbh, also makes updates more reliable when you reboot afterwards
<Mondenkind> dbus😱😱❌❌🤮
<heat> 'uptime' is not recognized as an internal or external command,
<heat> operable program or batch file.
<sham1> > windows
<heat> sham1: noooooo you don't get it, you need to run your system like a 0 downtime server because
<heat> uh
<heat> yes
masoudd has quit [Ping timeout: 260 seconds]
<sham1> Also, at least use PowerShell
<nikolapdp> i agree heat
<nikolapdp> we must have 0 downtime, that's why pdp is the best
<heat> a real pdp would've set your house on fire
<heat> you don't want your nice soviet block to get burnt down by a capitalist math machine
<nikolapdp> nah the pdp is reliable
<nikolapdp> the soviet math machine would've burnt down the block
<heat> reliable warmer yeah
<heat> ask geist
<heat> even the VAX is warm and cozy
<nikolapdp> well depends on what pdp he has
<Ermine> Asus router firmware, despite being fucked as hell, shows pretty decent uptimes
<sham1> Friends don't let friends use consume networking hardware
<nikolapdp> consume?
<sham1> I accidentally a letter
<sham1> consume hardware
* Ermine consumes hardware
<sham1> CONSUMER HARDWARE
<sham1> Aaaa
<sham1> Stupid consumer-tier keyboard
<heat> consume-tier?
<heat> i use *checks notes* whatever my ISP gives me
<nikolapdp> you also a word
<heat> this one being particularly cursed
<heat> this router loses track of ipv6 flow info
<heat> which fucks up when the load balancing takes the flow info into account -> TCP RST
<sham1> Wait, your ISP gives you IPv6?
<sham1> I'm jealous
k0valski18891621 has joined #osdev
<heat> yep
<Ermine> my mobile provider silently started giving ipv6, and that broke my wireguard tunnel
Matt|home has joined #osdev
Matt|home has quit [Remote host closed the connection]
Matt|home has joined #osdev
<gorgonical> also isn't the point of the soviet concrete block that it's pretty much impervious to puny fire?
<gorgonical> I mean, you might lose your stuff, but the apartment will be fine
<nikolapdp> i imagine it is
<heat> i don't know, what do you think i am, a soviet architecture exprt
<heat> expert
<sham1> Well the point of a commieblock is to be cheap, which is why they're also found in non-commie countries
<heat> what non-commie country has commieblocks?
<zid> if you ask serbia, serbia
<sham1> For example the former West Germany, Finland also has them
<zid> former *west* germany?
<zid> You mean.. germany?
<sham1> Yes, because there's no West Germany anymore, there's just Germany
<zid> "Former louisianna purchase"
<heat> you mean east germany
<zid> yea why west and not east is the question
<zid> east is understandable
<zid> btw if it's in the west
<zid> it isn't a commie block
<heat> which, i don't know if you're a history buff, but east germany was communist
<zid> it's a BRUTALIST ARCHETECTURAL PIECE
<sham1> Like yeah, technically West Germany just absorbed the DDR and just became whole again, but I mean it in the sense that there are those kinds of block houses even on the western side of what was once the "Inner German border"
<heat> what you're talking about might be considered "apartment blocks"
<gorgonical> is this like how immigrants from western countries are called expats
<sham1> Cheap apartment buildings made out of concrete and prefab stuff
<geist> nikolapdp, heat: PDP 11/53
<gorgonical> by that logic most apartments in america are commieblocks
<geist> so it's fairly late, it's ASIC based. pulls about 80W on the wall, which I was quite surprised
<sham1> That whole thing about the whole "expat" thing annoys me. No, the reason why they're called expats is not because they're white. They're called expats because there's an expectation that they go back to their home countries unlike immigrants who, well, immigrate
<gorgonical> You think so? An interesting view
<heat> commieblocks are a particular architectural thing from the soviet union (and later other communist countries)
<heat> they're not just apartment blocks
<zid> gorgonical: no way, americans don't know what concrete is
<zid> They build everything out of matchsticks
<gorgonical> Honestly I haven't heard that idea that expats are just "trying it out." I feel like I would not expect an american in Germany to describe themselves as "immigrants"
<gorgonical> zid: the underlying spirit of building "shelter" out of the cheapest, shittiest materials possible is the same
<zid> The capitalists heard about the three little pigs and said "What a great idea, we can evict the poors easily and construction costs will be cheaper"
<sham1> Maybe they wouldn't self-describe as immigrants, but they would be if they're there to stay
linearcannon has joined #osdev
<zid> expat usually just depends on whether they intend to integrate
<sham1> It's literally what "immigrant" means
<zid> or live in an enclave
<kof673> ^^^ to sham my understanding: emigrate ~= physically leave, immigrate ~= physically enter, expatriate ~= leave on paper
<heat> i understand what you're saying but the poisonous language used around "immigration" would never be used on an american
<heat> if i go to your country to work, i'm an immigrant
<heat> if you go to my country to work, you're an expat
<zid> You're an immigrant because you're porutgal
<heat> or "just working"
<heat> exactly
<geist> zid: i know you're kidding, but a lot of reason a lot of US doesn't do bricks or concrete is because of earthquakes. though it's clearly regional
<geist> when you travel frmo the west coast to east coast you start seeing a lot more brick or rock or concrete
<zid> lots of earthquake places do concrete, it's good at it, but expensiver
<gorgonical> my point is made exactly by heat
<zid> heat is SWARTHY so he's an immigrant
<zid> I'm white so I'm an expat
<sham1> I honestly don't care about how a bunch of racists in a $COUNTRY would use the term, they mean exactly what they mean and if they don't like it, so be it
<gorgonical> which is silly because if I have the opportunity to move to Europe with a good job I sure as fuck am gonna stay
<gorgonical> and I'll happily be an immigrant
<zid> no you get to be a foreign worker, gorg, sorry
<zid> assuming you're white
<gorgonical> extremely
linear_cannon has quit [Ping timeout: 272 seconds]
<zid> yep, no immigrant status for you
<zid> just overseas seasonal worker
<gog> hi
<heat> zid: actually i'm not swarthy, i'm pretty white
<sham1> Coming in and gentrifying the country smh
<gorgonical> "my seasonal contract expires in 160 seasons"
<gog> me too
<zid> heat: compared to an irish person or comparedto average spaniard, though
<heat> both
<heat> i am objectively clear skinned
<sham1> Of course wrt heat it's a moot point since he has Schengen
<kazinsal> translucent crew checking in
<zid> that and migratory birds such as portugoose don't need passports anyway
<heat> i was confused as to what obscure syndrome you were saying i have
<heat> schengen syndrome
<sham1> The rare disease of open borders
<heat> very serious stuff.
<zid> I have helvetica syndrome :(
freakazoid332 has joined #osdev
<heat> and no, this generally matters
<sham1> zid: ...you're well typeset?
<gorgonical> No he likes to eat melted cheese on potatoes
<heat> now, to me exactly it might not matter because specialized tech guy
<geist> TIL a new word re programming: monomorphization
<heat> but if i were to go to france i would be a DIRTY IMMIGRANT
<gorgonical> sounds like it's related to homoiconicity
<bslsk05> ​'helvetica scenario' by imeaktsu7 (00:00:51)
<heat> ok guys now lets try english
<heat> thanks
<sham1> monomorphisation, to make into one form
<geist> it describes the thing i always take too long to describe: the explosion of one off specialized fucntions you get with templates and other things like that
<gorgonical> oh it's like loop unrolling but for instantiations of a template
<geist> yah i was talking internally on chat about how rust code size tends to explode with tons of specialized instances, and someone mentioned monomorphization
<geist> and now i have a word to describe it
<sham1> Well except that you couldn't use a template or whatever without fully instantiating it
<heat> zid: have you seen switzerland's national team shirts?
<heat> they used helvetica
<heat> it's great
<gorgonical> Surely c++ must work similarly under the hood with zero-cost abstractions for stl containers and such?
<heat> ZERO COST ABSTRACTIONS
<sham1> heat: they should have used Arial for the irony
<heat> there are no such abstractions unfortunately
<gorgonical> oops I said a bad word apparently
<geist> the cost a lot of time with templates is lots of stamped out, specialized copies of stuff
<heat> yeah
<geist> rust has a similar thing as soon as you write code that takes an argument for something that acts as a X
<gorgonical> anyway it's actually probably not comparable. compile-time generics I think never have dynamic dispatch, right?
<gorgonical> it's like, the whole point
<heat> yep
<geist> yep. the cost is lots of code bloat
<heat> and compile time
<gorgonical> so monomorphization is loop unrolling polymorphically-typed functions into the equivalent compiler templated ones
<geist> which is why things like that are good for lots of things and not good for other stuff
<heat> this is why templates need to be contained to be used effectively
<heat> like std::list<type> doesn't need to know the type all the way
<gorgonical> I fundamentally agree with rust's position. type systems are useful for us and arguing that it makes the compiler complicated is essentially the language designers say "but I don't wanna"
<heat> you can just know the node's size and then do malloc
heat73 has joined #osdev
<heat73> seriously whats with this client
<heat73> anyway
<zid> The only time I wanted templates in C is because I wanted float and int to work with the same linked list impl
<gorgonical> heat73: surely then std::list is like an embedded linked-list thing, right?
<zid> I basically just wanted an 'agnostic u32'
<zid> not a type
<zid> (I knew they were the same size on the platform)
<heat73> gorgonical: std::list is an extrusive data structure
<gorgonical> it's like struct node { struct node next; void* data; } right
<heat73> yes
<gorgonical> I haven't heard that term in so long I forgot what it meant
heat19 has joined #osdev
<heat19> OH FUCK OFF
<gorgonical> linked lists in C are so awful to use. Iterating and manipulating is pure pain
* gog extrudes
<zid> There's a language that has linked lists but where you don't have to look after them?
<heat19> my point was: you could do node allocation, etc on std::list's class. but then everything is implicitly templated and as such std::list<int>::alloc_node() and std::list<long>::alloc_node() will both be instantiated separately (unless inlined)
* Mondenkind intrudes
<gorgonical> heat19: for functional correctness it barely matters but for type correctness you have to have separate copies
<heat19> if you do something like: template <typename Type> class list : public list_base { /* in the growing code */ (auto node = list_base::alloc_node(sizeof(Type), alignof(Type);
<heat19> it Just Works
heat has quit [Ping timeout: 250 seconds]
<gorgonical> but that requires reflection
<heat19> without separate instantiation of the template
<heat19> no it does not
<gorgonical> or dynamic dispatch of some sort
<gorgonical> or it has to coalesce definitions
<heat19> the templated bits need to know what the type is (and they do), list_base::alloc_node is a generic function call with a size and an alignment
<heat19> basically you contain the templated bits to whatever really needs them
<heat19> this is how you stop code bloat from blowing up
<gorgonical> oh I think I see your point. You're not suggesting there's some magic trick here
<gorgonical> Just following aggresively the principle of least concern
<zid> To whom it may concern: templates suck
<zid> like that
<heat19> like, imagine if template <typename Type> Type *operator new() called into malloc<Type>() etc etc
<heat19> you'd end up with separate copies of malloc for each type
heat73 has quit [Ping timeout: 250 seconds]
<gorgonical> the cost will be though that you have to make more jumps, presumably
<heat19> not necessarily a jump, could be inlined
<nikolapdp> geist, how much power does your pdp11/53 use
<gorgonical> true but the compiler could be made smart enough to push template information inward automatically, too
<heat19> the cost will be that e.g the compiler could flatten your node_size = sizeof(type) + sizeof(base_node) at compile time in the templated bit, but instead if it can't align it it'll need to do it with ARGUMENTS and REGISTERS
<heat19> s/align it/inline it/
<heat19> there's a slight runtime cost which may or may not be worth it, depending on your architecture and code size and whether all the templatey bits are screwing up your icache etc
<heat19> if you take 500KB of templatey code into a 20KB generic version you're probably getting performance just from the reduced icache pressure
<geist> nikolapdp: about 80W
<gorgonical> From a pl perspective I think you're making the argument the "correct" way in that what is a templated type other than you saying to the compiler "all the code inside here applies specifically to this type"
<nikolapdp> see heat, perfectly acceptable
<nikolapdp> thanks giest
<nikolapdp> geist
<geist> like i said it's a fairly late model PDP11, from the last generation (pdp11/*3s)
<heat19> uses like 8x more power than my laptop
<geist> 23/53/73/83
<geist> so it's basically a full ASIC implementation
<geist> but still in the case where like 1MB is a whole 8x11 board
<heat19> your VAX definitely makes your room warmer right?
<gorgonical> As in, how else would templating work? Unless you have a really sophisticated type model the compiler can't know that much about the memory model. Probably ML/haskells can do this auto-optimization
<geist> that's more like 300W yeah
Yoofie has quit [Read error: Connection reset by peer]
<heat19> gorgonical: yeah kinda
<Ermine> In Java, generics are used for type checking, and then get replaced with Object
<heat19> like generally a lot of templated types are just carelessly templated (because muh type safety, etc) which leads to template code bloat explosion
<Ermine> There are template fans though
<heat19> i have a template <typename Type> class memory_pool that does not need to be templated *at all* except for type safety on the alloc() and free() functions. because of it all being templated all of the allocator is duplicated on instantiation
<Ermine> Does it make onyx... BLOATED?
<heat19> you could argue it is BLOATED yes
<gorgonical> but strong. like kyriakos grizzly
* Ermine calls musl police
gildasio has quit [Remote host closed the connection]
<heat19> dalias is coming to portugal just to kneecap me
gildasio has joined #osdev
<geist> heat19: i suppose this is exactly where something like LTO could perhaps collapse the templated stuff back togetgher again
xenos1984 has quit [Read error: Connection reset by peer]
<geist> i dunno what compiler/linkers do that, though i had hard that MSVC's LTCG was pretty good at deduping things
<heat19> yeah but then the real question might be whether you want that or not
<Ermine> Oh wow, didn't expect lto to be able to do that
<pounce> heat19: rewrite it in C
<nikolapdp> yes rewrite it in c
<heat19> if you want a codepath so clean so inlined without any needless arguments etc, you might be against dedupping templates there
<heat19> pounce: in rust
<pounce> crust
<pounce> im sad my rust os went nowhere :(
<nikolapdp> no rust
<pounce> it was before it was cool
<pounce> in 2016
<nikolapdp> it was never cool
<Ermine> You can do kind-of-templating in C with macros, but will lto handle that?
<Ermine> nikolapdp: use cola
<nikolapdp> why wouldn't it?
<heat19> LTO has no semantic understanding of two functions that look similar but work with different types
<heat19> it is A LOT harder than having C++ code tell me "oh this function here can work with ints and longs and it's only different for these variables, kthxbye"
<heat19> best case you could probably have some sort of heuristic on LTO's side but it'll be worse than having semantic understanding of what you're trying to do
<zid> dedup the machine code via crc32, ez
<Mondenkind> oh gooddd that reminds me of this one paper from microsoft
<Mondenkind> about a thing they implemented in msvc (never shipped, thankfully)
<Mondenkind> where they used djb2 as a hash expecting strong collision resistance
xenos1984 has joined #osdev
<Mondenkind> as in the compilation would be completely broken if there was ever a collision
<Mondenkind> in fucking djb2
<mjg> OH
<mjg> language
<geist> heat19: well i was thinking that post translation if it comes up with basically the same bytecode it can detect that they're identical and collapse
<geist> so if you end up with a function that operates on ints and longs and ends up with the same code
<geist> or... say a intrusive list that works on the same offset from the base of the object
<zid> yea that's basically exactly what I wanted a template for in my C
<zid> I had a {float v; struct node *next;} and {int v; struct node *next;} and all the list code would have been machinecode identical
<zid> but I had to make two of them because of types
<zid> and just pray that the compiler could somehow compile them, eventually I just typecast the shit out of it to make sure
<zid> somehow combine*
Fingel has joined #osdev
theyneversleep has quit [Remote host closed the connection]
exark has quit [Quit: quit]
exark has joined #osdev
goliath has quit [Quit: SIGSEGV]
Rubikoid has quit [Read error: Connection reset by peer]
Rubikoid has joined #osdev
heat19 has quit [Ping timeout: 250 seconds]
heat has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
Yoofie has joined #osdev
heat has quit [Ping timeout: 250 seconds]
linearcannon has quit [Remote host closed the connection]
linear_cannon has joined #osdev
navi has quit [Quit: WeeChat 4.2.1]
teroshan has quit [Quit: The Lounge - https://thelounge.chat]
teroshan has joined #osdev
Matt|home has quit [Quit: Leaving]
hunta987 has joined #osdev
<mcrod> it’s still memory training
* mcrod fetal position
<geist> better than a fecal position
netbsduser has quit [Ping timeout: 268 seconds]