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
Left_Turn has quit [Read error: Connection reset by peer]
elastic_dog has quit [Ping timeout: 265 seconds]
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
elastic_dog has joined #osdev
lanodan has quit [Server closed connection]
lanodan has joined #osdev
rnicholl1 has joined #osdev
<bslsk05> ​github.com: Android-Docs/phantom-cached-and-empty-processes.md at master · agnostic-apollo/Android-Docs · GitHub
pog has quit [Remote host closed the connection]
<mcrod> heat: hi
\Test_User has quit [Quit: \Test_User]
AndrewYu is now known as Andrew
Andrew has quit [Killed (lead.libera.chat (Nickname regained by services))]
AndrewYu has joined #osdev
<heat> hi
[itchyjunk] has quit [Ping timeout: 260 seconds]
dude12312414 has joined #osdev
[itchyjunk] has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<mcrod> unrelated
<mcrod> it appears >=52% of reddit is dark
<heat_> unrelated
<heat_> have you seen perf_even_open(2)?
<heat_> it's horrific and beautiful
<moon-child> unrelated
<moon-child> have you seen avx512?
<moon-child> it's horrific and beautiful
radens has quit [Quit: Connection closed for inactivity]
andydude has joined #osdev
\Test_User has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
heat_ has quit [Ping timeout: 255 seconds]
SGautam has quit [Quit: Connection closed for inactivity]
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
rnicholl1 has joined #osdev
terminalpusher has joined #osdev
osmten has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
rwb is now known as rb
goliath has joined #osdev
bgs has joined #osdev
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
gmacd has joined #osdev
terminalpusher has quit [Ping timeout: 245 seconds]
andydude has quit [Quit: Leaving.]
gmacd has quit [Ping timeout: 255 seconds]
eck has quit [Server closed connection]
eck has joined #osdev
gareppa has joined #osdev
<sham1> The way Intel names SIMD instructions is amazing
<moon-child> pop quiz: which of the following is not the name of an intel simd instruction? PCLMULQDQ VPMULTISHIFTAFFINEQB8 VPWSSDS
<moon-child> no googling
<sham1> The first
<sakasama> Multipass. Oogling ignored.
SerHack has left #osdev [#osdev]
<moon-child> err sorry I typoed; should have been VPDPWSSDS
<moon-child> and yeah multishift was the fake (it is a portmanteau of two real instruction names though!)
<sakasama> Worry not. It granted me a Jovovich moment.
<moon-child> jovovich?
<bslsk05> ​'The 5th Element - Multi Pass' by aux lez (00:01:08)
<sakasama> (Yes, my brain's pattern matching is broken.)
pmaz has joined #osdev
<zid> chikken goud
GeDaMo has joined #osdev
Ali_A has joined #osdev
Ali_A has quit [Client Quit]
pmaz has quit [Quit: Konversation terminated!]
Ali_A has joined #osdev
luke86 has quit [Server closed connection]
luke86 has joined #osdev
hmmmm has joined #osdev
gareppa has quit [Quit: Leaving]
SGautam has joined #osdev
Terlisimo has quit [Quit: Connection reset by beer]
nyah has joined #osdev
gog has joined #osdev
<klys> https://mirrors.edge.kernel.org/debian/dists/ trixie? hehe here it was too: 23:21:00< enyc> https://www.debian.org/News/2023/20230610 17:31:54< enigma9o7[m]> what my bad, a triceratops
<bslsk05> ​mirrors.edge.kernel.org: Index of /debian/dists/
<bslsk05> ​www.debian.org: Debian -- News -- Debian 12 "bookworm" released
Terlisimo has joined #osdev
danilogondolfo has joined #osdev
elastic_dog has quit [Ping timeout: 260 seconds]
Jari-- has joined #osdev
elastic_dog has joined #osdev
sympt has quit [Server closed connection]
sympt has joined #osdev
elastic_dog has quit [Ping timeout: 265 seconds]
gmacd has joined #osdev
elastic_dog has joined #osdev
Ali_A has quit [Quit: Client closed]
gmacd has quit [Ping timeout: 265 seconds]
awita has joined #osdev
gmacd has joined #osdev
Jari-- has quit [Ping timeout: 265 seconds]
gmacd has quit [Ping timeout: 240 seconds]
Ermine has quit [Server closed connection]
Ermine has joined #osdev
awita has quit [Ping timeout: 240 seconds]
<mcrod> i wish we had static_assert at work
Left_Turn has joined #osdev
<Ermine> gog: may I pet you
sebastiencs has quit [Server closed connection]
sebastiencs has joined #osdev
<FireFly> but do we have static_assert at home?
<FireFly> (no I don't have a punchline for this)
<bnchs> we have static_assert at home
<bnchs> static_assert at home: if (condition) { printf(message); }
<mrvn> In C++23 why is it "auto foo(this X & self)" and not "auto foo(this & self)"? Meaning "this" as magic type instead of type modifier?
<mrvn> bnchs: +exit(EXIT_FAILURE);
<mrvn> and that's not static
<mcrod> basically, we have a segmented display at work
<mcrod> and I wanted to put in a compile-time check if someone is passing us a character that cannot be represented on the display
<mrvn> mcrod: and what is the problem?
<mcrod> can't do that, I don't even think I could do that with static_assert
<mcrod> the problem is it's C99
<mrvn> if constexpr (!is_printable(c)) { ... }
<mrvn> mcrod: duh
<mcrod> the problem is it's C99 <--
<mrvn> have you tried building it as c++?
<mcrod> sucks. i wish we could use a subset of C++.
<mcrod> yes, it doesn't work
<mcrod> and even if it would have
<mcrod> i'm not the one who decides if we can just use C++ :p
<mrvn> you could always build it as c++, throw away the result and rebuild as c
<mcrod> literally, that will not be allowed
<mcrod> I have no power
<mcrod> I cannot make those types of changes
<mcrod> even if I'd talk to someone they'd be like "wtf" cuz C++
<mcrod> "c++ in my embedded field no way"
<mrvn> it wouldn't be c++. Othwerwise the second compile run would fail.
<mcrod> brother
<mcrod> you've sold me
<mcrod> but
<mcrod> unless you want me to get fired i cannot do what is asked
<mrvn> But really. A subset of c++ is exactly what you want for embedded work.
<sham1> Doesn't GCC have an extension?
<mcrod> we're not on gcc
<mcrod> we're on iar
<mcrod> and yes mrvn i've been saying this for a while to these guys
<sham1> RIP
<mrvn> freestanding c++ - rtti - exception is really the way to go.
<mcrod> i assume you mean "minus rtti and exceptions"
<mcrod> and those dashes don't mean "include"
<mrvn> mcrod: that's what x - y - z means
<mcrod> hey
<mcrod> some people do that, and then mean +
<mrvn> freestanding c++ includes thwose two but most people don't want the overhead.
<sham1> Those people are wrong
<mcrod> it would be quite nice to use a careful subset of C++
<mcrod> but, it would be simpler to count every grain of sand on the shoreline than convince someone in embedded to use C++
<mrvn> mcrod: then you are working the wrong subset of embedded programmers.
<mcrod> are you kidding
<mcrod> C programmers dominate, repeat, dominate embedded work
<mcrod> embedded? C
<sham1> There is a sane subset of C++, which is mostly just the subset shared with C
<mrvn> there are still a ton of people using c++ for embedded
<mcrod> it also depends on what you're making
<mcrod> for stuff that's safety critical, gcc/clang isn't a safety certified compiler
<kof123> "dominate, repeat, dominate " is this one of those programmer reads a shampoo bottle jokes
<mrvn> and note: nobody said anything about using the STL. That's just plain out.
<mcrod> and those that _are_, don't support much of C++
<mcrod> no I know
<mrvn> mcrod: maybe you need to wait for the next generation to grow up, you know the generation that grew up with arduino.
<sham1> Gonna be a while
<gog> Ermine: yes
<mcrod> hopefully C++ is also dead by then
<mrvn> sounds like you don't like c++ yourself
<mrvn> hard to convince somebody to use a language you don't like yourself
<mcrod> i'm not quite a super fan
<mcrod> but it is the right tool for the job here
<mcrod> especially with the example I just gave
<mcrod> plus, we could reduce a decent amount of code duplication
<mcrod> class SomeOSTask : public HAL::OS::Task<SomeOSTask> would already be *a metric fuckton better* than what we're doing now
<mrvn> I shiver everytime someone reminds me that these safety critical machines use a language where strings and buffers don't use length checks.
<mcrod> well I don't work on safety critical machines, but :p
* Ermine pets gog
<mrvn> mcrod: make that class SomeOSTask : public HAL::OS::Task with "this deduction" in c++23
<mcrod> oh wow, that's neat
<mrvn> mcrod: only works for internal use. Not is some user of the class then tries to use "HAL::OS::Task &my_task = someOsTask;"
<mcrod> another thing that would be better would be `component.TakeSomeAction([]() { // do this when that's done });`
<mrvn> my_task.some_task_functiuin(); gives a failure for the reference.
<sham1> I'd think that there is still use for the curiously repeating template arg
<mrvn> mcrod: I have EXIT_SUCCESS { close(fd); };
<mrvn> EXIT_SUCCESS being a macro that hides the `component.TakeSomeAction([]() `
<sham1> Or does reducing this subsume all
<mcrod> mrvn: that seems weird
<mrvn> sham1: there is, for the external usage case where you want the mixed in methods to be callable on a reference to the mixed in type.
<sham1> Hm
<mrvn> mcrod: EXIT_SUCCESS only calls the next {...} block when the code doesn't throw an exception, EXIT_FAIL is the same for when it throws an exception and EXIT_FINALLY for always.
<bslsk05> ​'CppCon 2015: Andrei Alexandrescu “Declarative Control Flow"' by CppCon (01:07:34)
<sham1> I think I watched a Cppcon talk about that
<sham1> Ah yeah, thats it
<mrvn> I think it's a really nice way for error handling if you don't want to have your error path a few pages down from where the error happens.
<sham1> It's kinda like defer
<mrvn> And no need to use "goto fail1; goto fail2; goto fail3;" if you have to stack multiple cleanup codes.
<mrvn> sham1: sure. it defers the execution and even makes it conditional.
<mrvn> Anyway, you could have TAKE_SOME_ACTION(component) { // do this when that's done });
<mcrod> but what if the component doesn't allow whatever action TAKE_SOME_ACTION is doing
<mrvn> mcrod: then you get a compiler error
<mcrod> i mean yeah, you'll get a compiler error
<mrvn> With concepts you can even make it a good one
<mcrod> i dunno, it just feels unnatural
<mrvn> e.g. component lacks the concept "take_action"
<mcrod> see that's better
<sham1> I shudder to think about the compile time
* gog prr
<mcrod> our project is tiny
<mrvn> sham1: why would it be slow?
<mcrod> even if it would slow down, it would only be for an additional few seconds, guaranteed
<mcrod> I've been trying desperately to get people to use LLVM here
<mcrod> but, do not overestimate how much power I wield to influence people, which is none
<mrvn> I thought you need something safety certified
<mcrod> no I gave safety certification as an example
* mjg scratches gog behind the ear
<mcrod> unless we're worried about vending machines exploding when you buy a $2.50 coca-cola
* gog prr prr
<mrvn> step 1: compile with llvm, step 2: submit fixes for all the problems that shows, step 3: get famous for all the bugs you fix before release, step 4: tell people that you use llvm to detect them automatically
<gog> i've been back at work for 2.5 hours and i want to go home now
<mjg> programmimng work from the office in 2023
<Ermine> Monday
<mjg> you are doing life wrong
<sham1> Because concepts and such live in headers and I've noticed that those tend to be major bottlenecks especially with weird template things
<gog> it's easier to work at the office for the moment
<gog> until i have a home office
<gog> someday
<mcrod> mjg: it is getting increasingly more difficult to find fully remote work in the US at least
<mcrod> in part because of the asshole corporate people who think it's more efficient for everyone to be in an office
<mcrod> wait until they realize I implemented a whole feature in my bed, in my boxers
<mcrod> (yes, I'm angry about the whole RTO movement)
<mrvn> sham1: conpects actually make things faster than old style template deduction. But sure, compared to C that wouldn't type check things to the same degree it would be much slower.
<sham1> I work for uni. Remote? What's that?
<sham1> Researchers like this for some reason
<mrvn> you know, slirp and such
<mjg> mcrod: prgoramming tho
<mjg> i know other jobs got impacted
<mjg> managers gotta pretend they are of value
<gog> my manager isn't even here, he's god knows where. netherlands i think
<mcrod> my friend's manager is on the other side of the country
<zid> change the locks
<zid> your company now
* mjg has remote managers for over a decade now
gmacd has joined #osdev
<gog> he's not remote, he's just taking a week off lol
<sham1> Lucy you
<gog> no estaba aqui hoy
particleflux has quit [Server closed connection]
<mcrod> i want a fully remote job
<mjg> stop coming to the office
particleflux has joined #osdev
<mcrod> no
<mjg> you know i got fully remote first time around?
<mjg> :]
<mjg> how*
<mjg> i literally stopped showing up
<mcrod> maybe in poland workers have better protections
<mcrod> in the US, it's not the same
<mcrod> i would be _fired_ if I just stopped coming into the office
<mjg> my manager initially took issue with it
<mjg> i said y tho
<mcrod> we're not all rebels
<mcrod> and even if we were
<mjg> and that was that
<mcrod> i'd kinda like to move to my apartment soon.
<mjg> mcrod: mate in the US your employment is in danger everyday
<mcrod> that's correct
<mcrod> and the solution to that isn't to rock the boat
<gog> US work culture is something i still need to learn to shake off
<mjg> if you don't have savings for 6 months of living you doing it wrong
<mcrod> same thing
<mcrod> also, you assume most workers aren't living paycheck to paycheck
<mjg> you should probably interview for practice
<mjg> i don't assume that
<sham1> We developers liked Covid-remote, while the researchers didn't seem to. They have priority
<gog> i'm always anxious that i'm not doing a good enough job and that i'm about to get fired. i told my boss this and he's like "lol americans"
<mjg> unless we talking PROGRAMMING
<zid> gog: I did some python :(
<gog> zid: good job
<mjg> gog: how big is your workplace?
<sham1> RIP
<zid> noooo
<mcrod> just saying, it is not as easy or as simple as you might imagine
<mcrod> otherwise, everyone would be doing it
<mcrod> I could very well lose my job this morning (highly unlikely), but that's because worker protections in the US are virtually nonexistent
<zid> let's all play OldCoinPusherFriends2
<gog> mjg: there are 9 of us in the hq office
<mcrod> the last layoff round they let go most of the principal engineers
<zid> instead
<gog> then we have like 20-something sales reps that work at various places around town
<mcrod> because those are the guys who are making $$$$$$$
<mjg> gog: that's a small company then
<mjg> gog: in which cae you should be worried
<gog> wdym
<mjg> it's the big ones where you can do nothing for months
<mjg> before anyone notices
<gog> oh it's not like i do nothing
<gog> i work very hard
<mjg> i'm saing the small ones aer volatile
<gog> yes
<mjg> 2 bad months and things go to shit
<gog> it survived the pandemic
<gog> barely
<mjg> also pro tip: if you are working hard, you are doing it wrong
<gog> :<
<mjg> but i alredy ranted about this quite a few times
<sham1> Oh cool, Friday has 30°C
<mcrod> right now, i'm trying to work on a new tool for my team
<mcrod> am I doing it wrong
<sham1> It went from anomalously cold to this. FML
<mjg> mcrod: maybe
<mjg> is this the best thing for your customers
<mcrod> it's the best thing for me so I don't blow my brains out
<mcrod> arguably, more important than the customer.
Piraty has quit [Quit: -]
<mjg> at Initech we are a family
<mjg> which means the customer comes first
<gog> i worked at a company that was "family"
<gog> i had a meltdown and stopped going to work one day
<mcrod> was this in the US
<gog> one of the best days of my life
<gog> yes
<gog> they were trying to fire me and i should have let them
<gog> but i was tired of the place
<mjg> :d
<mcrod> yeah in the US there is this weird "family" attitude
<mcrod> if you see a job saying "we're a family", don't apply, or quit
<gog> yes, family are people you exploit for their labor
<gog> and then treat like crap when they struggle with stuff
<mjg> see the remark about working hard
Piraty has joined #osdev
gmacd has quit [Ping timeout: 255 seconds]
<mjg> CEO's yacht is not going to pay for itslef
<mjg> so make sure to stay for unpaid overtime
<gog> i actually don't do that under normal circumstances
<gog> there's only one time i did and it was an ongoing emergency
<mjg> funny story
<sham1> It's a family. It's weird, calling it a family probably doesn't have the wanted connotation
<mjg> at $workplace there was a temp emergency
<mjg> they ask the team to stay late
<mjg> i did not
<mjg> they said nothing
<mjg> hint hint
<gog> i was not asked, i did so voluntarily
<gog> the boss was indisposed and we were fucked every which way
<gog> i was rewarded handsomely
<gog> worth it imo
<mjg> if the company earned itself some good will
<mjg> or you are despreate
[itchyjunk] has joined #osdev
<mjg> then sure
<gog> the former
<mjg> otherwise spend NO
<mjg> s/spend//
<gog> because despite the technical challenges i do actually like this job lol
<mjg> spend the time getting skillz for the next job instead
<mcrod> you're even more bitter than i am, mjg
<mcrod> and that's something
<mjg> bitter?
<mjg> i'm in bliss mode mate
<mjg> i make my own hours, rarely attend any meetings and moslty pick my tasks
<mjg> i'm saying, if i was to go back to BIGCORP, and there was no strong team ruling with an iron fist
<mjg> i would do my best to fit in as bare minimum drone
<mjg> and put any effort into getting out to greener pasture later
<mjg> anything else at such a place is a recipe for burnout
<mjg> incompetent twats getting promoted ahead of you and you fixing their shite after == corp 101
<mjg> unless you make sure to not give a shit, which ir ecommend :)
gmacd has joined #osdev
<gog> i have a fluffy puppy under my desk
<gog> what's not to love
gmacd has quit [Ping timeout: 240 seconds]
<sham1> <3
<gog> on another note, i just got a message that punched me right in the feels and now i really want to go home. i'm gonna take lunch
<bnchs> awwww
mahk has quit [Server closed connection]
mahk has joined #osdev
gmacd has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
gmacd has quit [Ping timeout: 268 seconds]
MuonNeutrino has quit [Server closed connection]
MuonNeutrino has joined #osdev
gmacd has joined #osdev
gareppa has joined #osdev
gmacd has quit [Ping timeout: 240 seconds]
gareppa has quit [Remote host closed the connection]
heat_ has joined #osdev
andydude has joined #osdev
<heat_> mjg, hi im a recruiter for a sekrit corporation for your favourite enterprise and desktop distros. are you interested in a position?
<heat_> we pay.
<mrvn> in rubels?
<mrvn> .oO(We pay in SortixCoins)
<zid> do you pay
<zid> the money
<heat_> yes, we pay money
<heat_> multiple moneys, even
<sakasama> Do you provide waifus?
<heat_> gog, hey i got low blood sugar in the middle of my workout so i almost passed out and puked in the bathroom
<heat_> never forget that your day could be shittier than what it is atm
<sakasama> That's always a comforting thought.
<zid> heat_: That's the guilty from not feeding the kitty
<Ermine> poor heat_
<heat_> poor heat underscore
<heat_> but heat though, that guy's an asshole that does not feed kitties
<Ermine> I puked once too when I didn't have breakfast before workout
<heat_> i usually have little to no breakfast, like today
<heat_> i suspect i pushed myself too hard + shitty breakfast = barfing all over the gym's bathroom
<heat_> was a good workout though
gareppa has joined #osdev
<gog> i can't wait until gym tomorrow actually
<gog> i didn't work out all last week
<mjg> heat_: drink PRIME to hydrate
<heat_> found jake paul
<heat_> or is it logan
<heat_> i think its logan?
<mjg> logang 4 life
<mjg> now that you mention perhaps weird they don't promote the same brand
<mjg> OR
<mjg> the other fuck is not promoting an identical product made by the same company under a different name
<mjg> all while claiming there is a /beef/
<heat_> ALL BROTHERS LOOK THE SAME
<mjg> i mention prime cause earlier today i passed a kid carrying 2 bottles of it
<heat_> isn't jake a pseudo-boxer now?
<mjg> poor fucking sap
<sakasama> No, drink Brawndo: it has electrolytes.
<mjg> i though they both are?
<mjg> youtuber boxing or sometyhing
<heat_> i think logan is a pseudo-wrestler
<zid> did you remember to drink your verification can
<heat_> ah wait it was logan that fought floyd
<heat_> this shit is c o n f u s i n g
gareppa has quit [Quit: Leaving]
<zid> I prefer not to talk about and signal boost trash people
<zid> who actively detract from humanity
<heat_> >signal boost trash people who actively detract from humanity
gareppa has joined #osdev
gareppa has quit [Remote host closed the connection]
<heat_> github.com/heatd <-- JOIN FREE VBUCKS
<bslsk05> ​github.com: heatd (Pedro Falcato) · GitHub
<sakasama> zid: Humanity is a wreck: do your part; recycle.
<zid> I'd compost a great number of 'celebs'
gmacd has joined #osdev
gareppa has joined #osdev
<gog> i'm a celeb
<gog> i'm a niche internet microcelebrity
<heat_> "Gordon Ramsay reviewed the drink on Heart radio, describing it as "like swallowing perfume", and giving it 0/10."
<heat_> i need to try prime now
<sakasama> gog: Are you an organic or synthetic?
<gog> i'm a photonic
<heat_> i wonder if it has a woody flavour
<Ermine> Do not show him my cooking, he will get super enraged
* mjg burps
<gog> it's fucking rawwwwwwwww
<sakasama> Ermine: Who cares? He can't even make grilled cheese properly.
<mjg> what's up youtube, it's your boy logan
<mjg> (i have no idea what his greeting is, deal with it)
<heat_> what's up onlyfans, it's your boy mjg and today we're going to be looking at some HOT SINGLE FLAMEGRAPHS
gmacd has quit [Ping timeout: 268 seconds]
<mjg> in your area
<gog> where do i sign up
<gog> also yay the thing i'm doing finally works through the whole flow
<mcrod> oh my godf
<heat_> unrelated note: linux perf event stack traces give me a random ffffffffffffff80 as the first PC and I don't know why
<mcrod> CMakePresets is SO FUCKING GOOD
<mcrod> it's only missing one thing: can't specify the make program
<mcrod> as in, its path
<heat_> mjg, btw you didnt tell me why you think i should ditch my OS
<mjg> there is a point where the work done could as well be done on a "real" project
<mjg> again depends on your kinks here
gmacd has joined #osdev
<mjg> some people just like their the idea of a project they fully wrote
gareppa has quit [Quit: Leaving]
gareppa has joined #osdev
<mjg> how about you instead build on LEGACY
<mjg> of UNIX HACKERS
<mcrod> UNIX-HATERS*
<mrvn> heat_: stack underflow?
<mrvn> mcrod: put the path in PATH?
<mcrod> yeah but I was hoping we wouldn't have to do that
<mcrod> it's no big deal
<mcrod> just, I would've preferred it super streamlined
<mrvn> does it use the MAKE env?
<mcrod> no idea
<mcrod> maybe?
<mrvn> Why are you trying to use make in CMake anyway? It's supposed to replace that.
<mcrod> CMAKE_MAKE_PROGRAM points to the path of the generator you specify
<mcrod> e.g. the path of Ninja
<mcrod> not literally "make"
<heat_> mjg, my experiences looking at freebsd and hacking on it were miserable, openbsd and netbsd are a hard no, i have no place in linux (pay me!), fuchsia is futile to contribute to, etc etc
<mrvn> does ninja come with a cmake sniplet?
<heat_> so I don't see myself meaningfully contributing to any other open-source OS in the near future
<mcrod> no
<heat_> also Onyx is not tainted with the code of "other people" so nothing gives me more joy than to hack on it
<mcrod> now I'll make a pull request to you
<heat_> ok, i'm super picky btw
gmacd has quit [Ping timeout: 260 seconds]
<mcrod> basically, what I want people to do at work is simple
<mcrod> a) install VS build tools (no choice)
<mcrod> b) pull the repo, run the `fetch_toolchain.ps1` script
<mcrod> then open the project in any IDE
<mcrod> boom, it works
<mcrod> as god intended
<mcrod> wait a minute,.
<heat_> god did not intend for computers to exist
<mcrod> I wonder if I can specify CMAKE_MAKE_PROGRAM in the toolchain file
<mcrod> I'm sure I can
<mrvn> change your build system over to "gog" and boom, it works, as gog intended
<mcrod> basically, the toolchain ships Ninja, and if you're not using Ninja, you're on your own
<mcrod> (not to say that I wouldn't disallow someone from using another generator, that would be remarkably bad)
<mjg> heat_: you do you
* gog gogs
<gog> MSBuild or nothing
<mcrod> o holy gog, we bow to you
<gog> i demand an offering of cats and estradiol valerate
<heat_> mjg, i do be doin me. i've considered giving freebsd another shot. or linux but linux is mostly complete and I don't really have a spot there
<mrvn> estradiol valerate?
<gog> mrvn: girl juice
gmacd has joined #osdev
<heat_> the fucking sysctl code gave me cronic depression
<mjg> wait till you work in the industry
<mjg> it's all crap
* sakasama only has estradiol. :(
<gog> we can only work with the tools we have
<gog> cow tools
* sakasama disables cow.
<mcrod> it really sucks that clang doesn't just detect windows SDK raw
<heat_> If some of you people keep insisting on having backwards compatibitity with the stone age, we'll have stone tools forever
<mcrod> it REQUIRES vs build tools at minimum it seems
<heat_> - unknown UNIX derivative developer
<mjg> UNIKKKZ
<mjg> you know what's great
<gog> eunuchs
<mjg> nothing
<mjg> gog: you reminded me of black adder
<mjg> do you know what that is
<gog> yes
<heat_> the UNIX of old
<mjg> brah
<mjg> gog: how old are you dawg
<gog> 35 bro
<mjg> heat_: go watch some episodes, genz
<mjg> gog: 's about my age mate
<mjg> you gave yourself away by knowing the show
<Ermine> heat_: welcome to genz
<gog> "congratulations, you played yourself"
<gog> dj_khaled.gif
<heat_> Ermine, why are you welcoming me
<Ermine> heat_: because mjg identified you as genz
<heat_> i've always been genz
<Ermine> Hm, I thought you're millenial
<heat_> anyway I'd like to pull up the andrew tate UNIX of old clip but r/linuxcirclejerk is privated
<sbalmos> i'm miserably ashamed/insulted to be at the far old end of millennial
<zid> sakasama: I have paracetamol if that helps
<zid> It ends in -ol, so maybe!
<gog> heat_: lmao i tried too
<mjg> i have admit it is boomer of me to bring it up though
<gog> the kings of old wanted unix
<gog> ok boomer
<mjg> OH
<mjg> right in the nokia 3310
<gog> i had one of those too
<gog> maybe i'm also a boomer
<heat_> jamie, please pull up the UNIX of old clip
<mjg> i did in hs
<gog> i had a motorola v60 i
<mjg> i was the rich class in hs
gmacd has quit [Ping timeout: 250 seconds]
<sakasama> zid: I'm allergic to it, so... it might possibly cure my symptoms.
<mjg> in my shite hometown it was a privilege to have a cellphone at the time
<gog> mjg: where u from bro
<gog> i think my coworker is from katowicze (sp?)
awita has joined #osdev
gmacd has joined #osdev
<mjg> that would be katowice
<mjg> i'm from a small shitetown in the south
<heat_> mjg is from philly
<mjg> mountain area
<mjg> heat_: i'm mobbed up in new jersey
<heat_> he's polish-american but is one of those "really ethnical" americans
osmten has quit [Quit: Client closed]
<heat_> ever since ancestry.com told him he's 2% polish he's been KURWA MAC
<mjg> there was a funny sopranos episode where they went to italy
<mjg> turns out their self-proclaimed ancestry is not recognized
<mjg> heat_: i'm 3% italian so i say OH more often
<zid> I think being 3% italian makes you 100% american
<heat_> 3% italian + 3% irish = 200% murica
<mjg> but if i weigh below 100 kg i'm at most 50% american
<mjg> boom roasted
<gog> does that make me 70% american
xenos1984 has quit [Read error: Connection reset by peer]
<mjg> gog: dependz. what's your BMI dawg
<mjg> gog: or just height
<heat_> what's your SSN
xenos1984 has joined #osdev
<heat_> show me your IBAN
gmacd has quit [Ping timeout: 265 seconds]
<gog> mjg: 172cm
gmacd has joined #osdev
<mjg> gog: at ~4kg away from being considered mildly overweight, i estimate you to being at most 30% american
<mjg> if you fit in a chair are you even trying tho
<gog> better stop exercising
<mjg> asking the real muricans here
<mjg> gog: ye, have a snack instead
<mjg> fun fact: i broke my scale last year
<mjg> but not for being too fat
<andydude> I think being born in america makes you 100% america
<mrvn> mjg: you are 97% monkey.
<mjg> (i'm at 80kg :p)
<andydude> I was born in amera
<mjg> probably some fucking BSD code in there
<andydude> ica
<sakasama> gog is 140kg?
<andydude> wait mrvn's DNA is BSD code? how is that even possible?
<mrvn> andydude: no way
<gog> sakasama: 70 :P
<sakasama> gog: Oh, that would make you merely 35% American by mjg logic.
gmacd has quit [Ping timeout: 260 seconds]
* mjg sends gog a chocolate bar
<mjg> gog: when is your cheat day? mon-fri?
<andydude> I wouldn't be surprised if i was 5% BSD
<mjg> andydude: if you are not old and cranky, you are 0% BSD
<andydude> I am both, actually
<sakasama> I wonder if I even have DNA. It's felt like something's missing for a long time now.
gmacd has joined #osdev
<heat_> gog, yeah what the hell was that math
<Ermine> 100% American == 200kg?
<mjg> sakasama: maybe you can ask chatgpt to fill in some gap
<zid> I am also 70kg and 172cm
<heat_> we're all 70kg and 172cm in this blessed day
<zid> wait no I am taller
<zid> I forgot how measuring things worked
<zid> 182cm*
<zid> Thankfully heat only courts men above 182.88cm so I am safe
<mcrod> i am short
<mcrod> 167cm
<heat_> short kings stand up (literally, we must)
<zid> Do you have a similarly short sister
<mcrod> i don't have a sister
<zid> boo, I finally find someone with midget genes
<zid> and they have no sister
<mjg> i'm taller than zid if i stop being slothed forward
<zid> how does one slothe
<gog> mjg: the only thing i avoid now is refined sugar
<gog> i cheat whenever i like, i just mostly don't eat have any or keep it in the house
<gog> also crisps
<zid> I stick to a string orangutan based diet
<zid> They discontinued my favourite food, dolphins
<mjg> i thought that's thew ord
* mrvn is on the eat what you want when you want as much as you want (or at least have available) diet.
<mjg> it's about not sitting/standing straight
gmacd has quit [Ping timeout: 260 seconds]
<mjg> and having your posture deteroriate with head moving a little forward
<mjg> and down
<zid> slouch
<mjg> "nerd neck" or however they call it
<mjg> souch
<mjg> aight
<zid> I look down at my monitor like it has offended me greatly
<mjg> i'll remembert with the typo
<zid> usually because someone has
<mrvn> you've reached the perfect sluch when your chin hits your belly.
<mjg> and perfect weight when you can't see your dick
<zid> "i love cmake" "c++ is great" etc
<mjg> gog: mmm so are you pretending to be on any particular diet?
<gog> nope
<heat_> mcrod, seriously do you like cmake or is this just stockholm syndrome at this point
<mjg> godo for you
goliath has quit [Quit: SIGSEGV]
* mjg is on LIVER KING DIET
<gog> lmao
<zid> reddit itself is currently down, I accidentally hit r[enter] on my browser from force of habit
<zid> there's nothin there today anyway and somehow it's still not working, lol
<mjg> i just checked and it works
<mjg> but thanks to you i learned r/badhistory was made private
<mjg> wtf is that about
<mjg> one of the few subs worth visiting
<GeDaMo> It's a protest about the API fees Reddit wants to introduce
<mjg> ooh
<GeDaMo> Today and tomorrow
<GeDaMo> Although some subreddits have said they'll stay dark indefinately
<mjg> i'm guessing the usual sludge factory is unaffected
<zid> It had to be a monday eh btw
<heat_> what sludge factory
<zid> honzuki releases are monday, so no discussion thread :(
<mjg> broo
<mjg> heat_: you do realize reddit is home to rather... extremist communities
<mjg> of any variety
<heat_> yes
<zid> yes, we know it has americans on it
<mjg> then RED PILL i'm guessing operates as usual, and so does its counterpart femaledatingstrategy
<mjg> the latter is so outlandish one would be excused to think it is a parody
<mjg> GeDaMo: heh i pulled of a Typical User on this one
<mjg> > This subreddit is set to private as part of a joint protest to Reddit's recent API changes, which breaks third-party apps and moderation tools. We're not accepting approved user requests either, so please don't message the mods.
<heat_> oh haha reddit is dead for me
<gog> reddit delenda est
<zid> yea was dead for me too, like.. they can't handle the traffic today of all days?
<heat_> i went to check if the GREATEST SUB ON EARTH r/pyongyang was up
<GeDaMo> Maybe somebody is trying a DDOS?
<gog> cloudflare
<mjg> heat_: lol
<mjg> what are they doing over there? memeing THE GREAT LEADER?
<sham1> heat_: you have been made moderator of /r/pyongyang
<mjg> i got 2 load errors, worked the 3rd time
<mjg> i can confirm r/books -- a massive sludge factory -- operates as usual
<GeDaMo> Yeah, I'm seeing a few "you broke Reddit"
<heat_> are we getting API ratelimited too? :v
<sham1> Meanwhile the Lemmy instance I migrated to seems to be under pressure. Hug of death
<GeDaMo> Some subreddits are still open but not allowing new posts
<sham1> No NSFW in API calls. Absolute stupidity by Reddit Inc
<mcrod> fucking crazy though
<mcrod> over 90% of reddit is dark
<zid> "yes"
<mjg> mcrod: is it?
<mcrod> according to reddark
<mjg> as a rule i don't visit r/all
<zid> it isn't a comprehensive list at all
<GeDaMo> That image is from https://reddark.untone.uk/ which also doesn't seem to be working
<bslsk05> ​reddark.untone.uk: Reddark
<zid> maybe aws had a shit
<mcrod> i wonder if reddit just pulled the plug entirely
<heat_> absolutely
<zid> or if yea it's just timing out so many reddit requests that it's died
<heat_> "aww this shit sucks anyway, bye, see ya"
<GeDaMo> I can still get to some pages on Reddit
<mjg> > 0/0 subreddits are currently dark.
<mcrod> either way, the participation in this is immense
<mjg> aight
<mjg> good number
<sakasama> Is r/amitheasshole filled with fake posts from reddit corporate? L
<GeDaMo> Divide by zero :|
<mcrod> i never expected anything like this
<zid> I think 0/0 in javascript is probably "empty array", GeDaMo
<heat_> i think it's a NaN?
<gog> it's NaN
<zid> I think it's Object
<sham1> It's NaN
<zid> It's True
<mcrod> has some asshole come up with a npm package called `NaNi` yet
<gog> it's flatbread
<gog> it's naan
<Ermine> It's undefined
<gog> you're undefined
<sakasama> Also known as "we gave up".
<zid> gog your american accent is showing
<heat_> mcrod, you could be the asshole
<heat_> believe in yourself!
<bslsk05> ​i.imgur.com <no title>
<zid> You couldn't ask for a better teacher than heat either
<sakasama> Naan have up on bread; NaN gave up on numbers; Nana gave up on children.
<Ermine> gog: undefined does not have pet() method
<gog> :<
<zid> [] + 0 = "0"
<zid> cus ofc
<mjg> found the webdev!
<GeDaMo> This one is working https://reddark.nextflow.cloud/ "7204/7806 subreddits are currently dark."
<bslsk05> ​reddark.nextflow.cloud: Reddark
<zid> Maybe that's why reddit is dead
<zid> 400 tracking sites hammering it for updates
<zid> they should add API pricing to rate limit this shit
<heat_> lmao
<mjg> > r/prettynormalfuckery has gone private!
<mjg> lol
<mjg> got a notification
<zid> anyway re the api pricing, 99% sure it's "stupidly high" because they've priced it for google etc's ML scraping
<mjg> is 7806 the real total of all subs?
<mjg> seems oddly low?
<zid> not people who actually use the website
<zid> mjg pay more attention
<GeDaMo> It might just be the subreddits with over a certain number of subscribers
<zid> [15:41] <zid> it isn't a comprehensive list at all
<nortti> aiui it's subs that have pledged to go dark
<mcrod> Reddark pulls the list of participating subreddits from the threads on r/ModCoord. If you are the moderator of a sub that is going dark and that is not displayed on Reddark, you can message the r/ModCoord moderators to request that the subreddit is added to the relevant thread.
<mjg> aight so is there an estimate how much of reddit is really going dark?
<heat_> mjg, "And beer results in ideas, which results in new code." theo deraadt
CalculusCats has quit [Quit: Meow Meow Meow Meow Meow Meow Meow Meow]
<mjg> fucking protest, im' now genuinely curious what r/prettynormalfuckery is all about
<zid> I wanna know what r/hentaibitchsuits is
<GeDaMo> Maybe it's on archive.org :P
<sham1> It's about pretty normal fuckery
<sham1> zid: I do too. For research
<zid> same
<zid> This is the best advertising campaign ever for small subs
<sham1> Anyway, annoyingly like most if not all NSFW subs have gone dark and they haven't even told where an alternative is
<mcrod> i wonder how the Apollo guy is feeling
<mcrod> probably very proud
CalculusCats has joined #osdev
<sham1> With how he was treated by spez and pals, probably pretty good
<mjg> r/badmathematics is also private and links to a 404 explanation what's up
<mjg> same with the r/badhistory links
<mjg> did reddit itself scrap ito r what
<Ermine> Reddit doesn't want to let me on r/MonCoord
<zid> monster coordination?
<heat_> well, because it's r/ModCoord
<heat_> Monday coord
<zid> MONHUN coordination
<mcrod> i wonder if spez will get ousted
<mcrod> i doubt it
<mjg> who spez
<heat_> ceo
<zid> https://www.youtube.com/watch?v=VmpTYfP9lNU I'll watch weird youtube videos instead
<bslsk05> ​'Was it Good? - Silent Bomber' by Josh Strife Plays (00:49:51)
<GeDaMo> I got on to r/ModCoord once out of three attempts
<mcrod> and my god am I hungry
<zid> borrowed this from a friend, I liked it
<mjg> i got de-404 by replacing the link with old.
<heat_> mcrod, i'm austria, you're hungry
<heat_> hehehehehe
<GeDaMo> I only use old.reddit.com anyway :|
<sham1> heat_: that makes mcrod more powerful off the two of you
<heat_> no
<heat_> austria was always the big dog, hungary was *strong*, hence why they formed austria-hungary
<heat_> but not stronger
<zid> also, I suck at remembering OLLs
<zid> and PLLs
<mjg> GeDaMo: so do i, but the clicking on the link did not preserve it
<heat_> mjg, after the 400000 partitions of poland were you austrian, russian or prussian?
<mjg> austro-hungarian
<heat_> that's poggers
<heat_> least bad choice for sure
<mjg> dude
<mjg> did you know that good guy adolf considered my people to be racially pure
<mcrod> almost vomited
<mcrod> thanks for that
<mjg> i'm from a minority dubbed "goralenvolk"
<mjg> there was an attempt at conscripting them into SS
<mjg> which weirdly failed. can you believe it, people did not trust the nazis
<sham1> hmm
<gog> must be all the killing they were doing idk
<mjg> gog: could be, who knows
<heat_> didn't they conscript by force or was it just for the wehrmacht?
<mjg> they were conscripting to wehrmacht and ss in the west
<mjg> succesfully by threating families and so on
<heat_> i know a lot of eastern europeans/balkans were force-conscripted into fighting in france
<mjg> quite frankly i don't know squat about that
<mjg> i do know they managed to conscript a bunch of goralenvolk after getting them wasted
<mjg> but it turned out to be a disaster
<heat_> did they go just for the free booze or something
<heat_> "u know where you can get a lot of free booze like this? normandy!"
<mjg> the story goes they got wasted at a party
<mjg> and were given documents to sign after
<mjg> and got shipped out still hungover
<mjg> was basically a prank by ss
<heat_> GET PRANKED BRO
<mjg> would be a mad tiktok
<heat_> we get israeli psyop tiktok girls now
<heat_> imagine the ww2 german psyop tiktok girls
<mjg> now that you mention, at the beginning of the ukraine war there was quite a pr push showing female soldiers
<mjg> you made me realized that disappeared real quick
<heat_> join the army guyz, we have girlzzzzzz (they dont)
<heat_> mjg, ok real talk is this funny for millenials like you: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mg/Attic/theo.c?rev=1.125
<sham1> tbf, that is funny
<sham1> It's like fortune but only Theo
<heat_> it's like fortune but with really crass quotes
<sham1> You can certainly get fortune with crass quotes and even other similarly nsfw quotes
<heat_> "Quite frankly, SSE's alignment requirement is the most utterly retarded idea since eating your own shit"
<mjg> there was a theo fortune file somewhere
<mjg> and it was quite funny
<heat_> theo has some funny quotes
<heat_> but this is just tasteless shit
<sham1> IIRC yes. I also recall that either plan9 or 9front specifically had also a theo command
<mjg> ye that
<heat_> in the fucking OPENBSD DISTRIBUTION
<heat_> it's like the GNU abort() joke but 100x worse
<sham1> > Hacker News is also slowing down
<sham1> We really have reached peak Internet
<mjg> there was a bot with !theo command
<heat_> yeah it's glenda
<heat_> "i am a packet sniffing fool, let me wipe my face with my own poo"
<heat_> peak comedy
<sham1> > "Write more code."
<sham1> Understandable
<gog> do not write more code
<gog> delete code
<gog> there is enough code in the world, we should fix the code we already have
<GeDaMo> unwrite code
<heat_> unexec programs
<bslsk05> ​whitequark/unfork - unfork(2) is the inverse of fork(2). sort of. (36 forks/1424 stargazers/0BSD)
<heat_> wait no not like that stop richard stallman don't poke into malloc interna- Segmentation Fault
<sakasama> Rewrite it in Rust!
<nortti> "fork(2) splits one process (really, address space) into two. unfork(2) joins two address spaces into one."
<sham1> sakasama: no
<kof123> i feel a spoon() opportunity was missed
<heat_> oh look, whitequark
* sakasama induces nightmares.
<heat_> the person that logs this stuff
<kof123> i don't know what spork() would do
<sakasama> Stabs someone, presumably.
<kof123> Bart : [disappointed] Oh... tomorrow we were gonna find out who the dish ran away with. Lisa : The spoon, Bart. Bart: Of course!
eddof13 has joined #osdev
<sham1> Oh nice, the unfork(2) is under 0BSD
<heat_> such warcrimes need to be AGPL'd
awita has quit [Ping timeout: 265 seconds]
<sham1> It's nice to see people using actually free as in freedom licenses
<mjg> they do it cause more business friendly
awita has joined #osdev
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
goliath has joined #osdev
<sham1> Yes
eddof13 has joined #osdev
<gog> that's not a knife(), this is a knife()
andydude has quit [Quit: Leaving.]
<zid> My python thing is under gpl2 apparently
<zid> How much hacking do I need to do before I can remove the licence
<zid> delete 90% of the lines, rename all the vars?
<gog> just include the license header and wash your hands of it
<mcrod> what is this even for
<GeDaMo> Just rewrite it in Rust :P
<gog> ruuuuuuuuuuuuuuuuuuuuuuuust
<zid> GeDaMo offered to rewrite blender in rust? til
<GeDaMo> Pfft! Just write your own 3D modeller, how hard can it be? :P
* kof123 raises by tossing fish in the center. i see you've played knifey spoony before
* gog chomp fishy
Left_Turn has quit [Ping timeout: 265 seconds]
gildasio has quit [Ping timeout: 240 seconds]
Left_Turn has joined #osdev
<zid> It's too warm I don't wanna do anything
<zid> I understand why portugal has no famous people now
xenos1984 has quit [Ping timeout: 255 seconds]
<zid> except that one guy who was so desperate to leave he begged to be allowed to sail into the atlantic
xenos1984 has joined #osdev
FreeFull has joined #osdev
<gog> it's gonna be 17° on Wednesday :o
<gog> and sunny!
<gog> gordon_ramsy.jpg "finally, some good fucking weather"
<sakasama> His grilled cheese will never melt that way.
andydude has joined #osdev
<mcrod> it is decided
<mcrod> microsoft teams is garbage
<gog> microsoft ~~teams~~ is garbage
<gog> ftfy
<mcrod> gog may I pet you
<gog> yes
* mcrod pets gog
* gog prr
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gog has quit [Quit: Konversation terminated!]
sham1 has quit [Ping timeout: 250 seconds]
* mjg burps
nortti has quit [Server closed connection]
nortti has joined #osdev
andydude has quit [Quit: Leaving.]
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
<mcrod> sometimes, working from home has its disadvantages
<mcrod> the disadvantage being when you can't see what someone is doing when they're having a problem
dutch has quit [Quit: WeeChat 3.8]
<sakasama> You just haven't installed enough cameras.
awita has quit [Ping timeout: 250 seconds]
bauen1 has joined #osdev
eddof13 has joined #osdev
<mjg> mcrod: there is screen sharing progs tho
<mcrod> yes, there is
<mcrod> but this person isn't an engineer or competent in the art of computers at all
<mcrod> which is fine
<mcrod> but there's a limit
<mcrod> I'm wfh, so I had to send my intern over the lab
* mcrod cry
bauen1 has quit [Ping timeout: 240 seconds]
<mjg> ask gog to pet you
<mcrod> she's gone
dutch has joined #osdev
bauen1 has joined #osdev
<mcrod> mjg: may i pet you
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<zid> mcrod you may pay me
* mcrod pays zid $0.00001
q3lont has joined #osdev
frkazoid333 has quit [Remote host closed the connection]
foudfou has quit [Ping timeout: 240 seconds]
foudfou has joined #osdev
<mcrod> ...excuse me
<mcrod> ubuntu doesn't include lld?
<mcrod> in the llvm package?
<mcrod> what? hah? is this a nightmare?
q3lont has quit [Ping timeout: 240 seconds]
<mcrod> maybe I should use https://apt.llvm.org/ on CI instead then
<bslsk05> ​apt.llvm.org: LLVM Debian/Ubuntu packages
thatcher has left #osdev [tubing out]
eddof13 has joined #osdev
<mcrod> oh i see
<Ermine> mcrod: they might put it into a subpackage
rnicholl1 has joined #osdev
gildasio has joined #osdev
<mcrod> yep I see it
<mcrod> ok
<mcrod> I wonder how quick CI will die, it's building LLVM now
<mcrod> with clang, but regular ld :(
foudfou has quit [Ping timeout: 240 seconds]
foudfou has joined #osdev
andydude has joined #osdev
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
foudfou has quit [Ping timeout: 240 seconds]
<heat_> zid, if you allow portuguese people to leave and be producive, you end up with devin nunes
<heat_> so it's best for everyone's safety that portuguese people do not leave
<mcrod> you're a weird guy
<mcrod> but yes, devin nunes is vomit incarnate
<heat_> why am i a weird guy
<heat_> fuck you you're the weird guy here
<mcrod> :(
<mjg> OH
<mjg> where is you inclusivity motherfucker
<mjg> i mean plural
<heat_> you're the weird folk
<mjg> https://reddark.nextflow.cloud/ r/funny went dark
<bslsk05> ​reddark.nextflow.cloud: Reddark
<mjg> nobody is laughing now!
<heat_> good mornin yall
<heat_> good it's just like the theo fortune thing
<mjg> heat_: that would be weirdenvolk
<mcrod> i should play some elden ring
<heat_> it's beautiful to realize just how much of reddit is NSFW
<Ermine> It is nice
<mcrod> any bets on how long the LLVM build will take
<mcrod> LTO is enabled with GNU ld
<Ermine> But anonymous boards are better suited for such content imo
<heat_> what cpu how much ram
<mcrod> i have no idea
<heat_> you mean github actions?
<mcrod> yes
<heat_> what kind of LTO?
<mcrod> whatever LLVM uses by default
<mcrod> I think thin
<heat_> oh wow it's LTO you're fucked
<heat_> yeah 12hrs to +inf
<mcrod> my goodness
<mcrod> well if it gets that bad i'll kill it
<heat_> i told you, thinlto takes 5
<Ermine> Is LTO the hardest part?
<heat_> yes
<mcrod> LTO is definitely the hardest part
<heat_> it's basically recompiling everything again
<Ermine> And how much do you gain from this?
<mjg> days of delay man
<mcrod> LTO means speed
<mcrod> oh no
<mjg> LTO means fentanyl
<mjg> liek i'm all for optimization by compilers 'n shit
<mjg> but was there any effort put into making the source code not suck?
gareppa has quit [Quit: Leaving]
<heat_> some people find the tradeoff worth it
<Ermine> What about using mold?
<mjg> lIcEnSe
<nortti> does mold do lto?
<mcrod> why isn't there a linker called old
<heat_> it's not the linker's problem per se
<heat_> they use linker plugins
<heat_> there's a whole relatively opaque LTO API that you use to call into the linker plugin
<mcrod> i wonder if the CI pipeline will just kill the build
<heat_> e.g gcc -flto linking does /bin/ld --linker-plugin=/x86_64-onyx/lib/libLTO.so
<mcrod> it's been 48 minutes
<heat_> then ld just dlopens the linker plugin and calls it
<heat_> mcrod, not really
<Ermine> Do they have limited number of free CI hours?
<mcrod> no idea
Vercas1 is now known as Vercas
<heat_> no
<mcrod> of course though, we're not going to get fancy EPYC shit deployed to us
<heat_> you have a 2-core xeon and some 8GB of ram
<mcrod> basically worthless
<heat_> cry
<heat_> it's literally free
<mcrod> motherfucker I get that
<mjg> ey
<heat_> are you turning into mjg
<mcrod> maybe
<heat_> are you going to start saying mofo
<mcrod> no
<mjg> i was going to suggest shorting the word
<mjg> mofo or mofer
<heat_> oh yes mofer is also a classic
<mcrod> i wonder if you can pay for beefier hardware
<mjg> i'm saying what you probably want the most is basic profiling data
<mjg> do you have that mofo
<mjg> shite code optimize with lto is shite/2 at best
<mjg> if nobody had a critical look with a profiler one has to expect massive problems
<mcrod> "In addition to the standard GitHub-hosted runners, GitHub also offers customers on GitHub Team and GitHub Enterprise Cloud plans a range of larger runners with more RAM and CPU. These runners are hosted by GitHub and have the runner application and other tools preinstalled."
<mcrod> basically, not any of us
<heat_> mjg, profiling on what?
<heat_> LTO in general or "my" LTO binary?
<mjg> target fucking cpu with target fucking workload
<heat_> cuz the effects of LTO are largely understood
<heat_> ofc it depends on the codebase
<heat_> like chrome and shit have huge wins with LTO
<heat_> clang too
<mjg> i'm not claiming lto should be canned
<heat_> linux... not quite, it's a mixed bag (everything you want to inline is already static inline or even __always_inline anyway)
<mjg> i'm claiming a codebae which was not even profiled is not a candidate for lto
<mcrod> i call crap on that
q3lont has joined #osdev
<mcrod> I would probably wager that, while it depends onthe codebase, the benefits you get for 'free' are worth it
<heat_> i agree but sometimes the wins are really too obvious. like rust for instance always does LTO by default or some weird shit like that
<heat_> if you have a heavy C++ codebase you can probably safely enable it by default too, without measuring
<mjg> you may get visibly faster, but you are still going to suck
foudfou has joined #osdev
<mcrod> what defines "suck" here?
<mjg> instead the thing to do is to check what is happening
<mcrod> profiling is indeed critically important
<mjg> right, so did you do it?
<mcrod> i'm building LLVM
<mcrod> which, as heat_ stated, has known LTO gains
<heat_> lots of people think it's worth it to sacrifice build time in exchange for more readable/prettier/modular-er code
<heat_> i don't but i'm also not a WORLD RENOWNED C PLUS PLUS EXPERT
<mcrod> i don't know why a new project *wouldn't* use LTO unless their build times are extraordinarily bad
<heat_> it's annoying, it's not a win in lots of cases, it's annoying, it takes a lot of time to go through, it's more bug prone, it's also annoying, it uses more memory
<heat_> it's undebuggable
<mcrod> as in, the resulting application or the the build uses more memory
<heat_> 2) is guaranteed, 1) depends (measure!)
<mcrod> right
<mcrod> i don't disagree that people should be pulling out profilers quite often
<heat_> vmonyx supports LTO but I don't build with it on because I really value small build+test times
<mjg> only LTO for the release
dude12312414 has joined #osdev
<mjg> .. he
<mjg> he
<mjg> i'm sorry
<heat_> what
<mcrod> drunk
<mcrod> so, maybe I should play elden ring
<mjg> is adding LTO a ploy to justify elden ring time at work?
<mcrod> no
<mjg> openbsd uses code time pessimiztion
<mcrod> openbsd is kinda weird
<heat_> kinda
<Ermine> pessimalisation
<heat_> this beef is fucking PESSIMAL
<geist> if only you used itanium
<mjg> lto on itanium would be rad
<mjg> just sayin
<mjg> ahead of its time!
<heat_> i bet cpu microcode probably gets LTOd
<heat_> either that or it's a single source file
<geist> hand tuned almost certainly, and thus probalby LTOed yeah
<geist> in the sense that a human does it
<heat_> i have a strong uneducated supposition that it's all automated exactly like a compiler
<heat_> i really have no insight into microcode
<heat_> am i wrong for doing symbolization as "symbolname+offsetinhex"
<heat_> everyone else seems to do decimal offsets
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #osdev
<geist> yeah modern microcode probably
<geist> i was thinking more in terms of older stuff
q3lont has quit [Remote host closed the connection]
* heat_ turns on LTO and finds a bug in the new page allocator
<nikolar> kek
<mcrod> almost 2 hours now
foudfou has quit [Ping timeout: 240 seconds]
rnicholl1 has joined #osdev
awita has joined #osdev
danilogondolfo has quit [Remote host closed the connection]
andydude has quit [Quit: Leaving.]
andydude has joined #osdev
nikolar has quit [Server closed connection]
<heat_> haha i was wrong, the page allocator is p e r f e c t
<heat_> there was a bug in some unrelated bit of code that did vaddr - KERNEL_VIRTUAL_BASE and was never updated to take into account the physical ASLR offset
nikolar has joined #osdev
<heat_> the radical memory layout change from using LTO must've made it sad
<zid> what does one do with an hour, if not reddit, hmm
<bslsk05> ​tildes.net: Tildes
<zid> these people are insane
<zid> "What are you 3d printing?" "What microbrew are you inventing?"
<zid> where is "What's the best sausage roll and why is it greggs?"
<zid> "There's a hedgehog in my garden making a nest"
<GeDaMo> That sounds a bit UK-centric :P
<zid> LTO is the 'sufficiently smart compiler'
<zid> My entire gameboy emulator gets inlined into main and called BITSET.n.23892
<heat_> you also lose most of your observability by default (unless you go around and noinline things)
<zid> That sounds like a "I fucked up my static/extern and need to now fix it" issue
<zid> like the -fcommon change
foudfou has joined #osdev
<heat_> how?
<zid> how does it not
<zid> if you want the magic viewing window, don't take the sight glass out
<heat_> how can static/extern fix my __vm_handle_pf absorbing vm_handle_non_present_pf
<heat_> both are normal non-inline functions that get inlined by LTO
<zid> that's not a thing that needs fixing
<zid> so dw
<heat_> it is
<zid> your tool just doesn't understand it needs to addr2line every opcode
<zid> and create a reverse mapping
<heat_> most tools do not interpret DWARF, they just assume the functions have logical meaning
<heat_> it also sucks if ie i want to trace a single function using mcount patching. oh wait it's not present, it got inlined
<zid> That's not how C works, smh
<zid> stop breaking the execution environment
<heat_> i also personally have 0 clue as to how LTO manages the stack, but i assume it does The Wrong Thing
<heat_> that would be typical
<heat_> if i call 3 functions that have stack frames of {200, 500, 1024} bytes, does inlining them get me a single stack frame of size 200 + 500 + 1024?
<geist> in general i've seen the compiler do the generally Right Thing with regards to recycling stack space based on the lifetime of stuff
<heat_> oh that's good at least
<geist> but also in C++ since the language is pretty strict about when things go out of scope it helps if the programmer does the right thing
<zid> LTO always does the right thing, you just want it to do the wrong thing :p
<zid> so that your bizzare UB works
<zid> bizarre
<zid> that looks wrong both ways I give up
<zid> strange.
<geist> i think it's a case when there's no dsetructor or whatnot it can be more flexible about how it recycles stuff
<geist> but in general i've seen stack usage go up with LTO, i think because it can inline and then blend the scope of things
<heat_> hmm, interesting
<heat_> like actual stack usage? top - sp? or just stack frame sizes?
<geist> though really take that with a big grain of salt. totally depends on the codebase and the style
<geist> stack frame sizes, since you may end up with larger functions
<geist> overall stack usage is a more subtle question
<zid> Oh I figured it out
<zid> C() { A(); B(); }
<zid> if both A() and B() inline, instead of C+A then C+B
<zid> you end up with C+A+B
<geist> right, but you can logically think of it as
<geist> C() { { body of A } { body of B } }
<geist> so it can and many times does recycle the same stack for the two scopes
<geist> but then it also depends on how much freedom and how hard it merges the body of A and B
<geist> i think if you have objects with strict lifetimes (ie, non trivial C++ objects) it has to be more strict, i think
<geist> but this is the area that scares me the most about LTO, honestly. like does the inlined function act as an implicit compiler fence?
<geist> ie, does it have to basically complete all of As stuff before doing B?
<zid> It has to have the same semantics
<geist> and if not, did you assume there was implicit barriers in there
<zid> that's true of all optimizations
<zid> but yea, it may show up mistakes that you didn't know you made
<zid> (which is why I love LTO)
<geist> explicit barriers makes sense: if A acquired and released a mutex, then that mutex routine would have had a compiler fence
<geist> but if it didn't...
<geist> say if A and B both write to global variablbes and you didn't otherwise CF them.. can the inlined A and B be moved out of order?
<geist> without LTo you can get away with it because theres kinda an implicit CF with the function call
<zid> I think it'd be the same as if it were allowed to reorder A() and B()
<zid> it inherits the semantics it used to have
<geist> right, so that sort of super non obvious thing can bite you
<geist> like you should probably treat all functions as just snippets of code, almost a C macro, that can be plonked anywhere
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<zid> It stays a sequence point at least
<zid> so volatiles can't go around it
<geist> the function call you mean?
<zid> yea
<geist> i'm not so sure about that
<zid> function calls are sequence points, can't delete that
<zid> that changes the semantics
<geist> agreed, but i'm still not entirely sure it does that, for whatever reason
<zid> it just compiles to sequence_point; inlined_version;
<geist> otherwise it wouldn't be able to really blend the scope of inlined things, and i'm fairly certain i've seen it do that
<zid> sequence points are huge barriers, just to things that don't cross them
<geist> but maybe there are scenarios where it analyses what's going on and bends the rules
<zid> aren't*
<zid> volatiles being the main one
<geist> ie, it senses that though it needs to do this, it can hoist things around because in *this or that* scenario it's okay
<geist> i've definitely asked around about this exact thing to a lot of smarty compiler folks and no one really seems to have a solid answer
<zid> It's required to do so, but knowing how to prove that it does it is hard
<geist> right
<geist> and like i said i think it can blend things a bit as long as it's harmless
<geist> certainly and peephole optimize a bunch of it
<geist> hoist various calculations and whatnot out of it, etc
<zid> yea, because sequence points only stop optimizations about things that can't be observed to be different
<zid> volatiles can be so they're barriers to them, etc
gildasio has quit [Remote host closed the connection]
<geist> volatiles i think are pretty obvious, it's the non volatile stuff that worries me
<zid> Then you're missing a volatile somewhere :D
gildasio has joined #osdev
<geist> though i think in practice it's not much of an issue
<zid> You should have the same worries you have when switching from -O0 to -O1
<geist> and of course proper code with no UB shouldn't have this problem
<zid> about it deleting redundant statements and reordering them
<geist> oh sure i'm not saying it'll take perfect code and make it bad, i just worry about subtle stuff that's hard to notice that suddenly one day becomes a problem
<zid> I just can't imagine a problem subtle enough that isn't also part of a gigantic big flashing barrier to begin with
* geist shrugs
<zid> like "Oh no, what if it reor- oh it's already volatile, because I needed those semantics to begin with, nvm"
<geist> they pay me to worry about details, its what i do
<zid> As in, it would already have absolutely exploded from the course details being wrong, rather than the hyperfine atomic groundstates being off by 1Hz
<zid> coarse*
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
klys has quit [Server closed connection]
klys has joined #osdev
foudfou has quit [Ping timeout: 240 seconds]
sham1 has joined #osdev
<vny> Why is vsyscall mapped so high up in the address space? ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
<heat_> because it was
<vny> I always though stack occupies the highest address before the kernel space
<vny> begins
<heat_> then they realized it's a mistake so vdso is mapped in the normal user address space
<vny> I see, is vsyscall not used anymore? heat_
<heat_> no, it's old compat stuff
<heat_> some distros don't compile it in anymore, we went through this a week ago or something
rnicholl1 has joined #osdev
<vny> Ah, yes my production kerenl has it and my dev machine does not
<vny> Thanks! Why was it deprecated? Looks like a cool feature
<heat_> because the vdso is a lot better and more complete, and it doesn't entirely defeat ASLR
<nortti> https://stackoverflow.com/a/19942352 claims it incompatibility with ASLR
<bslsk05> ​stackoverflow.com: c - What are vdso and vsyscall? - Stack Overflow
<nortti> and only having space for four syscalls
<heat_> there's also no way to check if vsyscall supports a given syscall
<heat_> you have to hardcode it, just as you hardcode the vsyscall address
<vny> Interesting, Feels like early attempts to do kerenl bypass
<heat_> or you do some sort of architecture + uname version matching :)
<zid> bookwormbookwrobmrowormboworoowkrmwoborook
<nortti> didn't guess you'd be that stoked for a debian release
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
<heat_> debian is objectively boring
foudfou has joined #osdev
frkazoid333 has joined #osdev
<mcrod> i am starting to regret this.
awita has quit [Ping timeout: 250 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
omnit3a has quit [Server closed connection]
omnit3a has joined #osdev
rnicholl1 has joined #osdev
jjuran has quit [Server closed connection]
jjuran has joined #osdev
jjuran has quit [Remote host closed the connection]
jjuran has joined #osdev
foudfou has quit [Ping timeout: 240 seconds]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<zid> ahhh chapter was fucking *great*
Brain__ has quit [Server closed connection]
<zid> but I can't fucking reddit thread about it :( :(
Brain__ has joined #osdev
slidercrank has quit [Ping timeout: 240 seconds]
andydude has quit [Ping timeout: 240 seconds]
radens has joined #osdev
<radens> I'm booting a rpi0 (armv6, 32 bit) kernel in qemu. It seems to start up in the arm trustzone secure state. I'm not sure whether or not this is representative of the real hardware, but is there a way to safely check whether or not I am in the secure state, and if so leave it? It looks like the SCR register is not accessible from non-secure mode.
<heat_> you mean armv7?
<zid> rpi can boot 10 different ways depending on which boot blob you stop after I thought, from clever's rants :P
<zid> bare metal, first bootloader, second bootloader, elevenses, lunch, etc
<heat_> if i were to guess, it's booting you as the bootloader and not as a kernel
<heat_> (but this is a complete guess)
<radens> you know it might actually be a rpi1
<heat_> the pi 0 has exactly the same SoC as the pi 1
<heat_> while the pi zero 2 w has the same soc as the pi 3
<zid> honzuki subreddit is now a link to their discord at least, but it's going BRRRRRRRRRR
<radens> heat_: if it is the case that I'm being booted as the bootloader and not the kernel, do you how do I boot myself as a kernel? I got the initial boot stuff from the rpi bare bones tutorial
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
<zid> put your kernel on the sdcard fs that you'd use to boot a real rpi
<zid> in place of its kernel
<zid> keeping the boot crap
<zid> if qemu supports that
<zid> what we need, is clever
<heat_> i would expect qemu-system-arm -machine raspi -kernel <yourkernel> to just work
<zid> yea that seems likely
<zid> that it just boots into the middle of a working state, and the hw that qemu emulates doesn't need initializing etc
<zid> (like the dram)
<zid> like, snapshot of "after the bootloader"
<radens> I mean it works, it just drops me into a security state which I did not expect
<heat_> right, so it doesn't work properly I think
<heat_> in no way should you be seeing trustzone stuff, that's for your firmware
sebonirc has quit [Server closed connection]
sebonirc has joined #osdev
<bslsk05> ​www.reddit.com: Reddit - Dive into anything
<zid> no reddit today heat
<heat_> i know i sometimes forget
<heat_> it's weird that r/soccer does not work
<heat_> literally fucks my mind
<heat_> like LITERALLY
sprock has quit [Server closed connection]
sprock has joined #osdev
foudfou has joined #osdev
awita has joined #osdev
<moon-child> heat_: scab! Picket-crosser!
bgs has quit [Remote host closed the connection]
<mcrod> heat_ i've imagined you as a talking soccer ball many times honestly.
<heat_> oh no you figured me out
Left_Turn has quit [Read error: Connection reset by peer]
<bslsk05> ​godbolt.org: Compiler Explorer
<heat_> nauseating codegen
awita has quit [Ping timeout: 260 seconds]
goliath has quit [Quit: SIGSEGV]
<moon-child> heat_: align down rather than up
<heat_> why?
<moon-child> i.e., *(long*)((uintptr_t)ptr & ~7) >> (((uintptr_t)ptr & 7) << 3)
<moon-child> better than a one-at-a-time loop
<heat_> but thats not even legal
<moon-child> it's not less legal than your thing
<moon-child> you're still doing oob accesses
<heat_> i could pick up the zeroes under the string
<heat_> i know
<moon-child> that's what the >> is for
<moon-child> shift them off
<heat_> hmm, that's an interesting idea
<heat_> thanks i'll try it out
<moon-child> or, hrm, I think you need to do the HASZERO comp and then shift
<heat_> anyway that's not the point, the point is the horrible unrolling
<moon-child> yeah llvm does that
<radens> okay so if you feed qemu an elf file it basically boots you in firmware mode, but if you feed it a binary blob it assumes you're linux
<radens> (for raspberry pis)
<radens> and I had the wrong file in my makefile
awita has joined #osdev
deflated8837 has quit [Server closed connection]
deflated8837 has joined #osdev
<vny> So I noticed something interesting when I was running GUPS benchmark https://en.wikipedia.org/wiki/Giga-updates_per_second In the /proc/pid/maps I notice /dev/zero taking the same size as the working set. Although nowhere in the GUPS code I see the allocated memory being zeroed. When is /dev/zero used?
<heat_> mmap
<heat_> moon-child, oh my god i have deadbrained and galaxybrained LTO codegen to show everyone
<heat_> this is *horrible*
nvmd has joined #osdev
andydude has joined #osdev
<vny> heat_: what do you mean? mmap(NULL, size * threads, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0); Does passing MAP_ANONYMOUS zero the mmeory before returning to user? Even if that's the case why does /dev/zero have a huge address range (7F6633A76480 to 7F8BB3662EC0)?
<heat_> yes obviously
<heat_> i dont know what your benchmark does but mmap /dev/zero is an old UNIX way to request MAP_ANONYMOUS memory pre-anonymous memory
m5zs7k has quit [Server closed connection]
<vny> I see, didn't you earlier say map regions without names are the anonymous memory regions?
<heat_> yes
<heat_> so they're doing the old unix /dev/zero map I guess
m5zs7k has joined #osdev
<heat_> moon-child, https://godbolt.org/z/E15f5EcdT look at this shit
<bslsk05> ​godbolt.org: Compiler Explorer
<heat_> they fucking converted all my unsigned longs into booleans and every access has a cmovvvvvvvvvvvvvvvvvvv
<heat_> whatt eh fuck
<vny> So the thing is I summed all the nameless regions and [heap] sizes from smap and it does come close to /dev/zero (which is the actual buffer size I had requested)
<moon-child> hahahaha
<moon-child> genius
bauen1 has quit [Ping timeout: 260 seconds]
<vny> Is my above assumption wrong? I don't understand why though
awita has quit [Read error: Connection reset by peer]
<heat_> vny, what does /dev/zero have to do with this
<heat_> where are you seeing it
bauen1 has joined #osdev
<vny> heat_: nothing, I do not expect /dev/zero to be the size of mmap length, on the contrary I am expecting the sum of sizes of nameless regions and [heap] will be equal to mmap length
<heat_> where are you seeing it
<vny> /proc/[pid]/smaps
<heat_> if you're seeing /dev/zero there it's because someone mapped it
<vny> If it's mapped (mmaped), shouldn't there be a nameless section indicating the mmaped region?
<heat_> why would there?
bauen1 has quit [Ping timeout: 250 seconds]
<heat_> they mapped a file, /dev/zero. the name of the region will show as /dev/zero
bauen1 has joined #osdev
<vny> I checked the code, nowhere do they map /dev/zero or memset 0 on the mmaped memory. The only flags passed to mmap is PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS
<heat_> what's the code
<heat_> give me lsfr.h
<heat_> ahh, funky!
<heat_> linux treats anonymous shared mappings as /dev/zero "mappings"
melonai has quit [Server closed connection]
<vny> heat_: Can you share the source?
melonai has joined #osdev
<heat_> that'll take a while
<heat_> but its definitely a fact
<bslsk05> ​elixir.bootlin.com: shmem.c - mm/shmem.c - Linux source code (v6.3.7) - Bootlin
<vny> heat_: perfect, thanks this solves my question!
<heat_> shmem is bizarre
andydude has quit [Quit: Leaving.]
<mcrod> heat_: took 5 hours
<mcrod> and that was _without_ lld
andydude has joined #osdev
<heat_> ah ok you had thinlto for sure then
<andydude> what's thinlto?
<heat_> lighter version of standard clang LTO
<mcrod> that was with a stage1 build too
nyah has quit [Quit: leaving]
heat_ has quit [Remote host closed the connection]