The why would be useful but I would hardly say it is pointless. For example I understand the theories but I'm light on details given I have never implemented an encryption algorithm.
Writing encryption algorithms as a weekend project should generally be approached in the same way as one might approach writing aircraft control code as a weekend project:
Never use it, never distribute it in a way that someone else might mistakenly think it's a good idea to use it (so posting it on github would probably be a mistake!) and expect your implementation to have bugs you don't realize. (Even if you shove plaintext in and get the right ciphertext out doesn't mean you've found all the bugs, it gets tricky and in some cases different specific algorithmically correct implementations can have not just different performance characteristics, but different runtime security characteristics.)
Otherwise, enjoy.
Most people tend to find weekend projects more fulfilling if they have a way to put them to use. So while I don't mean to go all "this is dark arts that no one should practice uninitiated" on you, I would encourage you to stifle your tendency to find a use for any encryption code you write that isn't peer reviewed. View it as purely an artform; code never to be utilized.
This is the same advice most security researchers give to themselves and others.
I was strictly confining my comments to the implementation the poster was discussing coding up in a weekend.
The Rijndael algorithm itself is of course, very well reviewed and perhaps one of the most solid algorithms publicly available. Which is part of why it was chosen for AES. (Speed being the other factor.)
I think perhaps you misunderstood the conversation.
I've implemented complex encryption methods, but _only as coding exercises_, never ever ever as code that I would ever want to use outside of the exercise.
In your headers you should note that the code contained is for educational use only and is probably very flawed.
Please note: I'm not saying you're a terrible programmer and is guaranteed to botch this attempt. Encryption is a tricky beast. Best leave it to the maths geniuses.
Algorithm design is for the math people, implementation requires a form of paranoia combined with detailed knowledge about CPUs. In many, if not all, cases you will have to look at the assembly that your compiler produces to make sure that an implementation is safe against attacks that look at the timing of calls, their cache misses that affect timing of code on other CPUs, etc. .
if you've worked with C++, there's a very well known and widely used library called Crypto++ that implements various encryption algorithms incl. AES. Give it a try.
Hmmm weekend project?