  A write-once memory (wom) is a storage medium formed by a number of
``write-once'' bit positions (wits), where each wit initially is in a `0' state
and can be changed to a `1' state irreversibly. Examples of write-once memories
include SLC flash memories and optical disks. This paper presents a low
complexity coding scheme for rewriting such write-once memories, which is
applicable to general problem configurations. The proposed scheme is called the
\emph{position modulation code}, as it uses the positions of the zero symbols
to encode some information. The proposed technique can achieve code rates
higher than state-of-the-art practical solutions for some configurations. For
instance, there is a position modulation code that can write 56 bits 10 times
on 278 wits, achieving rate 2.01. In addition, the position modulation code is
shown to achieve a rate at least half of the optimal rate.
