[HN Gopher] Pen, a GPL Copilot for Emacs
       ___________________________________________________________________
        
       Pen, a GPL Copilot for Emacs
        
       Author : mullikine
       Score  : 140 points
       Date   : 2021-07-02 09:55 UTC (13 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | goodpoint wrote:
       | Can we have a Vim plugin pretty please?
        
         | smoldesu wrote:
         | https://github.com/kiteco/vim-plugin
         | 
         | Like this?
        
           | goodpoint wrote:
           | https://github.com/kiteco/vim-plugin/blob/master/LICENSE
           | 
           | That is closed source. Also Kite does not seem comparable
           | with GPT-3 or github copilot.
        
       | rubyn00bie wrote:
       | Should this say "GPT" instead of "GPL" in the title? I find it
       | pretty confusing right now.
        
         | fossislife wrote:
         | Got me confused, too. It's GPL-licensed and uses GPT.
        
           | steviedotboston wrote:
           | but what about GPK (Garbage Pail Kids) ?
        
       | Voloskaya wrote:
       | It's not a "Copilot for Emacs" though? It's a layer on top of
       | language models APIs made for Emacs.
       | 
       | So, if you use GPT-3, it will not be finetuned further on code
       | like Copilot, only pretrained on data that did contain some code,
       | and also the GPL portion only concerns that API-calling layer,
       | not what the model was trained on, or what it can output (which
       | is what the GPL related mess about Copilot is about).
        
       | jancsika wrote:
       | Is there a tool where I can type garbage and it walks linearly
       | through a git history of creating a new project, compiling,
       | cloning, committing, etc. until my new copy is a replica of the
       | original?
       | 
       | E.g., I set it to vue.js codebase. Then for each key I press it
       | will:
       | 
       | 1. create a new file if we're at the beginning 2. for each key
       | pressed, output a character for that file 3. once the file has
       | been "typed", close that one and open the next file and repeat.
       | 4. once the whole enchilada has been "typed", then each key press
       | will spell out "git commit..." on the command line then enter 5.
       | once committed, each key pressed will spell out "git push..."
       | then enter 6. etc. until I've typed the whole history of vue.js!
       | 
       | Maybe a "turbo mode" so I can set N characters for each character
       | I type...
        
         | doix wrote:
         | That instantly made me think of this: https://hackertyper.net/
        
           | jancsika wrote:
           | Ooh, almost there!
           | 
           | You know, there could be a kind of "bloat battle" game from
           | this.
           | 
           | * player one tries to keep smashing the keyboard to "write"
           | code and "commit" new features until the program can read
           | email
           | 
           | * player two smashes keys to add low-effort issues to the
           | tracker, post FUD to the mailing list to slow down the
           | process, and add subtly wrong features for review on merge
           | requests
           | 
           | Like hungry hippos except it translates directly to real
           | world experience
        
         | mullikine wrote:
         | I'm trying to get it going in a docker container asap.. I was
         | slaving away on that today
        
           | jancsika wrote:
           | Bonus-- if you pull it off I think it technically qualifies
           | as a quine. :)
        
       | exdsq wrote:
       | Side note but what is going on with this projects commits?
        
         | adkadskhj wrote:
         | .. i wish you hadn't made me look. That is painful.
        
           | jimsimmons wrote:
           | PyCharm has local history that tracks non commit diffs and it
           | has saved my day many times
        
         | globular-toast wrote:
         | Looks like they are auto-generated on every save.
        
           | simiones wrote:
           | Had a co-worker once whose commits in Perforce (where it's
           | called "Submit") made us joke that he had probably bound
           | Ctrl-S to "Submit". Apparently it wasn't as unlikely as we
           | thought .
        
           | lordgrenville wrote:
           | What a terrifying way to work!
        
             | IshKebab wrote:
             | For single author projects it's reasonable.
        
             | Kiro wrote:
             | Why? I also use commit and push as my save with nonsense
             | commit messages. I can't trust that my computer is still
             | booting up tomorrow.
        
           | fulafel wrote:
           | Interesting to see someone doing this, it often comes up that
           | we should actually have more levels of version control
           | granularity than merges and commits. Just need an application
           | of AI to generate good commit messages here :)
        
             | globular-toast wrote:
             | I use the "undo" functionality in my editor. In emacs it's
             | a complete tree of changes so you can't really lose
             | anything.
        
               | tom_ wrote:
               | True, but that's no guarantee you'll ever be able to
               | actually find it.
        
               | fulafel wrote:
               | It's something but it's ephemeral and not shareable. You
               | can't reconstruct how a piece of code got written weeks
               | later, to eg recover some debug helpers you deleted
               | without committing because you thought you were done with
               | debugging it.
               | 
               | But thanks for the tip about Emacs undo tree, didn't know
               | about that. With some add-ons you can apparently eg find
               | undoable changes for only some region of a buffer, etc.
        
               | mssdvd wrote:
               | You can also setup undo-tree to show a diff for every
               | change.
        
             | exdsq wrote:
             | That could be interesting but the right structure (off the
             | top of my head) would be a hierarchical layer - not this
             | flat monstrosity!
        
         | sdesol wrote:
         | If you want to quickly iterate through the commits and changes,
         | you can do so with this link:
         | 
         | https://public-001.gitsense.com/insights/github/repos?p=comm...
         | 
         | Click on a file to bring up the diffs browser.
         | 
         | Disclaimer: I'm the creator of the tool that I'm linking to.
        
       | mullikine wrote:
       | Copilot was not the first GPT-3 editor out there. Now that the
       | editor thinks for us, free software is more important now than
       | ever before. A transparent pipeline from thought to paper.
       | 
       | I would like some assistance.
        
         | smoldesu wrote:
         | How do you expect to ensure a "transparent pipeline" when GPT-3
         | itself is not fully transparent?
        
           | btdmaster wrote:
           | Unlike GPT-3, GPT-j from EleutherAI is a free dataset:
           | https://6b.eleuther.ai/. This is supported according to the
           | README.
           | 
           | Edit: it may not be supported right now, but it is mentioned
           | in the Goals section.
        
             | abecedarius wrote:
             | I gave 6b.eleuther.ai a try on the Copilot fetch-tweets
             | example, several days ago, and it spat out a similar
             | completion:
             | https://twitter.com/abecedarius/status/1408862135267037186
             | 
             | It took several seconds and added some logic I didn't ask
             | for, but this is already interesting.
        
         | yewenjie wrote:
         | How useful do you think has it been, for your own personal use
         | cases?
        
         | cle wrote:
         | I agree, the thought of hoards of developers sending their code
         | to Microsoft (or AWS via CodeGuru) to train their proprietary
         | semantic model is disturbing, because of the potential network
         | effects. They suck right now and have a lot of problems, and I
         | hope they either stay that way, or that something open like
         | this supersedes them.
        
           | corobo wrote:
           | Hold up. Is everyone talking about this thing as if they're
           | going to use it on proprietary code?
           | 
           | I only ever pictured using it on open source stuff if it
           | turned up decent
           | 
           | If folks are looking at this thing like "that's going right
           | on my work PC" I would highly recommend reviewing your IT
           | usage policy first. Yikes.
        
             | atatatat wrote:
             | I was thinking the opposite, for the audience you're
             | describing.
             | 
             | "Can't get into trouble if it's never published
             | publicly"...which is wrong, obviously.
        
               | [deleted]
        
       | jkaplowitz wrote:
       | This should probably have its title edited to include the prefix
       | Show HN, since it's posted by the main author. But, neat!
        
       | flurie wrote:
       | The author had a rather colorful post to /r/emacs that has been
       | edited significantly since, but some of the color remains in the
       | comments:
       | https://www.reddit.com/r/emacs/comments/oapa2l/help_building...
        
         | michaelmrose wrote:
         | If he is wrong and such tools are of small import then it isn't
         | highly important that Emacs has such functionality. If he is
         | correct and such functionality is essential then all of
         | existing Emacs becomes merely a freemium teaser for Emacs 2021
         | Professional Edition with AI where they will provide only a
         | fraction of the total value but collect most of the money from
         | the ecosystem.
         | 
         | Worse its not even a license forever, nor even for a period of
         | time. It's priced by the word.
         | 
         | https://beta.openai.com/pricing
        
         | kstrauser wrote:
         | Some of the comments almost seem like the author is using GPT
         | for _lots_ of things.
        
           | adkadskhj wrote:
           | And seems to be praising GPT/Copilot as being amazing, the
           | future, etc? Though with so many deleted comments i'm still
           | quite confused.
           | 
           | Regardless the author and I disagree strongly about the
           | actual usefulness of Copilot. I do think ML could be a huge
           | boon for many human applications, like coding, but it's far
           | far from it. Furthermore Copilot's specific implementation
           | seems to leave much to be desired[1].
           | 
           | To me ML is an infant right now and we're metaphorically and
           | literally expecting that infant to drive a car. ML is in a
           | weird, weird place.
           | 
           | [1]: https://twitter.com/mitsuhiko/status/1410886329924194309
        
       ___________________________________________________________________
       (page generated 2021-07-02 23:01 UTC)