#!/bin/sh # the next line is a comment in Tcl, but /bin/sh interprets it \ exec /path/to/wish "$0" ${1+"$@"}Some of my better abandoned projects include:
- tclTCP - This was a TCP/IP remote procedure call for Tcl, intended for those platforms that couldn't do send. I released it, and it enjoyed a following for a while. What happened? Brian Smith et al. did a tclDP package that did a better job, and the world (including me) switched over. Then the core team finally put sockets into the Tcl core and the world switched over again. Maybe someday we'll get UDP/IP back.
- tclFrame and tclXess - These were Tcl interfaces to the FrameMaker desktop publishing system and the Xess spreadsheet. Alas, I no longer have either one, so I have no way of maintaining these. The last I heard, tclXess was still shipping with Xess; does anyone know if the vendor is still in business?
- tkAuxLib - This was (mostly) a set of extended bindings to the Tk widgets that let users have TAB traversal, entry validation, bindtags, F10 menu access, and several other cool features. All of these features were cool enough that they showed up in the Tcl core over the following few releases, and I put tkAuxLib to bed.
- tclLoad - This was (as far as I know) the first multi-platform dynamic loader for Tcl[1]. I wrote it in 1993 primarily to prove that it was possible, and to embarrass the core team into getting the load command working. Once load was added, I gratefully relegated my implementation to the scrap heap.
- tclSolver - This one is actually something I'd like to pick up again, make TEA compliant, and get out into the community. It's an extremely simple-minded algebraic equation solver. If, for example, it is provided with a formula like A / B = C / D, it can determine the value of any of the four variables A, B, C, and D when the user supplies values for the other three. You can read about it at [2]. It's similar in flavor to the commercial TK!Solver product, and I originally developed it so that I would have a solver engine for a project where I was putting engineering calculations on the Web. That project wound up getting written up in the February, 1996 issue of Communications of the ACM.
proc Quine {} { set n [lindex [info level 0] 0] append s [list proc $n [info args $n] [info body $n]] \n [list $n] puts $s } Quine
John Ousterhout himself best summarized Kevin's early career with Tcl with his acknowledgment that it was KBK who showed "that Tcl can be used to interface to almost any conceivable application." [ref to book]In isolation, that sounds unintentionally funny.
KBK: That last line sounds like one of Cameron Laird's enigmatic utterances. For the benefit of the unenlightened:The first few years of Tcl's existence, most Tcl users saw it as an embeddable shell -- a C library that you'd add to your application to give it a command-line and scripting interface. When I picked up Tcl in 1991 or so, I saw that Expect, the [exec] command, and TclX were adding substantial capability for interface to existing applications -- once that weren't designed originally to have a Tcl interface. Inspired by that realization, I started trying to push the idea as far as it would go (incidentally producing the first cross-platform implementation of load), and eventually had wired applications that communicated with X PropertyNotify events, SunRPC, various vendor-supplied C API's, sockets, DDE, .... The interesting thing was that the interface layers that talked these protocols were the only C modules I wrote. 'Wish' and 'tclsh' were the main applications -- the interfaces were embedded in Tcl, not the other way around. The fact that I and a few other brave souls were actually successful treating Tcl as an integration platform rather than a library came as something of an epiphany for John.
"GE Computer Department in Phoenix made mainframes. It was bought out by Honeywell in 1970 (I worked there from 1977-1984). .... 1984-1990 I was studying/teaching/working at University of Illinois Urbana-Champaign. In 1990 I went to Northrop Research in Palos Verdes, Calif. When they closed the plant a year (to the day!) later, I came to GE, having been referred here by a colleague from UIUC, who had started working here a year earlier."
See also KHIM
[ARR] 2007-12-11Hi Kevin, today I found this interesting information about your tclSolver project. I am currently working on an engineering worksheet which is part of a product configuration system. I think tclSolver could be a very central component within this system which is a mission critical application.Are you still working on it? Are you interested in any cooperation in that area? I did not find any sources on the web. I am able to get some people helping us in c and c++ to make a TEA compliant package and extent the functions also.Please let my know how we can get further on this subject. Please mail me at liesche|AT|acatec.de
What's the B for? Bernard.