<kazinsal>
probably realized that gimmick virtual machines are just that
<kazinsal>
also appears to have been "funded" by a bunch of crypto shills who are probably now bankrupt
elastic_dog has quit [Ping timeout: 248 seconds]
elastic_dog has joined #osdev
dutch has quit [Quit: WeeChat 3.8]
dutch has joined #osdev
<geist>
wow he definitely has a point of view
<geist>
omg is this literally one of those stupid one instruction turing machine things?
<kazinsal>
yeah
<kazinsal>
the comparison of a jpeg library being larger than the apollo guidance computer's code library is one of those things that makes me realize he has no idea what the fuck he's talking about
<geist>
right
<geist>
i mean i guess grats if he got a gui running on a turing machine, but because the architecture is simple does not make it easy or worthwhile to use
<geist>
"look at how simple my unicycle is, since its simple it's intrinsically superior to all other forms of wheeled transportation"
<kazinsal>
"-The national surveillance is wired to your ISP. 1 Does not matters, where you live.2" yeah buddy I'm sure that your twenty effective mips gimmick vm is gonna help you with that. might i suggest a carbon monoxide detector instead
pharonix71 has joined #osdev
elastic_dog has quit [Ping timeout: 250 seconds]
elastic_dog has joined #osdev
CalculusCats is now known as CalculusCat
[itchyjunk] has quit [Read error: Connection reset by peer]
pg12 has quit [Ping timeout: 240 seconds]
pg12 has joined #osdev
Arthuria has joined #osdev
osmten has joined #osdev
clever has quit [Ping timeout: 246 seconds]
bradd has joined #osdev
xenos1984 has quit [Quit: Leaving.]
frkzoid has joined #osdev
frkazoid333 has joined #osdev
frkzoid has quit [Ping timeout: 252 seconds]
clever has joined #osdev
xenos1984 has joined #osdev
bgs has joined #osdev
bliminse has quit [Quit: leaving]
clever has quit [Ping timeout: 255 seconds]
pmaz has joined #osdev
wlemuel has quit [Ping timeout: 255 seconds]
wlemuel has joined #osdev
Arthuria has quit [Remote host closed the connection]
bliminse has joined #osdev
bliminse has quit [Client Quit]
bliminse has joined #osdev
linear_cannon has quit [Ping timeout: 248 seconds]
linear_cannon has joined #osdev
slidercrank has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
gildasio1 has quit [Remote host closed the connection]
gildasio1 has joined #osdev
goliath has joined #osdev
Halofreak1990 has quit [Ping timeout: 240 seconds]
heat has quit [Remote host closed the connection]
heat has joined #osdev
Jari-- has joined #osdev
wlemuel has quit [Quit: Ping timeout (120 seconds)]
<heat>
yes, i need a kernel console, because this is a unix
<zid`>
why do you care about 50k btw
<heat>
a UNIX system without a kernel console is like a Windows clone without DoThing, DoThingEx, DoThingA, DoThingW, DoThingExA, DoThingExW
<heat>
cuz it's large
<zid`>
not really?
wereii has joined #osdev
<zid`>
it's a 8x50000 bitmap
<sham1>
UNIX is when kernel console. But seriously though, if you want to do it then you really have no choice other than to have the font then, which means paying the price with memory usage
<heat>
but I already have a font, its just not unicode
<bnchs>
heat: i want my KillMyselfExA
<heat>
thank you benches, very cool
<sham1>
hRope
<mjg>
KillMyseflByHandle
<bnchs>
microsoft devs be like WriteAVeryLongFunctionNameExplainingWhatTheFunctionDoesExA
<nortti>
are there unices that do support more than like 512 codepoints in the kernel console?
<heat>
yes, mine
<zid`>
mine
<zid`>
but it's not a unix
<zid`>
56540 lines (56538 sloc) 830 KB
<zid`>
my font
<nortti>
what does it cover?
<kof123>
i'm total opposite, snake_case_never_uppercase_functions_ever() completely different
<heat>
anyway, it's the second largest thing in my kernel. I even have a char_indices that does utf_to_char in the font atm, which is huge (128KiB) but can be removed with some care, just a dirty O(1) char mapping solution
<sham1>
I'd make it so that the init process launches a terminal emulator that takes the kernel provided graphics context and draws the thing there. Works fine with a UNIX mode
<heat>
nortti, i'm using univga which covers most of the important language stuff of unicode
<sham1>
Of course I'm also obsessed with putting things in userspace, so that's a thing
<kof123>
flash your bios or uefi splash screen and stick it in there in "rom"
* kof123
runs
<nortti>
heat: do you do text shaping in-kernel too?
<heat>
not really
<nortti>
or, hm, not shaping. but the thing where you select correct context-specific glyph
<nortti>
in that case you can eliminate scripts that require that without regression, can't you?
<heat>
if you mean doing "a´"->"á", no
<zid`>
COMPOSITION
<zid`>
dirty practice
<nortti>
no I mean like how arabic initial and final forms are different but encoded using the same codepoint
<sham1>
INHERITANCE
<sham1>
nortti: that would be shaping
<zid`>
ligatures?
<zid`>
shaping? pfft
<sham1>
Kind of like how Greek has a word-final small sigma and a median sigma form
<heat>
yeah erm no, i'm not doing anything fancy like that
<nortti>
sham1: ah, okay. I thought shaping was the process of adjusting the locations of combining glyphs to make the final glyph
<heat>
it works exactly as one would expect from a latin-script centric thing. codepoint gets character in console cell, done
<sham1>
That's part of it
<zid`>
doesn't really go together with quick bitmap font
<nortti>
heat: do you handle halfwidth vs. fullwidth?
<heat>
no
<GeDaMo>
Are you doing right-to-left text?
<heat>
i tested with romanian and russian, and I get good output, so that covers most of europe, and I'm happy
<heat>
dawg
<heat>
<heat> it works exactly as one would expect from a latin-script centric thing. codepoint gets character in console cell, done
<GeDaMo>
Then why have all the codepoints?
<heat>
because i can now print russian
<sham1>
^
<sham1>
Can you print Ukrainian
<heat>
yes
<nortti>
heat: I think GeDaMo is asking why you (presumably) include code points for languages that require LTR, like hebrew
<nortti>
RTL even
<heat>
because i'm taking the bdf font as-is
<heat>
and not supporting hebrew, etc is a flaw
<heat>
even though I probably won't ever care enough to support it, but who knows
<sham1>
Unless you want to add text shaping, you won't be supporting those kinds of languages in a kernel
<heat>
there's RTL support in VT100-ish stuff
<nortti>
I thought hebrew was pretty simple? does it have context-dependant forms too?
<nortti>
okay, unicode seems to encode those forms as separate codepoints
<bslsk05>
learn.microsoft.com: Developing OpenType Fonts for Hebrew Script - Typography | Microsoft Learn
<nortti>
ah, right, pointing
<Ermine>
Are you people talking about supporting RTL languages in consoles (e.g. without GUI)?
<nortti>
specifically as part of the system console, and not as normal userland application
<zid`>
I'm sure there are norms for printing fucked up langs using bad fonts
<zid`>
hell, japanese uses yen as the fucking path sep because the console font doesn't have \
<zid`>
or keyboard
<nortti>
it's a bit more complex than that. the japanese national variant of ASCII reassigned the codepoint where \ is (as it was national use codepoint) to ¥
<zid`>
yup
<zid`>
It's a good example of "guess we'll make do" when you're limited by encodings/fonts/etc though
<nortti>
aye, plus backcompat
<heat>
"hell, japanese uses yen as the fucking path sep" LOL
<nortti>
windows is natively unicode so they could have just separeted \ and ¥ like how mac os x does
<nortti>
but ppl are used to ¥ and \ being the same so they are
<zid`>
I am used to typing dates wrong into american software, similarly.
linearcannon has joined #osdev
linear_cannon has quit [Ping timeout: 255 seconds]
awita has joined #osdev
wlemuel has quit [Quit: Ping timeout (120 seconds)]
wlemuel has joined #osdev
dude12312414 has joined #osdev
ornx has quit [Ping timeout: 255 seconds]
ornx has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
awita has quit [Remote host closed the connection]
<ddevault>
has anyone had success in setting up GNU-EFI or POSIX-UEFI here
<heat>
yes
<ddevault>
which?
<heat>
gnu efi
<ddevault>
is it halfway decent
<heat>
yeah I guess. what are you looking for?
<ddevault>
want to write an x86_64 EFI bootloader in C
<bslsk05>
github.com: Carbon/Makefile at master · heatd/Carbon · GitHub
<heat>
keep in mind that gnu-efi's path may change from distro to distro. I haven't found a solution just yet, maybe there's a pkgconfig thing somewhere
<ddevault>
I don't have a pc file
<ddevault>
¯\_(ツ)_/¯
<ddevault>
do you recommend using mingw, clang, or objcopy to produce PE files
<zid`>
hex editor
<zid`>
nothing else can be trusted
<heat>
objcopy
<ddevault>
I will be a happy man if I never look at a hexdump of a PE file again
<heat>
so, erm, if you use mingw or clang in windows-pe mode you don't really need gnu-efi
<ddevault>
err good point
<heat>
cuz basically the really crucial and hard-to-get bit in gnu-efi is relocation processing
<heat>
because objcopy doesn't convert those for you, so its crt0.o does the ELF reloc processing as your PE file will have 0 relocs
<ddevault>
fewer lines of code means more performance and less bugs
<bslsk05>
'Using a 1930 Teletype as a Linux Terminal' by CuriousMarc (00:16:33)
<mjg>
+ /* swap using fast memcpy() */
<mjg>
+ memcpy(tmp, pa, es);
<mjg>
+ memcpy(pa, pb, es);
<mjg>
+ memcpy(pb, tmp, es);
* mjg
has doubts
Halofreak1990 has joined #osdev
<heat>
oh gawd
<heat>
i mean, I guess
<heat>
if es is const or const-ish the compiler should be able to make that into loads/stores
<zid`>
why can they not use =
<heat>
or possibly a swap too
Halofreak1990 has quit [Ping timeout: 248 seconds]
Halofreak1990 has joined #osdev
FreeFull has joined #osdev
slidercrank has joined #osdev
* sham1
looks at scrollback
<sham1>
#pragma once forever
<sham1>
I'd love for there to be a more portable thing for that, but eh. WG14 works slowly
<sham1>
Problem with header guards is that they pollute the namespace
<sham1>
Of course the real issue is that translation units are done in a silly way in C, but oh well, c'est la vie
<gog>
#pragma once gang
<gog>
but let's be honest, all programming is equally horrible
<mjg>
#pragma not even once
<mjg>
gog: it is not
<mjg>
*equally* horrible
<kof123>
"Problem with header guards is that they pollute the namespace " yes, or you can hash or something ugly :/
<kof123>
#pragma not with a ten foot pole
* sakasama
still writes old-fashioned header guards with the project name and mangled path concatenated.
<mjg>
quite frankly i don't even see header guards
<sakasama>
They're usually specially handled by compilers anyways.
<sham1>
It's not even that they take space in a header, although that's also an issue
<sham1>
It's that you have to come up with a globally unique preprocessor token to act as the guard thing
<sham1>
But again, header guards and even #pragma once are just a symptom of headers and the way C achieves separate compilation
<gog>
are we saying then, that C has deficiencies that have failed to be addressed over time?
<gog>
perish the thought
<gog>
it's a perfect programming language
<sham1>
I know, a controversial claim
<sakasama>
If your project doesn't have a globally unique macro prefix you're in trouble anyways.
<sham1>
I'm piping hot with all these novel hot takes
<sham1>
wombat: right. The thing is that you shouldn't need to
<sakasama>
If there's a clash there, one of them needs replacement with sed and filenames typically end up being unique after mangling anyways, so in practice this isn't an issue for header guards any more than it is for macros and namespaces.
<zid`>
C is *still* the least horrible language is the truely sickening thing about programming
<zid`>
and it's got obvious 40 year old issues that are trivially fixed
<sakasama>
Maybe if you have terrible paths like "vector/arc/tokens.h", "vector_arc/tokens.h", "vector/arc_tokens.h"...
<zid`>
I've never, in all my life, included the same filename from different paths, into the same .c
<sakasama>
I prefer my crippled version of C++.
<zid`>
so imo FILE_H works fine as an include guard
<zid`>
ime I should say
<sakasama>
I'd prefix it with a project-specific token at least.
<zid`>
mm probably
<zid`>
but.. also nah
<zid`>
if someone gets into trouble including my mem.h from boros into mem.h from my gamboy emulator into the same .c, they can fix it.
Jari-- has joined #osdev
<gog>
fwiw only dorks like us use and argue about c
<gog>
so it's fine if there's speedbumps
<zid`>
my .h files are literally like 4 lines usually
<zid`>
thing_new thing_destroy thing_do thing_do2
<zid`>
decs for those
<sakasama>
Adding the prefix not only avoids most of those conflicts, but also makes it easier to fix them when they occur since one can just sed that prefix in one of the projects.
<sakasama>
It's worth the trivial effort, imho.
<zid`>
I disagree
<zid`>
I've written hundreds of headers and had to fix that problem 0 times, so not doing it is winning by a ratio of infinity to
<zid`>
1
<zid`>
*or* we could fix the C processor language from 40 years ago to have #include default to 'once' and #again or something for repeated inclusion
<zid`>
(for X-macros)
<zid`>
(maybe not 'again', something that means 'once or once more idk', not just 'once more')
<zid`>
maybe just make include how it is now, and add #once
<sakasama>
I wonder if zig actually fixes C without massive frustrations.
<zid`>
The real question
<zid`>
is what do we name the fixed version of C I end up making
<zid`>
C++ is taken, D is taken
<zid`>
zig is taken
* sakasama
still needs to evaluate zig.
<zid`>
zid is too much like zig
<sakasama>
I shall name it Narful.
<kof123>
this could work for namespaces. zid_list. pkh_malloc there's only room for 26^3 coders, after that you have to wait for an opening. when someone dies you can get in.
<zid`>
Narf is a good name
elastic_dog has quit [Ping timeout: 240 seconds]
<zid`>
"What are we doing now binky?" "Trying to take over the world!" *Narf*
elastic_dog has joined #osdev
<sakasama>
Pinky. Binky is something babies suck on.
<zid`>
yea bypo
<zid`>
tybo*
gog has quit [Quit: Konversation terminated!]
terminalpusher has joined #osdev
gog has joined #osdev
dutch has quit [Quit: WeeChat 3.8]
dutch has joined #osdev
pharonix71 has quit [Remote host closed the connection]
pharonix71 has joined #osdev
Jari-- has quit [Remote host closed the connection]
dude12312414 has quit [Remote host closed the connection]
dude12312414 has joined #osdev
joe9 has joined #osdev
bauen1 has quit [Ping timeout: 252 seconds]
linearcannon has quit [Remote host closed the connection]
<mjg>
> It is traditional for the author to magnanimously accept the blame for whatever
<mjg>
deficiencies remain. I don’t. Any errors, deficiencies, or problems in this book are
<mjg>
somebody else’s fault, but I would appreciate knowing about them so as to deter-