"Also, you can provide your own dictionary ..." -- that was a 3-minute answer, and here's a 30-minute:
Why would I need Someone Else's code if I were young and smart and looking for a problem to solve, a challenge to take?
Doesn't the fact that fast and small and simple SSE is still pretty useful (after all the enormous work performed by cmix and similar)
tell you that PAQ-like algorithms (including phda and cmix) don't recognize any patterns in the
model_number / probability_from_previous_models two-dimensional matrix?
They only have a one-dimensional view of it, first horizontal, then vertical.
But your algorithm does not have to look at this matrix at all !
Come on, guys, forget about phda and cmix, invent something radically new!
Like BWT and ANS were amazingly new solutions to old and boring problems.
And for super-brief introductions to a couple problems that look really important,
search for my last name on youtube.com (2nd half of the talk)