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
jhagborg has quit [Ping timeout: 246 seconds]
Likorn has quit [Quit: WeeChat 3.4.1]
jhagborg has joined #osdev
lanodan has joined #osdev
jhagborg has quit [Ping timeout: 250 seconds]
Killaship34 has joined #osdev
<Killaship34> yo
<heat> yoyo
mctpyt has quit [Ping timeout: 250 seconds]
<Killaship34> how are you doing
<Killaship34> right now I'm in a random discord call while trying to implement a heap
<heat> fine
<Killaship34> that's nice
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<heat> you know wht im not doing rn
<heat> implementing a heap while in a random discord call
<heat> and i feel great because of that
elastic_dog has joined #osdev
<Killaship34> and gues what I'm doing
<Killaship34> not that
<Killaship34> and I feel like shit
<Killaship34> and I need sleep ;-;
<Killaship34> oh yeah, I'm trying to figure out which files I need to commit on git
<Killaship34> because I forgot that I even made any changes
<klange> hate to be neck deep in uncommited changes scrambling to figure out what's safe to push now
<Killaship34> well that's my life
<Killaship34> commit message: "please don't break, I forgot what was safe to commit"
<Killaship34> wish me luck
<Mutabah> That seems like a recipe for a hasty second-commit labelled "f___"
<Killaship34> yup
<moon-child> I've started using branches much more heavily for this reason
<moon-child> you may not know what's safe to push, but you can divide the changes into manageable independent chunks
<moon-child> (unless you can't, of course, because they are mutually interdependent. Then--tough luck)
<Killaship34> I should try that
<Killaship34> I'll look into it, ig
heat has quit [Remote host closed the connection]
Killaship34 has quit [Quit: Lost terminal]
Ram-Z has quit [Ping timeout: 246 seconds]
<geist> oh hmm, gcc 11.3 got released a few days ago
<geist> that and qemu 7.0 means i got a lot of recompiling to do soon
<Mutabah> At least qemu is a quick-ish build
<geist> yah, though there's a new annoyance with meson and make install
<geist> but i eventually just gave up and run ninja install
<geist> but its unclear if you're supposed to use make or ninja directly now. the make file it generates seems to *mostly* be a wrapper around ninja, but it seems to try to do a little more
<geist> but then has problems with how to get more perms with make install
<geist> all the docs i've found online is totally out of date with the switch to meson
gog has quit [Ping timeout: 256 seconds]
jhagborg has joined #osdev
srjek has joined #osdev
sonny has joined #osdev
frkzoid has joined #osdev
zaquest has quit [Remote host closed the connection]
jhagborg has quit [Read error: Connection reset by peer]
zaquest has joined #osdev
jhagborg has joined #osdev
jhagborg has quit [Ping timeout: 272 seconds]
sonny has quit [Ping timeout: 252 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
jhagborg has joined #osdev
sonny has joined #osdev
smeso has quit [Quit: smeso]
smeso has joined #osdev
h4zel has quit [Quit: WeeChat 3.0.1]
jhagborg has quit [Ping timeout: 272 seconds]
bradd has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
bradd has joined #osdev
jhagborg has joined #osdev
jhagborg has quit [Remote host closed the connection]
jhagborg has joined #osdev
vdamewood has joined #osdev
jhagborg has quit [Remote host closed the connection]
jhagborg has joined #osdev
jhagborg has quit [Ping timeout: 240 seconds]
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
sonny has quit [Quit: Client closed]
frkzoid has quit [Ping timeout: 240 seconds]
Ram-Z has joined #osdev
<nur> is there any new features worth looking at in qemu 7
<zid> check the changelog?
<zid> it's pretty short
<zid> w11 label for get os name, some arm stuff, a backend tls hostname option
<zid> unless you're a hppa
GeDaMo has joined #osdev
<geist> vs 6.2 not a lot
<geist> vs earlier versions? maybe
<geist> i think qemu like a lot of projects has switched to rolling major numbers fairly quickly and minors are basically bugfixes, i think
<geist> so difference between 5 and 6 and 7 is not as great as before
<geist> but still good stuff
Mutabah has quit [Ping timeout: 246 seconds]
Mutabah has joined #osdev
Oshawott has joined #osdev
archenoth has quit [Ping timeout: 250 seconds]
Burgundy has joined #osdev
gog has joined #osdev
Mutabah has quit [Ping timeout: 240 seconds]
Mutabah has joined #osdev
Mutabah has quit [Ping timeout: 250 seconds]
Mutabah has joined #osdev
gog has quit [Quit: byee]
gog has joined #osdev
Mutabah has quit [Ping timeout: 250 seconds]
Mutabah has joined #osdev
<gog> µ
<gog> aww
<gog> baby piggy and kitty
<bslsk05> ​tenor.com: Raccoon Not Eat My Grapes GIF - Raccoon Not Eat My Grapes Cute - Discover & Share GIFs
nyah has joined #osdev
<vdamewood> μιαυ
gog has quit [Ping timeout: 246 seconds]
Mutabah has quit [Ping timeout: 256 seconds]
Mutabah has joined #osdev
_xor has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
Mutabah has quit [Ping timeout: 256 seconds]
Mutabah has joined #osdev
Mutabah has quit [Ping timeout: 276 seconds]
xenos1984 has joined #osdev
Mutabah has joined #osdev
Mutabah has quit [Ping timeout: 256 seconds]
Mutabah has joined #osdev
heat has joined #osdev
Burgundy has quit [Ping timeout: 240 seconds]
Likorn has joined #osdev
gog has joined #osdev
eschaton has quit [Quit: ZNC 1.8.x-git-34-0db5c235 - https://znc.in]
eschaton has joined #osdev
dennis95 has joined #osdev
ahlk has joined #osdev
ahlk has left #osdev [#osdev]
Teukka has quit [Read error: Connection reset by peer]
Teukka has joined #osdev
dude12312414 has joined #osdev
Mutabah has quit [Ping timeout: 256 seconds]
Mutabah has joined #osdev
dude12312414 has quit [Remote host closed the connection]
freakazoid333 has joined #osdev
stephe has joined #osdev
Mutabah has quit [Ping timeout: 256 seconds]
Mutabah has joined #osdev
gog has quit [Quit: byee]
gog has joined #osdev
gog has quit [Client Quit]
gog has joined #osdev
Mutabah has quit [Ping timeout: 246 seconds]
sonny has joined #osdev
Mutabah has joined #osdev
Mutabah has quit [Ping timeout: 272 seconds]
Mutabah has joined #osdev
SikkiLadho has joined #osdev
sonny has quit [Ping timeout: 252 seconds]
gog has quit [Quit: byee]
gog has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat_ is now known as heat
gog has quit [Quit: byee]
Killaship34 has joined #osdev
<Killaship34> hello
gog has joined #osdev
<GeDaMo> Hi Killaship34 :)
<Killaship34> I'm trying to make a very basic memory allocator, not really one that's too smart or anything, just something that expands a heap and returns a pointer.
<Killaship34> also hi
<Killaship34> Would an sbrk() function work as a malloc?
<gog> no, sbrk just moves the program break
<gog> it works with malloc
<gog> at least, the old way
<Killaship34> what do you mean by program break
<Killaship34> is it the end of the program
<gog> it's the end of the program's data segment
<Killaship34> ah
<Killaship34> that makes sense
SikkiLadho has quit [Quit: Connection closed]
<Killaship34> I'm in school, so I'm just gonna go ig
Killaship34 has quit [Quit: Lost terminal]
* vdamewood gives gog a fishy
* gog chomps fishy
<j`ey> hypervisors are tricky to get your head around
<vdamewood> At work I have a supervisor. My supervisor has a hypervisor. That's how it work, right?
<j`ey> yes!
<j`ey> if youre the user, supervisor is the kernel and hypervisor is the.. hypervisor!
sonny has joined #osdev
<GeDaMo> Does the hypervisor have an ultravisor? :|
<heat> don't forget that the hypervisor can have a supervisor
<j`ey> nested hypervisors O_O
sonny has quit [Quit: Client closed]
dennis95 has quit [Quit: Leaving]
<freakazoid333> a supervisor + a pot of coffee = a hypervisor
gog has quit [Quit: byee]
gog has joined #osdev
the_lanetly_052 has joined #osdev
dude12312414 has joined #osdev
gog has quit [Quit: byee]
gog has joined #osdev
gog has quit [Remote host closed the connection]
gog has joined #osdev
gog has quit [Client Quit]
gog has joined #osdev
gog has quit [Client Quit]
gog has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pretty_dumm_guy has joined #osdev
Burgundy has joined #osdev
Killaship34 has joined #osdev
<Killaship34> hi
<gog> hi
<heat> hi
<Killaship34> I'm still at school
<Killaship34> about to head to track practice
<heat> gr8
<Killaship34> I'm gonna go again
<Killaship34> also before I go
<Killaship34> micro is the best text editor for terminals IMO
<Killaship34> bye
Killaship34 has quit [Client Quit]
<heat> wtf
<sbalmos> ¯\_(ツ)_/¯
<Ermine> Lmao
sonny has joined #osdev
<heat> ed is the best text editor for terminals
vimal has joined #osdev
<heat> it's simply the standard UNIX text editor
<heat> and when I mean ed I don't mean GNU ed
<Ermine> I'm fine with vim
<sbalmos> Mr. Ed
<heat> like 4.4BSD ed was great
<gog> nvim
<heat> GNU ed is horrible
<GeDaMo> A kernel is a kernel, of course, of course :P
<gog> what if we moved beyond the need for kernels
<heat> sbalmos, ed is so great they started naming people after it
<mjg> ")
<GeDaMo> Where we're going, we won't need kernels :|
<heat> lets move beyond the need for computers
<Ermine> Then what we should do
<heat> get a pen and paper
<heat> maybe your brain too
<Ermine> You guys are going to lose hobby/join
<heat> and do the thing on the paper
<heat> no one ever needed computers
<GeDaMo> You don't need a kernel if you only run one process on a CPU, have infinite memory and no devices :P
<Ermine> They played us for absolute fools, stop using kernels!
<gog> it's true
<gog> we've been had
<FatalNIX> start using the popcorn instead
<Ermine> - Computers weren't meant to manage itself
<heat> computers were just meant for arithmetic
<bslsk05> ​www.evilmadscientist.com: How to Build a Working Digital Computer… out of paperclips | Evil Mad Scientist Laboratories
<Ermine> - Years of OS R&D yet no real use found for having more than one program
<heat> no memory, no "CPU" (whatever the hell that means), no "net" "working"
<heat> just 10 + 10 = 20
<gog> notworking
<gog> amirite
<gog> decentral processing unit pls
<gog> go back to minicomputers
<heat> decentralized processing unit????
<heat> bitprocessor?
<heat> brb patenting this
<Ermine> - "We need to abstract system resources", "Memory protection" - statements dreamed up by utterly Deranged
mahmutov has joined #osdev
the_lanetly_052_ has joined #osdev
the_lanetly_052 has quit [Ping timeout: 246 seconds]
<gog> abstract? no thanks i'm full
<FatalNIX> memory protection? Why? First come first serve man
<gog> memory protection is only for people with something to hide
<sonny> lol
<FatalNIX> int* pack_your_shit = (int*)0xDEADBEEF // Leave me alone
<heat> boys and girls, new fs
<heat> ethfs
<heat> you literally pay money to store data
<FatalNIX> Is it just sqlite aligned to the spinning disk?
<FatalNIX> somebody did that here
<sonny> nice
<heat> no
<heat> it's data on the blockchain
<FatalNIX> apparently SQLite has a 512 byte chunk format that interestingly aligns well with most spinning disk sector sizes
<heat> you'll literally store your p...homework on the blockchain
<heat> it's genius
<heat> and you pay for each block you store
<heat> otoh, unlimited storage
<FatalNIX> I have actually thought of this but not in the sense of mining but smart contracts
<FatalNIX> Making a really simple blockchain from scratch is incredibly trivial
<gog> no thanks
* gog unsubscribes
sonny has quit [Ping timeout: 252 seconds]
<FatalNIX> ha
<FatalNIX> I am yelling at cmake
<gog> cmake deserves to be yelled at
<FatalNIX> Namely I am yelling at clangd integration with cmake + vscode
<heat> that's very easy
<heat> install the clangd plugin, cmake CMAKE_EXPORT_COMPILE_COMMANDS=on, profit
<FatalNIX> I did that! And then...
<FatalNIX> holy shit include_directories isn't working everywhere Xd
<FatalNIX> I was impressed by the export compile commands though
<FatalNIX> I am extremely new to cmake so this has been interesting.
* geist gives a very late yawn
psykose has joined #osdev
<heat> FatalNIX, modern build systems can all export compile commands
<FatalNIX> So far I'm not unimpressed at least
<heat> meson, cmake, gn at least
<heat> and everything else through bear
<heat> bear -- build.sh interceps all calls to the compiler and generates a compile_commands.json
<FatalNIX> Like, I thought maybe I would make a custom build setup system, like some projects do to ensure sanity but- cmake has shown to remove a lot of headaches for my buds who have been testing things and such
<FatalNIX> It seems to be favoring ninja atm
<heat> ninja is better yes
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<heat> sortie, is it correct to set LD=cc?
<sortie> heat, yes kinda yeah, although generally I don't think $LD or ld should ever be invoked directly
<sortie> $CC is enough for everyone
<FatalNIX> Now it's complaining with GCC errors when I don't even use GCC
<FatalNIX> and clang compiles it fine
<FatalNIX> XD
<FatalNIX> ugh
<heat> my package build env does LD=$(blahblah)/ld but then I'm afraid of setting LDFLAGS
<FatalNIX> I was kind of mad though that cmake doesn'
<FatalNIX> doesn't pass environment variables into the build it creates
<heat> turns out makefile's implicit rule just uses LDFLAGS when linking, but uses CC
<FatalNIX> I was angry that I needed to create a fasmg-wrapper.sh file in order to use fasmg
<FatalNIX> just because the include directory is passed as an environment variable only
<heat> i was thinking that setting LDFLAGS meant you'd use them with $LD
vancz has quit []
pie_ has quit []
gog has quit [Ping timeout: 272 seconds]
pie_ has joined #osdev
vancz has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
Likorn has quit [Quit: WeeChat 3.4.1]
GeDaMo has quit [Remote host closed the connection]
sonny has joined #osdev
xenos1984 has joined #osdev
hbag has quit [Ping timeout: 248 seconds]
kingoffrance has quit [Ping timeout: 250 seconds]
<mrvn> When lining gcc/g++ add some extra flags as needed that you have to add yourself if you link with LD.
<mrvn> And you can use FASM = INCLUDE=foo fasm
<mrvn> s/with LD/with LD=ld/
<heat> mrvn, i know
<heat> the issue is that some build systems may assume LD=cc and others may assume LD=ld
<mrvn> does FatalNIX
<mrvn> ?
<heat> idk that has nothing to do with FatalNIX
<heat> I brought up LD
<klys> LC=cc since forever
<klys> LD=cc since forever
<mrvn> and FatalNIX brought up fasm. :)
<mrvn> The big problem is that ld and cc need different LDFLAGS syntax. :(
<heat> exactly
<mrvn> the generl consens is that you should always link with the compiler nowadays because of those extra flags, linker script, plugins, ... the compiler may need.
Mutabah has quit [Ping timeout: 246 seconds]
sonny has left #osdev [#osdev]
nur has quit [Ping timeout: 240 seconds]
mahmutov has quit [Ping timeout: 240 seconds]
Mutabah has joined #osdev
gog has joined #osdev
kingoffrance has joined #osdev
wolfshappen has quit [Quit: later]
wolfshappen has joined #osdev
Likorn has joined #osdev
<heat> how do I know how many spaces I need to delete when deleting a tab under tty echo?
<heat> considering the tty doesn't know where it is
<heat> (in terms of column/row)
<mrvn> you remove tabs till you hit a tab stop or non tab
<heat> the input buffer only has a single \t for each tab
<mrvn> and your display buffer?
<heat> not important
<heat> the tty does not know what a display is
<mrvn> it's where you are deleting stuff. In the input you just delete one \t
<heat> no, the tty does an echo, it needs to know how many \x7f to echo, that's the hard part
<mrvn> can't do that unless it knows what the display does with a tab
<heat> it does know what the display does with a tab
<mrvn> then undo that
<heat> you can't
<mrvn> if it knows the display turns the tab into 3 spaces then undo 3 spaces.
<heat> that's not how tabs work
<heat> tabs align to tabstops (usually 8 spaces)
<mrvn> yes, but that is irrelevant. important is how many spaces to the next tab stop
<mrvn> if it is 3 then you need to undo 3
<heat> that's the problem
<heat> how do I know how many spaces I advanced
<mrvn> hence: you need to know what the display does with tabs
<heat> no.
<heat> that's not how tty's work
<heat> there's no sort of introspection
<mrvn> But the problem you presented requires it
<heat> how would I know that, if you're running a tty over ssh over serial that's connected to a terminal emulator?
<mrvn> You want the display to turn tabs into spaces but the tty to delete those spaces on backspace.
<heat> yup
<mrvn> Your serial does not delete the spaces, it deletes the tab
<mrvn> or at least it should
<heat> no
<heat> tabs are just a vt->x = ALIGN_TO(x + 1, 8) for instance
<heat> you don't actually write anything to the vt cells
<mrvn> Note that you have support libraries for the display introspection like termcap.
<heat> same as deleting a \t, you're not actually deleting anything
<heat> you're just going back x spaces, where x can be between 8 and 1
<heat> i've tried recounting the input's length but that doesn't work since I can have written stuff to the terminal before getting input (therefore, calculated_column != vt->x)
<mrvn> yes, another thing that can only work if you inspect the display
<mrvn> at least till you hit the first \t, \r or \n.
<heat> this has to work without inspecting the display
<mrvn> Then change your data. Send a \t to the display and have IT remember how many spaces it skipped.
<heat> the display is dumb
<mrvn> The way curses works is that curses converts tabs to spaces before sending it to the display and it starts by resetting the display to a fixed coordinate. That is the other direction you can go.
<mrvn> anything between those two and you are screwed as you noticed.
<heat> no, curses works on top of the tty
<heat> there has to be a way
<heat> I just don't know how
<heat> i see freebsd and linux do some counting of columns sometimes
<mrvn> think it through. It simply can't work.
heat_ has joined #osdev
<heat_> listen, whatever they're doing, it works
heat has quit [Read error: Connection reset by peer]
<heat_> there's no "think it through", i need to emulate what they're doing
<mrvn> Then your assumption must be wrong. The model you presented at the start can't work.
<heat_> ok. try it then
<heat_> go to your terminal, run a program with cooked input
<heat_> watch it work
heat_ is now known as heat
<mrvn> That's not running your model
<heat> i'm literally looking at the code that's running your tty's at this moment in time
<mrvn> and I'm saying that if that works then your model you started from can't be what the code does.
<heat> i didn't start from nowhere
<heat> i'm just reading code and trying to figure this thing out
<mrvn> is that code using libtermcap?
<heat> the base model of this whole thing is that the tty and terminal are separate and the tty doesn't know much about it
<heat> this is the kernel
<heat> there's no libtermcap
<mrvn> and you send "a\tb\tc^H^H" to it and the cursor ends up after b?
<heat> yes
<mrvn> So the display sees the second ^H and deletes 7 spaces.
<heat> the display isn't handling this
<heat> it's the tty
<mrvn> s/and you send/and the tty sends/
<heat> the tty does "hmmm, lets go back 7 spaces" and then send \b\b\b\b\b\b\b
<mrvn> Ok. Now do the same with TERM=dumb
<heat> this is kernel code
<heat> there's no TERM=dumb
<heat> there's no TERM, there's no termcap
<mrvn> $ echo -e "a\tb\tc\b\bd"
<mrvn> ab dc
<mrvn> my tty does only go back 1 space at a time at \b
<heat> \b != delete
<heat> i'm talking about input
<heat> run dash and try it
<mrvn> can't figuure out how to echo a ^H
<heat> \b means "go back one space"
<heat> mrvn, ^H is \b
<mrvn> can't figure out how to echo a "delete"
<heat> run dash and try it
<mrvn> try what?
<heat> a<tab>b<tab>c<backspace><backspace>
<mrvn> and how do I see what it sends to the display?
<heat> what's sending what to the display?
<mrvn> dash to the tty and tty to the terminal
<heat> you don't need to see it
<mrvn> For all I know when I hit "delete" in dash it sends "\b \ra b" to the terminal
<heat> well, it doesn't
<heat> do you believe?
<heat> it sends DEL (\x7f)
<heat> which is essentially \b \b for simple one-celled-chars, and more complex sequences of \b for other chars
<mrvn> heat: In my case it actually doesn't send anything because dash never ever sees what you type until you hit return.
<heat> exactly, that's the point of using dash here
<mrvn> The display handles the tabs and deletes all before it ever gets to dash.
<heat> you're seeing what the tty and kernel see
<heat> that's not the display, that's the tty
<heat> the display is just a fancy cell array with a cursor
<mrvn> No. that's the terminal app running on my desktop
<heat> yes, that's the display
<heat> what handles deletes of tabs is the tty, in the kernel
<mrvn> The terminal app doesn't send anything to the pty dash listens on until you hit return
<heat> yes it does
<mrvn> nope, strace it
<heat> it's buffered in the kernel
* j`ey confirms heat's result with dash, a<tab>b<tab>c<backspace><backspace>, cursosr is just after b
<mrvn> j`ey: That isnt actually in question. The question is where that magic happens.
<heat> ITS IN THE KERNEL
<heat> in the tty
<bslsk05> ​elixir.bootlin.com: n_tty.c - drivers/tty/n_tty.c - Linux source code (v5.17.4) - Bootlin
<bslsk05> ​github.com: freebsd-src/tty_ttydisc.c at main · freebsd/freebsd-src · GitHub
<heat> you keep trying to disprove me and telling me the sky is brown and that the water isn't wet and i'm literally wet looking at the sky
<mrvn> heat: I believe you are looking at the text console code, the *display* part.
<bslsk05> ​elixir.bootlin.com: vt - drivers/tty/vt - Linux source code (v5.17.4) - Bootlin
<heat> that n_tty thing is what runs on most/all of your ttys, independently of them being /dev/pty/0 or /dev/tty0 or /dev/ttyS0
<heat> n_tty is a line discipline
<mrvn> heat: it's a device that has a cursor position and lots of other display metadata. Look at the struct n_tty_data
<heat> it's not a device!
<heat> they're keeping track of things
<heat> or trying to at least
<klange> I don't even bother with handling tab... https://github.com/klange/toaruos/blob/master/kernel/vfs/tty.c#L96-L116
<bslsk05> ​github.com: toaruos/tty.c at master · klange/toaruos · GitHub
<mrvn> heat: Point is that it is keeping a buffer of the editable text and handling both increasing the column on tab and removing that on erase.
jhagborg has joined #osdev
<mrvn> As you notice it will still fail when you output something to the final display device before (or mid stream) the counting columns start.
<mrvn> noticed even
<heat> that's definitely not your point, you literally told me n_tty was a device
hbag has joined #osdev
<heat> it's a line discipline and it only takes a look at what you're sending or getting
<heat> it does not know what a display is
<mrvn> it knows a tab will increment the column to the next multiple of 8. Which might be wrong and then it goes wrong.
<mrvn> s/knows/assumes/
<heat> klange, yeah but it's kind of a usability problem no?
srjek has quit [Ping timeout: 250 seconds]
<nomagno> Tab stop separation should be 8 in any reasonable system
* kingoffrance has a nightmare about .oO( clippony, the helpful terminal assistant ) . night mare, get it?
<nomagno> Coding conventions is a different matter, but the raw tab character is just meant to snap to the next multiple of 8
<mrvn> nomagno: but take a serial device for example. You don't know what column you start at
<nomagno> mrvn: that's fair...
<mrvn> The n_tty assumes col=0 and tabs are spaces 8 columns and outputs accordingly. Both of which can be false.
<mrvn> Mostly the former.
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
<mrvn> s/sapces/spaced/
<mrvn> It mostly works and definetly good enough.
jhagborg has quit [Remote host closed the connection]
jhagborg has joined #osdev
hodbogi has joined #osdev
Burgundy has quit [Ping timeout: 240 seconds]
jhagborg has quit [Remote host closed the connection]
jhagborg has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
<heat_> i'll do it like freebsd does
<heat_> feels sane
heat_ is now known as heat
<heat> i don't understand how linux's is supposed to work though
<heat> but it does, that's a fact (and works better than freebsd's)
zid has quit [Ping timeout: 256 seconds]
<mrvn> heat: I assume linux does the same just in a more convoluted way.
Likorn has quit [Quit: WeeChat 3.4.1]
<heat> freebsd is mindlessly incrementing the column until it either finds a newline or \r
<heat> independently of it overflowing the actual terminal's columns or not
<mrvn> but traditional terminals are 80 chars so that works fine.
<klange> heat: I have a fancy line editor available for repls like kuroko or my shell (and also python back in the day, had a binding for it), so the functionality of my integrated TTY line buffer is less important to me
<klange> it _is_ nice to have good functionality there, and there's technically no reason you couldn't support rich editing like a moving cursor, beyond an increasing number of things you need to assume about the terminal on the other end
<klange> Linux's does UTF-8 _but_ doesn't understand wide characters, so it can backspace through a few bytes for a single character, but still assumes that character is one cell wide
Mutabah has quit [Ping timeout: 256 seconds]
<mrvn> klange: But I want to have my female astronaut with brown skin tone.
<klange> you can but you can't backspace through them correctly ;)
<klange> maybe use readline!
<mrvn> what about "o instead of ö?
Mutabah has joined #osdev
<mrvn> The compositions for emojies is just insane. Note: female astronaut is rocket ship + woman
<mrvn> Is " + rocketship + man a alien astronaut with antennas?
<mrvn> .oO(need more emojis 8-)
* kingoffrance .oO( what about MVC? )
* kingoffrance .oO( don't cross the streams )
<mrvn> model-view-controller?
<kingoffrance> yes, i'm half-serious, half not. it's only emojis to my knowledge
<mrvn> not sure how mvc and emojies intersect
<kingoffrance> its a q of whether color is part of a "character" or a style/format of a "character"
<mrvn> that depends on your model and view. E.g. QT has a display string, a font, a color, ...
<mrvn> Not sure emojis care much about color attribute
<mrvn> As in setting the foreground to red won't make your smiley face red.
<mrvn> Similar what does "bold" mean for an emoji?
<mrvn> More line with around the smiley? A larger smile?
<mrvn> :-) vs. 8-)?
<mrvn> hmm, I should check if I can actually use emojis in QT in our app at work.
<gog> ö
* mrvn goes and registers 'white female astronaut'.de
<mrvn> or to bed.
heat has quit [Remote host closed the connection]
<moon-child> you can have spaces in domains??
heat has joined #osdev
<moon-child> or--punycode, I guess?