Attributes edit
- contact
- m i k e at k e y b o a r d z o m b i e dot c o m
- website
- http://www.keyboardzombie.com
Current Tcl To-Do List:
- Re-write Potato (see below). This has just about hit a finished state, now, though is continually being updated.
- Website validation tools.
- Finishing the customizable toolbar widget I started thinking about several years ago.
Tcl Projects edit
See keyboardzombie.comThings I've Written
Potato MUSH Client
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.Card Games
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 [1]Other Wiki Contributions
Some other things I've started or added something to on the wiki.- entry-widget validation for filenames.
- A second-formatter, at Formatting Durations
- A small proc for checking event-bindings
- A couple of procs for photo images; one which allows you to Replace one color in an image with transparency, and another which allows you to Produce Thumbnails of an image.
- A soundex proc, for checking if two words sound similar. (If you have Tcllib, the 'soundex' package included does the same job faster.)
- An Example Canvas Widget, which someone learning how to use canvas may or may not find of interest.
- How to Move an item on a Canvas Widget in a Straight Line (animated)
- WikIndent, a (basic, poorly written, but fully-working) little script which adds a single space to the front of files, to indent them as 'Tcl Code' for copy/pasting to a Wiki page. This horrific little script has been made obsolete by the new ====== code-block markup on the wiki.
- Web-Safe Colors, a (quickly-written and very ugly;) little program for finding the closest web-safe color to any color you give it.
- Sep 3rd 2005 - strToPic is a small script which encodes a string as an image.
- Sep 17th 2005 - A basic Port Forwarding in Pure-Tcl script
- Sep 29th 2005 - Named Arguments (MG) provides some code for named arguments, possibly of use for something like a megawidget framework.
- Dec 21st 2005 - I'm toying with the idea of a Customizable Toolbar Widget, designed to let the user of an app customize the toolbar.
- Aug 20th 2007 - A Minimal Tree Widget
- Oct 5th 2008 - An EAN-8 Barcode Generator, based heavily on PS's code for EAN-13 generation
- Apr 25th 2010 - A Spellcheck Widget using Aspell
- Aug 25th 2011 - A Google Code Wiki parser/help widget
- Feb 19th 2018 - Listbox Drag-and-Drop to reorder listbox items
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: [2]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: [3] . 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]