John Grayson wants me on drugs.

Laura Creighton lac at
Mon Jun 4 08:57:15 EDT 2001

Either on general principals or because I know his dirty little secret
as does any hacker as has read Python and Tkinter programming.  

John Grayson discusses PMW a lot.  lots of the book. All of Appendix C
of this book is called Pmw reference: where he says

'The information presented in this appendix has been largely generated,
in a manner similar to appendix B, using python programs to walk the
Pmw package and the Pmw HTML documentation which was then processed to
generate a large ASCII file which contained headings, text, and tables
ready for importing into FrameMaker, which was used to produce this book.'

I say it more succinctly.  ``This is not my work.  It is the HTML
written by the guy who wrote the PMW documentation''.  It turns out that
the guy who wrote the doc is the guy who mostly wrote PMW -- as his
credits page which, surprise, surprise, is the only doc I could find
Grayson did not steal mentions.  That credits page which hands out
a generous amount of glory to all the people who helped him as a
rightous hacker should.  if you download the software and put it'
some place which Grayson did in order to do his `generation' you
will end up with something like this:

which says this:

    The initial ideas for Pmw were blatantly stolen from the itcl
    extensions [incr Tk] by Michael McLennan and [incr Widgets] by
    Mark Ulferts. Several of the megawidgets are direct translations
    from the itcl to python.

    The base classes and most megawidgets were written by Greg
    McFarlane and Peter Munnings. Contributed megawidgets include:
    Pmw.TimeCounter by Joe VanAndel, Pmw.Group and an early version of
    Pmw.NoteBook by Case Roole, Pmw.ScrolledCanvas, Pmw.ScrolledFrame
    and another early version of Pmw.NoteBook by Joe Saltiel and
    Pmw.OptionMenu by Roman Sulzhyk. A big thank you to the following
    people for their bug reports, fixes, enhancements and suggestions:
    David Ascher, Robin Becker, Siggy Brentrup, Mark Colclough, Jerome
    Gay, Clemens Hintze, Rob Hooft Jack Jansen, Jonathan Kelly, Magnus
    Kessler, Matthias Klose, Andreas Kostyrka, Fredrik Lundh, Magnus
    Lycka, Graham Matthews, Dieter Maurer, Michael McLay, Daniel
    Michelson, Georg Mischler, Rob Pearson, Case Roole, Joe Saltiel,
    Roman Sulzhyk, Shen Wang, Chris Wright, and Guido van
    Rossum. Special thanks to Case Roole and Michael McLay for help
    with getting Pmw to work with python 1.5 packages and many other
    nifty features. My deepest apologies if I have forgotten
    anyone. Please let me know.

    The Pmw home page and project site is made available courtesy of

    The current maintainer is Greg McFarlane. If you have any
    comments, enhancements or new contributions, please contact me at
    gregm at

Actually there is another he left out.
that was supposed to be there as well, you know John.  Telstra said
     the above copyright notice and this permission notice shall be
     included in all copies or substantial portions of the Software.

I'm not a lawyer, John but I might be a little worried.


Okay, this is where the fun starts.  Why am I telling you all this?

remember kindly Greg McFarlane, the man who sent me email every night
for a week so I could get my poor lame brain around event driven
programming and not bother him with any more fool questions.  Remember

  My deepest apologies if I have forgotten anyone. Please let me know.

But _who_ did John Grayson forget?  1 guess!

Greg McFarlane!

His name is not in the index, not in the front of Appendix C, not where
he first mentions PMW, goodness it might be in one obscurte footnote
of the terribly tacky sort he has all over the book, i haven't memorized
the thing, but I am telling you that it is in none of the obvious places
and I don't think its anywhere.  And when full of righteous anger I
send off an email to kindly Greg McFarlane, he says, 'don't worry.
its not important.  Do you need any more help with event driven
programming or are you getting the hang of it now?'  I let it go Greg,
I really did, until the man attacked me publically.  Then I just 
couldn't resist.  I hope you do not mind too much.


More information about the Python-list mailing list