11 ms·
GitHub Copilot available for JetBrains and Neovim
- petepete 5y agoWait, they got Tim Pope on the case for the Neovim plugin? Amazing, I'm positive it'll work beautifully. For those who don't know, he's essentially the godfather of vim plugins - I even have an entire 'tpope section' in my init.vim
- ViViDboarder 5y agoThat’s what stood out to me too! His plugins are always so thoughtful and idiomatic Vim, they really ought to be default. I guess except this one should remain opt in.
- fouc 5y agoHaha, I mean, tpope has been working on vim plugins since 2005/2006 from my IRC memories, but there were vim plugins before that too.
- dgdosen 5y agoI just tried installing for neovim - but got an error running vim-plug's `:PlugInstall` I added an issue. https://github.com/github/feedback/discussions/6847 https://github.com/github/feedback/discussions/6847 Anyone else install in neovim?
- _blz2 5y agoThe copilot docs say you need a prerelease version of neovim. Maybe that's the reason? homebrew might get you 0.5.2. The nigthly gives you 0.6.xx
- mooreds 5y agoNote that you have to have a copilot account and GA is still waitlisted. I filed a PR because it was a bit frustrating to go through the entire setup and then find out I needed to be granted access. https://github.com/github/copilot.vim/pull/2 https://github.com/github/copilot.vim/pull/2
- anaganisk 5y agoI wonder how long before Github is forced to include youtube’s content idesque system. So that i can cease and desist even before I even push the code. And oracle, google and ms can charge my Github billing account for violations.
- threatofrain 5y agoI've been getting a lot more misses than hits with Github Copilot, even when writing elementary math or utility functions; but despite its error I am nevertheless astonished at its approximation of intent. Very eager to see Github Copilot catchup to some bright line of signal v noise.
- Gigachad 5y agoI'm constantly blown away with what it spits out even when its wrong. When it pulls in the greater context of the app and generates comments from scratch using the context of the file, its just incredible.
- baby 5y agoI would say the reverse, I’m getting so many hits that I’m mindblown. And when it missed, I can generally still use that and fix the suggestion, as it’s faster.
- f38zf5vdt 5y agoIt's a glorified autocomplete to me. It seems like it feeds me mostly things I'd get from searching Stack Overflow. The first day was pretty interesting but the novelty wore off quickly. You still need to grok what it spews out and see if it's correct. And the worst thing about that is that you don't get the context of the Stack Overflow threads, where people discuss the impact of the given solution and alternatives. So after a week, off it went for me.
- josebalius 5y agoHere is a demo of it with Neovim & Codespaces: https://twitter.com/josebalius/status/1453413543232090118 https://twitter.com/josebalius/status/1453413543232090118
- ahupp 5y agoI've been using Copilot in VS Code and it's been surprisingly useful. It makes suggestions pretty rarely, but when it does I accept about 50% of them. Generally these are few-line functions and it just gives me what I would have written after thinking about it a moment.
- mistrial9 5y agothis has been "inevitable" for three decades now. The difference is, walled gardens making participation non-optional; commercial intent over "fairness"; elevating the trivial for the pleasure of management .. what could go wrong?! overall, a new forms generator with a somewhat terrifying amount of horsepower.. zero trust of microsoft here, basically
- jimmaswell 5y agoHow could they support these two random IDEs before Visual Studio proper?
- jmnicolas 5y agoA few months ago at work I had some suggestions in VS to allow for a better intellisense with the help of AI. I think it was probably this. I didn't allow it since I think it implied uploading my code to their servers.
- baby 5y agoI’ve been using this for weeks and it blooooows my mind. It comes up with crazy recommendations, just yesterday I wrote this big ass logic to do something, then I wanted to move that code to a function so I wrote the function name and I kid you not copilot suggested a one-liner that worked… the thing is so useful and I’m not writing simple code (writing cryptographic code). And when it’s not doing that at the very least it provides auto-completion to lists where a counter has to increase and things like that. It’s just baffling, I don’t think I’m that directly impacted by AI, or at least this is the first time where I’m like “wow, AI really is changing the world RIGHT NOW”. Half-joking: can’t wait for it to just write my code. Also if this feature would be paid tomorrow, I think I would pay for it. It’s really noticeable when I don’t have copilot enabled now. Oh and, autocompletion doesn’t work with markdown files because of markdown plugins I think? But this is another level of insanity: when I’m writing english it figures a lot of the sentences I want to write. Makes me question if I’m just a deterministic individual with no choice.
- BatteryMountain 5y agoWhat, you think you've been living in real-time all this time, exercising free will?
- rpeden 5y agoI was experimenting with it over the weekend and basically got it to build out a simulation of schooling/flocking boidfish swimming around a tank. That was fun! I certainly wasn't expecting it to create the whole darn thing, but it did. I just added an occasional comment to nudge it toward doing exactly what I wanted.
- superdisk 5y ago> writing cryptographic code Delegating the implementation of something that you are notoriously never supposed to roll your own, to a text generator AI.... What could possibly go wrong?
- baby 5y agoI think you got the wrong idea on how people use copilot. You don't just accept everything it throws at you. Think about it as an auto-complete on steroid, would you say that auto-complete is dangerous to use? If not, then this is the same. The suggestions of copilot don't always compile, but they sometimes manage to find the right function to use, or the right combination of functions, or even the right comment (if you're writing a comment).
- pugets 5y agoCopilot is crazy. The other day, I was writing a Python function that would call a Wikipedia API. I pulled from the internet an example of a GET request, and pasted it as a comment in my code. # sample call: https://en.wikipedia.org/w/api.php?action=query&format=json&list=geosearch&gscoord=37.7891838%7C-122.4033522&gsradius=10000&gslimit=100 Then I defined a variable, base_url = "https://en.wikipedia.org/w/api.php?" Then, like magic, Copilot suggested all the remaining keys that would go in the query params. It even knew which params were to be kept as-is, and which ones would come from my previous code: action = "query" # action=query format = "json" # or xml lat = str(latitude.value) # 37.7891838 lon = str(longitude.value) # -122.4033522 gscoord = lat + "%7C" + lon ... api_path = base_url + "action=" + action + "&format=" + format + ... + "&gscoord=" + gscoord As a guy who gets easily distracted while programming, Copilot saves me a lot of time and keeps me engaged with my work. I can only imagine what it'll look like 10 years from now.
- janto 5y agoFor me APIs are actually one of the places it performs the worst. Copilot is like having an inexperienced yet annoyingly optimistic pair programmer. The code it generates appears conceivable in some hypothetical universe. No guarantee it's this one though. Remember it doesn't actually know an API or how it should be used: it's putting things together to look like typical code. For me that has meant difficult to spot bugs like linking up incorrect variables from the rest of my code. I wish it could integrate the first SO answer to a generated question, because I always end up there anyway having to fix things.
- shmoogy 5y agoThat's a bummer. I just got whitelisted and was hoping it could save me time with some APIs where they only have code in X language or curl and I have to work backwards if I run into any issues.
- pc86 5y agoI think my experience has been sort of between you two. Maybe 1/3 times it's spot on. The rest of the time, there is some minor tweak I need to make (it gets a parameter or variable name wrong). I've yet to hit cases where the code it generates looks right but doesn't run as expected, thankfully. I've only had it for about a week now but overall I'm happy with it. None of the code I'm writing is crazy cutting-edge stuff and in aggregate I'm sure it saves me more time than takes, including the time I spend reviewing and potentially changing the generated code.
- f38zf5vdt 5y agoI used it for about a week but found I could type faster than it could suggest, even if it suggested the right thing. I have been coding for about 25 years but maybe it will help people new to whatever language they are using.
- yunji 5y agoHow does this compared with tabnine? could these 2 plugins be used together?
- aimor 5y agoI'm very interested in this as a learning tool: instant feedback about what could come next, compared to the status quo of searching the internet or searching the language documentation. A lot of the time I learn a way to do something, then sometime later stumble across a better way to do the same thing. My hope is that Copilot can be a shortcut for that discoverability.
- ausbah 5y agothe fact that most of Co-Pilot's usefulness comes from repeating common snippets of code makes me think there has to be a much simpler way to reduce the boilerplate of "common tasks"
- AnthonBerg 5y agoIn my opinion, dependent type systems are that way. A dependent type is a type that depends on a value. What something is depends on something else; What something is is derived from something else – with computation. What dependent types are are calculations of type structure. Unbounded, this becomes intractable like all unbounded computational expressivity. So that’s what modern dependent type systems need to solve—and they do. There exist formal results that frame the computational expressivity of dependent type systems and make perfectly feasible and tractable the task of deriving significantly complex types. Automatically. The Idris language is a great example of where we’re heading. The reason I’m more interested in this sort of thing rather than Copilot is that dependent type systems are based on formally rigorous methods. You end up with formally verified programs, by way of the same mechanisms that allow you to derive them automatically. They’re also easier to compose, for the same reasons. Edwin Brady’s Idris demonstratons on Youtube show a bit of what’s possible. In one, the compiler automatically writes a formally-correct type-directed matrix multiplication function. In another, run-length encoding and decoding functions are generated from a type definition. The book Type-Driven Development with Idris is a great read. Mind-expanding. Programming is automation. The automation of automation is… dependent types.
- api 5y agoFormally rigorous methods have almost always lost out in the market against slop like JavaScript. I think the reasons are completely pragmatic and boil down to two things. The first is that rigorous systems usually take longer to build and meanwhile the slop ships first and gains mindshare. The second is that rigorous systems are usually built by academics or specialists in some specific vertical and lack the easy installation, easy onboarding, and integration with other platforms that more pragmatic sloppy platforms tend to prioritize first. Those things get prioritized first because sloppy languages and systems tend to evolve from makeshift "shop jigs" used to get stuff done, not from research.
- tdiggity 5y agoAnyone know how long the waitlist is?
- mikeywazowski 5y agoI joined the waitlist at the end of June and got an invite yesterday. So 4 months? However, I imagine a lot of people signed up just before me, so I was probably at the end of a long list. The wait wouldn't be this long if you sign up today, I reckon. I'm just guessing though.
- giuseppeciuni 5y agoI signed up copilot on june... still received nothing unfortunately!!!
- mikeywazowski 5y agoI'm sure it'll be coming soon - a colleague of mine signed up shortly after me and received an invite today.
- tdiggity 5y agoFast turnaround, got my invite today!
- MayeulC 5y agoDoes it relies on a Microsoft-provided API? If it's not offline, the same gotchas as other SaaS apply.
- wara23arish 5y agoI have a few questions about copilot. I haven’t gotten a chance to use it yet. Is it irrational that this makes me a little anxious about job security over the longterm? Idk why but this was my initial reaction when learning about this. Given the scenario where copilot and its likes becomes used in a widespread manner. Can it be argued that this might improve productivity but stifle innovation? Im pretty early in my career but the rate things are capable of changing soon doesn’t sit too well with me.
- d13 5y agoIt’s nothing more than an enhanced autocomplete that’s 1 part dangerous and two parts hillarious. You’ll have your job for life.
- api 5y agoI wouldn't worry about job security. Programming is a story of steady gradual automation and all that's done is increased its reach and multiplied the number of niches where there is demand for software. Future developers might be more like architects guiding AIs and then occasionally jumping in to hand-hold or correct the result.
- fungiblecog 5y agoYou should only be worried if you just copy and paste boilerplate between files. If you're actually able to solve problems and design things there's nothing to be worried about
- objclxt 5y ago> Is it irrational that this makes me a little anxious about job security over the longterm? In the 50s, we programmed computers with punch cards. Who does now? How many web developers today could tell the difference between `malloc` and `calloc`? Probably not that many. For a lot of developers, programming today bears very little relation to programming decades ago. Copilot is like any other innovation - it obsoletes some skills, and it introduces new ones. I doubt copilot will reduce the need for engineers: but it may change the work they do. But that's no different to any other industry.
- premek 5y agowill the plugin steal my employer's code and give it to a competition?
- synergy20 5y agoI hope it will work for the 'standard' vim, so far it reports 'vim version too old', while I'm using the newest vim. it's said because vim lacks 'virtualtext' feature.
- Thorentis 5y agoIn my opinion, Copilot is going to become one of those "perceived authorities" that have just enough legitimacy to be blindly trusted by the inexperienced, but not enough to actually be useful to the experts. This is like social media (or even the Internet as a whole) and say, our parents' generation. Countless times I receive links to Facebook posts or random articles that somebody thinks must be true, simply because The Oracle (i.e. their smartphone) showed it to them. For much of the older generation, smartphones are these all-knowing repositories of wisdom, and anything they come across while using them is likely to be true. This is why I think misinformation has spread so easily. I imagine Copilot going down a similar path. The next generation of programmers who didn't grow up with knowing how to sift through API docs or SO answers for the right bit of code, or who's attention spans have been fizzled away, will love the idea of Copilot. Instant gratification in the firm of a tool that can seemingly do your work for you. This will be dire consequences for their ability to code and think for themselves.
- marstall 5y agoAny1 get it working WebStorm yet?
- ghoward 5y agoI have many thoughts about Copilot, but here are two. First, as much as I don't like the idea of Copilot, it seems to be good for boilerplate code. However, the fact that boilerplate code exists is not because of some natural limitation of code; it exists because our programming languages are subpar at making good abstractions. Here's an example: in Go, there is a lot of `if err == nil` error-handling boilerplate. Rust decided to make a better abstraction and shortened it to `?`. (I could have gotten details wrong, but I think the point still stands.) So I think a better way to solve the problem that Copilot solves is with better programming languages that help us have better abstractions. Second, I personally think the legal justifications for Copilot are dubious at best and downright deception at worst, to say nothing of the ramifications of it. I wrote a whitepaper about the ramifications and refuting the justifications. [1] (Note: the whitepaper was written quickly, to hit a deadline, so it's not the best. Intro blog post at [2].) I'm also working on licenses to clarify the legal arguments against Copilot. [3] I also hope that one of them [4] is a better license than the AGPL, without the virality and applicable to more cases. Edit: Do NOT use any of those licenses yet! I have not had a lawyer check and fix them. I plan to do so soon. [1]: https://gavinhoward.com/uploads/copilot.pdf https://gavinhoward.com/uploads/copilot.pdf [2]: https://gavinhoward.com/2021/10/my-whitepaper-about-github-copilot/ https://gavinhoward.com/2021/10/my-whitepaper-about-github-c... [3]: https://yzena.com/licenses/ https://yzena.com/licenses/ [4]: https://yzena.com/yzena-network-license/ https://yzena.com/yzena-network-license/
- treesprite82 5y ago> This means that Google was careful to not make a large amount of copy-righted works publically accessible. Such is not the case for GitHub Copilot in particular Armin Ronacher’s tweet [19] The fast inverse square root algorithm referenced here didn't originate from Quake and is in hundreds of repositories - many with permissive licenses like WTFPL and many including the same comments. It's not really a large amount of material, either. GitHub claims they haven't found any "recitations" that appeared fewer than 10 times in the training data. That doesn't mean it's a completely solved issue though, since some code may be in many repositories yet always under non-permissive licenses. > and I would argue that it will not be the case for ML models in general because all ML models like Copilot will keep suggesting output as long as you ask for it. There is no limit to how much output someone can request. In other words, it is trivial to make such models output a substantial portion of the source code they were trained on. With the exceptions mentioned above, what you get back from asking for more code won't just be more and more of a particular work. Realistically I think you'd be able to get significantly more from Google Books.
- deleted 5y ago[deleted]
- tuananh 5y agoneovim being first class is rather nice :)
- syngrog66 5y agomakes it even easier for both the US (via Microsoft) and Russian govs (via JetBrains) to copy, analyze and inject arbitrary code into any codebase (public or "private") used by this combo of tools
- ipnon 5y agoCan any users give their opinion on how it's helping their productivity? What problems are they finding, if any?
- dreyfan 5y agoIt’s a dream come true for the script kiddies.
- capableweb 5y agoTried it out for a while, and it's clear that it's trying to get people to be faster at writing boilerplate, not get people to write better code. I'm a bit scared for what this means as I don't think being able to faster write boilerplate is something worthwhile. The example ed_elliott_asc made is one of those examples where instead of fixing things so you don't have to repeat yourself, copilot makes it easy to just live with the boilerplate instead.
- airstrike 5y ago> I don't think being able to faster write boilerplate is something worthwhile But do you believe people being slower at writing boilerplate is undesirable?
- chrsig 5y agoPossibly yes, if you're only contrasting it with being able to be faster. I mean, it's sort of a false dichotomy -- it's omitting a "default speed" for writing boilerplate that is neither enhanced nor impeded. the potential issue with an enhanced speed for writing boilerplate is that it means that there'll just be more and more boilerplate to maintain over time, and it's not clear what that cost over time will be. How much more effort will be expended to replace things in multiple places? It exacerbates existing issues of "these two things look almost the same, but someone manually modified one copy...should that change be propagated?" Meaning, it's essentially an ad-hoc code generator. Code generation can be a very useful technique (see protobufs), but without the ability to re-generate from a source? Perhaps a possible enhancement might be for copilot to keep track of all blurbs it generated and propose refactoring/modifying all copies?
- Spinnaker_ 5y agoHow well can copilot write unit tests? This seems like an area where it could be really useful and actually improve software development practices.
- golergka 5y agoOn my current pet project, it has written almost all of the tests here: https://github.com/golergka/rs-lox/blob/master/src/compiler.rs#L421 https://github.com/golergka/rs-lox/blob/master/src/compiler.... ad here: https://github.com/golergka/rs-lox/blob/master/src/scanner.rs#L303 https://github.com/golergka/rs-lox/blob/master/src/scanner.r... (albeit not the screwed indentation) completely by itself. I didn't even have to write the function names, just a few macros to help it along and a couple of examples to teach it to use it.
- kqr 5y agoIf you're looking for test case generation there are already mature tools for that. I doubt anything generic could improve on those.
- ericlewis 5y agoany suggestions for said tools?
- prionassembly 5y agoHypothesis for Python. Schemathesis builds on Hypothesis and generates tests from OpenAPI specs.
- dmitry_dygalo 5y agoAnd from GraphQL APIs as well :)
- svieira 5y agoQuickcCheck-type tools (generators for tests that know about the edge cases of a domain - e. g. for the domain of numbers considering things like 0, the infinities, various almost-and-just-over powers of two, NaN and mantissas for floats, etc.): * QuickCheck: https://hackage.haskell.org/package/QuickCheck https://hackage.haskell.org/package/QuickCheck * Hypothesis: https://hypothesis.readthedocs.io/en/latest/ https://hypothesis.readthedocs.io/en/latest/ * JUnit QuickCheck: https://github.com/pholser/junit-quickcheck https://github.com/pholser/junit-quickcheck Fuzz testing tools (tools which mutate the inputs to a program in order to find interesting / failing states in that program). Generally paired with code coverage: * American Fuzzy Lop (AFL): https://github.com/google/AFL https://github.com/google/AFL * JQF: https://github.com/rohanpadhye/JQF https://github.com/rohanpadhye/JQF Mutation / Fault based test tools (review your existing unit coverage and try to introduce changes to your _production_ code that none of your tests catch) * PITest: https://pitest.org/ https://pitest.org/
- alexellisuk 5y agoSo who knows what all that WASM is for in the Neovim plugin? Is there source for it? https://github.com/github/copilot.vim/tree/release/copilot/dist https://github.com/github/copilot.vim/tree/release/copilot/d...
- wilde 5y agoA web search suggests that it’s this: https://github.com/nvim-treesitter/nvim-treesitter https://github.com/nvim-treesitter/nvim-treesitter
- kevincox 5y agoPresumably they are tree-sitter grammars for those languages. I think these grammars are open source so should be available (assuming they were unmodified).
- meijer 5y agoI wonder when it will become generally available. Feels like it has been around for quite a while now.
- lionkor 5y agoGood, I was getting really tired of subtly plagiarizing by hand.
- chefandy 5y agoYesterday, I was disgusted to see framers putting up a house that clearly plagiarized the entire internal structure of my own. Same joint interfaces, same structural idioms when dealing with things like staircases, windows, and rafters, same fasteners, same adhesives, even the building materials! Aside from the most general aspects of the layout, it was exactly the same right down to the inch! People have no professional integrity these days.
- bogwog 5y agoThat analogy only works if you designed/architected your own house.
- aziaziazi 5y agoIt may work if you design/architect houses for clients.
- chefandy 5y agoPlagiarism can only be spotted by people who wrote the original work?
- sterlind 5y agocopilot's won't suggest anything worth calling plagiarism, just mundane plumbing and maybe textbook algorithm implementations. have you seen it generate anything more glorified than StackOverflow-esque code snippets?
- josefx 5y agoThey had to blacklist Q_sort because they couldn't stop copilot from copying the complete function with comments (not just the algorithm) from the quake source, however it did not autocomplete the correct license for it.
- deorder 5y agoI signed up for the copilot technical preview right after it was announced a few months ago, but I haven't gotten an invite yet while all my friends who signed up later did (I feel a bit left out). Is there any way to get an invite sooner? What am I doing wrong?
- meijer 5y agoSame for me.
- parafactual 5y agoI said I use VSCode all the time, which I suspect is the reason I got access. (I never use VSCode.)
- deorder 5y agoI actually do use VSCode (in addition to Vi and Vim) and I believe I indicated that.
- Kiro 5y agoSame and I also signed up right away. Still no invite.
- dragonwriter 5y agoI said I use VSCode all the time and just got access, having signed up at the very beginning (I, in fact, use VSCode all the time.)
- unpipable 5y agoI singed up in the first week and got my invite on Monday. I don't have anything "linked" with my github via vscode or anything so I doubt IDE or program usage was a deciding factor. I do regularly commit small stuff.
- netcyrax 5y agoWhy are people not bothered by privacy concerns in this case?
- bogwog 5y agoBecause the generation that grew up without any privacy is growing up and getting jobs in tech.
- Gigachad 5y agoBecause the entire codebase I work on is already in the hands of github. I couldn't care if they can also see it being written live.
- lvass 5y agoThey're good kids who won't have to worry about their social credit.
- jmnicolas 5y agoI suppose this thing upload your code to Microsoft servers then run some deep learning algos on it and get back to you with suggestions? It also probably keep your code to feed it to the algos. If big tech was trustworthy I would use this with glee. But when I see how the world is turning, I'll continue to type boilerplate by hand (as long I'm allowed).
- gremlinsinc 5y ago> I suppose this thing upload your code to Microsoft servers then run some deep learning algos on it and get back to you with suggestions? It also probably keep your code to feed it to the algos. Be sure you don't commit your code to github...as that's literally uploading your code to Microsoft servers, I mean if you just don't trust them for being 'Microsoft'.
- pintxo 5y agoI would be even more concerned about licensing and copyright at this point. We might see some interesting legal discussions around this, given you probably (I did not check the terms) give consent to Github using your code for other purposes beyond querying their model.
- jkelleyrtp 5y agoI actually really like Copilot. There tends to be a lot of repetitive code in the world. I primarily write JS, Py, and Rust. Sometimes, I might declare something like a function table, and Copilot will automatically fill in the class definition with everything I defined. I'm not using Copilot to write new algorithms or solve library-specific problems, but it sure is next-level in picking up patterns in a file and predicting where you want to go next. Obviously, good code is succinct (not repetitive), but it sure is helpful when in that early prototyping stage. I admire it's ability to infer a correct assertion when writing Unit Tests - it made it much easier for me to write tests recently and helped me recognize a few bugs.
- throwthere 5y agoSame experience here. I think a lot of prime are being a little too philosophical about it. Where it shines is small helper functions and predictive boilerplate. It’s more like emmet imo then a pair programmer.
- kesslern 5y agoIs anyone able to install the plugin yet? I'm not seeing it when I search the plugin marketplace in Rider.
- thrower123 5y agoSaw a review the JetBrains page that Rider isn't officially supported, but they got it to work anyway, although they don't say how https://plugins.jetbrains.com/plugin/17718-github-copilot/reviews https://plugins.jetbrains.com/plugin/17718-github-copilot/re...
- kesslern 5y agoLooks like I can download it from the plugin page and manually install the zip file. Thanks! https://plugins.jetbrains.com/plugin/17718-github-copilot/versions https://plugins.jetbrains.com/plugin/17718-github-copilot/ve... EDIT: Hmm, it installed but it refuses to run. EDIT2: Looks like you can force the plugin to work by editing the plugin.xml contained in github-copilot-intellij-1.0.1.jar within the plugin archive. Just remove the line that includes Rider as incompatible. The same should work for CLion.
- snvzz 5y agoStill no way to opt your code out of this. Disgusting.
- baby 5y agoThis reaction is why we can’t have nice things :( after trying copilot I’m convinced that this kind of feature is going to bring the world to a next phase. Open source was part 1, this is part 2.
- snvzz 5y agoI understand a lot of people are ok with this and that's fine. There's still no good reason I cannot opt my code out of it.
- rectang 5y agoI would seriously consider opting in so long as my authorship was acknowledged and my license was upheld. FWIW I tend to release things under permissive licenses (although I think if I was copyleft-inclined I might feel the same way: just match my license). But stripping my copyright, copying my work without my permission and presenting it to users on terms I did not agree to, all of that is unacceptable.
- baby 5y agoAnother comment said "don't open source your code", which I would agree with. If you don't want people reusing your code, just don't open source it. What's the point otherwise?
- snvzz 5y agoIt's not black and white. Letting people see the code doesn't mean they can ignore the license and do whatever the hell they want with it. I am quite reasonable. I favor the MIT license. I still do not want my code in Copilot, which pretty much dismisses my rights entirely.
- unpipable 5y agoCopilot has been super fun! Here is a small website I generated via only comments - in the HTML and JS. The CSS needed a bit more massaging but it also auto generated. https://spencer0.github.io/copilot-tests/ https://spencer0.github.io/copilot-tests/
- lelandfe 5y ago<!-- Details on the fall of rome --> <p>The fall of rome was a great event for the people of rome.
- leodriesch 5y agoAI comedy gold
- parhamn 5y agoI tried it on IntelliJ recently. The examples I tested blew my mind. Yet, I think there are two things that need to improve to get me to use it regularly (it will get there!): - less than perfect import/types/var suggestions that LSP in typed languages would've made perfect suggestions for (e.g named import in go would use the package name instead). - latency feels a bit high and my thoughts would get interrupted waiting for a suggestion to come. For the former, I wonder hard feasible it would be to give structured suggestions to the LSPs that it would swap for correct var names and imports and such. Or test each suggestion with the LSP for error counts and offer the least erroring suggestion.
- sillysaurusx 5y ago> latency feels a bit high and my thoughts would get interrupted waiting for a suggestion to come. How high? That's interesting.
- baby 5y agoI haven't had problem with the latency personally
- shanebrunette 5y agoEmacs please
- da39a3ee 5y agoIt does seem a bit controversial to develop a relationship with neovim without approaching emacs. I wonder if they even asked on emacs-devel, I’m sure they’ll have got a friendly response …oh hang on…
- eikenberry 5y agoAny word on if they will ever make Copilot free software? It sounds interesting, but I avoid using proprietary software in my development stack. Plus it looks like it be fun to play with.
- neilv 5y agoA lot of the examples people are giving of code Copilot filled in for them sound like what would be called plagiarism, and probably also copyright infringement. Which I think was fairly predictable. What wasn't predictable was that someone would ship this Copilot anyway, consequently exposing their company and their users' companies to liability. Imagine if you hired an intern who was copy&pasting bits of GPL'd code throughout your system. This would not be a good job, it would be something that needed immediate attention from legal counsel and others, and mean reverting every commit the intern from heck made if you couldn't prove convincingly it wasn't tainted. Especially if you're a startup, who needs to assure investor due diligence in good faith that you actually own the IP.
- bastardoperator 5y agoWait til stackoverflow sues everyone into oblivion! Letting your intern blindly commit to your code base seems like the bigger issue here. The entire purpose of an internship is to learn and to be guided by professionals, not to be treated as a cheap laborer. You don't hire interns, you train interns. Have you used copilot or are you speculating?
- neilv 5y agoIf the analogy works better, imagine that you hired a developer who copy&pasted GPL'd code throughout your system. (And people couldn't tell in code reviews, nor on other occasions to see the code, since it's not normal to recognize GPL'd code on sight; everyone just assumed the developer was productive.)
- marginalia_nu 5y agoI think people should be a lot more concerned about the possibility of accidentally deriving your work on something with an AGPL license.
- neilv 5y agoIf the analogy works better, imagine that you hired a developer who copy&pasted whatever-license-your-company-is-most-afraid-of-and-is-highly-likely code throughout your system. :)
- bluelu 5y agoIt say on the github page that "GitHub Copilot will attempt to match your code's context and style. You can edit the suggested code as you choose.". Does this mean that the plugin will transmit my code to github servers?
- moyix 5y agoYes. The machine learning model runs on GitHub's servers (it's too big/expensive to run locally), so it has to submit the context of what you're working on to GitHub.
- soledades 5y agoSo it looks like for neovim there is not yet the option to cycle through suggestions? Looks like for VSCode the shortcut on Linux is Alt-], see: https://github.com/github/copilot-docs/blob/main/docs/visualstudiocode/gettingstarted.md#alternates https://github.com/github/copilot-docs/blob/main/docs/visual... But for neovim, it doesn't mention anything about it in the docs: https://github.com/github/copilot.vim/blob/release/doc/copilot.txt https://github.com/github/copilot.vim/blob/release/doc/copil... And, nothing happens when pressing Alt-].
- qanstr 5y agoWe should put up a huge amount of Oracle open source code on GitHub, get CoPlagiarizer to quote it and let Oracle deal with the situation. The plebs should also play a little divide and conquer now and then.
- truculent 5y agoThe comments are so full of praise that I will have to give this an earnest try. But is writing code really the part of software that people are struggling with?
- mewse 5y agoI’ve never understood the value proposition for Copilot. In terms of difficulty, writing code is maybe on average a two out of ten. On average, maintaining code you wrote recently is probably a three out of ten in terms of difficulty, and maintaining code somebody else wrote or code from a long time ago probably rises to around a five out of ten. Debugging misbehaving code is probably a seven out of ten or higher. GitHub Copilot is optimising the part of the process that was already the easiest, and makes the other parts harder because it moves you from the “I wrote this” path to the “somebody else wrote this” path. Even during the initial write, it changes the writing process from programming (which is easy) to understanding somebody else’s code to ensure that it’s right before accepting the suggestion (which is much less easy). I just don’t understand how this is a net time/energy savings?
- baby 5y agoDid you try it? Because I've been using it for weeks and it makes me read these types of comments as "I don't understand the value of the internet" or "what's the purpose of owning a phone". It's night and day if you have it enabled or not. There's just no question about the value proposition once you start using it. I mean, you can tell comments here from people who have actually been using it, and people who have not tried it.
- stoicjumbotron 5y agoCould not have said it any better. Enabled it a couple of days ago and I was flabbergasted at the results it produced for me.
- b215826 5y ago> Because I've been using it for weeks and it makes me read these types of comments as "I don't understand the value of the internet" or "what's the purpose of owning a phone". And yet apart from making this very inaccurate comparison you haven't made any argument for why such a thing as Copilot would be useful to anyone. How do you personally find Copilot useful? And why do you think someone whose job demands more than copy/pasting boilerplate code should try Copilot? The onus is on you to convince the skeptics.
- luckyorlame 5y agocan it do my cs homework?
- miller_joe 5y agoI've been using TabNine for several years and love it. I'd be interested in hearing a comparison between TabNine and GH Copilot from anyone who has used both.
- truly 5y agoThis will lead IMO to an interesting problem, although the technology and the idea is certainly cool. Currently many programmers do not take the time to really understand how/why their code works -- programming without understanding 1.0. Essentially make library calls and fuzz around with the arguments until it appears to work. [Not wanting/suggesting to go back to the world before libraries/code completion, just stating where we are now.] This will enable programming without understanding 2.0 -- not only will you not know how/why a particular function call works, you will now fail to understand why you want a sequence of functions in a particular order.
- atonalfreerider 5y agoThe davinci-codex model that copilot uses also has the capability of translating someone else's code into plain English. This has a great value potential. Ultimately I'd like to have a conversation with a machine, where I can describe what I want, and the machine can serve me a possible answer, and then I can respond to clarify the idea.
- Jensson 5y agoLooking forward to the next generation of programmers who can only program if they have Copilot, and will complain in interviews when they are asked to code without Copilot.
- deleted 5y ago[deleted]
- redleggedfrog 5y agoWhat this feels like to me, after a nominal amount of time using it, is that I am now in charge of vetting the proposed code, and is it appropriate for my use case, and does it meet our coding standards and does it integrate with my code or further suggestions. Honestly it feels like constantly code reviewing, which is not pleasant nor conducive to productivity. And I do a lot of PR approval, and I shudder to think about PRs stitched together in haste because look how easy it is now to crank out code! And lastely it doesn't work well when you have a large legacy codebase that your working within.
- marceloabsousa 5y agoTotally agree. Co-pilot is just stressing more our roles as code reviewers. It’s not even a new idea - people working in program synthesis have done this for a while now. I’ve written about this a couple of years ago: https://medium.com/@marceloabsousa/the-software-shift-towards-replace-539b5558664b?sk=cfab71c9022d1e587ac2c2b451ed94f7 https://medium.com/@marceloabsousa/the-software-shift-toward...
- esjeon 5y agoCopilot thread is always hot. TBH I don't mind the plagiarism. They can use my code. The real problem is indeed the code quality, since Copilot does actively provide low-quality codes, and this will bite a lot of people. I guarantee. I don't think this massive learning approach can't be the solution. We need an extra kick. My shower-thought solution for this garbage-spewing problem is to design a new library with Copilot in mind. Tighten up the interface, and use strict patterns instead of domain-specific hacks. In other words, we can make libraries so lame that Copilot (and newb programmers) simply can't produce low-quality code. Just disregard smart programmers with fast hands. They don't need any help anyway. Don't even try to target them, because it's gonna cause more stupid flame wars...
- framecowbird 5y ago> Login to GitHub Copilot using the device auth flow and authorized GitHub Copilot IntelliJ plugin with your GitHub Account in an external browser. > Read and agree to the GitHub Copilot additional telemetry terms. Can anybody comment on the privacy aspects of this? Is the telemetry reasonable? Why on earth do I need to login: presumably so that they can associate my coding with my account to structure the data they are gathering?
- monkeydust 5y agoA product perspective: - Co-pilot will not replace software engineers, however ... - I do think it will in some cases help them be more productive as some have expressed in this thread already. - Once they open it up to fine-tuning on your own codebase I suspect it can be used to bring new engineers upto speed faster plus it get will get more trustworthy. - I do have concerns about the legal aspect of selling software built with assistance if co-pilot but a lawyer could probably get me comfortable (or not!) - I have personally found it useful for data science type tasks especially getting familiar with new libraries.
- giansegato 5y agoAny idea how to try it out? Seems like the beta is fairly restrictive in giving access out.
- AlexFielder 5y agoIn the few short weeks i have used CoPilot inside of VSCode, it's been a big* timesaver; I can type out a bare skeleton of a class, and with minimal guidance for things like naming conventions CoPilot let's you simply tab+enter through each class property. Maybe I'm missing something obvious, but I feel like CoPilot should have the ability to allow a user to define a 'class template' in the form of a block comment and then allow a user to write "make this class" or something. *Big being it's probably saved me around two hours of manually typing out 'public property... etc.'
- voldemort1968 5y agoMost of the arguments here boil down to the same belabored point, that you shouldn't expect Copilot to actually write the code for you at the end of the day. My take is it's what you make of it. Copilot is only equivalent to copy-and-pasting from stack overflow if that's how you choose to field its suggestions. As an example, I've enjoyed typing "const one_day_in_ms" and letting it finish it out with "1000 * 24 * 60 * 60". I already knew how to do that, but having GCP finish it for me and verifying on my own didn't make me feel stupider, it made me more efficient. I have more interesting problems to tackle. On the other hand, another coder could have not known this calculation and thrown their trust into GCP. That's bad practice and it's on them, not on the tool. Sometimes GCP gives me code that it learned from bad coding patterns. I know how GCP works and I know to look out for that, so I ignore those suggestions. Of course, sometimes I don't know if what looks like a good idea from GCP is actually not. I take that on as my responsibility to trust but verify. If it's writing some function to slugify a string for a URL, I check it against what people are discussing online. Does it defeat the purpose of GCP in this case if I have to check it on my own? Probably, but it's only in these specific instances when I'm doing something I'm not familiar with.