site banner

Small-Scale Question Sunday for April 2, 2023

Do you have a dumb question that you're kind of embarrassed to ask in the main thread? Is there something you're just not sure about?

This is your opportunity to ask questions. No question too simple or too silly.

Culture war topics are accepted, and proposals for a better intro post are appreciated.

4
Jump in the discussion.

No email address required.

Has anyone else tried Github Copilot, and found it to have really insidious downsides? I noticed the other day that copilot really fucks up my mental flow when building a program, it's like it prevents me from building a complete mental map of the global logic of what I'm doing. It's not that the code copilot outputs is bad exactly, it's that writing the code myself seems to make me understand my own program much better than just reading and correcting already-written code. And overall this "understanding my code" effect makes me code much faster, so I'm not even sure that copilot truly provides that large of a speed benefit. I also notice my mind subtly "optimizing for the prompt" instead of just writing the code myself, like some part of my mind is spending its resources figuring out what to write to get copilot to produce what I want, instead of just writing what I want.

Maybe copilot is a lifesaver for people who aren't programming particularly complex programs, and I do think it's useful for quickly making stuff that I don't care about understanding. But if I'm writing a new Reinforcement Learning algorithm for a research paper, there is no way that I'd use it.

I'm going to school and taking an intro VB computer class and its fing great. for doing simple stuff having it write all the boring stuff its amazing. My program isn't programming but I know when I get out I could be doing simple .net apps and so I think its a huge productivity booster.

I like it when I'm writing boilerplate like constructors that validate and throw, but when writing actual methods I am not sold on its usefulness yet. It saves about as many keystrokes again as IntelliSense, but I can't really trust what it's writing and keep second-guessing it. It's like writing with autocorrect on, it just disrupts my flow, like Edge highlighting the last word of this comment because I've paused for a second and this must mean I've forgotten to finish my sentence with a full stop.

Nah doesnt work for me. Its style of output throws off my rhytm.

I write mostly python and there are "pythonic" ways to do things. Most python code out there is unpythonic given its written by non python devs. And copilot is much the same.

I make heavy use of ternary operators, lambdas and numpy vectorization tricks in my code and copilots result wont.

edit

At work I can't use it, and at home I don't want to. My workplace is pretty regressive regarding open source and stuff, so co-pilot is almost certainly dead in the water until management decides to implement their own cluster for our repos. And even then, I'm not sure it would be helpful. A lot of our work is on existing systems, which means we need to have an idea of how our processes need to change in specific rather than in general. Our checkout process alone is nearly a million lines, not counting the secondary services like shipping, returns, etc. that we maintain. We already don't have a ton of boilerplate, maybe it could write configs quick?

And when I'm at home? I'm writing for myself systems that I like writing. Little games and scripts that I have complete control over. Maybe if I had a hustle I would use copilot to produce useful-yet-shitty code to ship and iterate fast, but I prefer to write hobby stuff as a hobby, not a job.

That said, I can see maybe using it to build shitty internal apps at work. I'm hourly so I spend and log most of my time on site work and am allotted only so much time to tinker in a given week. Moving quick on scripts or internal dept. apps could be nice. As it is, though, I mostly use GPT to compress code, double check syntax, or write javadoc. It's also good for spitting out synopsis of large code blocks so I can make sense of certain legacy methods and whatnot. Other than that my job has yet to change from the AI revolution.

I couldn't notice it, because I'm a Butlerian Jihadist, but this is one of the reasons I am one. I did notice something similar with DeepL - it does make my life easier when I need to write an email at work, but it's an obvious obstacle to actually learning the language. This is also why I can't take the AI Alignment movement seriously, they're preoccupied with outlandish Skynet scenarios, and are ignoring obvious AI-caused detriments to humanity that are staring us in the face.