Live data from Hacker News

Coping with Copilot

sigarch.org

331–340 of 463 posts

Re: Coping with Copilot

#331

Earlier quoted context omitted.

As I moved as well, I experienced three different Canadian universities' Computer Science Program. There was only one professor and course that I still remember 20 years later: CS408, Software Engineering, Professor Wortman, UofToronto. Class project was in four phases, cumulative (basic functionality for the application in phase 1, progressively additional functionality in other phases, frequently strongly interacti…

There are a few issues with this kind of assignment. The first issue is that it's really hell on the TAs with all of the administrative work needed to do the swapping between phases. Software engineering is already one of the more annoying classes to TA, and this makes it even less palatable. The bigger issue is that, on the basis of fairness, you grade in later phases is very heavily dependent on factors that are ou…

I don’t know the size of your university projects, or the speed you worked at, but most of my university projects could be understood in a day. The coding part was by far the most time intensive thing at the time.

Re: Coping with Copilot

#332
post #247

Earlier quoted context omitted.

As I moved as well, I experienced three different Canadian universities' Computer Science Program. There was only one professor and course that I still remember 20 years later: CS408, Software Engineering, Professor Wortman, UofToronto. Class project was in four phases, cumulative (basic functionality for the application in phase 1, progressively additional functionality in other phases, frequently strongly interacti…

> About 250 other students signed a petition to the Dean on how this is unfair and awful and they will not put up with it. That behaviour by the students disgusts me.

It explains how we get the state of the profession we have these days.

Re: Coping with Copilot

#333
post #175

Earlier quoted context omitted.

I (surprisingly) could not get it to generate a Fibonacci function that skips 5.

As a human, I’m having trouble understanding the problem description. What does it mean to “skip 5”? I’ve always understood the definition of a Fibonacci sequence to be, starting with 2 numbers (usually 1 and 1) the next number in the sequence is the sum of the previous 2. So starting with 1 and 1, we get 2. 2 and 1 is three. 3 and 2 is five. What do we do from here? Do I not add 5 and 3? If not, then what do I add?…

I understood it to mean don’t print “5” but keep computing as if 5 were in it.

Re: Coping with Copilot

#334

Earlier quoted context omitted.

I've been writing code for nearly as long and man, you have to try it. It's more like autocomplete on roids than something that generates Fibonacci methods automagically.

I found carefully reviewing the suggestions it gave me more work than actually writing the code myself. Granted, I only used it for a day, but many of the suggestions were subtly wrong, needless inefficient, or used outdated/deprecated paradigms/standard library stuff. I only used it for a language I'm very familiar with. I'd be a lot more hesitant using it for a language I'm less familiar with because I won't be abl…

I've found it extremely helpful in writing highly repetitive code that's too complicated for a Regex find/replace. For example, I used it when writing a recursive descent parser in Rust for a hobby project.

I wrote the grammar in a comment at the top of the file, wrote and imported the AST enum, and wrote the first production. After that, I just prompted Copilot and it worked its way down the grammar, producing the parser functions one at a time. The CLion integration was able to consider the imported data structures as part of the prompt, so it even stored everything in the correct AST nodes.

For something like that, it's easy to verify that it did it correctly (through visual inspection and testing), and it allowed me to write the entire parser in about 2-3 seconds per rule.

Re: Coping with Copilot

#335
post #292

Earlier quoted context omitted.

That's how it works in italy. The bad side is that to be an engineer you have to pay a yearly fee as well :D

Being an actual engineer (software) is different to just being a software engineer, and the former is very commonly highly regulated.

Being an actual engineer myself, I discovered that an official Professional Engineer license has little correlation with competence.

Re: Coping with Copilot

#336
post #49

Earlier quoted context omitted.

I disliked them in school, for the usual reasons, but found them the most useful exercises for developing career skills. No person an island. And if they are, I don't want to be on a work team with them.

Is doing other people’s homework for them a career skill?

In my experience, yes, since much like school the team gets the team's grade if you're trying to ship a product; there can be room for individual merits if the company has bonuses or a separate reward structure, but my experience is that expecting everyone on a team to pull their weight equally is a fool's errand (even if it's for something quite reasonable like a family emergency, or other "good reason")

In school it never bothered me having freeloaders get the same grade for my work, so long as they stay out of my way and don't "help." There's a very famous mechanic's poster: "repair: $5, if you watch: $20, if you help: $1000"

Re: Coping with Copilot

#337
post #178

Earlier quoted context omitted.

How is it abusive?

There is a common trend of devs on HN getting angry that their work has been "stolen" to train copilot, While none of them raised the same concerns when everything else like art, music, literature, etc was used to train other models. Now that it affects them its a real issue.

All the software I write is Open Source, and I'm happy to have anyone use it for any purpose.

Re: Coping with Copilot

#338
post #330

Earlier quoted context omitted.

Seriously. Take an rfc, change some of the clauses, and make them implement it.

I’ve used copilot to turn an rfc into code. It wasn’t perfect the code did need to be changed a bit but it was surprisingly close. And I ended only rewriting 4-5 lines that were totally wrong and 3-4 just for clarity. Out of like 40 lines of generated code.

Great. If an undergrad can find and rewrite those 10% of lines that are wrong, this is exactly what I care about to be an effective programmer. Especially since a good chunk of programming is reading code by former programmer (including self()) and interpreting and debugging. If they can use copilot with confidence to be more productive in getting to that point even more bonus points if I were a manager.

Re: Coping with Copilot

#340
post #328

Earlier quoted context omitted.

There is a common trend of devs on HN getting angry that their work has been "stolen" to train copilot, While none of them raised the same concerns when everything else like art, music, literature, etc was used to train other models. Now that it affects them its a real issue.

Yes. It's especially amusing given that much of the other things you note are actually intended for commercial use (i.e. sales) from the start, unlike open source software. I just don't understand the OSS community sometimes. "Software should be open and free (libre) for me to study and modify" includes what Github did for copilot. If you don't want your software to be free (in either sense), don't host it on an open…

Your argument fails to distinguish between "open source" and "free software".

Copyleft, free software, GPL style licenses do not have their source open purely for the purpose of studying and modifying. Their licenses also require that derivative works also be free and that such modifications be distributed.

Copilot does not comply with this. And so violates the spirit of those licenses, and probably also the letter of the law.

Post reply on HN