💾 Archived View for gemini.ctrl-c.club › ~phoebos › logs › kisslinux-2023-04-04.txt captured on 2024-05-26 at 16:01:47.

View Raw

More Information

⬅️ Previous capture (2023-04-20)

-=-=-=-=-=-=-

[2023-04-04T04:18:01Z] <testuser[m]> Hi
[2023-04-04T05:22:29Z] <sewn> Hi
[2023-04-04T07:35:37Z] <acidbong> fellas, I'm playing with a Glasnost tarball in Termux and wanna migrate it to kiss-community/repo, but b3sum fails to build
[2023-04-04T07:35:38Z] <acidbong> arch is aarch64/arm64, toolchain is llvm14
[2023-04-04T07:37:24Z] <acidbong> how to troubleshoot further?
[2023-04-04T07:47:48Z] <sewn> is the dev of glasnost even here
[2023-04-04T07:48:28Z] <sewn> <acidbong> "how to troubleshoot further?" <- you can look at the logs or the build errors :/
[2023-04-04T09:58:42Z] <aelspire> acidbong: I see that https://git.sr.ht/~mcf/b3sum/tree there are different implementations for x86-64 with AVX2, AVX512, SSE2 and SSE41 but none for any ARM 
[2023-04-04T09:59:04Z] <aelspire> but the "portable" is there so it might be it
[2023-04-04T09:59:15Z] <aelspire> I would check in logs which one it tries to use
[2023-04-04T09:59:30Z] <aelspire> and check how it detects which one it should use
[2023-04-04T09:59:42Z] <aelspire> I would say that it looks like weakest point here
[2023-04-04T10:09:40Z] <acidbong> https://uploads.hmm.st/acidbong/fLsp6RPwDy2U/zb2rhoAjs7ir7PdpUxZQCN568aKB5uiaHUAYVb12aLn6wAPdo.log
[2023-04-04T10:10:15Z] <acidbong> at least avx2 doesn't work
[2023-04-04T10:11:33Z] <aelspire> it tries to use this file by default?
[2023-04-04T10:11:43Z] <aelspire> on ARM?
[2023-04-04T10:12:49Z] <aelspire> add WITH_ASM=0 as variable to make
[2023-04-04T10:26:39Z] <acidbong> success
[2023-04-04T10:27:18Z] <aelspire> great
[2023-04-04T10:27:39Z] <aelspire> you will probably need some kind of fork for ARM
[2023-04-04T10:27:49Z] <aelspire> as patches can differ etc.
[2023-04-04T10:28:28Z] <aelspire> I would do separate repo with normal repo as git submodule and separate directory with arm-override or sth like this
[2023-04-04T10:28:51Z] <aelspire> if I would be in such situation
[2023-04-04T12:04:55Z] <midfavila> y'know, here's a question
[2023-04-04T12:05:47Z] <midfavila> kernels are responsible for controlling the environment of a system and executing programs, among other things, right? and obviously they control a lot of low-level platform and architecture-specific details, too
[2023-04-04T12:06:18Z] <midfavila> given modern hardware's compute power, wouldn't it be better to use a small JIT in kernelspace and then write everything to target that?
[2023-04-04T12:07:41Z] <midfavila> i get that it's basically just java but in kernelspace, but that's kind of the idea. then again, I suppose the return value on that would only be worth it if the overhead of using a JIT was less valuable than the time spent porting applications and the kernel from one platform to another... and for multimedia and other realtime applications the performance overhead might be too great
[2023-04-04T12:10:43Z] <aelspire> such virtual machine would need to be gigantic
[2023-04-04T12:11:32Z] <midfavila> you think so? couldn't use a stack-based language as the intermediate format or something? 
[2023-04-04T12:11:52Z] <aelspire> and what about games wanting to zero-overhead access to GPU?
[2023-04-04T12:12:14Z] <aelspire> there are too much things to consider
[2023-04-04T12:12:41Z] <aelspire> so this leaky abstraction is the best what can be done in somewhat sane scope
[2023-04-04T12:12:51Z] <aelspire> and look into microkernels
[2023-04-04T12:13:06Z] <midfavila> fair enough.
[2023-04-04T12:13:23Z] <aelspire> generaly border of kernel responsibility and other things is where we want to draw it
[2023-04-04T12:13:50Z] <aelspire> so don't sweat about super rigid definition of what kernel is
[2023-04-04T12:14:20Z] <midfavila> https://compas.cs.stonybrook.edu/~mferdman/downloads.php/SOSP13_JIT_Kernels_Poster.pdf
[2023-04-04T12:14:31Z] <midfavila> i did find this and a book from Springer talking about JIT kernels
[2023-04-04T12:14:55Z] <aelspire> generally there is something like this
[2023-04-04T12:15:00Z] <aelspire> Android
[2023-04-04T12:15:13Z] <aelspire> linux kernel + Java VM
[2023-04-04T12:15:38Z] <aelspire> but the VM is another layer 
[2023-04-04T12:15:43Z] <midfavila> yeah, but why not run the VM on bare metal and compile everything, kernel included, to an IA - that's what I'm asking
[2023-04-04T12:16:23Z] <aelspire> it would be too broad scope of project to support anything is such kernel
[2023-04-04T12:16:44Z] <aelspire> see that linux guy's currently aren't developing mesa or OpenGL
[2023-04-04T12:16:51Z] <aelspire> guys*
[2023-04-04T12:17:18Z] <aelspire> and the gains from such thing are uncertain 
[2023-04-04T12:17:43Z] <aelspire> as there will probably be performance hit and to tell the truth what isn't abstracted?
[2023-04-04T12:18:52Z] <midfavila> i guess i'll take your word on it. i don't know enough about the subject to really draw any conclusions or reason about things effectively, yet
[2023-04-04T12:19:05Z] <aelspire> better don't take my word only
[2023-04-04T12:19:10Z] <aelspire> I can be wrong
[2023-04-04T12:19:14Z] <midfavila> well, 'course
[2023-04-04T12:19:50Z] <aelspire> but I think that this solution from the userspace point of view is no different than using something like JAVA
[2023-04-04T12:20:14Z] <midfavila> philosophically it's not, you're right, but i don't hate the underlying idea of java
[2023-04-04T12:20:27Z] <midfavila> the whole write once run anywhere idea is pretty appealing 
[2023-04-04T12:20:32Z] <aelspire> yes
[2023-04-04T12:20:40Z] <midfavila> i just don't like the language itself
[2023-04-04T12:20:47Z] <aelspire> but the same idea was behind C
[2023-04-04T12:20:51Z] <aelspire> but failed
[2023-04-04T12:21:07Z] <midfavila> yesn't
[2023-04-04T12:21:17Z] <midfavila> but also maybe
[2023-04-04T12:21:37Z] <aelspire> interesting take about VMs
[2023-04-04T12:21:42Z] <midfavila> it didn't really fail per se, i just don't think that's the right way to look at it
[2023-04-04T12:21:55Z] <aelspire> https://100r.co/site/uxn.html
[2023-04-04T12:22:06Z] <aelspire> C didn't failed
[2023-04-04T12:22:40Z] <aelspire> it failed in goal of being the lang in which you can write code and this code would be portable to every arch under the sum
[2023-04-04T12:22:42Z] <aelspire> sun*
[2023-04-04T12:22:50Z] <midfavila> did it?
[2023-04-04T12:22:54Z] <aelspire> yes
[2023-04-04T12:23:09Z] <midfavila> uh, which arch in production use doesn't have *a* C compiler available?
[2023-04-04T12:23:11Z] <aelspire> too much UBs
[2023-04-04T12:23:15Z] <midfavila> legitimate question
[2023-04-04T12:23:21Z] <aelspire> and too much implementation defined things
[2023-04-04T12:24:00Z] <aelspire> but you cannot take code written once and compile it everywhere and expects that everything will always work
[2023-04-04T12:24:19Z] <aelspire> but you can write code for almost every existing arch in C
[2023-04-04T12:24:34Z] <aelspire> the *portable* word is the key
[2023-04-04T12:25:30Z] <aelspire> in real world counters will overflow etc,
[2023-04-04T12:25:42Z] <aelspire> not knowing exactly what the size of int is
[2023-04-04T12:25:49Z] <aelspire> is problematic
[2023-04-04T12:26:00Z] <aelspire> so the ones from stdint.h are widely used
[2023-04-04T12:26:09Z] <aelspire> so uint32_t etc
[2023-04-04T12:26:24Z] <aelspire> this helps greatly in writing portable code
[2023-04-04T12:26:26Z] <midfavila> er, could you not just... use the lowest common denominator in the standard? i get that that imposes a lot of limits, but if you want your code to be as portable as possible it's only reasonable to accept certain runtime limitations
[2023-04-04T12:26:42Z] <midfavila> but yeah, the stdint stuff was also going to be something i mentioned
[2023-04-04T12:27:14Z] <aelspire> C standard is pretty broad
[2023-04-04T12:27:28Z] <aelspire> and lowest common denominator is dialect of C already
[2023-04-04T12:27:58Z] <aelspire> so lets use C but only half of it
[2023-04-04T12:28:12Z] <aelspire> such code could be portable indeed
[2023-04-04T12:28:32Z] <aelspire> but I wouldn't say this is normal C anymore
[2023-04-04T12:28:51Z] <midfavila> why? just because it'd end up a little idiosyncratic? 
[2023-04-04T12:29:26Z] <aelspire> because other programmer using this C subset need to be told explicitly we use C but without this and that
[2023-04-04T12:29:38Z] <midfavila> ...is that, er, a common problem?
[2023-04-04T12:29:42Z] <aelspire> yup
[2023-04-04T12:29:45Z] <midfavila> you can't just have a project style guide?
[2023-04-04T12:30:17Z] <aelspire> this project style guide would be bigger than major part of projects in the world.
[2023-04-04T12:30:33Z] <midfavila> i mean, if it was *exclusive*, I guess?
[2023-04-04T12:30:56Z] <aelspire> generally speaking we are going into theoretical grounds
[2023-04-04T12:31:07Z] <midfavila> but if you only specify what's allowed, I really don't see why that would be the case. just because i'm inexperienced, i guess
[2023-04-04T12:31:07Z] <midfavila> idk
[2023-04-04T12:31:22Z] <aelspire> IMHO subset of C is subset of C not "the C language"
[2023-04-04T12:32:01Z] <aelspire> so if C allows you to use int or int32_t but your project uses only later
[2023-04-04T12:32:21Z] <aelspire> the code using int is correct and valid C code, isn't it?
[2023-04-04T12:32:39Z] <aelspire> co what you will tell the commiter? This is not valid C?
[2023-04-04T12:32:48Z] <aelspire> or you will tell: we don't use this C feature here
[2023-04-04T12:32:50Z] <midfavila> yes, but not valid subset-of-C. but the subset of something is still part of that larger set
[2023-04-04T12:33:51Z] <aelspire> this is too fuzzy for me
[2023-04-04T12:33:51Z] <midfavila> i'm just saying that you could say "we use this and this and this" instead of "don't use this and this and this and this and this and ...", because the latter really could go on forever
[2023-04-04T12:34:28Z] <midfavila> "Directive: Use stdint instead of inbuilt types. Reason: inbuilt types have variable sizes across different platforms." 
[2023-04-04T12:34:32Z] <aelspire> I think it depends on who you will ask
[2023-04-04T12:34:39Z] <midfavila> also on the nature of the project
[2023-04-04T12:34:49Z] <aelspire> if subset of something can be called something
[2023-04-04T12:35:58Z] <aelspire> in broader view you can take valid C code without UBs and implementation defined things
[2023-04-04T12:36:01Z] <midfavila> well, subsets of a set *can* be equal to the set, but only if every element in the set is present in the subset. what i'm saying is that if we have C, and then we have C' which is C without inbuilt types and instead relying on those in stdint, C' is a subset of C and therefore valid C, but C isn't a subset of C' and therefore invalid in projects written in C'
[2023-04-04T12:36:07Z] * midfavila shrugs?
[2023-04-04T12:36:24Z] <aelspire> which works on x86-64 compile it on arm 32-bit
[2023-04-04T12:36:30Z] <aelspire> and valid code will not work
[2023-04-04T12:36:48Z] <aelspire> valid for x86-64
[2023-04-04T12:37:01Z] <midfavila> that would be a compiler issue though, wouldn't it?
[2023-04-04T12:37:13Z] <midfavila> if there's no UB or implementation-defined stuff, that's as valid as it gets
[2023-04-04T12:37:14Z] <aelspire> not necessary 
[2023-04-04T12:38:08Z] <aelspire> lets look into char:
[2023-04-04T12:38:08Z] <aelspire> Smallest addressable unit of the machine that can contain basic character set. It is an integer type. Actual type can be either signed or unsigned. It contains CHAR_BIT bits.[3]
[2023-04-04T12:38:23Z] <aelspire> so you cannot tell if it is signed or not already
[2023-04-04T12:38:29Z] <aelspire> on your arch
[2023-04-04T12:38:47Z] <aelspire> and this is literally the first type on wiki I've checked
[2023-04-04T12:38:55Z] <midfavila> sure, but that's only relevant if you're storing integers in chars
[2023-04-04T12:39:07Z] <midfavila> you shouldn't really be doing that
[2023-04-04T12:39:27Z] <midfavila> if you need *really* small units of space to represent flags or something, use a bitfield
[2023-04-04T12:39:36Z] <aelspire> in code there are sometimes weird things that need to be done
[2023-04-04T12:39:46Z] <midfavila> need to be, or want to be?
[2023-04-04T12:39:50Z] <aelspire> need to be
[2023-04-04T12:39:51Z] <midfavila> legitimate question
[2023-04-04T12:40:08Z] <midfavila> plus, can't you just...
[2023-04-04T12:40:21Z] <midfavila> i don't know, use literally any other type?
[2023-04-04T12:40:27Z] <midfavila> this sort of thing seems contrived
[2023-04-04T12:40:27Z] <aelspire> how to quickly find which letter code should be displayed when we have number 1?
[2023-04-04T12:40:43Z] <aelspire> add '0' + 1
[2023-04-04T12:41:10Z] <aelspire> so there is already arithmetic on number we aren't sure if is signed or not
[2023-04-04T12:41:21Z] <midfavila> sure, but '0' is *always* '0'
[2023-04-04T12:41:29Z] <midfavila> it doesn't matter if '0' is signed or not
[2023-04-04T12:41:39Z] <midfavila> because you're not really operating on a number, so to speak
[2023-04-04T12:41:43Z] <midfavila> it's a symbolic value 
[2023-04-04T12:41:57Z] <midfavila> anyway, the bigger problem there is that you assume things about the character set
[2023-04-04T12:42:02Z] <aelspire> this is example of problems where you need to do arithmetic on char
[2023-04-04T12:42:20Z] <midfavila> there probably aren't any with non-contiguous numbers, but still something i'd be more concerned about than the signedness of '0'
[2023-04-04T12:42:32Z] <aelspire> finding one which is real problem is not something I can do so quice
[2023-04-04T12:42:36Z] <midfavila> ...then again i've heard horror stories about EBCDIC...
[2023-04-04T12:42:38Z] <midfavila> and no, that's fair
[2023-04-04T12:43:21Z] <aelspire> generally there are places when you need to do some math on char
[2023-04-04T12:43:29Z] <aelspire> and this is already footgun
[2023-04-04T12:43:35Z] <midfavila> but when you use chars to represent chars, and specifically if you're targetting ascii... it doesn't matter if it's signed or not because you're not *really* saying "add one to whatever integer '0' represents". you are to the compiler, but really, what you're saying is "give me the character in the set that follows 0"
[2023-04-04T12:43:41Z] <aelspire> so writing portable code in C is possible
[2023-04-04T12:43:48Z] <aelspire> but need special considerations
[2023-04-04T12:44:10Z] <aelspire> and I thing 90% of existing C code will not work
[2023-04-04T12:44:14Z] <aelspire> think*
[2023-04-04T12:44:29Z] <midfavila> i mean, at that point it comes down to what machine is being targetted 
[2023-04-04T12:44:42Z] <midfavila> obviously when we're arguing about the signedness of characters, this isn't a "normal" codebase
[2023-04-04T12:44:58Z] <midfavila> it's not targetting a specific OS or architecture or set of standards that already exist, I imagine
[2023-04-04T12:53:36Z] <aelspire> UBs are generally bad IMHO
[2023-04-04T12:53:54Z] <aelspire> and C have some real footguns
[2023-04-04T12:54:29Z] <aelspire> to writing code to be portable everywhere and will work on every compiler ever is pretty problematic
[2023-04-04T12:54:31Z] <aelspire> but doable
[2023-04-04T12:54:49Z] <aelspire> but it will require using subset of C probably
[2023-04-04T12:54:52Z] <aelspire> I'm not sure
[2023-04-04T12:55:11Z] <aelspire> offtopic: I today have learned about another C quirk
[2023-04-04T12:55:30Z] <aelspire> comparing pointers to different objects is UB
[2023-04-04T12:55:46Z] <aelspire> I didn't use this yet, I think
[2023-04-04T12:56:06Z] <aelspire> but I would easily do this mistake until today
[2023-04-04T12:56:25Z] <aelspire> writing your program in such minefield is not so fun
[2023-04-04T12:56:56Z] <midfavila> i feel like at a certain point it would be easier to write portions of your program in assembler, if you want to do crazy shit
[2023-04-04T12:57:11Z] <aelspire> comparing pointers is creazy thing?
[2023-04-04T12:57:22Z] <midfavila> not necessarily comparing pointers
[2023-04-04T12:57:26Z] <midfavila> just stuff that could be UB in general
[2023-04-04T12:57:38Z] <aelspire> Hare is good but still in progress
[2023-04-04T12:57:54Z] <midfavila> if you want to do something that could be UB, have a good, long, hard think about why and what it would accomplish, and if you *really* need to do stuff in that vein, switch to assembelr
[2023-04-04T12:57:57Z] <midfavila> assembler*
[2023-04-04T12:58:13Z] <aelspire> if you know it is UB
[2023-04-04T12:58:41Z] <aelspire> I don't think normal programmers will use UB in code if they know it is UB
[2023-04-04T12:59:26Z] * midfavila shrugs?
[2023-04-04T12:59:32Z] <midfavila> anyway, i have to go do some stuff
[2023-04-04T12:59:46Z] <midfavila> i said i would do an hour of mathematics studies earlier and it's now been an hour and no math has been studied
[2023-04-04T13:00:19Z] <aelspire> have nice time with math ;)
[2023-04-04T13:00:29Z] <midfavila> oh, i'm sure it'll be *great*
[2023-04-04T13:00:56Z] <midfavila> i'm attending a course at ASU for "college algebra", and they have this automated assessment that you have to take before doing anything. my results were abysmal :v
[2023-04-04T13:01:01Z] <midfavila> so, lots of work to do
[2023-04-04T13:02:14Z] <aelspire> try to enjoy it somehow
[2023-04-04T13:02:23Z] <aelspire> masochistic tendencies will help
[2023-04-04T20:19:00Z] * sewn uploaded a video: (10117KiB) < https://libera.ems.host/_matrix/media/v3/download/envs.net/cc097ee7eb417dbd2d5fcc4fe152362878c7c614/retr0reload-04042023-0001-1.mp4 >
[2023-04-04T21:17:53Z] <midfavila> math didn't end up happening unfortunately
[2023-04-04T21:18:01Z] <midfavila> needed to do house stuff and also apply to jobs
[2023-04-04T21:18:11Z] <midfavila> seventeen stops later and i'm no closer to one
[2023-04-04T21:18:20Z] * midfavila screams in having to borrow money to pay for food
[2023-04-04T21:19:06Z] <sewn> watch the video mid
[2023-04-04T21:19:12Z] <sewn> it will fix your life
[2023-04-04T21:21:05Z] <midfavila> i fail to see how this helps me have a healthy diet, the ability to exercise regularly, a quality education and a job where i can keep some semblance of dignity
[2023-04-04T21:21:08Z] <midfavila> the cats are cute though
[2023-04-04T21:57:26Z] <sewn> Good 
[2023-04-04T22:06:31Z] <midfavila> >intermediate network administrator job
[2023-04-04T22:06:31Z] <midfavila> >minimum eight years of relevant experience
[2023-04-04T22:06:34Z] <midfavila> ?????????
[2023-04-04T22:15:37Z] <shokara> o_O
[2023-04-04T22:16:09Z] <shokara> with that amount of experience, one might as well apply for a senior position
[2023-04-04T22:16:29Z] <drez> if only you could prove you're the reincarnation of a network engineer who died in the year 2001...
[2023-04-04T22:17:07Z] <midfavila> honestly i might just have to take out a student loan after all
[2023-04-04T22:17:55Z] <midfavila> my clown college diploma is a fucking joke and has been literally *zero* help in finding a job, and nobody takes what skills I do have seriously because everyone around here is *super* into the Microsoft world
[2023-04-04T22:18:26Z] <midfavila> i was talking to some of the business owners i applied to work with today about the state of the provincial economy, and basically everyone said that even if you have a bach or master's you won't be able to find work here at all
[2023-04-04T22:18:32Z] <midfavila> you need to leave the province or go overseas
[2023-04-04T22:54:13Z] <sewn> go live in norway
[2023-04-04T23:11:38Z] <dcat> norway?
[2023-04-04T23:12:06Z] <dcat> I see my country and I can't help myself
[2023-04-04T23:12:16Z] <dcat> where's dylan?
[2023-04-04T23:16:33Z] <acidbong> busy, distracted or lost interest, who knows
[2023-04-04T23:17:08Z] <dcat> presumably one of those
[2023-04-04T23:28:02Z] <midfavila> how tf am i supposed to move to another country when i can't afford to even move to another town
[2023-04-04T23:28:26Z] <midfavila> this isn't really an appropriate topic for funny haha meme jokes
[2023-04-04T23:29:45Z] <dcat> midfavila: where are you from?
[2023-04-04T23:43:45Z] <midfavila> new brunswick, canada
[2023-04-04T23:43:50Z] <midfavila> or, that's where i live, anyway
[2023-04-04T23:43:53Z] <midfavila> i wouldn't say i'm "from" here
[2023-04-04T23:44:02Z] <midfavila> it's basically the slums 
[2023-04-04T23:44:29Z] <midfavila> everything's expensive, nobody can find work, and you can't even leave the goddamn place because of how expensive travel is now