[{"data":1,"prerenderedAt":84},["ShallowReactive",2],{"\u002Ftlt-2023.11.28-thinking-about-copilot":3},{"id":4,"title":5,"body":6,"createdAt":70,"description":12,"draft":71,"extension":72,"image":73,"mastodonThread":74,"meta":75,"navigation":76,"path":77,"seo":78,"stem":79,"tags":80,"updatedAt":82,"__hash__":83},"content\u002FTLT - 2023.11.28 - Thinking About Copilot.md","Thinking About Copilot",{"type":7,"value":8,"toc":65},"minimark",[9,13,24,27,34,41,44,49,52,59,62],[10,11,12],"p",{},"Reflections on Github Copilot and AI coding assistants.",[10,14,15,19,20],{},[16,17],"img",{"src":18},"\u002Fimg\u002Frobot-intern-coffee.jpg"," ",[21,22,23],"em",{},"A robot intern delivering coffee. Image by DALL·E.",[25,26],"hr",{},[10,28,29,30,33],{},"I've been using Github Copilot a lot, especially since I got the vim plugin all set with autocomplete. It is fast and slick enough that it doesn't get in my way, which is a good start, and it often suggests good and correct chunks of code. I find that I like it ",[21,31,32],{},"best"," when I know exactly what I want already and it magically types it out for me -- even whole functions or blocks of code at a time.",[10,35,36,37,40],{},"I haven't been using the more full-fleshed vscode version as much, mostly because I'm addicted to my (neo) vim setup. I wouldn't mind being able to highlight code and have it apply some corrections, and I would like to be able to have it correct or suggest the ",[21,38,39],{},"whole"," line, not just what comes next after my cursor. Generally I think that I can create code with it faster than without it with a similar or maybe even decreased error rate.",[10,42,43],{},"This is great! In particular how it feels like it's reading my mind and filling in what I think I want. I've also done a bit of Rust, which I don't know very well, and that works too. I come up with the strategy and it writes out the specifics.",[45,46,48],"h2",{"id":47},"the-beginner-problem","The Beginner Problem",[10,50,51],{},"I don't mind not knowing Rust in extreme detail at the moment. I'm not writing in it every day, and I understand some of the principles enough to squint and say \"ok yeah, that's fine\". I've been programming in Rails for years, and I still am like \"wait, how does this router\u002Fcontroller setup go exactly?\". Hasn't really slowed me down.",[10,53,54,55,58],{},"But when I started with both I went deep. For example, I was frustrated with RSpec's DSL until I actually read the source code for it and implemented some of the do-block tricks. After that I went with it. I also remember trying to learn a few guitar chords and being unhappy until I mapped all of the notes onto the piano to be convinced of what they actually created. This is part of my own learning process and it later helps because I generally understand the fundamental concepts even if I don't know the details offhand. Copilot is ",[21,56,57],{},"perfect"," for helping me with a first guess of the details.",[10,60,61],{},"What I'm not sure about is how it would have gone if I always had Copilot. I'm pretty sure I'd have gone deep anyway -- Even if I had a live tutor who could tell me at any time what comes next I still would have torn the thing to pieces and see how it fit together. How about other people? Do they do the same? Should they?",[10,63,64],{},"I've come around to the idea that self-learning is not the best way to be taught things. The best way to be taught things is having a great teacher teaching. This can cut years off of self-study. So what happens when you have this code generator helping? I'm not sure what it would be like to learn something from scratch with such a helper sitting there the whole time.",{"title":66,"searchDepth":67,"depth":67,"links":68},"",2,[69],{"id":47,"depth":67,"text":48},"2023-11-28",false,"md","img\u002Frobot-intern-coffee.jpg",null,{},true,"\u002Ftlt-2023.11.28-thinking-about-copilot",{"title":5,"description":12},"TLT - 2023.11.28 - Thinking About Copilot",[81],"blog","2024-01-31","sD5N6cJ2oD3s3SkZFPScsoo5Xf5gCf4zpUVQ9_yFvYU",1778988314801]