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
<gog> zid is the one who makes chili
<gog> ooh ooh i'm getting sushi on friday
<gog> fishy fishy fishy
<bslsk05> ​'Cat- I'm gonna eat you little fishy (Red Dwarf)' by K Carver (00:00:58)
<gog> yesss
<gog> what is it he calls lister
<gog> the stupid one
<gog> cloister the stupid
<zid> I need to find my mimosian telepathic chopsticks
<gog> i should go to bed
<gog> i have one more day of work before my week off
heat_ has joined #osdev
heat has quit [Ping timeout: 240 seconds]
<mcrod> I don't believe it
<mcrod> I don't know what's happening but Linux is no longer being detected at _all_, and yet I can chroot into it using live media
<mcrod> even more inexplicable, Windows has survived this ordeal
<mcrod> never mind. it just BSODed.
gog has quit [Quit: byee]
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
dutch has quit [Quit: WeeChat 3.8]
dutch has joined #osdev
heat_ has quit [Ping timeout: 240 seconds]
Arthuria has joined #osdev
doppler has quit [Ping timeout: 265 seconds]
doppler has joined #osdev
Arthuria has quit [Ping timeout: 248 seconds]
fkrauthan has quit [Quit: ZNC - https://znc.in]
fkrauthan has joined #osdev
fkrauthan has quit [Client Quit]
[itchyjunk] has quit [Ping timeout: 248 seconds]
fkrauthan has joined #osdev
Burgundy has joined #osdev
Burgundy has quit [Remote host closed the connection]
osmten has joined #osdev
nj0rd_ has joined #osdev
nortti has quit [Ping timeout: 268 seconds]
nortti has joined #osdev
nj0rd has quit [Ping timeout: 268 seconds]
slidercrank has joined #osdev
osmten has quit [Ping timeout: 245 seconds]
bgs has joined #osdev
bgs has quit [Remote host closed the connection]
bgs has joined #osdev
austincheney_ has joined #osdev
austincheney has quit [Ping timeout: 268 seconds]
slidercrank has quit [Ping timeout: 268 seconds]
bgs has quit [Remote host closed the connection]
xenos1984 has quit [Read error: Connection reset by peer]
gmacd has joined #osdev
xenos1984 has joined #osdev
slidercrank has joined #osdev
doppler has quit [Ping timeout: 240 seconds]
gmacd has quit [Ping timeout: 268 seconds]
SGautam has joined #osdev
goliath has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
doppler has joined #osdev
danilogondolfo has joined #osdev
nyah has joined #osdev
Arthuria has joined #osdev
zid has quit [Ping timeout: 240 seconds]
zid has joined #osdev
zid has joined #osdev
Arthuria has quit [Remote host closed the connection]
slidercrank has quit [Quit: Why not ask me about Sevastopol's safety protocols?]
m5zs7k has quit [Ping timeout: 240 seconds]
m5zs7k has joined #osdev
bauen1 has joined #osdev
GeDaMo has joined #osdev
gog has joined #osdev
Left_Turn has joined #osdev
zid has quit [Ping timeout: 240 seconds]
zid has joined #osdev
zid has quit [Remote host closed the connection]
zid has joined #osdev
<gog> nya
Maja_ has joined #osdev
<zid> gug
<zid> my internet is bouncing, what do
<GeDaMo> Tramapoline! :P
<Maja_> meow :3
<Maja_> current status: angy at linkers
<zid> linkers is fun
<gog> COLON THREEEEEEEEE
<Maja_> what's the usual approach if i want to write the 32-bit stub that setups paging and long mode and shit in C?
<Maja_> I tried compiling it with -m32 and then objcopying it into a 64-bit elf
<Maja_> and the linker is overshooting all the relocations by 4 bytes >.<
<zid> huh
<zid> usually it just complains that x86-elf32 is not compatbible with x86_64-elf64 or whatever
<zid> the fact ou got past that but not in a way that made it work is impressive
<Maja_> yeah I got past that by doing gcc -m32 -c meow.c -o meow.o32 && objcopy -O elf64-x86-64 --prefix-sections=.stub meow.o32 meow.o
<Maja_> which, I know, there's probably an article in the Geneva Conventions about this
<Maja_> but a random stack overflow post suggested that this might work
<zid> that seems reasonable
<Maja_> idk maybe it's a regression in the toolchain
<zid> or you offset the lma/vma by 4 somewhere accidentally due to different padding or something
<zid> hmm what's an easy way to test this I wonder
<zid> like, I need some reasonable test-case for mixing 32bit and 64bit
<Maja_> ok, only the relative relocations are broken
<zid> from 32 to 32, or 64 to 64?
<zid> relocations between the two doesn't sound.. healthy
<Maja_> 32 to 32
<Maja_> though hold on, it might be nasm screwing up my relocations
<zid> if you're not linking directly between the 32bit and 64bit stuff (like, you do .code64 mov rax, 0xffffffff80000000; call rax; in order to transfer control) then you can probably just.. do a test link of all the 32bit files
<gog> use UEFI and boot diretly into identity-mapped long mode
<gog> problem: solve
* gog mutters a chant about universality and extensibility
<Maja_> wasn't uefi qemu a bitch to set up
<gog> nah
<bslsk05> ​github.com: sophia/debug.sh at main · adachristine/sophia · GitHub
<zid> is thre a decent tool for parsing relocations, istr there at least was one
<zid> readelf can show a bit of stuff
<zid> objcopy -I elf32 -O elf64 boot32.o boot64.o
<Maja_> I'm looking at objdump -x
<zid> turns my relocation from.. R_386_PLT32 into R_X86_64_PC32
<zid> probably should have built the 32bit code without pic/pie/etc
<Maja_> anyway gcc -m32 generates e8 fc ff ff ff and a relocation into func, while -m64 generates e8 00 00 00 00 and a relocation into func-4
<Maja_> I don't think this is a PIC-specific reloc
<zid> yea okay without pic/pie it's a R_386_PC32 -> R_X86_64_PC32
<zid> Much better
<Maja_> this is what I'm seeing too, actually
<zid> former says offset 0x15, which is good, the e8 is at 0x14
<zid> latter is the same, obviously
<zid> lemme make a blank implementation of my fext() function I was testing against and link it as 32bit and as 64bit I guess
<Maja_> is this some difference in the semantics of the relocations?
<zid> okay reproduced
<Maja_> like elf32 does *dst += x, while elf64 does *dst = x?
<Maja_> because in native elf32 files the -4 offset necessary gets written into the instruction stream, while the elf64 ones use an expression in the relocation table to do the -4
<bslsk05> ​gist.github.com: log.txt · GitHub
<zid> 101b: e8 e0 ff ff ff call 1000 <fext>
<zid> 101c: e8 e3 ff ff ff call 1004 <fext+0x4>
<zid> _start has moved by 1 byte too.. strange
<zid> oh, fext is a different length
<zid> R_386_PC32 is.. S+A-P
<zid> so is the 64bit one apparently, so what are S A and P here..
<Maja_> press pgup twice
<zid> S Represents the value of the symbol whose index resides in the relocation entry.
<zid> A Represents the addend used to compute the value of the relocatable field
<zid> P Represents the place (section offset or address) of the storage unit being relo-
<zid> cated (computed using r_offset).
<zid> I hex edited boot64.o to be call 0 not call -4 and nothing changed btw
<Maja_> hmm does hexediting that in a 32-bit object file in a normal 32-bit workflow break things?
<zid> let's see
<zid> aha, yes, that's where the 4 offset comes in
<zid> S_386_PC32 against '0' gives 1004
<zid> S_386_PC32 against '-4' gives 1000
<zid> R_*
riverdc has quit [Quit: quitting]
riverdc has joined #osdev
<zid> So it's adding 0x1004 to `e8 [this]`
xenos1984 has quit [Read error: Connection reset by peer]
xenos1984 has joined #osdev
<zid> So the weird part is that the 64bit version doesn't have an addend
<Maja_> i'm trying to find the part of the spec that specifies this
<zid> I had it open a second ago but I lost it
<zid> spec says it should be S + A - P for R_x86_64_PC32
<zid> 4.10: relocation types, in x86-64-abi-0.95.pdf
<Maja_> so same thing as for R_386_PC32?
<zid> Yea, it appears to just be ignoring the addend
<zid> incorrectly
dayimproper has joined #osdev
<bslsk05> ​gist.github.com: log2.txt · GitHub
<zid> 14: e8 80 00 00 00 call 99 <_start+0x99>
<zid> hex edited to 0x80
<zid> 101c: e8 e3 ff ff ff call 1004 <fext+0x4>
<zid> still produces the identical relocated output
<zid> It's just flat out ignoring A and hardcoding it to 0 or something
<Maja_> looks like this is Rel vs Rela
gareppa has joined #osdev
<Maja_> lld handles this correctly
gareppa has quit [Remote host closed the connection]
<zid> It isn't a rel or a rela though is it, it's a thing objcopy says it is
<zid> readelf*
dayimproper has quit [Ping timeout: 268 seconds]
bauen1 has quit [Ping timeout: 250 seconds]
osmten has joined #osdev
Brnocrist has quit [Ping timeout: 240 seconds]
osmten has quit [Quit: Client closed]
Brnocrist has joined #osdev
<mcrod> hi
<Maja_> meow!
heat has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
bauen1 has joined #osdev
hmmmmm has quit [Remote host closed the connection]
gxt__ has quit [Ping timeout: 240 seconds]
* gog meows sadly
<gog> everything is fucked
<gog> i'm so glad i'm going on vacation in 3 hours and 10 minutes
Maja_ has quit [Ping timeout: 250 seconds]
gxt__ has joined #osdev
<FireFly> enjoy vacation :o
<FireFly> and try not to let it nag you
<gog> my boss told me to shut off slack notifications lol
<gog> because he knows how i am
<FireFly> good guy boss
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
dude12312414 has joined #osdev
<kof123> "(07:14:50 PM) mcrod: is it a sin that I use the curiously recurring template pattern" did you think about it first? if you even think about it yes, but just don't think
<kof123> then, it is an inevitable result, pre-ordained, by divine will
<Ermine> gog: may I pet you
<heat> gog shut off any notifs
<heat> reject the american in you
<gog> Ermine: yes
<zid> reject americanism, embrace crab
<mcrod> gog: may I gog and pet you
CalculusCats is now known as CalculusCat
* Ermine pets gog
<gog> mcrod: yes
* gog prr
SGautam has quit [Quit: Connection closed for inactivity]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
* mcrod gogs and pets gog
bauen1 has quit [Ping timeout: 250 seconds]
<jimbzy> I managed to receive this from NOAA-19 last night. https://i.imgur.com/igRhUMZ.png
<bslsk05> ​i.imgur.com <no title>
<gog> sick!
<gog> i never tried to decode sstv when i was doing the sdr thing
<jimbzy> This is actually called APT, but it's along the same lines as SSTV. I've been trying to get the ISS' SSTV signal, but I think I need a better antenna.
<gog> yeh probaby
xenos1984 has quit [Ping timeout: 248 seconds]
<jimbzy> These NOAA sats are easy because of their polar orbit. A dipole oriented N or S usually does the trick.
xenos1984 has joined #osdev
<gog> i watched this video recently, cool guy https://www.youtube.com/watch?v=yzLUsi8MsRQ
<bslsk05> ​'Listening to Weather Satellites with Random Junk' by saveitforparts (00:12:20)
<gog> doing weird radio shit with junk he finds
<jimbzy> Nice!
<gog> i need to watch more of this
<jimbzy> Nice, and I need to do same.
<jimbzy> I saw a thing a while back where a guy used an old box spring mattress as his antenna and was able to make QSOs across the ocean using HF XD
bauen1 has joined #osdev
<gog> lmfao amazing
<mcrod> that's... ingenius
<gog> you can do surprising things with bits of metal
<mcrod> i want to get into SDR more
<gog> it's cool stuff
<gog> you can start real cheap
<jimbzy> mcrod, I got the RTL-SDR Blog V3 with antenna kit for like $45 off of ebay.
<jimbzy> It seems to be one of the better cheap ones.
<gog> i got a nooelec receiver for like $20, comes with a little antenna
<gog> it's not the best
<gog> but it's enough to listen to like local narrow-band FM like your local fire or police radio
<jimbzy> Yeah, any of the name brand ones should work, but you have to be sure you get a legit one and not some clone.
<jimbzy> Yeah, I do a lot of that, too, gog.
<jimbzy> I usually use my UHF/VHF transceiver for that, though, because it can scan through the frequency bank.
<mcrod> I have a hackrf lying around
<jimbzy> It's a fun hobby, and you can spend as much or as little $$$ as you want.
<mcrod> I remember playing around with my neighbor's garage door
<jimbzy> Nice.
<jimbzy> I have all the crap I need to build a 40m receiver and transmitter, but I just haven't had the will to assemble them.
goliath has quit [Quit: SIGSEGV]
bauen1 has quit [Ping timeout: 250 seconds]
bgs has joined #osdev
<mrvn> Is there a hobby community that catches and rebroadcasts the ISS signal around the globe?
* mrvn wonders if the nonce for libsodium cryptoboxes should be secret.
<jimbzy> mrvn, I'm not sure.
<nortti> shouldn't need to be kept secret
<nortti>
<nortti> "The nonce doesn't have to be confidential, but it should be used with just one invocation of crypto_box_easy() for a particular pair of public and secret keys."
xenos1984 has quit [Ping timeout: 248 seconds]
gog has quit [Quit: Konversation terminated!]
<heat> shut up u nonce
<heat> this is like the second time this week I make this joke, it's still funny
gmacd has joined #osdev
xenos1984 has joined #osdev
gmacd has quit [Ping timeout: 240 seconds]
gog has joined #osdev
nanovad has quit [Ping timeout: 240 seconds]
nvmd has joined #osdev
nvmd has quit [Max SendQ exceeded]
gmacd has joined #osdev
goliath has joined #osdev
<bslsk05> ​i.imgur.com <no title>
gmacd has quit [Ping timeout: 240 seconds]
nvmd has joined #osdev
nanovad has joined #osdev
nvmd has quit [Quit: WeeChat 3.8]
nvmd has joined #osdev
<sham1> prr
<gog> prr
<heat> send me a PR
<heat> your vacays = more time for Big Onyx to consume your life
nvmd has quit [Quit: WeeChat 3.8]
nvmd has joined #osdev
gorgonical has joined #osdev
bauen1 has joined #osdev
<gog> what do you want me to work on
<sham1> onyx
<gorgonical> Iceland's eurovision entry for next year
<sham1> Hold my piña colada, I'm going in
<gorgonical> Bringing the greatness of Finland and sauna to the entire world
<gorgonical> That's the only other video from Eurovision that I've seen, is Kaarija getting all the other artists to go into his sauna bus, which of course he has
<sham1> Käärijä went hard on the branding there
<gorgonical> It worked. I'm American and I heard about Eurovision this year
bauen1 has quit [Ping timeout: 265 seconds]
<gog> i'm gay but i'm not eurovision gay
<geist> eurovision is pretty ... special
<geist> finland should just send like a death metal band
<gorgonical> Like Germany did?
<geist> https://youtu.be/rJHe-iZ5HSI well okay, that wasnt a death metal band
<bslsk05> ​'Käärijä - Cha Cha Cha | Finland 🇫🇮 | National Final Performance | Eurovision 2023' by Eurovision Song Contest (00:03:08)
<geist> oh yeah?
<geist> oh yeah you're right. hmm, okay so maybe eurovision is more interesting than i thought
<geist> i guess i've generally just only seen epic sax guy
<gorgonical> Finland won one year with a death metal band, too
<gorgonical> Lordi went dressed like monsters from a Rob Zombie film and won
<geist> okay i'm now more interested..
<mcrod> hi
<gog> hi
<mcrod> i already pet you once today
<mcrod> next pet in 12 hours
<geist> leelo multipet
<heat> gog, write me some radix tree iteration thing thanks
<mcrod> i'm playing around with i3 again...
<mcrod> maybe I'll regret it like I do every time
<mcrod> what's REALLY annoying is if you have 2 monitors, switching to workspace "2" switches to the 2nd monitor
<mcrod> I hate that so much
<gorgonical> nscde does this also and I can't figure out how to not make it do that
<geist> ah yeah only some window managers support the separate desktop/monitor thing
<mcrod> drives me fucking nuts
<geist> i think you can do it with mac, but i dont remember any other one that does
<gorgonical> So I really use up/down and that works the way I think it should
<gorgonical> nscde is kind of janky though. Like you can't change the size of the front panel
<heat> geist, yall use clang-format right?
<geist> yup
<mcrod> i'm trying to get my company to switch to LLVM entirely
<mcrod> at this rate that's a lost cause
<heat> have you seen that weird bug when it misformats macros when you properly () macro args?
<heat> like the *'s position in "#define GET_RA_ENTRY_INDEX(index, level) (((index) >> ((level) *rt_entry_shift)) & rt_entry_mask)"
<heat> this is infuriating
<geist> probably. it's a mixed bag. sometimes it really trashes stuff
<geist> and it's infuriating (to me at least)
<geist> but the overwhelming majority of folks at work love the safety blanket feeling of it trashing their code but having no real say in it thus removing any room for argument or discussion
<heat> also really misformats something like #define bah(X) ((X) & 0xfff) into ((X) &0xfff)
<geist> ie, 'yeah it fuks up sometimes, but i dont have to think about it'
<heat> this is really annoying but it's not // clang-format off annoying
<geist> we how even have gerrit run the formatter that you have to pass before submitting a CL. <sigh>
<geist> yeah
<geist> at least it seems to be 100% safe. someone pointed out that it is incapabile of doing anything but add/remove spaces and EOLs
<geist> (and maybe rewrap comments)
<geist> ie, it can't add or remove braces or whatnot, so it's basically 100% safe
<heat> can also rewrap your macro
<heat> which is suuuper useful
<heat> for large multi-line stuff
<geist> vs something like astyle (which i use on LK) which can try to get more aggressive if you ask it, but it sometimes messes up
<heat> i think clangd can do all sorts of transformations
<geist> my cat has the poops again
<geist> sigh
<mcrod> i'm getting a cat soon
<heat> one of my cats has trouble pooping
<heat> the vet had to hand-remove their poop like twice now
<geist> long hair cat + runny poop == ugh
bauen1 has joined #osdev
<geist> usually once it settles down i have to bathe her and she hates me
<gog> poor kitty :(
<heat> geist, oh yeah i really like your "linter can do inline comments on the PR" thing in gerrit
<heat> which github cannot do without stupidly huge workarounds
<Ermine> so gerrit has value
<heat> gerrit has value, github is valueless
<geist> 100% agree
<sham1> Github in general is stupid
<sham1> I have to use it at work. Not fun. Like I suppose it works for our internal workflow but still
<heat> you could be using email!
<Ermine> This github could be an email
<heat> tbf email patches are okay once you get the hang of it, but they suck to apply
<sham1> No. What we could use is a self-hosted gitlab. And we used to, but now we don't
<sham1> In fact, it was changed before I started working there
<heat> you could also self host gerrit and gitiles
<sham1> Sure, but gitlab has more stuff
<Ermine> I previously thought that gerrit is something usable only by googlers
<gorgonical> how do you guys say gitiles
<gorgonical> I haven't decided
<sham1> /'gitiles/
<heat> i say it "gitiles"
<gog> bitbucket
<gog> more like shitbucket amirite
<sham1> gog: okay Atlassan
* gog dabs
<heat> bitbucket is bitcringe
<gorgonical> good, not /'gitailz/
<gog> i know i don't like atlassian
<Ermine> codeplex
<gog> but we use it
<sham1> gog: do you also want to use JIRA?
<gog> it's wahtever
<gog> we do use jira
<gog> sort of
<heat> GOG-420
<gog> i feel like we'd get more done if we just use bugzilla
<sham1> blazeit
<Ermine> or, even cringier, sourceforge
<heat> nah not bugzilla bugzilla kind of sucks
<mcrod> bugzilla is awful
<mcrod> jira is awful
<gog> GOG-69
bauen1 has quit [Ping timeout: 240 seconds]
<mcrod> everything is awful
<gog> issue tracking is awful
<sham1> GOG-NICE
<sham1> software is awful
<gog> honestly we should stop writing software
<gog> we have enough software
<sham1> Computers are awful
<gorgonical> we should abandon technology
<gog> let's fix what we already have
<Ermine> idea that there are issues to be tracked is awful
<heat> my software has no issues
<gog> if we stop writing software we stop creating issues
<heat> perfekt
<gorgonical> i only write provably correct code
<gog> same
<heat> hold on there mr formal verification
<heat> why don't you go write your lemmas elsewhere you fucking loser
<gog> we should be deleting code
<sham1> We should be writing our code so that it can be constexpr everywhere
bauen1 has joined #osdev
<Ermine> like Ken said, his most productive day was about deleting 1000 lines of code
<heat> ZERO COST ABSTRACTIONS!
<mcrod> i feel like gog and gorgonical are the same person
<heat> i'm fairly sure it was Barbie that said that, not Ken
aejsmith has quit [Remote host closed the connection]
<gog> gorgonical is a way better pgorammer than me
<gorgonical> What a ridiculous notion. I haven't even been to a penis museum
<Ermine> heat: XD
<gog> lmfao i haven't been there either
<heat> gogonical
<gorgonical> you're gay but not visit a penis museum gay as well
<sham1> I actually watched an old cppcon talk about someone advocating writing all of the code as constexpr if at all possible because you can detect undefined behavior, you can use it for unit testing and so on
<heat> new cppcon talks would say that, but with ranges!
<sham1> And how the company that person worked to used it to write a microkernel with AUTOSAR compatibility
<gog> i've warmed up to the idea of everything being immutable by default
<sham1> For hypervisor purposes
<gorgonical> Makes sense to me, but isn't this just type-checking but with extra steps?
<sham1> I'll actually link it, it was fascinating
<sham1> gorgonical: yes!~
aejsmith has joined #osdev
<gorgonical> So then why not use a language with a sophisticated enough type system with dependent types or whatever?
<heat> you can also use ubsan
<heat> and asan and tsan
<mcrod> sham1: I saw this before
<mcrod> and it was awesome
<heat> it's horrifying
<mcrod> you're horrifying
<gorgonical> We should all write in Ada and accept the harsh mistress that is a strong compiler
<bslsk05> ​'“Constexpr Everything” - The Standard Library, Microkernel, Apps, and Unit Tests - Rian Quinn' by CppCon (00:59:54)
<heat> you want 1min single file compile times?
<Ermine> One guy wanted to RIIR Minix and port it to RISC-V so it could compete with AUTOSAR
<gorgonical> That can be fixed probably
<sham1> gorgonical: I'm not into BDSM
<Ermine> (That post now associated with AUTOSAR in my brain)
<sham1> mcrod: I assume that was the talk you watched as well
<mcrod> it is
<sham1> Yeah, it's awesome and also quite interesting
<mcrod> detecting undefined behavior without ubsan at compile-time sounds a lot better, at the tradeoff of increased compile times
<mcrod> although I do vividly remember them saying they still run sanitizers just to be extra safe
<heat> nah, hard pass
<heat> have you experienced 1min single file compile times?
<mcrod> i have.
<mcrod> indeed it is awful
<Ermine> Write software in a way that it does everything before it gets built
<heat> ok great
<heat> i'm glad you agree with me then
radens has joined #osdev
<mcrod> but for something where you're caring about AUTOSAR
<mcrod> i think it's sadly worth the increased compile times
<mcrod> remember, the goal is to make sure people don't get killed
<sham1> I experience one-minute builds at work. And yeah, for an enterprise project (I suppose this does qualify even though it's also research) 1 minute is nothing, but it's still annoying to iterate
<gorgonical> but you can use ccache and stuff to mitigate the worst parts of it
<sham1> Also that
<mcrod> in my mind that's worth any suffering I'd go through
elastic_dog has quit [Ping timeout: 250 seconds]
<sham1> Humans not being killed > developer comfort
<geist> being programr is suffering
<gorgonical> Of course any time you go mucking around with headers it's bad but I think we agree on that anyway
<mcrod> now, at work we follow MISRA C 2004
<sham1> Well unless one's job is to make killer drones, then I suppose killing humans is the exact goal
<mcrod> which is annoying because we're not even safety critical anything
<bslsk05> ​capnproto/ekam - Ekam Build System (32 forks/225 stargazers/Apache-2.0)
<heat> ekam is suffering
<geist> i dunno, gn is suffering
<mcrod> what the fuck even is gn
<sham1> I see your gn and raise you maven
<heat> good night
<mcrod> i've heard of gn but never asked or googled it
<gorgonical> straight madness, ekam
<heat> Ekam works by exploration. For example, when it encounters a file ending in ".cpp", it tries to compile the file, intercepting system calls to find out its dependencies (e.g. included headers). If some of these are missing, Ekam continues to explore until it finds headers matching them. When Ekam builds an object file and discovers that it contains a "main" symbol, it tries to link it, searching for other object files to satisfy all symbol references
<heat> therein.
<geist> wat.
<sham1> Of course maven is also way better than for example ivy and ant that preceded it
<geist> has bear vibes, though bear isn't a build system
<geist> (bear is pretty slick actually, check it out)
<gorgonical> How can ekam possibly do the correct thing here? This is like determining the rules from the language by source code syntax instead of the other way around
<heat> it does work
<sham1> By exploration
<geist> i assume that that sort of shenanigans only really works well for plain native apps
<gorgonical> Feels wrong somehow
<heat> it just keeps trying shit, it's nuts
<geist> ie, making assumptions what the include path is, etc
<heat> builds were depressingly slow
<geist> if you had a bunch of complicated -I stuff or cross compiling seems like it'd utterly fail
<gorgonical> at what point is it basically doing ls /**/*
<heat> it also runs in a fully incremental build mode
<geist> or maybe that's still a thing you provide: optimization switches, include paths, etc
<gorgonical> perhaps, yes
<heat> i can't remember how things worked exactly, but it is nuts and it somehow worked
<heat> but the idea was that you kept it running and it could incrementally build things
<heat> instead of re-running ekam like you would rerun make
<gorgonical> wait what
<Ermine> that's what my mirror reflection does
<gorgonical> it runs as a daemon or something
<gorgonical> ??
<gorgonical> or like flymake?
<heat> it just never exits, just keeps running in your term
<geist> hmm, wonder if it would work at all with ccache
<heat> it does
<geist> seems like ccache would foul it up
<heat> nah ccache worked nicely
<geist> or.. accelerate the shit out of it
<geist> since all those intermediate thrown away compiles could be cacheed, though i guess ccache probably doesn't cache negative results
<gorgonical> surely it can't build a kernel though, right?
<gorgonical> How could you provide a linker script?
<heat> there's some capability for scripting
elastic_dog has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
<bslsk05> ​capnproto/capnproto - Cap'n Proto serialization/RPC system - core tools and C++ library (840 forks/9890 stargazers/NOASSERTION)
CalculusCat is now known as CalculusCats
wootehfoot has joined #osdev
<mcrod> heat, heat, hey heat
<geist> turn up the heat
FreeFull has joined #osdev
<sham1> Heated up!
<mcrod> thought: we develop a heatd daemon
<heat> i use heatd when heat is taken
CryptoDavid has joined #osdev
<sham1> dependency injection
<sham1> A floofy term for a brilliant idea
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<gog> hi
<heat> hi grog
<heat> how do dem vacations beeing
dutch has quit [Quit: WeeChat 3.8]
<gog> i'm still in parenting mode
<gog> kid goes back to mom tomorrow
<gog> but then i'm gonna get turnt
<heat> TURNT
<gog> i may have to take the kid somewhere for awhile while wife records her thing
<gog> but i'm so tired
<heat> geist, do yall have a hack to get accessible syms in the kernel .data?
<heat> linux links the kernel 3 times because big brained
gorgonical has quit [Ping timeout: 265 seconds]
gmacd has joined #osdev
Matt|home has quit [Remote host closed the connection]
Matt|home has joined #osdev
gmacd has quit [Ping timeout: 248 seconds]
innegatives has joined #osdev
SGautam has joined #osdev
gmacd has joined #osdev
bauen1 has joined #osdev
<geist> not off the top of my head
gmacd has quit [Ping timeout: 246 seconds]
bgs has quit [Remote host closed the connection]
<heat> aw sucks
<heat> do you get the syms from the bootloader then?
dutch has joined #osdev
wootehfoot has quit [Read error: Connection reset by peer]
<mcrod> do i take vacation now
<mcrod> or do i take vacation when I move into my apartment
<mcrod> the answer is obvious, and yet...
<mrvn> half half
gorgonical has joined #osdev
<gorgonical> God I hate cameras
danilogondolfo has quit [Quit: Leaving]
vdamewood has joined #osdev
innegatives has quit [Quit: WeeChat 3.8]
<mrvn> With multiboot you can just load many modules, one of them the symbol map
<gog> gorgonical: what about them
<gorgonical> the total lack of standardization and the seemingly unlimited devices with no driver support
<mrvn> don't they all have standard USB storage?
<gog> ohhh
slidercrank has joined #osdev
<gorgonical> If only I meant regular cameras. I'm talking about like direct connected camera peripherals
<gorgonical> modules
PublicWiFi has quit [Ping timeout: 248 seconds]
austincheney_ is now known as austincheney
<mrvn> well, buy some that are supprted, make the others go out of business.
<mrvn> hmm, cameras. That reminds me that I need to finish my Kindle Reader. A bot with a camera and a touch screen pen that will read out a book on a kindle.
<gorgonical> I don't understand how you mean
<gorgonical> It's a robot that reads a kindle for you?
<mrvn> and turns the page
<gorgonical> But the fun's that you could do that stuff on the kindle but that's not as funny, right?
<mrvn> No speaker on the kindle and DRM
<gorgonical> Oh I suppose you can't then. So like OCR from taken shots into a tts program right?
<mrvn> yep, something like that.
<gorgonical> I wonder how hard it would be to eavesdrop on the display bus
<gorgonical> Then in theory you don't need the camera, you are capturing the same display data directly
<mrvn> with e-ink? pretty hard I would think.
<gorgonical> I'm guessing it would be a lab-level attack with how integrated these things are
<gorgonical> But this is way outside my wheelhouse so I wouldn't know
<mrvn> probably pretty destructive to the deivce
<gorgonical> Gotta sacrifice one for science. The next one you'll know where to cut the hole for the traces lol
<mrvn> Kindle devices aren't really user servicable devices.
<gorgonical> Not really, no
Left_Turn has quit [Read error: Connection reset by peer]
CryptoDavid has quit [Quit: Connection closed for inactivity]
<gorgonical> One of the great things is how usenet is still the primary discussion forum for ada
<heat> gog
<gog> heat
<gog> i'm ada and #osdev is the priamry discussion forum for me
<heat> u do be the topic in usenet
* gog fingerguns
<gorgonical> with the histrionics of reddit's soon demise I am gonna pitch we return to usenet at an alternative
<gorgonical> Even though the eternal september predates my birth
<gog> let's make an open-source reddit
<gog> actually no
<gog> let's make no discussion board like reddit
<kof123> !kremvax!bazinga!titor!gorgonical: i favor this idea for bangpaths alone
<gog> haha bangpath
<gog> bazinga
<heat> bazingpath
<kazinsal> uucp over tls
<gog> unix to unix cat protocol
* moon-child pets ken thompson
slidercrank has quit [Ping timeout: 248 seconds]
bauen1 has quit [Ping timeout: 246 seconds]
SweetLeaf has joined #osdev
bauen1 has joined #osdev
mcfrdy has quit [Ping timeout: 250 seconds]
mcfrd has joined #osdev
CalculusCats4 has joined #osdev
dutch has quit [Ping timeout: 250 seconds]
DanDan has quit [Ping timeout: 250 seconds]
bleb has quit [Ping timeout: 250 seconds]
ebb has quit [Ping timeout: 250 seconds]
CalculusCats has quit [Ping timeout: 250 seconds]
ZipCPU has quit [Ping timeout: 250 seconds]
CalculusCats4 is now known as CalculusCats
air has quit [Ping timeout: 250 seconds]
cross has quit [Ping timeout: 250 seconds]
bleb has joined #osdev
ZipCPU has joined #osdev
cross has joined #osdev
mcfrd is now known as mcfrdy
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<mcrod> i need to exercise.
<mrvn> who doesn't.
<mrvn> will you?
<zxrom> What books would you recommend me to read on the topic of OS development?
ebb has joined #osdev
<mrvn> good ones
<gorgonical> I have personally never read about about os development as a hobby, but there are good books describing notionally what your os should do
<gorgonical> the o'hallaron book is a good example of this that manages to avoid hilariously dated references to obscure OSes of the time
<mrvn> The Art of Computer Programming, Algorithms in <lang of your choice>
<gorgonical> taocp is absolutely not about os development lol
<mrvn> Tannenbaum for some ground knowledge
<gorgonical> oh i see what you mean
<heat> i like some of the "internals" books
<heat> if you can take em with a grain of salt, that is
<kazinsal> Unix Programmer's Manual: Sixth Edition for a comedy list of what not to do until you're cynical and jaded
<gorgonical> the programmer's manual is the greatest book ever
[itchyjunk] has joined #osdev
<heat> i have on my desk a thorough description of SVR4, including fucking STREAMS
<gorgonical> that book introduced me to unix in college and it literally changed my life
<heat> i can read it because I understand that STREAMS fucking sucks ass
<mrvn> Most of what you need to write an OS has nothing to do with writing an OS
air has joined #osdev
<zxrom> Hmm...
<heat> the design and impl of freebsd, the design and impl of 4.4bsd, solaris internals, the magic garden explained: the internals of unix system v release 4
<heat> mostly old books, good descriptions of the systems, some of them show some age in a lot of aspects, but relevant if you want to build or understand how a UNIX system works
<heat> windows internals are good descriptions of how windows works too
<kazinsal> Inside Windows NT and Inside the Windows NT File System (both by Helen Custer)
<kazinsal> Windows Internals, Seventh Edition is also quite good but very much a deep dive into modern Windows and all its intricacies
<heat> mel gorman's mm book is a good description of old linux (early 2.6) memory management. some bits survived, others aged like milk, other so-so
<heat> practical filesystem design by the beOS filesystem guy
<heat> giampaolo something?
<heat> yes dominic giampaolo
<zxrom> I thank you for your answers. I think I realized that there is no one best and simple book. I will look at the contents of the listed books.
<heat> zxrom, what are you looking for?
<heat> different books give you different things, different answers
SweetLeaf has quit [Quit: WeeChat 3.8]
<zxrom> heat, I thought maybe there was a new book about OS development that I would read for a hobby.
<gorgonical> the wiki's not a bad place to start if you want just a hobby view of it
<heat> the dino book, etc all give you decent overviews of what an OS *should* do
<heat> "internals" books are a lot more practical, they tell you how
<heat> like, you're not getting much out of a chapter describing page allocation if you don't know what that is
<gorgonical> fwiw that gap can be very large. going from a description of scheduling to the details is basically two whole different semester-long courses
<zxrom> I have knowledge, I'm not a beginner. I want to read more about concepts.
<gorgonical> What do you mean knowledge? Like do you want a sort of conceptual discussion of the fundamentals or do you want new ideas and research?
<gorgonical> Cause if it's the latter this gets a lot harder
<zxrom> I thought there should be a book that streamlines all thoughts about OS development :)
<gorgonical> I know of no such encyclopedic book
FreeFull has quit []
vdamewood has joined #osdev
<zxrom> ¯\_(ツ)_/¯
* kof123 holds up ouroborus, the start and end of all
<mcrod> streamlining all thoughts about OS development would be extremely difficult, almost on the level of TAOCP's volume
<mcrod> tanenbaum's book *may or may not* hold weight
<gorgonical> that's actually a pretty apt comparison I'd say
<gog> hi
<mcrod> gog: hi
<gorgonical> mcrod: hi
<mcrod> gorgonical: hi
<zxrom> gog, Hi
<gog> gorgonical: hi
<gog> zxrom: hi
<gog> mcrod: hi
<zxrom> Hehe :D
<mcrod> gog: may I pet you
<gog> mcrod: yes
* mcrod pets gog
* gog prr
<zxrom> gog is a cat?
<mcrod> yes she is
<zxrom> Wow!
<gog> i'm a cat that knows c
<gorgonical> ccat
<gog> yes
<bslsk05> ​darksouls2.wiki.fextralife.com: Sweet Shalquoir | Dark Souls 2 Wiki
* vdamewood gives gog a fishy
<heat> dark soul
<gog> yes
<gorgonical> shal-kwah is always how I said it in my head
* gog chomp fishy
<mcrod> yes, dark soul
<mcrod> i played ds2 to kill some time recently
<mcrod> what a process
<heat> gog is more of an alvina
<mcrod> OS development is easier
<kazinsal> tears of the kingdom is my favourite dark soul
<gorgonical> my video game pasttime is replaying old games with increasingly ridiculous constraints just to make it hard again
<mcrod> god does redshift STILL NOT WORK OUT OF THE FUCKING BOX ON ARCH
<gog> i was playing donkey kong country but i got bored of games again
<gog> now i'm just watching youtube all evening because i'm tired
<gorgonical> but you can't get bored of that music
<heat> mcrod, my xbox controller doesn't work either