When I was learning C all those years ago, before the invention of C++, I found the library of C "snippets". The online library was well stocked with short examples of working code that did almost anything you could imagine, and was freely downloadable as PDF's (or were they Word documents back then - I really don't remember). It is still on SourceForge. I found that repository hugely valuable, and although it wasn't the only means by which I learned C, I learned a great deal by using sections of code from there, seeing how "proper" engineers did things, and modifying them to suit my needs. I went on to produce hundreds of thousands of lines of C.
I have just reached a milestone in my little Assembler project on the ATtiny85, and I must say it has been a learning experience that I have found pretty difficult. If there is a repository of AVR assembler snippets out there somewhere, then I never found it - and it's not from want of trying. I found a lot of example C-code, but not much assembler. If a Snippets library does not already exist, I would like to suggest making one, in which some distinction is made between languages - principally assembler and C - so that people learning these chips for the first time will have an easier time than I just had. I couldn't get my INT0 interrupt working, and for various reasons, I was convinced that it was because of the way I was declaring the vectors. It finally turned out to be an "R16" that had magically morphed into an "R1", but when the program wasn't working, everything was suspect, and I spent a lot of time trying to verify whether it was right to have an instruction instead of a vector at the vector address (my previous understanding of the term "vector" was more synonymous with "pointer" than with "instruction"), and how to use .org, and exactly what it did. I read tutorials and searched the net for examples, but I found very little, and what I did find, I could not make compile. It always popped up a Disassembler window in AS-7 with errors. All of this uncertainty, and consequent waste of time, would have been greatly alleviated if I had had some working code snippets to look at.
As for myself, I am retired and working on a little project for my own interest and satisfaction. I wanted to learn the AVR instruction set because I have other projects in mind - but none of them is going to set the world on fire. On the other hand, there are many young engineers, setting out on life's highways and byways, and if the way was made easier for them to learn these chips, they might get into them that much quicker, and stick with them for some time into their careers - and who knows what world-beating devices they may produce? Consequently, a repository of working code examples would serve the company as well as the community of enthusiasts. A very good place for such a collection of code snippets would be in this group of forums - perhaps a new forum, with enforced tags of "C", "ASM", "ATtiny", "AVR", "8-bit", "32-bit", and any other divisions that others more experienced than I might propose. Mixed code could have tags of C and ASM. It should be made clear in the rules that code snippets should be fully commented as an aid to those who are trying to get to grips with the technology. Although my project is not yet finished, the parts I have done are working, and while they may not be the slickest code, they illustrate some aspects of AVR programming and I would be very happy to donate it for the benefit of others. I'm sure many other enthusiasts are proud of their efforts and would be very happy to show them off in a public forum.