Hacker Newsnew | comments | show | ask | jobs | submitlogin
Fluxcapacitor: spoof Posix time functions (github.com)
58 points by luu 766 days ago | 9 comments



Reminds me about the "Subterfugue"[1] project I read about way back when.

Neat idea anyways!

[1] http://subterfugue.org/

Edit: Funnily enough, there's a "TimeWarp" example at the bottom of http://subterfugue.org/screenshot.html

-----


Cool project! I can't think of any practical usage thought. I guess nowadays it's much easier to just spawn a VM.

-----


For cheating in games? :)

-----


See also libfaketime, which does all this and more besides: https://github.com/wolfcw/libfaketime

-----


libfaketime is very cool, but I think it does something different. It focuses on, well, faking time. Fluxcapacitor makes blocking syscalls exit immediately, faking time is a necessary side effect.

For example the docs of libfaketime say:

   LD_PRELOAD=./libfaketime.so.1 FAKETIME="+1,5y x10,0" \
   /bin/bash -c 'while true; do echo $SECONDS ; sleep 1 ; done'

   For each second that the endless loop sleeps, the
   executed bash shell will think that 10 seconds have passed
While with fluxcapacitor the sleep will exit immediately, not after 1s:

  $ time ./fluxcapacitor --libpath=. -- \
         bash -c 'for i in 1 2 3 4 5 ; do sleep 1; done'
  real    0m0.279s

-----


Especially useful for testing network protocol interactions faster than you could if you had to wait for real time to pass. Cool stuff.

-----


Could be useful, too bad the name isn't that good.

Reminds me of the Delorean python package someone showed HN a while ago http://news.ycombinator.com/item?id=5104889.

-----


A library referencing a favorite movie from my childhood automatically has points for the name. On that note, it could be called the_land_before_timeofday() for all I care.

-----


If it's useful to you why would you care what it's called.

-----




Applications are open for YC Summer 2015

Guidelines | FAQ | Support | API | Lists | Bookmarklet | DMCA | Y Combinator | Apply | Contact

Search: