• 0 Posts
  • 124 Comments
Joined 2 years ago
cake
Cake day: June 30th, 2023

help-circle
  • self explanatory

    If you ever had to teach anyone anything, properly teach, you would know it’s a myth. It’s self-explanatory to you because you’re already familiar with the logic, language, conventions. I’m guessing, you grew up with all that from childhood, and you just forgot how you had to learn all that, and now you assume this knowledge didn’t need to be taught. You think cog is a universally understood language for settings because you always had it in front of you. Just like a lot of people think/thought that 3.5 floppy is a universally understood icon for “save”, and people who grow up now have no idea what I am talking about.
    And then you assume that you are the average person, and start measuring everyone by this mark.
    But if several years of teaching people of different skills, motivations, and ages, how to work with computers taught me anything, it’s that there is no universal language, there is no, and cannot be anything self-explanatory, and intuitive interface is a myth perpetuated by people who newer used anything other that one OS they grew up with. There is no amount of skeuomorphism you can employ that doesn’t require at least some amount of learning.
    And when it comes to learning, let me tell you, there is nothing more straightforward to teach than “you type words and then read what the computer typed you back.”
    And if several years of tech support taught me anything, it’s that if a regular person who doesn’t care about a computer encounters a problem, they don’t have inherently better time fixing it with GUI, never, not at all, not in a million years. I however always have way better time helping them, if it’s Linux and I can tell them what to type and they can read me the response. This actually true even if people are good with computers and know their OS.









  • Yeah, the way Google doesn’t make a Linux version of their product is indeed bad. They say it’s because they want us all using their web version, and it would be probably even a valid excuse, but they make their soft for Windows, but not for Linux for some reason.
    Thankfully they are in minority, and you can just ditch them and use different, more user-friendly clouds. Or, as you mentioned, cool working tools that community made for free, since Google is apparently incapable.
    Edit: back to the previous point, you managed to do it first time without help, which kind of confirms my point. There is a Russian proverb “while the eyes are afraid, the hands are already at work”, which is very apt here.


  • None of that is code.
    It’s possible that when you ask for help you don’t even use the words correctly, like you demonstrated here, so you expect people to help you without doing a bare minimum of even understanding the terms. If this is true, it’s on you.
    So many times I saw people comming hot, asking for help, and when given a command to run, getting angry that it’s some words they don’t understand, and asking for a different solution, one that doesn’t require commands.
    I don’t know, for example, what problem you had that required you to “understand filesystem” whatever you mean by that, and if so, what solution to it you expected.


  • In the 15 years of me using Linux as my main system both for work and for fun, I have never experienced this situation. Never. I seriously don’t know what you guys doing that not only requires you to type 30 lines of commands - insane amount of commands, you can setup a complicated server from scratch with this amount if commands - that can also be accomplished with two clicks.
    Give me at least couple of examples, I’m very curious



  • The things I am talking about are applied to the development process before you start writing code. Rules from NASA’s the power of 10, MISRA, ISO-26262, DO-178C, and so on, as well as the general experience and understanding of the data flow or memory management. Stuff like that you fundamentally can’t apply to a system that takes random pieces of text from the Internet and puts it into a string until it looks like something.

    There is an enormous gray zone between so called good code (which might actually not exist), and bad code that doesn’t work and has obvious problems from the beginning. That’s the most dangerous part of it, when your code looks like something that can pass your “Turing test”, that’s where the most insidious parts get introduced, and since you completely removed that planning part and all the written in blood rules it introduced, and you eliminated experience element, you basically have to treat all the code as the most malicious parts of it, and since it’s impossible, you just dropped your standards to the ground.

    It’s like pouring sugar into concrete. When there is a lot of it, it’s obvious and concrete will never set. When there is just enough of it, it will, but structurally it will be undetectably weaker, and you have no idea when it will crack.



  • I mean, there are a lot of projects that were supported by like one guy that stopped updating it 10 years ago, that’s true. But more often than not, if the software is useful enough, there will be a modern fork of it, or someone rebuilt it from scratch, or the functionality was repeated by some later project, or at the very least it’s very easy to patch some modern dependencies, and there is a very easily googlable helpful instruction on that.
    Personally, I know of only two big products for which this isn’t the case, and they require 20 years old kernel to run, but those are esoteric outliers, and I’m not even sure people are still using it.




  • Any human written code can and will introduce UB.

    And there is enormous amount of safeguards, tricks, practices and tools we come up with to combat it. All of those are categorically unavailable to an autocomplete tool, or a tool who exclusively uses autocomplete tool to code.

    Also I don’t see how you will take more that 5 second to verify that a given function does not exist. It has happen to me, llm suggesting unexisting function. And searching by function name in the docs is instantaneous.

    Which means you can work with documentation. Which means you really, really don’t need the middle layer, like, at all.

    I haven’t run into any of those catastrophic issues.

    Glad you didn’t, but also, I’ve reviewed enough generated code to know that a lot of the time people think they’re OK, when in reality they just introduced an esoteric memory leak in a critical section. People who didn’t do it by themselves, but did it because LLM told them to.

    I you don’t want to use it don’t.

    It’s not about me. It’s about other people introducing shit into our collective lives, making it worse.


  • That’s why you use unit test and integration test.

    Good start, but not even close to being enough. What if code introduces UB? Unless you specifically look for that, and nobody does, neither unit nor on-target tests will find it. What if it’s drastically ineffective? What if there are weird and unusual corner cases?
    Now you spend more time looking for all of that and designing tests that you didn’t need to do if you had proper practices from the beginning.

    It would probably a nice idea to do some kind of turing test, a put a blind test to distinguish the AI written part of some code, and see how precisely people can tell it apart.

    But that’s worse! You do realise how that’s worse, right? You lose all the external ways to validate the code, now you have to treat all the code as malicious.

    For instance, to seek for specific functions in C# extensive libraries.

    And spend twice as much time trying to understand why can’t you find a function that your LLM just invented with absolute certainty of a fancy autocomplete. And if that’s an easy task for you, well, then why do you need this middle layer of randomness. I can’t think of a reason why not to search in the documentation instead of introducing this weird game of “will it lie to me”