1 ;;; about.el --- the About The Authors page (shameless self promotion).
3 ;; Copyright (c) 1997 Free Software Foundation, Inc.
4 ;; Copyright (C) 2001 Ben Wing.
5 ;; Copyright (C) 2004 - 2012 Steve Youngs.
7 ;; Keywords: extensions
9 ;; Maintainer: SXEmacs Development Team
11 ;; This file is part of SXEmacs.
13 ;; SXEmacs is free software: you can redistribute it and/or modify
14 ;; it under the terms of the GNU General Public License as published by
15 ;; the Free Software Foundation, either version 3 of the License, or
16 ;; (at your option) any later version.
18 ;; SXEmacs is distributed in the hope that it will be useful,
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ;; GNU General Public License for more details.
23 ;; You should have received a copy of the GNU General Public License
24 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
26 ;;; Synched up with: Not in FSF.
28 ;; Original code: Jamie Zawinski <jwz@jwz.org>
29 ;; Text: Ben Wing <ben@xemacs.org>, Jamie Zawinski <jwz@jwz.org>
30 ;; Hard: Amiga 1000, Progressive Peripherals Frame Grabber.
31 ;; Soft: FG 2.0, DigiPaint 3.0, pbmplus (dec 91), xv 3.0.
32 ;; Modified for 19.11 by Eduardo Pelegri-Llopart <pelegri@eng.sun.com>
33 ;; and Chuck Thompson <cthomp@xemacs.org>
34 ;; More hacking for 19.12 by Chuck Thompson and Ben Wing.
35 ;; 19.13 and 19.14 updating done by Chuck Thompson.
36 ;; 19.15 and 20.0 updating done by Steve Baur and Martin Buchholz.
38 ;; Completely rewritten for 20.3 by Hrvoje Niksic <hniksic@xemacs.org>.
39 ;; The original had no version numbers; I numbered the rewrite as 2.0.
40 ;; Extensively revamped and most text rewritten by Ben Wing
41 ;; <ben@xemacs.org> for 21.4.
43 ;; Revamped again by Steve Youngs <steve@sxemacs.org> for SXEmacs.
44 ;; Lets call it version 3.0 of this file.
46 ;; Many things in this file are to gag. Ideally, we should just use
47 ;; HTML (or some other extension, e.g. info) for this sort of thing.
48 ;; However, W3 loads too long and is too large to be dumped with
51 ;; If you think this is ugly now -- o boy, you should have seen it
56 ;; People in this list have their individual links from the main page,
57 ;; or from the `Legion' page. If they have an image, it should be
58 ;; named after the CAR of the list element (baw -> baw.png).
60 ;; If you add to this list, you'll want to update
61 ;; `about-personal-info' and `about-hackers', and add the name to one
62 ;; of the three mutually exclusive lists just below.
64 (defface about-headline-face
65 '((((class color) (background dark))
66 (:foreground "red" :bold t))
67 (((class color) (background light))
68 (:foreground "red4" :bold t))
69 (((class grayscale) (background light))
70 (:foreground "LightGray" :bold t))
71 (((class grayscale) (background dark))
72 (:foreground "DimGray" :bold t))
74 "Face used for colour-highlighted headlines in the About page.")
76 (defface about-link-face
77 '((((class color) (background dark))
78 (:foreground "blue" :underline t))
79 (((class color) (background light))
80 (:foreground "blue4" :underline t))
81 (((class grayscale) (background light))
82 (:foreground "DimGray" :bold t :italic t :underline t))
83 (((class grayscale) (background dark))
84 (:foreground "LightGray" :bold t :italic t :underline t))
86 "Face used for links in the About page.")
88 (defvar sxemacs-hackers
90 ;; to sort the stuff below, use M-x sort-regexp-fields RET
91 ;; ^.*$ RET (\([a-z]*\) RET
92 (adrian "Adrian Aichner" "adrian@xemacs.org")
93 (aidan "Aidan Kehoe" "aidan@xemacs.org")
94 (aj "Andreas Jaeger" "aj@xemacs.org")
95 (ajc "Andrew Cosgriff" "ajc@xemacs.org")
96 (alastair "Alastair Houghton" "alastair@xemacs.org")
97 (baw "Barry Warsaw" "bwarsaw@xemacs.org")
98 (ben "Ben Wing" "ben@xemacs.org")
99 (bw "Bob Weiner" "weiner@xemacs.org")
100 (cgw "Charles Waldman" "cgw@xemacs.org")
101 (chr "Christian Nybø" "chr@xemacs.org")
102 (craig "Craig Lanning" "craig@xemacs.org")
103 (cthomp "Chuck Thompson" "cthomp@xemacs.org")
104 (daiki "Daiki Ueno" "daiki@xemacs.org")
105 (dan "Dan Holmsand" "dan@xemacs.org")
106 (darrylo "Darryl Okahata" "darrylo@xemacs.org")
107 (devin "Matthieu Devin" "devin@xemacs.org")
108 (dkindred "Darrell Kindred" "dkindred@xemacs.org")
109 (dmoore "David Moore" "dmoore@xemacs.org")
110 (dv "Didier Verna" "didier@xemacs.org")
111 (eb "Eric Benson" "eb@xemacs.org")
112 (erik "Erik Arneson" "erik@sxemacs.org")
113 (fabrice "Fabrice Popineau" "fabrice@xemacs.org")
114 (golubev "Ilya Golubev" "golubev@xemacs.org")
115 (gunnar "Gunnar Evermann" "gunnar@xemacs.org")
116 (hbs "Harlan Sexton" "hbs@xemacs.org")
117 (heatxsink "Nick Granado" "heatxsink@sxemacs.org")
118 (hisashi "Hisashi Miyashita" "hisashi@xemacs.org")
119 (hmuller "Hans Muller" "hmuller@xemacs.org")
120 (hniksic "Hrvoje Niksic" "hniksic@xemacs.org")
121 (hobley "David hobley" "hobley@xemacs.org")
122 (horst "Horst Günther Burkhardt" "horst@sxemacs.org")
123 (hroptatyr "Sebastian Freundt" "hroptatyr@sxemacs.org")
124 (hynek "Hynek Schlawack" "hynek@sxemacs.org")
125 (jan "Jan Vroonhof" "jan@xemacs.org")
126 (jareth "Jareth Hein" "jareth@xemacs.org")
127 (jason "Jason R. Mastaler" "jason@xemacs.org")
128 (jens "Jens Lautenbacher" "jens@xemacs.org")
129 (jmiller "Jeff Miller" "jmiller@xemacs.org")
130 (jonathan "Jonathan Harris" "jonathan@xemacs.org")
131 (juhp "Jens-Ulrik Holger Petersen" "petersen@xemacs.org")
132 (jwz "Jamie Zawinski" "jwz@xemacs.org")
133 (kazz "IENAGA Kazuyuki" "ienaga@xemacs.org")
134 (kirill "Kirill Katsnelson" "kirill@xemacs.org")
135 (kyle "Kyle Jones" "kyle@xemacs.org")
136 (larsi "Lars Magne Ingebrigtsen" "larsi@xemacs.org")
137 (lg "Evgeny Zajcev" "lg@sxemacs.org")
138 (marcpa "Marc Paquette" "marcpa@xemacs.org")
139 (martin "Martin Buchholz" "martin@xemacs.org")
140 (mcook "Michael R. Cook" "mcook@xemacs.org")
141 (mly "Richard Mlynarik" "mly@xemacs.org")
142 (morioka "MORIOKA Tomohiko" "morioka@xemacs.org")
143 (mta "Mike Alexander" "mta@xemacs.org")
144 (myrkraverk "Johann Oskarsson" "myrkraverk@sxemacs.org")
145 (njsf "Nelson Ferreira" "njsf@sxemacs.org")
146 (ograf "Oliver Graf" "ograf@xemacs.org")
147 (olivier "Olivier Galibert" "olivier@xemacs.org")
148 (oscar "Oscar Figueiredo" "oscar@xemacs.org")
149 (pelegri "Eduardo Pelegri-Llopart" "pelegri@xemacs.org")
150 (pez "Peter Pezaris" "pez@xemacs.org")
151 (piper "Andy Piper" "andy@xemacs.org")
152 (pittman "Daniel Pittman" "pittman@xemacs.org")
153 (rendhalver "Peter Brown" "rendhalver@sxemacs.org")
154 (rickc "Rick Campbell" "rickc@xemacs.org")
155 (rose "John Rose" "rose@xemacs.org")
156 (rossini "Anthony Rossini" "rossini@xemacs.org")
157 (slb "Steve Baur" "steve@xemacs.org")
158 (sperber "Michael Sperber" "mike@xemacs.org")
159 (steve "Steve Youngs" "steve@sxemacs.org")
160 (stig "Jonathan Stigelman" "stig@xemacs.org")
161 (stigb "Stig Bjorlykke" "stigb@xemacs.org")
162 (thiessel "Marcus Thiessel" "marcus@xemacs.org")
163 (tomonori "Tomonori Ikeyama" "tomonori@xemacs.org")
164 (tuck "Matt Tucker" "tuck@xemacs.org")
165 (turnbull "Stephen Turnbull" "turnbull@xemacs.org")
166 (vin "Vin Shelton" "acs@xemacs.org")
167 (vladimir "Vladimir Ivanovic" "vladimir@xemacs.org")
168 (wmperry "William Perry" "wmperry@xemacs.org")
169 (yoshiki "Yoshiki Hayashi" "yoshiki@xemacs.org")
171 "Alist of SXEmacs hackers.")
173 (defvar about-current-release-maintainers
174 ;; this list should not necessarily be in sorted order.
175 '(steve njsf horst hroptatyr lg))
177 (defvar about-other-current-hackers '(erik hynek))
179 (defvar about-once-and-future-hackers
180 '(adrian aj ajc alastair baw ben bw cgw chr craig cthomp daiki dan darrylo
181 devin dkindred dmoore dv eb fabrice golubev gunnar heatxsink hbs hisashi
182 hmuller hniksic hobley jan jareth jason jens jmiller jonathan juhp
183 jwz kazz kirill kyle larsi marcpa martin mcook mly morioka mta myrkraverk
184 ograf olivier oscar pelegri pez piper pittman rendhalver rickc rose
185 rossini slb sperber stig stigb thiessel tomonori tuck turnbull vin
186 vladimir wmperry yoshiki))
188 ;; The CAR of alist elements is a valid argument to `about-url-link'.
189 ;; It is preferred to a simple string, because it makes maintenance
190 ;; easier. Please add new URLs to this list.
191 (defvar about-url-alist
192 ;; to sort the stuff below, use M-x sort-regexp-fields RET
193 ;; ^.*$ RET (\([a-z]*\) RET
194 '((ajc . "http://www-personal.monash.edu.au/~ajc/")
195 (alastair . "http://website.lineone.net/~ajhoughton/")
196 (baw . "http://barry.wooz.org/")
197 (ben . "http://www.666.com/ben/")
198 (ben-xemacs . "http://www.xemacs.org/Architecting-XEmacs/index.html")
199 (beopen . "http://www.beopen.com/")
200 (cc-mode . "http://cc-mode.sourceforge.net/")
201 (chr . "http://www.xemacs.org/faq/")
202 (daiki . "http://deisui.bug.org/diary/servlet/view")
203 (dkindred . "http://www.cs.cmu.edu/People/dkindred/me.html")
204 (dmoore . "http://oj.egbt.org/dmoore/")
205 (dv . "http://www.lrde.epita.fr/~didier/")
206 (fabrice . "http://www.ese-metz.fr/~popineau/")
207 (fptex . "http://www.fptex.org/")
208 (horst . "http://midcom.steveyoungs.com/")
209 (hroptatyr . "http://www.math.tu-berlin.de/~freundt/")
210 (jason . "http://www.mastaler.com/")
211 (juhp . "http://www.01.246.ne.jp/~juhp/")
212 (jwz . "http://www.jwz.org/")
213 (kazz . "http://www.imasy.or.jp/~kazz/")
214 (kyle . "http://www.wonderworks.com/kyle/")
215 (larsi . "http://quimby.gnus.org/lmi/")
216 (marcpa . "http://www.positron911.com/products/power.htm")
217 (ograf . "http://www.fga.de/~ograf/")
218 (pez . "http://cbs.sportsline.com/")
219 (piper . "http://www.andypiper.com/")
220 (rossini . "http://faculty.washington.edu/rossini/")
221 (steve . "http://www.steveyoungs.com/")
222 (steve-emchat . "http://www.emchat.org/")
223 (steve-g+ . "https://plus.google.com/u/0/+SteveYoungs")
224 (steve-fb . "https://facebook.com/steve.r.youngs/")
225 (steve-li . "http://www.linkedin.com/in/steveyoungs")
226 (steve-inits . "http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/")
227 (steve-twit . "https://twitter.com/SteveYoungs")
228 (stigb . "http://www.tihlde.hist.no/~stigb/")
229 (sxemacs . "http://www.sxemacs.org/")
230 (sxemacs-shop . "http://store.sxemacs.org/")
231 (vin . "http://www.upa.org/")
232 (vladimir . "http://www.leonora.org/~vladimir/")
233 (wget . "http://sunsite.dk/wget/")
234 (xemacs . "http://www.xemacs.org/"))
235 "Some of the more important URLs.")
237 (defvar about-left-margin 3)
239 (defun about-lookup-url (name)
240 (let ((result (cdr (assq name about-url-alist))))
244 ;; Insert a URL link in the buffer. TEXT-TO-INSERT is the text that will
245 ;; be hyperlinked; if omitted, the URL is used. HELP-ECHO is some text that
246 ;; will be displayed when the mouse moves over the link.
247 (defun about-url-link (url &optional text-to-insert help-echo)
250 (setq url (about-lookup-url url)))
251 (when (and text-to-insert (symbolp text-to-insert))
252 (setq text-to-insert (about-lookup-url text-to-insert)))
253 (widget-create 'url-link
257 :tag (or text-to-insert url)
260 ;; Insert a mail link in the buffer.
261 (defun about-mailto-link (address)
262 (lexical-let ((address address))
267 :action (lambda (widget &optional event)
268 (compose-mail address))
269 :help-echo (format "Send mail to %s" address))))
271 ;; Attach a face to a string, in order to be inserted into the buffer.
272 ;; Make sure that the extent is duplicable, but unique. Returns the
274 (defun about-with-face (string face)
275 (let ((ext (make-extent 0 (length string) string)))
276 (set-extent-property ext 'duplicable t)
277 (set-extent-property ext 'unique t)
278 (set-extent-property ext 'start-open t)
279 (set-extent-property ext 'end-open t)
280 (set-extent-face ext face))
283 ;; Switch to buffer NAME. If it doesn't exist, make it and switch to it.
284 (defun about-get-buffer (name)
285 (cond ((get-buffer name)
286 (switch-to-buffer name)
287 (delete-other-windows)
288 (goto-char (point-min))
291 (switch-to-buffer name)
292 (delete-other-windows)
293 (buffer-disable-undo)
294 ;; #### This is a temporary fix until wid-edit gets fixed right.
295 ;; We don't do everything that widget-button-click does -- i.e.
296 ;; we don't change the link color on button down -- but that's
299 'mouse-track-click-hook
300 #'(lambda (event count)
302 ((widget-event-point event)
303 (let* ((pos (widget-event-point event))
304 (button (get-char-property pos 'button)))
306 (widget-apply-action button event)
308 (set-specifier left-margin-width about-left-margin (current-buffer))
309 (set (make-local-variable 'widget-button-face) 'about-link-face)
312 ;; Set up the stuff needed by widget. Allowed types are `bury' and
313 ;; `kill'. The reason why we offer both types is performance: when a
314 ;; large buffer is merely buried, `about' will find it again when the
315 ;; user requests it, instead of recreating it. Small buffers can be
316 ;; killed because it is cheap to generate their contents.
318 (defun about-finish-buffer (&optional type)
319 (or type (setq type 'bury))
323 :help-echo "Bury this buffer"
324 :action (lambda (widget event)
327 ;; (bury-buffer (event-buffer event))
329 (with-selected-window (event-window event)
334 :help-echo "Kill this buffer"
335 :action (lambda (widget event)
337 (kill-buffer (event-buffer event))
338 (kill-buffer (current-buffer))))
340 (widget-insert " this buffer and return to previous.\n")
341 (use-local-map (make-sparse-keymap))
342 (set-keymap-parent (current-local-map) widget-keymap)
345 (local-set-key "q" 'bury-buffer)
346 (local-set-key "l" 'bury-buffer))
347 (let ((dispose (lambda () (interactive) (kill-buffer (current-buffer)))))
348 (local-set-key "q" dispose)
349 (local-set-key "l" dispose)))
350 (local-set-key " " 'scroll-up)
351 (local-set-key [backspace] 'scroll-down)
352 (local-set-key "\177" 'scroll-down)
354 (goto-char (point-min))
356 (set-buffer-modified-p nil))
358 ;; Make the appropriate number of spaces.
359 (defun about-center (string-or-glyph)
360 (let ((n (- (startup-center-spaces string-or-glyph) about-left-margin)))
361 (make-string (if (natnump n) n 0) ?\ )))
364 (defvar about-rolling-message-leader
365 (about-with-face "[Hall of Fame]: " 'about-headline-face))
367 (defun* about-rolling-message (leader &rest msg)
368 "Roll MSG along the echo area, use LEADER as non-rolling prefix."
369 (let* ((msg (concat (apply 'format msg)
371 (width (- (window-width (minibuffer-window))
372 (1+ (length leader))))
373 (msglen (length msg))
374 (normal-range (- msglen width))
375 (long-border-interval 1.5)
376 (long-default-interval 0.15)
379 (display-message 'no-log (concat leader msg))
382 (setq submsg (if (< i normal-range)
383 (substring msg i (+ i width))
384 ;; Rolling is needed.
385 (concat (substring msg i)
386 (substring msg 0 (- (+ i width) msglen)))))
387 (display-message 'no-log (concat leader submsg))
388 (unless (sit-for (cond
389 ((eq i 0) long-border-interval)
390 (t long-default-interval)))
391 (return-from about-rolling-message)))
392 (garbage-collect)))))
397 (defun about-sxemacs ()
398 "Describe the True Editor and its minions."
400 (unless (about-get-buffer "*About SXEmacs*")
401 (widget-insert (about-center sxemacs-logo))
402 (widget-create 'default
404 :tag-glyph sxemacs-logo)
406 (let* ((emacs-about-version emacs-version))
407 (widget-insert (about-center emacs-about-version))
408 (widget-create 'link :help-echo "What's new in SXEmacs"
410 emacs-about-version))
414 (about-with-face "SXEmacs" 'bold-italic)
415 " is a powerful, highly customizable open source text editor and
416 application development system, with full GUI support. It is protected
417 under the GNU Public Licence and other open source licences such as the
418 BSD (revised) Licence. SXEmacs is related to other versions of Emacs, in
419 particular XEmacs. Its emphasis is on modern graphical user interface
420 support and an open software development model, similar to Linux. SXEmacs
421 runs on Linux, and nearly every other version of Unix in existence.
424 (widget-insert "SXEmacs has many ")
425 (widget-create 'link :help-echo "See a list of SXEmacs advantages over XEmacs"
426 :action 'about-advantages
430 (widget-insert (format " over XEmacs. In addition, SXEmacs %s
432 emacs-program-version))
433 (widget-create 'link :help-echo (format "See a list of new features in SXEmacs %s"
434 emacs-program-version)
439 (widget-insert ".\n\nMore details on SXEmacs' functionality, including available packages, can
440 be obtained through the ")
441 (widget-create 'info-link
442 :help-echo "Browse the info system"
450 The SXEmacs web page can be browsed, using any WWW browser at\n
452 (about-url-link 'sxemacs nil "Visit SXEmacs WWW page")
454 SXEmacs is the result of the time and effort of many people. The
455 developers responsible for this release are:\n\n")
457 (flet ((setup-person (who)
458 (widget-insert "\t* ")
459 (let* ((entry (assq who sxemacs-hackers))
461 (address (caddr entry)))
463 :help-echo (concat "Find out more about " name)
466 :action 'about-maintainer
469 (widget-insert (format " <%s>\n" address)))))
470 ;; Setup persons responsible for this release.
471 (mapc 'setup-person about-current-release-maintainers)
472 (widget-insert "\n\t* ")
473 (widget-create 'link :help-echo "A legion of SXEmacs hackers"
474 :action 'about-hackers
477 "The full list of contributors...")
478 (widget-insert "\n\n")
480 "You have the program, now get the T-shirt...\n\n\t\t ")
481 (about-url-link 'sxemacs-shop nil "Check out the SXEmacs merchandise")
482 (widget-insert "\n\n"))
483 (about-finish-buffer 'kill)
484 ;; it looks horrible with the cursor on the first line, since it's
487 (about-rolling-message about-rolling-message-leader
490 (cadr (assq hacker sxemacs-hackers)))
492 about-current-release-maintainers
493 about-other-current-hackers
494 about-once-and-future-hackers) " · "))))
497 (defun about-news (&rest ignore)
499 (message "%s" (substitute-command-keys
500 "Press \\[kill-buffer] to exit this buffer")))
502 (defun about-advantages (&rest ignore)
503 (unless (about-get-buffer "*About Advantages*")
504 (let ((title "SXEmacs Advantages over XEmacs"))
508 (about-with-face title 'bold)))
511 SXEmacs is still a very young project, but already there are quite a
512 few features and benefits over XEmacs...\n\n"
513 (about-with-face "* Win32 Support" 'bold)
515 We have decided not to support the Win32 platform. Yes, we consider
517 (about-with-face "* Foreign Function Interface (FFI)" 'bold)
519 This makes it possible to bring the functionality of almost any
520 external library to elisp. Two useful examples can be found in
521 ffi-curl.el and ffi-wand.el. The former allows SXEmacs to download
522 files from the internet using any protocol that libcurl supports.
523 And the latter allows SXEmacs to view any image format that libWand
525 (about-with-face "* OpenSSL" 'bold)
527 SXEmacs can be compiled with OpenSSL that enables a range of cryptography
528 and digest functionalities.\n\n"
529 (about-with-face "* Fully Autotooled Build Chain" 'bold)
531 SXEmacs uses a completely autotooled build chain that uses aclocal,
532 autoheader, automake, and autoconf. The configure.ac requires autoconf
534 (about-with-face "* PostgreSQL" 'bold)
536 SXEmacs has better support for PostgreSQL 8.x.\n\n"
537 (about-with-face "* More Mouse Buttons" 'bold)
539 You can bind up to 32 mouse buttons. The first 26 of which can be
540 used as modifiers.\n\n"
541 (about-with-face "* Uptime" 'bold)
543 Every decent OS has an uptime util... SXEmacs is no exception. :-)\n\n"
544 (about-with-face "* Package Bootstrapping" 'bold)
546 The SXEmacs PUI \(Package User Interface\) can be \"bootstrapped\"
547 without the requirement of having "
548 (about-with-face "any" 'underline)
549 " XEmacs packages pre-installed.\n\n"
550 (about-with-face "* Enhanced Number Types" 'bold)
552 XEmacs 21.5 users might know this as \"bignum\". SXEmacs has bignums
553 and bigfloats and ratios like XEmacs 21.5, but it also goes way
554 beyond the XEmacs implementation. Many, many, more number types and
555 other mathematical goodies are supported in SXEmacs.\n\n"
556 (about-with-face "* Raw Strings" 'bold)
558 SXEmacs has Python-style raw strings. It greatly reduces \"backslashitis\"
559 when writing those hairy regexps. :-)
561 Normal regexp: \"\\\\(foo\\\\|bar\\\\)\"
562 Raw string regexp: #r\"\\\(foo\\\|bar\\\)\"\n\n"
563 (about-with-face "* TTY font-locking" 'bold)
565 SXEmacs has improved font-locking in a TTY.\n\n"
566 (about-with-face "* More Image Formats Supported" 'bold)
568 This was mentioned under FFI, but it is worth noting again. With FFI
569 and libWand, SXEmacs can display any image format that is supported by
570 Imagemagick's libwand.\n\n"
571 (about-with-face "* Embeddable KBD Macros" 'bold)
573 With SXEmacs you can embed one keyboard macro inside another, not just
574 prepend or append, but anywhere within the macro. In other words you
575 can replay a macro while you are defining a macro.\n\n"
576 (about-with-face "* Server Sockets" 'bold)
578 Not only can SXEmacs initiate outgoing TCP/UDP connections like XEmacs can,
579 it can also create and listen for incomming TCP/UDP connections through the
580 use of server sockets. See `open-network-server-stream'.\n\n"
581 (about-with-face "* Multimedia" 'bold)
583 SXEmacs has quite extensive multimedia support. Not only can it display
584 practically every image format under the sun, it can also play a large
585 selection of audio formats such as: wav, au, mp3, mka, ogg, aac, ac3,
586 mp4, flac, mpc, and mpa. SXEmacs supports asynchronous playback.\n\n"
587 (about-with-face "* Skip Lists" 'bold)
589 SXEmacs has a basic implementation of Pugh's skip lists. Their
590 efficiency is overwhelming when compared to alists or plists. They
591 also perform better on insertion and removal than large hash-tables
592 \(due to the resizing/rehashing which takes place\). They can be
593 created almost as fast as lisp lists and thus beat hash-tables
595 (about-with-face "* Bloom Filters" 'bold)
597 Bloom filters are special purpose objects for fast membership tests.
598 They combine the speed of hash-tables with the flexibility of lisp's
599 `memq' function.\n\n"
600 (about-with-face "* Double Linked Lists" 'bold)
602 Double linked lists are simply an extension to ordinary lists that
603 allow you to manipulate or work with either the head or the tail of
604 the list \(ordinary lists only allow working from the head\).\n\n")
605 (about-finish-buffer)))
607 (defvar about-glyphs nil
610 ;; Return a maintainer's glyph
611 (defun about-maintainer-glyph (who)
612 (let ((glyph (cdr (assq who about-glyphs))))
614 (let ((file (expand-file-name
615 (concat (symbol-name who)
616 (if (memq (device-class)
620 (locate-data-directory "photos")))
623 (cond ((stringp data)
627 [string :data "[Image]"])
628 `([string :data "[Image]"]))))
630 (make-glyph [string :data "[Error]"]))
635 [string :data "[Image]"])
636 `([string :data "[Image]"]))))
638 (make-glyph [nothing]))))
639 (set-glyph-property glyph 'baseline 100)
641 (push (cons who glyph) about-glyphs)))
644 ;; Insert personal info about a maintainer. See also
645 ;; `about-hacker-contribution'. Note that the info in
646 ;; `about-hacker-contribution' is automatically displayed in the
647 ;; person's own page, so there is no need to duplicate it.
648 (defun about-personal-info (entry)
650 ;; you can sort the stuff below with something like
651 ;;(sort-regexp-fields nil
652 ;; " *(\\([^()]\\|([^()]*)\\|(\\([^()]\\|([^()]*)\\)*)\\)*)\n"
654 ;; (region-beginning) (region-end))
658 Sorry, no personal information available about me yet.\n"))
661 I'm a software developer working for the SuSE Labs of the Linux
662 distributor SuSE. My main task is to improve the GNU C library.")
663 (widget-insert ".\n"))
666 When not helping maintain the XEmacs website, Andrew is a Network
667 Software Engineer(tm) for Monash University in Australia, maintaining
668 webservers and doing random other things. As well as spending spare
669 time being an Eager Young Space Cadet and fiddling with XEmacs/Gnus
670 et. al., he spends his time pursuing, among other things, a Life.
671 Some of this currently involves doing an A-Z (by country) of
672 restaurants with friends, and has, in the past, involved dyeing his
673 hair various colours (see ")
674 (about-url-link 'ajc nil "Visit Andrew's home page")
675 (widget-insert ".\n"))
679 Alastair, apart from being an all-round hacker, occasional contributor
680 to free software projects and general good egg(!), currently works for
681 Telsis, a manufacturer of telephony equipment on the south coast of
682 England. He'd quite like to have his own company one day, but has yet
683 to think of that killer product...
686 (about-url-link 'alastair nil "Visit Alastair's home page")
687 (widget-insert ".\n"))
690 As of November 2000, I am a software engineer with the Pythonlabs at
691 Digital Creations. Pythonlabs is the core team developing and
692 maintaining the Python open source, object-oriented scripting
693 language. Digital Creations is the publisher of Zope, an open source
694 content management system written in Python.
696 In addition to my Python and Zope work, I am lead developer for the
697 GNU Mailman project, a mailing list management system written,
698 naturally, in Python. See the trend?
700 On the side I play bass with a number of Washington DC area bands and
701 also write poems about cows, milk, and fathers. Here's a sample, and
702 drop me an email if you live in the NYC to Charlotte region; I'll let
703 you know when the band's playing in your area. It'd be cool to meet
704 you, and talking about XEmacs would make my wife very happy by helping
705 to fend off the legions of groupies that seem to follow me everywhere.
710 Oh daddy with your fingers pink
711 From whose udders do you drink?
712 Thy milk offends with putrid stink
713 I'll vomit now, lactose I think
715 If I could dream, I'd be a cow
716 Not horse, or mule, or barnyard sow
717 The cud I'd chew would drip and how!
718 So milk me daddy, milk me now!
720 My bovine nature knows no bounds
721 I'd naught awake at midnight sounds
722 Of teens approaching o'er the grounds
723 To tip with glee, then screech like clowns
725 And so I stare into this glass
726 Of sweaty juice, I gulp so fast
727 Each drop I lick, down to the last
728 The vertigo I know will pass
730 My mother smiles and pats my head
731 She's proud of me, so she has said
732 My pop just now gets out of bed
733 His eyes quite comatose and red
735 He'll empathize my milky fate
736 Whilest sopping gravy from his plate
737 And as the hour is getting late
738 His belly taut with all he ate
740 He isn't often quite so chatty
741 His arteries clogged with meat so fatty
742 With burps that launch soup, thick and splatty
743 Oh how I wish you'd milk me daddy\n\n\t")
744 (about-url-link 'baw nil "Visit Barry's home page")
745 (widget-insert "\n"))
749 Since September 1992, I've worked on XEmacs as a contractor for
750 various companies and more recently as an unpaid volunteer.
752 Alas, life has not been good to me recently. This former San
753 Francisco \"Mission Critter\" developed insidious hand and neck
754 problems after a brief stint working on a Java-based VRML toolkit for
755 the now defunct Dimension X, and I was forced to quit working. I was
756 exiled first to \"Stroller Valley\" and later all the way to Tucson,
757 Arizona, and for two years was almost completely disabled due to pain.
758 More recently I have fought my way back with loads and loads of
759 narcotic painkillers, and currently I'm an art student at the
760 University of Arizona.\n\n")
761 (widget-insert "Architecting XEmacs: ")
762 (about-url-link 'ben-xemacs nil "Find the miracles in store for XEmacs")
763 (widget-insert "\nBen's home page: ")
764 (about-url-link 'ben nil "Visit Ben's page")
765 (widget-insert "\n"))
768 His interests include user interfaces, information management, CASE
769 tools, communications and enterprise integration.\n"))
773 Sorry, no personal information available about me yet.\n"))
776 Christian is a student at the Norwegian School of Economics and
777 Business Administration in Bergen, Norway. He used to work for an
778 internet startup called New Media Science, doing scripting and
779 violation of HTML DTD's. After graduation, spring 1999, he'll be
780 looking for a job involving lisp programming, French and Russian.\n"))
784 Sorry, no personal information available about me yet.\n"))
787 Chuck is a senior system and network administrator for the Computer
788 Science department at the Unversity of Illinois. In one previous life
789 he spent every waking hour working on XEmacs. In another he dabbled
790 as a project manager for a streaming video startup (RIP). His current
791 reason for not having time to contribute to XEmacs is the Thompson
794 (about-url-link 'daiki nil "Visit Daiki's page"))
798 Sorry, no personal information available about me yet.\n"))
802 Perennial Emacs hacker since 1986 or so, when he first started on GNU
803 Emacs 17.something. Over the years, he's developed \"OEmacs\", the first
804 version of GNU Emacs 19 for MSDOS, and \"bigperl\", a 32-bit version of
805 Perl4 for MSDOS. In recent years, reality has intruded and he no longer
806 has much time for playing with cool programs. What little time he has
807 now goes to XEmacs hacking, where he's worked on speeding up dired under
808 MS Windows, and to feeding his two cats.\n"))
812 Sorry, no personal information available about me yet.\n"))
815 Darrell is currently a doctoral student in computer science at
816 Carnegie Mellon University, but he's trying hard to kick that
820 (about-url-link 'dkindred nil "Visit Darrell's WWW page")
821 (widget-insert ".\n"))
824 David is a student in the Computer Systems Laboratory at UCSD. When
825 he manages to have free time, he usually spends it on 200 mile bicycle
826 rides, learning German or showing people the best mail & news
827 environment he's found in 10 years. (That'd be XEmacs, Gnus and bbdb,
828 of course.) He can be found at `druidmuck.egbt.org 4201' at various
832 (about-url-link 'dmoore nil "Visit David's home page")
833 (widget-insert ".\n"))
836 I graduated at ENST (an engineering school in Paris) and have a Ph.D.
837 in computer science. I'm currently a teacher at EPITA (another
838 engineering school, still in Paris) and a researcher at LRDE (EPITA's
839 research and development laboratory). Our research topics include
840 generic programming and distributed virtual reality.
842 Apart from XEmacs, I'm also involved in other free software projects,
843 including Gnus, BBDB, and the GNU \"autotools\". I also wrote some
844 LaTeX packages (ugh :-).
846 All of this, actually, is only 60% true. Two days per week, I'm also a
847 semi-professional Jazz guitar player (and singer), which means that it
848 is not the way I earn my crust, but things may very well reverse in
850 (widget-insert "Visit Didier's home page: ")
851 (about-url-link 'dv nil "Visit Didier's home page")
852 (widget-insert "\n"))
856 Sorry, no personal information available about me yet.\n"))
859 Sorry, no personal information available about me yet.\n"))
863 I'm a computer science researcher and teacher in a French electrical
864 engineering institution called Supelec. My fields of interest are
865 symbolic artificial intelligence, theoretical computer science, functional
866 languages ... and TeX.
868 Lately, my hacking time has been devoted to porting the Web2C/teTeX
869 distribution of TeX for Unix to Win32, and I'm still maintaining it.
870 It is included in the TeX Live cdrom edited by Sebastian Rahtz.\n")
871 (widget-insert "Visit fpTeX home page: ")
872 (about-url-link 'fptex nil "Visit fpTeX home page")
873 (widget-insert "\nFabrice's home page: ")
874 (about-url-link 'fabrice nil "Visit Fabrice's page")
875 (widget-insert "\n"))
879 I appreciate power of XEmacs, but elementary editing operations should
880 be done by single keystrokes with no modifiers. So would not use
881 XEmacs until discovered viper, and now can't live without viper.
882 Occasionally dislike something in there or in other free software, and
883 try to get it fixed. .plan file contains classic (perhaps reinvented
884 independently) formula:
886 Hacking world for ever
888 \(borrowed from \"Hacking X for Y\" in ")
889 (about-url-link "http://www.jargon.org/"
890 "Jargon File" "www.jargon.org")
891 (widget-insert ").\n"))
895 Sorry, no personal information available about me yet.\n"))
899 Sorry, no personal information available about me yet.\n"))
903 Sorry, no personal information available about me yet.\n"))
907 Sorry, no personal information available about me yet.\n"))
911 Sorry, no personal information available about me yet.\n"))
914 Hrvoje thinks he works in the server-side web business. In reality,
915 he cranks out huge quantities of HTML, Tcl, and Java for the German
917 (about-url-link "http://www.arsdigita.com/"
918 "ArsDigita, Inc." "www.arsdigita.com")
919 ;; Avoid literal I18N characters in strings. *Displaying* a
920 ;; Latin 1 character should always be safe, though, with or
922 (let ((muenchen (format "M%cnchen" (make-char 'latin-iso8859-1 252))))
923 (widget-insert (format "
924 He joined the ranks of Gastarbeiters only
925 recently; he is trying to learn German and get attuned to %s
926 and Bav^H^H^HGermany.\n" muenchen)))
930 Before ArsDigita, he worked as a programmer at ")
931 (about-url-link "http://www.iskon.hr/" "Iskon," "www.iskon.hr")
932 (widget-insert " a fast-growing
933 Croatian ISP. Even before that, he worked part-time for academic
935 (about-url-link "http://www.srce.hr/" "SRCE" "www.srce.hr")
936 (widget-insert " and ")
937 (about-url-link "http://www.carnet.hr/" "CARNet," "www.carnet.hr")
938 (widget-insert " and tried to attend university.
940 He takes perverse pleasure in building and maintaining free software
941 in his free time. Apart from XEmacs, his major contribution is ")
942 (about-url-link 'wget "Wget," "Wget home page")
944 his very own creation, now jointly maintained by a happy crew.
946 He dreams of having a home page.\n"))
949 I used to do real work, but now I am a Project Manager for one of the
950 Telco's in Australia. In my spare time I like to get back to basics and
951 muck around with things. As a result I started the NT port. Hopefully I
952 will get to finish it sometime sooner rather than later. I do vaguely
953 remember University where it seems like I had more spare time that I can
954 believe now. Oh well, such is life.\n"))
957 Horst is a student still working towards his HSC. He has a Unit II
958 certification in Information Technology already, and is studying
959 Chemistry, German, and Physics.
961 He started using XEmacs relatively recently, when he started with Linux
962 in 2003. He has since converted to using Linux full-time.
964 He hopes to produce the first Linux distribution to use a decked-out
965 SXEmacs as the default editor.\n")
966 (about-url-link 'horst nil "Pandora's Box")
967 (widget-insert ".\n"))
970 In real life most of the time my name is Sebastian Freundt.
971 I'm a mathematician at the ")
972 (about-url-link "http://www.math.tu-berlin.de"
973 "Technical University of Berlin"
974 "www.math.tu-berlin.de")
976 My main task there is to hack at the computer algebra system KANT/KASH,
977 and incorporate the ideas of the SCIEnce project.
979 In my rare-spare time I use to hack some obscure auxiliary packages for
980 \(S\)XEmacs, fiddle with new kinds of software technology, give lectures on
981 abstract theories and mostly enjoy the IRC stream at freenode.
983 I've been using the XEmacs flavour since the mid 90s, mostly for coding
984 and reading news.\n"))
987 Sorry, no personal information available about me yet.\n"))
990 Jan Vroonhof has been using XEmacs since he needed to write .tex files
991 for his work as a physics and maths student at the Univerisity of Leiden.
992 His XEmacs hacking started when XEmacs kept freezing up under a his
993 window manager. He submitted a fix and has been hooked every since.
995 XEmacs has followed him first to Switzerland where he did a maths
996 doctorate at the ETH in Zurich, working on a conjecture by Migdal on
997 the behavior of vertex corrections in Electron-Phonon theory. Finally
998 sharing a house with his loved one, he now lives in Oxford (UK)
999 working on the Jeode Java Virtual Machine, which like XEmacs is
1000 portable, implements a language, includes a non-trivial bit of
1001 graphics and a garbage collector, but is multithreaded to boot!
1002 Unfortunately his XEmacs time is directly limited by the amount of
1003 traffic on the M40.\n"))
1006 Jareth Hein is a mountain boy who abandoned his home state of Colorado
1007 for the perpetual state of chaos known as Tokyo in a failed attempt to
1008 become a cel-animator, and a more successful one to become a
1009 computer-game programmer. As he happens to be bilingual (guess which
1010 two?) he's been doing quite a bit of MULE hacking. He's also getting
1011 his hands dirty in the graphics areas as well.\n"))
1014 Jason resides in Northern New Mexico where he works as a Systems
1015 Scientist(tm) in the Los Alamos National Laboratory's Advanced
1019 (about-url-link 'jason nil "Visit Jason's homepage")
1020 (widget-insert ".\n"))
1023 I'm currently working for 1&1 Internet AG, a large Domain and Webspace
1024 Provider in Germany and Europe. I do mostly Java/XML/OO/Component
1025 stuff today. I'm interested EJB, Corba and other middleware or
1026 distributed Systems. Besides work, I occasionally hack on The Gimp
1027 and other gtk/gnome related projects. Maybe the advent of XEmacs/Gtk
1028 will get me back to spend some time again hacking on XEmacs in the
1032 Jeff grew up in Indiana and is a country boy at heart. He currently
1033 lives in, of all places, Millersville Maryland. He spends a lot of
1034 his free time tinkering with Linux and hacking on XEmacs and loves it
1035 when he finds new cool features in either. When he's not doing that,
1036 he enjoys downhill skiing, puzzles, and sci-fi. Jeff is also really
1037 interested in classical Roman history and enjoys making trips to
1038 Italy, where he was born, and seeing the sights")
1039 (widget-insert ".\n"))
1042 I work for Symbian Ltd in London, England, looking after low-level
1043 kernel, peripheral and toolchain stuff for the EPOC OS.
1045 I've been using XEmacs since 1994, but didn't start hacking on it
1046 until late 1997 when I started working at Symbian, a Windows-only
1047 company, and felt lost without my favourite editing environment.\n"))
1050 Jens was born in Copenhagen, grew up in Britain and is now living in
1051 Japan. He started using XEmacs 20 (instead of Emacs) as his
1052 work-environment in June 1997 while still an EU postdoc at RIMS, Kyoto
1053 University, and quickly got involved in XEmacs development. Recently
1054 he is getting into Haskell, a very nice pure functional programming
1058 (about-url-link 'juhp nil "Visit Jens' homepage")
1059 (widget-insert "\n"))
1063 (about-with-face "\"So much to do, so little time.\"" 'italic)
1065 Jamie Zawinski was primarily to blame for Lucid Emacs from its
1066 inception in 1991, to 1994 when Lucid Inc. finally died. After that,
1067 he was one of the initial employees of Netscape Communications, writing
1068 the first Unix version of Netscape Navigator, and designing and
1069 implementing the first version of the Netscape Mail and News readers.
1070 He then helped create and run ")
1071 (about-url-link "http://www.mozilla.org/"
1073 "Visit The Mozilla Organization")
1074 (widget-insert " for its first two years,
1075 until America Online bought Netscape Communications, at which point he
1076 gave up in disgust and dropped out of the computer industry entirely.
1079 (about-url-link "http://www.dnalounge.com/"
1081 "Visit The DNA Lounge")
1082 (widget-insert " in San Francisco, and occasionally writes
1083 screen savers.\n\n")
1084 (widget-insert "Visit jwz's ")
1085 (about-url-link 'jwz "home page" "Visit jwz's home page")
1086 (widget-insert ".\n"))
1089 Kazz is the XEmacs lead on BSD (especially FreeBSD).
1090 His main workspace is, probably, the latest stable version of
1091 FreeBSD and it makes him comfortable and not.
1092 His *mission* is to make XEmacs runs on FreeBSD without
1095 In real life, he is working on a PDM product based on CORBA,
1096 and doing consultation, design and implemention.
1097 He loves to play soccer, yes football!
1099 (about-url-link 'kazz nil "Visit Kazz's home page")
1100 (widget-insert ".\n"))
1104 Sorry, no personal information available about me yet.\n"))
1108 (about-url-link 'kyle nil "Visit Kyle's Home page")
1109 (widget-insert ".\n"))
1112 Lars's day job is as the head of the IT department of a Norwegian
1113 Internet stock broker. He claims no responsibility for the Dot
1114 Com Bomb, but he snickers a lot.
1117 (about-url-link 'larsi nil "Visit the Larsissistic pages")
1118 (widget-insert ".\n"))
1121 Evgeny is a gymnast, a security guard, and a father of two beautiful
1122 children, a boy - Vladimir, and a girl, the angel - Arina. When he has
1123 some spare time he spends it with family or working on open software
1127 I work for Positron Industries Inc., Public Safety Division.
1128 I'm part of the team producing POWER 911, a 911 emergency response
1129 system written in Modula3:\n")
1130 (about-url-link 'marcpa nil "Visit POWER 911")
1132 \n\nPreviously, I worked at Softimage Inc., now a Microsoft company
1133 \(eeekkk!), as a UNIX system administrator. This is where I've been
1136 In a previous life, I was a programmer/sysadmin at CRIM (Centre de
1137 Recherche Informatique de Montreal) for the speech recognition group.\n"))
1140 Martin was the XEmacs guy at DevPro, a part of Sun Microsystems.
1141 Martin used to do XEmacs as a `hobby' while at IBM, and was crazy
1142 enough to try to make a living doing it at Sun.
1144 Martin starting using Emacs originally not to edit files, but to get
1145 the benefit of shell mode. He actually used to run nothing but a shell
1146 buffer, and use `xterm -e vi' to edit files. But then he saw the
1147 light. He dreams of rewriting shell mode from scratch. Stderr should
1150 Martin is no longer doing XEmacs for a living, and is Just Another
1155 Sorry, no personal information available about me yet.\n"))
1157 (widget-insert "Cars are evil. Ride a bike.\n"))
1160 I am a doctoral student at School of Information Science of JAIST
1161 \(Japan Advanced Institute of Science and Technology, Hokuriku). I'm
1162 interested in Natural Language, Affordance and writing systems.\n"))
1166 I am a software developer who worked for the University of Michigan
1167 for many years where I was one of the principal architects of the
1168 Michigan Terminal System. For the last several years I've been
1169 working for Arbortext, a publisher of XML publishing and content
1170 management software.\n"))
1173 Sorry, no personal information available about me yet.\n"))
1176 Nelson has been using XEmacs since the mid-90s, always for coding and
1177 Gnus use. He has always built his own and has in occasion contributed
1180 That all changed with the birth of the SXEmacs project, which became
1181 his main hobby, adding cool stuf like server-side sockets among other
1184 In time he will work towards having a multi-threaded SXEmacs and usage
1185 of the Boehm garbage collector.\n"))
1188 I'm a student of computer sciences at the University of Koblenz. My
1189 major is computational linguistics (human language generation and
1192 I make my living as a managing director of a small but fine company
1193 which I started two years ago with one of my friends. We provide
1194 business network solutions based on linux servers and various other
1195 networking products.
1197 Most of my spare time I spent on the development of the XEmacs
1198 Drag'n'Drop API, a enhanced version of Tk called TkStep (better looks,
1199 also Drag'n'Drop, and more), and various other hacks: ISDN-tools,
1200 cd players, python, etc...
1202 To see some of these have a look at ")
1203 (about-url-link 'ograf nil "one of my homepages")
1204 (widget-insert ".\n"))
1208 Sorry, no personal information available about me yet.\n"))
1211 Oscar heads the Computer Science department at CPE Lyon, a french
1212 engineering school in France. Besides his administrative tasks he
1213 teaches networking basics, Internet technologies (you know, all these
1214 xxML and hairy script languages !) and the Scheme language.\n"))
1218 I did my PhD at UCB and a postdoc at CSL/PARC. I joined Sun in 1990,
1219 spent some time in DevPro (that is when I made my contribution to
1220 XEmacs) and joined JavaSoft in fall '95, where I've been the lead for
1221 several JSP-related specifications and JAX-RPC. I'm currently the Web
1222 Layer architect for J2EE.
1224 I was born in Barcelona and I grew up mostly in Caracas; I have two kids
1225 and I speak only catalan to them; I can juggle some (career, family, and
1226 4 balls or 3 pins); and my english can be idiosyncratic!.\n"))
1229 Peter currently serves as Senior Vice President, Product Development
1230 for CBS SportsLine. See ")
1231 (about-url-link 'pez nil "CBS SportsLine")
1232 (widget-insert ".\n"))
1235 My home page is here:\n")
1236 (about-url-link 'piper nil "Visit andy's home page")
1238 Andy has been active in the XEmacs team for a number of years,
1239 helping port XEmacs to MS Windows operating systems. He is also the
1240 current MS Windows release manager and maintains the MS Windows
1245 Sorry, no personal information available about me yet.\n"))
1248 Sorry, no personal information available about me yet.\n"))
1251 The hacker formerly known as Rick Busdiecker is a developer and
1252 technical manager at Deutsche Bank in New York during daylight hours.
1253 In the evenings he maintains three children, and when he ought to be
1254 sleeping he builds XEmacs betas, and tinkers with various personal
1255 hacking projects.\n"))
1259 Sorry, no personal information available about me yet.\n"))
1262 Current development lead for ESS (Emacs Speaks Statistics), a mode and
1263 inferior mode for statistical programming and data analysis for SAS,
1264 S, S-PLUS, R, XLispStat; configurable for nearly any other statistical
1265 language/package one might want. In spare time, chases his son around
1266 and acts as a Ph.D. (bio)statistician for money and amusement,
1267 primarily focusing on statistical computing, visualization, and the
1268 design and analysis of HIV vaccine trials. Current position: Research
1269 Assistant Professor of Biostatistics at the University of Washington
1270 and the Fred Hutchinson Cancer Research Center.
1273 (about-url-link 'rossini nil "Visit Anthony's home page")
1274 (widget-insert ".\n"))
1277 Peaches Baur, 1986-1999.
1279 (widget-insert ".\n"))
1282 When Mike isn't busy putting together patches for free software he has
1283 just installed or changing his hairstyle, he does research in modern
1284 programming languages and their implementation, and hopes that one day
1285 XEmacs will speak Scheme.\n"))
1288 I live in Brisbane, Australia with my wife, Michelle, and our children,
1291 In past lives, I've been a bank officer, car salesman, insurance agent,
1292 managed a computer firm and owned and operated my own business. I now
1293 divide my time between my family, planning my next business, writing,
1294 and maintaining a few open source projects.
1297 (about-with-face "My current open source obsessions are:"
1298 'font-lock-warning-face))
1299 (widget-insert "\n\n")
1300 (widget-insert (about-with-face " SXEmacs:\t\t"
1301 'font-lock-string-face))
1302 (about-url-link 'sxemacs nil "Visit the SXEmacs homepage")
1303 (widget-insert (about-with-face "\n My SXEmacs conf: "
1304 'font-lock-string-face))
1305 (about-url-link 'steve-inits nil "All my sexy SXEmacs init files")
1306 (widget-insert (about-with-face "\n EMchat: \t"
1307 'font-lock-string-face))
1308 (about-url-link 'steve-emchat nil "Visit the EMchat homepage")
1309 (widget-insert "\n\n"
1310 (about-with-face "You got the software..."
1311 'font-lock-warning-face)
1313 (about-with-face " Now get the"
1314 'font-lock-string-face)
1315 (about-with-face " T-Shirt:\t" 'bold))
1316 (about-url-link 'sxemacs-shop nil "Cool SXEmacs merchandise")
1317 (widget-insert "\n\n"
1319 "More of me on the Interwebz:\n\n"
1320 'font-lock-warning-face))
1321 ; (widget-insert (about-with-face " My Blog:\t\t"
1322 ; 'font-lock-string-face))
1323 ; (about-url-link 'steve nil "Visit my infrequently updated blog")
1324 (widget-insert (about-with-face " Facebook:\t\t"
1325 'font-lock-string-face))
1326 (about-url-link 'steve-fb nil "My Facebook Profile")
1327 (widget-insert (about-with-face "\n Google+:\t\t"
1328 'font-lock-string-face))
1329 (about-url-link 'steve-g+ nil "My Google+ Profile")
1330 (widget-insert (about-with-face "\n LinkedIn:\t\t"
1331 'font-lock-string-face))
1332 (about-url-link 'steve-li nil "My LinkedIn Profile")
1333 (widget-insert (about-with-face "\n Twitter:\t\t"
1334 'font-lock-string-face))
1335 (about-url-link 'steve-twit nil "Follow me on Twitter")
1336 (widget-insert ".\n"))
1339 Peripatetic uninominal Emacs hacker. Stig sometimes operates out of a
1340 big white van set up for nomadic living and hacking. Stig is sort of
1341 a tool fetishist. He has a hate/love relationship with computers and
1342 he hacks on XEmacs because it's a good tool that makes computers
1343 somewhat less of a nuisance. Besides XEmacs, Stig especially likes
1344 his Leatherman, his Makita, and his lockpicks. Stig wants a MIG
1345 welder and air tools.
1347 Stig likes to perch, hang from the ceiling, and climb on the walls.
1348 Stig has a cool van. Stig would like to be able to telecommute from,
1349 say, the north rim of the Grand Canyon or the midst of Baja.\n"))
1352 Currently studying computer science in Trondheim, Norway. Full time
1353 Linux user and proud of it. XEmacs hacker light.
1356 (about-url-link 'stigb nil "Visit Stig's home page"))
1359 Worked at University of Kaiserslautern where he took part in the
1360 development and design of a CAD framework for analog integrated
1361 circuits with special emphasis on distributed software concepts. He
1362 has now joined HP as technical consultant.
1364 All of the buildings,
1366 were once just a dream
1367 in somebody's head.\n
1372 Sorry, no personal information available about me yet.\n"))
1376 Sorry, no personal information available about me yet.\n"))
1379 Stephen lives with his Japanese wife and children in Tsukuba, Japan,
1380 where he is a professor of economics at the University of Tsukuba.\n"))
1383 I'm a software engineer and manager for Teradyne in Boston. I used
1384 to play a lot of Ultimate - see ")
1385 (about-url-link 'vin nil "Visit the Ultimate Players Association homepage")
1386 (widget-insert " for more details.
1387 Nowadays I'm a family man, so I spend a lot of time with my wife,
1388 Becky, and my son, Noah.\n"))
1391 Former technical lead for XEmacs at Sun. He is now writing a book on
1392 distributed Java and is working at Xerox PARC documenting AspectJ, a
1393 light-weight extension to Java that supports crosscutting concerns.
1395 (about-url-link 'vladimir nil "Visit Vladimir's home page")
1396 (widget-insert ".\n"))
1399 Happily living in Indiana telecommuting for a company based in Seattle
1400 \(who I now prefer not to name), wishing I was in Ireland instead.\n"))
1404 Sorry, no personal information available about me yet.\n"))
1407 ;; Insert info about a maintainer's contribution to XEmacs. See also
1408 ;; `about-personal-info'.
1409 (defun about-hacker-contribution (entry)
1411 ;; to sort the entries below, use M-x sort-regexp-fields RET
1412 ;; then this regexp: ([^(]*([^"]*"[^"]*"[^)]*))
1413 ;; then this regexp: (\([a-z]*\)
1417 Adrian has done invaluable work rewriting and maintaining the XEmacs
1418 web pages at www.xemacs.org. During his tenureship, he has
1419 established a consistent look and feel, placed the web pages under
1420 CVS, set up maintenance procedures, written scripts to handle
1421 automatic updating, validation and mirroring, and done innumerable
1422 other tasks. He has also helped with many other administrative tasks,
1423 such as the thankless work of dealing with the providers of resources
1424 to XEmacs at SourceForge and tux.org.\n"))
1427 Former `Package Patch Tender', beta tester and GNU libc developer.\n"))
1430 Former XEmacs web site maintainer.\n"))
1434 Rewrote the selection code, adding many new features such as better
1435 support for arbitrary selection types (especially under MS Windows,
1436 where the full power of the clipboard system is available under
1440 I'm the author of ")
1441 (about-url-link 'cc-mode "CC Mode" "Visit the CC Mode page")
1442 (widget-insert ", for C, C++, Objective-C and Java editing,
1443 Supercite for mail and news citing, and sundry other XEmacs packages
1444 such as ELP (the Emacs Lisp Profiler), Reporter, xrdb-mode, and
1445 winring. Even though I still live almost 100% in XEmacs these days,
1446 my Lisp hacking has fallen off in recent years as I became more
1447 involved in Python, and in fact, I currently maintain the Python
1448 editing mode. See also: ")
1449 (about-url-link "http://www.python.org/emacs" nil
1450 "Visit the python.org Emacs Goodies page")
1451 (widget-insert ".\n"))
1455 I am the largest code contributor to XEmacs, and the architect of many
1456 of the features that distinguish XEmacs from GNU Emacs and other Emacs
1457 versions. My main contributions to XEmacs include rewriting large
1458 parts of the internals and the gory Xt/Xlib interfacing, adding the
1459 Mule \(international) support, improving the MS Windows support,
1460 adding many GUI features to XEmacs, architecting the
1461 device-abstraction and specifier code, writing most of the XEmacs
1462 Internals Manual and the XEmacs-specific parts of the XEmacs Lisp
1463 Reference Manual, synching a great deal of code with GNU Emacs, and
1464 being a general nuisance ... er, brainstormer for many of the new
1465 features of XEmacs.\n"))
1468 Author of the Hyperbole everyday information management hypertext
1469 system and the OO-Browser multi-language code browser. He also
1470 designed the BeOpen InfoDock integrated development environment
1471 for software engineers. It runs atop XEmacs and is available from
1472 his firm, BeOpen, which offers distributions, custom development,
1473 support, and training packages for corporate users of XEmacs, GNU
1474 Emacs and InfoDock. See ")
1475 (about-url-link 'beopen nil "Visit BeOpen WWW page")
1476 (widget-insert ".\n"))
1480 Author of an earlier version of the MS Windows setup program for XEmacs.\n"))
1483 Maintainer of the XEmacs FAQ and proud author of `zap-up-to-char'.\n"))
1487 Sorry, no information about my XEmacs contributions yet.\n"))
1491 Maintainer of XEmacs from mid-1994 through 1996. Author of the
1492 redisplay engine, the original toolbar and scrollbars and some of the
1493 device-abstraction, TTY and glyph code. Creator of the xemacs.org
1494 domain and comp.emacs.xemacs.\n"))
1498 Sorry, no information about my XEmacs contributions yet.\n"))
1502 Sorry, no information about my XEmacs contributions yet.\n"))
1506 Sorry, no information about my XEmacs contributions yet.\n"))
1509 Part of the original (pre-19.0) Lucid Emacs development team.
1510 Matthieu wrote the initial Energize interface, designed the
1511 toolkit-independent Lucid Widget library, and fixed enough redisplay
1512 bugs to last a lifetime. The features in Lucid Emacs were largely
1513 inspired by Matthieu's initial prototype of an Energize interface
1517 Darrell tends to come out of the woodwork a couple of weeks
1518 before a new release with a flurry of fixes for bugs that
1519 annoy him. He hopes he's spared you from a core dump or two.\n"))
1522 David has contributed greatly to the quest to speed up XEmacs.\n"))
1525 I joined the development of XEmacs in 1996, and have been one of the
1526 core maintainers since 1998. Although I'm mostly interested in the
1527 GUI, ergonomics, redisplay and autoconf issues, it's probably simpler
1528 to describe what I'm *not* involved in: I've never touched the Lisp
1529 implementation, and I probably never will...
1531 I'm the author of the multicast support, I wrote and maintain some
1532 external Emacs Lisp packages (including mchat) and I'm also
1533 responsible for some of the core Lisp code (including the rectangle
1534 library which I rewrote for both XEmacs and GNU Emacs).\n"))
1537 Also part of the original Lucid Emacs development team. Eric played a
1538 big part in the design of many aspects of the system, including the
1539 new command loop and keymaps, fixed numerous bugs, and has been a
1540 reliable beta tester ever since.\n"))
1543 Sorry, no information about my SXEmacs contributions yet.\n"))
1547 I have started to provide binary kits for the 21.2 series when there
1548 was no installer available. I contributed a few lines of core code
1549 occasionally to make things smoother with the native win32 port which
1550 I'm using all the day.
1552 I also contributed elisp code long ago to make Gnus run under XEmacs.\n"))
1556 Used XEmacs since early 1997. Fixed bugs that annoy me, both in
1557 XEmacs core and in packages I use, mostly viper. Hoping to get
1558 coding-cookie package distributed, which is also a fix of what I
1559 consider a bug.\n"))
1563 Sorry, no information about my XEmacs contributions yet.\n"))
1566 Part of the original (pre-19.0) Lucid Emacs development team. Harlan
1567 designed and implemented many of the low level data structures which
1568 are original to the Lucid version of Emacs, including extents and hash
1572 Sorry, no information about my SXEmacs contributions yet.\n"))
1576 Sorry, no information about my XEmacs contributions yet.\n"))
1579 Author of the code used to connect XEmacs with ToolTalk, and of an
1580 early client of the external Emacs widget.\n"))
1584 Hrvoje's contribution to XEmacs consists of many hours spent working
1585 on code and taking part in public discussions.
1587 He wrote `savehist' and `htmlize' packages, the latter having a pretty
1588 large gathering of users. He worked to improve many parts of XEmacs
1589 Lisp code, including isearch (FSF synch and new features), cl, edmacro
1590 \(FSF synch and an almost complete rewrite), profile, gnuserv,
1591 hyper-apropos, etags, about, and custom.
1593 He has worked on improving and optimizing the C core. He ported many
1594 FSF core features such as indirect buffers, tty-erase-char,
1595 save-current-buffer and friends, debug-ignored-errors, etc. He also
1596 wrote line numbering optimizations for large buffers, initial support
1597 for TTY frames, abbrev improvements, Lisp printer and reader
1598 improvements, support for extent modification functions, and lots of
1599 minor bugfixes, optimizations, and Muleifications.
1601 He contributed to Lispref and Internals documentation, including a
1602 section on writing Mule-compliant C code. Maintains NEWS. He
1603 participated on xemacs-beta since 1996 and on the Patch Review Board
1604 since its inception in 1998.\n"))
1608 Creator of the earliest version of the MS Windows port of XEmacs.\n"))
1611 He mainly contributes documentation and looks on in envy when the
1612 other hackers do neat things to SXEmacs.\n"))
1617 - created the OpenSSL crypto and ssl library API
1618 - ported XE's bignums and ratios to SXE and
1619 integrated them into something superior called ENT
1620 - brought support for modern audio interfaces and audio servers
1621 and integrated them as part of a multimedia SXE (MM)
1624 - redesigned configure.ac
1625 - implemented C-level doubly linked lists, bloom filters and skiplists
1626 - experimented with new hash algorithms
1627 - brought exhaustive caching of compiled regular expressions
1628 - revised lispref and other documentations
1629 - migrated the build chain to autotools
1632 - turn SXEmacs into a grid-based HPC machine :)\n"))
1635 Sorry, no information about my SXEmacs contributions yet.\n"))
1638 Apart from hunting down redisplay bugs Jan has worked on such
1639 things as improvements to the package system, implementing lazy-shot,
1640 a short stint at tracking patches and currently acts as a guardian
1641 of the XEmacs custom subsystem and gnuserv.\n"))
1644 Owner of cvs.xemacs.org, the machine that holds the XEmacs CVS
1645 repository, and author of some of the graphics code in XEmacs.\n"))
1648 Beta tester, manager of the various XEmacs mailing lists and binary
1649 kit manager. Also, originator and maintainer of the gnus.org domain.\n"))
1652 Jens did the artwork for graphics added to XEmacs 20.2 and 19.15. He's
1653 also the author of \"XEmacs Mine\", a game similar to Minesweeper, but
1654 running in XEmacs\n"))
1657 Beta tester and last hacker of calendar.\n"))
1660 I started the native port of XEmacs to MS Windows. Author of the
1661 Windows frame, redisplay, face and event loop support.\n"))
1664 Author of \"find-func.el\", improvements to \"help.el\" and a good
1665 number of bug fixes during June 1997 to December 1998.\n"))
1669 Creator and maintainer of Lucid Emacs (the predecessor of XEmacs),
1670 from 1991 through mid-1994.\n"))
1673 IENAGA Kazuyuki is the XEmacs technical lead on BSD, particularly
1678 Abstracted the subprocess code and wrote much of the MS Windows
1679 support in XEmacs, including the subprocess interface, dialog boxes,
1680 printing support, and much of the event loop.\n"))
1683 Author of VM, a mail-reading package that is included in the standard
1684 XEmacs distribution, and contributor of many improvements and bug
1685 fixes. Unlike RMAIL and MH-E, VM uses the standard UNIX mailbox
1686 format for its folders; thus, you can use VM concurrently with other
1687 UNIX mail readers such as Berkeley Mail and ELM.
1689 Also rewrote the object allocation system in XEmacs to support full
1690 32-bit pointers and 31-bit integers.\n"))
1693 Author of Gnus the Usenet news and Mail reading package in the
1694 standard XEmacs distribution, and contributor of various enhancements
1695 and portability fixes.\n"))
1698 Sorry, no information about my SXEmacs contributions yet.\n"))
1702 Sorry, no information about my XEmacs contributions yet.\n"))
1706 Beta release manager and author of many stability fixes and speed
1707 improvements in XEmacs.\n"))
1710 Author of the \"shy groups\" and minimal matching regular expression
1714 Early code contributor to Lucid Emacs. Synched up Lucid Emacs with
1715 the first actual release of GNU Emacs 19, and architected and wrote
1716 the first version of XEmacs's object allocation system.\n"))
1719 I am the author of tm-view (general MIME Viewer for GNU Emacs) and
1720 major author and maintainer of tm (Tools for MIME; general MIME
1721 package for GNU Emacs). In addition, I am working to unify MULE API
1722 for Emacs and XEmacs. In XEmacs, I have ported many mule features.\n"))
1726 Contributed minor improvements to the Windows support, especially
1727 related to subprocess communication and portable dumping as well as
1728 a bit of general bug fixing.\n"))
1731 Sorry, no information about my SXEmacs contributions yet.\n"))
1735 - added server network streams to SXEmacs.
1738 - Security oriented sweep of string handling.
1739 - MacOS X build fixes.
1740 - Miscellaneous fixes.\n"))
1743 Author of the XEmacs Drag'n'Drop API.\n"))
1747 Author of the portable dumper.\n"))
1750 Oscar's major contributions to XEmacs are the internal LDAP support
1751 and the EUDC package, an interface to query various directory services
1752 in a uniform manner (when composing mail for instance).\n"))
1755 Author of EOS, a package included in the standard XEmacs distribution
1756 that integrates XEmacs with the SPARCworks development environment
1757 from Sun. Past lead for XEmacs at Sun; advocated the validity of
1758 using Epoch, and later Lemacs, at Sun through several early
1762 Author of SQL Mode, edit-toolbar, mailtool-mode, and various other
1763 small packages with varying degrees of usefulness.\n"))
1766 Author of the Cygwin port of XEmacs including unexec, the widget,
1767 gutter and buffer-tab support, glyphs under MS-Windows, toolbars under
1768 MS-Windows, the original \"fake\" XEmacs toolbar, outl-mouse for mouse
1769 gesture based outlining, and the original CDE drag-n-drop
1774 Sorry, no information about my XEmacs contributions yet.\n"))
1777 Sorry, no information about my SXEmacs contributions yet.\n"))
1780 Maintainer of ILISP.\n"))
1783 Author of many extensions to the `extents' code, including the initial
1784 implementation of `duplicable' properties.\n"))
1787 Author of the first XEmacs FAQ;
1788 Development lead on Emacs Speaks Statistics;
1789 Assisted Jareth Hein with setting up the JitterBug tracking system.\n"))
1793 Maintainer of XEmacs from 1996 through 1998. Author of the package
1797 Mike ported EFS to XEmacs 20 and integrated EFS into XEmacs. He's
1798 also responsible for the ports of facemenu.el and enriched.el, the
1799 code to handle path-frobbing at startup for the XEmacs core and the
1800 package system, the init file migration from .emacs to
1801 .xemacs/init.el, and the CVS Great Trunk Move.\n"))
1804 I am the maintainer and project lead of this crazy thing we call the\n"
1805 (about-with-face "SXEmacs Project.\n" 'bold)))
1808 Implemented the faster stay-up Lucid menus and hyper-apropos.
1809 Contributor of many dispersed improvements in the core Lisp code, and
1810 back-seat contributor for several of its major packages.\n"))
1813 Maintainer of the RPM package.\n"))
1816 Does beta testing and helps take care of the XEmacs web site.\n"))
1820 Sorry, no information about my XEmacs contributions yet.\n"))
1824 Sorry, no information about my XEmacs contributions yet.\n"))
1828 Responsible for getting the current release of XEmacs out the
1832 Vin maintains the stable version of XEmacs. This involves reviewing
1833 a lot of other peoples' patches and testing and applying them.
1834 He also gets to generate his own patches from time to time. Being
1835 release manager is a fun way to contribute to the XEmacs project.
1836 Write me at acs@xemacs.org if you're interested in learning more.\n"))
1839 Former technical lead for XEmacs at Sun.\n"))
1842 Author of the GTK support in XEmacs, Emacs-w3 (the builtin web browser
1843 that comes with XEmacs), and various additions to the C code (e.g. the
1844 database support, the PNG support, some of the GIF/JPEG support, the
1845 strikethru face attribute support).\n"))
1849 Sorry, no information about my XEmacs contributions yet.\n"))
1852 ;; Setup the buffer for a maintainer.
1853 (defun about-maintainer (widget &optional event)
1854 (let* ((entry (assq (widget-value widget) sxemacs-hackers))
1857 (address (caddr entry))
1858 (bufname (format "*About %s*" name)))
1859 (unless (about-get-buffer bufname)
1860 ;; Display the glyph and name
1861 (widget-insert "\n")
1862 (widget-create 'default :format "%t"
1863 :tag-glyph (about-maintainer-glyph who))
1865 "\n\n" (about-with-face (format "%s" name) 'bold)
1867 (about-mailto-link address)
1868 (widget-insert ">\n\n")
1869 ;; Display the actual info
1870 (about-personal-info entry)
1871 (widget-insert "\n")
1873 (about-with-face "Contributions to SXEmacs:\n\n" 'about-headline-face))
1874 (about-hacker-contribution entry)
1875 (widget-insert "\n")
1876 (about-finish-buffer 'kill)
1879 (defsubst about-tabs (str)
1880 (let ((x (length str)))
1881 (cond ((>= x 24) " ")
1886 (defun about-show-linked-info (who)
1887 (let* ((entry (assq who sxemacs-hackers))
1889 (address (caddr entry)))
1890 (widget-create 'link :help-echo (concat "Find out more about " name)
1891 :action 'about-maintainer
1896 (widget-insert (about-tabs name)
1898 (about-mailto-link address)
1899 (widget-insert ">\n")
1900 (about-hacker-contribution entry)
1901 (widget-insert "\n")))
1903 (defun about-hackers (&rest ignore)
1904 (unless (about-get-buffer "*About Contributors*")
1905 (let ((title "A Legion of Contributors to SXEmacs"))
1907 (about-center title)
1908 (about-with-face title 'bold)))
1911 Like most open source software, SXEmacs is a collaborative effort.
1912 These are some of the contributors. And, at this stage, most of them
1913 are unaware of their status here because SXEmacs is so new. The vast
1914 majority of the people here are here because of their contributions to
1915 XEmacs, rather than SXEmacs.
1917 We have no doubt forgotten lots of people, if you are one of the
1918 forgotten, please accept our apologies. And then let us know so we
1919 can give you the credit you deserve.\n\n"
1920 (about-with-face "Primary maintainers for this release:"
1921 'about-headline-face)
1923 (mapc 'about-show-linked-info about-current-release-maintainers)
1926 (about-with-face "Other notable current hackers:"
1927 'about-headline-face)
1929 (mapc 'about-show-linked-info about-other-current-hackers)
1932 (about-with-face "Other notable XEmacs and GNU/Emacs hackers:"
1933 'about-headline-face)
1935 (mapc 'about-show-linked-info about-once-and-future-hackers)
1936 (flet ((print-short (name addr &optional shortinfo)
1937 (widget-insert (concat (about-with-face name 'italic)
1940 (about-mailto-link addr)
1943 (if shortinfo (concat shortinfo "\n") "")))))
1946 In addition to those just mentioned, the following people have spent a
1947 great deal of effort providing feedback, testing beta versions of
1948 XEmacs, providing patches to the source code, or doing all of the
1949 above. We couldn't have done it without them.\n\n")
1950 (print-short "Nagi M. Aboulenein" "aboulene@ponder.csci.unt.edu")
1951 (print-short "Per Abrahamsen" "abraham@dina.kvl.dk")
1952 (print-short "Gary Adams" "gra@zeppo.East.Sun.COM")
1953 (print-short "Gennady Agranov" "agranov@csa.CS.Technion.Ac.IL")
1954 (print-short "Mark Allender" "allender@vnet.IBM.COM")
1955 (print-short "Stephen R. Anderson" "sra@bloch.ling.yale.edu")
1956 (print-short "Butch Anton" "butch@zaphod.uchicago.edu")
1957 (print-short "Fred Appelman" "Fred.Appelman@cv.ruu.nl")
1958 (print-short "Tor Arntsen" "tor@spacetec.no")
1959 (print-short "Marc Aurel" "4-tea-2@bong.saar.de")
1960 (print-short "Larry Auton" "lda@control.att.com")
1961 (print-short "Larry Ayers" "layers@marktwain.net")
1962 (print-short "Oswald P. Backus IV" "backus@altagroup.com")
1963 (print-short "Mike Battaglia" "mbattagl@dsccc.com")
1964 (print-short "Neal Becker" "neal@ctd.comsat.com")
1965 (print-short "Paul Bibilo" "peb@delcam.com")
1966 (print-short "Leonard Blanks" "ltb@haruspex.demon.co.uk")
1967 (print-short "Jan Borchers" "job@tk.uni-linz.ac.at")
1968 (print-short "Mark Borges" "mdb@cdc.noaa.gov")
1969 (print-short "David P. Boswell" "daveb@tau.space.thiokol.com")
1970 (print-short "Tim Bradshaw" "tfb@edinburgh.ac.uk")
1971 (print-short "Rick Braumoeller" "rickb@mti.sgi.com")
1972 (print-short "Matthew J. Brown" "mjb@doc.ic.ac.uk")
1973 (print-short "Alastair Burt" "burt@dfki.uni-kl.de")
1974 (print-short "David Bush" "david.bush@adn.alcatel.com")
1975 (print-short "Richard Caley" "rjc@cstr.edinburgh.ac.uk")
1976 (print-short "Stephen Carney" "carney@gvc.dec.com")
1977 (print-short "Lorenzo M. Catucci" "lorenzo@argon.roma2.infn.it")
1978 (print-short "Philippe Charton" "charton@lmd.ens.fr")
1979 (print-short "Peter Cheng" "peter.cheng@sun.com")
1980 (print-short "Jin S. Choi" "jin@atype.com")
1981 (print-short "Tomasz J. Cholewo" "tjchol01@mecca.spd.louisville.edu")
1982 (print-short "Serenella Ciongoli" "czs00@ladybug.oes.amdahl.com")
1983 (print-short "Glynn Clements" "glynn@sensei.co.uk")
1984 (print-short "Richard Cognot" "cognot@ensg.u-nancy.fr")
1985 (print-short "Andy Cohen" "cohen@andy.bu.edu")
1986 (print-short "Richard Coleman" "coleman@math.gatech.edu")
1987 (print-short "Mauro Condarelli" "MC5686@mclink.it")
1988 (print-short "Nick J. Crabtree" "nickc@scopic.com")
1989 (print-short "Christopher Davis" "ckd@kei.com")
1990 (print-short "Soren Dayton" "csdayton@cs.uchicago.edu")
1991 (print-short "Chris Dean" "ctdean@cogit.com")
1992 (print-short "Michael Diers" "mdiers@logware.de")
1993 (print-short "William G. Dubuque" "wgd@martigny.ai.mit.edu")
1994 (print-short "Steve Dunham" "dunham@dunham.tcimet.net")
1995 (print-short "Samuel J. Eaton" "samuele@cogs.susx.ac.uk")
1996 (print-short "Carl Edman" "cedman@Princeton.EDU")
1997 (print-short "Dave Edmondson" "davided@sco.com")
1998 (print-short "Jonathan Edwards" "edwards@intranet.com")
1999 (print-short "Eric Eide" "eeide@asylum.cs.utah.edu")
2000 (print-short "EKR" "ekr@terisa.com")
2001 (print-short "David Fletcher" "frodo@tsunami.com")
2002 (print-short "Paul Flinders" "ptf@delcam.co.uk")
2003 (print-short "Jered J Floyd" "jered@mit.edu")
2004 (print-short "Gary D. Foster" "Gary.Foster@Corp.Sun.COM")
2005 (print-short "Jerry Frain" "jerry@sneffels.tivoli.com")
2006 (print-short "Holger Franz" "hfranz@physik.rwth-aachen.de")
2007 (print-short "Benjamin Fried" "bf@morgan.com")
2008 (print-short "Barry Friedman" "friedman@nortel.ca")
2009 (print-short "Noah Friedman" "friedman@splode.com")
2010 (print-short "Kazuyoshi Furutaka" "furutaka@Flux.tokai.jaeri.go.jp")
2011 (print-short "Lew Gaiter III" "lew@StarFire.com")
2012 (print-short "Itay Gat" "itay@cs.huji.ac.il")
2013 (print-short "Tim Geisler" "Tim.Geisler@informatik.uni-muenchen.de")
2014 (print-short "Dave Gillespie" "daveg@synaptics.com")
2015 (print-short "Christian F. Goetze" "cg@bigbook.com")
2016 (print-short "Yusuf Goolamabbas" "yusufg@iss.nus.sg")
2017 (print-short "Wolfgang Grieskamp" "wg@cs.tu-berlin.de")
2018 (print-short "John Griffith" "griffith@sfs.nphil.uni-tuebingen.de")
2019 (print-short "James Grinter" "jrg@demon.net")
2020 (print-short "Ben Gross" "bgross@uiuc.edu")
2021 (print-short "Dirk Grunwald" "grunwald@foobar.cs.Colorado.EDU")
2022 (print-short "Michael Guenther" "michaelg@igor.stuttgart.netsurf.de")
2023 (print-short "Dipankar Gupta" "dg@hplb.hpl.hp.com")
2024 (print-short "Markus Gutschke" "gutschk@GOEDEL.UNI-MUENSTER.DE")
2025 (print-short "Kai Haberzettl" "khaberz@synnet.de")
2026 (print-short "Adam Hammer" "hammer@cs.purdue.edu")
2027 (print-short "Magnus Hammerin" "magnush@epact.se")
2028 (print-short "ChangGil Han" "cghan@phys401.phys.pusan.ac.kr")
2029 (print-short "Derek Harding" "dharding@lssec.bt.co.uk")
2030 (print-short "Michael Harnois" "mharnois@sbt.net")
2031 (print-short "John Haxby" "J.Haxby@isode.com")
2032 (print-short "Karl M. Hegbloom" "karlheg@inetarena.com")
2033 (print-short "Benedikt Heinen" "beh@icemark.thenet.ch")
2034 (print-short "Stephan Herrmann" "sh@first.gmd.de")
2035 (print-short "August Hill" "awhill@inlink.com")
2036 (print-short "Mike Hill" "mikehill@hgeng.com")
2037 (print-short "Charles Hines" "chuck_hines@VNET.IBM.COM")
2038 (print-short "Shane Holder" "holder@rsn.hp.com")
2039 (print-short "Chris Holt" "xris@migraine.stanford.edu")
2040 (print-short "Tetsuya HOYANO" "hoyano@ari.bekkoame.or.jp")
2041 (print-short "David Hughes" "djh@harston.cv.com")
2042 (print-short "Tudor Hulubei" "tudor@cs.unh.edu")
2043 (print-short "Tatsuya Ichikawa" "ichikawa@hv.epson.co.jp")
2044 (print-short "Andrew Innes" "andrewi@harlequin.co.uk")
2045 (print-short "Markku Jarvinen" "Markku.Jarvinen@simpukka.funet.fi")
2046 (print-short "Robin Jeffries" "robin.jeffries@sun.com")
2047 (print-short "Philip Johnson" "johnson@uhics.ics.Hawaii.Edu")
2048 (print-short "J. Kean Johnston" "jkj@paradigm-sa.com")
2049 (print-short "John W. Jones" "jj@asu.edu")
2050 (print-short "Andreas Kaempf" "andreas@sccon.com")
2051 (print-short "Yoshiaki Kasahara" "kasahara@nc.kyushu-u.ac.jp")
2052 (print-short "Amir Katz" "amir@ndsoft.com")
2053 (print-short "Doug Keller" "dkeller@vnet.ibm.com")
2054 (print-short "Hunter Kelly" "retnuh@corona")
2055 (print-short "Gregor Kennedy" "gregork@dadd.ti.com")
2056 (print-short "Michael Kifer" "kifer@cs.sunysb.edu")
2057 (print-short "Yasuhiko Kiuchi" "kiuchi@dsp.ksp.fujixerox.co.jp")
2058 (print-short "Greg Klanderman" "greg.klanderman@alum.mit.edu")
2059 (print-short "Valdis Kletnieks" "Valdis.Kletnieks@vt.edu")
2060 (print-short "Norbert Koch" "n.koch@delta-ii.de")
2061 (print-short "Rob Kooper" "kooper@cc.gatech.edu")
2062 (print-short "Peter Skov Knudsen" "knu@dde.dk")
2063 (print-short "Jens Krinke" "krinke@ips.cs.tu-bs.de")
2064 (print-short "Maximilien Lincourt" "max@toonboom.com")
2065 (print-short "Mats Larsson" "Mats.Larsson@uab.ericsson.se")
2066 (print-short "Simon Leinen" "simon@instrumatic.ch")
2067 (print-short "Carsten Leonhardt" "leo@arioch.oche.de")
2068 (print-short "James LewisMoss" "moss@cs.sc.edu")
2069 (print-short "Mats Lidell" "mats.lidell@contactor.se")
2070 (print-short "Matt Liggett" "mliggett@seven.ucs.indiana.edu")
2071 (print-short "Christian Limpach" "Christian.Limpach@nice.ch")
2072 (print-short "Maximilien Lincourt" "max@toonboom.com")
2073 (print-short "Markus Linnala" "maage@b14b.tupsu.ton.tut.fi")
2074 (print-short "Robert Lipe" "robertl@arnet.com")
2075 (print-short "Derrell Lipman" "derrell@vis-av.com")
2076 (print-short "Damon Lipparelli" "lipp@aa.net")
2077 (print-short "Hamish Macdonald" "hamish@bnr.ca")
2078 (print-short "Ian MacKinnon" "imackinnon@telia.co.uk")
2079 (print-short "Patrick MacRoberts" "macro@hpcobr30.cup.hp.com")
2080 (print-short "Tonny Madsen" "Tonny.Madsen@netman.dk")
2081 (print-short "Ketil Z Malde" "ketil@ii.uib.no")
2082 (print-short "Steve March" "smarch@quaver.urbana.mcd.mot.com")
2083 (print-short "Ricardo Marek" "ricky@ornet.co.il")
2084 (print-short "Pekka Marjola" "pema@iki.fi")
2085 (print-short "Simon Marshall" "simon@gnu.ai.mit.edu")
2086 (print-short "Dave Mason" "dmason@plg.uwaterloo.ca")
2087 (print-short "Jaye Mathisen" "mrcpu@cdsnet.net")
2088 (print-short "Jason McLaren" "mclaren@math.mcgill.ca")
2089 (print-short "Michael McNamara" "mac@silicon-sorcery.com")
2090 (print-short "Michael Meissner" "meissner@osf.org")
2091 (print-short "David M. Meyer" "meyer@ns.uoregon.edu")
2092 (print-short "John Mignault" "jbm@panix.com")
2093 (print-short "Brad Miller" "bmiller@cs.umn.edu")
2094 (print-short "John Morey" "jmorey@crl.com")
2095 (print-short "Rob Mori" "rob.mori@sun.com")
2096 (print-short "Heiko Muenkel" "muenkel@tnt.uni-hannover.de")
2097 (print-short "Arup Mukherjee" "arup+@cs.cmu.edu")
2098 (print-short "Colas Nahaboo" "Colas.Nahaboo@sophia.inria.fr")
2099 (print-short "Lynn D. Newton" "lynn@ives.phx.mcd.mot.com")
2100 (print-short "Casey Nielson" "knielson@joule.elee.calpoly.edu")
2101 (print-short "Georg Nikodym" "Georg.Nikodym@canada.sun.com")
2102 (print-short "Andy Norman" "ange@hplb.hpl.hp.com")
2103 (print-short "Joe Nuspl" "nuspl@sequent.com")
2104 (print-short "Kim Nyberg" "kny@tekla.fi")
2105 (print-short "Kevin Oberman" "oberman@es.net")
2106 (print-short "David Ofelt" "ofelt@getalife.Stanford.EDU")
2107 (print-short "Alexandre Oliva" "oliva@dcc.unicamp.br")
2108 (print-short "Tore Olsen" "toreo@colargol.idb.hist.no")
2109 (print-short "Greg Onufer" "Greg.Onufer@eng.sun.com")
2110 (print-short "Achim Oppelt" "aoppelt@theorie3.physik.uni-erlangen.de")
2111 (print-short "Rebecca Ore" "rebecca.ore@op.net")
2112 (print-short "Sudeep Kumar Palat" "palat@idt.unit.no")
2113 (print-short "Joel Peterson" "tarzan@aosi.com")
2114 (print-short "Thomas A. Peterson" "tap@src.honeywell.com")
2115 (print-short "Tibor Polgar" "tibor@alteon.com")
2116 (print-short "Frederic Poncin" "fp@info.ucl.ac.be")
2117 (print-short "E. Rehmi Post" "rehmi@asylum.sf.ca.us")
2118 (print-short "Martin Pottendorfer" "Martin.Pottendorfer@aut.alcatel.at")
2119 (print-short "Colin Rafferty" "colin@xemacs.org")
2120 (print-short "Rick Rankin" "Rick_Rankin-P15254@email.mot.com")
2121 (print-short "Paul M Reilly" "pmr@pajato.com")
2122 (print-short "Jack Repenning" "jackr@sgi.com")
2123 (print-short "Daniel Rich" "drich@cisco.com")
2124 (print-short "Roland Rieke" "rol@darmstadt.gmd.de")
2125 (print-short "Art Rijos" "art.rijos@SNET.com")
2126 (print-short "Russell Ritchie" "ritchier@britannia-life.co.uk")
2127 (print-short "Roland" "rol@darmstadt.gmd.de")
2128 (print-short "Mike Russell" "mjruss@rchland.vnet.ibm.com")
2129 (print-short "Hajime Saitou" "hajime@jsk.t.u-tokyo.ac.jp")
2130 (print-short "Jan Sandquist" "etxquist@iqa.ericsson.se")
2131 (print-short "Marty Sasaki" "sasaki@spdcc.com")
2132 (print-short "SATO Daisuke" "densuke@ga2.so-net.or.jp")
2133 (print-short "Kenji Sato" "ken@ny.kdd.com")
2134 (print-short "Mike Scheidler" "c23mts@eng.delcoelect.com")
2135 (print-short "Daniel Schepler" "daniel@shep13.wustl.edu")
2136 (print-short "Holger Schauer" "schauer@coling.uni-freiburg.de")
2137 (print-short "Darrel Schneider" "darrel@slc.com")
2138 (print-short "Hayden Schultz" "haydens@ll.mit.edu")
2139 (print-short "Cotton Seed" "cottons@cybercom.net")
2140 (print-short "Axel Seibert" "seiberta@informatik.tu-muenchen.de")
2141 (print-short "Odd-Magne Sekkingstad" "oddms@ii.uib.no")
2142 (print-short "Gregory Neil Shapiro" "gshapiro@sendmail.org")
2143 (print-short "Justin Sheehy" "justin@linus.mitre.org")
2144 (print-short "John Shen" "zfs60@cas.org")
2145 (print-short "Murata Shuuichirou" "mrt@mickey.ai.kyutech.ac.jp")
2146 (print-short "Matt Simmons" "simmonmt@acm.org")
2147 (print-short "Dinesh Somasekhar" "somasekh@ecn.purdue.edu")
2148 (print-short "Jeffrey Sparkes" "jsparkes@bnr.ca")
2149 (print-short "Manoj Srivastava" "srivasta@pilgrim.umass.edu")
2150 (print-short "Francois Staes" "frans@kiwi.uia.ac.be")
2151 (print-short "Anders Stenman" "stenman@isy.liu.se")
2152 (print-short "Jason Stewart" "jasons@cs.unm.edu")
2153 (print-short "Rick Tait" "rickt@gnu.ai.mit.edu")
2154 (print-short "TANAKA Hayashi" "tanakah@mxa.mesh.ne.jp")
2155 (print-short "Samuel Tardieu" "sam@inf.enst.fr")
2156 (print-short "James Thompson" "thompson@wg2.waii.com")
2157 (print-short "Nobu Toge" "toge@accad1.kek.jp")
2158 (print-short "Raymond L. Toy" "toy@rtp.ericsson.se")
2159 (print-short "Remek Trzaska" "remek@npac.syr.edu")
2160 (print-short "TSUTOMU Nakamura" "tsutomu@rs.kyoto.omronsoft.co.jp")
2161 (print-short "Stefanie Teufel" "s.teufel@ndh.net")
2162 (print-short "Gary Thomas" "g.thomas@opengroup.org")
2163 (print-short "John Turner" "turner@xdiv.lanl.gov")
2164 (print-short "UENO Fumihiro" "7m2vej@ritp.ye.IHI.CO.JP")
2165 (print-short "Aki Vehtari" "Aki.Vehtari@hut.fi")
2166 (print-short "Juan E. Villacis" "jvillaci@cs.indiana.edu")
2167 (print-short "Vladimir Vukicevic" "vladimir@intrepid.com")
2168 (print-short "David Walte" "djw18@cornell.edu")
2169 (print-short "Peter Ware" "ware@cis.ohio-state.edu")
2170 (print-short "Christoph Wedler" "wedler@fmi.uni-passau.de")
2171 (print-short "Yoav Weiss" "yoav@zeus.datasrv.co.il")
2172 (print-short "Peter B. West" "p.west@uq.net.au")
2173 (print-short "Rod Whitby" "rwhitby@asc.corp.mot.com")
2174 (print-short "Rich Williams" "rdw@hplb.hpl.hp.com")
2175 (print-short "Raymond Wiker" "raymond@orion.no")
2176 (print-short "Peter Windle" "peterw@SDL.UG.EDS.COM")
2177 (print-short "David C Worenklein" "dcw@gcm.com")
2178 (print-short "Takeshi Yamada" "yamada@sylvie.kecl.ntt.jp")
2179 (print-short "Katsumi Yamaoka" "yamaoka@ga.sony.co.jp")
2180 (print-short "Jason Yanowitz" "yanowitz@eternity.cs.umass.edu")
2181 (print-short "La Monte Yarroll" "piggy@hilbert.maths.utas.edu.au")
2182 (print-short "Blair Zajac" "blair@olympia.gps.caltech.edu")
2183 (print-short "Volker Zell" "vzell@de.oracle.com")
2184 (print-short "Daniel Zivkovic" "daniel@canada.sun.com")
2185 (print-short "Karel Zuiderveld" "Karel.Zuiderveld@cv.ruu.nl")
2186 (widget-insert "\n"))
2187 (about-finish-buffer)))
2189 ;;; about.el ends here