<geist>
you mean like what keyboard it has installed? or if it's ascii vs ebcdic or whatnot?
<geist>
the layout of the keybard i dunno, actually. ps2 i dont think describes itself, and USB seems like it should, but then why does macos or windows ask when you plug one in if it does describe itself?
<bslsk05>
twitter: <dougallj> The Apple M1 return-address prediction stacks are large: 50 entries on Firestorm and 32 on Icestorm. But unlike Intel and AMD, this gets cleared on overflow, leading to a surprising performance cliff.   Probably easy to avoid, but something to watch out for. https://pbs.twimg.com/media/FfA3USLaUAAs0qR.jpg
<bslsk05>
[Icestorm graph showing showing clock-cycles per iteration as "nested call depth" increases from 1 to 40. There are three lines. The first, labeled "call-ret", gradually increases from 5 cycles at 1-nested-call to 74-cycles at 32-nested calls, then jumps up to 553 cycles at 33-nested calls, then continues to increase at the same gradient as before. The second line, labeled "mispredicted", sits just above the first line, trailing by about 11 to 14 cycles (i
<heat>
hrm?
<heat>
bslsk05 dumb dumb
<heat>
i guess this is some feature for visually impaired people
<kindofwonderful>
geist: i talked about the locale without knowing it
<heat>
geist, yeah good question, i thought usb hid stuff described itself but maybe that's not the case with keyboard layouts
<kindofwonderful>
i thought that ascii is somewhat "engrained" in todays PC
<heat>
OR
<heat>
the keyboard layout is described but not precise enough
<geist>
yeah that's my thought
<kindofwonderful>
didn't realized that it can be changed
<geist>
maybe the general gist of the language is set, but the precise layout isn't
<heat>
maybe it just knows where 1234567890 is, but it doesn't know what shift+0 is, shift+1, etc
<kindofwonderful>
i was wondering how functions like tolower() work independently on character set
<zid>
Maybe that's the answer, spending all your time playing WoW
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
zaquest has joined #osdev
liz has quit [Quit: Lost terminal]
heat has quit [Ping timeout: 250 seconds]
<klys>
pbx, is that your project? if so, it might be a good idea to commit
vdamewood has joined #osdev
vinleod has joined #osdev
vdamewood has quit [Ping timeout: 264 seconds]
theruran has joined #osdev
vinleod is now known as vdamewood
knusbaum has quit [Ping timeout: 268 seconds]
civa has quit [Remote host closed the connection]
civa has joined #osdev
smeso has quit [Quit: smeso]
smeso has joined #osdev
<klange>
pbx: that's awesome
rurtty has quit [Ping timeout: 252 seconds]
freakazoid332 has joined #osdev
freakazoid332 has left #osdev [Leaving]
<moon-child>
is that a custom x implementation? Or full x port? Very cool either way
<moon-child>
full xorg port, I should say
<klange>
From the forum post, xfbdev.
<klange>
The 'kdrive tiny x server'.
<klange>
also known as TinyX
zaquest has quit [Ping timeout: 264 seconds]
genpaku has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
zaquest has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
nur has joined #osdev
bauen1 has joined #osdev
civa has quit [Read error: Connection reset by peer]
the_lanetly_052 has joined #osdev
darkstardevx has quit [Ping timeout: 260 seconds]
darkstardevx has joined #osdev
bauen1 has quit [Ping timeout: 264 seconds]
bauen1 has joined #osdev
marshmallow has joined #osdev
Killy has quit [Quit: You have been kicked for being idle]
nyah has joined #osdev
epony has quit [Ping timeout: 252 seconds]
bauen1 has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
<kindofwonderful>
hi
epony has joined #osdev
GeDaMo has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
wand has quit [Ping timeout: 258 seconds]
wand has joined #osdev
<pbx>
moon-child: klange : it's kdrive, which is part of xorg codebase these days, but has far less stringent requirements
<pbx>
the thing that prevents me from porting xorg at the moment, is not having a dynamic loader
<klange>
Always a little amusing to hear where different projects go beyond the basics; there's so much stuff I'm missing to port any X implementation, but I _do_ have a dynamic loader :)
<klange>
(which I would not particularly recommend as a reference point, mine's very... cobbled together.)
<pbx>
such as? it really only required sockets, SIGIO, setitimer + basic POSIX file io
<klange>
My socket implementation is surprisingly new, and still rather incomplete; I definitely don't have a SIGIO (I do have a poll-alike), no itimers, and I'd be wary of my entire POSIX file io stack in general, tbh.
<klange>
one of the 256-color themes should work nicely in xterm, would look a bit nicer (and actually show syntax highlighting)
<pbx>
idk, i have some kind of issue with the tty, thought it was in my console terminal emulator, but neither VIM nor bim work correctly, even in xterm
<pbx>
bim's usable, but VIM has huge cursor movement issues
<klange>
Interesting. Bad character conversion somewhere, maybe?
<pbx>
for now everything should be just ascii
<pbx>
haven't bothered with unicode, as the boring old european i am
<GeDaMo>
Something affecting control characters?
* pbx
's kidding, even his name has a non 7-bit asci char
<GeDaMo>
Something something termcap?
<pbx>
GeDaMo: could be
epony has quit [Quit: QUIT]
<klange>
I don't use termcap (and neither does vim, it uses terminfo), and I don't have any necessary quirks for real xterms (only optional features)
<klange>
Plus I wouldn't expect vim to encounter database-related issues in a real xterm. Hence I'd suspect something at the tty layer.
<pbx>
ah, that "could be" was about control chars
<pbx>
vim+ncurses shouldn't have any issue with xterm, no
<klange>
yeah, they should be best friends
<pbx>
what c library do you use these days, klange
<klange>
mine :D
<klange>
ditched newlib back in 2018, been clawing my way back up ever since
<pbx>
i should do that some time too
<pbx>
soo many hobbys to balance
<pbx>
so much overlap too: got an electron microscope a while ago: https://twitter.com/peterbjornx/status/1467598492650586112 , wanted to upgrade it's brain. turns out: custom 6809 rtos with preemptive multitasking and everything. fun stuff, porting that to a modern arm micro
<bslsk05>
'The Blues Brothers (1980) - Shake a Tail Feather Scene (4/9) | Movieclips' by Movieclips (00:03:16)
<j`ey>
heat: always mark pages as writable :P
<heat>
oh you!
<j`ey>
c'est la vie
<gog>
oops
<heat>
it's very funny how linux vm relies on the page tables for a lot of stuff
<heat>
which is totally not how the "other OSes" work
<j`ey>
you mean it reads the page tables to find stuff out?
<heat>
yup
<heat>
the whole CoW system is based on page tables for instance
<heat>
they also use a bunch of the "ignored" bits to stash some information
<heat>
when I mean "the CoW system is based on page tables", i mean that it relies specifically on its state instead of saving it somewhere else
<heat>
if a mapping is writeable and MAP_PRIVATE, and the page is marked read-only, this is a CoW page and we're supposed to CoW it
<heat>
if a mapping is writeable and MAP_SHARED, and the page is WP, this is a shared mapping and we're supposed to trigger writeback on this and make it writeable
<heat>
it basically uses the page tables for stuff other than "make the MMU page fault", it uses it as a state machine of sorts
<j`ey>
whats the pros/cons do you think?
<heat>
it may not be portable
<heat>
it also plays around a bit with UNIX vm
<heat>
a CoW shared mapping is not a thing, so that state is eliminated
<geist>
very cool. i should hack on my user space bits more
<heat>
lkuser is waiting
<heat>
:)
<geist>
kinda stuck in newlib hell too. thinking of switching to musl, but then... that's a fair amount of work
<pbx>
geist: same, same
<geist>
but honesty dont feel like writing yet another libc from scratch
<kindofwonderful>
pbx: as i said, be strong
<heat>
musl good
<heat>
well, "good" ;)
<heat>
don't try to read it!
<geist>
yeah i was mostly reasonably happy with it's relatively low tricky build system stuff and the fact that it'd be *relatively* easy to port it
<geist>
despite it being highly linux centric
<kindofwonderful>
let me understand, musl is equivalent of glibc ?
<kindofwonderful>
equivalent by concept
<pbx>
newlib is easy to port so far as microcontroller level features go
<pbx>
start becoming more of a full unix? tough luck, ifdef hell everywhere
<geist>
yeah i had trouble with adding locking and whatnot. it's only basically internally locked
<geist>
glibc is theoretically much more portable. i really should give it a proper go
<geist>
but it's just such a huge project
<kindofwonderful>
i want to do osdev but i don't know whwere to start ..
<geist>
probably the right thing to do there is cut off most of it and turn more and more pieces on as you need it
<kindofwonderful>
all i know is C to some extent buti can't make anything useful out of it
<geist>
instead of trying to get the whole thing going
<kindofwonderful>
i feel like i missing piecs of the puzzle
<kindofwonderful>
and i don't know what
<kindofwonderful>
what advice can you give me
<heat>
i dont know if you can cut off glibc parts
<geist>
well maybe stuff like the locale bits, etc
<j`ey>
kindofwonderful: write none OS code
<geist>
and all the socket parts, etc until you have it going
<geist>
iirc it's roughly directory based, so possible you can generally just lave parts out of the build system and then add them back in
<kindofwonderful>
j`ey: can you elaborate please ?
<j`ey>
kindofwonderful: dont try to do osdev if you only know C to some extent and cant make anything useful
<geist>
and if you want to osdev but you have no intrinsic idea of what to do, then it's probably not the right project for you. generally folks at least have an idea like 'i want to write an os' when they get into osdev
<geist>
but you, i think you're just doing it because you *think* it's a thing you're supposed to do
<geist>
or it somehow makes you cooler or something
<kindofwonderful>
i can't make anything useful because i don't know what problem to solve
<geist>
it does not. it's just a huge gigantic topic
<geist>
i've been doing it for 25 years and it just doesn't stop
<heat>
it's e t e r n a l t o r t u r e
<geist>
pretty much. self flagellation with bootstraps
<kindofwonderful>
geist: ok, advice ?
<geist>
did we not just tell you advice?
<geist>
my guess is it's simply not what you want to hear so you're going to ignore it and keep asking
<kindofwonderful>
j`ey gave me an advice .. start with non OS code
<kindofwonderful>
ok
<kindofwonderful>
what are you offering ?
* geist
headddesks
<heat>
hahahahahaha
<j`ey>
lol
<geist>
there's no good advice for someone that says 'i have no idea what i want to do' other than go figure it out
<heat>
yeah
<heat>
you either do it, or you don't
<geist>
i mean maybe there's some life coaching that could steer you into the right direction but no one here wants to do it
<kindofwonderful>
let me check if im reading this correctly
<geist>
if yo uthink you want to do osdev but otherwise can't even make the simple connection of 'if you want to do osdev you should start by trying to write an os'
<geist>
then... i dont think theres much help there
<geist>
*or* (and much more likely) you're going about it for the wrong reason
<ThinkT510>
kindofwonderful: if you are looking for suggestions then why not do an intel 8080 disassembler? Here is a fun article for you: https://briancallahan.net/blog/20210407.html
<bslsk05>
briancallahan.net: Brian Robert Callahan
<geist>
ie, you're doing it because you think you need to do it, or trying to prove to everyone you're cool, or some nonsense like that
wootehfoot has joined #osdev
<kindofwonderful>
by saying "maybe there's some life coaching ..." you saying that my situation is so bad that someone MIGHT help me ?
<gog>
osdev is like smoking, it's terrible for your health and it makes you look cool
<heat>
it does not make you look cool
<geist>
but seriously one last answer: if you want to do osdev, then start writing a fucking os
<gog>
:(
<heat>
normal people smell your breath and see that you stink
<geist>
it's what everyone does. it's the obvious answer, if its not pleasing to you then dont do it
<heat>
nerds love it
<heat>
yeah write the operating system, or dont
<geist>
if you're incapable of doing it then move on to something you are. wallowing in pity that you can't do it helps no one and alienates you because no one wants to hear it
<geist>
(tough love #osdev answer variant 4.7)
<geist>
(sometimes this kicks em out of it)
<gog>
i'm incapable but i still believe i can learn :P
<geist>
and you're not whining about it!
* geist
pets the gog
* gog
prr
<heat>
you're not incapable lmao
<gog>
i told my boss i code sometimes for fun and he called me a nerd
<heat>
you wrote a thing
<heat>
and then more things
<geist>
yeah totally
<gog>
nobody lets me self-deprecate
<gog>
i can have small amounts of self-hate as a treat
<heat>
ok
<heat>
you useless fuck
<gog>
lmao
<gog>
i said self-hate
<heat>
no
<heat>
everyone hate or no one hate
<gog>
fine i'll learn to tolerate myself
<kindofwonderful>
thanks for the tip boys
<geist>
start with a tutorial or something and see wha tyou can get done
<gog>
in seriousness like just coding things is fun
<heat>
boyz II men
<gog>
doesn't have to be an OS
<Ermine>
smoking helps you with bass voice
<heat>
totes
<heat>
you can write firmware
<geist>
haha i had a cough the other day and woke up with some crap in my throat and was temporarily a contrabass
<gog>
i wrote a text editor and a video player and an archive program
<geist>
was super cool, could go down a whole octave lower
<heat>
there are multiple ways to be miserable
<gog>
it was all just Qt stuff i glued together
<heat>
that's bcuz ur a qt
<Ermine>
gog: you cool
<gog>
eee
<kindofwonderful>
wow that's too much noise for #osdev and i didn't even started
<heat>
the ladies love this one
<gog>
technically i wrote two text editors because i used to play with wxwidgets
<heat>
HEY, ARE YOU FAMILIAR WITH UI/WINDOWING TOOLKITS? BCUZ UR A QT
<Ermine>
gog: may I pet you?
<kindofwonderful>
you are the best of men
<gog>
Ermine: yes :)
* Ermine
pets gog
<geist>
gosh trying to think of that rock band in the 90s with the super low voice
<kindofwonderful>
gog: you said you wrote a video player right ?
<geist>
i think he died later
<gog>
it's not impressive
<kindofwonderful>
doesn't matter i have a question
<gog>
you can hook together some qt components and make one really fast
<gog>
ok
<heat>
gog what's the meaning of life
<heat>
that's my question
<gog>
fuck money, get bitches
<heat>
are you a hip hop artist
<kindofwonderful>
once you decided that you want to write a video player ( i assume you have 0 knowledge of how to before ) how did you start the journey ? i mean how did you know what components make video player ?
<gog>
kindofwonderful: i read the Qt docs but i also had a strong understanding of object-oriented programming
<gog>
and i learned how to do OOP by just like
<geist>
Type O Negative! that was it
<gog>
doing tutorials and writing small things myself
<gog>
just toys
<gog>
not even seriosu programs
* Ermine
got overwhelmed with rm(1)
<kindofwonderful>
ok so it's all about getting more and more info online until you better see the picture in later pprojects
<gog>
it's also about experimenting with programming more
<heat>
Ermine, rm is deceptively hard
<gog>
i have never tried to write an implementation of rm iirc
<heat>
particularly, -r
<gog>
i wrote a bunch of others
<heat>
it's not hard to fuck up, but it's not hard to get right
<gog>
i wrote cat, echo, cut
<kindofwonderful>
gog: thanks
<gog>
i started on find
<gog>
find is wacky af
<heat>
find is a bitch
<heat>
find is the least trivial one
<Ermine>
nobody likes find
<Ermine>
ls has a big number of options
<kindofwonderful>
at this moment
<kindofwonderful>
im leaving the chat and start to think of something useful to do
<gog>
doesn't even have to be useful
<kindofwonderful>
root. over
<gog>
not every endeavor has to serve a purpose
<geist>
yeah sometimes you just hack for fun because it's 10pm and nothign is on TV
<gog>
exactly
<gog>
sometimes i have an idea and just write something and see if it fleshes out
<geist>
right
<gog>
most of the time it doesn't
<gog>
and that's fine
<gog>
sometimes i learn something i didn't anticipate
<heat>
sometimes you hack because you're way too invested in your project you spent an unimaginable number of hours on
<gog>
there's also that
<geist>
to a lot of folks, me included, the process is more interesting than the end result. i kinda dont like 'finishing' things, because it means you can't work on it anymore
<gog>
the crushing weight of your own genius
<gog>
geist: yes, agree
<gog>
nothing is ever finished
<geist>
but the converse of that is if the process isn't any fun it completely destroys the desire to work on it anymore
<gog>
even the self is something continuously created
<geist>
so it has a dark side, hard to finish things if it's not fun anymore (or if it's say for work and the process/structure/etc at work has sucked the fun out of it)
<gog>
geist: that apaplies to the self too XD
* Ermine
also has severe productivity issues
<gog>
my productivity is either prodigious or none at all tbh
<geist>
i really admire folks that can just sit down and do stuff, even if it's un-fun
<gog>
i mean i do it at work because it pays me money
<gog>
:P
<geist>
being able to turn it on and off at will
<geist>
yah but i mean do good, productive work, even if it's un-fun. or maybe they're dying inside and just dont verbalize it. i dunno
<gog>
idk most of the developers i know can't really keep a secret. if they don't like something they will say so :P
<heat>
i think osdev actually really attracts really opinionated people
<heat>
:P
<gog>
fair
smach has joined #osdev
<heat>
something about this cronic NIH syndrome is common to people with "strong" opinions
<gog>
well, obviously my way is the right way
<heat>
:100:
<zid>
heat where is the uranium in this factorio
<zid>
I can't find it
<heat>
iraq
zid has quit [Read error: Connection reset by peer]
<heat>
oops
<heat>
george w bush took his internet down
<heat>
my bad
zid has joined #osdev
<zid>
libera pls
<geist>
i think in my case its an ends to a means: writing a kernel or a os is a way to justify writing low level code, which i fundamentally like doing much more than high level stuff
<geist>
it's an excuse
<zid>
heat where is the uranium in this factorio map, I can't find any
<heat>
<heat> iraq
<zid>
I don't have an iraq
<heat>
sometimes the real iraq is the friends we make along the way
<heat>
geist, yeah totes
<heat>
high level is BORING
<zid>
I don't like osdev
<zid>
I like writing low-level code
<gog>
low level code is neat
<zid>
sometimes osdev lets you do that
<geist>
you should run your base off of the POWER OF FRIENDSHIP
<heat>
but what's "low level code" here?
<zid>
I need uranium-238 to make purple tech cards though :(
<geist>
in this case it's mostly that there's nothing lower level
<geist>
but stuff like setting up and using the cpu at the base programmers level
<geist>
ie exceptions, managing irqs, etc etc
<geist>
that i find just terribly fun even 25-30 years after i started doing it the first time
<zid>
Programming a VCR > Taping episodes of golden girls
* geist
tells you a St Olaf story
<heat>
i swear to god
<heat>
WHY DOES THIS NEED SO MANY PACKAGES
<sbalmos>
sounds like something Node-related? ;)
<heat>
i'm on 11 rn
<heat>
no, it's xorg-xserver
<sbalmos>
close enough
<heat>
it's somehow, worse
<zid>
I tried to build mesa on windows once
<heat>
i wanted to port node and I got v8 but i couldn't bother with their stupid python + gyp build system
<zid>
I got 8 build systems deep
<heat>
there's a package here with a config.sub from 2006
<heat>
you know
<heat>
i should have gone with weston
<heat>
but the sunk cost would be too much
<gog>
golden girls was based and redpilled
<gog>
just sayin
<zid>
which one is red
<zid>
woke or incel
<gog>
woke, we're claiming it
wootehfoot has quit [Quit: Leaving]
<zid>
I found some uranium, it's about a billion away ofc though..
<gog>
start pumping out solar panels
<zid>
I need the ore to make tech cards in this one :(
<zid>
biters are just annoying, not actually interesting, to me
<zid>
unless you're playing on a deathworld and they actually do something, you just take a shotgun and blast every base within visible range at start of game then ignore
netbsduser has joined #osdev
kindofwonderful has quit [Ping timeout: 250 seconds]
<geist>
`exec nice $SHELL` is my new jam
<geist>
that way my builds and whatnot dont completely drag the system down
bauen1 has joined #osdev
vdamewood has joined #osdev
<mjg_>
linux promised they would not
<heat>
we should take out the guy who created libtool
<zid>
to lunch?
<heat>
maybe the movies
<heat>
a nice romantic date
<mjg_>
only one person returns from
<heat>
does anyone want to upstream my system to config.sub
<CompanionCube>
heat: there used to be packages for individual xorg protocols
<CompanionCube>
but then someone rolled up them up into xorgproto
<mjg_>
heat: port xfree86
<heat>
mjg_, im doing that dumbdumb
<heat>
why do you think i'm so pissed off
<heat>
this is giving me crippling sadness
<CompanionCube>
hasn't that been switched to meson or something?
<heat>
great question
<heat>
yes and no
<zid>
okay back, got distracted, I just saw *either* the world's largest spider, or a huge mouse, out of the corner of my eye
<zid>
and I am not sure which and I cannot find it
<heat>
some packages use meson, most use autoconf
<heat>
some even use 2006 autoconf
<heat>
it truly is great
<mjg_>
heat: what? xfree86 and not xorg?
<CompanionCube>
is it really autoconf if you don't have random outdated generated files in the repository
<mjg_>
xfree86 is next level
<heat>
mjg_, ah no this is xorg
<heat>
xfree86 is old stuff
<heat>
here's a remarkably stupid configure options for you people
<heat>
--enable-malloc0returnsnull
<mjg_>
--fuck=this
<heat>
they cannot perform this test in cross compilation and for whatever reason they just error out
<heat>
they don't assume a safe default they just, "eh, cross compile, errororororor"
<mjg_>
if one bothers to check this there is no safe default
<heat>
this is mindnumbingly braindead
xenos1984 has quit [Read error: Connection reset by peer]
<heat>
at least they have a configure switch for it I guess?
<heat>
everything that skips a config.site is a win
<zid>
It's a fucking mouse, I seed it
<pbx>
heat: tip, --disable-xorg, --enable-xvfb
<pbx>
allows you to get the core stuff building and verified before porting either xorg or kdrive
<heat>
1) i'm on meson you PEASANT
<heat>
2) i wanna get xorg already
<pbx>
sure. but they're part of the same repo
<zid>
heat did you set a mouse on me
<zid>
is this revenge for something
<heat>
yes
<zid>
I have 0 idea how the hell there's a mouse in here
<zid>
I'm not on the ground floor, my room is a solid concrete shell, and there's two cats between me and downstairs
genpaku has quit [Read error: Connection reset by peer]
genpaku has joined #osdev
xenos1984 has joined #osdev
<pbx>
zid: the maybe cat brought it in?
<zid>
super unlikely, I think the answer is spontaneous generation
<zid>
the thing louis pasteur erroneously discredited
<zid>
There was a mouse shaped hole in my room, and half a sausage roll, therefore the universe saw fit to generate a mouse
<zid>
out of the aether
<zid>
I'm awaiting my barnacle goose
<heat>
OMG ITS BUILDING!!!1!!1!
<klange>
ugh, i'm gonna have to do something like port gtk to keep up with y'all running x
<zid>
And run zelda.
<zid>
To beat both me and heat, you need to run my emulator in a gtk window.
janemba has quit [Ping timeout: 252 seconds]
<klange>
which zelda?
netbsduser has quit [Remote host closed the connection]
<klange>
I had a zsnes port at some point, so I could do LTTP
<heat>
i've never been more certain that xorg is catshit wrapped in dogshit
<zid>
LA
[itchyjunk] has joined #osdev
<zid>
The only thing my OS does is map my emu + LA package to 2MB then run it