Woops, 'ceil' is fixed for next build. In the mean time, a workaround is that floor(N + 0.5) is equivalent to ceil(N), so use that. Random works like so:
random(N) generates 0-N not including N, i.e. random(4) could give 0, 1, 2 or 3. random(1.0) generates a random floating point (decimal) value between 0 and 1, so you can also say 50 * random(1.0), which will give you literally any number between 0 and 50.
For random between two numbers just add to a random number:
50 + random(50) gives between 50-100 for example.