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
<mjg> > C Programming Full Course for free 🕹️
<mjg> does not even mention malloc
<heat> great
<heat> that's secure C
<heat> no UAFs that way
<moon-child> gentlemen, gentlemen, there's a very simple solution to this that you're ignoring
<mjg> ?
<moon-child> you can mention malloc but not free
<mjg> int *lolheatdumbaz(void) { int hehe; return &hehe; }
<mjg> :X
<moon-child> btw did you know you can add a garbage collector to c?
<moon-child> it's really easy
<mjg> you mean you turn free into a nop?
<moon-child> garbage_collected_malloc(size) { int ret = malloc(size); free(ret); return ret; }
<mjg> and declare indefinite grace period
<moon-child> also from now on all the c i write will be k&r style. i hope that is acceptable
<mjg> i'm gonna write K&R rust
<moon-child> wait i used more than one character in my identifiers
<moon-child> oops
<moon-child> mjg: klabnik and ...?
<mjg> klabnik and RUST KURW^W
<heat> gcalloc(s) { register p = malloc(s); return free(p), p; }
k0valski1889162 has quit [Ping timeout: 240 seconds]
<mjg> typedef stupid_pointers heat_pointers
<mjg> :X
<heat> gcalloc(s) { register p; return (p = malloc(s)), free(p), p; }
<heat> this is peak code
<mjg> yo i just heard "smart pointers" in c++ are expensive
<mjg> what does that even do
<heat> what smart pointers?
<heat> you have like 3, and 2 of them are non-trivial
<mjg> ok, i'm no longer even remotely curious
<heat> the other one is mostly optimal but has some ABI issues that prevent it from being exactly equal to a non-managed pointer
<mjg> fuck that language
<heat> but
<heat> bud
<heat> it depends
<moon-child> isn't one of them just a reference counted thingy
<heat> like std::shared_ptr is expensive because it's a refcounted pointer with atomics
<mjg> who wants to guess how often people .clone to dodge borrow checker
vilya_ is now known as vilya
<heat> btw mjg
<heat> std::shared_ptr ptr{new int};
<heat> guess what this does
<moon-child> makes a managed pointer to an unmanaged pointer to an int?
<heat> right
<heat> but *what* does it do
<zid> infinite loop of printing 7
<moon-child> infinite loop of printing 7
<heat> close, but i'm afraid that's wrong
<heat> anyway shared_ptr does a whole separate heap allocation by default for a control block
<heat> to support the refcount and other various garbage features
<heat> then the C++ committee saw the problem, so they added std::make_shared() that creates a shared_ptr from a type and a bunch of constructor args, to get around the problem
<heat> just so they can allocate the control block and the object with a single malloc
<moon-child> so if you make_shared it'll just do one heap allocation but still waste space on a pointer from one part of it to another part?
<moon-child> wait but how do they free it?
<moon-child> and why can't they fix it transparently?
<heat> >so if you make_shared it'll just do one heap allocation but still waste space on a pointer from one part of it to another part?
<heat> yes
<heat> you can selectively free it or not based on whatever garbage the implementation is doing
<heat> my implementation stashes flags in the control block
<moon-child> why can't they fix it without changing the interface?
<heat> because 'new int;' does a heap allocation, std::shared_ptr has a constructor like 'std::shared_ptr<T>(T *raw_ptr)'
<heat> and there's no way to go around the language ruels here
<heat> you can't even realloc because 1) raw_ptr must still be valid AFAIK 2) you can't realloc C++ objects
<heat> and 2) is a very fun point
<moon-child> oh so my initial understanding was wrong
<moon-child> std::shared_ptr ptr{new int} doesn't make a managed int**
<moon-child> just a managed int*
<heat> yes
<zid> What do you mean, C++ features are all completely disperate and don't interact with each other correctly!?
<zid> say it isn't so!??
<moon-child> lol
<zid> Honestly they should just fucking ditch most of the spec and just say "and then a miracle occurs"
<zid> and just do the Right Thing under the hood
<moon-child> either a miracle or ub
<heat> IMPLEMENTATION DEFINED
<zid> even idb doesn't fix it though
<zid> you need the magic
rpnx has quit [Quit: My laptop has gone to sleep.]
<zid> they've specified a shit load of grammar, formalized what all the bits mean, new int means a specific thing no matter the context etc
<zid> but at this point it's all so complicated and incestuous that it's just.. not useful
<heat> TO BE FAIR
<zid> they'd get more mileage over saying that std::shared_ptr ptr{new int} is a single operator called std::shared_ptr ptr{new with semantics 'blah'
<zid> s/over/by
<heat> this is not horrendously borked, I just love how they lack any idea on how their things are going to be used
<zid> it's *all* like this though
<heat> another great example is <format>
<heat> they added std::format("{} {}", int_a, int_b) that returns a std::string
<heat> you know, python-like
<zid> because it goes through COMMITTEE and it has to look like the rest of the C++ spec and have rationale documents and be a small diff against the pdf and other wildly non-programming considerations
<heat> because iostreams suck!
<heat> guess what? they forgot to add the printing stuff, so you have to do std::cout << std::format("hello {}", "world") << "\n";
<zid> they could literally just say "new operator, sharedptr, takes a type, does blah" but they want to make it AN CLASS so it can be POLYMORPHICALLY INHERITED BY THE MEEK or whatever
<zid> and just break everything into a billion edge cases
<zid> whereas they could just add the 10 actual cases of it being a type
<zid> err operator*
<zid> combinatorial explosions are their bag baby
<heat> C++23 is finally getting std::print("hello {}\n", "world");
<heat> but they shipped a broken feature
<heat> for 3 years
<zid> see this is what I mean, if they had just made format a bit of grammar, instead of a class
<zid> they could have done whatever the fuck they wanted
<zid> but it HAD to be a class looking thing that takes strings and shit
<heat> oh but there's no way format can be grammar
<zid> and HAS to return a specific type etc
<heat> it's too complex
<zid> is that sarcasm
<heat> no
<zid> see: printf
<heat> format needs to be able to print out whatever garbage you want it to, like custom objects and whatever
<zid> okay, what's that got to do with *grammar*
<heat> it's probably doable but severely depressing, and sticking it in the library is a good option
<heat> also: see printf
<zid> I just say format is an operator, the line looks identical, but now I am not beholden to any other rules
<heat> oh and a good point is that format was already a thing before the C++ standard adopted it, it was just a separate library
<heat> (and it already had print())
<zid> think of like, sizeof in C, vs 'let's make an object size measuring class, that returns a std::object_size and can be inherited from for MOCKING and blah blah'
<zid> std::sizeof
<zid> "no, you CAN'T make sizeof grammar instead of a class" --heat
<heat> sizeof must be grammar because only the compiler knows the type or object's size
<heat> making std::format() grammar is like saying printf() should be grammar
<zid> not must, *can be*, you're saying format's syntax *must* be through a class
<zid> printf could work through global vars, varargs, pointer to array, pointer to struct, implicit struct, global struct
bradd has quit [Quit: No Ping reply in 180 seconds.]
<zid> or whatever the hell you wanted
<zid> The C++ committe makes *everything* a class, *never* provides language support instead, even if it would be much much better, etc. So now we're implmenting attribute((printf)) in 800kB of templates in the stl, instead of.. in the compiler
<zid> which has pros and cons, but they *never* consider them
bradd has joined #osdev
<zid> quick hack, add a class, the interface will be broken and it won't fit with anything else, gg done, 'fix' it next spec.
<heat> btw std::format is a function, not a class
<heat> i don't think you'd get much from making this compiler automagic
<zid> It wasn't even considered, I guarentee it
<heat> particularly as all the problems could've been avoided if they didn't botch the printing
<heat> that's literally the only problem
<zid> if they had, the gcc people they definitely consulted, right? Would have said "okay so how do we print this new internal thing you've asked us to design"
<zid> C++ spec is a stack of 800 napkins.
<heat> lots of compiler people were involved
<heat> as they always are
<zid> academics
<zid> not code monkeys
<zid> a compiler academic is the type of person i'd trust *least*, to make a useful language
blockhead has joined #osdev
<heat> absolutely they asked code monkeys
<heat> e.g jonathan wakely
<zid> wakely is not a code monkey lol
<zid> He massages boogs all day and argues about what the C++ spec says
<heat> i mean, i would definitely not call him a compiler academic
<zid> He's a nice guy, but he has very very "C++ brain2
<heat> all of them argue about what the C++ spec says because the C++ spec is complex and hard to grok
<zid> but they think that's fine
<zid> hence C++ brain
<zid> They think every hour they spend debating what the C++ spec says is time well spent honing their important craft
<zid> rather than a waste of time that rots their brains
<heat> it's not unheard of in the C circles, it's just that the spec is simpler
<zid> Yea, C is also bad
<zid> C++ is also bad and there's a lot more of it
<heat> and it's better to have a spec than to guess behavior based on existing impls
<heat> i.e rust
<zid> and they're rapidly expanding how much of it there is, continually
<heat> or go
<heat> holy shit haha they're aiming to get networking into the spec for C++29
<zid> I can't wait to see how many classes it takes!
<heat> 238 pages by the wake man
<zid> entire heirarchy of classes called 'ip', sick
<heat> i dont see a problem with that, it's properly namespaced under std::
<zid> > C++ brain
* kof123 <reads above> ....<goes and looks at jai, not out yet> ......<goes back to working on c89 code>
goliath has quit [Quit: SIGSEGV]
<kof123> > https://oxide.computer/blog/on-the-metal-9-jonathan-blow/ Submission statement: Bryan Cantrill (of the "Is It Time to Rewrite the Operating System in Rust?" presentation) interviewed Jonathan Blow, developer of Braid and the Jai compiler on a podcast called On The Metal.
<bslsk05> ​oxide.computer: Oxide Computer Company
<kof123> ok, so cantrill does interviews too lol
heat has quit [Ping timeout: 260 seconds]
cheapie has quit [Server closed connection]
gog has quit [Ping timeout: 256 seconds]
cheapie has joined #osdev
<kazinsal> god there's not much less appealing than the concept of the RESF interviewing jon fuckin blow
<geist> 404, proper
<immibis> kof123: 404
<geist> it is the way
<kazinsal> the safest thing for all of us is for that 404 to never be resolved
<kazinsal> ooh, new soldering kit arrived. probably ought to test it on something electrically and mechanically simple before I start looking at recapping things
<blockhead> there goes the toaster ;)
<kazinsal> think I've got a bass with a dead output jack around here somewhere
<kof123> that seems to have it https://www.youtube.com/watch?v=ZkdpLSXUXHY
<bslsk05> ​'E009 - Jonathan Blow | On the Metal Podcast' by On The Metal (02:51:27)
<kazinsal> you have been awarded: one demerit
<kof123> > There once was a man who went to a computer trade show. Each day as he entered, the man told the guard at the door: "I am a great thief, renowned for my feats of shoplifting. Be forewarned, for this trade show shall not escape unplundered." [...] On the final day of the trade show, the guard could restrain his curiosity no longer. "Sir Thief," he said, "I am so perplexed, I cannot live in peace. Please enlighten me
<kof123> What is it that you are stealing?" The man smiled. "I am stealing ideas," he said. -- tao of programming
<kof123> i just like to see what other people are doing ;D
rpnx has joined #osdev
<kof123> i wasn't looking for that, i just saw a clickbaity "jai versus rust" and saw a comment the jai discord apparently does not like rust, and then that came up. so...just an apparently non-rust perspective
<kof123> i assure you i did not search cantrill lol
[itchyjunk] has quit [Remote host closed the connection]
mctpyt has quit [Ping timeout: 256 seconds]
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
foudfou_ has quit [Ping timeout: 264 seconds]
gildasio has quit [Ping timeout: 264 seconds]
Vercas has quit [Ping timeout: 264 seconds]
rpnx has quit [Quit: My laptop has gone to sleep.]
<klys> is there a way to do -vga none and still load a vgabios to 0xc0000 ?
foudfou has joined #osdev
gildasio has joined #osdev
Vercas has joined #osdev
edr has quit [Quit: Leaving]
rpnx has joined #osdev
jbowen has quit [Server closed connection]
jbowen has joined #osdev
rpnx has quit [Client Quit]
<klys> -device virtio-pmem ?
<immibis> kof123: Casey Muratori also talks a lot about this sort of thing, and worked with Jonathan Blow on The Witness
<kof123> yes, around 01:30 (cantrill?) asks about rust and they seem to be talking about data-driven design, not blowing the data cache. but, apparently the aos and soa feature got dropped from jai ... this is a bit old
<kof123> or "locality of data' and not having to follow a bunch of pointers i think they hinted at a little earlier
<kof123> and (implied) not e.g. calling malloc() many times, when you could just pre-allocate room for X <whatever>
<immibis> i've been listening to his talks today and yesterday. It's not even DDD. It's just 1) figure out what you want to do, 2) figure out how to make the computer do that, in the fastest way possible
<immibis> and most software today isn't only missing 2, a lot of it is also missing 1!
rustyy has joined #osdev
<immibis> data-driven design is really just shorthand for "please expand your horizons beyond OOP to get better performance because there are ways to do things other than OOP"
<immibis> data cache is just one specific performance killer that comes up often in OOP, but there is more bad code than just OOP, more good code than just "DDD" and more performance killers than just data caches
<immibis> I think he talked about how learning is the process of restricting the set of possible compute inputs to the set of meaningful or good inputs - any 5yo can mash the computer keyboard, but you have to learn a lot to mash it in a way that results in the computer doing something useful - and people have restricted it too much in the pursuit of efficient development processes.
<immibis> so the really good thing about "DDD" or "SoA" or "ECS" or whatever you want to call it, is that it breaks you out of the restricted mindset you were in before.
<immibis> and the point of that is not to get you stuck in a different restriction
rorx has quit [Ping timeout: 268 seconds]
gbowne1 has quit [Read error: Connection reset by peer]
<immibis> i propose that we consider "Computer-Oriented Design"
<immibis> where we design based on the characteristics of the computer instead of the aesthetics of the UML diagram
<klange> idk seems fishy
zetef has joined #osdev
sbalmos has quit [Ping timeout: 268 seconds]
sbalmos has joined #osdev
eck has quit [Ping timeout: 268 seconds]
eck has joined #osdev
gxt has quit [Remote host closed the connection]
gxt has joined #osdev
tomaw has quit [*.net *.split]
tomaw_ has joined #osdev
zetef has quit [Ping timeout: 246 seconds]
zetef has joined #osdev
antranigv has quit [Ping timeout: 240 seconds]
alice has quit [Server closed connection]
alice has joined #osdev
nitrix has quit [Server closed connection]
nitrix has joined #osdev
rorx has joined #osdev
tomaw_ is now known as tomaw
zetef has quit [Ping timeout: 256 seconds]
rorx has quit [Quit: "Quitting.."]
<geist> UML sounds like the best bet, yep
<kof123> 2:19:10 "that's because everyone has to always be hustling!" lol
<mjg> lol
rorx has joined #osdev
eck has quit [Ping timeout: 260 seconds]
eck has joined #osdev
heat has joined #osdev
vdamewood has joined #osdev
<immibis> welcome to capitalism
<heat> https://lock.cmpxchg8b.com/reptar.html has anyone posted this?
<bslsk05> ​lock.cmpxchg8b.com: Reptar
<heat> because it's very fucking funny
<mjg> wdym funny you asshat
<mjg> lemme see your cpu
<heat> it doesn't have fsrm
<heat> suck it
* moon-child laughs in skylake
* mjg snorts fentanyl off of haswell
<moon-child> haswell doesn't have nearly enough avxes
<mjg> did you mean to type vaxes
<mjg> or rather
<mjg> VAXEN
<moon-child> vax can generate 22 page faults in a single instruction
netbsduser has joined #osdev
<moon-child> which is admirable
<moon-child> however
<moon-child> avx512 can generate 32 page faults in a single instruction
<heat> AVXEN
<moon-child> I think there's a clear winner and a clear loser here
<mjg> intel wins
<mjg> indeed
<heat> page faulten
<heat> rep movsb can generate 2^47/4KiB page faulten
<heat> in a single instruction
<heat> beat that
<mjg> yo what's up with that crap above about JAI
<mjg> never heard of the language and apparently it's a thing(?)\
antranigv has joined #osdev
<heat> isnt it some youtube gamedev's pet language?
<mjg> OH
<mjg> i bet JAI can generate INFINITE page faults in one line of its code
<mjg> checkmate
<geist> REPTAR cute
<heat> reptar can generate INFINITE page faults and more, with its microarchitecturally fucked state
<mjg> intel + jai == win
<mjg> you know what does not have the problem?
<mjg> ITANIUM
<heat> true
<heat> the murderers of ITANIUM shall be judged by God one day
<heat> hear that, murderer?
<mjg> it's a lame meme mofer
<heat> you're lame
<mjg> itanium was already DEAD, they were looking for an excuse
<kazinsal> they'll be right ahead of the murderers of RISC-V on the eternal death row staffed by turbonerds who keep tripping over each other to pull the lever
<kazinsal> collapsing into a pile of searching for each others asthma inhalers
<geist> daaaym
<kazinsal> personal opinion: x64 is here to stay but in the mobile front aarch64 with TSO extensions is the future
<kazinsal> just gotta get the big players who aren't apple into TSO on aarch64 and then microsoft and linux will spit out rosetta-esque solutions
<geist> then silly intel is going to add more registesr to x86 to make it much harder to rosetta
<kazinsal> risc-v is just a mess of unstable specs that makes it hard to genericize a system and associated ABI, mips is dead, and loongson is just pirate mips
<geist> curse you intel!
<heat> RISCV RISCV RISCV RISCV
<geist> the reptar writeup is fun
<heat> fortunately Intel APX only applies to certain instructions I think? maybe just mov?
<kazinsal> I'd sooner expect alpha to come back than to see risc-v leave the microcontroller space on any meaningful front
<heat> so there won't be add $10, 0(%r31, 8,) madness
<heat> don't say that on #riscv kazinsal
<heat> riscv is the fuuuuuuuuuuuuuuuture
<geist> kazinsal: nah good money is getting tossed at it. it's just a matter of it needing to succeed enough to keep at it after a few iterations
<heat> one needs to invest on extensions that haven't actually been deployed yet in silicon
<zid> avx-10!
<heat> KERNAL
<mjg> i thought other companies are nvesting into arm64 for "pc"
<heat> "Intel has identified cases where execution of an instruction (REP MOVSB) encoded with a redundant REX prefix may result in unpredictable system behavior resulting in a system crash/hang, or, in some limited scenarios, may allow escalation of privilege (EoP) from CPL3 to CPL0."
<heat> LMAO
<geist> yeah it's a doozy
<mjg> it is, but researches admitted they did not come up with a way to utilize it bug for anything but some faults
<mjg> in principle it is indeed possible though
<geist> yeah, it does seem to generally mostly affect either your current thread (you crash yourself) or trash the SMT pair you're running on (which could be in the kernel)
<geist> thus further generally making SMT a bad idea
eschaton has quit [Server closed connection]
<mjg> ya smt is probably a no go in the long run
<mjg> you can't even safely speculate against yourself so to speak
<zid> I wonder if it's like, sticky bits in the decoder
<zid> like, it obvious keeps state around, when going from byte to byte
<mjg> given rather modest wins from smt to begin with, even pre meltdown era
<zid> but they missed a condition to reset the flags cus of movsb being a weirdo instruction
<mjg> i wonder if today you are in fact *SLOWER* for the very fact that smt exists
<mjg> but intel can't just disable it cause users are going to ask "were my coren at"
eschaton has joined #osdev
<zid> so anything re-using the decoder, other instructions in your thread, or other instructions in your hyperthread, can just end up starting a decode with half-a-rex-been-processed-already-mid-flight
<heat> i don't think disabling it is an option
<heat> because indeed where did intel stick my threaden
<mjg> coren
<mjg> people don't know the distinction
bleb has quit [Server closed connection]
<zid> I want 4-way HT
<mjg> i guess they would not say coren either, just cpuz
bleb has joined #osdev
<zid> So I can run an MMX, SSE, avx etc program using some of the renamed resources each
<zid> that surely won't cause issues
<mjg> 1. don't call me surely
<mjg> 2. i concur
<heat> cpus is a programmer thing
<heat> if you ask a GAMER how many CPUs they have, they'll say 1
<mjg> so what do NORMIES say
<heat> cores
<mjg> rly?
<heat> smetimes threads
<heat> yeah ofc
<mjg> i genuinely don't know
<zid> I am 1CPU/8C/16T
<zid> what u heat
<mjg> g*mers are not people i normally associate with :X
<heat> btw mjg
<bslsk05> ​blog.cloudflare.com: Measuring Hyper-Threading and Turbo Boost
<heat> hints at 40% performance improvement from SMT
<heat> so PRAISE BE THINE INTEL
<zid> that's cus they run fucking
<zid> webservers
<zid> not HPC
<bslsk05> ​www.fujitsu.com: Multi Core Processor SPARC64™ Series - Fujitsu Global
<zid> webservers are *all* about lots of shitty threads doing no work
<heat> right, but it's far from being a negative win
<heat> negative win = loss innit
<zid> I wasn't aware anybody thought it would be
<zid> just saying 40% is cus of their load
<heat> <mjg> i wonder if today you are in fact *SLOWER* for the very fact that smt exists
<zid> for me it's not much
<zid> but still worth leaving on
<zid> no matter what happens
danilogondolfo has joined #osdev
<zid> cus the architecture deals with it, it'll just stall if it'd ever be slower
<Ermine> intel xeon intel xeon intel xeon
<zid> It's an obvious win when it comes to context switches, even if it did *nothing* else
<heat> xon
<Ermine> e5-2697 v4
<zid> I miss my xon, but xon is coal
<mjg> heat: huh, that is rather surprising
<Ermine> rate my build
<mjg> heat: historically smt was pretty hit or miss, mostly miss
<zid> amd amd amd
<mjg> heat: maybe amd made some strides
<mjg> is there a profile or something showing what their code is doing
<heat> not really
<heat> it's plain nginx + linux kernal
<Ermine> nginx as pid 1?
<heat> i'd love that Ermine
<heat> better than s6 that's for sure
<mjg> github got nothin
<Ermine> I think this is what hp ssa manager looks like
<mjg> anyhow smt historically was "good" if your code was suffering massive stalls
<mjg> i.e. was fucking slow to begin with
<Ermine> hft people don't use smt
<mjg> maybe amd divorced more of the state to facilitate more parallel execution
<mjg> or the code they are benching is CRAP
<mjg> and what they are seeing is recovery of performance which should have always been there
<mjg> without smt
<Ermine> maybe i should disable it as well
<mjg> totes not having smt right now is the openbsd route
<mjg> (security aside, their scheduler does not understand cpu topology)
<zid> heat how my C and T
<zid> I have 8 C and sixteen tees
<mjg> zid: are you a g*mer?
<Ermine> There's no stosb flag in cpuinfo, but I think I'm looking for the wrong flag
<mjg> you mean erms or fsrm
<Ermine> probably I should look the logs for flag you asked me to look up several months ago
<mjg> bench minix while at it
<heat> mjg, what github?
<Ermine> Benching stuff is your job
<zid> I have many many flag
<heat> zid, i have 4 Cs and 8 Tees
<zid> dang son
<heat> LAPTOP SCALE as our polish friend would say
<mjg> heat: CLOUDFLARE
<zid> how are you going to run my factorio multiplayer server
<heat> mjg, it's probably a fork close-ish to upstream nginx
<zid> I have xgetbv1, whatever that is, and arat
<zid> and ibpb
Matt|home has joined #osdev
<heat> hell, they have a brand new webserver written in RUST so i'm not sure if they even have nginx anymore
<heat> but this was in 2021 so definitely nginx
<mjg> rust huh
<mjg> how does it smt now :X
<mjg> lol.unwrap().to_iner()
<heat> probably better because it stalls more
<heat> follow me for more tips and tricks
* mjg subs to heat
<mjg> so i just asked chatgpt
<mjg> > is sparc64 faster than a ferrari
<mjg> Comparing the two is like comparing apples and oranges. One is optimized for computational tasks, and the other is optimized for transportation and driving experience. It's important to consider the specific context and purpose when evaluating the speed or performance of different technologies.
<mjg> :(
<mjg> it did not have to be so patronizing
<heat> yes, because there's nothing faster than sparc
<mjg> ITANIUM MOTHERF^W
<zid> You know what is faster than sparc
<mjg> (actually i don't know how it compares to era-appropriate sparc)
<zid> a duron
<zid> sad but true
sortie has joined #osdev
<mjg> which sparc tho, they had quite a few revisions
<mjg> however, afaics sparc was always slower than contemporary x86
<mjg> i mean era-appropriate for whatever sparc revision you were ealing with
<mjg> that is to say there is probably sparcs faster than duron :p
<heat> but solaris was faster than any other operating system
<heat> so it balanced out
<mjg> bro
<mjg> solaris was faster on sparc than linux on duron!11
gog has joined #osdev
<mjg> cause for a time solaris devs decided to not kiss any girls
<heat> what, no
<mjg> or maybe it's not true, in which case it was the other way around
<heat> solaris was fast as long as the devs kissed girls
<mjg> what
<sortie> In my defense Sortix is fast enough
<mjg> for you maybe
<heat> somewhere along the 00's they ran out of juice, and the solaris train just stopped
<mjg> did they hit puberty or something
<sortie> Yes exactly fast enough for the popstars
<heat> anything that's fast enough for dua lipa is fast enough for me
<sortie> :D
<mjg> funny thing about the entire solaris debacle is that fanboys are going to say it was FASTEST shit ever
<mjg> while the rest will say literally the opposite
<mjg> SLOWARIS
<mjg> clearly, these assesments can't both be true
<heat> schrodinger's solaris
<mjg> it's fast as long as you don't benchmark
<sortie> I swear to you 4% of my playlist has visited sortix.org
<heat> have you tried explaining UNIX to them?
<mjg> so you got 25 "artists" there, including yourself
<mjg> or you catfished someone
<mjg> wait maybe it's a trick statememnt, playlist or what
<mjg> of what*
<heat> mjg would definitely be like "Oh hi dua, oh you use an iPhone? do you know how much CRAPPER LUL code that has? PESSIMAL mutexes?"
<sortie> mjg: More like 43 songs by two of my favorite artists :)
<mjg> bro there was a time where even webdevs complained about os x performance
<sortie> Actually I did demo Sortix for a third one now that I think about it
<mjg> on their laptopen
<heat> do you want to come to my place and see my vaxen
<mjg> sortie: well, even talking to somewhat technical people, if you say smething about your custom operating system
<sortie> It's fun when I see people in the real world use apps my code has gone into
<mjg> sortie: they are going to think it's a reskinned windows or some custom linux wad
<sortie> Sure I just explain it to them
<sortie> Done it a thousand times
<sortie> Though you know, when I'm out there living the glamorous osdev life, I rarely find myself talking much about operating systems
netbsduser has quit [Ping timeout: 268 seconds]
<sham1> That sounds like a deficiency
<zid> I thought you were a groupie sortie not an osdev lifer
<sortie> I am the guy in the front row knowing too much about kernels having the time of his life trying to forget that cursed knowledge
<mjg> ignorace is bliss innit
heat has quit [Ping timeout: 256 seconds]
<sortie> Always a hacker tho. If they make a mistake and let me into areas with signs with passwords and codes and such, I immediately spot them
<sortie> Which is why I always have wifi :)
<mjg> coke1234
<mjg> get some social engineering skillz mon
<mjg> or an unlimited data plan
<sortie> mjg, tbh the passwords are usually like that
<sortie> Oh I got 35 GB of data. I just like being in the artist wifi for fun
<mjg> ye i got some "backstage" password myself at times
<mjg> it's not really meant to be secure, but something where a drunken twat wont be able to connect
<mjg> while a drunken staff member will
<sortie> I accidentally broke into the O2 Arena the other day when drunk and lost
<sortie> 'how did you get here??? This guy came out of nowhere'
<sortie> You know you're very, very lost when you end up trapped inside the ultra secure loading area
netbsduser has joined #osdev
<mjg> the trick is to pretend you don't speak their language
<mjg> but you have to convincingly pretend some 3rd party
<Ermine> Girl kissing became #osdev 's signature meme
<mjg> i have a cousin who can effortlessly babble in a way which sounds like italian to people who don't speak it
<Ermine> heat: s/mutexes/mutexen/
<sham1> Mutecies
<sortie> mutexii
Ermine has quit [Server closed connection]
Ermine has joined #osdev
wereii has quit [Server closed connection]
<zid> I've always loved that meme so I am happy
<gog> i love kissing girls
<zid> I don't have any to kiss in my bedroom, do they still sell them on the internet?
<zid> I asked santa for a foreign escort but I got a ford
wereii has joined #osdev
<gog> that's so much worse
<gog> ford makes terrible cars
<zid> the export models seem.. fine
<zid> they're built in europe
<gog> i was just about to say, they're not exports and they're built on platforms provided by other mfr's i think
<gog> a lot of ford-baged cars in europe are fully domestic except the branding
<zid> UK is out of europe now
<zid> so they're DIRTY FOREIGN CARS
<gog> true
<zid> Despite the development being carried out in the United Kingdom, Ford produced the Focus RS in the Saarlouis plant in Germany between 2002 and 2003 making a limited run of 4501 cars only. This original Focus RS was only available in Europe; just under half (2147) of these were sold in the UK.
<zid> we designed em, built em in germany, and then bought them all
<zid> ford escort/mondeo/fiesta/focus are *everywhere* here, considered bog standard normal cars, kinda strange imo
<zid> considering ford is a merkin badge
<bslsk05> ​lwn.net: The push to save Itanium [LWN.net]
zaquest has joined #osdev
<Ermine> Are there any distros which support ia64?
FreeFull has quit [Ping timeout: 268 seconds]
<Ermine> Ah, it's removed for good
FreeFull has joined #osdev
<Ermine> Well, those who push for keeping ia64 support are trying to delay the inevitable, unfortunately
<gog> nooooo ia64
<gog> we love you
<gog> we love your instruction set and have no problems at all
pretty_dumm_guy has joined #osdev
<Ermine> good night, sweet prince
GeDaMo has joined #osdev
<zid> I love column 1 in ia64
<zid> the other two are for noobs
Ameisen has quit [Server closed connection]
Ameisen has joined #osdev
eck has quit [Ping timeout: 246 seconds]
eck has joined #osdev
<geist> IA64
netbsduser has quit [Ping timeout: 256 seconds]
<sham1> Ia64. Gone but not forgotten
<sham1> Giving compilers explicit cache tuning. RIP
muffin has joined #osdev
Left_Turn has joined #osdev
qxz2 has quit [Server closed connection]
remexre has quit [Server closed connection]
remexre has joined #osdev
Goodbye_Vincent has quit [Server closed connection]
Goodbye_Vincent has joined #osdev
zetef has joined #osdev
heat has joined #osdev
<zid> I like IA22, the other 42 bits are spares.
<puck> ia64 (65-bit register)
<zid> 42 parity bits so you don't run the wrong thing
<puck> ia64 has 82 bit floating point???
truepassion has joined #osdev
<truepassion> hi folks, what is the purpose of thread_info struct in linux kernel now? it used to be for easy access to task_struct, when all one had was stack pointer
muffin has quit [Quit: WeeChat 4.1.1]
<heat> it still is
<heat> next!
<truepassion> but now, thread_info doesn't contain a pointer to task_struct anymore. and we can access task struct using a per-cpu variable
<heat> thread_info has info that you want to be very cheap to access
<heat> AIUI, that is
<truepassion> right but to access thread_info you have to go via task_struct now AFAICT
<truepassion> so why locate thread_info at bottom of stack like before?
<truepassion> it can be part of task strcut
<truepassion> it can be part of task struct**
<bslsk05> ​medium.com: Just a moment...
<heat> that's not true for every arch
<truepassion> any examples?
<bslsk05> ​elixir.bootlin.com: current_thread_info identifier - Linux source code (v6.6.1) - Bootlin
<truepassion> i mean examples of arch's which can't work with thread_info not containing pointer to task_struct.
<truepassion> oh i see what you shared there
<heat> CONFIG_THREAD_INFO_IN_TASK is particularly interesting here
<truepassion> yeah but it still doesn't use SP to acquire thread_info
<truepassion> it is still used task_struct
<heat> yes
<heat> on !CONFIG_THREAD_INFO_IN_TASK architectures, they deem their alternative method to be faster/easier than going through task_struct
ZipCPU has quit [Server closed connection]
<truepassion> oh i see!
<heat> on CONFIG_THREAD_INFO_IN_TASK, its just part of task_struct
<heat> there's no indirection even
<truepassion> right
ZipCPU has joined #osdev
<truepassion> but this does mean that thread_info is still located at bottom of stack even when CONFIG_THREAD_INFO_IN_TASK is defined
<heat> no
Turn_Left has joined #osdev
eck has quit [Ping timeout: 256 seconds]
zxrom has quit [Ping timeout: 256 seconds]
<heat> AFAIK task_struct is not part of the stack
<truepassion> okay may be i misremembered the part where thread_info is at bottom of stack.
<truepassion> thanks for helping clarify
Left_Turn has quit [Ping timeout: 260 seconds]
eck has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
qaqekco has quit [Quit: Well that's odd]
qaqekco has joined #osdev
heat has quit [Ping timeout: 260 seconds]
qaqekco has quit [Ping timeout: 256 seconds]
mctpyt has joined #osdev
qaqekco has joined #osdev
vdamewood has joined #osdev
bauen1 has quit [Ping timeout: 245 seconds]
targetdisk has quit [Server closed connection]
zetef has quit [Remote host closed the connection]
vdamewood has quit [Quit: Life beckons]
Gurkenglas has joined #osdev
heat has joined #osdev
mctpyt has quit [Ping timeout: 256 seconds]
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
dude12312414 has joined #osdev
Gurkenglas has quit [Ping timeout: 250 seconds]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
PublicWiFi has quit [Server closed connection]
PublicWiFi has joined #osdev
Left_Turn has joined #osdev
zxrom has joined #osdev
Left_Turn has quit [Max SendQ exceeded]
Turn_Left has quit [Ping timeout: 260 seconds]
Left_Turn has joined #osdev
Bitweasil has quit [Server closed connection]
Bitweasil has joined #osdev
netbsduser has joined #osdev
Left_Turn has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
Left_Turn has joined #osdev
zetef has joined #osdev
Gooberpatrol_66 has quit [Ping timeout: 268 seconds]
zetef has quit [Ping timeout: 246 seconds]
zetef has joined #osdev
heat has quit [Ping timeout: 256 seconds]
heat has joined #osdev
kkd has quit [Server closed connection]
kkd has joined #osdev
goliath has joined #osdev
elastic_dog has quit [Ping timeout: 268 seconds]
elastic_dog has joined #osdev
Turn_Left has joined #osdev
zetef has quit [Ping timeout: 260 seconds]
Left_Turn has quit [Ping timeout: 260 seconds]
mahk has quit [Server closed connection]
zetef has joined #osdev
gog has quit [Quit: Konversation terminated!]
rpnx has joined #osdev
xenos1984 has quit [Ping timeout: 268 seconds]
xenos1984 has joined #osdev
fluix has quit [Server closed connection]
fluix has joined #osdev
gog has joined #osdev
kpel has joined #osdev
<kof123> mjg: jai is still in beta it looks like. the only question is what will it be: 1) compared to c++ 2) compared to rust . that interview i believe said it is written in c++, so ....
<kof123> *private beta
<nortti> I'd add zig to that list myself
zetef has quit [Ping timeout: 256 seconds]
<kof123> > https://www.forrestthewoods.com/blog/learning-jai-via-advent-of-code/ > * NO destructors or RAII * NO garbage collection * NO runtime * NO virtual functions * NOT a "memory safe" language
<bslsk05> ​www.forrestthewoods.com: Learning Jai via Advent of Code - ForrestTheWoods
<mjg> what are selling points again
netbsduser has quit [Ping timeout: 256 seconds]
<kof123> nothing, just random person who told me about rust a long time ago, also liked that, so i thought it funny if they are a little 180
<kof123> meta capabilities, and fast compile times i guess.
nickster has quit [Server closed connection]
eck has quit [Ping timeout: 256 seconds]
nickster has joined #osdev
<kof123> people who dislike c i think almost anything is considered better :D
Turn_Left has quit [Ping timeout: 260 seconds]
<nortti> I do think there is a space for a "language that fulfills the promise of C" (memory is just bytes, programmer is trusted to do whatever, stuff that is slow should be explicit) without all the footguns C language and stdlib have
<gog> a limited subset of c++
<gog> i guess limited and subset are redundant terms and mean the same thing
<nortti> c++ still has integer overflow funniness, type-based aliasing analysis, etc
<gog> hmm
<nortti> also usually the easiest-to-spell way in C++ is the C way of doing things (e.g. arrays which still forget their size when passed to other functions) due to the shared history, whereas it'd be good if the lower-level but more risky thing was something you opt into
kpel has quit [Quit: Leaving]
<gog> maybe i should teach myself zig because i'm pretty moribund with all my projects rn anyway
<mjg> :X
<mjg> why zig
<mjg> do you know rust alreaydy
<gog> no
<gog> i know that's hard to believe
<gog> but i have not learned rust
<gog> and frankly i hate the syntax
eck has joined #osdev
<mjg> you understand rust is the future
xenos1984 has quit [Ping timeout: 256 seconds]
<Ermine> let's learn what we understand in the present
<mjg> that would be php
<mjg> is php a systems language? :X
<Ermine> we understood php in the past
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<nortti> huh, can't seem to find anyone having made an OS in PHP even as a joke
<mjg> lol
<Ermine> even js os exists!
<mjg> bmc endorsed node.js
<mjg> for a time anyway
<gog> no
<Ermine> php is apparently the most hated lang
<mjg> kind of funny they ditched that and went to rust
<mjg> is it?
<Ermine> mjg: bmc?
<gog> i want C with some very specific features
<mjg> bryan
<nortti> bayonet mount connector
<Ermine> ah, the girl kisser
<gog> you cannot make me use node more than i have to
<gog> for my job
<gog> i will never use it other than for that
<mjg> lo l webdev
<Ermine> meme is l mao, but actual situation is not so
<gog> yes please lol at me
* Ermine has to do webdev
<gog> i'm back on react stuff
<gog> after a miserable failure with a docker container for a service that needs to be fixed but it was created years ago and some very specific plugins we need don't work right anymore
<gog> so that's fun
<Ermine> I'll try to steer clear of react
<mjg> lol
<mjg> docker was a mistake
xenos1984 has joined #osdev
<mjg> it allowed webdevs to deploy to linux
<mjg> this could not have possibly ended well
<Ermine> they could deploy to lxc as well
rpnx has quit [Quit: My laptop has gone to sleep.]
<mjg> but was there fuckery to let them do it
<mjg> containers are an *old* idea which even linux had 20 years ago
<mjg> it was docker which made this webdev-accessible
<gog> docker is really annoying tho
<gog> i hate the shit out of it
<Ermine> docker is just frontend
<mjg> instead of talking shit install another woefully outdated image
<gog> no
* mjg does *not* pet gog
<gog> in seriously i'm convinced that all this aws webdev container elastic shit is holidng us back
mahk has joined #osdev
<gog> it's so hard to manage unless you're an expert
<gog> the web uis SUCK
<mjg> OH
<mjg> careful gogs
<mjg> next thiing you are gonna tell me is CLI has merit
<gog> i'm a fucking programmer not an admin
<Ermine> cli has merit
<gog> command line or common language?
<mjg> common lanuage interface
<gog> it's fine ig
<gog> i don't have strong opinions about it
<Ermine> command line
<mjg> powerershell
<gog> i don't use powershell, i use cygwin
<gog> because i don't know powershell syntax
<gog> i do know bash tho
acidx has quit [Server closed connection]
<Ermine> powershell is nice for admining binbows machines
<gog> i don't use binbows
acidx has joined #osdev
Hammdist has joined #osdev
<gog> mjg will you pet me now
<gog> what if i say pessimal
<mjg> mm
<mjg> can't say until you do it
<gog> pessimal
* mjg brushes against gog
* gog scratch
<gog> sike
* mjg shakes fits and curses at cats
<gog> :3
<Ermine> patchen
err has joined #osdev
flom84 has joined #osdev
rpnx has joined #osdev
<heat_> mjg, i don't think the kisser of women ever tried to argue one should write system software in nodejs
<heat_> he does argue that one should RUSTRUSTRUSTRUSTRUSTRUSTRUSTRUSTURST
<mjg> they had docker backend in node.js
<bl4ckb0ne> char16_t is annoying
<heat_> i don't know what docker backend means, in this case
<Ermine> he argued for more kisses...
<mjg> it's a systems fucking program
flom84 has quit [Ping timeout: 260 seconds]
Nixkernal has quit [Quit: No Ping reply in 180 seconds.]
<Ermine> Word 'Women' happens to have mjg's favourite ending
Nixkernal has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
phr3ak has quit [Server closed connection]
<heat_> well spotted
<heat_> but maybe womenen would be a better plural
<gog> many woms
* gog womans
<mjg> asking chatgpt to implement topological sort in c
<mjg> int* result = (int*)malloc(graph->numNodes * sizeof(int));
<mjg> in facta ll mallocs casted
<gog> aAAAAAA
<gog> i was trying to find documentation to solve a web development problem today
<gog> and i found a page with a blog
<gog> and the first line was "did you try asking chatgpt?"
<mjg> :d
<mjg> mon i would be wary of reading blogs anyway
<gog> i was grasping at straws here
<mjg> anything dated past public chatgpt access may very well be copy pasted
<gog> because i really didn't understand what the problem was at the time
<gog> eventually i did
<gog> but that page was useless
<gog> but, no, no i didn't try asking chatgpt. i will not ask chatgpt. i will use my problem-solving skills and learn something instead of maybe finding a solution i don't understand that may be plagarized
<heat_> mjg, the * is in the wrong position anyway
<mjg> chadgpt is great
<mjg> it wrote a program and it ran
<mjg> therefore no issues
<gog> sure
HeTo has quit [Server closed connection]
HeTo has joined #osdev
<gog> in any case, my staunchly anti-chatgpt position will be vindicated
<gog> i hope
<mjg> i'm afraid to ask chatgpt if it is a replacement for programmerz
<gog> i hope it is
<gog> i don't want to be a programmer anyway
<mjg> you one of them MANAGERS
rpnx has quit [Quit: My laptop has gone to sleep.]
<heat_> programmar
<heat_> progamer
Gooberpatrol66 has joined #osdev
<kof123> eh, now its supposedly a dangerous tool for chinese propaganda. i don't want to get offtopic, just there are a few choice kofisms coined over the years 1) confusion of tongues is eternal 2) schizophrenia is the norm
<kof123> that cantrill interview almost kind of touched on this, that languages x,y,z led to their successors as "reactions" somewhat
<kof123> i hesistate to saw that is a universal law, but marketing is always....blind
<kof123> *say
<kof123> so, just wait a few years, what will the marketing be lol
<kof123> this is just to say, maybe people will develop immunity lol
blockhead has quit []
<kof123> Only a fool expects rational behavior from his fellow humans. Why do you expect it from a machine that humans have constructed? -- tao of programming. this is just to say, for those philosophies...surely it contains the seeds of its own destruction lol
<Ermine> mjg: what 'mon' means
Turn_Left has joined #osdev
foudfou_ has joined #osdev
foudfou has quit [Remote host closed the connection]
<heat_> mon
<heat_> nobody knows what it means
<mjg> mo n
<heat_> but its provocative
<heat_> gets the people going
<gog> meown
<heat_> gog
<gog> heat
<heat_> why computer?
<zid> memes
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
danilogondolfo has quit [Quit: Leaving]
Vercas has quit [Remote host closed the connection]
foudfou_ has quit [Remote host closed the connection]
foudfou has joined #osdev
Vercas has joined #osdev
pounce has quit [Server closed connection]
pounce has joined #osdev
eck has quit [Ping timeout: 246 seconds]
rpnx has joined #osdev
eck has joined #osdev
<heat_> gog, what do you prefer: chalk or crayons?
<heat_> in the gastronomic sense
<zid> surely crayons
<gog> deffo crayon
<heat_> why?
<heat_> chalk is unequivocally the better writing tool and I feel like that must be worth something
<heat_> crayons might be tastier but you can't write with them without feeling like a toddler
<gog> why would i write with something i'm going to eat
<gog> that's ridiculous
<heat_> why would you *not*
<gog> because i'm too busy eating it
<heat_> don't rush your food
<gog> i'm hungry _now_
rpnx has quit [Quit: My laptop has gone to sleep.]
<bslsk05> ​'Cat Absolutely Devours This Cooked Pumpkin' by Sunny Skyz Videos (00:00:13)
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
pretty_dumm_guy has joined #osdev
<zid> I think heat's gone a bit funny from the sun gog
<zid> "What's nicer to drink, vinegar or orange juice?"
<zid> "You should consider vinegar more, it can clean floors"
<heat_> absolutely
<heat_> that's a great point
<zid> heat_: i got you your dinner btw, it's maggots. You can also use them for fishing.
<zid> Utilitarian, it's like a vegetarian, but you only eat things with high utility
<heat_> utilitarianism was always the way
<gog> no wonder my computer looks appetizing
<zid> I've got a lovely cork souflée for after, you can use it to stop wine going bad
<gog> i've never had wine go bad
<heat_> computers are useless
<heat_> not worth eating IMO
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
<zid> gog: have you left it without a cork for any length of time?
<zid> (or lid, if you're a screw top wine sort)
<gog> only while i'm pouring its contents indirectly into my mouth via a glass or a coffee mug if i'm feeling extra trashy
<zid> heat_: What's the drinking age in portugal? Cyka aligned I assume?
<heat_> 18
<zid> wtf
<zid> and apparently 20 in iceland, wow
<zid> I was expecting lower for both, ngl
Hammdist has quit [Quit: Client closed]
sbalmos has quit [Quit: WeeChat 4.1.1]
dude12312414 has joined #osdev
ripsquid has quit [Ping timeout: 246 seconds]
ripsquid has joined #osdev
rpnx has joined #osdev
gbowne1 has joined #osdev
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
<gog> zid
<gog> heat_:
<gog> bazinga
<zid> gog whih member of the human league are you
<gog> i think i'm more a joanne
<zid> not Philip Oakey?
<zid> smh
<zid> he had the best makeup
<gog> what about robert smith
<zid> no that's me
<zid> That's a lie :(
<zid> I'm more like jarvis cocker
<heat_> gog
<gog> heat
<heat_> are you a swiftie or a gaylor swiftie?
<gog> no
<heat_> dang
<gog> i think her music is, what the kids call, mid
<heat_> yeah
<heat_> i dont think i've ever voluntarily heard any of her songs
<heat_> BUT otoh having a whole group of conspiracy theorists who think she's secretely gay is absolutely hilarious
<gog> ngl i like some banal garbage for pop music
<gog> no accounting for taste
<gog> so i don't judge
<zid> can we make more
<zid> 80s music
<heat_> i listen to the hip hops
<zid> or do I have to wait another 60 y ears
<gog> you can try to capture the sound and energy of the decade's breakout stylistic tendencies
<gog> but you can't go back
<gog> and why would oyu want to
<gog> everybody was high on cocaine and thatcherism
<heat_> 80s music is garbage
<zid> cus I like new wave synth rock pop brit brit
<gog> me too
<zid> aww cute, heat has no taste
<heat_> cocaine AND thatcherism?! nice!
<gog> yeah
<gog> it was a wild era
<zid> you need SOMETHING to get away from thatcher
<zid> so imo it's even more relevent now
<zid> than it was in the 90s
<heat_> 90s music was alright but i feel like 1 in every 2 songs was apathetic
<gog> i'm a true 90's kid
<zid> https://www.youtube.com/watch?v=aGCdLKXNF3w have some tears for fears heat
<bslsk05> ​'Tears For Fears - Everybody Wants To Rule The World (Official Music Video)' by TearsForFearsVEVO (00:04:51)
<gog> not like other 90's kids
<heat_> i'm a false 90s kid
<kof123> > Beneath its 'tra-la-laas' is a virulent anti-Thatcher song. Oh yes it is. Something nasty in your garden, waiting, until it can steal your heart
<heat_> zid, that's 80s not 90s
<zid> I said 80s
<zid> the entire time
<zid> wtf are you smoking
<heat_> <zid> than it was in the 90s
<zid> yes
<heat_> fake news
<zid> 80s music is the 'it'
<zid> pronouns motherfucker
<zid> heat's turning into a republican, doesn't understand pronouns :(
<heat_> am i a southern republican at least?
<heat_> or a boring utah family-oriented one
<kof123> hey now, there is also the supposed french revolution tie people together with a weight and throw them into the ocean for a "republican marriage"
<kof123> conway's law :D
<klange> California Republican - you're so guaranteed to lose, Democrats run on your ticket to have some chance of competing against the incumbents in their own party.
joe9 has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<zid> I like tears for fears but the slower gary jules version of mad world
<zid> is better
Turn_Left has quit [Ping timeout: 268 seconds]