Jim Sokoloff | 1 Apr 17:54 2009

RE: Telephone alarms


This just came across my RSS feed for Hacker News, and may also address your concern (turn a development
hassle into a $30/month opex cost).

I have no affiliation with them, not even as a customer:
http://www.robonoc.com/

-----Original Message-----
From: Jim Sokoloff 
Sent: Monday, March 30, 2009 9:32 AM
To: 'Laughing Water'; LispWorks
Subject: RE: Telephone alarms

If this is for a product (as opposed to a one-off), I'd look into ContactID (the standard for alarm monitoring).

If it's just a one-off, I'd recommend SMS (via an email gateway presumably) as a first/most obvious contact
means, or to look into Asterisk if it absolutely has to be a phone call (as opposed to just "something that
will make my phone make noise")

-----Original Message-----
From: owner-lisp-hug <at> lispworks.com [mailto:owner-lisp-hug <at> lispworks.com] On Behalf Of Laughing Water
Sent: Monday, March 30, 2009 9:24 AM
To: LispWorks
Subject: Telephone alarms

I'm writing software to monitor refrigeration temperatures at my  
natural food store, and I want my system to make phone calls in the  
event of an anomaly.

It seems to me that this could be done with no additional hardware  
(Continue reading)

Laughing Water | 1 Apr 18:35 2009
Picon

Re: Telephone alarms


Thank you, Jim, and thanks to everyone else who replied.

My object is to do a one-off system that can actually wake someone up  
in the middle of the night and provide an indication of what the  
problem is.

Being cell-phone illiterate, I had to learn what SMS is and the fact  
that it will cause a mobile phone to ring. I haven't made sense of all  
the other options people have offered, but text-messaging seems to be  
a simple and adequate solution, especially since I expect to be  
alerting multiple responders.

I've just acquired a Skype account and figured out how to send an SMS  
message through it using AppleScript commands. I may trigger an  
AppleScript with a system call from LispWorks, or I may do it all  
through LispWorks using Cocoa.

In any case, this is a much better solution than the one suggested by  
the equipment company: using a PC-based program that triggers a  
separate WebRelay box (meaning that your monitoring data is filtered  
down to a single bit) that in turn triggers a separate phone-dialer box.

They should hire me.

Thanks again. The Lisp community totally rocks!

Laughing Water
Real Food Store, Inc.
Helena, Montana
(Continue reading)

Chris Melen | 1 Apr 20:12 2009
Picon

Pinboard-object drawing bug or expected behaviour?


I have noticed that unless I explicitly set the :x, :y, :width and :height
initargs of a pinboard-object in an interface the object is damaged when
something (say, another window, or pinboard-object in the same layout) covers
it. For example the following -

(define-interface test ()
  ()
  (:panes
    (pane drawn-pinboard-object
      :display-callback 'test-callback))
  (:layouts
    (pinboard pinboard-layout
      '(pane)
      :background :white))
  (:default-initargs
    :layout 'pinboard
    :best-width 300
    :best-height 300))

(defun test-callback (pane self x y width height)
  (declare (ignore self x y width height))
  (with-geometry pane
    (let ((x-radius (1- (floor %width% 2)))
          (y-radius (1- (floor %height% 2))))
      (gp:draw-ellipse pane (1+ (+ %x% x-radius)) (1+ (+ %y% y-radius)) 
                            x-radius y-radius))))

Unless I set the pane geometry via (pane :x 0 :y 0 :width 300 :height 300) in
the :layouts slot it suffers damage when covered. Is this a bug, or what I
(Continue reading)

Espen Vestre | 2 Apr 09:20 2009
Picon

Re: Pinboard-object drawing bug or expected behaviour?


Chris Melen <relativeflux <at> hotmail.co.uk> writes:

> Unless I set the pane geometry via (pane :x 0 :y 0 :width 300 :height 300) in
> the :layouts slot it suffers damage when covered. Is this a bug, or what I
> should expect? In my application the objects I draw are scaled relative to the
> geometry of the containing interface, so I don't want to have to actually
> provide values for these initargs. I have a work-around, but is there a CAPI way
> to solve this that I've missed?

Built-in objects, like capi:ellipse, handle much of this for you, but
if you use drawn-pinboard-object, you need to tell capi what its size
is.

I use (setf pinboard-pane-position) and (setf pinboard-pane-size) for
objects that move and change size.
--

-- 
  (espen)

Martin Simmons | 3 Apr 17:29 2009

Re: debugging gui's with the stepper (LWW)


>>>>> On Fri, 20 Mar 2009 19:09:21 -0400, Paul Tarvydas said:
> 
> Hopefully I'm missing something obvious or an RTFM, but if anyone knows how
> to do this correctly, please let me know...
> 
> I'm debugging a complicated capi GUI on LWW.
> 
> I set breakpoints in the callback code using the red-dot in the editor
> toolbar.
> 
> About half of the time, when the breakpoint is hit, the stepper window
> appears and then the system goes nuts and hits an out-of-stack condition (my
> impression is that the LWW winmain continues to process windows events -
> e.g. mouse moves over the pinboard - all of which lead to further breaks
> until the stack dies).

Yes, that is a correct diagnosis of the problem.

> Is there a flag to suspend event delivery to the program under test, while
> the stepper is up?
> 
> Is there some other preferred way to debug this windows-y stuff which avoids
> this problem?

The Stepper is supposed to deal with this itself, but unfortunately there is a
bug and there is no easy programmatic workaround.  You could reduce the chance
of the problem occurring by making the application window small enough to be
hidden under the LispWorks IDE (so it won't receive any display callbacks).

(Continue reading)

Mikko Ahonen | 4 Apr 09:28 2009
Picon
Picon

Disabling "display on demand" for hidden panes in switchable-layout?


Hello,

Does anybody know whether there is a simple method to disable "display
on demand" for hidden panes in switchable layout?

My layout takes quite a while to draw, and drawing it only after user
pushes the button to activate the tab the first time confuses the
user.

I would like to do all the necessary calculations for the pane at
startup while splash screen displays.

Is there a simple way to do that?

Best regards,

Mikko

Mikko Ahonen | 4 Apr 12:26 2009
Picon
Picon

Re: Disabling "display on demand" for hidden panes in switchable-layout?


Answering myself:

:combine-child-constraints t

Regards,

Mikko

On Sat, Apr 4, 2009 at 10:28 AM, Mikko Ahonen <mikko.ahonen <at> iki.fi> wrote:
> Hello,
>
> Does anybody know whether there is a simple method to disable "display
> on demand" for hidden panes in switchable layout?
>
> My layout takes quite a while to draw, and drawing it only after user
> pushes the button to activate the tab the first time confuses the
> user.
>
> I would like to do all the necessary calculations for the pane at
> startup while splash screen displays.
>
> Is there a simple way to do that?
>
> Best regards,
>
> Mikko
>

(Continue reading)

Madhu | 4 Apr 14:45 2009
Picon

Restoring the default environment


Helu

With LW Personal on Linux, when the X connection breaks, lispworks
continues running[1] and switches the default environment to the TTY
environment.  One can then start the IDE tools on a different X server
but how would one go about restoring the default environment to the CAPI
environment --- such that the output goes to the GUI and the graphical
debugger is invoked (say).

PS [1]	One of the advantages of linking against Motif. :) I'd bet
	linking against any other new linux toolkit would terminate the
	process

--
Madhu

Paul Tarvydas | 4 Apr 18:03 2009

Re: Disabling "display on demand" for hidden panes in switchable-layout?

On Saturday 04 April 2009 3:28:12 am Mikko Ahonen wrote:

>

> Hello,

>

> Does anybody know whether there is a simple method to disable "display

> on demand" for hidden panes in switchable layout?

I don't know the exact answer to your question, but some ideas pop into mind:

a ) try setting :combine-child-constraints t and see if that does enough of the work up-front

b ) look at tab-layout and see if :selection-callback will allow you to set the description to something that you've cached

c ) you can probably create your own switchable / tab layout by using hide-pane and show-pane, e.g. use a pinboard layout, with a bunch of overlapping layouts / panes, show-pane all of them at first to get capi to calculate them, then hide all but one

