Thoughts on secure hashing and the "mds" algorithm
That is an absolutely terrible idea, here is why.
His algorithm works as follows:

Hash the input data
Take the length of data (presumably in bytes)
TRUNCATE the hash so that the length value in bytes plus the truncated hash is the output length of a standard MD5 hash (128 bits)

Here is an example of a 1MB data file being hashed
MD5(data) = e319709e00ec584c412603b83f661b2b
len(data) = 40000000
MDS(data) = e319709e00ec584c412603b840000000

Most MD5 collision attacks are on signatures with a fixed length, this will only make it easier to create a collision, since you do not have to worry about the truncated bits at the end as part of your collision calculation.
The length of the input data for some applications is also a secret or can expose information about the data, so it is part of the input padding to the hash and not the output.