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
troseman has joined #osdev
troseman has quit [Client Quit]
<mjg> FakeIntel
<heat> intelligence architecture sixty four
[itchyjunk] has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
gbowne1 has joined #osdev
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
<bslsk05> ​lore.kernel.org: [tip: locking/urgent] futex: Fix hardcoded flags - tip-bot2 for Peter Zijlstra
<zid> oopsie
<zid> must be follwing this guy
<heat> least insane linkedin user
FreeFull has quit [Ping timeout: 255 seconds]
thaumavorio has quit [Server closed connection]
thaumavorio has joined #osdev
Gooberpatrol66 has quit [Quit: Leaving]
<mjg> heat: meh
<mjg> on the other hand great link by zid
linearcannon has quit [Ping timeout: 245 seconds]
doppler has quit [Server closed connection]
doppler has joined #osdev
Gooberpatrol66 has joined #osdev
<heat> heat's law: one must always lose braincells when opening linkedin
<heat> today i actually opened linkedin and saw a guy just dump a bunch of trivial information on riscv traps as a post
<zid> I invented a new advanced mathematical technique today heat
<heat> it was a nice break from corporate bullshit but it's still "i sniff glue" level
<heat> zid, congrats
<zid> It's based on the sieve of eratosthenese for finding primes
<zid> and allows you to check if any number is prime within a few milliseconds
<zid> I call it the sieve of zid, would you like the 1 line explanation for how it works?
<heat> go ahead
<zid> sprintf(buf, "https://google.com/?q=is+%d+prime", n); curl_easy_setopt(curl, CURL_OPTURL, buf); curl_easy_perform(curl);
<bslsk05> ​google.com: Error 403 (Forbidden)!!1
<zid> It's significantly faster than most other methods for large numbers
<zid> and uses very little memory
<bslsk05> ​godbolt.org: Compiler Explorer
<heat> pls fix
<zid> I said it's a one line explanation
<zid> not a full implementation
<zid> heat, reading comprehension, brother
<heat> i can't read
<heat> i'm write-only
<mjg> mon
<mjg> years ago i decided to check out a c programming group on linkedin
<mjg> and ran into the most retarded thread ever
<mjg> with a total geezer on top of it
<heat> dang i didn't know linkedin hosted openbsd tech-kern meetings
<mjg> someone was asking how to write a function which takes an arbitrary number of arguments
<heat> easy
<heat> void foo()
<heat> Next!
<mjg> someone mentioned maybe take an array or use fucken' var_arg fuckery
<zid> void foo(void);
<mjg> person asking was adamant none of this is applicable
<zid> how many times, old man
<mjg> there are supposedly callers liek func(a, b); and func(a, b, c); and so on
<mjg> and this has to work
<mjg> so dude said that's ome bullshit
<mjg> and here is where the geezer comes in
<mjg> geezer said there is liek 0 problem here, but you have to implement it in assembly
<heat> i like the void func(); idea
<mjg> after few more posts twat posted a lol sample which blindly pops 4 args
<heat> and then implementation just takes a bunch of parameters
<heat> whatever happens happens
<zid> fair
<zid> void kernel();
<zid> sometimes it takes an e820, sometimes it takes a pci-e base address, sometimes command line args
rpnx has quit [Quit: My laptop has gone to sleep.]
rpnx has joined #osdev
<mcrod> hi
<moon-child> hi
<geist> zid: why void? maybe it wants to return an int
<geist> kernel() { get it dun; }
<geist> K&R ftw
<zid> geist: a bsd kernel defintionally can definitionally produce no value
<zid> I forgor what I was typing
<geist> dont limit yourself man. EXPAND YOUR MIND
<zid> BSD is like haskell
<zid> your cpu gets hot, but no useful work gets done
<geist> cpu gets hot. haha you kids and your CMOS way of thinking
<geist> back in my day the cpu was just hot all the time!
<mcrod> yay, my library is almost fucking done
<mcrod> now it just needs CI and a windows test, then we're off to the races
<heat> that's great
<heat> now write an operating system
<heat> call me when you're finished
<heat> geist, were longs a thing in early K&R C?
<heat> i'm thinking that maybe int was just assumed as the native word size
<heat> so default int makes sense from an assembly perspective
pretty_dumm_guy has quit [Ping timeout: 245 seconds]
<zid> default int makes the most sense, it's the 'default' part that doesn't
<zid> because as we know *now*, missing decs are.. a problem
<zid> in that system
<geist> heat: yeah i think so
<heat> int does not make the most sense if it's not designed as the native word type
<geist> right but then of course with modern 64bit machines, etc there aren't enough types to fill in the gaps
<heat> a more sensible choice in 2023 would be unsigned long as a default
<geist> but also most modern 64bit machines also 'natively' let you do 32bit ops
<geist> ie, no loss of speed for 32bit vs 64bit
<geist> (vs 16 or 8 wher eyou might have to do extra instructions)
<heat> but maybe the idea was char -> byte, short -> possibly shorter than native, int -> native, long -> possibly longer than native
<zid> except you're trying to patch over a problem by making the problem less bad
<zid> rather than doing what was both done, and is correct, removing implicit decs
<heat> well, i'm not trying to patch over any problem, just trying to understand what the original idea was
FreeFull has joined #osdev
<geist> yeah, i think at the time something like a 64bit machine was a bit of a pie in the sky
Arthuria has joined #osdev
<zid> It is a strange concept, to be fair
<geist> gotta remember this was like mid 70s
<zid> a machine with registers so large that you in most cases, use the special 'make it smaller' prefixes
<geist> like, shit this was pretty great
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
edr has quit [Quit: Leaving]
ThinkT510 has quit [Ping timeout: 268 seconds]
ThinkT510 has joined #osdev
heat has quit [Ping timeout: 252 seconds]
ppmathis has quit [Server closed connection]
ppmathis has joined #osdev
vilya has joined #osdev
kof123 has quit [*.net *.split]
kof123 has joined #osdev
vdamewood has joined #osdev
mctpyt has joined #osdev
gbowne1 has quit [Read error: Connection reset by peer]
Arthuria has quit [Remote host closed the connection]
<immibis> delete short/int/long and use explicit sizes
stefanct has quit [Server closed connection]
stefanct has joined #osdev
eck has quit [Ping timeout: 255 seconds]
eck has joined #osdev
Gooberpatrol66 has quit [Quit: Leaving]
rpnx has quit [Quit: My laptop has gone to sleep.]
agent314 has quit [Ping timeout: 268 seconds]
err has quit [Server closed connection]
warlock has quit [Quit: Lost terminal]
[itchyjunk] has quit [Read error: Connection reset by peer]
mctpyt has quit [Ping timeout: 256 seconds]
<mjg> introduce new names
<mjg> how about mid -- 6 bytes
<mjg> :X
<clever> i have used int48_t in some example code i wrote
<clever> because i was describing hardware that had a 48bit accumulator
<geist> ah finally netbooted netbsd 3 on the vax server
goliath has joined #osdev
gog has quit [Remote host closed the connection]
puck has quit [Server closed connection]
puck has joined #osdev
<geist> now i can get a proper disk image off of it by just dding the disks to the nfs root
<geist> it has a pair of i think 380MB drives in it that have a copy of openvms
<geist> used to apparently be used as a pair of machines in a vax cluster for a city
<geist> was running some sort of city management software, probably mid 90s
<geist> there's probably a way to grab a raw disk image in VMS but i dont know the magic for that
truepassion has quit [Server closed connection]
zetef has joined #osdev
xenos1984 has quit [Ping timeout: 260 seconds]
xenos1984 has joined #osdev
jjuran has quit [Ping timeout: 240 seconds]
jjuran has joined #osdev
jjuran_ has joined #osdev
jjuran has quit [Ping timeout: 256 seconds]
jjuran_ is now known as jjuran
netbsduser has joined #osdev
gog has joined #osdev
zetef has quit [Ping timeout: 246 seconds]
gildasio has quit [Ping timeout: 264 seconds]
gildasio has joined #osdev
zetef has joined #osdev
nuvls has quit [Server closed connection]
nuvls has joined #osdev
elastic_dog has quit [Ping timeout: 260 seconds]
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
elastic_dog has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
zetef has quit [Ping timeout: 246 seconds]
zxrom has quit [Quit: Leaving]
[itchyjunk] has joined #osdev
lanodan has quit [Quit: WeeChat 4.0.4]
lanodan has joined #osdev
pretty_dumm_guy has joined #osdev
weinholt has quit [Server closed connection]
weinholt has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<immibis> i once 'imaged' my windows hard disk by opening the disk in HxD and then "save as" to a SMB file share
<immibis> air quotes because there's probably some subtle corruption although you'd get that with any method of imaging a running system. same as sudden power loss i suppose
<immibis> any naive method
brynet has quit [Quit: leaving]
brynet has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
Gurkenglas has joined #osdev
edr has joined #osdev
<Gurkenglas> Is there some OS that takes the form of a legible data streams going between processes/devices, perhaps displayed in the form of a graph, which I can manipulate such as by routing a stream through ~"tee data.log" or ~"grep -v $blockeduser"?
<Gurkenglas> s/form of a/form of/
raggi has quit [Server closed connection]
raggi has joined #osdev
<immibis> linux? without the pretty display
goliath has quit [Quit: SIGSEGV]
bauen1 has joined #osdev
Left_Turn has joined #osdev
pretty_dumm_guy has joined #osdev
Bonstra has quit [Server closed connection]
Bonstra has joined #osdev
<zid> if there does, it'd be something google made, and it'd be protobufs :P
* gog bufs
<zid> English plural agreement is fucking weird btw
<zid> "If there does exist a cow", do in plural, cow in singular. "cows do exist" -> cows in plural, do in singular.
<zid> I assume this is a cruel prank of some kind
<zid> and zero is plural.
<mjg> the set of non-zero cows does exist
<mjg> there
<mjg> proudly stated as a non-native speaekr
pg12 has quit [Remote host closed the connection]
zaquest has quit [Remote host closed the connection]
pg12 has joined #osdev
heat has joined #osdev
vilya has quit [Ping timeout: 256 seconds]
vilya has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 256 seconds]
<bslsk05> ​web.archive.org: Scout Home Page
sbalmos has joined #osdev
janemba has quit [Ping timeout: 245 seconds]
rwb has quit [Quit: ZNC - https://znc.in]
rwb has joined #osdev
zxrom has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
pretty_dumm_guy has joined #osdev
janemba has joined #osdev
Gurkenglas has quit [Ping timeout: 250 seconds]
[_] has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
<kof123> spotted cows, like leopard dancing, image the equinox. there are 2 equinoxes. qed
<kof123> zelda 3 snes is obviously a quest to obtain the capstone triforce lol
Gurkenglas has joined #osdev
Turn_Left has quit [Ping timeout: 246 seconds]
<Gurkenglas> zid, does is not plural: "I do, you do, he does, she does, it does, we do, they do."
<Gurkenglas> "I talk, you talk, he talks, she talks, it talks, we talk, they talk."
<heat> gog, gogbufs
Arthuria has joined #osdev
Turn_Left has joined #osdev
Arthuria has quit [Remote host closed the connection]
<gog> buffering
targetdisk has joined #osdev
<targetdisk> I'm curious why I would want to pick bulk-only transport or CBI transport for a USB mass storage device implemented on a microcontroller
<targetdisk> oh wait
<targetdisk> is CBI only for floppies?
<heat> gog, do gogbufs scale?
<targetdisk> okay answered my question
<targetdisk> I can't believe I missed that CBI is only for floppies
<targetdisk> fsck me
<heat> file system check
<targetdisk> thank you my 252 rubber duckies
Gurkenglas has quit [Ping timeout: 250 seconds]
<mcrod> hi
GeDaMo has joined #osdev
netbsduser has quit [Ping timeout: 268 seconds]
gog has quit [Quit: Konversation terminated!]
ripsquid has quit [Server closed connection]
ripsquid has joined #osdev
netbsduser has joined #osdev
zxrom has quit [Ping timeout: 268 seconds]
xenos1984 has quit [Ping timeout: 256 seconds]
xenos1984 has joined #osdev
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
gog has joined #osdev
terrorjack has joined #osdev
Turn_Left has quit [Ping timeout: 246 seconds]
zxrom has joined #osdev
goliath has joined #osdev
xenos1984 has quit [Ping timeout: 256 seconds]
xenos1984 has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
marshmallow has joined #osdev
CaptainIRS has quit [Read error: Connection reset by peer]
CaptainIRS1 has joined #osdev
Gooberpatrol66 has joined #osdev
* geist yawns
Gooberpatrol_66 has joined #osdev
Gooberpatrol66 has quit [Ping timeout: 268 seconds]
elastic_dog has quit [Ping timeout: 256 seconds]
deckard has quit [Ping timeout: 252 seconds]
elastic_dog has joined #osdev
deckard has joined #osdev
agent314 has joined #osdev
agent314 has quit [Client Quit]
rustyy has quit [Quit: leaving]
linear_cannon has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
leon has quit [Ping timeout: 260 seconds]
vilya has quit [Ping timeout: 268 seconds]
vilya has joined #osdev
leon has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
gbowne1 has joined #osdev
danlarkin has quit [Server closed connection]
danlarkin has joined #osdev
Gooberpatrol_66 has quit [Ping timeout: 268 seconds]
Turn_Left has joined #osdev
zetef 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!]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
zetef has quit [Ping timeout: 246 seconds]
zetef has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
Gooberpatrol_66 has joined #osdev
goliath has quit [Ping timeout: 256 seconds]
Left_Turn has quit [Ping timeout: 256 seconds]
Left_Turn has joined #osdev
<zid> mr. gurk was confidently incorrect there
deckard has quit [Quit: l8r]
deckard has joined #osdev
<Ermine> Seems like desktop luniks kernal is busted on my work laptop
goliath has joined #osdev
<Ermine> It stalled somewhere in the shutdown process
<zid> >laptop >shutdown doesn't work
<zid> that's 100% expected
Left_Turn has quit [Remote host closed the connection]
Left_Turn has joined #osdev
goliath has quit [Ping timeout: 246 seconds]
<zid> Hehe this is funny, read a small rant about OOP some guy wrote, and all the responses are angry people going "ofc OOP looks dumb if you only write small programs in it"
danilogondolfo has quit [Quit: Leaving]
muffin has joined #osdev
<mjg> :]
<mjg> klasik oop conundrum
<mjg> oop makes everything easier
<mjg> except turns out it notoriously does ot, in which case you are doing it wrong
<mjg> but it was supposed to help?
<mjg> :X
<mjg> personally i like peolpe claiming they do functional programming
<mjg> and by functional they mean procedural
<heat> mjg, le uniks kernals have historically used oop
<mjg> OH
<mjg> you gonna call the SOLARIS vnode interface OOP?
<heat> yep
<heat> so is linukz's
<zid> heat: Where my file class
<zid> you're not allowed to only use paradigms where they're useful
<mjg> in that case everyone is a oop programmer
<zid> ALL MUST OOP
<heat> it 100% is OOP
<mjg> it 100% is OP
<zid> is linux 100% oop?
<mjg> :X
<heat> they're not wrong for doing it, it's nice and works well
<heat> zid, surprisingly lots of it
<mjg> tell that to linus
<mjg> :X
<heat> he has said that before, so has greg
<mjg> "oi bruv noice oop"
<zid> by which presumably you mean, almost none of it?
<mjg> he did?
<mjg> wut
<heat> they're aware that struct <insert name here> is basically a class with virtual functions, but in C
<mjg> i think equating a table of func pointers to OOP is rather pushing it
<heat> greg even said he sometimes wished for C++ :v
<mjg> ?:D
<mjg> unix kernel devs are notorious for hating on c++
<mjg> so i don't know mate
<zid> I understand your philosophy now
<zid> It is however, not a very useful one, sorr
<targetdisk> #import <obj-c_header.h>
<moon-child> guys I solved parallel make
<moon-child> just do this for i in *.c; do cc -c $i& done; wait; cc -o shit *.o
<mjg> wdym -o shit
<targetdisk> elf shit
<zid> That's what my makefiles all do already though
<targetdisk> this is more fork-bomby
<zid> all:\n\tfor i in *.c; ..
<mjg> i just got a youtube video of some fucking guy saying he writes *everything* in c
<moon-child> zid: oh shit
<moon-child> u right
<mjg> unsurprisingly code he had shown was bad
<moon-child> then u can do make -j and ahve it be double parallel
<moon-child> for twice the scalability
<heat> i like your solution moon-child
<mjg> run it on solaris and quadruple
<heat> everything is parallelized and the scheduler does the -j
<targetdisk> that makes me want to plug two of my laptop's USB-C ports togetner
<mjg> are you for realzies heat
<targetdisk> yes context switch and flush them cache lines
<targetdisk> for extra parallel
<mjg> where my O(n^2) scheduler at
<heat> mjg, i'm 100% for realzies
<mjg> lol
<heat> weren't you saying bmake's pipe + poll was PESSIMAL
<heat> there you go dumbass
<mjg> mofson
<mjg> lemme find it
<targetdisk> look I just want a language server for the SDCC 8051 extensions
<targetdisk> I can't believe I'm reduced to using ctags again
<bslsk05> ​discourse.llvm.org: Avoidable overhead from threading by default - LLD - LLVM Discussion Forums
<mjg> why don't you respond there that it is all fine cause schedule will balance
<heat> that wouldn't be a problem if the toolchain didn't thread itself
<mjg> you do understand there are other ways of controlling the fuckers than shared fucking pipe
<heat> NOW
<mjg> in fact linux already has one for years
<mjg> eventfd
<heat> PROCESS FOR .O? LOVE IT
<mjg> that's webdev
<mjg> thinking
<heat> you're webdev
<mjg> now imagine there is N progs of the sort to build
<mjg> you webev
<targetdisk> listen we just have TCP sockets open between the Blue Box and the Yellow Piss Box and the IPC problem is solved
<heat> boowoo
<heat> boohoo
<heat> it Just Works(tm)
<mjg> it just sucks(tm)
<bslsk05> ​'Kernel Recipes 2016 - The Linux Driver Model - Greg KH' by Kernel Recipes (00:43:20)
<heat> there's the quote btw
<targetdisk> What you mean you don't want some unholy abomination that combines the joy of using Notepad++ with a shell and make?
<targetdisk> while we're at it let's throw in a port of GNU Bison that some young guy made
<heat> "SOMETIMES I REALLY WISH I HAD C++" - Greg Kroah-Hartman, popular linux kernal
<targetdisk> popular c64 curnel
<heat> cornell
<targetdisk> I have stumbled across what is perhaps the most esoteric shitposting ever
<targetdisk> very nice
<acidx> as for lld using threads itself: something like "make -j -l16" works alright if you have 16 CPUs
rpnx has joined #osdev
<mjg> interestin there were no pitchforks
<mjg> acidx: this does not help when you get multiple instances of ldd spawning at the same time, each of which spawning $(nproc) threads
<targetdisk> I just need to patch my XNU kernel to run ELFs so I don't have to deal with Apple's terrible linker ;)
<mjg> acidx: and when your $(nproc) is past laptop scale
<targetdisk> my computer doesn't have nproc either lol
<mjg> what
<acidx> mjg: yeah, you're right
<moon-child> colonel development
<targetdisk> finger-fscking good
<heat> sysctl -n hw.logicalcpu
<heat> the true, correct nproc
moon-child has quit [Quit: !]
goliath has joined #osdev
Left_Turn has quit [Ping timeout: 245 seconds]
moon-child has joined #osdev
netbsduser has quit [Ping timeout: 246 seconds]
<targetdisk> one sec, let me run system_profiler
muffin has quit [Ping timeout: 260 seconds]
Left_Turn has joined #osdev
rpnx has quit [Quit: My laptop has gone to sleep.]
sortie has quit [Quit: Leaving]
<Ermine> vfs is basically oop
<sham1> Not just basicalluy
<heat> there's a funny ioctl in the linux socket code that actually switches the file_operations
<heat> so it's dynamic polymorphism
<Ermine> heat: is it like struct file_ops in onyx?
<heat> yes
<heat> onyx is diet linux
<heat> never forget that
Gurkenglas has joined #osdev
<Ermine> onyx is gregkh's dreams coming true
<heat> what if C but C++, yeah
[itchyjunk] has joined #osdev
[_] has quit [Ping timeout: 268 seconds]
vilya_ has joined #osdev
vilya has quit [Ping timeout: 268 seconds]
Left_Turn has quit [Read error: Connection reset by peer]
Gurkenglas has quit [Quit: Client closed]
troseman has joined #osdev
zetef has quit [Ping timeout: 246 seconds]
rpnx has joined #osdev
<mjg> i only rust from now on
<mjg> semi-true story
mctpyt has joined #osdev
<moon-child> mjg now entering his webdev era
<heat> you don't actually need to write code to rust
<heat> just get a bunch of crates and glue them together