This is the general idea. You can fill in the details.
select author, maxts, etc
from sometables join
(select authorId, max(timestamp_field) maxts
from etc
where whatever
group by authorId) temp on temp.authorId = author.authorId
and sometable.timestamp_field = maxts
where whatever
Make sure the "where whatever" is the same in both places.