This must have been found by Newman himself but I only just noticed.
Enumerate the nonnegative rationals by iterating "Newman's function":
In[96]:= NestList[1/(2*Floor[#] + 1 - #) &, 0, 9]
Out[96]= {0, 1, 1/2, 2, 1/3, 3/2, 2/3, 3, 1/4, 4/3}
"Oldman's function" runs the sequence back to 0, counting the rationals:
In[97]:= NestList[2*Ceiling[1/#] - 1 - 1/# &, 4/3, 9]
Out[97]= {4/3, 1/4, 3, 2/3, 3/2, 1/3, 2, 1/2, 1, 0}
E.g., 0 is the zeroth rational, 4/3 is the ninth.
Oldman is completely unnecessary!
Just negate and reciprocate the last value, and Newman runs backwards:
In[100]:= NestList[1/(2*Floor[#] + 1 - #) &, -3/4, 9]
Out[100]= {-3/4, -4, -1/3, -3/2, -2/3, -3, -1/2, -2, -1, ComplexInfinity}
(with a much louder completion announcement).
Or if you prefer, Oldman runs the negative rationals forwards:
In[99]:= NestList[2*Ceiling[1/#] - 1 - 1/# &, -1, 9]
Out[99]= {-1, -2, -1/2, -3, -2/3, -3/2, -1/3, -4, -3/4, -5/3}
obviating Newman.
--rwg