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
chartreuse has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
<kaichiuchi> however
<kaichiuchi> there is a problem, and this stems from me not knowing enough about templates
<heat_> ohno
<kaichiuchi> heat_: essentially, I have this monstrocity
<kaichiuchi> one moment
<bslsk05> ​godbolt.org: Compiler Explorer
<kaichiuchi> I think you get where I'm going
<kaichiuchi> because I can't pass a *lambda* as a template parameter
<kaichiuchi> although wait a fucking minute what the fuck am I doing
<kaichiuchi> I think I have the answer
<kaichiuchi> well, I don't, that won't work..
<heat_> thank you for pasting me a 3.5k program
<kaichiuchi> you're welcome
<heat_> even the copyright header too
elastic_dog is now known as Guest8323
Guest8323 has quit [Ping timeout: 252 seconds]
<kaichiuchi> so, essentially
elastic_dog has joined #osdev
<heat_> and the SPDX License identifier!
<heat_> you really cover your tracks eh
<kaichiuchi> i do :p
<kaichiuchi> MemoryReadFunc and MemoryWriteFunc of course are meant to be... functions
<heat_> so what exactly is your problem
<kaichiuchi> I can't instantiate the template properly
<kaichiuchi> because of course, you cannot do: gameboy::CPU<[]() { whatever; }, []() { i_hate_cpp; }> cpu;
<bslsk05> ​godbolt.org: Compiler Explorer
<heat_> 20 usd doller pls
<kaichiuchi> I think you mean decltype
<kaichiuchi> typeof is probably fine though
<bslsk05> ​godbolt.org: Compiler Explorer
<heat_> new and improved
<heat_> yeah decltype whatever
<heat_> you don't even need it
heat_ is now known as heat
<kaichiuchi> god this is going to suck
<kaichiuchi> what do you mean I don't need it
<heat> you could also consider passing the callbacks directly in the template
<heat> see godbolt2
<kaichiuchi> right
<kaichiuchi> but this doesn't explain how this would work in a class
<heat> normally
<heat> the class constructor should also deduce these types
<bslsk05> ​godbolt.org: Compiler Explorer
<kaichiuchi> what in jesus name
<kaichiuchi> ok let me see here...
<heat> what's confusing you here?
<kaichiuchi> because if I am declaring `gameboy::CPU<>()` in another class
<kaichiuchi> hm, wait a minute
<kaichiuchi> yes, it'll bitch if I have just `gameboy::CPU cpu_;` declared as I expect
<kaichiuchi> in a class
<heat> obviously that does not work
<kaichiuchi> yes
<kaichiuchi> obviously
<kaichiuchi> ohhhhhhhh
<kaichiuchi> no JESUS
<kaichiuchi> it should not be this hard to instantiate something
<kaichiuchi> all I get is "invalid use of template name without an argument list"
<kaichiuchi> heat: in short, it just bitches that I'm not using gameboy::CPU<> syntax *every time*
<heat> hm?
<bslsk05> ​godbolt.org: Compiler Explorer
<kaichiuchi> see line 244
<kaichiuchi> now, obviously, that doesn't work
<kaichiuchi> but when doing something like this:
<heat> why do you have a custom byte type?
<bslsk05> ​en.cppreference.com: std::byte - cppreference.com
<kaichiuchi> embedded
<heat> no stdlib?
<kaichiuchi> it's literally just a `using Byte = uint8_t;`
<kaichiuchi> no
<heat> bruh moment
<kaichiuchi> who the hell cares
<klange> we are a pedantic bunch
<kaichiuchi> anyway
<kaichiuchi> I cannot do this
<bslsk05> ​godbolt.org: Compiler Explorer
<kaichiuchi> in the class
<kaichiuchi> that looks totally fucked and ridiculous
<heat> hmm
<kaichiuchi> this is what I end up getting:
<kaichiuchi> /home/kaichiuchi/CLionProjects/gb/src/core/tests/cpu/test_rom_runner.cpp:243:25: error: lambda-expression in unevaluated context only available with ‘-std=c++20’ or ‘-std=gnu++20’
<heat> right
<heat> so auto read_func = []...; auto write_func = [] ...;
<kaichiuchi> what?
<heat> what what?
<kaichiuchi> you want me to declare it like that in the decltype()?
<heat> no
<heat> in the class
<heat> auto read_func = [](const gameboy::Word address) -> gameboy::Byte {
<heat> return 0xFFFF;
<heat> };
<kaichiuchi> okay
moberg has quit [Ping timeout: 246 seconds]
<kaichiuchi> however
<kaichiuchi> hang on
<heat> actually why are these not functions?
<kaichiuchi> they are
<kaichiuchi> this was just for a test
moberg has joined #osdev
<kaichiuchi> unless...
<kaichiuchi> no, I thought that'd be slick
<kaichiuchi> gameboy::CPU<HandleMemoryRead, HandleMemoryWrite> cpu_; didn't work
<heat> why?
<kaichiuchi> error: type/value mismatch at argument 1 in template parameter list for ‘template<class MemoryReadFunc, class MemoryWriteFunc> class gameboy::CPU’
<kaichiuchi> 243 | gameboy::CPU<HandleMemoryRead, HandleMemoryWrite> cpu_;
<kaichiuchi> note: expected a type, got ‘{anonymous}::GBCoreCPUTestRunner::HandleMemoryRead’
<heat> decltype
<kaichiuchi> invalid use of non-static member function ‘gameboy::Byte {anonymous}::GBCoreCPUTestRunner::HandleMemoryRead(gameboy::Word) const’
<heat> also apparently you can't use auto in non-static contexts
<heat> i need the whole codez
<bslsk05> ​godbolt.org: Compiler Explorer
<heat> you're doing -> RetType
* heat pukes
<kaichiuchi> i will allow the puking
<kaichiuchi> (to be fair I don't like it either but clang-tidy always bitches)
<heat> clang-tidy bitches because you have that check on
<kaichiuchi> it's one of the default checks :(
<kaichiuchi> but I'm thinking about killing it
<heat> disable it
<kaichiuchi> "it" being that check
<heat> I have 40 lines of Check fuckery in my .clang-tidy
<kaichiuchi> for me, I have:
<kaichiuchi> Checks: 'clang-diagnostic-*,clang-analyzer-*,concurrency-*,cppcoreguidelines-*,misc-*,modernize-*,performance-*,portability-*,readability-*'
<bslsk05> ​github.com: Onyx/.clang-tidy at master · heatd/Onyx · GitHub
<heat> this more or less suits my very opinionated self
<kaichiuchi> so what's wrong :(
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<heat_> <heat> oh you can't call it without a "this"
<heat_> <heat> I think that's the issue
heat_ is now known as heat
<kaichiuchi> that's unfortunate.
<heat> you need to explicitly provide a member function pointer (i.e &B::foo) but then you also need special calling syntax instead
<heat> a member function pointer is still just a pointer, it keeps no data on the "this"
<heat> ... this is more crap that std::function just hides away with heap allocations and depression
<kaichiuchi> so, gameboy::CPU<decltype(&GBCoreCPUTestRunner::HandleMemoryRead),
<kaichiuchi> cpu_;
<kaichiuchi> decltype(&GBCoreCPUTestRunner::HandleMemoryWrite)>
Matt|home has joined #osdev
<kaichiuchi> "but then you also need special calling syntax instead" I don't know what you mean
<bslsk05> ​stackoverflow.com: c++ - How to call through a member function pointer? - Stack Overflow
<kaichiuchi> jesus this is getting worse
<kaichiuchi> so in gameboy::CPU, I need this special calling syntax on each of these template parameters
<kaichiuchi> and what if I wasn't passing a member function here?
<bslsk05> ​godbolt.org: Compiler Explorer
<heat> heres a cute wrapper I made
<heat> I tried using type_traits to extract the RetType but failed miserably
<kaichiuchi> I'm starting to think std::function is much worse than I thought
<heat> std::function does all this DYNAMICALLY
<Mutabah> kaichiuchi: Have you considered... rust? :)
<kaichiuchi> Mutabah: n
<kaichiuchi> o
<kaichiuchi> i must endure this pain
<kaichiuchi> wait a minute
<kaichiuchi> what if RetType is something else
<heat> wdym
<kaichiuchi> using RetType = int;
<kaichiuchi> it won't always be
<heat> if your member func has a different ret type it just convers to RetType
<heat> converts*
<heat> you can easily see that if you switch the godbolt's RetType to bool
<heat> (bool) 10 + (bool) 20 = 2; // Also UB
<kaichiuchi> jesus christ...
<kaichiuchi> heat: we're almost there honey
gildasio has quit [Remote host closed the connection]
<heat> you're quizzing me on the horrible bits of C++
<kaichiuchi> now I need to pass parameters to the functions
<heat> there should be a way to get RetType from the member function pointer type but I can't quite put my finger on it
<bslsk05> ​godbolt.org: Compiler Explorer
<kaichiuchi> here's where i'm at kinda
<heat> ok so go add parameters to the member func wrapper
<kaichiuchi> yes
<heat> in fact
<kaichiuchi> I get that
<kaichiuchi> and I can certainly do that
<kaichiuchi> but I need it to be able to pass 'n' number of arguments to the function
<heat> shut the fuck up and let me think
<heat> i'm almost there
<heat> not in that sense
<klange> oi
<klange> also oi
<kaichiuchi> no "oi"
<kaichiuchi> i like him
sortie has quit [Quit: Leaving]
<bslsk05> ​godbolt.org: Compiler Explorer
<heat> ding dong the witch is dead
<kaichiuchi> i don't have std::forward.
<heat> you should be able to omit the std::forward there
<klange> I should see about getting Kuroko added to the compiler explorer, that would be silly
<kaichiuchi> but I think it's just static_cast<T&&>
<kaichiuchi> right?
<heat> yes
<heat> i think
<heat> wait
<heat> not quite
<heat> remove_reference go brrr
<heat> you can also omit that for OK results
<heat> args... just works
<kaichiuchi> oh no...
<bslsk05> ​godbolt.org: Compiler Explorer
<kaichiuchi> mem_write_func_ is a void
<heat> that's your issue [[nodiscard]] man
<kaichiuchi> oh yeha
<kaichiuchi> yeah
<kaichiuchi> I forgot about that
<heat> >mem_write_func_ is a void
<heat> that is also an issue, good luck
gildasio has joined #osdev
<kaichiuchi> i hate this
<heat> actually lmao
<heat> remove RetType
<heat> just auto it
<heat> it Just Works(tm)
<kaichiuchi> goodness gracious
<kaichiuchi> holy fuck
<kaichiuchi> let me test
<kaichiuchi> heat: well done my son
<kaichiuchi> I think we got it
<kaichiuchi> and by "we" I mean you
<heat> thank you for coming to #C++
<heat> oh wait, this isn't #C++!
<heat> we were in the wrong channel all along!
<klange> now that you have realized your mistake, time to ban everyone!
<heat> i'm trying
<heat> but I can't ban anyone :(( give me op klange
<Mutabah> Easier option: ban yourself
<klange> heat can only kick himself, he can't make himself unable to join, qq
<Mutabah> It can be arranged
<heat> i'll leave libera and go back to freenode with the cool kids
<klys> oh dear.
<heat> with crystalmath and the estonian guy
<heat> the really cool people, you know
<moon-child> who was crystalmath again?
<moon-child> the name sounds vaguely familiar
<heat> a vaguely annoying guy
<klange> Someone who was just really into the idea of a fake Korean prince owning Freenode.
<heat> wasn't he all for GNU and pro-rms or something? something like that
<klys> I see him occasionally. a reactos developer.
<klys> I was trying to learn nmigen today, here I am so far: http://show.ing.me/verilog/jkff-15dec2022.py.txt
<klys> oh didn't even see two elaborate()s
heat has quit [Ping timeout: 252 seconds]
<geist> Hmm i see verilog in the name
<geist> Is that one of those verilog generator language thingies?
<klys> yeah nmigen is new migen
[itchyjunk] has quit [Ping timeout: 252 seconds]
linkdd has quit [Ping timeout: 252 seconds]
Vercas6 has quit [Quit: Ping timeout (120 seconds)]
gxt__ has quit [Ping timeout: 255 seconds]
Vercas6 has joined #osdev
linkdd has joined #osdev
gxt__ has joined #osdev
jafarlihi has joined #osdev
<jafarlihi> Would you say that creating an hobby OS is a prerequisite to contributing to bigger OS projects? Can I just skip it and directly try to contribute to projects that matter? Checking GitHub profiles, it seems like people who contribute to system projects that matter don't dabble in hobby OSes and people who dabble in hobby OSes don't really contribute to bigger projects. How come?
<Mutabah> Hobby OS devs tend to be about working from first principles
<kof123> back in the 60s you could do whatever you wanted, because noone knew what an os was </seymour cray ghost paraphrase>
<kof123> that is 2nding Mutabah i guess lol
<kof123> or: it was ALL hobby stuff at some point lol
<jafarlihi> But knowledge wise, would you expect someone who wants to contribute to bigger projects to have gone through hobby OS trenches?
<kof123> i am a hobbyist, no idea lol
<jafarlihi> I want to do stuff that people want instead of endlessly trying to create everything from first principles
<Mutabah> Some do... but they are very different fields really...
<Mutabah> most established OS work is on either really complex scheduling interactions, or on nitty-gritty/obscure drivers
<kof123> eh, that makes sense. have to draw a line somewhere 1) needs 2) wants 3) nice to have and set priorities either way i guess
<kof123> regardless of where those come from
jafarlihi has quit [Quit: WeeChat 3.5]
Archer has quit [Ping timeout: 260 seconds]
rein-er has joined #osdev
TkTech has quit [Read error: Connection reset by peer]
nanovad has quit [Read error: Connection reset by peer]
nanovad has joined #osdev
bgs has joined #osdev
gildasio has quit [Ping timeout: 255 seconds]
gildasio has joined #osdev
thaumavorio has quit [Quit: ZNC 1.8.2 - https://znc.in]
thaumavorio has joined #osdev
gorgonical has quit [Remote host closed the connection]
<geist> huh answer is no, not at all. i do not expect someone contributing to a thing to have to have written a hobby os
<geist> that's pretty absurd
<geist> alas they're not here
<nur> I once sent a patch to the linux kernel without ever having done a hobby OS
<nur> I think that is true of most people :)
gog has quit [Read error: Connection reset by peer]
aliaenor has quit [Quit: Connection closed]
GeDaMo has joined #osdev
<kazinsal> I prefer to let the people who seem to know what they're doing write the OSes that actually matter
<kazinsal> I just write crap no one will ever use
<kazinsal> if it's something I've shoehorned into a production environment, it shouldn't be something I'm contributing to
* kazinsal wonders if [expunged] is still beholden to that horrible OpenBSD LDAP relay he implemented under duress for their docker swarm a couple years ago
gxt__ has quit [Ping timeout: 255 seconds]
gxt__ has joined #osdev
gog has joined #osdev
<zid> CP437 is the one true encoding
<moon-child> 'Yoooooooooooooouuuuuuuniiiiiiicoooooooode' -Guido van Rossum
<zid> does unicode have 1 be a smilie face? I think not.
XgFgX is now known as XgF
<zid> It has it at 263a
<zid> So it's at least 263A times worse
<moon-child> what's 263a
<moon-child> that's not a number
<moon-child> it has a letter in it
<zid> exactly
<moon-child> you moron
<zid> don't blame me for unicode's insanity
<GeDaMo> ☺
<zid> dwarf on white, high concept art piece by GeDaMo
<moon-child> hmmm? Unicode doesn't claim that any letters are numbers
<moon-child> the only things it claims are numbers are
<moon-child> [actual list elided cus I don't wanna flood the channel]
genpaku has quit [Read error: Connection reset by peer]
genpaku has joined #osdev
fwg has joined #osdev
Burgundy has joined #osdev
<dminuoso> unicode doesnt really have a notion of letter
<bslsk05> ​en.wikipedia.org: Unicode character property - Wikipedia
<dminuoso> Oh
<dminuoso> Mmm
<zid> You'd think the unicode people would be smart enough to know what a letter was, smh
<dminuoso> The notion of `letter` is not well defined.
<dminuoso> But it may be that unicode has a specific definition (which may or not align with the casual users notion)
<zid> sure it is, a letter is the thing you send to the editor when they say something bad about a thing you like
<GeDaMo> isalpha()
zaquest has joined #osdev
<dminuoso> Much of the unicode standard is very careful to not use words like `character` or `letter`
<dminuoso> Mostly because they are very biased views that only apply to certain countries or regions on earth
<dminuoso> Id be interested in the definitions of those categories
<dminuoso> Havent looked into it
<zid> saves them all having to be very good linguists
<zid> if they don't have to write using technical language what specific part of written language a thing is
<zid> just call everything a codepoint and be done with it
<dminuoso> I guess the problem is that eventually people do want their localized textual notions.
<dminuoso> Say an operation `capitalize :: Text -> Text` is a reasonable operation for a German word
<dminuoso> And there's a large plethora of different ideas
<dminuoso> `In particular, while the Unicode Standard includes various “alphabets” and “syllabaries,” it also includes writing systems that fall somewhere in between. As a result, no attempt is made to draw a sharp property distinction between letters and syllables.`
<zid> first you start with a consononant, then you add 4 marks for the vowels
<zid> and there's your word
<zid> (Several languages work like this)
<zid> none individually are letters
<dminuoso> Plenty languages dont have letters in the linguistic sense either
<dminuoso> Its a notion only useful in phonemic orthography
<dminuoso> Or I guess you could also understand letter as the element of an alphabet
<dminuoso> It's a problem when even linguistics itself isnt quite exact and clear with this
<zid> Also dwarf faces.
<dminuoso> dwarf faces?
<zid> Unicode is divided into two groups, dwarves and non-dwarves.
<zid> ☺ ☺ ☺ ☺
<dminuoso> WhatWhat is a dwarf?
<zid> A man with a beard
<dminuoso> Does it have to be a man?
<dminuoso> What if its a woman with a beard?
<zid> They're all men, even the women
<dminuoso> Is that a dwarvess?
<dminuoso> I see.
<zid> look how happy they look
<dminuoso> I tend to segregate unicode into "free" and "10c surcharge per use of a codepoint when printing"
<dminuoso> Which is a useful thing to do to improve ones financial situation
<zid> with their upward slopes and their barrels and their ..H
<zid> Horses.
<dminuoso> I must say I have not played dwarf fortress yet.
<zid> (That's what kicked off this entire discussion, me saying CP437 is the one true encoding)
<zid> (because it's what DF uses)
<dminuoso> But I have entered the chaos gate in Ancardia a many times.
<zid> that's some adom related thing?
<dminuoso> Yeah, one of the ultra endings
<zid> not played any adom, I can semi-reliably ascend in nethack though
<dminuoso> Instead of closing the chaos gate, I *entered* it.
<dminuoso> nethack is easy
<zid> it is fairly yea
<dminuoso> you can ascend with one arm while drunk
<zid> hence semi-reliably win
<dminuoso> adom on the other hand is extremely punishing in every way
<zid> sounds poo
<dminuoso> depending on the initial route, you typically have a less than 30% chance of surviving the first 10 levels.
<dminuoso> thats darwin for you.
<zid> df is extremely easy, because you can't win
<zid> you only lose with a bigger explosion of gore
<dminuoso> I also like that adom is very non-linear
<dminuoso> right at the beginning you start outside, and can chose on of several dungeons to start
<zid> My last fort died to an earthworm with wings that spat webs biting everybody's head off
spikeheron has quit [Quit: WeeChat 3.7.1]
andreas303 has quit [Ping timeout: 260 seconds]
dennis95 has quit [Ping timeout: 264 seconds]
sweetleaf has joined #osdev
FreeFull has joined #osdev
dennis95 has joined #osdev
arminweigl has quit [Ping timeout: 268 seconds]
andreas303 has joined #osdev
sortie has joined #osdev
<epony> sounds like you killed Satan
<kaichiuchi> lord
<kaichiuchi> my disassembly is completely unreadable
<kaichiuchi> _ZN7gameboy3CPUINS_6common17MemberFuncWrapperIN12_GLOBAL__N_119GBCoreCPUTestRunnerEMS4_KDoFhtEEENS2_IS4_MS4_DoFvthEEEE4StepEv.isra.0+0x30
<kaichiuchi> if demangled, that's: gameboy::CPU<gameboy::common::MemberFuncWrapper<(anonymous namespace)::GBCoreCPUTestRunner, unsigned char ((anonymous namespace)::GBCoreCPUTestRunner::*)(unsigned short) noexcept const>, gameboy::common::MemberFuncWrapper<(anonymous namespace)::GBCoreCPUTestRunner, void ((anonymous namespace)::GBCoreCPUTestRunner::*)(unsigned short, unsigned char) noexcept> >::Step().isra.0 0x30
fwg_ has joined #osdev
fwg has quit [Ping timeout: 260 seconds]
<sortie> kaichiuchi, try piping your disassembly through c++filt
<sortie> At at least demangles it inline :)
<sortie> (Alternately repent your sins and change your ways)
<moon-child> c++filt? That tool that turns incomprehensible mangled c++ names into incomprehensible demangled c++ names? :)
<sortie> moon-child, yep, a time honored implementation of the garbage in garbage out principle
<sortie> Haha just teasing people using C++ which includes me :)
<moon-child> how could you
<moon-child> shame!
<zid> it's fine, the C++ people are too busy drooling out of their ears to notice you made fun of them
__xor has joined #osdev
_xor has quit [Ping timeout: 272 seconds]
__xor has quit [Ping timeout: 252 seconds]
__xor has joined #osdev
gog has quit [Ping timeout: 260 seconds]
<kaichiuchi> sortie: don’t worry, my next project will be better
<kaichiuchi> it’ll be in C as god intended
zaquest has quit [Remote host closed the connection]
<sortie> :D
zaquest has joined #osdev
heat has joined #osdev
<heat> kaichiuchi, congrats, you're into late-stage C++ symbol names
<kaichiuchi> when I go home I’m going to be in for a world of hurt
<heat> fwiw most C++ devs can't read assembly
<heat> cul::pair<memory_chunk<smp::internal::sync_call_elem>*, memory_chunk<smp::internal::sync_call_elem>*>::pair<memory_chunk<smp::internal::sync_call_elem>*&, memory_chunk<smp::internal::sync_call_elem>*&>(mem)
<heat> this is the largest symbol I have
<kaichiuchi> i hate you.
<heat> it's a part of my fully templated memory pool class thing
<heat> most others are pretty small
<heat> because I tend to know how to write C++
<heat> (jab at userspace people)
<kaichiuchi> my former coworker thinks i’m crazy to write C++ bare metal
Vercas6 has quit [Remote host closed the connection]
Vercas6 has joined #osdev
[itchyjunk] has joined #osdev
gxt__ has quit [Ping timeout: 255 seconds]
gxt__ has joined #osdev
<heat> kaichiuchi, there's plenty of crazy in writing bare metal C++ but it's also the purest form of it
<kaichiuchi> and it’s ugly
<kaichiuchi> but, I think a lot of it can be cleaned up on my end
<heat> C++ with a standard library is less ugly because the REAL ugly shit has been tucked away under layers of shitty abstractions
<kaichiuchi> yeah
<kaichiuchi> i am getting a feel for the madness
<heat> you mean the _Madness because you need to use reserved names in the standard library :))
<kaichiuchi> i’m not even using dynamic dispatch here
<kaichiuchi> I think the fact that EASTL exists is interesting
<heat> why
<kaichiuchi> the STL is inefficient where performance is concerned
<kaichiuchi> of course, ymmv
<heat> the STL is not inefficient where performance is concerned
<heat> it depends
<kaichiuchi> yes
<kaichiuchi> i’m saying that it seems game companies/HPC people don’t trust the STL
<heat> different constraints
<heat> if you can forget all allocations done within a frame you don't need to free everything for example :)
<kaichiuchi> but you can pass custom memory managers to the STL these days
<kaichiuchi> unless i’m mistaken
<heat> std::allocator is a mess
<heat> also, keep in mind the stdlib needs exceptions
<heat> and rtti
<heat> which is why most big companies have their own standard library and shit
<heat> abseil, folly, etc
Burgundy has quit [Ping timeout: 252 seconds]
<kaichiuchi> fair point
<kaichiuchi> just seems hilarious to me that they end up writing their own STL
<kaichiuchi> it’s just extra shit you have to maintain
<heat> last summer I worked on a project that had its whole NIH standard library
<bslsk05> ​github.com: capnproto/c++/src/kj at master · capnproto/capnproto · GitHub
<heat> everything is meant to replace the C++ standard library but in a very opinionated way
<heat> (throwing destructors yay!)
awita has joined #osdev
gdd has quit [Ping timeout: 264 seconds]
gog has joined #osdev
FreeFull has quit []
dude12312414 has joined #osdev
arminweigl has joined #osdev
isaacwoods has joined #osdev
hextuff has quit [Ping timeout: 265 seconds]
dza has quit [Remote host closed the connection]
dza has joined #osdev
<bslsk05> ​lore.kernel.org: Re: [syzbot] WARNING in do_mkdirat - Al Viro
<heat> you can't beat the lkml in cheer entertainment
<heat> sheer*
<gog> gog
<j`ey> dayum
<mjg> heat: lol
<mjg> re lkml
<heat> "OpenBSD is known for being a high-performance operating system"
<mjg> ye i don't think skynet is there yet
<zid> I don't even understand what he's talking about
<heat> chatgpt is living in the 90s
<zid> lots of disconnected sentences that don't make sense
<zid> but not in like a disorganized thoughts schizophrenic way, more of a.. this person only speaks english through a very narrow window?
<mjg> fast and efficient software thorought the kernel
<mjg> gotta remember this one
<heat> well most of it does make sense
<heat> shame it's about OpenBSD
<zid> well yea? that's sort of the point of chatgpt. It takes all the text they could pirate from the internet, and interpolates it into new texts
<heat> oh wait you're talking about the lkml dude?
<zid> I was before
<zid> now I am talking about the thing you're talking about
<heat> i talk about all the things
<heat> yeah that hillf dude... hard to decipher what he's on about
<heat> "Calm downnnnnn Sir even if this is not the east ender style."
<zid> why does the rain come down? From who the patch? You say it but not.
<heat> sina seems to be a chinese company
<heat> so he's probably chinese I guess
<zid> yea that might do it
<zid> his english is slightly better than my japanese
<bslsk05> ​kernel.googlesource.com: d563c0501bf8702b9b683206c09b9defb37d8a8a - pub/scm/linux/kernel/git/bcousson/linux-omap-dt - Git at Google
<zid> I can do x is y but not much else :P
<zid> forwarded that to the english translation for linux kernel patches service
<mjg> 'calm down sir' is what i would expect from someone from india
<zid> Please be calming the down
<zid> I am doing the needful
<mjg> hello friends
<heat> i find it mildly amusing that chinese people frequently adopt an english first name when communicating with non-chinese people
<heat> at least i've seen that a lot in the edk2 ml
<heat> i don't fully understand why
<zid> because nobody can say or read their name otherwise
<zid> seems fairly simple
<zid> it's a transliteration regardless, why not go for one someone can read
<heat> I would rather try to read your name vs call you by a fake name
<j`ey> ok pedro
<zid> okay 松本
<heat> no problem joey
<zid> read that for me heat real quick
<heat> *mildly racist asian impression*
<zid> hah
<heat> "Matsumoto"
<heat> see, now I can call you matsumoto
<zid> yea but you'll pronounce it wrong, like when I call you porto
<mjg> innit that right purrto
<heat> i mean, i guess it depends on the person
<zid> like anyone can do japanese pitch accent
<heat> I certainly appreciate it when people try to pronounce my name correctly
<zid> phalcathou
<zid> with a bucket of phlegm
<heat> shut up english pedro
<zid> piitaa and she gets really mad about it (pitch accent shenanigans) if you make her say it twice
<heat> at some point the language <-> japanese gtranslations just become english with a vaguely asian accent
<zid> japanese thinks english words are cool, like every other language
<zid> heat over here programming his árvore de bordo
<heat> what
<heat> tree of what?
<zid> maple
<heat> lmao
<zid> portugeusues really pronounces the 'de' as 'ji'?
<zid> or are my ears bad at porto
<heat> no, brazillians do
<zid> ah gtrans is just being global
<netbsduser> maybe they have slender-d, as we do in gaelic
<netbsduser> it's like j as in 'jack' but more D-like, and no roughness
gog` has joined #osdev
<zid> english has dj
<heat> weird, I can't get brazillian portuguese in gtranslate
<zid> rip brajil
<heat> in any case, "de" in brazillians sounds like "dji"
<zid> the google translate lady doesn't even bother with the d part
<heat> trailing l's also morph into a sort of u
<heat> árvore de natal -> árvore dji natau
<zid> just goes ARVOREY JI BORDEAUX
<mjg> calm down sir
<heat> does gtrans give you your country's pronounciation
<heat> mjg, has anyone bothered to inform you that you are an obnoxious cunt?
<heat> *plonk*
<mjg> heat: code of conduct in action
<heat> please dont ban me mjg sir
<mjg> i guess it is within limits
<mjg> of the linux one
<mjg> 1. can you talk shit to people
<mjg> no, unless you are known for it
<mjg> so i guess it was fine
<heat> i mean is this in-character for al viro?
<heat> most of the big wigs seem to sometimes use less-pretty language when they get upset
<heat> even sweethearts like greg kh
<mjg> it is in the ballpark
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<mjg> word choice, not plonking
<mjg> for example he would paste something from the kernel
<mjg> and asked which monkeys defecated this code
<mjg> and so on
<mrvn> monkeys don't defecate code, they turn it into Shakespear ... eventually.
<heat> well I can't blame them
<gog`> gog
<heat> it sounds like something I would do as a very opinionated person with a short-ish temper
gog` is now known as pogchamp
<heat> pogchamp
<pogchamp> heat
<pogchamp> baghdad
<zid> heat's real name is Nasser
<heat> bagpipe
<heat> my name is Hussein Saddam
<pogchamp> i thought his name was peter
<zid> Which I shall now censor because it contains a rude substring, he shall now be known as N***er
<pogchamp> :|
<heat> my name is peter griffin
<heat> hehehehehhehehe
<GeDaMo> Clbuttic mistake :P
<zid> This is a real Cat Butt Trophy
<epony> buttbuttination
<epony> butty mcbuttface
xenos1984 has quit [Ping timeout: 252 seconds]
<GeDaMo> That sounds like a weird sandwich :|
xenos1984 has joined #osdev
<epony> sandy witcher
<zid> GeDaMo do you normally eat trophy sandwiches
<mrvn> No Trophy store here, but SubWay.
<GeDaMo> I prefer cheese :|
* mrvn give GeDaMo some Cheddar ice cream
<GeDaMo> Mmmm .... cheddar :P
<epony> total ArschLinuz crAppletabletop
<zid> I think it's time we put GeDaMo into the ultrasonic cleaner
<zid> with the rest of the naughty children
<epony> with the cat
<GeDaMo> I drank some cat today :P
<zid> I'd believe you if you said absinthe
<GeDaMo> Witcher-themed energy drink
<mrvn> zid: For sure he's one of those that eat the gingerbread house making the poor old woman homeless.
<heat> operating system yes hehe
<pogchamp> operating systems development
<pogchamp> i don't like operating systems tbh
Burgundy has joined #osdev
<mrvn> never change an operating system
<heat> windoze
poisone has joined #osdev
awita has quit [Remote host closed the connection]
awita has joined #osdev
<epony> everyone likes the operating systems
<epony> what you don't like is systems that don't operate
<mjg> windows 98
<mjg> works
<mjg> if it aint broke don't fix it
<epony> it breaks every 50 days
<epony> or 4 hours
<epony> depending which loose floor board you stepped on
xenos1984 has quit [Ping timeout: 260 seconds]
<mjg> it does not load from tape, so i don't think the last bit is a problem
<epony> windows has been eating the shit of antivurs companies for 30 years
<epony> antiwurst
<zid> windows 98 doesn't work sorry
<zid> I ran it as my main OS for a long time, the one thing it doesn't do, is work
<epony> windows is brain dead fucked up zombie on purpose
<heat> that's because you got malware when searching for porn
<mrvn> for work you need windows for workgroups
<heat> I need windows.rs
<epony> so that you can be remote controlled and pawned like a total prisoner
<mjg> right iwndows 98 written in rust would be the shit
<zid> that's actually not a bad idea
<zid> write windows 3.1 (or 98 if you're feeling adventerous) in rust
<epony> it's a bad idea since it would get viruses again
<heat> RS-DOS
<zid> CeMeNT: RUST
<zid> My new indie band
<epony> rust is like netscape with rainbow farts
<mjg> RS-DOS 6.22
<epony> does not fix the fact that there is no need for netscape
<mjg> i would install it
<pogchamp> netscape is good fite me
fwg_ has quit [Quit: .oO( zzZzZzz ...]
<epony> it does not exist
<heat> Solarust
<epony> you're defeated
<heat> Sola.rs
<heat> i'm fucking sold
<mjg> just in time crash
<mjg> OnyRS
<mjg> working on my rewrite over here
<heat> nah doesn't work seen re-seen deleted banned kicked
<mjg> calm down sir
<heat> what does FreeBSDong have for pledge/seccomp-like stuff?
<epony> if the idiots producing firefox were so smart as to be able to create a programming language that "advertises memory safety" why are they so retarded as to be unable to operate memory within an application with operating system tooling and reserve memory like a java virtual machine and lie outside and inside about it, creating a single address space stupid clusterfuck pseudovm?
<heat> oh riiiiiight that thing
<heat> but that's not really usable for normal programs is it?
<heat> theo deraadt inc. even got their pledge thing working on chromium and firefox
<epony> that's because a couple of OpenBSD developers went to work for Google
* kof123 makes joke about hobbyists working on "real" oses later
* kof123 dodges thrown chair
<epony> otherwise you'd see Microsoft beating Google and Mozilla to the security measures "in kernel" and at least 1-2 applications that are not part of their OS
<heat> pains me to say it but I think OpenBSD got pledge right
<epony> using "these mitigations"
nvmd has joined #osdev
<heat> except that why tf are arguments passed in the string??
<heat> why is there even a string?
xenos1984 has joined #osdev
nvmd has quit [Max SendQ exceeded]
<epony> to make the life of Gentoo dung-mixers harder
nvmd has joined #osdev
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
gorgonical has joined #osdev
<heat> gmail just flagged a "lookout for scammer" from amazon as spam
<heat> cheers
<GeDaMo> I got one of those, I wonder if people have been reporting it as spam :P
<heat> gmail also flags all @huawei.com patches from the lkml
<heat> it's mildly annoying
<Ermine> Hmm... Does google hate huawei?
vdamewood has quit [Quit: Life beckons]
<heat> "The sender hasn't authenticated this message so Gmail can't verify that it actually came from them. Avoid clicking links, downloading attachments, or replying with personal information."
<zid> it's still spam
<zid> it was unsolicited bulk mail :p
<Ermine> heat: ... or patching your kernel
<heat> lol :D
poisone has quit [Read error: Connection reset by peer]
<kaichiuchi> god fucking DAMMIT
<gorgonical> happy friday apparently lol
<heat> kaichiuchi, hello welcome to #C++
<kaichiuchi> no
<kaichiuchi> that’s not at all why i’m here
<gorgonical> that gives me flashbacks heat to when I wrote c++ fulltime
<kaichiuchi> i can’t use printf() at work
<kaichiuchi> because of timing problems
<kaichiuchi> go
<kaichiuchi> d
<Ermine> I see #C++, but where is ++C# ?
<kaichiuchi> i hate everyone
<kaichiuchi> SWO printf doesn’t work either
<gorgonical> Haskell has C-- anyway
<bslsk05> ​www.reddit.com: My name is Nasser. The game is censoring the word "ass" and its making it worse. : gaming
<heat> LIAR
<heat> FRAUD
<zid> No your name is also nasser
<gorgonical> quite lively today
<Ermine> Dumb ass censoring
<bslsk05> ​en.wikipedia.org: Scunthorpe problem - Wikipedia
<zid> If they didn't want censorship problems they shouldn't have said all those racist things
<heat> have you noticed we don't osdev in osdev
<gorgonical> what do you mean
<heat> yesterday I helped kaichiuchi write C++, two days ago I helped kaichiuchi install arch linux
<gorgonical> My forth interpreter counts
<heat> at this rate this becomes #archlinux
<heat> or #c++
<heat> none of which are good
<Ermine> heat: you also consulted me about how to write EFI apps!
<gorgonical> or #risc-v
<heat> EFI is on-topic
<gorgonical> you'd really like that one huh
<heat> riscv is fine
<kaichiuchi> heat: to be fair i wanted to try arch again before you said anything
<kaichiuchi> the C++ stuff though, yes, because you need to be a PhD to do anything worthwhile in it
gildasio has quit [Ping timeout: 255 seconds]
<heat> i'm not even a bsc
<heat> checkmate
<kaichiuchi> neither am I
<kaichiuchi> heh
<epony> watch out for lumbar support when bending your arch
<heat> pogchamp: bazinga
<pogchamp> bazoper
<gorgonical> epony: where is the lumbar support supposed to go anyway
<epony> under your back
<gorgonical> I feel like I'm always moving my chair's support cushion and it's never in the right spot
<gorgonical> It's one of those that's built into the chair and you can adjust it up and down
<epony> ah
<epony> well, there is a lower back space between your shoulders and your tail
<gorgonical> Is it supposed to sit at the deepest point of the curve of the lower back?
<epony> something like that
<gorgonical> hmm
<epony> so it does not curve like the back of a cat
<epony> because that could herniate the intervertebral discs
<gorgonical> I wonder whether not using a lumbar support or deadlifting weekly is a greater danger to herniated discs
<epony> which happens when you slouch and bend your back so the rear side of the discs protrudes out
gildasio has joined #osdev
<epony> which is really a dangerous condition
<epony> the sitting is long term injury
<epony> the other is.. self inflicted trauma
<gorgonical> My main postural problem is actually my upper back. I have always had a bit of a slouch
<epony> but the lower back gets problems with incorrect sitting posture
<epony> that's worsened by laptops who are not propped up
<epony> so raise these to your eye level for the screen upper or median line
<gorgonical> Definitely. When I'm at the office I'm on my laptop and I'm like a goblin
<epony> even some monitor stands are not tall enough and you're working at the lower side of the screen with scrolled up text and reading at 25-30° below the horizontal
<gorgonical> ... like I'm doing right now lol
<zid> Correct fix for you is to sit at 120 degrees
<epony> that's why you need a power amplifier below your monitor ;-)
<zid> less weight on your back, can't slouch either
<gorgonical> I have a vesa stand for my monitors but it isn't quite rigid enough and if I put them any higher up they wobble a lot when I type
<epony> yep
<gorgonical> Right now they are partially perched on top of my 90's creative speakers
<zid> shit who was that CS awper who did that
<epony> I have a gravity well type of monitor propped up on a tough amplifier which is 3U
<zid> chin basically on desk
<zid> feet up like he was having a nap
y0m0n has joined #osdev
<epony> and next to it are 2x 300W two way speakers which make the desk really "stable"
<epony> so everything is lined up and leveled up
<epony> ;-)
<gorgonical> I have moved the monitors and they are absurdly high now
Burgundy has quit [Ping timeout: 268 seconds]
Burgundy has joined #osdev
<epony> now all you need is a hoist to pul your neck or an underchin v-resting cane / frame support
y0m0n has quit [Ping timeout: 252 seconds]
<heat> zid, jdm
<zid> japanese domestic import?
<zid> oh, the player
<bslsk05> ​liquipedia.net: jdm64 - Liquipedia Counter-Strike Wiki
<zid> correct computing posture
<zid> only problem is finding a chair that can go high enough
<epony> gorgonical, or at least remember to not slouch, or when you do, keep your back straight with the help of that pillow and the recliner angle spring tightness of the chair
<epony> underarm rests help too, as they keep your arms from weighing on your shoulders and prevent tension / problems in that area
<gorgonical> I actually really hate my chair's recliner thing and I have configured it not to recline at all
<gorgonical> I sit *only* upright lol
<zid> no wonder your back hurts
<gorgonical> It doesn't though
<epony> yeah, it's a kind of "need both" but with a control to engage / disengage kind of thing
<epony> depends on the distance between you and the monitor and the leg support and the mode of use
<epony> intense versus laid back
<gorgonical> The distance between the arm rests on this chair is too wide and it really irritates me
<epony> and the driver for that is pressure / compression in the thighs
<gorgonical> Or maybe they need to be lower or something
<epony> so it's a 'big'-butt chair ;-)
<epony> and you're not yet up to its sizing
<epony> yep, if they are adjustable, see about it, otherwise with the distance between your back and the keyboard
<gorgonical> I guess lol. I got it from staples. I'm a little over 6 feet tall so I don't think I'm a wee little man in this big chair
<gorgonical> I miss the steelcase chair I had at my internship
<gorgonical> But it was $800
<epony> so, it's just the distance to the keyboard then
<epony> the really good chairs are two types
<epony> the ones you see on old magazines in the data centre with the low back cushion support only with the arm rests
<epony> and whatever you can get that resembles the patient chair at the dentist office
<gorgonical> epony: by those datacenter chairs you mean the ones that have no back, only the lower back pillow?
<epony> yeah
<gorgonical> I.e. you cannot lean back into them
<epony> they are for typist / data entry operator style
<epony> yep
<gorgonical> Yeah
<gorgonical> I wonder how much one of those would ben
<gorgonical> be*
<epony> the newer variant of that has slightly taller back support up to the shoulders
<epony> and it's relatively inexpensive
<gorgonical> Wait what are your opinions on the ones that have you kneeling
<epony> you probably have that already
<gorgonical> No unfortunately my chair is one of the dumb ones with a useless head rest thing
<gorgonical> Full-size "executive style"
<epony> not bad
<epony> it's good too
<epony> just watch out for leg / thigh compression fatigue / problems
<epony> if the cusioning on this is deep
<gorgonical> Yeah I spend a lot of time at my computer obviously and I can't imagine trying to sit in one of these preacher chairs for that long
<epony> I have two chairs per seat
<epony> the only difference is the cushion tightness / depth
<epony> the other variant would be an office chair generic style thin cushion and a comfy furniture relaxation deep cusion resting chair etc
<epony> yours is probably the better office chair setup
<gorgonical> It's the kind of chair with the mesh cushions
<gorgonical> Or really not a cushion at all
<epony> what is counter-intuitive is, deep cushioning is copressing your body so it's not suitable for work
<epony> "compressing" the thighs mostly
<gorgonical> Yeah I have fond memories of my youth where I used a dining room chair as my computer chair pretty comfortably
<gorgonical> Maybe "of my youth" is an important part of that
<epony> those are good
<kaichiuchi> you know
<epony> you can use add-on cushioning on these that is thin and non-compressing
<kaichiuchi> it’s really hard to read code i didn’t write
<epony> yeah
<epony> it sucks
<heat> maybe the code is just bad
<epony> maybe it's not well structured or complex
<epony> but the deal breaker are failures on the logic / mental modelling
<epony> it's like paintings of others who are painting without anything to say just painting ;-)
<gorgonical> Part of me thinks I should just modify the arms on my current chair
<gorgonical> I could bring them in by basically an inch on each side if I did
<kaichiuchi> the problem is I can’t log anything
<kaichiuchi> so I have to guess
<epony> and you see, it's even an ergonomy matter, as it affects your fatigue and perception of "good condition" / well being
<kaichiuchi> printf() throws off the timing enough because it’s on semihosted mode
<kaichiuchi> semihosted being “stop the world” debugging
<kaichiuchi> bad.
<epony> gorgonical, you can use thin pillows on those
<gorgonical> Okay epony so the monitor height. Eyes at mid-monitor mean that you have to glance a little up and down to see the tops and bottoms, right?
<epony> that'll raise - bring them closer
<epony> yeah, (eyeah)
<epony> ideall the focal point is at one arm length wihout extended fingers
immibis_ has quit [Ping timeout: 256 seconds]
<gorgonical> Hey I'm pretty close then lol
<epony> so like your hand would hold a table on both sides
<gorgonical> Is this your job or are you just very serious about ergonomics?
<epony> they keyboard position should be at your hands correct resting place
<epony> it's from practice
<epony> neither
<epony> just "simple points"
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<epony> so with both arms as if you would be carring the monitor with your two hands holdign it up by its sides on the lower end
<epony> that's roughly the optimal position
<epony> since most of the text that appears is in the lower end of the monitor
<epony> if it's mosting on the top end (top posting etc) or interfaces that push text down and your view points are in the upper side then at about 5-10° below horizon
<kaichiuchi> i have no idea how people actually write code professionally
<epony> that's where your eyes should be resting
<epony> the rationale is very simple
<epony> your optimal focal distance is where your hands meet (nature made it that way)
<epony> if your age / eye sight is slightly shorter adjust to that
<epony> then when your hands rest they should be on the home row of the keyboard
<epony> that's most of the simple alighnment of you / chair against desk-monitor-keyboard
<epony> if everytthing is 'alright" you should be able to have posture independence between slight recline and complete upright, where the focal distance would be somewhere in the middle between these two positions
<epony> that can get you at good "no worries" posture for 12-16 hours (with rests every 1-2 hours)
elastic_dog has quit [Killed (lithium.libera.chat (Nickname regained by services))]
elastic_dog has joined #osdev
<epony> if you're not stressing this, it can go on for 20-60 years without any serious consequences other than getting quite aged ;-)
immibis_ has joined #osdev
<epony> as for programming, people do that professionally as with other texts, with an linter (formatter / static analyser) and an editor (reviewer / corrector)
<epony> and they use a "specification" and draft-outline logic rather than "whimsical musings"
wootehfoot has joined #osdev
poisone has joined #osdev
poisone has quit [Read error: Connection reset by peer]
<gorgonical> I have modified the chair arms
<gorgonical> This is much better
fkrauthan has quit [Quit: ZNC - https://znc.in]
fkrauthan has joined #osdev
<zid> should have modified your own arms
<zid> I recommend high rpm multi barrel weapons
awita has quit [Quit: Leaving]
<epony> yep, small adjustments can make a difference, review / adjust iteratively in small steps and compare
gildasio has quit [Ping timeout: 255 seconds]
gildasio has joined #osdev
<geist> yah and i can tell you after 20 somethign years of bad posture and hunching over computers, fix it now!
<geist> actually about the worst thing i've found i can do to my body is stare at a cell phone and use a laptop
<geist> both because i end up looking down and hunched over, which kills my neck
gog has quit [Read error: Connection reset by peer]
<epony> right
<sbalmos> ayup, laptop usage is painful. I've got my desk slightly elevated from neutral wrist position just so I've looking very slightly up, and forces me to relax the shoulders and that urge to push downward at my wrists into the rests on the keyboard
<geist> yah when using laptop at home i have one of these little stand things that raises the laptop 3 or 4 inches and puts it at a slight incline so the screen is basically head level, and then use an external keyboard/mouse
<geist> what kills it is sometimes i like to go hang out at a coffee shop or bar or whatnot for a while so i have to be careful there and not do too much that in too short of a time
<geist> like 3 days in a row of a few hours is enough to cause problems for a few days
CorruptedRDF has joined #osdev
<sbalmos> it's nuts how much my typing and mouse accuracy plummets when I switch to the laptop itself and trackpad
vdamewood has joined #osdev
Burgundy has quit [Ping timeout: 260 seconds]
pogchamp is now known as gog
<moon-child> the existence of chair arms bugs me
* CorruptedRDF rebuses moon-child
CorruptedRDF is now known as poisone
<sbalmos> they're nice to rest, if you're at the proper height and distance. almost never. :)
poisone has quit [Read error: Connection reset by peer]
nvmd has quit [Quit: WeeChat 3.6]
<vdamewood> moon-child: The existance of bug arms chair me.
<moon-child> oh yeah, well
<moon-child> the existence of bug chairs arms me
bgs has quit [Remote host closed the connection]
<kaichiuchi> hi
* kaichiuchi slaps heat
<kaichiuchi> laptop usage is painful
<kaichiuchi> I can never get comfortable with a laptop
<kaichiuchi> I have one because it's nice to have things on the go of course
<zid> heat only has things on the rust
<epony> so it's all about hysterrhesis
ZombieChicken has joined #osdev
elastic_dog has quit [Ping timeout: 265 seconds]