Macfly project allows you to run one or more programs with a shifted clock compared to system clock. The programs have the same shift and are synchronized at the same time.
deloreand daemon managing the time shift
docbrown utility to send command to deloreand
libmacfly.so and macfly are written in C language, deloreand and docbrown are written in Python 2.3. The project is under GNU GPL license.
Here are some key features of "Macfly":
· Your program doesn't require any recompilation
· Resolution of one nanosecond (10-9)
· Change clock speed function
· Interactive mode (keyboard input) or daemon mode (interact with docbrown throw TCP socket) for deloreand
· Do not require root account (except for the installation)
· Go forward
· Change video playing speed (from 0.1x to 5x)
· Works with: vlc
· Change game clock speed (slower or faster)
· Works with: xmoto, pingus
Send email in the past/future
· Works with: kmail
Test program using clock:
Test special values dates:
· Y2K bug: 1999/12/31 23:59:59 => 2000/1/1 00:00:00)
· Year 2038 bug: 2038-01-19 04:14:07 => 1901-12-13 20:55:13
· Epoch 0: 1970/1/1 00:00
Test tar program: decompress with a negative shift of 6 days display a warning
$ macfly tar xf ~/testcase.tar
tar: testcase/yellowdude.3ds: time stamp 2007-04-28 12:21:13 is 61425.168111 s in the future
tar: testcase/logo-kubuntu.png: time stamp 2007-04-28 12:21:13 is 61425.167332 s in the future
· sleep() functions: sleep(), usleep(), nanosleep(), select()
· kernel syscalls: sys_time(), sys_gettimeofday(), ...
· direct access to hardware: /dev/rtc, RDTSC i386 instruction, ...