If you want to see a properly exploitable buffer overflow you probably need to write one yourself, since you'd be very hard pressed to find one in some existing piece of software that you could use to do anything of substance. You would need to structure your program in such a way that some visible variable occupies memory adjacent to the buffer you will overflow.

Beryl is pretty cool, but Ubuntu isn't.
Ubuntu is very much geared towards Linux newbies, and while it's quite stable and (very) easy to use, it's quite limited with regard to the amount of flexibility provided by default. You'll also find the Ubuntu forums are loaded with dumb questions, and as a result, the devs there are cynical and like to answer all questions with sarcasm and elitist remarks.

Discord, if you choose Slackware, be aware that it's touted as one of the hardest distributions to operate. Be prepared for a lot of package-management and dependency hell because pkgtool doesn't check any dependencies. It's the way Slack users seem to like it, but it certainly gets frustrating.