channel logs for 2004 - 2010 are archived at http://tunes.org/~nef/logs/old/ ·· can't be searched
#osdev2 = #osdev @ Libera from 23may2021 to present
#osdev @ OPN/FreeNode from 3apr2001 to 23may2021
all other channels are on OPN/FreeNode from 2004 to present
http://bespin.org/~qz/search/?view=1&c=osdev2&y=23&m=3&d=16
00:01:00 <klange> My main annoyance with Minix is it's too piecemeal. It pulls in tons of BSD stuff to make the complete userspace. Feels very "draw the rest of the ***ing owl" to me.
00:01:00 <klange> I think that complaint is specific to modern Minix 3, the older versions are better.
00:04:00 <sortie> Oh I totally hear klange here
00:04:00 <heat> well, draw the rest of the fucking owl is most of UNIXes out there
00:04:00 <sortie> The best part of osdev is that it's an excuse to learn basically anything I'm interested in
00:04:00 <heat> Open/Net/FreeBSD all draw each other's owls
00:05:00 <sortie> DNS? Yep. TCP. Can do. POSIX weirdness? Yep. Compilers? Totally. JPEG? Yup. compression yeah.
00:05:00 <heat> Illumos/Solaris/SunOS/SVR/BSD did the same
00:05:00 <klange> Open/Net/FreeBSD aren't intended as teaching tools, though :)
00:05:00 <heat> the only minimally inventive OS out there is GNU
00:05:00 <heat> but then they stole Linux
00:05:00 <brunothedev> gnu hurd
00:06:00 <sortie> I like to think my OS can serve as a teaching tool - not because I'm trying to be done - but because it's a coherent self-contained thing
00:06:00 <brunothedev> though no one uses it
00:06:00 <klange> GNU Hurd: I seriously though it would get 64-bit support before Toaru did.
00:06:00 <sortie> Like, you know, just not being super weird, complex, and inconsistent -- that's what you want from a teaching tool
00:06:00 <brunothedev> sortie: using c++ on a unix strikes as a weird choice for me for some reason
00:06:00 <klange> Though, to hurd's credit, it can run Xfce...
00:07:00 <sortie> C++ is used lots of places
00:07:00 <sortie> For me it's just the kernel though
00:07:00 <sortie> User-space is C
00:07:00 <brunothedev> but on unix it does have a reputation for bloat
00:07:00 <sortie> Honestly not
00:08:00 <sortie> Classic Unix is nothing compared to the modern beasts out there
00:08:00 <brunothedev> but there is a reason linus rejected it
00:08:00 <heat> SVR4 was both great and horrible
00:08:00 <heat> pick yer poison
00:08:00 <klange> C++ is seen as having lots of footguns around features that have historically been problematic for a kernel, and for a long time there were enough of those that you ended up writing C with name mangling more than you were really writing C++.
00:09:00 <heat> ^^
00:09:00 <heat> this is essentially my kernel
00:09:00 <sortie> Yeah that's why I ended up migrating my C++ user-space to C
00:09:00 <sortie> It was basically already C
00:09:00 <heat> some classes here and there, some C++ fancyness here and there, but mostly very C-like
00:09:00 <sortie> The kernel does use some key C++ features like classes and scoped mutexes and so on
00:09:00 <heat> partly because I hate the whole modern C++ shebang
00:10:00 <sortie> Yeah #!/usr/bin/c++ is so weird
00:10:00 <heat> I do funnily enough use some exceptions in some userspace stuff I have
00:10:00 <brunothedev> hehe "#!/usr/bin/g++"
00:10:00 <klange> tcc supports this :)
00:10:00 <heat> partly because its the classic userspace stuff where dying works fine, and partly because I'm not up for reimplementing good bits of the standard library
00:11:00 <heat> most C programs just reinvent the wheel for data structures using some shitty realloc loop
00:11:00 <heat> no ty.
00:11:00 <heat> BSD at least gives you decent data structures in the libc AFAIK
00:11:00 <brunothedev> c, c++, all bad! Gonna write my os in HolyC
00:12:00 <heat> but POSIX stuff is laughable at best
00:12:00 <nortti> are you saying one process-wide hash table is not enough?
00:13:00 <heat> lmao, exactly
00:13:00 <klange> obviously the right choice here is to write your own compiler for your own language
00:14:00 <brunothedev> i cant say it here, but look up "terry a. davis receives a call"
00:14:00 <klange> I'd rather not.
00:14:00 <brunothedev> on youtube
00:15:00 <brunothedev> klange: oh why?
00:16:00 <brunothedev> soemone calls terry to talk about (G)lendale (C)ommunity (C)ollege
00:16:00 <klange> Let me rephrase that.
00:17:00 <klange> Please do not talk about Terry Davis here.
00:19:00 <brunothedev> bro talked with "sudo" 💀
00:25:00 <brunothedev> dude12312414: #relatable (when i had a 2gb machine)
03:17:00 <heat> for this evening's stupid POSIX trivia: what happens on O_CREAT | O_DIRECTORY on existing systems?
03:17:00 <heat> for the record, linux's open(2) man page is wrong about this lol
03:19:00 <zid> disregard linux, try xenis
03:20:00 <zid> xenix
03:21:00 <kof123> hmm...people have said bsd manpages are better, they are certainly as far as saying what various standards do IMO
03:22:00 <heat> bsd manpages say jack about this
03:22:00 <heat> POSIX says its undefined
03:22:00 <heat> freebsd's behavior changed relatively recently
03:23:00 <kof123> i just meant as far as "this function conforms to..."
03:31:00 <heat> omfg I can't believe this
03:31:00 <heat> the linux behavior is even more stupid than I thought
03:32:00 <heat> open("/tmp/dir_ocreatdir", O_RDONLY|O_CREAT|O_DIRECTORY, 0644) = -1 ENOTDIR (Not a directory) <-- ok, valid error right?
03:33:00 <heat> it created /tmp/dir_ocreatdir ............
08:25:00 <geist> oldd\\\’
08:26:00 <geist> odd. wonder if it’s fs specific
12:48:00 <zid> 8086:1539 is my intel gige just making a note t y
12:58:00 <zid> It does infact, have three LEDs on the chip at least, need to figure out if they're wired to the actual connector I guess
13:36:00 <gog> goge
13:36:00 <gog> gogabit ethernet
13:37:00 <zid> doesn't look like it
13:37:00 <zid> guess I can't hack the driver to make my link light green instead of orange
13:37:00 <zid> I could turn it off though
14:53:00 <Ermine> gog: may I pet you?
14:54:00 <gog> yes
14:54:00 * Ermine pets gog
14:57:00 <zid> gog: I found a new lifegoal for yo
14:58:00 <zid> Consider the term 'domestic housewife' and its implications. It implies the existence of feral housewives. Goals.
15:01:00 <gog> hmmm yesss
15:01:00 <gog> i was a feral housewife for awhile i think
15:45:00 <zid> https://cdn.discordapp.com/attachments/740596627483525256/1085945582985674802/image0.jpg
15:46:00 <gog> primary school??
15:46:00 <gog> i didn't learn these until uni
15:46:00 <gog> although i do fully support introducing more advanced math concepts earlier
15:50:00 <zid> I need to get some scissors and cut all these shipping labels up and tape them to this envelope, but the man isn't coming until tomorrow morning, so my brain is "you can just stay up until 6am and do it then"
15:50:00 <zid> I am A+ tier executive function
15:51:00 <gog> i am not
15:51:00 <gog> i'm trying to do research for my next work task but it's not going well
15:51:00 <gog> my brain is fried from debugging something earlier
15:51:00 <gog> and i'm a little worried that our latest deployment is bad
15:55:00 <gog> i want ice cream
15:55:00 <heat> what?
15:55:00 <gog> you heard me
15:55:00 <heat> you want a full UNIX path walking test suite?
15:55:00 <heat> ok boss... https://gist.github.com/heatd/ef23933ec1ee38107d3c779643c2a81b
15:55:00 <gog> yes but no
15:55:00 <bslsk05> gist.github.com: namei.c · GitHub
15:56:00 <gog> i want a cup of rugbrauð ice cream
16:00:00 <sakasama> Only a cup?
16:01:00 <gog> yeahhh
16:01:00 <gog> it's got a lot of sugar
16:02:00 <gog> i'm already over my limit for sugar this week
16:02:00 <gog> YOLO
16:02:00 <zid> why do you have a sugar limit
16:03:00 <sakasama> Why is it a weekly limit, too? I don't think diabetes works that way.
16:03:00 <gog> it's not diabetes
16:03:00 <gog> just trying to cut back but not limit myself entirely
16:04:00 <zid> I have to add sugar to things to not wither away
16:04:00 <sakasama> Also, isn't the meaning of YOLO usually in the implication that one should abandon restrictions in order to experience more?
16:04:00 <gog> i mean i am in this case
16:06:00 * sakasama contemplates the purchase of an ice cream maker.
16:07:00 <Ermine> YOLO indeed
16:08:00 <gog> do it
16:09:00 <Ermine> restraint is overrated
16:15:00 <zid> man, I want a vegan bbq
16:15:00 <zid> I could murder some toast rn
16:16:00 <gog> i had mushroom and butter bruschetta for lunch
16:17:00 <zid> is that middle class toast
16:18:00 <heat> most definitely
16:18:00 <gog> yes
16:18:00 <gog> it's unnecessarily fancy toast
16:19:00 <zid> do you still get half a pack of butter
16:19:00 <zid> or are the mushrooms in lieu
16:19:00 <gog> alongside
16:21:00 <heat> gog, do you speak like a southern californian girl
16:21:00 <zid> omg like, totally?
16:21:00 <heat> totallyyyyyyyyyyyyy
16:23:00 <zid> heat speaks like a chatbot
16:24:00 <heat> most certainly
16:24:00 <heat> if you speak with me for long enough I also turn racist, as a good chatbot would do
16:24:00 <zid> can confirm
16:26:00 <gog> omg i do noooooot
16:26:00 <gog> staaap it
16:30:00 <zid> speaking of heat being a racist, I need to walk over to manus at some point
16:45:00 <Ermine> What is is special in how southern californian girl are speaking?
16:45:00 * Ermine wants to hear
16:46:00 <Ermine> s/girl/girls/
16:48:00 <gog> Ermine: vocal fry, syllable elongation
16:48:00 <gog> vowel shifting in a language that doesn't need it
16:48:00 <gog> oh may gaaaaaahd
16:49:00 <gog> watch the film "Clueless" for an instruction in 90's valley girl culture
16:49:00 <heat> https://www.youtube.com/watch?v=mIBg-w6TNLE&t=2m30s
16:49:00 <bslsk05> www.youtube.com <no title>
16:49:00 <heat> this is perfect
16:50:00 <gog> yes, spot on
16:51:00 <heat> in 2023 you need to pair any of this with poorly pronounced starbucks drinks and bougie foods
16:51:00 <heat> like a mushroom and butter bruschetta
16:51:00 <Ermine> gog, heat: thank you
16:54:00 <heat> Ermine, join a trendy SF company/startup and you'll get the SF mocha latte valley girl vibes very quickly
16:54:00 <gog> wish it was still 2013 so i could go get a north face vest to go with my leggings and uggs
16:54:00 <gog> oh oh and a live laugh love tat
16:58:00 <heat> on the other hand "name's paul, from newcastle, luv me footy, luv going down to the pub with the lads, luv me pints, 'ate the french, 'ate the irish" is the absolute reverse valley girl
16:59:00 <zid> that's not a newcastle accent
17:01:00 <heat> how do you type a newcastle accent
17:01:00 <heat> to me bald fat englishmen sound exactly the same m8, sorry
17:02:00 <zid> add "you know" 10 times
17:02:00 <zid> //a went duːn ðə tuːn ənd bɔːt a ʃɔːt//
17:02:00 <zid> https://www.uv.es/anglotic/accents_of_english/01/examples_of_geordie.html
17:02:00 <bslsk05> www.uv.es: Examples of Geordie | English Accents
17:04:00 <heat> it sounds funkier than I remember
17:05:00 <zid> also every third word should be knobhead
17:17:00 <gog> missing manchester
17:17:00 <gog> my fav english accent
17:58:00 <zid> Right, done, fucking brexit making me do arts and crafts
20:23:00 <heat> mjg, hello, are hardening checks on memcpy/copyin/etc prohibitively expensive?
20:38:00 <mjg> heat: yea
20:38:00 <mjg> they add massive overhead to the routine, but you wont know if it sucks as is
20:38:00 * mjg gestures at rep
20:39:00 <mjg> perhasp smap-shafted copy user is tolerable
20:39:00 <mjg> with the extra work
20:40:00 <heat> that sucks
20:41:00 <heat> did you test the linux usercopy hardening stuff?
20:41:00 <heat> or some freebsd stuff that definitely sucks?
20:41:00 <mjg> linux has usercopy hardening
20:41:00 <mjg> and it shows on the profile
20:42:00 <mjg> snmalloc shitters wanted "memcpy" hardening and they downplayed the cost
20:42:00 <mjg> which appears to be at least 40% for most common copies
20:42:00 <heat> what's snmalloc?
20:42:00 <heat> old UNIX thing?
20:43:00 <heat> ah no, new microsoft malloc?
20:43:00 <mjg> https://github.com/microsoft/snmalloc/blob/main/docs/security/GuardedMemcpy.md
20:43:00 <bslsk05> github.com: snmalloc/GuardedMemcpy.md at main · microsoft/snmalloc · GitHub
20:43:00 <mjg> they missed the part where their malloc suckkz
20:43:00 <mjg> erm, memcpy
20:43:00 <mjg> thye are comparing *their* bad memcpy vs their bad memcpy + checks, which results in an artificially lowered cost
20:44:00 <mjg> as i noted several times, every time you get apaper or somethin' with perf claims, yuo have to expect they are lying
20:44:00 <heat> ye but is it measurable?
20:44:00 <mjg> > The worst regression is for redis with a 2-3% regression relative to snmalloc running without memcpy checks.
20:45:00 <mjg> and that's with their already shafted memcpy
20:45:00 <mjg> so real regression would be closer to 4
20:49:00 <heat> 4%?
20:49:00 <heat> because if so, that's super cheap, i'll take it
20:50:00 <heat> in fact linux is probably much better
20:50:00 <heat> struct page *page = &page_map[(addr - PAGE_OFFSET) >> 12];
20:50:00 <heat> and now you have all the slab data you may ever want
20:51:00 <mjg> you have to assume there is other perf loss all over, so 4 is still downplaying it vs a codebase not doing stupid shit
20:51:00 <mjg> but you do you
20:52:00 <zid> heat: your bait to make him say pessimal isn't working
20:52:00 <zid> try a new strat
20:52:00 <moon-child> rewrite it in python(tm)
20:53:00 <mjg> or add a zero cost abstraction
20:53:00 <moon-child> lol
20:54:00 <heat> are you trolling me
20:55:00 <heat> "vs a codebase not doing stupid shit"
20:55:00 <heat> hey guys, we fixed security vulnerabilities by not doing stupid shit
20:55:00 <sortie> I don't do stupid shit all the time and it works
20:56:00 <moon-child> I have not done stupid shit _at least_ 3 times
20:57:00 <moon-child> possibly 4
20:57:00 <heat> what if we could pay all this cost at compile time
20:57:00 <heat> with some oxidation-related language
20:57:00 <heat> ruuuuuuuuuuuuuuuuuuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUST
20:58:00 <mjg> did someone say fearless concurrency?
20:58:00 <sortie> Now you're just naming currencies after Taylor Swift eras
20:58:00 <heat> the fearlesslest way to do concurrency is to have a big kernel lock
20:59:00 <heat> or is it fearlessmost
20:59:00 <moon-child> that wasn't very concurrency of you
20:59:00 <heat> i think it's fearlessmost
20:59:00 <mjg> OpenRust would do fearless by having 1 thread
21:03:00 <heat> being fast is insecure, too much headroom for races
21:04:00 <\Test_User> be so slow that nothing can comprimize the system - unplug it
21:04:00 <heat> and boy you don't want to be racist, or the suckless devs knock at your door with a brand new tiki torch
21:08:00 <heat> mjg, https://github.com/microsoft/snmalloc/commit/c304ddfcdbf0040b2fdb605aa1cf1a7b71d41182
21:08:00 <bslsk05> github.com: Remove OpenBSD from CI (#599) · microsoft/snmalloc@c304ddf · GitHub
21:08:00 <heat> they cant catch a break
21:12:00 <heat> https://reviews.freebsd.org/D24645
21:12:00 <bslsk05> reviews.freebsd.org: ⚙ D24645 sched_ule: rate limit work stealing
21:12:00 <heat> seriously? depessimize?
21:12:00 <mjg> heat: i had seen it
21:13:00 <mjg> what's up with the ule omment
21:13:00 <heat> depessimize mate
21:14:00 <heat> you typing: "optimi... *too positive* *deletes word*"
21:17:00 <mjg> learn some basic language
21:17:00 <mjg> dag
21:18:00 <mjg> something is *sensible* and is made faster -> optimized
21:18:00 <mjg> something performs like i shit and is made faster -> depessimized
21:18:00 <mjg> in the above case we are dealin' with the latter
21:22:00 * Ermine is pessimalist
21:49:00 <gog> hi
21:50:00 <heat> gog
21:50:00 <gog> no
21:50:00 <pog> i'm poggin
21:50:00 <heat> goggers
21:53:00 <zid> pogmatic
21:53:00 <zid> hydropogic
21:54:00 <zid> greased pogming
21:55:00 <mjg> > Glitches and Braindamage
21:55:00 <mjg> actual section in termcap(5)
21:56:00 <moon-child> at least they're honest
21:56:00 <mjg> usr.bin/tip/tip/tip.c: /* XXX preserve previous braindamaged behavior */
21:57:00 <mjg> well well
21:57:00 <heat> mjg, bruh: https://twitter.com/ignatkn/status/1625112576303456256
21:57:00 <bslsk05> twitter: <ignatkn> Sometimes you find weird #Linux things https://linux.die.net/man/8/pam_rps https://pbs.twimg.com/media/Fo2POvDXsAItSSg.png https://pbs.twimg.com/media/Fo2PRdpWcAQIYvc.png
21:58:00 <zid> I saw that the other day somehow
21:58:00 <zid> lots of pam stuff is like.. internal only and the pam people know how to use it and what for
21:58:00 <heat> yeah i did send you this
21:59:00 <heat> yeah but, I mean, if its internal then *why have a manpage*??
21:59:00 <zid> so you can look it up and found out it's internal :P
21:59:00 <zid> not that there's no docs
22:06:00 <mjg> does this ship with pam by default for people to enable
22:07:00 <heat> mjg, gotta hand it to you, freebsd path resolution stuff (and open(2) stuff in general) is pretty damn POSIX compliant
22:07:00 <mjg> lol
22:07:00 <heat> not even linux is this correct
22:07:00 <mjg> "correct"
22:08:00 <heat> nor net-ohhurrdurrwelovePOSIX-bsd
22:08:00 <mjg> uh?
22:08:00 <mjg> i would expect most accidents to have stayed
22:08:00 <heat> as far as I've heard netbsd has some fame for taking POSIX correctness seriously
22:08:00 <mjg> what's your test
22:08:00 <heat> https://gist.github.com/heatd/ef23933ec1ee38107d3c779643c2a81b
22:08:00 <bslsk05> gist.github.com: namei.c · GitHub
22:09:00 <mjg> what's net output
22:09:00 <heat> wdym
22:10:00 <mjg> > Linux returns -EISDIR if dir, else creates a file and *RETURNS AN ERROR (ENOTDIR)*. ?
22:10:00 <mjg> wut
22:10:00 <heat> yep
22:10:00 <mjg> output from netbsd is what i asked
22:10:00 <mjg> you should probably reoprt
22:10:00 <heat> yeah i'm thinking of just fixing it myself, should be Simple(tm) and fun
22:11:00 <mjg> ye i meant with a patch :)
22:11:00 <mjg> ;s probably going to be a one ilner
22:11:00 <mjg> lol confirmed
22:11:00 <mjg> wtf
22:11:00 <mjg> great find mate
22:12:00 <heat> lol thanks
22:13:00 <mjg> so dpaste what you got from netbsd
22:13:00 <heat> dpaste what exactly?
22:14:00 <heat> this prog only has output if it fails and dies (thru err())
22:14:00 <mjg> so where does it die on net
22:14:00 <heat> it's a test suite in the horrible classical UNIX/BSD sense of making up some half-assed scripts
22:14:00 <heat> https://gist.github.com/heatd/ef23933ec1ee38107d3c779643c2a81b#file-namei-c-L481
22:14:00 <bslsk05> gist.github.com: namei.c · GitHub
22:15:00 <heat> wait what did you confirm exactly?
22:16:00 <mjg> open("/tmp/lolcrap", O_CREAT | O_DIRECTORY | O_RDONLY, 0644);
22:16:00 <mjg> created a reg file
22:17:00 <mjg> may i suggest you create a directory under which you perform these tests
22:17:00 <heat> 1) yes 2) does need some extra effort 3) the prog cleans up
22:18:00 <heat> but yes mkdtemp or something would be a good idea
22:18:00 <mjg> werid tho, i would expect some test suites like ltp to test for this shit
22:18:00 <heat> dude not even POSIX tests for this
22:19:00 <heat> macOS is POSIX certified and its where I found the most problems
22:19:00 <heat> ???
22:19:00 <mjg> the old version is certified
22:19:00 <mjg> but perhaps you are misinterpreting the standard?
22:19:00 <heat> yes, I've had people test 10.4, 10.5, and current macOS
22:20:00 <heat> considering linux passes 99% of tests, freebsd passes 100%, and netbsd passes 99%, I doubt it
22:20:00 <heat> in fact, I directly quote it in some good bits
22:20:00 <heat> oh and sortix also passes 99% of what's implemented
22:21:00 <mjg> note none of these are compliant
22:21:00 <mjg> :p
22:21:00 <heat> they are not
22:21:00 <mjg> how is onyx doin
22:21:00 <mjg> did it crash
22:21:00 <heat> i developed this exactly to find problems
22:22:00 <heat> so Onyx... it do be doing
22:22:00 <mjg> again, good prog , but i would assume this kind of stuff is already available
22:22:00 <heat> part of the refactoring i'm trying to do to my namei code
22:23:00 <netbsduser> i love namei
22:23:00 <zid> I love ktamari
22:23:00 <netbsduser> i borrowed a page from svr4 and decided that vnodes don't get a special caching scheme
22:23:00 <netbsduser> they get retained in name caches instead
22:25:00 <nortti> < mjg> note none of these are compliant ← haven't there been compliant linux distros recently?
22:25:00 <zid> disregard linux, acquire posix?
22:25:00 <zid> gnu plusix
22:26:00 <mjg> nortti: posix compliant? i never heardo f any, nr see any reason for sanyone to make one
22:26:00 <heat> i think old RHEL was posix compliant
22:26:00 <nortti> unix certified
22:26:00 <heat> alpine is also On The Path I think
22:26:00 <heat> sorry, adelie?
22:26:00 <Ermine> heat: BusyBox is not compliant
22:27:00 <heat> anyway it's how I found out about this bug: https://cgit.adelielinux.org/musl/tree/src/unistd/renameat.c?h=posix-rebased
22:27:00 <bslsk05> cgit.adelielinux.org: renameat.c « unistd « src - musl - The musl libc tree (WIP / dev branches)
22:27:00 <Ermine> Adelie strives indeed
22:27:00 <heat> mjg, two fstatat's for a rename!
22:27:00 <heat> and that's the fast path m8
22:28:00 <mjg> rename is a slow path
22:28:00 <mjg> :X
22:29:00 <heat> is current linux slow here?
22:29:00 <heat> I think it just takes seqlocks now, right?
22:29:00 <zid> rename is not a hot path
22:29:00 <zid> wake me up when my system slows down cus rename is too slow
22:32:00 <d316d> have there been any practical osdev book releases in 2023? i remember there was one that looked promising that was yet to be published but i dont remember the name
22:32:00 <d316d> what is most complete practical book on x64 osdev?
22:32:00 <d316d> i have read all the osdev wiki books
22:33:00 <d316d> ones that matter anyway
22:33:00 <d316d> is there better tuts than poncho series?
22:33:00 <netbsduser> d316d: i don't know of such a book
22:33:00 <zid> osdev is osdev
22:34:00 <zid> the details of the arch are in the manual for the arch
22:34:00 <netbsduser> and the tutorials all mysteriously stop midway through the dull details of hardware initialisation before getting on to the real osdev
22:34:00 <zid> if you just want the "x86_64 parts" then the intel sdm has it all, well organized
22:34:00 <d316d> netbsduser so theres no book on real osdev?
22:34:00 <zid> otherwise you can read stuff from the 80s about microkernels and monolithic kernels and scheduling and stuff based on minix or whatever it is they wrote
22:35:00 <zid> the only real difference is smp
22:35:00 <netbsduser> d316d: there are plenty, try Design & Implementation of the FreeBSD Operating System, Windows Internals, or The Magic Garden Explained
22:35:00 <d316d> i have read first two already
22:35:00 <netbsduser> that's very erudite
22:35:00 <zid> you're more well read than most of the rest of us already then :P
22:36:00 <netbsduser> for a first stab at the game i think picking a book like one of these and religiously following it is useful
22:36:00 <d316d> i didnt particularly understand every detail tho
22:36:00 <zid> getting your hands dirty teaches you 10x as much imo
22:51:00 <heat> netbsduser, i would say the opposite
22:51:00 <heat> following something religiously is an easy way to get a bad clone of whatever you're following
22:51:00 <mjg> and that thing is probably already bad :X
22:52:00 <heat> yes, which is why you get the Solaris Internals book
22:52:00 <heat> guaranteed quality
22:58:00 <mjg> check out how solaris does mount point traversal
23:06:00 <moon-child> maybe
23:06:00 <moon-child> if all the things are bad
23:07:00 <moon-child> it's a sign that it's impossible to make good things and we should stop trying
23:22:00 <zid> stop trying to make things, or stop trying to make good thing
23:40:00 <klange> there is a post in the forum moderation queue where someone is trying to write an EFI application in assembly and I... can't even.
23:40:00 <zid> That sounds like a good weekend project
23:40:00 <zid> if you already know both assembly and efi but.. I doubt that's really the case
23:43:00 <moon-child> in order to become ONE WITH THE MACHINE i write EFI APPLICATIONS IN ASSEMBLY and put the CPU UP MY ASS because me and my MACHINE ARE ONE
23:44:00 <zid> yea that's the reality of most people who are writing assembly
23:44:00 <heat> Thank you moon-child, very cool!
23:44:00 <zid> I nEedD To Do iT in AssemBly BecaAuse The NSA arE reAding My CompiILER
23:45:00 <zid> my teeth won't stop hurting unless I resolve the EFI conspiracy
23:49:00 <klange> the nsa are reading your assembler, too
23:54:00 <moon-child> lol
23:54:00 <zid> don't tell them that
23:54:00 <moon-child> apparently nasm supports (rax+1)*8 as an address
23:54:00 <zid> you'll get queue entries where they're doing it in machine code instead