d ) drop into gp: and use pixmap ports and make-image-from-port to make a "screen capture" of the layout, then construct your switchable layout using image-pinboard-objects with the images bound to the already-cached pixmaps (I actually use this trick to grab a snapshot of a PDF rendering (very slow) done by a library DLL and use it as a background for the operations of a PDF page-layout tool - ask me if you need more details).

pt

Mikko Ahonen | 5 Apr 19:22 2009
Picon
Picon

Re: Disabling "display on demand" for hidden panes in switchable-layout?


Hello,

Thanks for your ideas.

Option a) works and thus prevents me from the need to try the more
cumbersome options.

My guess is that b) would not work, because panes are not "calculated"
until needed although they are in the description of
switchable-layout.

The PDF idea sounds interesting, it is always interesting to hear
about novel ways to solve problems...

Regards,

Mikko

On Sat, Apr 4, 2009 at 7:03 PM, Paul Tarvydas
<tarvydas <at> visualframeworksinc.com> wrote:
> On Saturday 04 April 2009 3:28:12 am Mikko Ahonen wrote:
>
>>
>
>> Hello,
>
>>
>
>> Does anybody know whether there is a simple method to disable "display
>
>> on demand" for hidden panes in switchable layout?
>
> I don't know the exact answer to your question, but some ideas pop into
> mind:
>
> a ) try setting :combine-child-constraints t and see if that does enough of
> the work up-front
>
> b ) look at tab-layout and see if :selection-callback will allow you to set
> the description to something that you've cached
>
> c ) you can probably create your own switchable / tab layout by using
> hide-pane and show-pane, e.g. use a pinboard layout, with a bunch of
> overlapping layouts / panes, show-pane all of them at first to get capi to
> calculate them, then hide all but one
>
> d ) drop into gp: and use pixmap ports and make-image-from-port to make a
> "screen capture" of the layout, then construct your switchable layout using
> image-pinboard-objects with the images bound to the already-cached pixmaps
> (I actually use this trick to grab a snapshot of a PDF rendering (very slow)
> done by a library DLL and use it as a background for the operations of a PDF
> page-layout tool - ask me if you need more details).
>
> pt


Gmane