... until the collector arrives ...

This "blog" is really just a scratchpad of mine. There is not much of general interest here. Most of the content is scribbled down "live" as I discover things I want to remember. I rarely go back to correct mistakes in older entries. You have been warned :)

2000-03-17

A few days ago I reported to Franz a problem with the following code:

(defun make-fn (arguments)
   #'(lambda ()
        (labels ((doit (a b c)
                    (try-something-else a b c) )
                 (try-something-else (a b c)
                    (list 666 a b c) ))
           #'(lambda ()
                (apply #'doit arguments) )
            )))

(defvar *function* nil)

(setf it (funcall (make-fn '(1 2 3))))
(funcall it)

(compile 'make-fn)
(setf it (funcall (make-fn '(1 2 3))))
(funcall it)

The second FUNCALL, after compiling MAKE-FN, results in a error reporting an invalid object type or some other incongruous message.  Franz acknowledged the bug as a compiler optimization bug and suggested replacing APPLY with a call to our function of this type:

(defun my-apply (function arguments)
   (apply function arguments) )

This fixed it.  Franz promised that the bug will be fixed in "some future version of ACL".

1999-11-18

Here is how to use Microsoft's makecert utility to generate certificates:

To make a CA certificate (self-signed):

makecert -cy authority -r -n "CN=MM Root Authority" -sv zot.pvk zot.cer

To make a certificate signed by the new CA:

makecert -ic zot.cer -iv zot.pvk -n "CN=MM Test SSL,O=MM Test SSL,C=CA,S=Alberta,L=Calgary" -sv test.pvk test.cer

1999-09-24

The AIX has developed a problem during backups.  It signals an error part way through -- tape write error at x feet.  We have power-cycled the unit, cleaned the heads, tried brand new tapes.  Nothing has corrected it.  Since the AIX is no longer under a service contract, and since we will be retiring the AIX very soon, we have disabled the backup procedure.  The only services that remain on the AIX at this time are DNS, WWW, and BACKUP_SETUP.  DNS will be moved to SOL.  WWW is about to be contracted out to a third party.  BACKUP_SETUP can be reproduced simply elsewhere -- say Javascript on a web page?

1999-07-08

ACL 5

After much experimentation, I figured out how to build a LISP image (application) in ACL5.  The problem is that the new image-building machinery does not inherit anything from the running image.  The solution is to build a project that contains a single file that loads your system.  For example, here is the file I used:

(cl:in-package "CL-USER")
(load "t:\\dev5\\fsl\\base\\lportabl.fasl")
(let ((p:*module-defaults* '(#p"t:\\dev5\\fsl\\" #p"t:\\dev5\\src\\util\\")))
   (p:require "scaffold/query.l")
   (tquery :ipl-well)
   (p:require "x-dm/impl")
   (p:require "x-dm-sql/impl")
   (p:require "x-ppdm/impl")
   (p:require "x-uwi/impl")
   (p:require "mdl-ipl-well/xmain")
   )

Another wrinkle is that the initial function for the image must return a window.  The image will run until that window closes.  We will probably have to work around this behaviour.  Maybe we can return NIL or a closed window.

In the course of troubleshooting this process, I noticed that the query tool was still using some of the compatibility classes in the ACLWIN302 package.  We should delete this package when developing.

Blog Archive