[hashcash] Re: emacs hashcash.el (Re: Re: Mutt and hashcash)

>>>>> "Adam" == Adam Back <adam@xxxxxxxxxxxxxxx> writes:

Adam> (Cc Paul Foley, the author of emacs hashcash.el).
Adam> On Mon, Mar 08, 2004 at 09:23:05PM -0500, Eric S. Johansson wrote:

Eric> if you can control the MUA, [...] it makes a whole lot sense and
Eric> is a value add for any e-mail client developer.  but if you need
Eric> to operate from the outside or build one solution that works for
Eric> most clients, then in background is the way to go.

OK.  Just wanted to make sure that I'm not off my rocker.

[...]

Adam> But Hubert said he used emacs gnus, perhaps emacs hashcash.el and
Adam> emacs mail/news framework it hooks into might be flexible enough
Adam> to grab the addresses when they're entered, or the reply fields
Adam> are copied from the message being replied to or something.

I think it's actually harder in gnus, because it just presents you with
a text buffer that has all the headers in there, so you'd need to
detect when the user enters/exits the To: line, etc.  In Mutt, at least
it asks you beforehand what address to send to, and it might be able to
call some background process.

Adam> btw if anyone tries setting up hashcash.el, could you send me the
Adam> instructions for the web page.

It's pretty simple.  I just have these lines in my .gnus:

(require 'hashcash)
(add-hook 'message-send-hook 'mail-add-payment)
(setq hashcash-default-payment 20)
(setq hashcash-path "/usr/bin/hashcash")

BTW, Paul.  For the version of hashcash.el that I have, I had to change
the hashcash-generate-payment function to:

(defun hashcash-generate-payment (str val)
  "Generate a hashcash payment by finding a VAL-bit collison on STR."
  (if (> val 0)
      (save-excursion
        (set-buffer (get-buffer-create " *hashcash*"))
        (erase-buffer)
        (call-process hashcash-path nil t nil
                      "-m" "-b" (number-to-string val) "-q" str)
        (goto-char (point-min))
        (buffer-substring (hashcash-point-at-bol) (hashcash-point-at-eol)))
    nil))

because something in the interface changed.  IIRC, I just added the -q
switch, because otherwise hashcash spit out some extra stuff that
confused hashcash.el.  I don't know if this has been fixed in the
latest version of hashcash.el.

-- 
Hubert Chan <hubert@xxxxxxxxx> - http://www.uhoreg.ca/
PGP/GnuPG key: 1024D/124B61FA
Fingerprint: 96C5 012F 5F74 A5F7 1FF7  5291 AF29 C719 124B 61FA
Key available at wwwkeys.pgp.net.   Encrypted e-mail preferred.


Other related posts: