Why does Ronald Ruth integrate momentum as velocity in his 1983 paper "A canonical integration technique"? I am trying to apply a time integration technique for a system of discrete particles using Hamiltonian symplectic mechanics.
In his relatively well-known paper (CERN,PDF) on symplectic integrators, Ruth gives a few integration methods of various order's accuracy.  They all apply the rule for the coordinates that
$$x = x_i + p t$$ or some variant of that where momentum is integrated directly as a velocity.  I notice that his kinetic energy term is actually one mass unit too many with $p^2/2$ but this should compound the problem rather than balance it out.
Is there some implicit assumption about unit mass here? When implementing these higher order methods in my own code I would just do the usual $$x=x_i +tp/m.$$ Is that still correct?
 A: As Andrew states in a comment, the author is simply setting $m=1$ to avoid excess notational clutter.

yes but $x=x+pt$ strikes me as the undiscerning error of a undergrad student rather than the brilliant work of a particle physicist.

A more advanced physicist tends to be aware of when a particular symbol is crucial to the context in which it appears and when it is not. In this case, the presence of $m$ is irrelevant to the algorithm; if you wish to include it, it can be easily replaced via dimensional analysis.

Alternatively, note that the equations of motion for a particle with Hamiltonian $H:= p^2/2m + V(x,t)$ are
$$\matrix{\dot x = p/m \\\dot p = -\partial V/\partial x}$$
If we define a new time variable $\tau \equiv t/m$ and a scaled potential $\tilde V \equiv m V$ and denote differentiation with respect to $\tau$ with a prime rather than a dot, the equations of motion become
$$\matrix{x' = p\\ p' = -\partial \tilde V / \partial x}$$
Once we've used the algorithm to obtain $x(\tau)$, we have all of the information we need to reconstruct the trajectory as a function of $t$ (e.g. the position at time $t$ is $x(t/m)$).

While it may not appear this way to you at the moment, extensive experience with dimensional analysis makes the equivalence between these approaches about as trivial as the equivalence between $6/8$ and $3/4$. The presence of $m$ is irrelevant for understanding how the algorithm works, so it can be omitted without fear of ambiguity; though it may be not so obvious, it can be replaced with no difficulty either by dimensional analysis (replace $pt$ with $pt/m$ while writing your code) or by implicitly scaling the variables.
