MG (Mike Griffiths); can be emailed at
My largest project to date is a MUSH/MUD client in Tcl/Tk, Potato MUSH (MUD) Client, a telnet-type client for connecting to MU* games. I've recently re-written it to use Tcl 8.5, currently for Windows, Linux and MacOS X.
I've written copies of some of the card games shipped with Windows; Spider Solitaire, Hearts and Freecell, all of which are on my website (see above). Improved versions of Hearts and Spider by Steven A are available in the Tk Game Pack at [L1 ]
Some other things I've started or added something to on the wiki.
After looking at the page 'Who owns the content on this Wiki', I thought I'd add this for the heck of it: unless otherwise stated on the specific page/piece of code, anything I stick up here is free for non-commercial use by anyone who wants it. Just don't blame me if anything goes wrong, and don't claim credit for anything I did :) Feel free to copy it for anything you like, modify it (but please add any improvements so others can share them, too), etc. If you want to use any of it in any commercial capacity, please email at the above address first for permission.
MG adds that his computer is running Windows XP Home, SP 3 (as of June 2008). So, anywhere where I mention a problem (or that code is working) and forget to specifically state the OS it's on, it'll be this computer.
27/01/2007 - The first Tcl-related bash quote I've ever seen, which also happened to make me chuckle, as it reminded me of the discussions on Tcl vs. TCL: [L2 ]
AMG: Since that link no longer works, I reproduce the original quote here:
<Erasmus> heh, I named my first tcl script test.tcl before realising tcl is generally pronounced "tickle"
Google helped me find a copy of the quote here: [L3 ] . Thanks, Google!
MG Thanks for updating, didn't realise the link had broken. :)
MG Recently had a (random, it seemed) widget being destroyed in an app when a certain action was performed. Got to love Tcl's introspection:
proc meep {win} { puts stderr "WINDOW $win DESTROYED:" for {set i [info frame] ; incr i -1} {$i > 0} {incr i -1} { puts stderr "[string repeat > $i] [info frame $i]" } puts stderr "\n" };# meep bind . <Destroy> [list meep %W]