channel logs for 2004 - 2010 are archived at http://tunes.org/~nef/logs/old/ ·· can't be searched
#osdev2 = #osdev @ Libera from 23may2021 to present
#osdev @ OPN/FreeNode from 3apr2001 to 23may2021
all other channels are on OPN/FreeNode from 2004 to present
http://bespin.org/~qz/search/?view=1&c=osdev2&y=24&m=7&d=20
00:00:00 <geist> klys: yeah clone3 seems to be a superset of the old one
00:00:00 <geist> you pass it a pointer to a struct with a lot more crap on it
00:32:00 <heat> clone3 is commonly seccomp'd off
00:32:00 <heat> cuz seccomp can't actually peek into structs
00:32:00 <heat> (and if you naively added a copy_from_user helper, you'd still have a TOCTOU problem)
07:34:00 <zid> serbia just disappeared from the internet ^
07:34:00 <kazinsal> clownstrike strikes again
07:36:00 <mjg> what not?
07:36:00 <mjg> what now?
07:47:00 <kazinsal> I love that their official line is that "you're still protected" and that it'll "automatically fix itself" if you reboot between 3 and 15 times on average hoping that the network stack is online long enough before it BSODs that the fixed file gets pulled down
08:07:00 <nikolar> zid: probably a netsplit
08:08:00 <zid> nope
08:08:00 <zid> serbia's internet blipped
08:08:00 <kazinsal> bgp is like, hard, man
08:09:00 <zid> is it monday now btw
08:09:00 <kazinsal> nope
08:09:00 <kazinsal> clownstrike has not let you teleport 24 hours into the future
08:10:00 <kazinsal> or 48 or whatever
08:10:00 <kazinsal> I've lost track of time
08:10:00 <kazinsal> too much time lost to clownstrike
08:27:00 <froggey> oh, isn't windows great
08:27:00 <mjg> this is not a windows problem per se though
08:27:00 <kazinsal> this isn't windows' fault
08:27:00 <mjg> this is a massive fuckup by a lol vendor
08:27:00 <kazinsal> this is dumbshit AV companies not fuzzing their shit
08:28:00 <mjg> the same thing could have happened in linux
08:28:00 <kazinsal> and executing arbitrary sequences as bytecode
08:28:00 <mjg> someone claims the affected file is all 0s
08:28:00 <kazinsal> it is, yeah
08:28:00 <mjg> so it's not necessarily that they did not test their code
08:28:00 <kazinsal> a valid 64-byte channel file header followed by 40K of garbage
08:28:00 <kazinsal> all zeroes
08:28:00 <mjg> but something got fucked during deployment
08:29:00 <GeDaMo> There was a post on Hacker News saying that they has a similar Croudstrike problem with their Linux machines a few months ago
08:29:00 <mjg> basically the yhave a deffective deployment practice
08:29:00 <GeDaMo> https://news.ycombinator.com/item?id=41005936
08:29:00 <bslsk05> news.ycombinator.com: Crowdstrike did this to our production linux fleet back on April 19th, and I've ... | Hacker News
08:29:00 <froggey> wow, did someone install windows defender in the channel. better than croudstrike i guess
08:29:00 <kazinsal> someone pushed dev to prod without testing and it rolled out to a few tens of millions of machines and kacked em\
08:29:00 <kazinsal> I am hoping that this breaks clownstrike so we can go back to defender endpoint on everything
08:29:00 <mjg> i am sayin' proper procedure would sign the driver, then do the testing 'n shit
08:30:00 <kazinsal> the core driver was signed
08:30:00 <mjg> then if if the corrupt thingy got out, it would not load cause it would not match the checksum
08:30:00 <kazinsal> the problem is the core driver is also a bytecode VM
08:30:00 <kazinsal> and the dipshits at clownstrike didn't put in any safeguards for malformed bytecode files or fuzz their VM or anything
08:30:00 <mjg> let me restate
08:31:00 <mjg> sign+checksum -> testing -> publish -> things land
08:31:00 <mjg> suppose someone fucked up publishing
08:31:00 <froggey> the problem is that shitass windows drivers have been around for longer than kazinsal has been alive and windows still constantly eats shit because of them
08:31:00 <mjg> the landed driver would simplyfail to load due to bad checksum
08:31:00 <zid> it's cool they have an eBPF version
08:31:00 <mjg> et voila, no bsod
08:31:00 <mjg> merely disabled
08:31:00 <froggey> like at some point it's an institutional issue with windows
08:31:00 <mjg> still a problem of course, but not a mind-boggling breakge
08:32:00 <kazinsal> I have dealt with shit-ass windows drivers for as far as I can remember right up until now running the server infrastructure for a major public university in western canada thank you very much
08:32:00 <GeDaMo> Does Windows have an equivalent of eBPF?
08:32:00 <zid> not that I know of
08:32:00 <mjg> they have dtrace
08:32:00 <kazinsal> GeDaMo: technically, yes. there is an eBPF implementation for windows
08:32:00 <mjg> not quite an equivalent, but it may be depending on your needs
08:32:00 <mjg> you are trying to dodge the driver with it?
08:33:00 <mjg> oh heh nice
08:33:00 <kazinsal> but apart from that it's signed drivers running ultralight kernel thread based processes in ELAM mode
08:33:00 <mjg> TIL
08:33:00 <mjg> i think part of security model would be thate bpf can't fuck with not loading drivers tho
08:34:00 <kazinsal> in base Windows Server etc. there isn't a direct mechanism like eBPF
08:34:00 <kazinsal> but it's definitely doable
08:34:00 <kazinsal> I haven't looked into the details of how the eBPF engine for NT works but I suspect it uses ELAM
08:35:00 <kazinsal> actually it looks like it just uses a shim attached to a standard core kernel driver
08:35:00 <kazinsal> which intercepts tcpip.sys and ndis.sys
08:37:00 <GeDaMo> I wonder how long before Crowdstrike changes their name :P
08:38:00 <kazinsal> probably after they get sued into bankruptcy
08:38:00 <kazinsal> for breaking dozens of major airlines and a distressing number of emergency services across north america
08:38:00 <zid> They already got named clownstroke a while back
08:38:00 <zid> maybe they could use that officially
08:39:00 <mjg> will that do anything tho
08:39:00 <mjg> normally all this shit ships with NO WARRANTY FOR ANY PURPOSE
08:39:00 <kazinsal> they'll need to declare bankruptcy, divest, probably feed their CEO into a woodchipper
08:39:00 <kazinsal> their CEO is the same guy who was McAfee's CTO that time they bricked hundreds of thousands of XP machines in like 2010
08:39:00 <mjg> the ceo will land with millions of dollars with their exit package
08:39:00 <mjg> and you can bet he made off with millions after that incident
08:40:00 <froggey> and he can do it all again in a few years
08:40:00 <GeDaMo> They'll try to kill him by dumping a lot of money on him :|
08:40:00 <kazinsal> he quit and started clownstrike lol
08:40:00 <mjg> what happened in the mcafee case
08:40:00 <kazinsal> I just hope the guy who hit the button to cause all this has faked his death and moved to belize
08:40:00 <froggey> https://www.zdnet.com/article/defective-mcafee-update-causes-worldwide-meltdown-of-xp-pcs/
08:40:00 <bslsk05> www.zdnet.com: Defective McAfee update causes worldwide meltdown of XP PCs | ZDNET
08:40:00 <mjg> i mean tech standpoint
08:40:00 <kazinsal> I hear back jungle drug labs are profitable there
08:40:00 <kazinsal> isn't that mr john whalefucker mcafee
08:41:00 <mjg> > The problem is a false positive which identifies a regular Windows binary, "svchost.exe", as "W32/Wecorl.a", a virus.
08:41:00 <mjg> lol
08:41:00 <froggey> classic
08:41:00 <mjg> genius
08:41:00 <mjg> probably someone inverted an if statement
08:42:00 <kazinsal> reminds me of that other C-something security vendor a while back that managed to brick by bootlooping in lsass
08:42:00 <froggey> windows strikes again, "oh yes lets let random third party vendors delete critical parts of our os"
08:43:00 <kazinsal> imagine if you could sudo curl random shit into bash
08:43:00 <mjg> so to be clear, there is no emergency plan how to get out of a botched update?
08:43:00 <mjg> i thought windows had something with system snapshots 'n shit
08:43:00 <mjg> since windows 98 or so
08:43:00 <kazinsal> yeah you can do that
08:43:00 <kazinsal> it works fine
08:43:00 <mjg> or maybe 2000
08:44:00 <kazinsal> or you can manually remove the bad bytecode archive
08:44:00 <froggey> oh yes, deliberately and manually granting something admin access is definitely the same as an automatic background update
08:44:00 <kazinsal> the thing that was a nightmare was on a) servers and b) bitlockered
08:44:00 <kazinsal> servers need a bit of extra massaging
08:44:00 <kazinsal> bitlockered endpoints need an on site thing because it's a fully encrypted volume set
08:44:00 <GeDaMo> Can you not do something through that Intel Minix thing?
08:45:00 <kazinsal> not realistically
08:45:00 <kazinsal> maybe with enough time and effort put into it but like, you're now at the point of trying to use the AMT to intercept a very specific point in time
08:46:00 <kazinsal> because you need the bitlockered volume to have its decryption applied and the key in memory, then need to be able to use that key to progressively decrypt, parse, update, and re-encrypt the volume
08:46:00 <kazinsal> you're stealing the shirt off newton's back faster than the speed of light and selling it back to einstein for a markup
08:47:00 <kof673> so...the cat is alive?
08:48:00 <kazinsal> on top of that the AMT can't actually see into the OS-level state of things out of the box. it's like a layer running approximately equivalent to SMM
08:48:00 <GeDaMo> https://v.redd.it/bd5ufwqws8dd1/DASH_720.mp4
08:48:00 <kazinsal> you'd be trying to manipulate the state of a kernel you can't predict
08:48:00 <GeDaMo> If you could access the drives you could delete files
08:49:00 <kazinsal> but if all you've really got is hypervisor-tier access to the code that's running in ring 0
08:49:00 <kazinsal> in an environment running KASLR etc
08:49:00 <kazinsal> is your plan to inject a signed driver into the boot pipeline using AMT
08:49:00 <GeDaMo> I was thinking accessing the hardware without booting the main OS
08:50:00 <kazinsal> problem there is that the majority of these endpoints have bitlocker on their volume groups
08:50:00 <kazinsal> that's the biggest damage point here. encrypted volume groups on generally non-serviceable endpoints
08:50:00 <kazinsal> think stuff like POS units and kiosks
08:51:00 <kazinsal> last I checked all of Qantas Air is still boned because their checkin systems are all clownstrike equipped and bitlockered
08:51:00 <kazinsal> worldwide
08:51:00 <froggey> you know what else is a pos?
08:51:00 <froggey> yeah, that's right
09:55:00 <nikolar> KERNAL
11:32:00 <nikolar> no KERNAL :(
11:33:00 <zid> nikolar how do I rubik's a cube
11:33:00 <nikolar> Give me and I'll Rubik's it
11:34:00 <zid> okay it's a 3 inch tungsten cube, rubik's it for me
11:34:00 <nikolar> You haven't given it to me though
11:34:00 <zid> Like I'm some kind of teleportist
11:34:00 <zid> It's being delivered
11:36:00 <Ermine> nikolar: are you good at solving Rubik's cube?
11:36:00 <nikolar> I can solve a Rubik's cube, yes
11:36:00 <zid> I also can solve a rubik's cube
11:37:00 <zid> but I do it using only sune
11:37:00 <nikolar> Well ain't you fancy
11:37:00 <zid> that's the opposite of fancy
11:37:00 <nikolar> I'm kidding
11:37:00 <zid> fancy is doing winter variations
11:38:00 <nikolar> Honestly, I forgot the fancy algorithms
11:38:00 <zid> 4x4x4 I can solve if I don't get the parity case
11:38:00 <zid> cus I can never remember the parity alg, and if you fuck it up it just totally scrambles it :P
11:38:00 <nikolar> Lel
11:38:00 <zid> (again, using only sune)
11:39:00 <nikolar> I did solve a 4x4 once, it was a friend's cube and I had the instructions in front of me :P
11:39:00 <nikolar> (I think he couldn't solve it so he gave it to me)
11:39:00 <nikolar> To solve
11:39:00 <zid> ah yes, illiteracy is high in serbia
11:39:00 <nikolar> It's in the high 90s actually
11:39:00 <nikolar> He just couldn't bother
11:40:00 <zid> high 90%? dang, really fucking illiterate then
11:40:00 <nikolar> Lol like 99% or something, I don't know the official statistic
11:40:00 <zid> I guess we add you to that statistic, mr. "read it wrong and meant <10%"
11:40:00 <zid> to be fair, it must be confusing to try read using proper letters and not tsar signs
11:41:00 <nikolar> Oh you're the ones not using proper letters
11:41:00 <nikolar> You don't even read the same most of the time
11:41:00 <zid> They're very proper, go back to the dawn of history these letters
11:41:00 <zid> it's the sounds that are wrong
11:42:00 <nikolar> If yours go to the dawn of history, so do ours since common heritage and that
11:42:00 <nikolar> But yeah, sounds definitely wrong
11:42:00 * zid gives stink eye to londoners saying th as /f/
11:42:00 <nikolar> Lel
11:42:00 <nikolar> Do people actual say fink for think
11:42:00 <zid> yes
11:42:00 <nikolar> Yuck
11:42:00 <zid> One thing I have noticed a lot lately on youtube is like.. I swear 20% of american men have lisps
11:43:00 <zid> I guess parents just.. stopped caring?
11:43:00 <nikolar> I mean parents probably did stop caring
11:43:00 <nikolar> In general
11:43:00 <zid> They stopped caring about literacy I know that much, their scores tanked this generation
11:43:00 <Ermine> so even British are tired to pronounce th correctly?
11:44:00 <zid> londoners only
11:44:00 <nikolar> And your tests are a joke compared to ours
11:44:00 <zid> MLE accent
11:44:00 <zid> your? I am not american
11:44:00 <nikolar> Yes, you hear me
11:44:00 <nikolar> *heard
11:44:00 <zid> https://en.wikipedia.org/wiki/Multicultural_London_English
11:45:00 <zid> MLE subs for 't' or 'f' depending on like.. generation
11:45:00 <nikolar> That makes perfect sense
11:45:00 <zid> https://en.wikipedia.org/wiki/Th-fronting
11:46:00 <zid> It's basically london-jamaican patois
11:46:00 <Ermine> Some people pronounce th as /z/ here
11:46:00 <zid> ZAT IS NOT CORREKT
11:46:00 <zid> ZE GERMANS SHALL BE DISPATCHED
11:46:00 <nikolar> I mean I can barely understand Jamaicans when they speak English
11:47:00 <Ermine> 'from zis we have zis' is a local meme on my faculty
11:47:00 <zid> have or ave? :P
11:47:00 <zid> the french say zis and ave
11:47:00 <Ermine> have
11:48:00 <zid> I say have has 'have' or 'ah' depending on strong or weak form, woot
11:48:00 <nikolar> Listening to the French speak English is always fun
11:49:00 <zid> They make one classic mistake that they have no need to make because of cargo culting a bad take, which is fun
11:49:00 <nikolar> Which classic mistake
11:50:00 <Ermine> it's in maths context where the speaker shows the connection between two statements written on the board
11:50:00 <zid> Trying to find my source, but afaik it was schwa being realized with the wrong vowel, even though /they have that vowel in french words/
11:51:00 <zid> ah *french* schwa, which is the english foot vowel, I think is what it was
11:52:00 <zid> and .. the things I can't type cus no ipa keyboard, with I and i
11:52:00 <zid> fleece/kit
11:52:00 <zid> it's why italians say 'shit' instead of 'sheet'
11:52:00 <zid> beach bitch
11:53:00 <nikolar> Interesting
11:53:00 <zid> https://www.youtube.com/watch?v=GNpbv7hJf6c
11:53:00 <bslsk05> www.youtube.com <no title>
11:55:00 <zid> 4 mins (literally rewatching it now, heh)
11:59:00 <nikolar> Lel
11:59:00 <zid> SAY FEET
12:00:00 <nikolar> Fit
12:01:00 <nikolar> I just say liboggz somewhere and read it as libgogz
13:40:00 <zid> https://cdn.discordapp.com/attachments/137703666558828544/1264212239166996582/IMG_2074.png?ex=669d0ce5&is=669bbb65&hm=7cf4a3240c2b1a60a567b4d6a83be494ac411567dcc1d9ab7b2c77c5f883a5e3&
14:03:00 <Ermine> TIL libass exists
14:06:00 <zid> and libcaca
14:16:00 <mjg> oh heh, 45 bans, except several of them are variants for the same person
14:17:00 <mjg> fatal1ty!*@* this one semi-hurts as a former quake player
14:17:00 <mjg> (a perosn with that nickname was at the top in the early days)
14:17:00 <mjg> (with that spelling too, i'm guessing someone took an inspiration)
15:15:00 <ToadRageThe5th1> Hello!
15:15:00 <gog> hi
15:15:00 <ToadRageThe5th1> I finally found this lol
15:15:00 <ToadRageThe5th1> this is probably going to be more useful than literally anything else on the internet about OSDev
15:16:00 <gog> debatable
15:16:00 <ToadRageThe5th1> Well, it would depend on the day
15:17:00 <gog> most days are me being offtopic
15:17:00 <gog> i'm considering working on things today but my job is rather demoralizing and makes me want to never program again
15:18:00 <ToadRageThe5th1> I don't have a job
15:18:00 <karenthedorf> This place and the (unrelated) osdev discord.
15:18:00 <karenthedorf> Are both the best and worst sources of advice, depending who's active
15:18:00 <ToadRageThe5th1> There is a Discord for that? I should join it.
15:19:00 <Ermine> I'm also mostly off-topic here
15:20:00 <GeDaMo> I'm mainly here to heckle :P
15:20:00 <ToadRageThe5th1> That's unfortunate
15:21:00 <gog> but if you have questions we usually stop with nonsense to answer
15:21:00 <Mutabah> People here _can_ be on-topic, when called for
15:24:00 <ToadRageThe5th1> So it's your average niche online community
15:26:00 <gog> yes
15:27:00 <ToadRageThe5th1> I think I have been writing the worlds literal worst makefile
15:28:00 <ToadRageThe5th1> at least it's direct
15:28:00 <karenthedorf> There's a such thing as a good makefile?
15:28:00 <ToadRageThe5th1> lmao fair point
15:28:00 <ToadRageThe5th1> I've seen the Linux makefile, it's a hot convoluted mess
15:31:00 <karenthedorf> Linux basically make it's own build system language on top of Make.
15:32:00 * Matt|home googles what to do on the weekend
15:32:00 <ToadRageThe5th1> I feel like that's just what happens when you include enough makefiles into the main one
15:33:00 <gog> cakefiles
15:33:00 <gog> files that deliver cake to my face
15:33:00 <ToadRageThe5th1> mmmmm
15:33:00 <ToadRageThe5th1> yummy
15:34:00 * Ermine delivers cheese to gog instead
15:34:00 <karenthedorf> Recursive Make Considered Harmful
15:34:00 <zid> If you have basic questions about amd64 then I can misremember the intel sdm for you!
15:35:00 <zid> karenthedorf: you were the ioapic person right?
15:35:00 <karenthedorf> zid: I feel like that's a very common skill in this channel. I to can misremember the SDM for people.
15:35:00 <zid> was definitely a k*
15:35:00 <Ermine> i can misremember sdm too!
15:35:00 <karenthedorf> Yes, I'm the person trying to get serial port interrupts working before I have a working PMM/VMM
15:35:00 <zid> did you fiddle all the bits yet?
15:35:00 <zid> we figured out which bits to fiddle but you hadn't written them in yet
15:35:00 <zid> for an updated info pic / info irq / whatever
15:35:00 <karenthedorf> I haven't had a chance to fiddle with the ioapic yet. It's still all masked off
15:35:00 <zid> fair enough
15:36:00 * gog is fascinated
15:36:00 <karenthedorf> I've disabled the legacy PIC and fiddled with the lAPIC a bit. But that's not enough to get things from outside yet.
15:36:00 <zid> I just used the pic interrupts because I was lazy, enough to get my ethernet sending frames
15:36:00 <karenthedorf> That would probabally be simpler to setup actually.
15:36:00 <zid> and that's where I left it last time I cared
15:36:00 <karenthedorf> I mean, even simpler is to sit in a polling loop :D
15:37:00 <zid> finding the right mixture of executive function and inspiration is hard
15:37:00 <zid> I sorely lack the former
15:37:00 <zid> and the latter is only sporadic
15:37:00 <gog> i've given up and found a retailer that has the exact chassis my laptop has and paid £120 for it
15:37:00 <karenthedorf> Our executive is split down the middle.
15:37:00 <zid> gog: You hold down a job, can I borrow some of yours
15:37:00 <zid> executive function that is, n ot some of your job
15:37:00 <karenthedorf> And Rhiannon's half of our brain has seizures.
15:37:00 <zid> your job sounds like a pain
15:38:00 <gog> my executive function only operates for pay
15:38:00 <gog> or worry that my wife is mad at me
15:38:00 <zid> I can't even get mine to work for pay, that's a far future
15:39:00 <ToadRageThe5th1> My makefile is trying to compile target "all" :'(
15:39:00 <zid> I think what I need is a dominatrix, but who tells me to write code and stuff
15:39:00 <zid> ToadRageThe5th1: is the first rule called 'all'
15:39:00 <karenthedorf> zid Mine would work for pay, except trying to find a job that doesn't involve us commuting by car (see above comment about seizures) is turning out to be a bitch.
15:39:00 <ToadRageThe5th1> yess
15:40:00 <zid> I may have figured out why it's doing that then
15:40:00 <karenthedorf> The first rule in a makefile is the 'default' rule if you don't specify one
15:40:00 <ToadRageThe5th1> yes
15:40:00 <zid> zomg spoilers
15:40:00 <ToadRageThe5th1> but it is trying to compile the target, instead of running the rule
15:40:00 <ToadRageThe5th1> as it is supposed to do
15:41:00 * karenthedorf wonders if they should make the first rule 'run' instead of all. Since the most common make command they run is `make run` which builds all then starts up qemu.
15:41:00 <gog> post your makefile
15:41:00 <karenthedorf> Oh, .PHONY is your friend then?
15:41:00 <ToadRageThe5th1> I am just trying to test the build before I run on qemu, one step at a time
15:41:00 <zid> yea you're not supposed to have rules that.. "run"
15:42:00 <zid> you're supposed to have a dependency tree of files
15:42:00 <zid> but you can sort of make fake files with .phony yea
15:42:00 <zid> Good news, my mind just wandered and I thought of a bad joke I want to ask a real little person, "What kind of dwarf are you, achondroplasia or blacksmith?"
15:42:00 <zid> please don't let me outside
15:43:00 <gog> there's no worry of that between june and september
15:43:00 <gog> you will crisp
15:43:00 <zid> It's mild today but humid as fuck
15:43:00 <zid> lots of cloud cover
15:43:00 <ToadRageThe5th1> Sounds like our days here in maine for the past month
15:43:00 <gog> it's sunny here and hot af in my house. i want to open the windows but i don't want to let the cat out
15:43:00 <ToadRageThe5th1> Mildly annoying
15:43:00 <zid> I'm told the days in maine are mainly on the plain
15:43:00 <karenthedorf> It is cloudy here in the middle of the UK. After the last two days of melting.
15:43:00 <zid> I've not seen my cat all day actually
15:44:00 <zid> it is isn't it
15:44:00 <karenthedorf> Why do we build houses super-mega insulated with large windows, central heating, and no AC.
15:44:00 <zid> I'm in the east not the middle though
15:44:00 <zid> I'm so east that people from derby are horrendously northern to me
15:44:00 <ToadRageThe5th1> Yeah, Maine (summer) days are lovely at a gorgeous 60 degrees on average or smth
15:45:00 <Matt|home> yeah im actually a little annoyed/pissed off. it's really hot out but im bored being stuck inside staring at a screen all day. guess i'll use this as an excuse to finish the next part of my C++ project
15:45:00 <ToadRageThe5th1> Ew, C++
15:45:00 <ToadRageThe5th1> no judgement towards you
15:45:00 <Matt|home> hush u
15:46:00 * Matt|home refrains from screaming a never-ending rant
15:46:00 <zid> Lots of judgement from me to anyone who uses C++ recreationally
15:46:00 <Matt|home> ur opinion doesn't count :p
15:46:00 <zid> If they use it professionally I treat it more like an abusive hostage situation
15:46:00 <karenthedorf> c++ for osdev? What are you, a Windows kernel dev?
15:47:00 <Matt|home> i never said i was doing kernel dev right now
15:47:00 <Matt|home> but yes i recently switched back to windows and ironically it was the best thing i've ever done for my career
15:47:00 <Matt|home> my kernel is written in C
15:48:00 * Matt|home lights a bowl and passes it around
15:48:00 <ToadRageThe5th1> I'm writing my kernel in C aswell
15:48:00 <Matt|home> this is totally off-topic, but if anyone's free to pm can i get some advice on a very generic/boring program im writing? im not sure how to proceed
15:50:00 <Matt|home> hm actually, i think i found out what im supposed to do :D i dunno if it's the correct one, but i chose it so it's obviously the right one
15:51:00 <zid> me: muggy outside today gog: if all the mugs are outside on the lawn again I will fuck you up me: *flees*
15:51:00 * karenthedorf returns to their lapic init code. Deletes everything and starts again in xapic2 mode
15:53:00 <ToadRageThe5th1> Maybe I should have actually done a lot more practice coding before I started coding an OS
15:53:00 <ToadRageThe5th1> oh well
15:53:00 <zid> practice is for the weak
15:53:00 <ToadRageThe5th1> guess I'll die
15:53:00 <zid> What real men do is DRAFTS
15:53:00 <ToadRageThe5th1> I'm probably doing the best kind of practice I can
15:53:00 <zid> "Oh no, this is supposed to be like this, it's just a rough first draft"
15:53:00 <gog> breki is loafing
15:53:00 <zid> It's like factorio "no, this is just the starter base"
15:53:00 <zid> no matter how large it is
15:53:00 <gog> loaf alert
15:53:00 <gog> all bases are starter bases
15:54:00 <gog> you will never finish your base
15:55:00 <karenthedorf> Hmm, overlap between osdev, factorio, and executive dysfunction is a circle I feel.
15:55:00 <ToadRageThe5th1> *ADHD
15:56:00 <zid> I make limited-scope prototypes.
15:56:00 <zid> aka int main(void) { /* TODO */ return 0; }
15:57:00 * Matt|home packs another bowl and passes it around
15:57:00 <karenthedorf> Oh no... qemu doesn't support xapic2 mode? Useless trash software.
15:57:00 <Matt|home> alright, time for some serious coding. last time i was this baked i got a hundred lines in, let's see if i can't do another 200 now
15:57:00 <ToadRageThe5th1> grrr I need CRT?
15:58:00 <zid> cathode ray tube or c runtime?
15:58:00 <zid> or critical race theory
15:58:00 <ToadRageThe5th1> c runtime
15:59:00 <zid> not unless you decide you need one?
15:59:00 <zid> just ensuring your bss is zero is enough for simple freestanding stuff
16:00:00 <ToadRageThe5th1> yeah, but my linker is complaining
16:00:00 <zid> unless you start tossing __attribute__((ctor)) on stuff or whatever that attribute is
16:00:00 <zid> about?
16:00:00 <ToadRageThe5th1> needing crt1 object files
16:01:00 <zid> don't use ld directly, use gcc -ffreestanding to link
16:01:00 <zid> ld directly requires you to either make your own binutils with sane defaults, or override a billion settings with flags
16:01:00 <karenthedorf> Or use ld.lld
16:01:00 <karenthedorf> Or is it lld.ld
16:01:00 <zid> ld directly will use the linker script designed to make hosted linux elves or whatever
16:01:00 <karenthedorf> I can't remember
16:01:00 <nikolar> zid do you even program
16:02:00 <zid> karenthedorf: idk I don't speak welsh
16:02:00 <nikolar> When was the last time your wrote code
16:02:00 <zid> nikolar: I have done in the past okay?
16:02:00 <zid> yesterday, but that was a rare exception lately ngl
16:02:00 <zid> I tend to do bursts
16:02:00 <nikolar> I wrote code yesterday (it was a hello world because I was testing something :P)
16:02:00 <nikolar> Lol what did you write
16:02:00 <gog> i wrote code yesterday at work
16:02:00 <zid> I told you, a bunch of advent of code 2015
16:02:00 <nikolar> Oh yeah duh
16:02:00 <ToadRageThe5th1> I'm using GCC to link my object files with the -T option
16:03:00 <gog> the cat keeps trying to get out
16:03:00 <karenthedorf> qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
16:03:00 <ToadRageThe5th1> My ADHD brain can't think of ideas
16:03:00 <zid> does your linker script have that 'include me after the default linker script' line?
16:03:00 <zid> did you not freestanding?
16:03:00 <ToadRageThe5th1> no CPUID for you
16:03:00 <ToadRageThe5th1> I am using GCC freestanding option
16:04:00 <ToadRageThe5th1> -ffreestanding
16:04:00 <zid> karenthedorf: good news, it was feature requested in 2021
16:04:00 <zid> ToadRageThe5th1: show full command with output?
16:04:00 <zid> bad news: nobody gives a shit
16:04:00 <karenthedorf> zid: I was basically trying to stick only to things in x86s for my kernel. But apparently that's too new for hippy software like qemu.
16:05:00 <ToadRageThe5th1> hang on, the makefile also isn't finished, but I am pretty sure that that is not the current problem
16:05:00 <zid> x2apic is weird, it's like.. too much? Unless you're on a multi-socket numa system with 128 NICs or whatever
16:05:00 <ToadRageThe5th1> It won't let me run rules from all
16:05:00 <karenthedorf> I wrote the implementation of umip in qemu last time I did some osdev, but a whole new apic mode seems a bit more effort than just nobbling 3 instructions
16:09:00 <Matt|home> hm. i might have to ask my sister about this later
16:09:00 <karenthedorf> https://gitlab.com/qemu-project/qemu/-/commit/637f1ee377eab718cb23808299ea2770e722da5c Hey, it's still there and no one's touched it. (Please no doxxing my deadname q.q)
16:09:00 <bslsk05> gitlab.com: target/i386: add TCG support for UMIP (637f1ee3) · Commits · QEMU / QEMU · GitLab
16:13:00 <zid> I have toast
16:13:00 <zid> Iw in
16:14:00 <nikolar> zid when are you working on your os again
16:14:00 <zid> when the divines deem it
16:17:00 <ToadRageThe5th1> meow
16:20:00 <zid> https://pbs.twimg.com/media/GSo30xsXoAAZAGU.jpg
16:21:00 <zid> TIL python has 15 ULPs of error
16:22:00 <ToadRageThe5th1> python SUCKS when it comes to flops
16:23:00 <ToadRageThe5th1> it also makes me want to cry
16:23:00 <ToadRageThe5th1> we need semicolons
16:24:00 <ToadRageThe5th1> WHY ARE MY WILDCARDS NOT BEING EXPANDED
16:25:00 <GeDaMo> Not-so-wildcards :|
16:27:00 <nikolar> What wildcards
17:11:00 <Matt|home> alright im done, im too baked for this and this is turning out completely insane lol. let's see what my line count is..
17:11:00 <Matt|home> from 100 to 118, i got 18 lines in luls
17:25:00 <kof673> > They stopped caring about literacy I know that much, their scores tanked this generation yes and no. the theory is alexa or similar will answer all the "facts" and you can just do "behaviorism" "performance" "outcomes" i.e. flexibility
17:25:00 <kof673> also, parents have nothing to do with this, this is business/schooling/goldman sachs says it is the future/etc.
17:25:00 <kof673> it is considered "progress" anyways :D
17:27:00 <kof673> it is optimizing for business use/careers
17:52:00 <Ermine> Matt|home: next time you remove some other 18 lines, and suddenly you're super productive
17:53:00 <Matt|home> hm?
17:53:00 <Matt|home> rofl
17:53:00 <Matt|home> nah i know what im doing
17:53:00 <Matt|home> it's a bad idea though
17:54:00 <gcoakes> Could someone help me understand the difference between device tree "/reserved-memory/*" nodes and the Memory Reservation Block? I've read through the specification sections on both of them, but I still can't parse out what the differences are or why one is used over the other.
17:56:00 <Ermine> Matt|home: the reference to 'my most productive day consisted of removing 1000 lines of code'
17:56:00 <Matt|home> lol..
17:57:00 <Matt|home> not with my code babe :p
18:45:00 <nikolapdp> pdp's back
18:47:00 <guideX> it kind of seems like the usb keyboard in my os isn't working for some reason
18:47:00 <guideX> ugh, I've been at that for like the past week trying to figure it out
18:47:00 <guideX> I hope everyone else is as slow as I am figuring this stuff out xD
18:56:00 <nikolar> heh simh died
18:56:00 <nikolar> sim_timer_activate_after(DZ-XMT, -4294402661 usecs) - surprising negative usec value
18:56:00 <nikolar> negative usec value - aborting from sim_timer.c:2937
19:00:00 <kof673> that sucks, you'll have to switch to pdp10 and test my code
19:00:00 <kof673> no other possibility
19:04:00 <nikolapdp> restart fixes everything as per usual
19:10:00 <geist> guideX: did it used to? are you accessing it via usb or via ps2?
19:11:00 <guideX> I am accessing it via usb, I could've sworn it worked last weekend, I will go through older versions to check
19:11:00 <guideX> I wanted to get my console working when I realized: there's no keyboard xD
19:11:00 <guideX> you can only click things
19:12:00 <guideX> maybe I should forget the idea of keyboard input, and make the user click absolutely everything xD j/k
19:13:00 <heat> hi geist
19:15:00 <geist> hiya
19:19:00 <nikolar> op
19:19:00 <nikolar> died again
19:20:00 <nikolar> sim_timer_activate_after(INT-FLUSH, -4266498140 usecs) - surprising negative usec value
19:20:00 <nikolar> negative usec value - aborting from sim_timer.c:2937
19:20:00 <nikolar> geist: can you do me a favour
19:20:00 <nikolar> run simh for a while and see if it dies too
19:21:00 <geist> which version? also opensimh or plain simh?
19:24:00 <geist> did you build it from scratch?
19:24:00 <nikolar> i did
19:25:00 <geist> there's a bit of an ongoing fracas in the simh community, and a bunch of folks split off for opensimh
19:25:00 <geist> and so now they're kinda going in parallel
19:25:00 <nikolar> yeah i know stuff's happened
19:25:00 <nikolar> i just remember whhich version i used
19:25:00 <nikolar> let me check
19:26:00 <geist> justing that number sounds like its wrapping around
19:26:00 <geist> 0xffffffff01b267a4
19:26:00 <nikolar> yeah i just didn't exepct that to be an issue
19:26:00 <nikolar> not yet at least
19:30:00 <nikolar> geist: https://github.com/simh/simh commit: 4dfb3508bfa5
19:30:00 <bslsk05> simh/simh - The Computer History Simulation Project (302 forks/1639 stargazers/NOASSERTION)
19:31:00 <geist> okay, might take a look at it in a bit. my neck is killing me right now, a classic pinched nerve that makes my left arm hurt/numb
19:31:00 <geist> not the first time, but the worst thing i can do is sit around and type on a computer
19:31:00 <nikolar> ah that sucks
19:31:00 <geist> so going to take a nice long hike
19:31:00 <nikolar> nah no problems
19:31:00 <geist> yep. if you're young make sure you dont fuck up your neck or spine, it'll haunt you forever
19:31:00 <nikolar> i thought that you could take a look because you're the only other simh user i know :P
19:31:00 <geist> keep good posture!
19:32:00 <geist> well, honeslty id ont use it that much anymore because, uh, i have real hardware now :)
19:32:00 <nikolar> heh that's the goal
19:32:00 <geist> ttyl
19:32:00 <nikolar> wonder how they'll patch bsd to work after 2038
19:32:00 <nikolar> bbye
19:33:00 <heat> can the 2.11BSD cc work with 64-bit ints?
19:34:00 <heat> a short term solution would be to make time_t unsigned. seriously i never really got why time_t is signed
19:36:00 <nikolar> heat: not sure, longs are 32
19:36:00 <kof673> i do not know, but wth is this about? > https://people.freebsd.org/~ariff/zresampler/src/quad.h > * This library can provide 128-bit arithmetic on a machine with 128-bit quads and 64-bit longs, for instance, or 96-bit arithmetic on machines with 48-bit longs.
19:36:00 <kof673> what are these...other machines with 48-bit long ? :D
19:37:00 <Mondenkind> why are signed and unsigned quad the same type
19:37:00 <kof673> no idea, i just remember freebsd has quad stuff, no idea how far back that goes
19:37:00 <nikolar> Lol does it just shell out to the builtins
19:38:00 <kof673> IIRC c89 does not guarantee "long long" so maybe it once did more than just shell out
19:39:00 <netbsduser> porting 2.11bsd sounds like a fun venture
19:39:00 <heat> "fun"
19:39:00 <heat> porting something more modern (4.3BSD?) sounds actually fun
19:39:00 <netbsduser> 4.3bsd vm is slightly annoying
19:40:00 <netbsduser> i think on foreign arches they simulated vax style page tables but that's just some apocryphal thing i once heard so it might be a total lie
19:40:00 <heat> 4.4 it is then
19:42:00 <netbsduser> with 2.11bsd what i think would be interesting would be modernising it
19:42:00 <netbsduser> i like ships of theseus
19:45:00 <nikolar> Have your ship of Theseused something already
19:56:00 <mcrod> hi
19:59:00 <nikolar> hello
20:03:00 <mcrod> hi nikolar
20:03:00 <nikolar> what's up mcrod
20:03:00 <mcrod> boredom
20:04:00 <nikolar> lol
20:11:00 <heat> mcrod, kernal
20:12:00 <mjg> watch some russian movies
20:12:00 <mcrod> heat kernel
20:15:00 <heat> kernal*
20:15:00 <heat> common typo
20:17:00 <mjg> i am lied to
20:17:00 <mcrod> freebsd!
20:17:00 <mjg> looking at illumos pipe code
20:18:00 <mjg> they have a flag FIFOFAST
20:18:00 <mjg> but it is not :(
20:19:00 <mjg> they even have a func named fifo_stayfast_enter
20:20:00 <heat> fifo_stayhard_enter
20:20:00 <mjg> i verifed with dtrace it returns 1 aka things worked out
20:20:00 <mjg> but it is not fast :[
20:23:00 <mjg> i'm gonna submit a patch fifo_stayslow_enter
20:23:00 <mjg> rename it
20:25:00 <mjg> * The implementation makes aggressive use of kmem object caching for
20:25:00 <mjg> * maximum performance.
20:25:00 <mjg> :d
20:26:00 <mjg> something went haywire did not it
20:27:00 <heat> mjg what do you think about my PIPEN
20:28:00 <mjg> i did not take a serious look
20:28:00 <heat> i do think they're actually okayen *but* i think pipe poll can be done locklessly
20:28:00 <mjg> i'm considering writing a funny blogpost with an overfiew
20:28:00 <mjg> overview even
20:29:00 <mjg> there are some vile corner cases to consider here
20:29:00 <heat> blogpost? you have a blog now?
20:29:00 <mjg> no
20:29:00 <mjg> but i might get one
20:29:00 <heat> pessimalcores.net
20:29:00 <mjg> i was thinking poorformance.io
20:29:00 <heat> sunmicroshitstems.net
20:30:00 <mjg> anyway i wanted to check if they happen to be doing something clever
20:30:00 <mjg> and they don't
21:04:00 <nikolar> ok, thread sanitizer is kind of clever :)
21:42:00 <chiselfuse> what architecture does most of the cloud run?
21:43:00 <heat> x86_64
21:44:00 <nikolar> And it's not even close
21:45:00 <heat> SPARC64 WILL RISE AGAIN!
22:32:00 <nikolar> SPARC
22:54:00 <heat> i'm relicensing my kernel to gpl i think
22:54:00 <heat> mit was the worst choice for something i deeply care about
23:00:00 <Ermine> did someone take your code into proprietary project?
23:05:00 <heat> i don't know and i can't know given it's all MIT and no one has to tell you a thing :)
23:09:00 <chiselfuse> i heard from a couple people i know who worked for big companies that gpl deters completely
23:09:00 <mjg> must be why linux is dead
23:10:00 <chiselfuse> how is it dead
23:10:00 <heat> everyone's on microkernels now
23:10:00 <chiselfuse> heat: question is, can you gpl it after having mit'd it? you can only gpl new code you're adding to it, right?
23:11:00 <kof673> if heat wrote all the code, he can do whatever licensing he wants :D
23:11:00 <heat> i'm the sole copyright holder for 99.9% of my code (basically everything Ermine hasn't written)
23:11:00 <heat> even without that, i'm pretty sure i could GPL the MIT code, I'd just need to keep the original MIT copyright
23:12:00 <heat> MIT gives you the power to sublicense (e.g into proprietary)
23:12:00 <nikolar> GPL FTW
23:13:00 <chiselfuse> but i'm thinking that if it's already been released under mit, then you can't just add restrictions afterwards. people who continue to close-source the code that originally had no restrictions can't suddenly be restricted to release it
23:14:00 <chiselfuse> so i think you can only gpl additions onwards
23:14:00 <carrar> Clearly the answer is here is you need to write a new OS from scratch :)
23:14:00 <heat> >people who continue to close-source the code that originally had no restrictions can't suddenly be restricted to release it
23:14:00 <heat> correct
23:15:00 <heat> if you relicense something, old releases are still under the old license
23:15:00 <heat> eg macOS old ass bash is still under GPLv2 instead of v3
23:15:00 <Ermine> and suddenly #osdev turns into #civillaw
23:16:00 <kof673> http://www.gnu.org/licenses/gpl-faq.en.html#InternalDistribution whether that is "proprietary" or not is another story, but also don't have to tell you a thing :D > i don't know and i can't know given it's all MIT and no one has to tell you a thing
23:16:00 <chiselfuse> heat: anyways, can you give me examples of microkernels and where people are starting to replace linux with them? for example, all distros i know still use linux and i've only seen linux distros used in the cloud etc
23:16:00 <bslsk05> www.gnu.org: Frequently Asked Questions about the GNU Licenses - GNU Project - Free Software Foundation
23:16:00 <heat> software copyright is actually pretty relevant to programmers
23:16:00 <heat> because we all ANAL
23:16:00 <heat> but need to act like pretend lawyers
23:16:00 <chiselfuse> what does ANAL mean in this context?
23:17:00 <kof673> am/are not a lawyer
23:17:00 <heat> it means whatever you want it to mean
23:18:00 <kof673> see also: > Publicanus: A person in ancient Rome who collected taxes
23:18:00 <chiselfuse> heat: can you reply about the microkernels? i want to know
23:18:00 <heat> it was a joke, no one's replacing anything with microkernels and linux isn't dead
23:18:00 <heat> re: >gpl deters completely
23:19:00 <Ermine> the thing is that you need to describe all subtleties of gpl to the court
23:19:00 <kof673> and, not arguing the "internal distribution" either way, just ...it seems organizations/companies get treated as if they were an "individual" and hence, can "share amongst themself", without "distributing"
23:19:00 <heat> now, it is true that commonly corps avoid GPL. which is actually Not A Bad Thing if it means they won't steal code
23:20:00 <kof673> so probably has to be that way, without a restriction on what constitutes an "individual"
23:20:00 <chiselfuse> some other guy i knew insisted gpl does nothing to corpos who can just take code and is unlikely to get dragged to court even if discovered as an argument to make me not use gpl. i think he was just lying because he worked for a corpo and wanted to spread misinfo
23:20:00 <kof673> so i have not heard of such a license
23:20:00 <Ermine> MCST people figured out that they can ignore gpl if they're state-sponsored
23:20:00 <heat> MCST?
23:21:00 <Ermine> company which makes Elbrusen
23:21:00 <heat> >Moscow Center of SPARC Technologies
23:21:00 <heat> SPARC HAHAHA HAHAH AHAHA HAH HA HAHA HA
23:21:00 <heat> anyway yes that's a problem
23:22:00 <Ermine> They indeed released some sparc processors, but that was long time ago
23:22:00 <heat> see: chinese android vendors giving you a copy of the source code if you visit their offices in fuckoff, mainland china
23:22:00 <Ermine> yeah
23:23:00 <Ermine> Suing companies for violating gpl is extremely hard
23:23:00 <chiselfuse> but you can always tweet about it
23:23:00 <Ermine> that's free. Lawyers cost $$$
23:24:00 <heat> yes suing is hard but don't forget the power of deterrence
23:24:00 <heat> (particularly in the west)
23:24:00 <chiselfuse> jokes aside i wonder how effective it is to bad reputation them on reddit etc
23:24:00 <Ermine> > in the west
23:25:00 <chiselfuse> maybe a few people get fired at least
23:25:00 <heat> mon the CCP could release the windows xp source leak and nothing would happen to them
23:25:00 <heat> 'tis life
23:26:00 <heat> putin could spit the dvd encryption key in a press conference
23:28:00 <CompanionCube> isn't that broken already
23:28:00 <chiselfuse> how different are other ISAs like arm and aarch64 once you study amd64 thoroughly?
23:29:00 <Ermine> also, there are ru vendors that will literally ask you to fuck off when asked for sources
23:30:00 <CompanionCube> one of the memorable things about elbrus is a russian bank testing it and calling it unusable
23:30:00 <heat> should've used sparc!
23:30:00 <heat> chiselfuse, uhhh... somewhat
23:30:00 <kof673> "ask you to" ah, the counter offer j/k
23:30:00 <kof673> all according to "law" j/k
23:31:00 <heat> chiselfuse, say, aarch64 and riscv64 and x86_64 all bottom out to more or less the same thing, but in different ways
23:31:00 <heat> but if you know one of those ISAs, your knowledge will more or less easily transpose onto the others
23:32:00 <Ermine> CompanionCube: yeah, after that shitstorms ensued in elbrus communities
23:32:00 <chiselfuse> heat: even the system-level architecture or just userspace instructions etc?
23:32:00 <chiselfuse> about similarities
23:32:00 <heat> all of it
23:32:00 <heat> e.g all of those MMUs are very similar but slightly different
23:33:00 <chiselfuse> so aarch64 also has like 5 level paging and weird deprecated segment stuff?
23:33:00 <heat> riscv64 and aarch64 trap handling is similar, exceptions between the three are similar
23:33:00 <heat> no.
23:33:00 <Ermine> nobody has segmentation
23:33:00 <chiselfuse> weee splitting
23:33:00 <heat> aarch64 has 3-level paging, 4-level paging and i believe 5-level
23:33:00 <heat> nope, this is irccloud fucking off
23:35:00 <Ermine> No, there are people who i believe to not use irccloud
23:36:00 <heat> maybe a node just died
23:37:00 <chiselfuse> it's the matrix making you dream that irccloud went down, there are inconsistencies when you zoom into details
23:38:00 <heat> matrix makes me multiply it and i soon find out i don't know how to do that
23:39:00 <heat> fucken dot product
23:39:00 <chiselfuse> maybe operands are of wrong dimensions
23:40:00 <chiselfuse> supposed to be in dimesions of `axb bxa` or something
23:40:00 <chiselfuse> or axb bxc?