4 ms·
Are these problems unique enough that they couldn't have circulated before the AoC where they appear now? I notice that for "novel" code that CoPilot hasn't se
by alkonaut 3y ago
Are these problems unique enough that they couldn't have circulated before the AoC where they appear now?
I notice that for "novel" code that CoPilot hasn't seen before, it's mostly useless, but when writing a hobby project which is a path tracer (of which there are probably 1000 implementations on GitHub) it's excellent. Which isn't surprising. It has seen the exact same function I'm writing, written 100 times in every language imaginable. There are books on the topic etc.
- monitron 3y agoI’m curious…if you’re writing a path tracer for fun, does using Copilot not take the fun out of it? If it’s already been done a thousand times, it feels like the point has got to be to write your version, otherwise why not just copy-paste or pull in a library? If you use Copilot are you not giving up the joy of building it with your own hands? What’s left at that point?
- alkonaut 3y agoGood question. There is quite a lot of boilerplate in graphics, which is basically copy paste/book textbook lookup and ChatGPT is fantastic for this sort of thing. I wouldn't be able to deduce this, it would be a copy paste from github/stackoverflow/physics book/whatever. ChatGPT though is like a magic copy paste that takes the formula from github or the pbrt book and pastes it with my variable names. So you don't do paste and then update the names. // convert color from linear to sRGB let srgb = [some formula] // calculate wavelength dependent index of refraction let nw = [something] But yes, obviously somewhere between this and just saying "Create all the code I need" All the fun would disappear too. For the most part, that wouldn't work either. It would shit out 200 lines of code that doesn't work, and now it instead of taking the boring job of googling a formula from an optics reference replacing the variable names, it's now taking the role of shitty developer and made me the code reviewer. But see that's my day job and it's not what anyone wants.
- monitron 3y agoThanks so much for the thoughtful and insightful response!
- savanaly 3y agoThere's still decisions to be made, just different ones. Does using a nailgun take the fun out of building your own dog house?
- monitron 3y agoI'm not sure a nail gun is the best analogy; it's a very simple tool that does one thing exactly as "instructed," and can't do any of the "thinking" for you.
- savanaly 3y agoFair enough. Let's go with the analogy of a compiler, allowing you to write in python instead of assembly. Certainly this is doing a great deal of "thinking" for you. But hasn't it unlocked the more fun aspect of what you were doing? Not that this is true for everyone; some folks do still like to write assembly by hand, for fun or profit. But a compiler was still a remarkable advancement and worth celebrating.
- Levitz 3y agoKind of. The precise, exact problem might be new, but it's similar enough to things that are already out there for many people to have helper functions at the ready and solve them with absurd speed.
- robryan 3y agoEven if the ideas aren't unique they are worded in a unique enough way that the training set wouldn't have anything like how they are presented.