Buggy code can easily come from copying Stack Overflow or even from Github open-source repos so I doubt CoPilot would contribute to it anymore than it already is.
A few snippets of code is not a product. If there was an open-source money-making product and someone builds a competing product using considerable help from CoPilot then that is a stronger case for damages then if someone just used some snippets of code in their own product.
But at that point, it would be just like someone cloning the Github code without following the license and in that case, it should become obvious that there is a clear violation harming the creators. But in most use cases of CoPilot, where-in people are just using it to build their own product, I doubt there is a cause for damages.
So code and mechanical music (i.e. a recording) aren't exactly the same, but code and music compositions are more similar. Can you use a tiny snippet from a composition and still infringe copyright? Yes, you can. Maybe not however short, but there will come a point.
I'm using the word "product" to mean "something which was produced." I searched for a few definitions because I thought they might actually be different forms of the same word. Turns out I could be wrong about that, but that was my intent. Something that you produce is a "product" of your time, effort, labour etc. Doesn't matter if it's something that you are selling or not. Doesn't matter if it's a relatively small production. The point is you produced it. It is yours.
The question is whether the courts will find damages. Everything else has nothing to do with my comment. You might have your own ideas and opinions, which is fine. So do I. Both are irrelevant. The point is that there is a legal question here that the courts alone are equipped to answer.
If someone bought a copy of an educational book like "Learning Go" and used some code snippets from it in their own product, that's fair use. But if someone released the book as their own product titled "Learning Go Better" then that is a clear violation.
For open-source projects, CoPilot is in the realm of fair-use for snippets but it can be mis-used just like Github can be mis-used if someone blatantly copies a repository.
Fair use only applies in certain contexts, of which writing commercial software is not one of. 'Snippets' are not fair use and it is shocking how many people here think they are.
As a software developer, we deal with specific points rather than generalities. Am I doing something illegal or is it fair use? That's the important point to keep in mind and I assume most of Hacker News audience are software devs.
You also deal with the real world and real people, neither of which operate in binary.
Plenty of people over the years have attempted to skirt the law by putting a proxy in the middle and as such, plenty of clarifications have happened that it doesn't matter.
MS's stance here is specifically that it's the responsibility of the person/company using copilot to ensure the code isn't infringing, it is NOT their stance that the code itself is not infringing.
Their stance is that using it as TRAINING DATA is fair use, so they themselves hold no liability, only their users.
---
It's similar to chicken factories claiming they hold no liability for employing illegal immigrants because those illegal immigrants are the ones who chose to work there. And that they also hold no liability if they go through a 3rd party that exclusively hires illegal immigrants. The law very clearly refutes both stances.
Your talking more about your experience rather than what the OP is saying. The OP is saying that he is not immature and he is not content to browse the internet and that he is trying to be autonomous but since he is not the product owner, it is unlikely that he will find ways to make the product better.
Your message sounds like a spiel from a CTO given to his employee in order to motivate them and it's like you used this opportunity to practice a spiel that you have to give instead of looking at the OP's situation.
One of my points is, nobody has to officially be a product owner to figure out things to do. Everyone should care about the product and can use their imagination to come up with tasks, or like I said, can just ask others.
If he can’t figure out how to be useful, that is also a sign of immaturity (at least in the workforce context), and also points to communication issues and incompetency.
He is 6 months on the job. He doesn't know the proper context of the business and it is normal and expected to be handheld at the start. If he was already at some length in the company, then it would be normal and expected that he would be able to come-up with his own initiatives and ideas on how to improve the product beyond the directions that the superiors give-out.
At this point, he is being frozen-out by his teammates or maybe it is just normal ebb and flow like usually newcomers take some time to be integrated in a big company but it depends.
6 months is a fairly long time in my opinion, plus he can use his spare time to learn more about the business. I will just stand by my opinion that he probably has incentive issues, communication issues, and/or various types of incompetencies or lack of experience, or maybe even a lack of vision of what he wants to do with his life (e.g. doesn’t care about or focus on making super cool/useful stuff). I highly doubt others are “freezing” him out.
There's no sign that he is lacking in incentive/incompetent/lack of experience, in fact, he mentions that he is actively making it known to his teammates that he has spare time and is not loaded during meetings.
He hasn't mentioned any struggles to deliver or challenges with his past tasks; it just comes across that he is much less busy than his peers and he is wondering why. Maybe he is not liked and that's why I mention freezing him out, I guess one can classify that as a "communication issue" or the other possibility is that it just takes time to be integrated in a big company like other commentators have said.
By freezing-out, I don't mean that his teammates are actively hostile against him but just that maybe they don't trust him yet to give more tasks, just like how any newcomer is treated with some unfamiliarity at the start. I guess that counts as a "communication issue".
You seem to like to point the blame at the employee only while others have mentioned that it just takes time to build trust and to be given tasks and others have mentioned that he might have already lost the trust of his teammates which I guess does point to a failing in his part if so.
In a big company, there is also usually more room to coast and that is another possibility in that the manager is just not pushing that much and that is normal for a new-hire. I think there are just more possibilities than the fact that the employee is incompetent which seems to be your immediate conclusion without sufficient evidence.
How to be useful means many things to many people. It’s not uncommon to spend time performing useful work that’s not viewed as such by the right people. Back when engineers actually interfaced with stake holders these types of issues were less prevalent.
My idea is that there is a market for community-curated spaced repetition decks. Many people want to learn the same things such as a foreign language or a programming language.
The difficult part is creating a deck and crafting the answers and questions. Because usually this is a time-consuming process. So if it was a community-effort then it would be a win-win.
This is probably not an original idea and if anyone knows already where to find such decks, that would be cool.
> This is probably not an original idea and if anyone knows already where to find such decks, that would be cool.
This is something I've wanted to do with my app (Fresh Cards). I ended up defining a simple text file format for the flashcards[1] to help make it easier to share and import cards. You could post flashcards as simple text that someone could drag and drop into the app to import. (Formats like Anki's .apkg file are great, but they don't make it easy to peruse the cards without importing into Anki.)
What's missing in all of this, though, is an actual community where you could search and browse the decks and collaborate to create new ones. Though, if you simply use text files, you could host a deck on github, for instance, and allow people to create pull requests to improve it. I think there's room for creating nicer user experiences to surface decks and encourage sharing, however. (Imagine, for instance, a social media-like feed where you could see new flashcards being created and you could search by tag for your target language.) Anyway, I think this area is ripe for exploration, but the user experience has to be done right to encourage collaboration and sharing of decks.
I hadn’t heard of Fresh Cards before, but this looks lovely.
I’ve used Anki over the years to great effect with second language learning and am fully bought into the paradigm, but I do find Anki quite clunky as a piece of software. Fresh Cards seems like it’s designed specifically in response to that.
Does this use a similar repetition algorithm to Anki? Are there any obvious limitations versus Anki? What sort of UX differences would a long-term Anki user need to get comfortable with?
Would also be keen to hear from anyone here that’s used this.
Thanks for the response. I read up on how Anki's algorithm works and tried to match it closely, although Fresh Cards doesn't have the exact same algorithm. I actually ended up adding a way for you to provide your own scheduling algorithm via javascript if that's your sort of thing. I also built a web page just so you can see the effects of recalling correctly and incorrectly, as well as reviewing too early or too late: https://www.freshcardsapp.com/srs/simulator/
I also included my attempt at converting Anki's algorithm to javascript so you can compare and contrast. I'm open to any feedback on improving the algo that I do use!
In terms of limitations, probably the biggest one is that Anki lets you create cards using a template system, which Fresh Cards doesn't have yet. In Anki you can create one note and then from that have multiple flashcards auto-generated using several templates. You can also do something similar with cloze deletions. One of my goals is to get to 100% Anki compatibility over the next few months, so I'll be adding a template system and similar cloze-deletion system.
In terms of UX, the app actually has multiple review styles. When I first built the app, a lot of users actually wanted to re-review cards, but the app would strictly schedule them, so you didn't have a way to do that. (Anki lets you "review ahead", but for the most part tries to keep you on the schedule.)
To satisfy both users who wanted to review whatever they wanted, whenever they wanted and users who wanted to stick to a spaced repetition system, I designed the UX to act as a "playlist". You just hit play and it'll start reviewing the cards in the order that you see. (You can sort and filter based on spaced repetition algorithm, or use several other modes.)
The app is pretty much designed to just pick up and go without a lot of instruction, so it should be easy to get used to.
I've been using spaced repetition software (Anki) to learn Japanese. Community decks are really powerful for the basics, but personal decks are unavoidable later on.
For language learning, there are flash card generators that make this a simple one-click process. I think these strike the right balance of simplicity & flexibility/personalization. Of course, a tool like this relies on a free database that you can map concepts onto. But I could see this sort of working with wikipedia or some documentation.
They're a lot better than Save All's builtin decks, such as only including 1,000 of the most frequent words of a language, and only nouns, and not even including the word's gender.
Rarely with these SRS services do you see actual high-quality decks that outdo public Anki decks, which is a shame because it would be a great way to add value.
Instead of there being competing spaced repetition programs and services, I'd much rather companies just go down the route of making well-curated, frequently updating Anki decks and putting them behind a paywall instead.
Refold, a company focused on language learning, does exactly this [0], and having tried their JP1K deck for Japanese for a while, I can say without any hesitation that it was shocking just how high quality everything was.
It had the full works: Japanese audio, kanji, furigana, multiple definitions, a custom background, etc. And I wouldn't be surprised if there were even more changes since the last time I tried it.
I recall there being something similar to this for medical programs, but overall I'd say that this approach sadly isn't something that a lot of people are focusing on.
(1) We are going to incentivise high quality decks by allowing people to sell access to their decks
(2) The main problem we see with Anki public decks is that the user themselves decides whether they got the question "right" or not when reviewing the cards. This lack of a "teacher" means that it is very very difficult to learn using someone else's cards.
You basically end up kind of getting something wrong but then saying it was right anyway. Do that a few times and your trust & investment in the process goes and you'll eventually you lose motivation to carry on with the deck.
Save All decks are different. WE decide whether you got it right or not, not you. This makes it much easier for you to learn using someone else's decks
I don't understand how your 2nd point is a problem. If you already say you're right even though you are not, you won't lose any motivation to carry on because you have no motivation already.
If you don't want to learn (or memorize), no technique or tool will allow you to learn. Make a tool that solves this "problem", and the user will simply find other ways for running away, like not using the tool.
See my other comment, but I wonder if someone could coordinate an open source deck using github. It would have to use a text-based flashcard deck format, and as with other open source, would require some coordination to curate the deck.
That said, I can see some negatives as I have read that for learning, it's generally better to construct your own flashcards.
https://quantum.country/ teaches quantum computing as essays with embedded flashcards, as a new "mnemonic medium". I wonder if there is a market for context plus flashcards. What if books came with their own spaced repetition decks?
At least coming from the medical school perspective - there is a huge culture of using shared Anki decks built off of popular board review books and courses so you can read a chapter/finish a section in some course and immediately jump to Anki to do the corresponding flashcards.
It's gotten so popular that now theres a shared 30,000k card deck called AnKing that a lot of students use. The deck itself is free, but the curators of the deck recently launched a new paid service to automatically update the deck as new cards from the community are added: https://www.reddit.com/r/medicalschoolanki/comments/rb62m6/a...
Another idea: decent, effective decks of cards exist for other platforms like Quizlet - just figure out how to convert them (there are apparently some extensions that do this as of now)
Anki is great; the problem really is the inability for people to use it on their phone (without paying) and properly build and maintain decks.
Would very much like a version control system for Anki decks so updating cards can be done by the community and transparently. This would allow people to validate and properly maintain decks that change with time (like programming languages / regulatory requirements / operating standards etc).
Interesting question, and it really boils down to "given what you know now, what would you have done differently in the past?"
Most regrets stem from poor information or prediction capability such as the story of the one that went into game development during college instead of a better course or the one that didn't focus on programming until late in life.
I think the biggest regrets doesn't come from lack of prediction or information but just from the lack of willingness to take risks.
Life is finite and so whether we take risks or not, we all end-up in the same place; but to those who took risks and it paid-off, the journey is much more pleasant and the reckoning at the end is much more fruitful.
Of course this is just a platitude and isn't really that helpful, since there are a lot of risk-takers that just end-up dead or worse-off.
But the idea is that a person can't win by not taking risks since we're all dead anyways and so maybe a calculated risk is the answer.
Spaced repetition is already a well-understood and well-accepted idea. Why feel need to debate about it?
The more important thing is the product which is SaveAI which is using AI to make the spaced repetition process much more efficient and effective. I never got into Anki because it seemed to me to be a tedious process to create decks but this new approach with using AI is much more attractive.
But I guess people like to argue/exchange ideas and this post is getting much more traction compared to the Show HN.