<zid>
I lost my config to the german police service in hesse
eck has quit [Ping timeout: 252 seconds]
vilya_ has joined #osdev
vilya has quit [Ping timeout: 276 seconds]
eck has joined #osdev
<heat>
i fucking hate rewriting std::vector for the 3rd time in a single evening
<heat>
#JustCThings
<zid>
Have you considered doing it right the first time
<heat>
the problem is that there's no way to reuse things easily
<heat>
so you handroll your own realloc loop
<zid>
if you just need an generic solution, write it as push and pop to begin with and have push check if it needs to realloc
<heat>
you reminded me that i wrote something kind of like this for aoc
<heat>
OTOH, it's in K&R-ish C
<zid>
That's imo one of the huge benefits of C, if you write it nicely once, you can just copy paste that shit along api boundaries and know precisely what it does and can do
<zid>
it can't do anything strange accidentally
<zid>
if your entire interface is x_init(); x_push(); x_pop(); with a 3 line header file, it can't.. shit on other structures, fuck with global namespaces, blah blah
<heat>
right, but if you want this generic, you probably want this inlined in a header
<zid>
python "What if I maade addition different from now on?" :P
<zid>
only if you need type polymorphism beyond what void * can offer
<zid>
which is.. rare, in practice
<zid>
or fixed with a 10 second ctrl-f
<zid>
much better than introducing weird -fcommon bugs
<zid>
I have a png.c that interfaces libpng that I literally just copy paste every time, sometimes it returns a struct {x, y, pixels}, sometimes it fills out a struct it's given, etc, takes 10 seconds to change that. I can guarentee someone has written that same code but where they provide inherited virtual nonsense overlord bananas so they can inject {this.x = png.x; this.y = png.y; ..} or whatever
<zid>
they want, instead
<zid>
makes my mind go blank
zetef has quit [Ping timeout: 256 seconds]
Left_Turn has quit [Read error: Connection reset by peer]
zxrom has quit [Ping timeout: 264 seconds]
eck has quit [Ping timeout: 252 seconds]
goliath has quit [Quit: SIGSEGV]
eck has joined #osdev
joe9 has joined #osdev
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 255 seconds]
gabi-250_ has quit [Remote host closed the connection]
gabi-250_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
netbsduser has joined #osdev
wand has quit [Ping timeout: 240 seconds]
netbsduser has quit [Ping timeout: 256 seconds]
rpnx has quit [Quit: My laptop has gone to sleep.]
eck has quit [Ping timeout: 256 seconds]
eck has joined #osdev
rpnx has joined #osdev
heat has quit [Ping timeout: 276 seconds]
gabi-250_ has quit [Ping timeout: 240 seconds]
netbsduser has joined #osdev
gabi-250_ has joined #osdev
zxrom has joined #osdev
qxz2 has joined #osdev
netbsduser has quit [Ping timeout: 256 seconds]
vdamewood has joined #osdev
eck has quit [Ping timeout: 256 seconds]
eck has joined #osdev
GeDaMo has joined #osdev
zetef has joined #osdev
gbowne1 has quit [Quit: Leaving]
rpnx has quit [Quit: My laptop has gone to sleep.]
rpnx has joined #osdev
[Kalisto] has quit [Quit: Ping timeout (120 seconds)]
[Kalisto] has joined #osdev
netbsduser has joined #osdev
gogs has joined #osdev
Left_Turn has joined #osdev
vdamewood is now known as vinleod
vinleod is now known as vdamewood
rpnx has quit [Quit: My laptop has gone to sleep.]
<kazinsal>
in the early 90s there was a general assumption of what a "unix system" was
<kazinsal>
especially a sysv one
<kazinsal>
being able to log in and get an X environment was part of that
<kazinsal>
standardizing some X bits in your sysv universe made sense
flom84 has quit [Ping timeout: 256 seconds]
<kazinsal>
keep in mind that spec was first put together in 1990
<Ermine>
I don't get it. From unix perspective, X server is yet another daemon, and stuff like libX11 is yet another library. Nothing new as far as ABI is concerned
joe9 has quit [Quit: leaving]
<zid>
That is a strange pdf
<zid>
termio, x11 etc
<zid>
TABLES AND FIGURES
Gurkenglas has quit [Quit: Client closed]
<kazinsal>
early unix standardization was weiiiird
<nortti>
I presume it was meant to be a kind of "if you write a program against this, it will run on any i386 sysv"?
<nortti>
in which case X11 is part of the ABI for desktop applications
Arthuria has joined #osdev
<kazinsal>
yeah, and it was specifically written to comply to the SCO SVR3 i386 platform
<zid>
it's an supplement for.. something, that'sf or sure
<kazinsal>
which is part of why the i386 SysV ABI has a bunch of crazy X11 stuff but nothing about other circa 1990 unix features like TCP/IP or the VFS syscall interface
<kazinsal>
those got ported into SVR4, and the SysV ABI doc is based on SVR3
<Ermine>
nortti: do you mean binary compatibility across compliant operating systems?
<nortti>
yes
<kazinsal>
it was a lot easier to implement that 30 years ago
netbsduser has quit [Ping timeout: 256 seconds]
<kof123>
semi-related https://www.xfree86.org/4.2.0/RELNOTES4.html happened later surely, and for modules > and makes it possible for the modules to be operating system independent (although not, of course, independent of CPU architecture)
<nortti>
aye, there used to be so many different x server implementations
<zid>
Ermine just mad that wayland is NONSTANDARD
<nortti>
I think I've actually even used some non-xorg x servers on linux, xvesa and xfbdev
<Ermine>
those are != xfree86 ?
<nortti>
aiui they were separate projects that were later ingested into xfree86
netbsduser has joined #osdev
zetef has joined #osdev
<nortti>
okay looks like there was a project to implement tiny X servers from scratch, but it was replaced pretty soon by a fork of xfree86, which was then remerged into xfree86 itself
Arthuria has quit [Read error: Connection reset by peer]
<kof123>
there is/was a java weird x and esound daemon too :D
<kof123>
probably missing many features IIRC
<kof123>
> JavaScript X Server - GitHub github.com › GothAck › javascript-x-server
<kazinsal>
I think the first one I fiddled with was Open Group X11R5
<kazinsal>
on a sparc machine
<Ermine>
Those seem to predate DRI stuff. Did they use stuff like iopl() to manage hardware?
<kazinsal>
might have been R6, the window manager I was working with was some OpenStep thing
<nortti>
Ermine: dunno about the exact implementation, but pretty much. the X server contained the graphics card drivers, and had to coördinate with the kernel console subsystem in some OS-specific manner. if it didn't work out (as for example on my first linux system) exiting X11 would leave you at a blank screen
<kof123>
afterstep ? wasn't enlightenment too ? tinyx i have some patch somewhere for like freebsd 10...just to build the library for remote over ssh
<nortti>
I think afterstep and enlightenment were just window managers?
<kof123>
yeah enlightenment i don't see any relation. see kazin "the window manager i was using" ...
<kof123>
windows had litestep but it was always crashy for me and i didn't really know what i was doing
<kazinsal>
looked it up, the wm was called "window maker" and apparently has some variously recent releases. looks the same as it did in '98
<kazinsal>
just looking at screenshots of it I've reflexively felt the mouse shortcuts for it
<kazinsal>
so that's definitely the one
<kof123>
https://github.com/Cougar/pwm i used that a long time ago > multiple client windows attached to a single frame and then when firefox and tabs started appearing i said "why?" :D
<bslsk05>
Cougar/pwm - PWM is a rather lightweight window manager that can have multiple client windows attached to a single frame. This feature helps keeping windows, especially the numerous xterms, organized. (0 forks/2 stargazers/NOASSERTION)
<kof123>
there used to be an old page with a bunch of pictures of WMs...it was kind of outdated at the time i think
<puck>
zid: oh the 1280x1024 one?
<kazinsal>
good ol 5:4
<puck>
i like it
<zid>
hmm firefox got rid of the menu I want
<kazinsal>
I kinda miss 16:10 but it's also nice having all my displays having the same ratio
<puck>
my current screen setup is 9:16 and 16:9
<zid>
oh it really is 1280x1024 weird, I must have nonsquare pixels
<zid>
I used 1280x1024 monitors for most of my life
<zid>
5:4 for most-of-life
<puck>
i should maybe get the 1280x1024 monitor i think i technically still havve
<zid>
it looks significantly taller than it is wide on my display
<zid>
I have one on my desk
<zid>
but I can't run it cus my gpu is too new
<puck>
dvi?
<zid>
they removed the ramdac after the 9 series
<zid>
I'd need a hdfury or something
<puck>
zid: btw, yeah, it looks very much taller than wider, but i think that's not a pixel ratio thing, it's just because all the windows are taller than they are wide
<zid>
actually idk what you'd even get these days, seems hdfury don't sell the nano anymore
<puck>
zid: ..what connector does your monitor even have
<zid>
vga ofc
<puck>
just get an hdmi to vga adapter??? :p
<zid>
Literally
<zid>
what I am talking about
<puck>
mine has dvi-i
<zid>
nvidia haven't given dvi-i since the 9 series
<puck>
well yeah it's just vga over dvi
<zid>
dvi-i is both
<zid>
dvi-a is vga over dvi
<zid>
dvi-d is hdmi over dvi
<puck>
not actually :p
<zid>
(analogue, digital)
<zid>
they're basically identical to vga na hdmi
<puck>
hdmi is a distinct protocol
<puck>
there's explicit dvi compat in hdmi
<zid>
hdmi is just a wrapper around what dvi-d carries
<kazinsal>
I think my 3080 has no RAMDAC
<zid>
that adds audio and shit
<puck>
kazinsal: i would love to see a 3080 with VGA out
<zid>
like how everything deep down
<zid>
is ntsc
<kazinsal>
it's just three DPs and an HDMI1
<zid>
If you peel off enough layers of the onion, smellvision 8k 3dtvs are just fancy ntsc :P
<puck>
..i think they're fancy vga
<zid>
ty bae
<puck>
ntsc is interlaced
Gurkenglas has joined #osdev
<puck>
tho i guess 3d signalling can be done interlaced too
<zid>
gamecubes supported progressive 60fps, which was nice of them, we actually went backwards for a while after that
<zid>
ps2 was interlaced 50hz in pal
<nortti>
< puck> there's explicit dvi compat in hdmi ← can you get a dvi signal out of the displayport-to-hdmi passive adapters (which use a displayport altmode where it sends hdmi compatible signals aiui)?
<puck>
nortti: ....yes
<zid>
DP++ yo
<zid>
The second + is for "plus dvi, bitches"
<puck>
iirc passive displayport to hdmi is just a thing that changes displayport signal levels to hdmi
<puck>
nortti: though, if you want dual link dvi you'll need the dvi -> two displayport y-splitter ca-no those don't actually exist but imagine
<nortti>
< puck> iirc passive displayport to hdmi is just a thing that changes displayport signal levels to hdmi ← huh, okay, I thought hdmi and displayport were fundamentally different protocols, DP being packet switched while hdmi is a continuation of the analogue video world with concepts like blanking interval
<puck>
nortti: yes, they are
<puck>
nortti: dual-mode displayport will output HDMI over the displayport link, and the adapter just level shifts it
<nortti>
ah
<zid>
Is hdmi finally better than dvi-d dual link?
<zid>
or did dp kill it first
<puck>
well you can't run displayport over hdmi can you
<puck>
but you can hdmi over displayport
<vai>
hi all
<gogs>
hi
<gogs>
i love displayport
<gogs>
wish i still had things with it
<gogs>
hdmi is cringe
<zid>
dvi-i for life
scaleww has joined #osdev
<geist>
13w3 is rule
<gogs>
meow
<zid>
bloody communists
heat has joined #osdev
<heat>
thunderbolt4L
<netbsduser>
i remember everyone used to say, "enlightement is the most beautiful desktop"
<netbsduser>
and i always felt so ridiculous when i heard that, because to me, it looked shite
<zid>
have they not seen windows 3.11
<mcrod>
hi
<heat>
mcrod: bazinga
<netbsduser>
when i actually found out what enlightenment looked like - it's as if i lived in a world where everyone still loved the mona lisa, but she was actually a big munter
<mcrod>
heat: when i opened up godbolt your stupid hazings was still open
<heat>
what?
<puck>
<geist> 13w3 is rule <- that's just VGA again :p
<mcrod>
bazinga*
<heat>
oh that /* bazinga */
<heat>
hilarious, funniest shit i've ever seen
<geist>
yeah but it's a much neater looking VGA!
<heat>
i have just realised that ld's options cannot just be getopt'd
<heat>
and that makes me sad
<netbsduser>
Ermine: the traditional and accepted approach (outside of commercial unixes), prior to the creation of the DRI, was for the X server to drive the video card itself with the help of your /dev/mem and suchlike
<netbsduser>
and xfree86 would indeed arrange for a suitable iopl
<netbsduser>
matter of fact i assume it still does
<heat>
-lgcc and -l gcc are both valid options, and such is -LPATH and -L PATH
<heat>
clang funnily enough lets you execute any linker as long as it's in PATH as ld.<name>
<heat>
gcc does not :(
<sham1>
):
<zid>
-Wl,;gold
<heat>
if there's anything i will never want to write, it's an options parser
<heat>
fucking fuck fuck tufk
<zid>
getopt
<zid>
is nice
<heat>
getopt does not work here, neither does getopt_long, neither does getopt_long_only
<zid>
for what?
<heat>
ld
<zid>
yea, for what?
<heat>
<heat> -lgcc and -l gcc are both valid options, and such is -LPATH and -L PATH
<heat>
oh and --start-group and --end-group, i have no idea how i can handle that using getopt
<zid>
I can write you an option parser if you want, but it *will* look like a cryptic FSM
<blockhead>
strcmp's all over? ;)
<zid>
and not a beautiful pile of compiler rules in an array and a generic parser
<heat>
i have realized i will need to write one if I ever want this to be invoked by the compiler
<nortti>
< heat> <heat> -lgcc and -l gcc are both valid options, and such is -LPATH and -L PATH ← isn't this the default getopt behaviour for shortopts that take an argument?
<blockhead>
ewwwwwwww
<blockhead>
sorry, that was my not-thinking gut reaction :o
* blockhead
goes back to afk
<zid>
If you want it to look not "ugly" you have to write a lexer instead
<heat>
nortti, is it? hrm
<zid>
then pass in a grammar for it to parse
<heat>
i may not be fucked
<zid>
it sounds like it SHOULD be how getopt works
<zid>
and tbh, you could always.. do a manual preprocessing pass
mctpyt has joined #osdev
mctpyt has quit [Ping timeout: 256 seconds]
netbsduser has quit [Ping timeout: 255 seconds]
FreeFull has quit [Ping timeout: 256 seconds]
scaleww has quit [Quit: Leaving]
zetef has quit [Ping timeout: 255 seconds]
netbsduser has joined #osdev
Arthuria has joined #osdev
netbsduser has quit [Ping timeout: 256 seconds]
rustyy has quit [Quit: leaving]
rustyy has joined #osdev
Turn_Left has joined #osdev
Gurkenglas has quit [Quit: Client closed]
Left_Turn has quit [Ping timeout: 255 seconds]
netbsduser has joined #osdev
xenos1984 has quit [Ping timeout: 256 seconds]
xenos1984 has joined #osdev
xenos1984 has quit [Ping timeout: 260 seconds]
Gurkenglas has joined #osdev
xenos1984 has joined #osdev
<heat>
gogs
gorenbk has joined #osdev
gorenbk has quit [Remote host closed the connection]
<gogs>
heat
<gogs>
i'm learnding zig
<heat>
NO
<heat>
DO NOT
<gogs>
why
<heat>
because
<gogs>
why
<mjg>
lOL
<mjg>
i'm learning NIM
<heat>
zig is like rust but global warming deniers
<gogs>
nim
<gogs>
what
<heat>
lets say al gore tells you in 2000 that the planet is getting warmer and it's all our fault
<heat>
and then you hear that and go "uh huh" and buy up all the petrol in the world so you can start the world's biggest megafactory of CO2 death
<heat>
zig is to rust what you are to al gore
<sham1>
but why
<heat>
because zig is "what if rust, but without safety"
<heat>
so you're left with all the downsides
<gogs>
what
uzix is now known as mahk
<gogs>
i'm compiling in safe mode
<heat>
im writing a linkar in cccccccccccccccccccccccccc
<heat>
cee
<gogs>
why
<heat>
because linkar
<gogs>
why aren't you writing it in RUUUUUST
<heat>
i actually considered it
<heat>
but it's too large of an undertaking for my current ruuuuuuuuuuuuuuuuuust knowledge
<gogs>
there are things about zig that i decided i like so
<gogs>
¯\_(ツ)_/¯
<heat>
with zig you're a small mistype away from zid
<heat>
and we don't want that, do we?
<gogs>
d and g are different fingers it'll be fine
<gogs>
it's unlikely i'll make an offset typo like that while also typing z
<gogs>
i would have to be off two keys
ChanServ has quit [shutting down]
ChanServ has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
<childlikempress>
I'm gonna write a compiler in a safe language
<Ermine>
c good
<childlikempress>
so it won't have any bugs
<Ermine>
> linkar
<Ermine>
Any real world usage of this typo?
<gogs>
no
<gogs>
linkor
<gogs>
linkur
<gogs>
linkyr
<gogs>
linkir
<gogs>
linkær
<gogs>
linkör
<blockhead>
^s
gbowne1 has joined #osdev
k0valski1889162 has joined #osdev
<heat>
childlikempress, if u writer compilar for safe lang in unsafe lang, is it realy safe?
<gogs>
nope
<sham1>
That's why you then write the compilar for the safe language in said safe language
<gogs>
you write the first compiler in an unsafe language
<gogs>
and reimplement it in the safe language
<gogs>
then all subsequent compilers are compiled with the compiler you compiled
<heat>
if write whole ecologysystem for safe languag with cargo modular and rewrite everything but kernal still unsafe language, is unsafe
<gogs>
dang
<gogs>
better rewrite the world in zig
<childlikempress>
zid
<childlikempress>
zid
<heat>
bazinga
<heat>
yo wtf happens to mmap'd accesses when you run out of space?
<heat>
SIGBUS?
<heat>
like a write that needs to allocate a filesystem block but fails to do so
<childlikempress>
it swaps out to s3, charging your credit card automatically
<heat>
yeah it's SIGBUS
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<heat>
mmap is fun
<gogs>
aws os
<heat>
that would be AWSome
<heat>
updoots to the left
<kof123>
i just read all that as some languages sometimes have safe words
<heat>
mjg, friend, are u aware of linker fd usage? on lld or some crap
<heat>
i'm wondering how they can avoid the fd limit while still not re-opening everything
<heat>
one can assume some sort of fd cache, maybe
<mjg>
i am aware the limit had to be bumped from 1024 cause it was running out of fds
<mjg>
on some lolprogz
<heat>
they could also just reopen things once (first for input and processing of sections, then later for copying of data)
<gogs>
heat heat haeaht heat heeat
<gogs>
zoebee
<heat>
yeah but 1024 is very little on big links, like chrome or whatever
<gogs>
she's wearing sword earrings!
<gogs>
i want
<heat>
they have some LOL number of filez
<heat>
gogs, zoeeeeeeeeeeeeebeeeeeeeeeeee
<mjg>
ye so i'm saying, i don't know what they do to manage shit, but ultimately they do end up with thousands of fds opened
<bslsk05>
twitter: <thingskatedid> need an ISA extension for x86 that allows the L2 cache to say when it doesn't want to be hit any more. it's a safe dword
<heat>
thanks boss
<gogs>
childlikempress: lmao
<childlikempress>
mjg: at some point on freebsd I raised the fd limit to something like 500m because I was tired of running out
<childlikempress>
and then hit an overflow bug in some utility
<mjg>
raised?
<heat>
what was running out?
<childlikempress>
celeste
<mjg>
it's ze freebsd which does NOT limit to anything sensible by default