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
<cloudowind> :/ ok
<gog> hi
<gog> heat
<heat> hi
<heat> gog
<killdashnine> stop messing around and go make some tutorials for the rest of us
<gog> tutorials are what lead new programmers astray imo
<killdashnine> then write a book, you can write a book just explaining what the hell is going on in sophie and it'd sell
<gog> lol
<killdashnine> im serious, there's no uefi x86_64 practical osdev book out there
<killdashnine> thank me later
<gog> uefi is only the jumping off point
<mcrod> gog I want a plushie
* gog gives mcrod a plushie
* mcrod hug
* gog hug
<heat> grog
<heat> gog software distribution when?
<mcrod> gog update world
<gog> gog remove gog
<mcrod> question
<killdashnine> gog install tutorial
<mcrod> for a special format string
<mcrod> how many of you think something like this is ugly
<gog> i am not doing a tutorial stop asking
<heat> like what
<heat> gog do a tutorial on onyx thanks
<heat> write a book
<heat> the design and implementation of the onyx operating system
<gog> i don't know what's going on in onyx
<heat> i dont either
<gog> huehue
<mcrod> %pc[upper,pad=auto]%: %instr[upper,prefixaddr='$',pad=auto]%
<mcrod> output: 0000: HEATINSTR $6666
<heat> what the fuck
<gog> what
<killdashnine> thats fucking amazing
<mcrod> i don't know how to make that pretty
<heat> i don't know what you're doing
<mcrod> disassembler for secret project
<mcrod> and I want people to be able to control the visual output, and by people I mean me
<heat> i mean i guess that works innit
<CompanionCube> whatcha disassembling?
<mcrod> because test ROMs exist
<cloudowind> if you change 6666 with 6969 that would look more pretty
<mcrod> but they're not all the same format
<mcrod> in terms of trace logs
<gog> cloudowind: nice
<cloudowind> yea not with him tho with a nice lady yea nice
<mcrod> so I want to be able to do: `disasm.FormatStringSet("what monstrocity I just said");` then `disasm.Disassemble(cpu.instruction());`
[_] has joined #osdev
<mcrod> god ok
<mcrod> it's chip8
<mcrod> there's a reason I am going this far and that's the most I'll say because I have a habit of mentally equating talking about it to finishing it
<cloudowind> they say starting is the half of finishing
[itchyjunk] has quit [Ping timeout: 272 seconds]
<killdashnine> when i figure this shit out (any day now), ill write so many tutorials you'll want me assasinated
Lian has quit [Quit: This Konversation is over!]
<killdashnine> heat: you've written like ~80 sloc a day since 2016 on Onyx
<heat> yeah sure
<killdashnine> thats insane
<heat> dedication and oor use of my time
<heat> poor*
<heat> makes for a nice resume tho
<killdashnine> nothing that makes for a nice resume is poor use of time
<heat> sure is
<heat> when i kick the bucket i won't care that some google recruiter was drooling over my resume
[_] is now known as [itchyjunk]
killdashnine has quit [Quit: WeeChat 3.5]
klange_ is now known as klange
<gog> i will
<gog> heat
<heat> hi
<gog> hi
<mcrod> hi
<heat> hi
<gog> mcrod i don't wanna go to bed yet
<mcrod> ok well
<mcrod> let's watch a movie
<mcrod> i will bring the popcorn
<heat> i have the zoomies
<gog> what movie are we watching
<gog> yes the zoomies
<mcrod> the fifth element
<gog> AZIZ LIGHT
<heat> have you seen guy ritchie's the covenant?
<gog> no
<heat> its pretty good
<cloudowind> you watching 5th element 50 years old movie?wow
<cloudowind> you must be a nostalgic person
<gog> it's a good film
<gog> LEELOO DALLAS MULTIPASS
<cloudowind> so the 5th element is love
<cloudowind> water air fire earth and love
<cloudowind> some of the greek philosophers propose that the love and hate itself is the only 2 elements responsible for existence
heat has quit [Ping timeout: 246 seconds]
air has joined #osdev
linear_cannon has quit [Ping timeout: 264 seconds]
MiningMarsh has quit [Ping timeout: 272 seconds]
<cloudowind> oooo air
linear_cannon has joined #osdev
cloudowind has quit [Quit: brb]
linear_cannon has quit [Ping timeout: 240 seconds]
linear_cannon has joined #osdev
cloudowind has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
gog has quit [Ping timeout: 260 seconds]
wblue has quit [Quit: wblue]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
LostFrog has quit [Remote host closed the connection]
PapaFrog has joined #osdev
Arthuria has joined #osdev
ih8win8 has quit [Ping timeout: 246 seconds]
[itchyjunk] has quit [Read error: Connection reset by peer]
slidercrank has joined #osdev
cloudowind has quit [Quit: Leaving]
PapaFrog has quit [Ping timeout: 272 seconds]
PapaFrog has joined #osdev
linearcannon has joined #osdev
linear_cannon has quit [Read error: Connection reset by peer]
nanovad has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
nanovad has joined #osdev
hmmmm has quit [Quit: Leaving]
Arthuria has quit [Ping timeout: 264 seconds]
Matt|home has joined #osdev
nyah has joined #osdev
goliath has joined #osdev
vai has joined #osdev
zxrom__ has joined #osdev
zxrom_ has quit [Ping timeout: 245 seconds]
zxrom__ is now known as zxrom
duderonomy has quit [Quit: Textual IRC Client: www.textualapp.com]
Burgundy has joined #osdev
rorx_ is now known as rorx
SGautam has joined #osdev
danilogondolfo has joined #osdev
Burgundy has quit [Ping timeout: 250 seconds]
mhall has joined #osdev
CaptainIRS has quit [Remote host closed the connection]
Cindy has quit [Remote host closed the connection]
techmetx11 has joined #osdev
gog has joined #osdev
<klys> system is back up and running with noapic. is the apic on the mz72-hb0 or the amd 7453 ?
GeDaMo has joined #osdev
<gog> hihhi
<sham1> hih
SGautam has quit [Quit: Connection closed for inactivity]
* kazinsal pets gog
* sakasama gogs pets.
* vdamewood gives gog a fishy
* gog prr
<kazinsal> all you interlopers are encroaching on my gogspace >:(
<gog> ddevault: wooo
<ddevault> turns out the drives did need to be spun up
<gog> :D
* zid spins up his ssd
<zid> does scsi have 'spin up pls' command that I can send my ssd
<bslsk05> ​git.sr.ht: ~sircmpwn/mercury: cmd/ahci/ - sourcehut git
<zid> Makes the drive READY or NOT READY and simulates the motor behavior of HDDs.
<zid> I hope it vibrates
<gog> haha nvme drive go brrrrrrrrr
<sham1> Literally
<sham1> Well, better than spinning, I suppose
<zid> What could possibly be better than spinning, wheeeee
vai has quit [Ping timeout: 272 seconds]
<sham1> Well if an nvme drive begins to spin, you have prblems
<gog> what if it's one of thsoe tiny hard drives that were all the rage in the early 2000's
<gog> m.2 mechanical hard drive
gog` has joined #osdev
<gog> whyyyyyy
Left_Turn has joined #osdev
<gog> ah yes, the pump up the jam people
vdamewood has quit [Quit: Life beckons]
MiningMarsh has joined #osdev
<mcrod> gog may I pet you
<gog> mcrod: yes
* mcrod pets gog
vdamewood has joined #osdev
* gog prr
<vdamewood> kitty go prrr
<gog> haha
vdamewood has quit [Quit: Life beckons]
nanovad has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
nanovad has joined #osdev
dutch has quit [Quit: WeeChat 4.0.2]
dutch has joined #osdev
edr has joined #osdev
gog` has quit [Ping timeout: 272 seconds]
GeDaMo has quit [Read error: Connection reset by peer]
GeDaMo has joined #osdev
<mcrod> AI is scaring me
<mcrod> the amount of music covers that have popped up lately
<mcrod> and a good amount of them sound indistinguishable to the untrained ear
[itchyjunk] has joined #osdev
ih8win8 has joined #osdev
eroux has joined #osdev
zaquest has quit [Remote host closed the connection]
bnchs has quit [Remote host closed the connection]
techmetx11 is now known as bnchs
<gog> hi
<sham1> hi
<sham1> Just got back home
<sham1> Animations suck
vdamewood has joined #osdev
heat has joined #osdev
<heat> hello its me but on linux
<heat> im already at least 20% sadder from using linux
<vdamewood> Only 20%?
<heat> for now
<Mutabah> Just due to normal setup/adjustment blues? or something seriously broken?
<heat> if half of linux desktop isn't seriously broken i don't know what is
bnchs is now known as Cindy
<gog> i love linux desktop
<gog> hi Cindy
<heat> hi gog
<gog> hi heat
<heat> how are you
<gog> i'm well how you
<heat> im ok but i didn't go to the gym cuz i was lazy
<heat> so i did nothing today
<gog> i went to lunch and had burger and beers+
<gog> this react component is doing things that don't make sense also
<heat> borger
<gog> yers
<heat> im going to go and get a broger too
<heat> maybe some fryes
<mcrod> hi
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
SGautam has joined #osdev
<SGautam> I'm having a bit of trouble separating the duties of the terminal emulator and the shell.
<heat> hi mcrod what do you hate today
<mcrod> you
<ih8win8> Linux desktop is a mess.
<SGautam> For instance, is it the duty of the terminal emulator to handle backspace or the shell?
<heat> terminal
<heat> but sometimes shell!
<SGautam> bruh
<mcrod> heat: if I had to guess, right now my hair
<mcrod> also this keyboard
<heat> ok so this is funny, but you're going to delay my lunch
<heat> fuggit
<mcrod> how nice of you
<SGautam> Does the shell simply do an fgets(), and the terminal emulator forwards it when a newline is encountered?
<heat> so you have a thing called a tty yeah? the tty does backspace processing, etc, they do a lot of shit for you
<SGautam> Thing is I'm planning to become the tty.
<SGautam> Or more appropriately a Windows Terminal instance.
<ih8win8> The shell normally uses a library called readline to get command-line input. It's what lets you backspace and edit commands.
<heat> some shells (bash, python!) disable that processing and get the tty into raw mode. now it doesn't do anything, and returns every character, and libreadline keeps its own buffer in userspace
<SGautam> One thing I observe is how backspacing the prompt leads to a terminal beep
<heat> i don't know how windows does things
<heat> i assume it's not too different from unix but that's a stab in the dark
<SGautam> It used to be really bad before with the legacy Win32 Console API
<SGautam> Now there's a pseudoterminal API which is basically UNIX like in operation that acts as an abstraction over the new Windows Terminal.
<heat> also, importantly, there's a difference between a tty and a terminal emulator
<SGautam> I'm guessing TTY refers to a file
<SGautam> Like CONIN/CONOUT
<heat> the things stack like terminal emulator <-> tty <-> write()/read()
<SGautam> Ohh
<heat> no, not necessarily
<heat> tty is a whole subsystem
<SGautam> Tty is the what's called the pseudoterminal emulator and is implemented into the kernel, right?
<heat> but yes usually /dev/tty0 or whatever is your stdin/out/err
<heat> not quite
<heat> pty is the pseudoterminal stuff
<heat> pty spawns pseudo-ttys
<heat> normal ttys have some backing hardware usually
<SGautam> Physical terminals don't exist though anymore I guess
<heat> whether that's a virtual console (screen + keyboard on a PC) or board-native serial, or USB serial
<gog> hi
goliath has quit [Quit: SIGSEGV]
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
<heat> im 70% pissed off cuz of linux now cheers
<ih8win8> Windows has its own C API to move the cursor, change colors, backspace, etc. On Windows 10, they added support for ANSI escape sequences.
<heat> <heat> anyway the tty layer does transformations like \n -> \r\n, etc and its all super configurable
<heat> <heat> using the appropriate POSIX api
<heat> <heat> but the tty layer has to implement things like backspacing, etc without any knowledge of "the terminal"
<heat> like the tty needs to try and know what line and column you're on, how tabs work without actually knowing
wootehfoot has joined #osdev
<heat> so some stuff like erasing tabs is all sorts of slightly broken over different systems
<ih8win8> MS-DOS (and Windows 3.x, 95, 98, Me) also had a driver called ansi.sys to handle ANSI escape sequences, but its implementation was slow, so few people used it.
<SGautam> So all these what you said are not handled by the terminal emulator I'm guessing which only displays thea vt100 text stream received from the program and redirects all the stdin to the program with the tty in the middle.
ss4 has joined #osdev
<heat> all these what?
<SGautam> Backspacing,\n->\r\n transformations, etc.
<heat> backspacing is half-handled in tty/terminal emulator
<heat> CRLF is fully tty though
<SGautam> Also I'm wondering how programs like nano or vim work. If the terminal emulator is line based, how does a TUI get implemented? I'd imagine that requires direct access to the terminal emulators text buffer.
<heat> no
<GeDaMo> ANSI codes
<heat> they use VT100 escapes
<heat> not ANSI
<GeDaMo> https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_(Control_Sequence_Introducer)_sequences
<heat> well, VT100 is a bit disingenuous
<GeDaMo> ANSI is based on VT100
<ih8win8> Looks like the ASCII backspace code (8) just moves the cursor backwards, but doesn't erase the character.
<heat> they use whatever escapes you say your terminal supports, based on TERM
<SGautam> Just to provide a bit of context I'm trying to write a fancy looking terminal in OpenGL.
<heat> yes, \b just moves backwards, \x7f is the erase one
<ih8win8> echo -e 'abc\b' results in "abc"
<ih8win8> echo -e 'abc\bdef' results in "abdef"
<SGautam> Interesting
wootehfoot has quit [Ping timeout: 272 seconds]
<heat> iirc \x7f doesn't even work for stdout
<heat> so you need "\b " to erase
<heat> actually "\b \b"
<ih8win8> \x7f what is that?
<heat> it's an ASCII character (0x7f)
<ih8win8> Yes, "\b " moves the cursor backwards and replaces with space.
<SGautam> For stdin
<bslsk05> ​terminalguide.namepad.de: — Terminal Guide
<heat> if you want actual code, see my thing: https://github.com/heatd/Onyx/tree/master/kernel/kernel/tty
<bslsk05> ​github.com: Onyx/kernel/kernel/tty at master · heatd/Onyx · GitHub
<heat> it's very much not perfect but it does the job most of the time
slidercrank has quit [Quit: Why not ask me about Sevastopol's safety protocols?]
ss4 has quit [Ping timeout: 272 seconds]
<immibis> SGautam: the whole thing is a mess but it can be understood somewhat by seeing the history. Like your program originally communicated through a driver to a printer, then they upgraded to fake printers with screens, then got control codes, then got graphics terminals that pretend to be screens pretending to be printers
<immibis> also telnet in there at some point
<immibis> I think line buffered input mode makes sense for telnet. not sure if there was a reason to use it with teleprinters
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<immibis> please if you are making a new OS don't copy the mess from other OSes :)
<gog> we will reimplement unix untilt he end of days
<sham1> Those who don't learn from UNIX are doomed to repeat it
<mcrod> it's remarkable that unix is still somehow dominant with all of its problems
<sham1> Or I suppose blessed
<sham1> Because UNIX is good
<mcrod> no it isn't
<mcrod> it's like a person from the ENIAC times trying to build a usable system for the modern age
<mcrod> i'd say a good 40% of UNIX-HATERS is bullshit these days, the rest is true though.
bnchs has joined #osdev
bnchs has quit [Remote host closed the connection]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
eddof13 has joined #osdev
gareppa has joined #osdev
<ih8win8> Unix still fails miserably with UX design, like cryptic, misleading error messages, and inconsistency between commands.
Left_Turn has quit [Read error: Connection reset by peer]
<mcrod> there are plenty of programs that have to popen() something else and parse the stdout
<mcrod> hilarious
<ih8win8> yeah
<ih8win8> Powershell solved that problem by making the output not raw text, but .NET objects.
<ih8win8> Though there are cons to that approach as well.
<mcrod> i'd take powershell over bash any day of the week, in scripting at least
<ih8win8> Bash has a lot of weird gotchas.
Left_Turn has joined #osdev
killdashnine has joined #osdev
killdashnine is now known as innegatives
innegatives has left #osdev [#osdev]
<heat_> immibis, the console subsystem is a mess but it still works better than other alternatives sooooo
<immibis> no, the windows GUI subsystem is better
<immibis> mcrod: Unix is dominant precisely because it valued getting out the door with the problems instead of spending decades trying to fix them. The "less is more" approach
<heat_> UNIX is also dominant because it just works
<immibis> better ship the tool with a bunch of rough edges than spend too long polishing them
<heat_> and usually works better than alternatives
<immibis> but let's not delude ourselves into thinking they're not rough edges
<immibis> the windows GUI subsystem is better because it's matched to the operating environment and not 3 layers of emulation
<heat_> NT spent 3 decades building a fancy ass ecosystem with many dlls and system calls and fancy features but at the end of the day linux is way faster than windows at most things
<heat_> and more secure as you need to commit less warcrimes to get things to work
<immibis> someone is going to mention pipelines, but let's also not delude ourselves into thinking Unix pipelines are the proper way to do pipelines on a graphical terminal
<immibis> if they were made today they'd make LabVIEW
<ih8win8> Unix is dominant for servers because it's easier to automate, can run headless with ssh, is more customizable, and can do complex networking tasks easier than Windows.
<heat_> and is way faster
<heat_> and open source
<immibis> you are missing the forest for the trees. Linux is dominant for servers because it's free. That's the biggest reason.
<heat_> no
<immibis> The rest follows from market share
<heat_> how would you explain freebsd sucking then?
<heat_> it's free!
<ih8win8> People still pay money for Solaris and Red Hat.
<immibis> does it have market share?
<heat_> why did it never get any market share, ever?
<immibis> dunno, wasn't around. My entire university was running NetBSD until a few years before I enrolled
<immibis> well, the entire programming department
<immibis> they switched to Linux only because Linux was already dominant
<immibis> it may be something to do with the FSF as I never saw anyone promoting physical BSD disks
<immibis> but you could buy Linux from the bottom shelf of the computer store
<heat_> linux won because linux is and was FOSS
<heat_> linux also won because it had a lot less baggage
<immibis> and BSD isn't?
<heat_> BSD was lawsuited to shit at the time
<heat_> and had a lot of technical problems, still does
<immibis> well there you go then. It's not free if it comes with a chance of being sued out the wazoo
<heat_> how well does netbsd or openbsd scale? they don't
<immibis> Linux also didn't scale until it was popular and they made it scale
<heat_> linux had a lot less baggage
<heat_> and rest assured that linux isn't "free"
<immibis> doubt. Linux has this userspace ABI guarantee which bsd doesn't
<immibis> that's baggage
<heat_> not really?
<heat_> anyway, the cost of maintaining linux falls on you as a corporation (and your engineers), or RHEL if you go that route. free is not really a reality AFAIK, for corps
<immibis> ah yes because if you buy windows Microsoft will set up your server for you
<sham1> yes
awita has joined #osdev
<sham1> Anyhow, RE: not wanting to repeat mistakes of earlier OSes, that's a difficult proposition. In many ways, you'd want to get rid of things like C in that case and do something different but for OSDev doing anything novel like that would be extremely difficult
<sham1> UNIX for example is very simple in many ways. Of course the actual system itself is difficult to implement with all the quirks, but like, most people in this stuff have at least a basic understanding of what to expect
<ih8win8> Few things beat C for performance, while having memory safety.
<ih8win8> I guess Rust and Ada are your only options for that.
goliath has joined #osdev
<sham1> And both of those languages are also pessimal in other ways
<gog> hi I'm Ada
<gog> i'm very pessimal
<mjg> i don't see how rust /beats/ c
<heat_> hi ada
<heat_> im warmth
<mjg> is that diminutive from heat?
<sham1> I'm ~cold
CaCode has joined #osdev
<heat_> correct
Turn_Left has joined #osdev
<heat_> what's the diminutive of mjg?
<heat_> m? mj? jg?
<mjg> there is no diminutive form for initials, but maybe things are different in portugal
<heat_> it was just a shit joke m8
<heat_> please laugh
<heat_> thank you
<sham1> Please clap
* gog clap
Left_Turn has quit [Ping timeout: 264 seconds]
<ih8win8> Rust should be comparable to C++ in performance.
<mcrod> god it is HOT
* mjg implementes global cooling
<heat_> mcrod, sorry
<mcrod> if it was really your fault i'd throw you into the sun to be honest
<mcrod> :(
<mcrod> you know, i wonder what happened to mrvn
<HeTo> Rust has at least one performance advantage that C and C++ lack: it has references to immutable objects. C and C++ only have pointers and references to const, but if there's unknown code run that may have had access to the same object, the compiler has to assume it has changed; with Rust, the compiler knows that as long as you have that reference, the object simply does not change
[itchyjunk] has quit [Read error: Connection reset by peer]
<mcrod> it's nice that rust can do that
<mcrod> but I think what you're describing is the "restrict" keyword
<HeTo> no-one understands restrict so that's not applicable
<mcrod> that doesn't matter
<nortti> also only for function parameters
<HeTo> but no, void foo(const int* restrict i, void (*f)(void*), void* arg), if foo calls f(arg), it cannot know that that hasn't changed i. foo(i: &i32, f: &fn()) or whatever the Rust syntax is would know that f cannot change i
<mjg> HeTo: that's a fair point, but does the compiler take advantage of it?
<mjg> modulo lto
<mjg> i happen to know for a fact that *currently* (as in fixable, but not sorted out yet) rust injects a bunch of stuff which is not needed
<mjg> for example memset *twice* before stat()
<HeTo> mjg: idk, but I know that LLVM has immutable as a separate qualifier from const (I don't remember the names exactly). it sounds like an obvious enough thing to take advantage of that I would almost expect it to
<mjg> i\m told this is to appease some internals which currently cannot be told that an area is populated
<mjg> and perhaps more importantly varoius rusters inject thread creation
<nortti> HeTo: could be that it's not really taken advantage of though, as from what I understand llvm had a lot of bugs even in just cases that involved a lot of restrict (which kept rustc from taking advantage of the known-no-alias info they had until fairly recently)
<sham1> HeTo: I dunno, it doesn't seem to be accessing *i twice here: https://godbolt.org/z/5YYxWc8K1
<bslsk05> ​godbolt.org: Compiler Explorer
<mjg> going singlethreaded -> multithreaded introduces significant penalty for various syscalls, even if only one thread is dong naythign
[itchyjunk] has joined #osdev
<sham1> This is exactly what restrict gives you
<sham1> Hell, doesn't even need restrict
<sham1> Or does it
<sham1> Hm
<sham1> For some reason it's moving the i into rbx here
<HeTo> sham1: uh, it seems to? there's mov ebp, [rbx] before call rsi and mov edx, [rbx] after the call
<sham1> Yes there seems to be
<sham1> I don't know why, the restrict should mean that it isn't aliased
<HeTo> well, it isn't, but how does it know that arg isn't an int** pointing to i?
<nortti> because that would be UB
<sham1> Well it's restrict, so I'd assume that it'd see that as UB
<HeTo> I mean, int** pointing to something that points to i
<sham1> I haven't read far enough in the C99 standard to confirm that
<HeTo> well, yeah, no-one understands restrict, so neither do I, but I would assume there are ways that that function could access what i is pointing to
<sham1> Well the standard does
<sham1> The standard understands restrict because it defines what it means
<HeTo> what if i points to a global variable and f modifies that global variable?
<sham1> Well const isn't really const, that's clear enough
<HeTo> but a person has to understand the standard
Terlisimo has quit [Quit: Connection reset by beer]
<sham1> I mean, it's only const from the point of view of the user, like "Please don't touch this"
<mcrod> this sounds like an episode of suits
<sham1> const in many ways can be seen to be a misnomer, because it's not immutable even though the name kinda implies that
<sham1> And, well, compilers do warn if you try to change it but the language doesn't care if something else does
<sham1> Because the pointer just points to the object with the type qualifier of const
<sham1> It gives you a "const" rvalue, to borrow a phrase from C++
<nortti> < HeTo> what if i points to a global variable and f modifies that global variable? ← 6.7.3.7 C99 "An object that is accessed through a restrict-qualified pointer has a special association with that pointer. This association, defined in 6.7.3.1 below, requires that all accesses to that object use, directly or indirectly, the value of that particular pointer."
<sham1> I'd say that's indirect enough since you're actually accessing the actual object if f is modifying that global
<nortti> ah sorry, 6.7.3 paragraph 7, not 6.7.3.7
<sham1> 6.7.3p7
gog has quit [Quit: Konversation terminated!]
<sham1> Of course, you can also get const volatile
<sham1> Where you're not supposed to modify the thing, but something else certainly can. IIRC that's implementation-specific
<HeTo> yeah that paragraph isn't enough, you really have to read and understand 6.7.3.1 to get the details
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<HeTo> I'm still supposed to be working though so I won't even try to now
<mjg> Leonard Mao
Terlisimo has joined #osdev
eddof13 has joined #osdev
duderonomy has joined #osdev
<heat_> hi mjg how are you?
<mjg> watching a game, having a bud
<ih8win8> restrict just tells the compiler that you're not going to alias the pointer.
<mjg> how bout you
<ih8win8> So it can assume that whatever the pointer points to isn't going to be accessed from some other variable or pointer
<ih8win8> mostly for optimization
<heat_> im proof-reading a thesis
<mjg> genz
<bslsk05> ​'budweiser wassup' by zammo69 (00:01:01)
<heat_> btw what game are you watching
<heat_> are you not actually watching a ame
<heat_> is this some stupid reference
<mjg> it is a non-stupid reference toa fucking klassikkk
<mjg> watch the above mofer
<heat_> nope, definitely stupid
<mjg> it is nonsensical enough that it very may be your genz vibe
<mjg> very well*
gabi-250 has quit [Remote host closed the connection]
gabi-250 has joined #osdev
<ih8win8> gen z humor is basically modern day dadaism
gog has joined #osdev
<sham1> Nah, genz makes sense
<gog> hi
Burgundy has joined #osdev
<heat_> hi
<mcrod> hi
<mcrod> also, I've reduced my ugly syntax to something printf like
* gog hug mcrod
* mcrod hug gog
<heat_> congrats
<heat_> your ugly syntax is now ugly-printf-like syntax
<mcrod> %P04X is better than %pc[pad=auto,upper]%
<heat_> erm
<heat_> ""better""
<mcrod> well okay then heat_
<mcrod> is there any other suggestion you have
<heat_> honestly from a user PoV I might prefer the other syntax
<mcrod> i thought so too
<mcrod> but... i dunno.
<heat_> printf is only usable to us weirdos because we know the syntax front-to-back
<heat_> because the syntax SUCKS
<mcrod> this whole thing is supposed to be a big tracer anyway
<heat_> if you go the printf route you should try and keep it very very printf-like as to not fuck anyone's mind
<mcrod> implicitly it can play the role of a disassembler
<mcrod> the problem is the printf route isn't actually clear, if nothing else it's just shorter
<mcrod> the other syntax just looks verbose
<mcrod> %pc[base=hex,pad=auto,upper]%
<mcrod> now, you don't need any of the attribute specifiers; if you omit them it will just assume everything I just put there
<sham1> printf is like regex
<sham1> It's good for what it is for, but you could do a whole lot better
<mcrod> at least with this syntax you know it will output the value of PC in hexadecimal with the padding appropriate for that type (4), in upper case
<ih8win8> I wish there was a standard printf for the maximum number of digits that would remove trailing zeros.
<mcrod> er, s/type/value
<sham1> Anyway, before I forget again, with regards to not repeating all the same mistakes of past OSes and such, one of my "problems" is that in some sense I'm not just thinking of an OS as such, but more just an entirely, well... wouldn't call it unique or novel per se, but different model of building a system
<sham1> Well, OOP isn't at all unique or novel, nor is the idea that literally everything in a system is an object
<sham1> Nor stuff like everything being asynchronous, but from that I could probably formulate something that more represents what I'm looking for
slidercrank has joined #osdev
awita has quit [Quit: Leaving]
wootehfoot has joined #osdev
<gog> hi
<mcrod> hi
<sham1> hi
<geist> hi
<mcrod> hi
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
valshaped7424 has joined #osdev
valshaped742 has quit [Read error: Connection reset by peer]
valshaped7424 is now known as valshaped742
heat has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
wootehfoot has quit [Ping timeout: 250 seconds]
gareppa has quit [Quit: WeeChat 3.8]
frenchboy[m] has joined #osdev
wootehfoot has joined #osdev
<gog> meow
<mcrod> meow
<mcrod> i suck at parsing.
<zid> parsing is illegal and impossible
danilogondolfo has quit [Remote host closed the connection]
<gog> yeah it's a bad idea and not something one should ever do
<mcrod> well guess what kids
<mcrod> i have to
<gog> give up
<zid> nah
<zid> reorganize the problem so that it doesn't have impossible steps
<mcrod> gog: i never give up
<gog> i'm gonna go outside and lay in the yard until it reclaims me
<gog> become part of nature
<mcrod> zid: turn "$%pc[base=hex,pad=auto,upper]%" into `$0000`
<mcrod> you have 10 seconds
<sham1> no
<mcrod> well to make it more accurate with all of the attributes, $F00D
<zid> delete original line, emit $0000
<mcrod> genius. but no, that's not what I want to do
<zid> but tbh, it doesn't look THAT bad to parse
zardas has joined #osdev
<mcrod> it's not, I'm more or less just stuck in the mindset of "what's the most efficient way to do this"
<zid> I'd just walk it forwards
<zid> it doesn't look to need anything fancy
<zid> the main issue will be the same issues parsers always have, dealing with the information you find out
<mcrod> for every character, if it's '%', then store what we see one character after until we reach null terminator, a [, or a ], or a =
<mcrod> or a ,
<mcrod> or something
<GeDaMo> What about the % at the end?
<mcrod> or that too, yes
<mcrod> so you need a boolean to check to see if you've already seen a '%'
<mcrod> if you have, processing that token is done
<zid> I'd just track a couple of bools yea
<zid> so that you can skip past a couple of ifs() in the loop
<zid> to get to 'where you are in the process'
<zid> or maybe encode it spatially
<mcrod> because right now I have a `while (*fmt) { switch (fmt) { ... } }` thing going on
<mcrod> er, switch (*fmt)
<zid> I'll hack up the spatial version if you want
<mcrod> sure go for it
<mcrod> because I have no idea at all what you mean by that
<zid> github is down :o
<zid> ah there it's back
<bslsk05> ​gist.github.com: spatial.c · GitHub
<zid> spatially just meaning, 'rip' tells you where in the process of parsing you are
<zid> rather than sticking everything in a loop and tracking it with random booleans
<zid> the booleans are inside RIP :p
<mcrod> huh that's interesting
<gog> the booleans are inside the house
<gog> o:
<gog> o:
vdamewood has quit [Read error: Connection reset by peer]
<sham1> :o
vdamewood has joined #osdev
<mcrod> people who write parsers are magicians
<zardas> parsers are easy
<zardas> os are hard
<zid> could always use YACC BISON FLEX
<zardas> or use cparse
<zardas> which is objectively superior
<zid> I struggle to decide if yacc/bison/flex is bad, or if they're ugly and gross because parsing is ugly and gross
<sham1> Why would you use both YACC and BISON
<zid> and they're just reflecting reality
<sham1> They're ugly and gross because they're LALR (well, yacc and bison are, flex is of course regular*)
<sham1> *: Eh, not quite, but close enough
<GeDaMo> mcrod: do you have a grammar defined?
<bslsk05> ​jafarlihi/cparse - cparse is an LR(1) and LALR(1) parser generator (1 forks/42 stargazers/MIT)
<mcrod> no
<mcrod> not at all
<mcrod> this is what I came up with while I was eating my soup
<GeDaMo> If it was alphabet soup, you could have used it to define a grammar :P
<mcrod> %token[attributes=value,another_attribute=value]&
<zid> You could also probably do this with like, character windows / string views
<mcrod> %token% means "use default options for that token"
<zid> like, search for strings contained within %%, pass that into next function, look for the [] substring, pass left side to reg =, right side to new function
<mcrod> er, % for the previous message
<ih8win8> I only use yacc and friends when I need to parse something very complex like a programming language.
<zid> split on , in that function
<mcrod> yeah I was thinking of doing something like that
<ih8win8> For something like format codes, I'd say don't use it.
<zid> That seems like it would like, document itself the best
<zid> a few small functions with nice names >>> a long list of random character checks
<zid> it won't be crazy fast, but it doesn't honestly need to be I bet
<gog> what if i wrote a recursive descent parser
<mcrod> GeDaMo: so in short, if I wanted to output something like `$F00D: ZIDIZCOOL $6666`, I would write "$%pc[upper,pad=auto,base=hex]%: %instr[upper,pad=auto,prefix=$,base=hex]%"
<zid> what if you didn't
<gog> i'm doing it
<zid> I'll organize the funeral
<gog> just throw me in the trash
<mcrod> now if you wanted to use the defaults for everything
<mcrod> ok
<mcrod> "$%pc%: %instr%"
<GeDaMo> Format <- '%' Name ('[' Rules ']') '%;
<mcrod> yes
<sham1> Where
<mcrod> ultimately it's simple, it just looks incredibly ugly
<sham1> Rules <- Rule (',' Rules)?
<sham1> Or another way written
<zid> I'd just do the string window version, takes 20 mins to finish, runs fast.. enough
<sham1> Rules <- Rule (',' Rule)*
<sham1> If we allow for Kleene star
<zid> If I want to describe a grammar I have to open the C standard and steal bits
<zid> cus I don't remember the format
<mcrod> kleenex
<sham1> I had to go through DFA theory, I'm not letting you lot out of the formalism!
<zid> ducks fuck anything
<mcrod> also, there are edge cases that I'm not handling
<mcrod> which I don't want to handle
<sham1> Well NFA, but who's counting
<sham1> DFA is isomorphic to NFA
<mcrod> e.g. %instr[pad = auto, upper, sham1 = wow]%
<mcrod> don't care for the spaces
<zid> You'd already be finished if you just did the string view thing
heat has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
<mcrod> yeah yeah
<sham1> Stop passing string_view to printf!
<zardas> gog: is there anything about React that you find hard?
<gog> zardas: mostly just being poor at javascript
<gog> but i think i finally grasp the basic concept of how to arrange applications
<zardas> gog: i teach your webdev, you teach me osdev?
<gog> i teach myself webdev'
<gog> i've done enough to keep my job so far
<gog> i learn more every day
<zardas> use typescript, never write raw javascript
<gog> thanks i'll look into that
<zardas> writing javascript is so 2015
<zardas> gog: check out Prisma, it's the best thing since sliced bread
<zardas> best ORM i have ever used in any language ever
<gog> our backend is all c# and RESTful services, we use EF.Core
<zardas> that is painful, believe me
<zardas> once you do node.js backend you never go back
<gog> we have what we have
<gog> we can't throw it away we don't have enough people to make a new system
<zardas> you should join my company, we are looking, best company i have ever worked for, only typescript
<zardas> remote + good paying
<gog> ¯\_(ツ)_/¯
<gog> i'm happy with what i'm doing rn, i like my job and the people i work with and the culture of the company
gareppa has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<zardas> gog: check out Blitz.js also, it gives you baked in RPC backend so you dont have to deal with endpoints and shit at all
<gog> thanks
<heat_> gog: check out onyx, it gives you a shit backed in UNIX
<heat_> perfect for your full stack development
<gog> now that's the kind of technology i want to hear about
<heat_> fuller stack development
<gog> does onyx run dotnet
<heat_> no
<gog> it will soon
<heat_> you get to do it yourself
<heat_> fuller stack development!
<gog> my stack is filling just thinking about it
<heat_> i actually have a v8 port in my hard drive if you want to go for that kind of nightmare
SGautam has quit [Quit: Connection closed for inactivity]
<heat_> gog: you should also join my company
<gog> how much are you paying
<heat_> i pay you nothing, you work 40hrs/wk
<heat_> you start monday, sounds good to you?
<gog> i'm in
<gog> thank you for the opportunity
<heat_> you are welcome
<heat_> you will be well rewarded in exposure
<heat_> and work experience
<gog> wow i've always wanted to be exposed
<zardas> i feel insulted but im not sure
<heat_> you're lucky this isn't a game studio
<heat_> else you'd literally be exposed! by force haha
<gog> :|
<gog> sharked
<zid> do we think gog speaks with vocal fry
<gog> i doooooont
<zid> riiight
wootehfoot has quit [Quit: Leaving]
<gog> :x
linearcannon has quit [Remote host closed the connection]
<mcrod> i'm eating ramen
<mcrod> and none of you are
* mcrod nya
linearcannon has joined #osdev
<gog> i had curry
<zardas> i havent eaten anything in 60+ hours
goliath has quit [Quit: SIGSEGV]
<gog> bruh you need to eat smth
<zid> nah
<zid> eat a chicken once a month, no more
<ih8win8> I wonder which is harder, osdev or browserdev?
<bslsk05> ​'Plankton - Diamonds (AI Cover)' by Not The Lorax (00:03:59)
<gog> browsser
<zid> well browserdev is impossible
<zid> you can claim your OS project is finished whenever you want
<gog> mcrod: lmao
<mcrod> i have written the shortest program which immediately segfaults
<mcrod> main;
<zid> pfft
linearcannon has quit [Remote host closed the connection]
<zid> try int _start;
linearcannon has joined #osdev
<gog> _start db 0
<gog> _start: *
frkazoid333 has quit [Ping timeout: 272 seconds]
<mcrod> tee hee
<bslsk05> ​godbolt.org: Compiler Explorer
<zid> int _start; crashes sooner than int main;
linearcannon has quit [Ping timeout: 246 seconds]
<bslsk05> ​godbolt.org: Compiler Explorer
<zid> 2 minutes to honzuki
<zid> smh santizer can't catch linker issues
<gog> GIGO
<zid> garbage instrument, garbage outcome
<zid> agreed, boycott clang
<gog> boycott programming
<gog> we have enough code
<gog> we should be working harder to delete code and make the code we have work
<gog> adding code means adding bugs and technical debt
<clever> it works, dont touch it :P
<gog> it's a bad idea and to be avoided at all costs
<ih8win8> good advice, ngl
<ih8win8> more code = more bugs
<zid> It's objectively true that programming makes the world worse
<zid> if you measure it by how many bugs/issues there are
<zid> code has bugs, more code = more bugs, more programming = more code
<zid> programmers make the world wose
<heat_> technically mcrod is right
<heat_> main; is the shortest program
<heat_> _start; is slightly longer
<zid> shortest by what metric
<heat_> characters obviously
<zid> _start is a much shorter program
<gog> source code maybe
<zid> it is not less source code
<gog> i'm going by shortest in generated code
<zid> but if you want "less source code that crashes", I just use a compiler that produces blank elf files from blank input files
<gog> even my example is larger than it needs to be
<zid> that compiler is called 'cat'
<gog> meow
* zid pushes gog off the desk
<heat_> no
<gog> >:3
<heat_> dont push cat off the desk
<zid> *refreshes nyaa over and over for honzuki prepub*
<gog> nyaa nyaa nyaa nyaa nyaa nyaa
<zid> https://nyaa.si/?f=0&c=3_1&q= refresh with me gog
<bslsk05> ​nyaa.si: Browse :: Nyaa
<gog> no
<ih8win8> Shorter code is easier to maintain unless you're trying to do code golf.
<zid> just one, for luck?
<gog> but not too short
<gog> no clever bullshit that you have to unpick
linear_cannon has joined #osdev
<gog> oh "code golf" you addressed that
<zid> golf is more like an ink-blot than a thing you have to maintain
<gog> never heard that term
<zid> "compiler, look at this ink blot, what do you see?" "Idk, deltree system32?"
<zid> different things will see different things, that's sort of the point of them
<zid> IT'S UP
<zid> *clicks download so hard*
<gog> see you in a few hours
<zid> I wish
<zid> 20 mins
<gog> o
<zid> it's only the prepub
<gog> i was going to do some more osdev but i forgot what i wanted to do
dutch has quit [Quit: WeeChat 3.8]
<heat_> you wanted to send me a PR remember?
<heat_> heat underscore needs a TCP congestion algorithm implementation
dzwdz1 is now known as dzwdz
<gog> oh
<gog> what does heat without the underscore need
<heat_> womans
<heat_> or maybe a good beer
<heat_> but i dont know you really should ask him
frkzoid has joined #osdev
<gog> hm
linear_cannon has quit [Read error: Connection reset by peer]
linear_cannon has joined #osdev
zardas has quit [Quit: WeeChat 3.5]
dutch has joined #osdev
<heat_> illumos
zxrom_ has joined #osdev
<mcrod> i'm usually right anyway
<mcrod> i will show you all
<mcrod> 2 + 2 is 5, and I'm still right
<mcrod> i shouldn't have started a NG+ of elden ring.
<mcrod> what have I done
zxrom has quit [Ping timeout: 246 seconds]
<gog> illumos
Burgundy has quit [Ping timeout: 245 seconds]
<sham1> Vocal fry
<gog> french fry
<zid> You should have played sekiro
<sham1> I actually watched a video about that phenomenon yesterday by a certain Dr. Geoff Lindsey
<zid> I'm bummed he started accepting sponsors
<sham1> It's sad but also understandable unfortunately
<zid> not really
<zid> nobody did it for a decade, just made videos because they wanted to
<zid> youtube wasn't empty before audible existed
<sham1> Also I found that the ad integration was surprisingly clever
<zid> I hated it, made it hard to skip
<sham1> Anyway, I was surprised to learn that Finnish has the vocal fry as a somewhat prominent feature. Maybe it's just me being a native speaker, but I didn't notice it until he showed the examples
<zid> it always works like that
<zid> I had to be pointed out that "dogs" and "cats" use a different s sound
<zid> s vs z
<bslsk05> ​twitter: <KikiDoodleTweet> I've never been so angry reading a scientific article as the 2nd paragraph made me. ␤ ␤ I blocked the site from my news feed SO fast. https://pbs.twimg.com/media/F1F8iYHaIAAP_UQ.jpg
<zid> welcome to the future of the internet
<nortti> sham1: oh, where does it appear?
<zid> One of the crazy ones was turning 'p' into 'b' after s, so spelling is pronounced sbelling
<zid> nortti: Everywhere all of the time
<sham1> Yeah apparently. For example he showed clips from like MTV3 stuff and the like
<nortti> i
gareppa has quit [Quit: WeeChat 3.8]
<nortti> *is it present in unmarked sentences, or only in e.g. questions
<zid> try it, just say suomi perkele perkele or whatever with vocal fry on all of it
<zid> does it sound weird
<sham1> It wasn't just questions from what I remember the video
<nortti> zid: I only know vocal fry as part of mandarin third tone, and applying that to finnish sounds weird because I'm now saying all the syllables using mandarin third tone
<zid> chinese doesn't use vocal fry
<sham1> There's also apparently a study about it from universities of Vaasa and Tampere: https://doi.org/10.1016/j.jvoice.2021.12.006
<zid> I'm sure some dialects do or whatever
<zid> but it isn't a noted feature of chinese
<nortti> huh, really?
<nortti> at least our teacher from dalian used creaky voice as part of 3rd tone (and aiui creaky voice = vocal fry)
<zid> tones are pitches, not a weird larynx thing where you sound like a badly maintained gate
<zid> sounds like you just mimic'd some guys idiolect
<nortti> do you speak mandarin as well?
<zid> nope
<nortti> then how do you know third tone doesn't involve creaky voice?
<zid> hmm?
<zid> I don't speak german either, but I know it doesn't use tones. I don't speak french but I know it doesn't use cyrillic
<nortti> "Tone 3 (214, or T3) is often realized with creaky voice (Hockett,
<nortti> 1947;Chao, 1956; Davison, 1991; Belotel-Grenié and Grenié, 1994)"
<zid> neat, do they have a breakdown of who
<zid> certain regions, certain classes, etc?
<zid> (similarly, vocal fry is not a part of english either, that's why this is interesting, some types of people are starting to use it)
<nortti> no idea, though from what I understand it's fairly common in northern mandarin both rural and urban
<zid> i.e you don't sound foreign if you don't or do use it
<sham1> nortti: https://youtu.be/Q0yL2GezneU at around 16:20. Can't copy the timestamp with the YouTube app for some reason, absolutely useless
<bslsk05> ​'Vocal Fry' by Dr Geoff Lindsey (00:27:17)
<zid> He gave an example language where it's actually one of the ways you can inflect
<zid> I forget what it was though :D
<nortti> sham1: damn, that is actually quite strong now that you know to look for it
<sham1> IKR
<zid> also t urns out I basically ignore it in english men
<heat_> wtf is vocal fry
linear_cannon has quit [Read error: Connection reset by peer]
<zid> probs cus it's a) less strong and b) lower pitch
<zid> squeeking is more annoying the higher pitch it is
linear_cannon has joined #osdev
<zid> and louder
<sham1> But it's one of those things you just don't notice until it's pointed out to you
<nortti> heat_: a thing where you vibrate your larynx to add texture to your speech
<zid> It's a bit like the noise you use to make the "uhhh??" sound
<zid> you can add that texture to anything
<zid> it's sorta like humming that breaks up and stops/starts
<heat_> mongolian throat singing but speaking? that's amazing
<zid> no, mongolian throat singing sounds nice
<gog> hi
<sham1> So
<nortti> sham1: reminds me, apparently it's not uncommon for finnish to be pronounced with ingress airstream, especially with short comments in a conversation. never paid mind to it, but after I leart of that started noticing it around
<sham1> Ability to control onyx by throat singing when?
<heat_> i need qemu to emulate throat singing first
<heat_> since i can't do it
<sham1> nortti: now that you mention it, that really is a thing. Holy hell
<heat_> also i really don't want to empower mongolians
<heat_> the 2 times they were empowered we kind of got fucked in the process innit
<heat_> ohhhhhhhhh i see what vocal fry is
<heat_> sannest franciscoest shit
<zid> gog: when I am calling people cishet scum, is it cis-het like the roots of the word, or cishette like it's spelled?
<gog> ¯\_(ツ)_/¯
linear_cannon has quit [Ping timeout: 246 seconds]
<zid> smh you're supposed to be the arbitor
<zid> arbiter
<zid> The part time worker.
<gog> i'm not a linguistic prescriptivst
<nortti> < zid> neat, do they have a breakdown of who < zid> certain regions, certain classes, etc? ← with quick research it looks like creaky voice is common for any kind of low tone, though https://www.researchgate.net/publication/221487969_Phonation_types_analysis_in_standard_Chinese suggests it's less common for women
<bslsk05> ​www.researchgate.net: Just a moment...
<nortti> *any kind of low tone in any of the chinese varities
<zid> I am a cunning linguist, so this is useful
hrberg has quit [Ping timeout: 245 seconds]
linear_cannon has joined #osdev
hrberg has joined #osdev
<bslsk05> ​'what color is an orange' by el (00:00:13)
<zid> you believe in oranges?
<bslsk05> ​'mrrp mrpp aouu' by Da Real Beesechurger (00:00:06)
<gog> oranges are grapefruits except edible
<zid> grapefruits are chemical weapons
<heat_> oranges are a CIA false flag they came up with during the cold war
<gog> a delicious cia false flag
<gog> i know the US used fruit as a pretext to topple democratically elected governments tho
<gog> so i believe it
<heat_> banana moment
<gog> cia orange site
<zid> The man responsible's codename is known, from vietnam
<heat_> lmao
<gog> oof
<kof123> don't really follow that stuff, but there stories about dropping a bunch of insects into a field
<kof123> *there are
amj has quit [Ping timeout: 245 seconds]
eddof13 has joined #osdev
<bslsk05> ​'kaboom' by Roblox Filmerbro (00:00:05)
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<gog> half kiloton kitty
<gog> cute
Yoofie1 has joined #osdev
Yoofie has quit [Ping timeout: 240 seconds]
Yoofie1 is now known as Yoofie
<mcrod> gog may I adopt you
<zid> adopt me
<zid> I need new shoes
* mcrod adopts zid, but doesn't give new shoes
<mcrod> because you'd be free
* zid files a lawsuit for child abandonment
<zid> does it still work when you're in your 30s
<mcrod> no
<zid> shit
<gog> mcrod: i'm older than you and a mom bruh
<mcrod> are you?
<mcrod> how old are you
<gog> i mean a stepmom
<zid> 47
<gog> 35
<mcrod> well
<mcrod> i'm your mom now.
<zid> gog older than me
<gog> lol
<zid> I think that makes you a.. cougar?
<mcrod> today, I got my packard bell out of the closet and started playing around
<zid> I don't know sex things
<mcrod> i want to do x86 emulation one day
<mcrod> but i also value my sanity
<zid> x86 emulation is easy
<zid> because every cpu and microarch etc is different, so you can just make up the timings
<zid> and there's no fancy decoding tricks to nail for speed, cus it's non orthogonal, so you just use a table
<mcrod> yeah but how easily can you boot windows 95
SGautam has joined #osdev
<zid> Depends, do I have a working PC emulator to add an x86 emulator to
<zid> or am I writing both
<mcrod> uh
<mcrod> i mean... you have a regular system, much like the one you're on, and you have written an emulator which can boot up windows 95
<zid> why not just say you don't understand the question? :p
<mcrod> ok i don't get wtf you're talking about
<zid> a cpu emulator does not an entire software project make, they're infact, fairly useless
<mcrod> ok, listen
<mcrod> when I say x86
<zid> that's a PC
<mcrod> and booting windows 95
<mcrod> I think it's clear what I mean :(
<heat_> linox kern
<zid> nope
<heat_> shut the fuck up you pedantic idiots
<zid> There's a lot of reasons to emulat x86
<zid> and barely any of them are PC emulation
<mcrod> ok god dammit a PC emulator that can boot windows 95
<mcrod> jesus
<zid> the most common one is actually just running the bootrom on pci cards
<zid> from long mode
<zid> or ARM
<mcrod> i'd prefer you give me some british understatement or something
<zid> understatement != using the wrong words then getting angry you were misunderstood
<zid> sorry
<mcrod> i'm not angry :p
<mcrod> in short, yes, PC emulator that can in fact boot windows 95
<zid> yea PC emulator a lot more work
<zid> Not a weekend project, at least two weekends
cloudowind has joined #osdev
<zid> (in reality probably several more, unless you've already written one before and/or have pre-organized a whole bunch of resources)
<mcrod> i actually enjoy understatement for what it's worth
cloudowind has quit [Read error: Connection reset by peer]
<mcrod> "During the Kuala Lumpur-to-Perth leg of British Airways Flight 9 on 24 June 1982, volcanic ash caused all four engines of the Boeing 747 aircraft to fail. Although pressed for time as the aircraft rapidly lost altitude, Captain Eric Moody still managed to make an announcement to the passengers: "Ladies and Gentlemen, this is your Captain speaking. We have a small problem. All four engines have stopped. We are doing our damnedest to get them going again. I
<mcrod> trust you are not in too much distress.""
<gog> a reassuring fiction
<zid> Note how he didn't say "All four of our penguins"
<gog> oh nobody died
<mcrod> we have a lot of people from britain over at work
<mcrod> it is fun to talk to them
<mcrod> they have souls
<zid> unlike the french
<Ermine> gog: may I pet you
<heat_> bruv
<mcrod> heat_ do I really want to play ds1 again
<heat_> yes
cloudowind has joined #osdev
<zid> and sekiro
<zid> back to back
[itchyjunk] has quit [Remote host closed the connection]
<gog> Ermine: yes
[itchyjunk] has joined #osdev
<mcrod> but how do I beat havel
<zid> parry him ofc
<mcrod> I know you can cheese him
<mcrod> you can't fucking parry havel
<zid> It's really fun to parry havel unarmed
<zid> it looks super silly and is really easy
<mcrod> oh... apparently you can parry him
<zid> the window is huge and it's telegraphed very nicely
<heat_> it's not that easy
<heat_> you think it's easy until you get flattened
<heat_> then you just backstab him to death
<jimbzy> I know that name...
<jimbzy> Dark souls?
<zid> yes john dark soul
<heat_> gary chess
<jimbzy> Good old Johnny Dark Soul...
<gog> dear john, please johnny please come home
dude12312414 has joined #osdev
<heat_> https://mirrors.tripadvisor.com/ tripadvisor has mirrors for arch and GNU
<bslsk05> ​mirrors.tripadvisor.com: Index of /
nyah has quit [Quit: leaving]
<gog> looks like the run arch btw
<heat_> mirror looks old though
eddof13 has joined #osdev
<jimbzy> My next OS project is going to have an experience point system. Like, when you first install it you'll have trouble getting it to perform the most basic tasks, but as you use it and level up it'll become more reliable and earn new abilities and features.
<jimbzy> Have it roll random stats on install.
snowcra5h has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #osdev