|
|
| Software - Expect - A tool for automating interactive applications such as telnet, ftp, passwd and hundreds of others.
- Multixterm - Multixterm allows you to control multiple xterms simultaneously. We use it to ssh to multiple hosts in a cluster and do ad hoc system administration on all at the same time. But it's general purpose so you could, for example, do telnet instead of ssh. Or run vi/emacs on a bunch of different files, etc. Particularly useful with ad hoc or one-of-a-kind maintenance. Also very cool for debugging host differences.
- cgi.tcl - A comprehensive library for creating Tcl-based CGI scripts. cgi.tcl supports tables, cookies, file upload, Expect, Tcl applets, Java, etc, etc.
- tkbiff - yet another program to alert you to incoming mail. tkbiff allows arbitrary commands (play audio clip, metamail, etc) to be executed upon mail reception. If you like programs like xbiff++ but wish they were more flexible or more portable, then you'll like tkbiff.
- md5pure and sha1pure - Computes md5 and sha1 message digests using only core Tcl commands. Surprisingly fast. (Surprised me anyway.)
- Stopwatch - A little stopwatch - just right for helping you get the timing down while practicing a talk. Provided both as an applet and a standalone Tk script.
- tcl-debug - A Tcl debugger. Provides traditional debugging capabilities to any Tcl script. Built-in to Expect but it works with any Tcl extension including Tk. Can be dynamically loaded.
- I wrote a large number of tools for manipulating EXPRESS models including a compiler (with Steve Clark), a server, and a development environment (with Steve and Josh Lubell). For more information, see the EXPRESS documents below or the SC4 page.
- Implementing Software Timers (reprint provided courtesy of the late Rich Stevens) simulates multiple timers given an environment that only provides a single timer.
- As I get time, I'll document more of the things I've written...
Peer-Reviewed Publications - Don Libes, David Flater, Evan Wallace, Micky Steves, Allison Barnard Feeney, and Ed Barkmeyer, "The Challenges of Automated Methods for Integrating Systems", SE 2004 - IASTED International Conference on Software Engineering
- Peter Denno, Don Libes, Michelle Steves, Ed Barkmeyer, "Model-Driven Integration Using Existing Models", IEEE Software, 2003.
- Nenad Ivezic, Mario Barbacci, Don Libes, Tom Potok, and John Robert "An Architecture Analysis of Agent-based Systems", accepted at ESAW'00 ("Engineering Societies in the Agents' World") workshop http://lia.deis.unibo.it/confs/ESAW00/ (and to be included in the workshop proceedings published in Springer's Lecture Notes), Aug 21, 2000.
- Nenad Ivezic, Mario Barbacci, Don Libes, Tom Potok, and John Robert, "An Analysis of a Supply Chain Management Agent Architecture", accepted at the The Fourth International Conference on MultiAgent Systems http://icmas.lania.mx, July 7, 2000.
- Nenad Ivezic, Mario Barbacci, Don Libes, Tom Potok, and John Robert, "An Architecture and COTS Analysis of Agent Systems", accepted at "The First Goddard Workshop on Formal Approaches to Agent-Based Systems" http://fmw.gsfc.nasa.gov/ (and to be published in the proceedings in Springer's Lecture Notes), April 4, 2000.
- Schlenoff, C., Gruninger, M., Ciocoiu, M. and Libes, D., "Process Specification Language (PSL): Results of the First Pilot Implementation", ASME International Mechanical Engineering Congress and Exposition, Nashville, October, 1999.
- Craig Schlenoff, Robert Ivester, Don Libes, Peter Denno and Simon Szykman: An Analysis of Existing Ontological Systems for Applications in Manufacturing,", Engineering Information Management Symposium, Computers in Engineering Conference / ASME Design Technical Conferences, Las Vegas, Nevada, September 12-15, 1999 (also NISTIR 6301).
- Libes, D., Writing a Tcl Extension in Only ... 7 Years, Proceedings of the Fifth Annual Tcl/Tk Workshop '97, Boston, MA, July 14-7, 1997. [Received Best Paper Award.]
- Libes, D., Managing Tcl's Namespaces Collaboratively, Proceedings of the Fifth Annual Tcl/Tk Workshop '97, Boston, MA, July 14-7, 1997.
- Libes, D., "Tcl/Tk-based Agents for Mail and News Notification -- or -- A Tale of Two Biffs", Software - Practice & Experience, John Wiley & Sons, West Sussex, England, Vol. 27(4), p. 481-493, April 1997.
- Libes, D., "Automation and Testing of Interactive Character Graphic Programs", Software - Practice & Experience, John Wiley & Sons, West Sussex, England, Vol. 27(2), p. 123-137, February 1997.
- Libes, D., "How to Avoid Learning Expect -- or -- Automating Automating Interactive Programs" (PDF, PostScript), Proceedings of the Tenth USENIX System Administration Conference (LISA X), Chicago, IL, September 30 - October 4, 1996.
- Libes, D., "Writing CGI Scripts in Tcl" (PDF, PostScript), Proceedings of the Fourth Annual Tcl/Tk Workshop '96, Monterey, CA, July 10-13, 1996. [Received Best Presentation Award.]
- Libes, D., "Authentication by Email Reception", Proceedings of the Fifth System Administration, Networking, and Security Conference (SANS 96), Washington, DC, May 12-18, 1996.
- Libes, D., Clark S.N., "An Object-Oriented Tcl/Tk Binding for Interpreted Control of the NIST EXPRESS Toolkit in the NIST STEP Application Protocol Development Environment", Proceedings of the EXPRESS User Group Workshop (EUG '95), Grenoble, France, October 21-22, 1995.
- Libes, D., "Handling Passwords with Security and Reliability in Background Processes", Proceedings of the Eighth USENIX System Administration Conference (LISA VIII), pp. 57-64, San Diego, CA, September 19-23, 1994.
- Libes, D., "Concepts of the NIST EXPRESS Server" Proceedings of the First International Workshop on Services in Distributed and Networked Environments (SDNE), Prague, Czech Republic, June 27-28, 1994.
- Libes, D., "X Wrappers for Non-Graphic Interactive Programs", Proceedings of Xhibition 94, San Jose, California, June 20-24, 1994.
- Libes, D., "The NIST EXPRESS Toolkit: Design and Implementation," Seventh Annual Engineering Database Symposium - ASME Computers in Engineering Conference, San Diego, CA, August 9-11, 1993.
- Libes, D., "A Debugger for Tcl Applications," Proceedings of the 1993 Tcl/Tk Workshop, Berkeley, CA, June 10-11, 1993.
- Libes, D., "Kibitz- Connecting Multiple Interactive Programs Together ", Software - Practice & Experience, John Wiley & Sons, West Sussex, England, Vol. 23, No. 5, May 1993.
- Libes, D., Clark, S.N., "The NIST EXPRESS Toolkit - Lessons Learned," Proceedings of the EXPRESS Users Group Conference, Dallas, TX, October 1992.
- Libes, D., "Regression Testing and Conformance Testing Interactive Programs", Proceedings of the Summer 92' USENIX Conference, San Antonio, TX, June 8-12, 1992.
- O'Connell, J., Sullivan, F., Libes, D., Stella, A.L., Einstein, T.L., "Self-Avoiding Random Surfaces: Monte Carlo Study Using Oct-tree (sic) Data-Structures," Journal of Physics "A" Math, Gen. 24 (1991) pp. 4619-4635.
- Libes, D., "Modeling Dynamic Surfaces with Octrees," Published in Computers & Graphics Magazine, Pergamon Press, New York, Vol. 15, No. 3, 1991. (republished from NISTIR 89-4055)
- Libes, D., "Expect: Scripts for Controlling Interactive Processes," Computing Systems, Vol. 4, No. 2, University of California Press Journals, Spring 1991.
- Libes, D., "Using Expect to Automate System Administration Tasks," Proceedings of the Fourth USENIX Large Installation Systems Administration (LISA), Colorado Springs, CO, October 17-19, 1990.
- Libes, D., "Expect: Curing Those Uncontrollable Fits of Interaction," Proceedings of the Summer 1990 USENIX Conference, Anaheim, CA, June 1990.
- Libes, D., "Choosing a Name for your Computer," Communications of the ACM, p. 44, November 1989.
- Libes, D., Barkmeyer, E., "The Integrated Manufacturing Data Administration System (IMDAS) - An Overview," International Journal of Computer Integrated Manufacturing, Vol. 1, No. 1, p. 44, 1988.
- Furlani, C., Barkmeyer, E., Mitchell, M., Libes, D., "The Distributed Data System of the Automated Manufacturing Research Facility of the National Bureau of Standards," Proceedings of COMPCON SPRING `88, Thirty-third IEEE Computer Society International Conference, San Francisco, CA, February 29-March 4, 1988.
- Furlani, C., Libes, D., Barkmeyer, Ed., Mitchell, M., "Distributed Databases on the Factory Floor", Proceedings of the 1st International Symposium on Computerization and Networking of Materials Property Databases, November 2-4, 1987, Phil. PA.
- Libes, D., "User-Level Shared Variables (In a Hierarchical Control Environment)," Proceedings of the 1985 USENIX Conference, Portland, OR, June 1985.
Books - Libes, D., "Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Applications", O'Reilly & Associates, pp. 602, ISBN 1-56592-090-2, January 1995.
- Libes, D., Obfuscated C and Other Mysteries, CafePress, pp. 413, ISBN 0-471-57805-3, January 1993.
- Libes, D., Ressler, S., Life With UNIX, Prentice Hall, pp. 346, ISBN 0-13-536657-7, January 1989.
NIST policy is to avoid endorsements for commercial products or organizations. Hence this page provides no links for the publishers or any further information about how to obtain these books. Book Chapters and Invited Papers - Libes, D., "Using Expect to Automate System Administration Tasks", "Selected Papers in Network and System Administration, ed: Eric Anderson, Mark Burgess and Alva Couch, pub: Wiley, 2002.
- Libes, D., "Expect -- A Power Tool for System Administration Automation", System Administration Tools, ed, D. McNutt, O'Reilly & Associates, Inc., to appear.
- Libes, D., "Passmass -- Changing Passwords on Many Machines Simultaneously", Internet Power Tools, ed, Valeria Quercia, O'Reilly & Associates, Inc., to appear.
- Libes, D., "Vrfy -- Verifying an Internet Email Address," Internet Power Tools, ed, Valeria Quercia, O'Reilly & Associates, Inc., to appear.
- Libes, D., "Expect -- A Power Tool for Interaction Automation, UNIX Power Tools, ed, J. Peek, et al, O'Reilly & Associates, to appear.
- Libes, D., "Expect", Tcl/Tk Extensions, ed, Mark Harrison, O'Reilly & Associates, Inc., 1997.
- Libes, D., "Terminal Emulation for Automation and Testing of Character Graphic Programs: A Code Walkthrough", Proceedings of The 21st Annual Trenton Computer Festival (TCF '96), Trenton, NJ, April 21-22, 1996.
- Libes, D., "Ouch, Those Programs Are Painful", p. 9-11, ORA DOT COM, O'Reilly & Associates, Inc., Fall '94.
- Libes, D., "Automating Interactive Applications in the Network Environment", Journal of Proceedings, International Communications Association - 1992 Annual Conference and Exhibition, Atlanta, GA, May 17, 1992. [Invited paper to accept Innovation Award.]
- Furlani, C., Barkmeyer, Ed., Mitchell, M., Libes, D., "The Distributed Data System of the Automated Manufacturing Research Facility of the National Bureau of Standards" in: Computerization and Networking of Materials Databases, eds, Glazman, J., Rumble, J., ASTM, STP 1017, April 1989.
- Libes, D., "Multiple Programs in One UNIX Process", ;login:, pp. 7-13, Vol. 12, No. 4, USENIX Association, Berkeley, CA, July/August 1987.
- Libes, D., "UNIX in the Government's Automated Manufacturing Research Facility (AMRF)", Government Computer News, February 14, 1986.
NIST Technical Reports and Publications - Craig Schlenoff, Robert Ivester, Don Libes, Peter Denno and Simon Szykman: "An Analysis of Existing Ontological Systems for Applications in Manufacturing and Healthcare,", NISTIR 6301, National Institute of Standards and Technology, Gaithersburg, MD, 1999.
- Don Libes, Craig Schlenoff, Demo: PSL: How Does It Work?, National Institute of Standards and Technology, Gaithersburg, MD, 1999.
- Craig Schlenof, Robert Ivester, Don Libes, "Process Specification Language: An Analyis of Existing Representations, NISTIR 6160, 1998.
- KC Morris, David Flater, Don Libes, Al Jones, "Testing of Interaction-driven Manufacturing Systems", NISTIR 6260, December 1998.
- Michelle Potts Steves and Don Libes: "Organization of MSID's On-Line information - Experience and Recommendations," NISTIR 5792, National Institute of Standards and Technology, Gaithersburg, MD, 1996.
- Libes, D., "The NIST EXPRESS Server: Usage and Implementation", NISTIR 5323, Gaithersburg, MD, May 11, 1994.
- Libes, D., "The NIST EXPRESS Toolkit: Introduction and Overview", NISTIR 5242 (NTIS PB94- 120664/AS), Gaithersburg, MD, October 25, 1993.
- Libes, D., "Exppp - An EXPRESS Pretty Printer, NISTIR 5292 (NTIS PB94-120797/AS), Gaithersburg, MD, November 8, 1993.
- Libes, D., "Shtolo - Converting STEP Short Listings to Annotated Listings," NISTIR 5291, November 1993.
- Libes, D., "The NIST EXPRESS Toolkit: Using Applications," NISTIR 5206, June 9, 1993.
- Libes, D., "The NIST EXPRESS Toolkit: Updating Existing Applications, NISTIR 5205, June 9, 1993.
- Libes, D., "The NIST EXPRESS Toolkit: Obtaining and Installing," NISTIR 5204, May 1993.
- Libes, D., "The NIST STEP Part 21 Exchange File Toolkit: An Update," NISTIR 5187, May 1993.
- Libes, D., Fowler, J.E., "NIST Express Toolkit: Requirements for Improvement," NISTIR 5212, June 9, 1993.
- Clark, S.N., Libes, D., "NIST Express Working Form Programmer's Reference," NISTIR 4814, April 3, 1992.
- Clark, S.N., Libes, D., "Fed-X: The NIST Express Translator," NISTIR 4822, April 3, 1992.
- Clark, S.N., Libes, D.,"The NIST PDES Toolkit: Technical Fundamentals," NISTIR 4815, April 3, 1992.
- Libes, D., "A Clock for the Manufacturing Systems Integration Testbed," NISTIR 4666, September 1991.
- Libes, D., "NIST Network Common Memory User Manual," NISTIR 90-4233, February 1990.
- Libes, D., "Packet-Oriented Communication using a Stream Protocol - or - Making TCP/IP on Berkeley Unix a Little More Pleasant to Use," NISTIR 90-4232, February 1990.
- Libes, D., "Modeling Dynamic Surfaces with Octrees," NISTIR 89-4055, February 1989.
- Libes, D., Magalet, J., Litcher, A., "Integrated Manufacturing Data Administration System (IMDAS)", videotape, NBS, September 1988.
- Rybczynski, S., Barkmeyer, E.J., Wallace, E.K, Strawbridge, M.L., Libes, D.E., Young, C.V., , "AMRF Network Communications," NBSIR 88-3816, June 1988.
- Libes, D., " The State of State Tables in the AMRF", AMRF Technical Report #1, NBSIR 87-3541, March 1987.
Other Publications Many of the following articles originally appeared as a series of columns, with permission of NIST. While the articles were all reviewed by colleagues, they were not officially reviewed by NIST so they are not considered NIST publications. Due to popular demand, many of them were updated and expanded in the book Obfuscated C and Other Mysteries, Wiley, 1993. - Libes, D., "Obfuscated C", Proceedings of The 17th Annual Trenton Computer Festival (TCF '92), Trenton, NJ, April 11-12, 1992.
- Libes, D., "Obfuscated C 1990", The C Users Journal, R & D Publications, Inc., Vol. 9, No. 5, May 1991.
- Libes, D., "Implementing a trap command", The C Users Journal, R & D Publications, Inc., Vol. 9, No. 3, March 1991.
- Libes, D., "Expect", The C Users Journal, R & D Publications, Inc., Vol. 9, No. 1, January, 1991.
- Libes, D., "Implementing Software Timers", The C Users Journal, R & D Publications, Inc., Vol. 8, No. 11, November 1990.
- Libes, D., "Tcl - Tool Command Language", The C Users Journal, R & D Publications, Inc., Vol. 8, No. 9, September 1990.
- Libes, D., "Using Yacc and Lex Twice in One Program", The C Users Journal, R & D Publications, Inc., Vol. 8, No. 7, July 1990.
- Libes, D., "The Far Side of C", The C Users Journal, R & D Publications, Inc., Vol. 8, No. 5, May, 1990.
- Libes, D., "Life With Static Buffers, Part II", The C Users Journal, R & D Publications, Inc., Vol. 8, No. 3, March 1990.
- Libes, D., "Life With Static Buffers", The C Users Journal, R & D Publications, Inc., Vol. 8, No. 1, January 1990.
- Libes, D., "Updating Environment Variables", The C Users Journal, R & D Publications, Inc., Vol. 7, No. 7, October 1989.
- Libes, D., "Real Life Story: Writing a book with FrameMaker, The Story of Life With UNIX", Frame User's Network (F.U.N.) Newsletter, Vol 1., No. 2, August 1989.
- Libes, D., "Obfuscated C 1988", The C Users Journal, R & D Publications, Inc., Vol. 7, No. 5, July 1989.
- Libes, D., "Faster Than Malloc", The C Users Journal, R & D Publications, Inc., Vol. 7, No. 4, May 1989.
- Libes, D., "The State of C", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 12, December 1988.
- Libes, D., "Threads", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 11, November 1988.
- Libes, D., "Portability", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 10, October 1988.
- Libes, D., "Register", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 9, September 1988.
- Libes, D., "Optimizing Strcpy", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 8, August 1988.
- Libes, D., "x = x++;", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 7, July 1988.
- Libes, D., "Rmifdef", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 6, June 1988.
- Libes, D., "More Obfuscated C", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 5, May 1988.
- Libes, D., "Obfuscated C 1987", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 4, April 1988.
- Libes, D., "Function Pointers", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 3, March 1988.
- Libes, D., "Dump", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 2, February 1988.
- Libes, D., "Longjmp", Micro/Systems Journal, M&T Publishing, Vol. 4, No. 1, January 1988.
- Libes, D., "Varying Arguments", Micro/Systems Journal, M&T Publishing, Vol. 3, No. 6, November/December 1987.
- Libes, D., "Doubles", Micro/Systems Journal, M&T Publishing, Vol. 3, No. 5, September/October 1987.
- Libes, D., "Byte Ordering", Micro/Systems Journal, M&T Publishing, Vol. 3, No. 4, July/August 1987.
- Libes, D., "Updating Time", Micro/Systems Journal, M&T Publishing, Vol. 3, No. 3, May/June 1987.
- Libes, D., Libes, S., "Editor's Page: DOS is Getting to Look a Lot Like UNIX", Micro/Systems Journal, Vol. 3, No. 3, May/June 1987.
- Libes, D., "Obfuscated C 1986", Micro/Systems Journal, M&T Publishing, Vol. 3, No. 2, March/April 1987.
- Libes, D., "cdecl - A Program to Explain C Declarations", Micro/Systems Journal, M&T Publishing, Vol. 3, No. 1, January/February 1987.
- Libes, D., "Keeping Track of malloc()", Micro/Systems Journal, M&T Publishing, Vol. 2, No. 6, November/December 1986.
- Libes, D., "Garbage In", Micro/Systems Journal, M&T Publishing, Vol. 2, No. 5, September/October 1986.
- Libes, D., "All about Casts", Micro/Systems Journal, M&T Publishing, Vol. 2, No. 4, July/August 1986.
- Libes, D., "Obfuscated C 1985", Micro/Systems Journal, M&T Publishing, Vol. 2, No. 3, May/June 1986.
- Libes, D., "getopt() - A Subroutine for Parsing Command-Line Arguments", Micro/Systems Journal, M&T Publishing, Vol. 2, No. 2, March/April 1986.
- Libes, D., Morris, G., "C Interpreters", Micro/Systems Journal, Vol. 2, No. 2, March/April 1986.
- Libes, D., "C Interpreters", Micro/Systems Journal, M&T Publishing, Vol. 2, No. 1, January/February 1986.
- Libes, D., "Context-Independent Macros", Micro/Systems Journal, M&T Publishing, Vol. 1, No. 5, November/December 1985.
- Libes, D., "Obfuscated C 1984", Micro/Systems Journal, M&T Publishing, Vol. 1, No. 4, September/October 1985.
- Libes, D., "Implementing Sets with Bit Operations", Micro/Systems Journal, M&T Publishing, Vol. 1, No. 3, July/August 1985.
- Libes, D., "Writing a Translation Program", Micro/Systems Journal, M&T Publishing, Vol. 1, No. 2, May/June 1985.
- Libes, D., "Implementing Variably-Sized Arrays", Micro/Systems Journal, M&T Publishing, Vol. 1, No. 1, March/April 1985 .
Presentations Program Co-chair, 6th Annual Tcl/Tk Conference, San Diego, CA | Sept 14-18, 1998 | Scripting Languages on the Web, Information Technology for Engineering & Manufacturing Conference |
|