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
goliath has quit [Quit: SIGSEGV]
X-Scale has quit [Quit: Client closed]
Matt|home has quit [Quit: KVIrc 5.2.4 Quasar http://www.kvirc.net/]
heat has quit [Ping timeout: 264 seconds]
gog has quit [Ping timeout: 264 seconds]
vdamewood has joined #osdev
edr has quit [Quit: Leaving]
Matt|home has joined #osdev
EuphDump has joined #osdev
nitrix has quit [Quit: ZNC 1.8.2 - https://znc.in]
nitrix has joined #osdev
levitating has quit [Remote host closed the connection]
housemate has joined #osdev
netbsduser has joined #osdev
<Matt|home> damn, what was that article about that guy who wrote his own "abridged" version of the c standard or something?
<Matt|home> and it was god awful?
<Matt|home> iu really think it was an osdev wiki page but i really can't find it with any of my keyword searches
<mjg> dude what :D
<Matt|home> man.. it was a link to a comedy article criticisng a programming book
<Matt|home> but it was hella funny
<Mondenkind> what?
<Mondenkind> i wanna see this
<Matt|home> if i can find the article :\
<Matt|home> maybe you can hel Mondenkindp, im really high right now and im not sure how to go about this but basically:
<Mondenkind> why does everybody misspell my name lmao
<Matt|home> some guy with a dunning kruger type personality wrote an abridged version of the C standard, it was titled something like people who don't have time to read the whole standard
<Matt|home> and it was being reviewed rather scathingly by some technical website article
<Matt|home> it's your nick dude, i just used tab :p
<Mondenkind> my nick isn't Mondenkindp
<mjg> 07:24 < Mondenkindp> my nick isn't Mondenkind
<Matt|home> how'd you do that..
* Mondenkind trouts mjg
<mjg> still, what fucking tech website would do a tech correction
<Matt|home> yeah i can't find it, forget it
<mjg> if anything if a tech website would post anything on the subject it would repeat the bs
<mjg> remember the article about "it is not always faster to do things in memory
<mjg> some college students wrote a regrettable paper about using files to temp store results instead of ram and got things "faster"
<mjg> except it turns out all the content remained cached
<mjg> :d
netbsduser has quit [Ping timeout: 252 seconds]
rustyy has quit [Quit: leaving]
rustyy has joined #osdev
housemate has quit [Quit: "I saw it in a TikTok video and thought that it was the smartest answer ever" ~AnonOps Radio [LOL]]
gbowne1 has joined #osdev
dhart has joined #osdev
dhart has quit [Max SendQ exceeded]
dhart has joined #osdev
dhart has quit [Max SendQ exceeded]
dhart has joined #osdev
dhart has quit [Max SendQ exceeded]
dhart has joined #osdev
dhart has quit [Max SendQ exceeded]
dhart has joined #osdev
dhart has quit [Max SendQ exceeded]
ThinkT510 has quit [Quit: WeeChat 4.3.3]
dhart has joined #osdev
dhart has quit [Max SendQ exceeded]
ThinkT510 has joined #osdev
gbowne1 has left #osdev [#osdev]
EuphDump has quit [Remote host closed the connection]
EuphDump has joined #osdev
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
GeDaMo has joined #osdev
housemate has joined #osdev
housemate has quit [Client Quit]
KaitoDaumoto has quit [Ping timeout: 268 seconds]
meisaka has quit [Ping timeout: 255 seconds]
meisaka has joined #osdev
housemate has joined #osdev
housemate has quit [Remote host closed the connection]
obrien has joined #osdev
Matt|home has quit [Read error: Connection reset by peer]
meisaka has quit [Ping timeout: 268 seconds]
meisaka has joined #osdev
tanto has quit [Remote host closed the connection]
pie_ has quit [Remote host closed the connection]
vancz has quit [Remote host closed the connection]
navi has joined #osdev
<Ermine> now my wireplumber crashes very frequently...
aejsmith has quit [Quit: Lost terminal]
aejsmith has joined #osdev
goliath has joined #osdev
gog has joined #osdev
housemate has joined #osdev
obrien has quit [Remote host closed the connection]
tanto has joined #osdev
vancz has joined #osdev
pie_ has joined #osdev
tanto has quit [Remote host closed the connection]
vancz has quit [Remote host closed the connection]
pie_ has quit [Remote host closed the connection]
tanto has joined #osdev
pie_ has joined #osdev
vancz has joined #osdev
meisaka has quit [Ping timeout: 252 seconds]
meisaka has joined #osdev
housemate has quit [Read error: Connection reset by peer]
meisaka has quit [Ping timeout: 264 seconds]
meisaka has joined #osdev
navi has quit [Ping timeout: 268 seconds]
housemate has joined #osdev
alexander has quit [Ping timeout: 260 seconds]
mubluekoor has quit [Quit: mubluekoor]
EuphDump has quit [Remote host closed the connection]
EuphDump has joined #osdev
housemate has quit [Read error: Connection reset by peer]
alexander has joined #osdev
housemate has joined #osdev
EuphDump has quit [Remote host closed the connection]
EuphDump has joined #osdev
Left_Turn has joined #osdev
housemate has quit [Quit: "I saw it in a TikTok video and thought that it was the smartest answer ever" ~AnonOps Radio [LOL]]
meisaka has quit [Ping timeout: 252 seconds]
meisaka has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 255 seconds]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 240 seconds]
meisaka has quit [Ping timeout: 255 seconds]
meisaka has joined #osdev
joe9 has joined #osdev
joe9 has quit [Client Quit]
Left_Turn has quit [Remote host closed the connection]
Left_Turn has joined #osdev
mubluekoor has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 240 seconds]
goliath has quit [Quit: SIGSEGV]
gsekulski has joined #osdev
* geist yawns
<nikolapdp> o
<nikolapdp> oi
<Ermine> oui
<GeDaMo> Needs more vowels :P
<nikolapdp> aoui
<geist> got up early for an island-wide gigantic garage sale like thing that happens every year
heat has joined #osdev
<geist> maybe will score some good shit,dunno
<nikolapdp> maybe you'll find another pdp :P
<heat> Ermine, welcome to hell
<nikolapdp> hello to you too heat
<nikolapdp> i guess
<heat> hi nikolapdp
<heat> it was re: <Ermine> now my wireplumber crashes very frequently...
<nikolapdp> ah right
<nikolapdp> fair
<Ermine> heat: i'd say "Doom music kicks in", but it didn't, there's no sound
<heat> hahaha
<heat> systemctl restart --user pipewire
<Ermine> yeah, that's what I do every now and then
<nikolar> If pipewire is so unstable, why not use pulsw
<nikolar> Until it gets better at least
<heat> pulsewire lol, pulsewire is a downgrade in everything
<heat> including stability
<heat> sorry, pulseaudio
<heat> pulsewire would be cursed
<nikolar> I meant just pulse
<nikolar> Not some cursed combo
meisaka has quit [Ping timeout: 240 seconds]
<heat> yeah haha imagine xwayland
<heat> wait
meisaka has joined #osdev
<gog> GPTOS
<gog> pulsewire is canon also
<gog> pipewire has a pulseaudio emulation module
* gog fingerguns
<heat> i know, all new software needs to pretend it's old software
EuphDump has quit [Ping timeout: 260 seconds]
<Ermine> if that software could pretend it's working
EuphDump has joined #osdev
<nikolar> heat: xwayland actually works, unlike pulsewire :P
<Ermine> but it sucks
<nikolar> What does
<Ermine> xwayland
<bslsk05> ​imgflip.com: Always Has Been Meme - Imgflip
<heat> nikolar, pulsewire works properly
meisaka has quit [Ping timeout: 264 seconds]
<heat> xwayland works as well as the wayland server behind it, naturally
<Ermine> heat: I lol'd
<Ermine> zoom is cringey in xwayland
<Ermine> not to mention lack of fractional scaling
meisaka has joined #osdev
meisaka has quit [Ping timeout: 264 seconds]
meisaka has joined #osdev
<dostoyevsky2> I wonder what the significance is that netbsd supports Xen ... they write nothing about qemu support... even though they might have a virtio driver?
X-Scale has joined #osdev
<nikolar> Well if you have virtio then it shouldn't matter, no?
<heat> i mean, it's pretty much automatic to have qemu support, if you already run on commodity PCs
<heat> virtio devices are probably most of the few devices that aren't real in any way shape or form
emm has joined #osdev
emm has quit [Ping timeout: 256 seconds]
<bslsk05> ​'I Bought the HEAVIEST Computer on eBay: The PDP-11/34!' by Dave's Garage (00:27:52)
gsekulski has quit [Ping timeout: 246 seconds]
goliath has joined #osdev
<bslsk05> ​www.atg.wa.gov: Attorney General’s Office Sues, Settles with Washington-based SoftwareOnline.com | Washington State
<mjg> kind of ruins watching any of his stuff, even if one is trying to ignore the geezery
<GeDaMo> :/
meisaka has quit [Ping timeout: 246 seconds]
meisaka has joined #osdev
gsekulski has joined #osdev
emm has joined #osdev
netbsduser has joined #osdev
<nikolar> Ah so typical scam behavior
lain` has joined #osdev
EuphDump_ has joined #osdev
EuphDump has quit [Remote host closed the connection]
<carrar> Oh I didn't know that about David Plummer, that's interesting & disappointing at the same time
<geist> my general annoyance with him is he's kinda clueless sometimes
obrien has joined #osdev
<nikolar> Yeah there were several times I thought that too
<nikolar> And I wasn't sure if he was dumbing it down on purpose or not
<nortti> clueless how?
<nikolar> Just the way he's describing things
<nikolar> Also another annoying thing is referring to c++ as c
<geist> yeah i mean obviously not everyone is born with all knowledge, but he sort of comes across as if he knows it
<geist> OTOH i haven't watched the pdp vid. gonna do that in a bit
<geist> he did managed to do a good multi hour interview with dave cutler though, so i thank him for that
<geist> he's in the local seattle area, actually has been asking folks on the seattle retro computer club for help on the PDP, so he's at least not being a twat about it
<geist> and i can't fault someone for wanting to e interested in something, and he has the money to spend so good for him
<geist> iirc i think he wrote a whole book about how has has aspergers and whatnot which kinda checks out based on how tone deaf he is sometimes on his channel
<geist> so i think he sort of comes across as 'i'm an interesting person here is a bunch of information i know'
<heat> he can't drop the "i wrote the task manager" gist
<heat> it's really annoying
<heat> the guy who wrote top isn't talking about it
<geist> oh heh yeah that too
<netbsduser> heat: i saw claims made that real-hardware vitrio net nics were considered
<geist> i thik the idea there is for the most part good net nics are just as good, if not better than virtio
<geist> at least by the time yo get to 1gb nics they all had similar ring structures
<netbsduser> geist: if you can but find the documentation and deal with their diversity
<geist> e1000 for example is easily as powerful, though its ring structure is simpler in a specific way: each descriptor is a fixed size
<geist> which actually makes a lot of sense, you can up front compute how many descriptors to use for any given packet
<netbsduser> i have a generic e1000 driver but i haven't been able to sus out where the full details are for a lot of the e1000s that have the fun features like multiqueue
<geist> well, on the RX side, the TX side i think you can chain together dissimilar sizes
<geist> netbsduser: oh i just dowloaded the manual and started with taht
<geist> intel has fantastic docs
<netbsduser> i have at least been able to devise zero-copy RX for e1000, that's possible generically
<heat> yeah you can chain them together
<netbsduser> TX even
<netbsduser> not RX
<heat> i do it on my driver with great success, for sg io
<geist> right, which makes sense once you get used to it, very straightforward for hardware to deal with
<heat> which my packetbufs do natively
<geist> anyway what i dunno is how 10g and 40g nics work at that level, is there the Next Level after e1000?
<geist> or is that basically about as good as it gets
<netbsduser> all i know is that on gnu/linux, freebsd, netbsd, there are newer more fangled drivers for the newer more fangled e1000 variants
<heat> yo geist you're an avid top user aren't you
<geist> heat: i love me some top
<geist> sometimes even htop
<heat> how does scrolling work in top
<heat> down arrows update the thing
<geist> top does scrolling?
<heat> I WOULD HOPE SO
<geist> oh i assumed it was just refresh
<geist> spacebar refreshes too
<heat> toybox top seems to scroll
<nikolar> Yeah I'm not sure what arrow keys do in top
<nikolar> It's odd
<heat> yeah busybox top seems to scroll too
<nikolar> Space definitely refreshes
<geist> htop scrolls
<geist> i'd assume it would probably freeze the last snapshot and then scroll through it
<geist> since it updating out from underneath you would be messed up
<heat> see, if the top guy bragged about writing top
<heat> i'd shoot the guy
<heat> it is completely incomprehensible for common human beings
<heat> procps top has a help screen at least
<heat> with 500 different keybinds for weird stuff
<nikolar> It's comprehensible heat don't be so dramatic
<heat> <nikolar> Yeah I'm not sure what arrow keys do in top
<nikolar> That doesn't make the tool incomprehensible
<nikolar> I can see what's going on just fine
<heat> could use some, idk, keybind labels
<heat> like htop
<nortti> looking at the top(1) man page I get on my system"For additional information see topic 5c. SCROLLING a Window."
<heat> procps-ng's man page is 1600 lines
<heat> WITH A TABLE OF CONTENTS
<nortti> having read topic 5c. SROLLING a Window, I'm still not entirely sure how scrolling works in top(1)
<nortti> it does appear that you can just use arrow keys, tho
<heat> busybox top seems to be a lot more usable
<heat> noted
<kof673> dostoyevsky, i believe you used to be able to use netbsd as xen dom0, and this goes back to before cpu virtualization features were required :D
<kof673> surely that is gone now but i looked at it once :D
<Ermine> htop > top
<heat> btop is really nifty
<geist> my main complaint about htop is it has much less information available re: memory
<geist> it doesn't really have the specific details you can bring up in top, and generally displayed on the default screen
<geist> it's good for cpu stuff and looks pretty though
<heat> yeah
<heat> fwiw most linux tooling is completely superficial when it comes to memory details
<heat> vmstat is like, completely useless
<nikolar> There are some additional metrics you can show in htoo
<nikolar> htoo
<nikolar> htop
<geist> yeah but not the ones i want
<geist> for regular top i usually add delta minor and major PFs and SWAP size
<Ermine> "improper memory accounting" (c)
X-Scale has quit [Quit: Client closed]
<heat> thankfully because PROCFS is so good and great and works with TEXT you can probably make your own awk script in 3 minutes
<netbsduser> kof673: old message i'm replying to but overcommit or not, using malloc() to guess how much RAM there is, is no use in the presence of virtual memory
<heat> not me, i don't know awk
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<netbsduser> kernels written with a robust engineering ethos (such as solaris) strictly account virtual memory, so you will be able to guess at how big the swapfiles + ram are by allocating lots of memory and seeing where it starts to fail
Matt|home has joined #osdev
<Ermine> btop looks cool, but too much bells and whistles to my taste
<kof673> yep, it was just a silly thing to see what various things would do
<heat> netbsduser, so solaris doesn't support ASAN?
<heat> that's a feature?
<kof673> e.g. 16-bit seems to give me like 40k (not sure if separate segment, or depends on code size)
<kof673> chameleon simulator apparently has like 20M lol
<kof673> that made me happy lol
<netbsduser> heat: it has to be opted-in
<kof673> that's a viable target lol
<netbsduser> you can give a special flag to mmap to make it not charge the virtual memory quota
<Ermine> CONFIG_ASAN=y
<netbsduser> and in that case i assume it will just unceremoniously terminate your process if you try to make a fault that would over commit
<heat> thankfully linux has that and a sysctl with 3 different overcommit modes
<Matt|home> o\
<netbsduser> they must have added it quite recently
<heat> nope
<netbsduser> is it thorough then?
<heat> * Strict overcommit modes added 2002 Feb 26 by Alan Cox.
<netbsduser> it's one thing to make a best effort at accounting but another to have the kernel soldier on and promise never to terminate a process
<netbsduser> i am not saying that the linux kernel is a fake scotsman
<Ermine> but no, overcommit is here because they can't count pages! (c) dalias
<heat> it seems to approximate
<heat> with pcpu counters
<netbsduser> rather that it's one thing to throw in a quick attempt in strict accounting because you're jealous of solaris, while your kernel is still at risk of terminating user processes when available virtual memory is low, but another to guarantee or near-guarantee against that
<heat> sharing a system-global atomic variable and incrementing/decrementing with a cmpxchg is a great way to *reliably* kill your performance
<netbsduser> i would replicate it
<netbsduser> since ideally you are not usually running the commit to naer exhaustion
<netbsduser> so you could give each core 16 pages' worth and refill that from global commit when it runs out, and replenish global commit when you've released a lot on one core
<heat> yes, that's what linux does, but now you can't guarantee never OOM killing a process
<heat> they have a percpu counter system that counts locally up to a certain limit (in this case 32 pages), then commits to a global counter
<heat> you can technically go 32*nr_cpus above the overcommit limit
<netbsduser> if the cpu local commit is not borrowed from the global commit then that's a mistake
<Ermine> would be cool to have this parameter tunable at kernel build time
<heat> global commit can change
<netbsduser> but shouldn't you be avoiding committing all the time? it's not like physical pages, you are hopefully not mmap'ing too often
<heat> Ermine, what parameter?
gareppa has joined #osdev
<Ermine> local counting limit
<heat> why?
gareppa has quit [Client Quit]
<heat> say you have 128 cpus. max error is 32 * 128 pages ~= 4MiB
<netbsduser> i would say don't let it err
<netbsduser> speculatively allocate global commit to CPUs
<heat> i would hope that in a 128 CPU machine you're not so heavily committed as to not be able to swap out 4MiB of file pages
<heat> particularly since this doesn't account page cache pages anyway
<netbsduser> i don't think strict accounting implies that *every* possible page of virtual memory should be usable, just that you can't use more than can be backed
<netbsduser> but extreme measures could be employed like ordering all the CPUs to dump their local cache of global commit and not bother taking more local cache out while there is a shortage
<Ermine> heat: oic
<netbsduser> then for the almost exhausted commit case you revert to dealing in it globally
<kof673> "malloc nonsense" ack_6_0_p5_pc86 target ( this just makes a bootable image x86-16, but it does have some libc like malloc() ): 43298 bytes chameleon simulator: 6644151 ...*3 because these are 24-bit bytes lol 19,932,453
<heat> meh this is completely best effort
<kof673> ack is amazingly fast ...
<heat> slab pages are not accounted for, other page allocations are not accounted for, page cache is not accounted for
obrien has quit [Remote host closed the connection]
<kof673> *fast to compile code...if you do if (0) i believe it literally will put that...not talking about run-time lol
<heat> slab actually can't account things in many cases because the overhead is very measurable, it's an active problem space in linux mm
<Matt|home> welp, sorry for the off-topic but apparently this question is literally off-topic in #windows so: it seems my win 10 pro version is already activated. this means i don't have to pay for another copy if i get a new computer right, i can just use the old activation key?
<carrar> Correct, since you wouldn't want to install Windows on this new computers, but rather some home made OS or linux. You won't need a key for those :)
<nortti> as far as I understand that will depend on the kind of activation key you have
<Matt|home> yeah im not going there.. i spent six hours ranting against linux idiocy and couldn't believe how bad the fanboys were
<Matt|home> it's a digital activation key
<Matt|home> er, digital license
<nortti> retail copy of win 10 pro, OEM?
<Matt|home> im not sure, but 80% yeah
<nortti> tied to your microsoft account?
<Matt|home> no
<nortti> then unsure, but I'd lean towards "probably will work, yeah"
<Matt|home> ty <3
<netbsduser> Matt|home: just because linux is less able at accounting doesn't mean it's idiotic
<heat> what
<heat> linux is more able at accounting
<netbsduser> heat: this "linux idiocy" he referred to
<heat> it accounts fucking everything and it's impressive at how fast it still is
<netbsduser> i am not confident it can avoid terminating user processes even with strict accounting mode
<heat> if the system is OOM killing it's completely hosed
<heat> i would guess it's very very hard to assure you can't oomkill ever, unless every allocation is accounted for
<nikolar> Well you could just not overcommit
<heat> every random page allocation would need to be committed
<nikolar> Yeah
<heat> it does sound doable-ish with some dubious effort, might try to play around with that
EuphDump has joined #osdev
EuphDump_ has quit [Ping timeout: 260 seconds]
goliath has quit [Quit: SIGSEGV]
emm has quit [Ping timeout: 246 seconds]
netbsduser has quit [Ping timeout: 268 seconds]
X-Scale has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
<Matt|home> im not getting into an OS debate again, i've made my anti-linux stance very clear in other channels but im not here to debate or inflame anything. if you're genuinely curious just pm me or something
<heat> OS debates are always very useful
<heat> you just need to convince the other guy he's wrong, he'll agree and switch to your favourite OS
<gog> what if instead the cracks in your facade of an identity collapse and you decide that not only are you wrong about your choice of OS but you're also living a painful and unsustainable lie and undergo gender transition after installing openindiana
goliath has joined #osdev
<heat> incredibly based
<Matt|home> what's up gog
<gog> hi Matt|home
<heat> how was it gog
<gog> gebnde
<gog> gender transition or openinidana?
<Matt|home> hm. this is a little frustrating. i might have to drop this book
<heat> i mean the really big decision
<heat> switching to openindiana
<gog> painful and not as glamorous as i hoped. but comfortable and liberating at the same time
<heat> one can justify gender transitioning, one cannot justify switching to openindiana
<heat> it needs to be done purely based on vibes
<gog> installing openindiana should require more psychiatric intervention than being recommended for HRT
<heat> did it
<heat> did it scale
<Mondenkind> i support informed consent for os installation
<Mondenkind> people should have the freedom to install openindiana as long as they understand the risks and consequences
<gog> sorry i'm an OS-medicalist i guess
* kof673 throws in "spread across many osen, to hide from the wicked" dark saying of old
<heat> my christian values do not allow me to install openindiana
<heat> i simply think it's wrong
<mjg> gog: you actually installed openindiana????
<gog> no
<mjg> 8(
<heat> LIAR
<mjg> i tried once, i think it failed to boot
<gog> i tried to install opensolaris in like 2009
<heat> mjg, you actually installed FreeBSD????
<gog> on x86
<mjg> was supposed to be for kicks
<gog> it was unusuably slow
<mjg> gog: it was ENTERPRISE
<heat> i bet you were missing like, gpu drivers
<gog> maybe?
<heat> the driverless world is pretty rough
<mjg> i'm afraid slowaris got the name deservedly
<mjg> anyway i judge people by technology they use
<gog> we know
EuphDump has quit [Quit: EuphDump]
<heat> deservedly
<mjg> i guess you can call me a technologist
<gog> you're a technophobe
<heat> why does mjg hate techno??
<heat> it's an okay music genre
<mjg> techno is a genre?
<gog> it's a member of the EDM family
<heat> wow you are old
<mjg> i don't know squat about the area,i know the word
<mjg> i woudl expect it's what outsiders use to refer to something with electronic sounds
<mjg> and actual people who are into it would consider you a fucken' normie for using the word
<nikolar> Same with literally everything
gsekulski has quit [Remote host closed the connection]
Turn_Left has quit [Read error: Connection reset by peer]
<Matt|home> anyone have luck/good experience with o'reilly books?
<nikolar> I haven't read them personally but I've heard that they aren't great
<nikolar> So take that as you will
<gog> i had C in a Nutshell
<gog> it has a decent section on Makefiles
<nikolar> Kek what about the sections on c
<gog> all i remember is it had nothing i didn't already know
<gog> it's very basic stuff
<nikolar> So basically no really worth it
<gog> nah
<zid> There are no good C books
<gog> what about the c programming language by brian kernighan and dennis ritchie
<zid> K&R2 is.. awkward and dated
<gog> me too
<zid> it mainly covers weird text processing tasks, also
<nikolar> Good practice though
<zid> and lacks C99 and all the 30 years of hindsight we have
<zid> yea it's a good book
<nikolar> Sure, it's not the only thing you need to be proficient in c
<nikolar> But it gets you started
<zid> yes, it's a good book
<zid> but there are no good books if your goal is to go from not knowing C, to very knowing C
<heat> i always recommend the c programming language by brian kernighan and dennis ritchie
<heat> all the other C books suck
<nikolar> Same
<nikolar> zid yeah but I don't think those exist for any language
<gog> my goal is to go from knowing c to not knowing c
<heat> YES
<nikolar> No
<heat> kiss the girls you didn't ask while arguing UB on IRC
<heat> didn't kiss*
<heat> obviously ask them for kissing
<zid> nikolapdp: Mostly because most other languages are undocumented
<zid> to begin with
<zid> C at least has a spec, so you can *try* to do it
<nikolar> Yeah I guess that's a fair point
<zid> C++ book would be 14000 pages long, so you can't, all other languages are ad-hoc or change every 4 weeks even if they DO bother to write it down
<nikolar> Rust doesn't have a standard, java does kind of
<zid> There are lots of java books, I can't comment on their quality though
<nikolar> There's ecmascript you could target if you really wanted, python doesn't quite have a standard
<zid> problem with a javascript book is that nobody writes javascript
<nortti> and this is why common lisp stays winning
<heat> HASKELL
<nikolar> zid how so
<zid> they write against weird frameworks that somehow extend the grammar with other nonsense, the ({f}()).$ crap I see all the time
<nikolar> Ah lol
<zid> or they realize that's a sham and use something that compiles to javascript
<nikolar> Kek
thesock has joined #osdev
<kof673> oreilly did the animals on cover IIRC
<kof673> that was the vi book IIRC: tarsier, (family Tarsiidae), any of about 13 species of small leaping primates found only on various islands of Southeast Asia, including the Philippines. Tarsiers are intermediate in form between lemurs and monkeys, measuring only about 9–16 cm (3.5–6 inches) long
<zid> k for some reason youtube popped up a "Please select one of these three videos to tune your recommendations"
<zid> and one of them was.. the entire austin powers movie
<zid> so I guess I am watching austin powers
<nikolar> Kek nice
<nikolar> Groovy
<nikolar> Book
<nikolar> Boom