ah, lets check out the examples folder of this nice library made for humans, I'm sure it's minimal in its scope to demonstrate basic usage, and ease you into more complex stuff.
*sees a huge monstrosity that accepts like 20 command line parameters, handles intricacies of some completely unrelated file format and uses every API it possibly could for its purpose, while meticulously checking for all possible errors* -_-
Let's make a video of my project and share it with the world! How hard could it be?
*Your 10+ year old laptop can't record your project at reasonable frame rate.* Alright, I have full control of the rendering, I'll integrate a video encoder into my project and encode the frames directly. Let's try libtheora, how hard could it be?
*Theora uses a different color space, and conversion rules are specified from it to RGB not the other way around, so you need to solve a set of linear equations*
I learnt how to solve a set of linear equations at school, it was a lot of fun, but alas I vowed to never do homework again. Also solving them and then hard-coding my solution would make it difficult to verify against the original specification, therefore I'll essentially duplicate the specification in code, and then write a program that would solve the equations at compile time and embed the solutions wherever the conversion is necessary.
Why is everything so hard? -_-
*Can't you just use your ~5 year old desktop instead?*
... NO!
exploiting intellectuals for my mathematical needs
While pondering about a pointless optimization of a pointless feature of one of my pointless projects, I stumbled upon a #toyprogrammingchallenge similar to this one
https://qoto.org/@Absinthe/103194125533950090
but different.
A couple of ways to put it.
Colloquial(mathy jargon):
Given a prime factorization of a number, generate all of its factors(prime or otherwise) in ascending order.
Down to code(with fumbling):
Given a multiset(in ascending order) of prime numbers, generate all numbers... whose prime factors are subsets of that set... too mathy?... maybe then "that can be obtained by multiplying numbers from that set together"... in ascending order.
Examples:
Input: 30 = (2,3,5)
Output: ([1,]2,3,5,6,10,15[,30])
Input: 60 = (2,2,3,5)
Output: ([1,]2,3,4,5,6,10,12,15,20,30[,60])