{"id":32956,"date":"2021-06-29T15:10:18","date_gmt":"2021-06-29T19:10:18","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=32956"},"modified":"2021-07-06T14:41:43","modified_gmt":"2021-07-06T18:41:43","slug":"github-copilot","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2021\/06\/29\/github-copilot\/","title":{"rendered":"GitHub Copilot"},"content":{"rendered":"<p><a href=\"https:\/\/twitter.com\/natfriedman\/status\/1409883713786241032\">Nat Friedman<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/natfriedman\/status\/1409883713786241032\"><p>We spent the last year working closely with OpenAI to build GitHub Copilot. We&rsquo;ve been using it internally for months, and can&rsquo;t wait for you to try it out; it&rsquo;s like a piece of the future teleported back to 2021.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/copilot.github.com\/\">GitHub<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=27676266\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/copilot.github.com\/\">\n<p>With GitHub Copilot, get suggestions for whole lines or entire functions right inside your editor.<\/p>\n<p>[&#8230;]<\/p>\n<p>GitHub Copilot is available today as a Visual Studio Code extension. It works wherever Visual Studio Code works &mdash; on your machine or in the cloud on GitHub Codespaces. And it&rsquo;s fast enough to use as you type.<\/p>\n<p>[&#8230;]<\/p>\n<p>GitHub Copilot works with a broad set of frameworks and languages. The technical preview does especially well for Python, JavaScript, TypeScript, Ruby, and Go, but it understands dozens of languages and can help you find your way around almost anything.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=27678625\">inimino<\/a>:<\/p>\n<blockquote cite=\"https:\/\/news.ycombinator.com\/item?id=27678625\">\n<p>Cargo-cult programming has always been a problem, but now we&rsquo;re explicitly building tools for it.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=27676845\">fzaninotto<\/a>:<\/p>\n<blockquote cite=\"https:\/\/news.ycombinator.com\/item?id=27676845\">\n<p>I&rsquo;ve been using the alpha for the past 2 weeks, and I&rsquo;m blown away. Copilot guesses the exact code I want to write about one in ten times, and the rest of the time it suggests something rather good, or completely off. But when it guesses right, it feels like it&rsquo;s reading my mind.<\/p>\n<p>It&rsquo;s really like pair programming, even though I&rsquo;m coding alone. I have a better understanding of my own code, and I tend to give better names and descriptions to my methods. I write better code, documentation, and tests.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/tolmasky\/status\/1409918022861701128\">Francisco Tolmasky<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/tolmasky\/status\/1409918022861701128\"><p>I think one reason things like GitHub Copilot don&rsquo;t resonate with me is that when I do want code written for me, it&rsquo;s for an interesting enough problem to merit a library (like CodeMirror). I just don&rsquo;t find myself in these glue code purgatories that these demos aim to eliminate.<\/p>\n<p>IOW, I feel like I&rsquo;ve been living the dream of &ldquo;having the hard stuff done for me&rdquo; for ages now. It&rsquo;s called, ironically enough, \n@github\n and \n@npmjs\n&#8230; and it&rsquo;s awesome! It&rsquo;s often thoughtfully encapsulated in a nice API, as opposed to copy\/pasting from stackoverflow&#8230; at scale?<\/p><\/blockquote>\n\n<p id=\"github-copilot-update-2021-07-02\">Update (2021-07-02): <a href=\"https:\/\/twitter.com\/feross\/status\/1410037684416880644\">Feross Aboukhadijeh<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/feross\/status\/1410037684416880644\">\n<p>I&rsquo;ve been testing #GitHubCopilot in Alpha for the past two weeks. Some of the code suggestions it comes up with are eerily good.<\/p>\n<p>Here&rsquo;s a thread with some examples that I found surprising.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/Tyrrrz\/status\/1410580194742747140\">Alexey Golub<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/Tyrrrz\/status\/1410580194742747140\"><p>Gonna spend an entire today working in VS Code w\/ #GitHubCopilot today. Curious to see where this will take me&#x2728;<\/p>\n<p>For starters, here it was able to infer the usage of CliWrap from previous lines and apply it to solve an entirely different problem. All based on a single comment &#x1F92F;<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/blog.metaobject.com\/2021\/06\/don-generate-glueexterminate.html\">Marcel Weiher<\/a>:<\/p>\n<blockquote cite=\"https:\/\/blog.metaobject.com\/2021\/06\/don-generate-glueexterminate.html\">\n<p>As far as I can tell, it&rsquo;s an impressive piece of engineering that shouldn&rsquo;t exist. I mean, \"Paste Code from Stack Overflow as a Service\" was supposed to be a joke, not a product spec.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/mdiep\/status\/1410599364339240977\">Matt Diephouse<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/mdiep\/status\/1410599364339240977\"><p>GitHub Copilot could definitely be helpful while implementing a custom Collection in Swift.<\/p>\n<p>Or an Encoder or Decoder.<\/p>\n<p>Or to work with Strings.<\/p>\n<p>Maybe Copilot could provide analytics about which APIs people find difficult to use and what operations they want to perform?<\/p><\/blockquote>\n\n<p>See also: <a href=\"https:\/\/iosdevweekly.com\/issues\/514?\">Dave Verwer<\/a>, <a href=\"https:\/\/news.ycombinator.com\/item?id=27710287\">Hacker News<\/a>.<\/p>\n\n<p id=\"github-copilot-update-2021-07-06\">Update (2021-07-06): <a href=\"https:\/\/twitter.com\/patio11\/status\/1410003639574274056\">Patrick McKenzie<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/patio11\/status\/1410003639574274056\"><p>I&rsquo;m probably more bullish on this product than my model of most programmers. Contrary to naive expectations, it doesn&rsquo;t decrease demand for programmers; it probably decreases unproductive time of junior programmers stumped by the &ldquo;white page problem.&rdquo;<\/p><p>For many years folks, often non-technical, have mentioned tauntingly &ldquo;Wait until you automate programmers out of a job&rdquo; and that was the exact opposite of what happened when we introduced cutting edge AI like compilers and interpreters to liberate programmers from programming.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Nat Friedman: We spent the last year working closely with OpenAI to build GitHub Copilot. We&rsquo;ve been using it internally for months, and can&rsquo;t wait for you to try it out; it&rsquo;s like a piece of the future teleported back to 2021. GitHub (Hacker News): With GitHub Copilot, get suggestions for whole lines or entire [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2021-06-29T19:10:21Z","apple_news_api_id":"54bc2f65-4beb-47b1-83e9-c594f6d12060","apple_news_api_modified_at":"2021-07-06T18:41:47Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/AVLwvZUvrR7GD6cWU9tEgYA","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[1351,524,2091,30,32,71,1187],"class_list":["post-32956","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-artificial-intelligence","tag-github","tag-github-copilot","tag-mac","tag-macapp","tag-programming","tag-visual-studio-code"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/32956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=32956"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/32956\/revisions"}],"predecessor-version":[{"id":33035,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/32956\/revisions\/33035"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=32956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=32956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=32956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}