Who's Kevin Kenny?
I'm the guy who labels postings to this Wiki with KBK, and whose postings usually originate from 192.35.44.14, a tremendously overburdened firewall machine. (in the Tcler's wiki chat, known as kennykb)
I have been an avid Tcl user since 1991, when I first became interested in it as an integration platform.
I'm probably the Tcl community's worst offender with respect to creating abandoned software. Alas, my most lasting contribution to the Tcl community has been the horrible hack that launches Tcl scripts on the Un*x platform:
#!/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:
Right now, I divide my time between working on the Tcl/Tk applications that run the NBC broadcast network 24/7 [L3 ], [L4 ], and doing Tcl-based automation software for GE's next generation of medical X-ray machines. In other words, I'm mad enough to be using open-source code in mission-critical systems.
Using Tcl in soft-real-time systems has given me a keen interest in the precision of the Tcl clock, hence the changes described in TIP #7 [L5 ].
I'm also author or coauthor of several more TIP's: [L6 ], [L7 ], [L8 ], [L9 ], [L10 ].
I've been on the program committee of the Tcl conferences in 1995, 1997, 1998 and 2001.
I still find time, occasionally, to develop the odd clever hack in Tcl, for instance Fraction math and Shuffle a list. I also know a few tricks about dealing with Microsoft Windows and Tk.
People can send me email at [L11 ].
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.