Prev: &optional combined with &rest
Next: local-time on Clozure CL windows vista 64 Can't resolve foreign symbol "gettimeofday"
From: gnubeard on 25 Sep 2009 07:48 For those annoyed with the 5-hour timeout in LispWorks Personal Edition: You can disable the time-out by using the library interposition mechanism on your platform (LD_PRELOAD on linux, DYLD_INSERT_LIBRARIES on Mac .. not sure about a mechanism on Windows). Write your own implementation of gettimeofday() that: Lets time proceed normally for the first N seconds (10 < N < 5*60*60). This allows the startup dialog boxes to time-out properly. After N seconds have passed, the bogus gettimeofday() function should freeze time to a constant value. This will prevent LispWorks from prompting you about the impending timeout, and will allow Lisp code to continue running past the 5-hour mark. Code running in Lisp will, however, always get the bogus time - so code dependent on proper clock values won't work right. Depending on your application, you may be able to get around this by avoiding LispWork's internal time functions and getting the time through some other fashion. Alternatively, you can constrain the time to some interval (with some modulo arithmetic, for example), but when the clock first rolls back LispWorks will prompt. Click continue, and you're all set. It won't time out, and it doesn't appear to prompt again. For those offended by the mildly unethical nature of this post, I apologize. For those whom this helps in some small way, you're welcome. For those that can't write the small amount of C code needed to make this work - I'm sorry, but I won't give you the code I use. That would become slightly more unethical than I can comfortably just shrug off. So please don't ask. The best I can do in that regard is to tell you to research the LD_PRELOAD mechanism and learn how to use it. To the LispWorks crew: a better way of managing this would be to either statically link your own gettimeofday(), or at least draw in the gettimeofday() function yourself, right from the system library into your own function pointer so that it can't be hijacked as easily.
From: Pascal J. Bourguignon on 25 Sep 2009 08:12 gnubeard <gnubeard(a)gmail.com> writes: > For those annoyed with the 5-hour timeout in LispWorks Personal > Edition: > > You can disable the time-out by using the library interposition > mechanism on your platform (LD_PRELOAD on linux, DYLD_INSERT_LIBRARIES > on Mac .. not sure about a mechanism on Windows). > > Write your own implementation of gettimeofday() that: > > Lets time proceed normally for the first N seconds (10 < N < 5*60*60). > This allows the startup > dialog boxes to time-out properly. > > After N seconds have passed, the bogus gettimeofday() function should > freeze time to a > constant value. A better way would be to slow down the clock. If you make 1 s from gettimeofday = 4 s real time, you get 20 hours of work, and everything should still work well (as if the processor was four times faster, from the point of view of Lispworks and your lisp programs). It's slightly more ethical than stopping the clock, since you'd still get the timeout once a work day. While it might go against the spirit of the license, I don't think they forbid relativistic time play. If you find a black hole 100 Earth masses, and you can put yourself on a 1-meter orbit, then you would have a time dilation of about 4:1 that would give the equivalent work time between timeouts. Read the license closely, but I'd bet this is not forbidden. Another solution, would be to drink a lot of caffeine, and pack one day work in 5 hours ;-) -- __Pascal Bourguignon__
From: Espen Vestre on 25 Sep 2009 09:34 pjb(a)informatimago.com (Pascal J. Bourguignon) writes: > While it might go against the spirit of the license, I don't think > they forbid relativistic time play. LOL - good one :-) But if you bring your machine with you, you and the machine are ticking away in concert, so what did you gain? But of course, instead of travelling to the next available black hole, you could also buy one billion LispWorks licenses and still save a lot of money... Or, you could simply appreciate the good work the LispWorks guys do and buy one Professional Edition License! -- (espen)
From: kodifik on 25 Sep 2009 10:15 On Sep 25, 1:48 pm, gnubeard <gnubeard(a)gmail.com> wrote: > To the LispWorks crew: a better way of managing this would be to > either statically link your own gettimeofday(), or at least draw in > the gettimeofday() function yourself, right from the system library > into your own function pointer so that it can't be hijacked as easily. They could always be found ways to play with the primary time source perceived by the software. I once had an Allegro free edition past its expiry date in a Windogs box with no possible internet connection: One just had to twiddle the taskbar clock by one whole month or year back, and leave the clock widow opened to do the reverse once the software had started. If you use a lisp system for lucrative purposes, buy the required licences. Its no money for any company.
From: Kenneth Tilton on 25 Sep 2009 10:29
Espen Vestre wrote: > pjb(a)informatimago.com (Pascal J. Bourguignon) writes: > >> While it might go against the spirit of the license, I don't think >> they forbid relativistic time play. > > LOL - good one :-) But if you bring your machine with you, you and the > machine are ticking away in concert, so what did you gain? But of > course, instead of travelling to the next available black hole, you > could also buy one billion LispWorks licenses and still save a lot of > money... > > Or, you could simply appreciate the good work the LispWorks guys do and > buy one Professional Edition License! What does it matter? All any good Lisper needs is a C tool stack so they can write their own Lisp. hth, kt |