23 votes

On GitHub Copilot

16 comments

  1. [3]
    teaearlgraycold
    Link
    I use Copilot extensively with Typescript (React, NestJS, etc.) and a little with Python. Because of the large training data size it’s pretty competent. I basically use it as a quick documentation...

    I use Copilot extensively with Typescript (React, NestJS, etc.) and a little with Python. Because of the large training data size it’s pretty competent. I basically use it as a quick documentation lookup tool in addition to an autocomplete. Sometimes the text I’m about to write is really obvious and repetitive and the AI can easily handle that. But also any time I would normally look up documentation I instead write a single-line comment and then hit enter (ex: “# look up the pid in /tmp/pidfile and send it sigint”).

    I think the divide online between people that hate Copilot and those that love it comes down to what each person is trying to use it with.

    12 votes
    1. [2]
      hamstergeddon
      Link Parent
      It's really awesome in the JS/TS ecosystems. I've been using it extensively to aid my transition from JS and AngularJS to TS and React. Just being able to ask CoPilot chat "how do I do <AngularJS...

      It's really awesome in the JS/TS ecosystems. I've been using it extensively to aid my transition from JS and AngularJS to TS and React. Just being able to ask CoPilot chat "how do I do <AngularJS thing> in React/TS" and it give me a good starting point saves me a ton of time previously wasted in the browser (where I can very easily become distracted!)

      9 votes
      1. teaearlgraycold
        Link Parent
        Haha, I did the exact opposite when forced to do a little Angular. Being able to ask a kinda vague question and get a specific code snippet that solves my problem is revolutionary.

        Haha, I did the exact opposite when forced to do a little Angular. Being able to ask a kinda vague question and get a specific code snippet that solves my problem is revolutionary.

        2 votes
  2. [4]
    sneakyRedPanda
    Link
    I have trouble getting Copilot to generate multi-line completions at all. Not sure if this is a consequence of using it in neovim and not first-class VSCode. Either way, the value I see in Copilot...

    I have trouble getting Copilot to generate multi-line completions at all. Not sure if this is a consequence of using it in neovim and not first-class VSCode. Either way, the value I see in Copilot is in highly repetitive, nuanced text editing tasks. It's really great at picking up on patterns after only one or two examples and it almost certainly makes fewer mistakes than if I were to copy/paste and modify. I don't find it particularly difficult to scrutinize what it outputs, as it produces it.

    I don't think I would be significantly less productive if I didn't have it, but I certainly find it easier to keep my brain focused on the higher-level task I'm trying to accomplish when I can leave some of the editor-heavy grunt work to the robot behind the curtain.

    9 votes
    1. [2]
      tarneo
      Link Parent
      What I've found is that the results in rust are just bad. Rust is a language which doesn't let you make a small mistake with types or error handling, and it will just not compile if you don't obey...

      What I've found is that the results in rust are just bad. Rust is a language which doesn't let you make a small mistake with types or error handling, and it will just not compile if you don't obey its very good rules. Copilot tends to write code that is so bad that I spend more time understanding what it should have outputted than just writing the code myself.

      In python it can actually be quite useful. For example writing boilerplate is much faster, GUIs are a good example of where it kinda works. But as soon as you do something complicated it falls short. It's still quite good for thins like simple image processing with opencv. But again, I litteraly lost hours because of not reading the docs for an opencv function, so there's that...

      10 votes
      1. sneakyRedPanda
        Link Parent
        Yeah I am doing 99% Ruby so maybe Copilot deals with less structured languages a little more easily.

        Yeah I am doing 99% Ruby so maybe Copilot deals with less structured languages a little more easily.

        4 votes
    2. unkz
      Link Parent
      What language? I use the neovim plugin and have been getting good results with python, JavaScript, and html. Have you looked at the command to generate multiple completions that you can select...

      What language? I use the neovim plugin and have been getting good results with python, JavaScript, and html. Have you looked at the command to generate multiple completions that you can select from? Like “:Copilot”?

      1 vote
  3. [5]
    Jakobeha
    Link
    Copilot is the only LLM I use more than rarely. I use it to write boilerplate, and languages I'm unfamiliar with (sometimes it gives idiomatic completions I wouldn't discover on my own). I check...

    Copilot is the only LLM I use more than rarely. I use it to write boilerplate, and languages I'm unfamiliar with (sometimes it gives idiomatic completions I wouldn't discover on my own). I check over the completions and mistakes show up fairly often, especially in non-trivial cases, but I believe it's increased my productivity nonetheless. Surprisingly it works well for documentation and other English (JetBrains AI has a "generate documentation" feature, as well as "generate commit message", but IME right now they're both really inaccurate and gimmicky).

    8 votes
    1. [4]
      devilized
      Link Parent
      You mention JetBrains AI - do you use both that and Copilot? Are they redundant or is there some advantage to having both?

      You mention JetBrains AI - do you use both that and Copilot? Are they redundant or is there some advantage to having both?

      3 votes
      1. [3]
        Jakobeha
        Link Parent
        https://www.jetbrains.com/ai/ I believe it’s basically everything except Copilot. It gives you IDE actions which invoke an LLM like “generate Git commit message”, “generate documentation”,...

        https://www.jetbrains.com/ai/

        I believe it’s basically everything except Copilot. It gives you IDE actions which invoke an LLM like “generate Git commit message”, “generate documentation”, “explain this error”, and “suggest name” (those are the ones I’ve seen so far, their site really isn’t specific and mostly AI hype unfortunately). It also provides a ChatGPT clone within IntelliJ, which allegedly has contextual information about your project fed to it somehow.

        IMO it’s not worth it right now. Like most AI, Jetbrains AI has a lot of potential but none of its features translate into any practical benefit. Copilot is one of the exceptions which does have practical uses.

        4 votes
        1. ewintr
          Link Parent
          They do have their own Copilot-like autocomplete, but it is still in beta and you need to switch it on in the settings. It did not work well for me, so I disabled it for the moment. YMMV. I like...

          They do have their own Copilot-like autocomplete, but it is still in beta and you need to switch it on in the settings. It did not work well for me, so I disabled it for the moment.

          IMO it’s not worth it right now. Like most AI, Jetbrains AI has a lot of potential but none of its features translate into any practical benefit.

          YMMV. I like the functionality and use it regularly. Just the convenience of not having to copy and paste the conversation back and forth between my IDE and my browser makes it already worth it. The main reason of an IDE like this is the seamless integration of tools and I see AI as an important tool.

          Just this morning I ran a program in PyCharm and it crashed with a stack trace. Next to the trace was a button "Explain with AI" (or something like that.) I clicked it. It then pointed out the error in my program, gave an example of how I could rewrite my code to fix the problem and presented a button to accept this solution. I think that is useful enough to pay for.

          (Note, I normally don't program in Python, so I installed PyCharm just for this project. I noticed that it was a newer version than the other Jetbrains IDE's I have installed: 2023.3.2. This button is probably new, because I had not seen it before.)

          1 vote
        2. devilized
          Link Parent
          Ahh gotcha. Yeah that doesn't sound worth it, especially for the same price as copilot. Some of that can be accomplished with copilot or chat.

          Ahh gotcha. Yeah that doesn't sound worth it, especially for the same price as copilot. Some of that can be accomplished with copilot or chat.

  4. simplify
    Link
    Speaking of Copilot (which I enjoyed), I’ve recently switched over to Codeium and have been pretty happy with it. The main selling point for me is that it’s free, which I like not because I’m...

    Speaking of Copilot (which I enjoyed), I’ve recently switched over to Codeium and have been pretty happy with it. The main selling point for me is that it’s free, which I like not because I’m cheap (hey, I pay for Kagi) but because I use it primarily at work I hate the idea of paying for a tool that work should (but won’t) pay for. My one criticism of Codeium is that it doesn’t always seem to auto predict the next few lines of code as frequently as Copilot did. I’m generally wary of non-FOSS free software, but according to Codeium they can offer it for free to users because they make their money through enterprise. Is there anything I’m missing in my calculation for using Codeium? Is it a joint venture between the Illuminati and Scientology and they’re gonna get me if I keep using it?

    5 votes
  5. [3]
    cfabbro
    Link
    @tarneo, since this is the second time you've submitted a link to your own blog with no other interactions on Tildes besides those posts, I think it's worth pointing out Tildes self-promotion...

    @tarneo, since this is the second time you've submitted a link to your own blog with no other interactions on Tildes besides those posts, I think it's worth pointing out Tildes self-promotion rules. I'm not trying to totally discourage you from posting here on Tildes, but I wanted to point out the rules just in case you weren't aware of them... and so you don't inadvertently get banned for spamming:

    Self-promotion

    If you have your own site/project/channel/etc. that you'd like to share on Tildes, that's generally fine (in moderation), but it shouldn't be the primary reason that you post on the site. Tildes is a community, not a free advertising platform. Sharing your own content is welcome as long as you're involved in the community, but don't just treat Tildes as a source of an audience.

    https://docs.tildes.net/policies/code-of-conduct#self-promotion

    p.s. Please label this comment as Offtopic so it doesn't detract from any on-topic discussion.

    17 votes
    1. [2]
      tarneo
      Link Parent
      Thanks for the reminder. Yeah, I guess I should be a little more active on other topics. I primarily use Tildes in a feed reader and away from a computer unfortunately, which makes being active on...

      Thanks for the reminder.

      Yeah, I guess I should be a little more active on other topics. I primarily use Tildes in a feed reader and away from a computer unfortunately, which makes being active on other peoples topics (and my own) a bit annoying.

      I'll take this into account and not post anything without having interacted on other topics from now on (not rally to avoid getting banned; I finally took the time to connect to tildes on my phone & that'll make it much easier. The lack of an app is really the only thing that will be stopping me now)

      10 votes
      1. cfabbro
        (edited )
        Link Parent
        👍 I enjoyed reading both your blog posts, and the discussions the first one spawned here, so I'm looking forwards to seeing you interact more on the site at large. Happy New Year, BTW. :) p.s....

        👍 I enjoyed reading both your blog posts, and the discussions the first one spawned here, so I'm looking forwards to seeing you interact more on the site at large. Happy New Year, BTW. :)

        p.s. There actually are a few mobile apps for Tildes now (3Cheers, Surfboard, and Backtick) , but they're still in early testing phases.

        11 votes