Search logs:

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=24&m=4&d=10

Wednesday, 10 April 2024

00:40:00 * gog poops
09:16:00 <zid> https://cdn.discordapp.com/attachments/232377444877729792/1227466265539514479/image0.png?ex=6628820a&is=66160d0a&hm=513e4e1f62f90eca7ecc998427eb3fca4a4b6ba2660c0441dbf4089811ab9aab&
13:48:00 <kof673> > you could argue it is BLOATED (re: templates etc. the other day) not arguing either way, but there is surely some level of "compiler complexity" and run-time, for JITting and similar, etc. this is just to say, output code size is just part of the equation (but maybe the only part that one cares about)
13:50:00 <kof673> whatever values of "BLOATED" will differ in dynamic world versus "compile once, ship the binary"
13:55:00 <kof673> likewise, some level of "boostrap complexity" too, again, different people may or may not care
13:58:00 <kof673> https://ziglang.org/news/goodbye-cpp/
13:58:00 <bslsk05> ​ziglang.org: Goodbye to the C++ Implementation of Zig ⚡ Zig Programming Language
14:01:00 <zid> let the bitrot begin
14:02:00 <Ermine> mediatek is BLOATED
14:02:00 * gog rots
14:02:00 <gog> fucking kill me
14:02:00 <zid> if you're rotting I fear that ship may have sailed
14:02:00 <gog> uh gangrene
14:04:00 <Ermine> that means you're partly dead
14:04:00 <zid> https://cdn.discordapp.com/attachments/1118192192440250368/1227620187478429756/image.png?ex=66291164&is=66169c64&hm=5974dfe9e41f5ff623457d0ab24fb3ac93eb5a6b6855870a053e3ba659ed356b&
14:04:00 <zid> k I beat factorio
14:04:00 <zid> I have bots
14:04:00 <gog> sick
14:08:00 <kof673> what i mean is a bloated compiler maybe can output less bloated code :)
14:08:00 <kof673> time/space tradeoff
14:09:00 <kof673> and if all you care about is the final binary size, that "bloat" may be fine
14:17:00 <kof673> re: duplicate code sequences, make me think if you inlined everything or otherwise collapsed to a single function, would that kill performance having to jump and shuffle things more? but, that would seemingly be a good fit for massive "code dedupe", but maybe only useful on "small" programs
14:17:00 <kof673> someone tell me why that is wrong thinking...somehow would want something where it can all be analyzed at once
14:17:00 <gog> it's going to depend a lot on locality
14:17:00 <gog> if the function you need to call isn't in cache, then it's got a larger cost than an inline
14:18:00 <kof673> *be analyzed as a whole, akin to a single function, even if it did not actually literally get rewritten such, whether "source" or "output"
15:44:00 <kof673> https://stackoverflow.com/questions/31043717/how-to-completely-bootstrap-ghc-cabal-from-source > I also discovered that I need cabal for which I need to install Haskell first. It seems It's the snake that bites its own tail...
15:44:00 <bslsk05> ​stackoverflow.com: linux - How to completely bootstrap GHC & cabal from source - Stack Overflow
15:57:00 <PapaFrog> Are there any good articles on how to structure your kernel? Like a best practice on what files to put in what directories.
16:02:00 <gog> you can do whatever you want or you can mimick an existing project
16:03:00 <gog> idk if there's a "best" practice
16:03:00 <gog> there's style preference and reflecting how the code is organized
16:03:00 <gog> for C a TU is a namespace-in-itself, so i tend to treat directories as hierarchies of namespaces
16:05:00 <PapaFrog> I currently have everything except for lib functions in one directory. lol
16:06:00 <zid> best practice for what
16:06:00 <gog> it's also going to depend on build system
16:06:00 <zid> and language
16:06:00 <gog> yes
16:06:00 <gog> for a small project one directory is probably fine
16:06:00 <zid> for javascript, just put everything in one giant file, everything else is pessimal
16:06:00 <gog> yes
16:06:00 <gog> i mean i wouldn't know i'm not a webdev
16:06:00 <PapaFrog> a JS kernel.. owwwww.
16:07:00 <zid> for C, you just reuse the structure for any other project, nothing special about a kernel
16:07:00 <PapaFrog> I think for right now, I will have src/, src/lib, and src/driver.
16:08:00 <gog> in my active tree i have api boot core lib service
16:08:00 <zid> and what probles are you having with that?
16:11:00 <PapaFrog> zid: Right now I have 15 source files in a directory.. I think it is a bit overwhelming.
16:11:00 <zid> overwhelming to do what?
16:11:00 <PapaFrog> Browsing.. finding what you are looking for.
16:14:00 <zid> I hate to know what you'd think of my filesystem then
16:14:00 <zid> but I'm afraid if 15 files is too many files, you may have to start catting your project's files together
16:14:00 <zid> linux has a few tens of thousands
16:16:00 <zid> monolithic kernel time (everything in one file)
16:18:00 <gog> ugh god no
16:18:00 <gog> more files better
16:18:00 <gog> if you're writing C having big files means more namespace pollution
16:18:00 <gog> gross
16:18:00 <gog> disgustang
16:19:00 <gog> and harder to work with because you have to keep coming up with more specific names for statics and private types
16:20:00 <zid> kernels aren't allowed statics :(
16:20:00 <zid> everything has to be TLS
16:20:00 <gog> oh yeah true
17:30:00 <geist> static functions though. big files means you can have lots of non global namespace functions in general
17:30:00 <geist> depending on how your code is structured
17:31:00 <zid> static linkage <3
17:31:00 <zid> static storage duration is the evil one
17:33:00 <geist> are you talking about outside of fiunctions or inside functions?
17:33:00 <zid> both of those have static storage duration, it's just a scope change
17:34:00 <zid> gog: https://i.imgur.com/PisQ3p7.jpeg
17:34:00 <bslsk05> ​i.imgur.com <no title>
17:44:00 <zid> gog: https://i.imgur.com/PisQ3p7.jpeg
17:44:00 <gog> ooof
17:45:00 <gog> i feel attacked and validated simultaneously
18:55:00 <sham1> Good vibes only
19:52:00 <ghostbuster> is darwin/xnu the only modern descendant of Mach?
19:53:00 <nortti> depends on whether you could hurd as modern
19:54:00 <heat> webdev
19:54:00 <heat> i mean direct descendent yeah probably together with GNU hurd
19:59:00 <ghostbuster> .. is hurd still alive? wikipedia says last release 2016 which is still more recent than i would've guessed
19:59:00 <nikolapdp> it is actually, they are porting to x64 :)
20:08:00 <ghostbuster> looks like there were also attempts to port hurd away from mach
20:10:00 <ghostbuster> and xnu is a hybrid of bsd and mach, right? mach for tasks and virtual memory but then a bsd posix layer on top of that?
20:14:00 <heat> hurd alive lol
20:14:00 <heat> i mean, one has to define alive
20:14:00 <heat> i would wager onyx is more alive than hurd in most metrics, with the same amount of users
20:16:00 <nortti> debian gnu/onyx when?
20:17:00 <heat> i'm a debian hater so never
20:17:00 <heat> fedora gnu/onyx some day
20:17:00 <nortti> does fedora care about anything other than linux?
20:17:00 <nortti> I thought debian was pretty alone in that
20:32:00 <heat> not really
20:32:00 <heat> does debian?
20:32:00 <heat> they "care"
20:32:00 <heat> with many ""
20:32:00 <zid> does hurd support keyboards
20:33:00 <heat> no
20:33:00 <heat> typewriters only
20:51:00 <zid> feature parity with onyx then
21:10:00 <Ermine> users as those who daily drive the system?
21:11:00 <gog> hi
21:11:00 <Ermine> hi gog
21:12:00 <Ermine> ghostbuster: hurd had release in 2021 or so
21:12:00 <Ermine> heat: btw remember, we're competing with sortix atm
22:09:00 <netbsduser> ghostbuster: it's mach as it was originally
22:09:00 <netbsduser> mach was built inside a 4.3BSD kernel and subsumed some of its responsibilities
22:10:00 <netbsduser> later it was able to build and run independently, but NeXTSTEP predated that move
22:13:00 <heat> Ermine: we compete with everyone
22:13:00 <heat> but i'd say windows is our main competitor
22:14:00 <heat> year of the onyx desktop is near
22:14:00 <heat> watch out
22:18:00 <wantyapps> Hey everyone o/
22:18:00 <wantyapps> Has anyone ever tried porting glibc/something close to it, to an embedded system?
22:18:00 <nortti> embedded system in what sense?
22:19:00 <wantyapps> nortti: I just finished writing a basic kernel with GDT, IDT, etc.. (keyboard works, shell exists) and wonder if I should try to compile some more... heavy software _on it_
22:19:00 <wantyapps> for example, port vim and nvim
22:19:00 <wantyapps> (excuse my (probably) bad idea, it's 01:19 here)
22:20:00 <nortti> you don't need glibc for that, but you will likely be missing stuff in e.g. your terminal emulation that they'd want
22:20:00 <wantyapps> I am working on a POSIX-compliant shell at the moment, and some more stuff for proper emulation. But again, this is a relatively fresh kernel
22:21:00 <wantyapps> anyhow
22:21:00 <wantyapps> Good night nortti
22:21:00 <wantyapps> cya this time tomorrow
22:22:00 <heat> define embedded
22:23:00 <heat> glibc can run anywhere if you have enough memory and /probably/ 32-bits
22:23:00 <wantyapps> heat: Honestly, I don't know. I probably meant independent, not embedded
22:23:00 <heat> i have a glibc port
22:23:00 <wantyapps> dang, that's cool
22:23:00 <heat> i have a musl port
22:24:00 <heat> i've ported a bunch of 3rd party software, sortie has ported a *lot* of 3rd party software, managarm AFAIK also has a lot of ported software
22:24:00 <wantyapps> Although I did read on r/osdev that porting glibc/musl isn't ideal because of compatibility and just the amount of effort
22:24:00 <heat> including wayland I think?
22:24:00 <heat> my system is pretty similar to linux so there isn't a lot of effort to be made
22:24:00 <wantyapps> that's _genuinely_ cool
22:25:00 <heat> it is similar to linux because 1) i like linux 2) linux tends to be _okay_ 3) it tactically takes less effort to be a linux-ish system
22:26:00 <wantyapps> Understandable. Do you run linux on your main machines?
22:26:00 <heat> yes
22:26:00 <wantyapps> I run arch and others, but I'm starting to think about moving to BSD
22:26:00 <heat> like if you ask the freebsd ppl for a chromium port, they'll point you to their linuxulator that tries hard to pretend to be linux
22:26:00 <wantyapps> for the sake of it
22:26:00 <heat> it Just Works
22:26:00 <wantyapps> huh.
22:27:00 <heat> actually for chromium they might have a native port
22:27:00 <heat> but for most shit (like vscode lets say) they rely on this
22:27:00 <wantyapps> but I get your point
22:27:00 <wantyapps> Guess I won't be moving soon, I am kinda dependent on linux native packages
22:27:00 <wantyapps> also, It's nice being a linux contributor... working on linux :p
22:28:00 <heat> linuxulator is a binary-level compat layer even, because the base BSD system is ofc very similar to linux as well, the system calls are very similar
22:28:00 <heat> mostly because of historical raisins but now tactically too as there's little to port
22:28:00 <MrBonkers> Managarm has indeed a metric truckload of ports
22:29:00 <wantyapps> I need to read more about BSD before considering it as an option.
22:29:00 <MrBonkers> including wayland yes, but also stuff like GTK and Qt and there’s work on GNOME and KDE stuff
22:29:00 <heat> MrBonkers: is there a port list?
22:29:00 <wantyapps> Although I am, again, pretty dependent on the native linux workflow, so... won't be leaving soon
22:29:00 <heat> also mlibc mlibc mlibc
22:29:00 <heat> just making sure you get pinged enough :P
22:29:00 <wantyapps> heat: mlibc?
22:29:00 <MrBonkers> :P
22:30:00 <MrBonkers> yeah, in my head. Or actually
22:30:00 <MrBonkers> https://reporter.electrode.codes/
22:30:00 <bslsk05> ​reporter.electrode.codes: Managarm Package Reporter
22:30:00 <MrBonkers> Lists 286 ports currently known (it pulls information from the Github repo and our build server)
22:31:00 <MrBonkers> wantyapps: yeah mlibc is our C library
22:31:00 <heat> you need to update your xz to xz 5.6.1
22:31:00 <heat> it contains a lot of interesting important features
22:31:00 <MrBonkers> We build from VCS for the most part anyway :P
22:31:00 <heat> are you making a stable release? do it quick with xz 5.6.1
22:31:00 <MrBonkers> but no thanks
22:31:00 <wantyapps> MrBonkers: sorry for the stupidity. Who's C library?
22:31:00 <wantyapps> :)
22:32:00 <heat> mangarm's
22:32:00 <heat> managarm
22:32:00 <heat> 's
22:32:00 <wantyapps> gotcha
22:32:00 <MrBonkers> the C library in use by The Managarm Project (https://github.com/managarm/mlibc)
22:32:00 <bslsk05> ​managarm/mlibc - Portable C standard library (106 forks/755 stargazers/NOASSERTION)
22:32:00 <wantyapps> and managram is an Operating System?
22:32:00 <wantyapps> nevermind - I'll RTFM
22:32:00 <MrBonkers> sure is
22:32:00 <wantyapps> good night everyone!
22:33:00 <wantyapps> cya later
22:33:00 <MrBonkers> good night!
22:33:00 <wantyapps> asm volatile("hlt")
22:33:00 <heat> is The Managarm Project some sort of copyright asssignment thing you have
22:33:00 <heat> cuz that sounds very googley
22:33:00 <heat> with a CLA too
22:33:00 <MrBonkers> As far as I’m aware that isn’t copyrighted
22:33:00 <MrBonkers> (I sure hope it isn’t cuz we don’t have it :)
22:34:00 <MrBonkers> and we don’t do CLA’s either. Just behave lol
22:34:00 <heat> CLA != CoC btw
22:34:00 <MrBonkers> We have neither
22:34:00 <heat> CLA is basically what you sign when companies don't know how to do open source
22:35:00 <MrBonkers> Yeah
22:35:00 <Ermine> heat: Windows is a boss
22:35:00 <wantyapps> just popping in: Looked at the github for s/managram/managarm and it looks fantastic! Even glxgears! will absolutely read the code thorughly
22:35:00 <wantyapps> gniht
22:35:00 <wantyapps> gnight
22:35:00 <Ermine> final boss even
22:35:00 <heat> onyx is windows' final boss
22:36:00 <MrBonkers> Ah the times where glxgears was top level
22:36:00 <MrBonkers> nowadays I flex gnome-calculator and WebKitGTK. Maybe the old chromium screenshot (that bitrotted away unfortunately)
22:36:00 <heat> do you have drm running on some server thing i assume managarm has
22:37:00 <heat> *probably* not the kernel
22:37:00 <Ermine> when you play uno inverse card
22:37:00 <MrBonkers> (KDE equivalent of gnome calculator is also a thing locally if you prefer QT)
22:37:00 <MrBonkers> DRM runs in userspace yes
22:37:00 <heat> do you have a link?
22:37:00 <heat> i've been meaning to port DRM Eventually
22:37:00 <MrBonkers> Gimme a sec, I can link you the code
22:37:00 <wantyapps> I remember looking at an 11-year-old post about #osdev @ freenode
22:38:00 <wantyapps> it was about a competition to see who ports glxgears the fastest
22:38:00 <qookie> heat: drm is a shared library linked into the graphics driver servers :^)
22:38:00 <MrBonkers> https://github.com/managarm/managarm/tree/master/core/drm
22:38:00 <bslsk05> ​github.com: managarm/core/drm at master · managarm/managarm · GitHub
22:38:00 <Ermine> heat: what about alsa?
22:38:00 <MrBonkers> And libdrm and friends obviously
22:38:00 <heat> AUDIO IS FOR SUCKERS
22:38:00 <Ermine> ????
22:39:00 <heat> MrBonkers: oh you have your own drm
22:39:00 <heat> yeah that's not going to be me :))
22:40:00 <Ermine> oh c++
22:40:00 <heat> i'm looking to just get linux drm and cover it with a layer of my own crap and let it rip
22:40:00 <MrBonkers> We are compatible with Linux DRM but we did write our own heah
22:40:00 <heat> it's slightly annoying because of my own APIs are simply slightly different, or missing, or are in C++ (radix fucking trees)
22:40:00 <MrBonkers> *yeah
22:41:00 <heat41> this web client suxz
22:41:00 <wantyapps> heat41: weechat gang
22:41:00 <wantyapps> in tty rn
22:41:00 <heat41> MrBonkers: your openssl is really out of date
22:41:00 <wantyapps> inside tmux
22:41:00 <heat41> yeah but im on windows
22:42:00 <wantyapps> ohh
22:42:00 <wantyapps> lul
22:42:00 <heat41> and i'm not installing an irc client on windows because THATS FOR NERDS
22:42:00 <MrBonkers> yep I really need to run a bunch of updates on the stack
22:42:00 <wantyapps> correct. But why windo*s?
22:42:00 <MrBonkers> too busy currently fighting gobject-introspection but after that it’s probably time for updates
22:43:00 <MrBonkers> or fixing InitWare (systemd fork ish written by netbsduser)
22:43:00 <heat81> this is where Ermine asks me "onyx systemd port when" and i say "actually some day maybe"
22:44:00 <MrBonkers> I always said (and I stand by it). Managarm will get a systemd port
22:46:00 <Ermine> heat41: this is the kind of requests I do while being drunk
22:46:00 <heat> Ermine: oh yeah right you use alpine
22:46:00 <heat> openrc Some Day
22:46:00 <heat> s6-init never
22:47:00 <heat> you'll have to maintain it out of tree
22:47:00 <Ermine> openrc is a kind of request I do after eating lsd
22:47:00 <heat51> and i'll have to fuck off because this client is so borked. web.libera.chat pls fix
22:48:00 <heat51> you know what irc client works flawlessly? irssi on onyx
22:48:00 <MrBonkers> Hexchat on Managarm works fine and is fancy GTK2! (Also like the only reason I keep GTK2 around in Managarm)
22:48:00 <Ermine> as for s6... you're just hator
22:49:00 <Ermine> windows subsystem for onyx when
22:50:00 <heat51> they're too busy with AI to acknowlege their true rival
23:10:00 <netbsduser> s6 is probably quite portable
23:10:00 <netbsduser> skarnet will insist on posixy behaviour though
23:10:00 <netbsduser> he would undoubtedly be loathe to tolerate deviation unless forced to by a platform's popularity