From: gnubeard on
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
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
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
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
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