Tcl Logo

Tcl-To-Go

Release date: November 22, 1999

An add-on disk for the muLinux system, containing a mix of application programs, all written in Tool Command Language, aka, Tcl (pronounced as tickle.)

Download TCL.tgz now!
You probably need to 'Shift-Click' the link to download it!!.

Note TCL.tgz is compressed using bzip2. The '.tgz' extension is used to fool web servers in sending the file as binary.

Installation

You'll need a working muLinux system. Beginning with muLinux 7.x, Tcl-To-Go is fully supported. Tcl-To-Go also requires the muLinux X11 add-on disk, as most of the programs on Tcl-To-Go are based on X11.

Tcl-To-Go fits on a single floppy, formatted with 1722 1k blocks. To format such a floppy use the following command in Linux:

fdformat /dev/fd0H1722

To complete the installation, simply copy TCL.tgz onto your super-formatted floppy:

dd if=TCL.tgz of=/dev/fd0H1722 bs=21k

If you would like to unpack TCL.tgz on your hard disk for inspection, use the muLinux mu script, or simply

cat TCL.tgz | bzip2 -d | tar xf -



If your Linux system doesn't include the /dev/fd0H1722 device, try building it with

cd /dev; ./MAKEDEV fd0


What can you do with Tcl-To-Go?

Here are some sample screenshots, illustrating some of the applications on Tcl-To-Go (click on the snapshot thumbnail image for a full 640x480 screen dump.)

Tcl Development
Text editing
Games
Graphics
Math
News and Mail
Network clients
Web serving and HTML editing

Plus many other fine programs and utilities not shown.


How is it done?

Compress, compress again, then compress some more. Tcl applications and library files are stored as compressed (gzip) files, even after the Tcl-To-Go floppy is loaded into your muLinux system. Tcl-To-Go modifies Tcl run-time libraries to recognize compressed files, and uncompress them on the fly. Tcl-To-Go fits over six megabytes of Tcl code onto a single super-formatted floppy. This of course includes the Tcl/Tk interpreters, tclsh and wish. When the floppy is installed, its filesystem space is less than 3000 1k blocks.

Grateful Acknowledgements

My thanks goes to all of the folks that created the applications that I'm including on Tcl-To-Go. Please note the authors of each application below.

Other Notes

The application mix of programs may change from release to release. In particular, the current release has some applications that overlap, e.g., tkpaint and impress, dirc and netplug, etc. Please let me know which applications you find most useful.

Documentation: skimpy at best. I've taken the tack that most applications are either intuitive to use, or can be figured out with a minimum of exploration. Therefore, I've sacrificed documentation in favor of providing additional applications. Still, many applications contain their own help systems. Please refer to the original distributions of each application as a way to get more information.

Support: please use the muLinux mailing list for all questions about Tcl-To-Go. Subscribe to the mailing list by sending an email to: mulinux-subscribe@sunsite.auc.dk

The Whole Shebang

Here are the current mix of applications on TCL.tgz.
This is the README file included on the Tcl-To-Go disk image:



Tcl-To-Go

Tom Poindexter, tpoindex@nyx.net
1st edition, Nov. 1999

An add-on floppy for muLinux to add a healthy mix of application programs
written in Tcl/Tk.  Requires the muLinux X11 add-on, as most Tcl programs
included are X11 based.

muLinux resources: 
	home page:     http://sunsite.auc.dk/mulinux
	mailing list:  mulinux-subscribe@sunsite.auc.dk

Tcl-To-Go: 	http://home.worldnet.att.net/~tpoindex/

Documentation:
Little documentation for each application is included.  Some applications have
builtin help;  check my 'notes' section for each entry.   Please refer to
the applications' URL's for additional documentation.

Preference files/directories:
Many application also want to save user preferences into various directories
under $HOME or $USER.  Typically, user files are stored as ".files" or 
".directories" under "/" or "/root", if running muLinux as a single user.

If you wish to save the applications' preferences, you should make your own 
arrangements to save and restore these files during muLinux startup and 
shutdown.

Licenses issues:  
The majority of the applications included have been written by others, and
are distributed under various license and/or copyrights.  
For GPLed applications, refer to http://www.gnu.org/copyleft/gpl.txt
For BSD & copyrighted applications, see the license & copyright statement in 
each application.

Change Log: 
Nov. 1999  create initial TCL addon.  first release.



Included applications:

-------------------------------------------------------------------------------
---base tcl/tk

tclsh8.0
wish8.0
    description: Tcl/Tk, tclsh & wish interpreters
    ver: 8.0.5
    license: BSD style
    author: John Ousterhout, et.al. 
    http://www.scriptics.com
    tsp hacks:
	add proc 'source' to init.tcl: examine file name, if a file
	matches *.gz, then use gunzip to unpack source file.
	tk.tcl - make mulinux friendly defaults, background color, fonts

	gzip all tcl/tk library .tcl files, except init.tcl and tk.tcl

	most files in ./bin link to STARTUP.SH, which starts wish and
	causes the real program to be sourced from ../lib/bingz

	compiled under Redhat 4.2 (libc5)
	configure --prefix=/usr/tcltk --enable-shared --disable-symbols
	edit makefile to add '-Wl,-rpath,/usr/tcltk/lib' and
	'-Wl,-rpath-link,/usr/tcltk/lib' when linking shared libs & executables

	strip tclsh wish libtcl8.0.5.so libtk8.0.5.so
	

-------------------------------------------------------------------------------
---editors

edit
    description: Tcl Text Edit, /w macros, ftp/http get & put, multiple files.
    author: Dennis Ehlin
    ver: http://www.user.tninet.se/~hkc141i
    license: BSD style
    http://www.user.tninet.se/~hkc141i
    tsp hacks:
	added exec lines; use TCLTEXTEDIT_LIB for library directory;
	copy lib macro files when making $HOME/.tcltextedit/; 
	use safe interp when evaling command (txt.tcl); 
	for some reason, edit main program doesn't like most lib .tcl files
	to be compressed (?? !!) instead, put all but cfg.tcl inline in 
	main 'edit' source file.
	looks like you should be able to open an http:// url on the
	comand line, but doesn't seem to work.

tknotepad:
    description: a simple text editor, /w find/replace, hot keys
    author: Joe Acosta 
    ver: 0.7.1
    license: Copyright
    http://www.mindspring.com/~joeja/programs.html
    tsp hacks:
	change exec line to simple 'wish'
    
vedit:
    description: a simple text editor, part of tkapps suite
    see: vmail3 (tkapps) under news/mail


-------------------------------------------------------------------------------
---spreadsheet/calculators/math

tk#
    description: spreadsheet
    author: Martin Vermeer 
    ver: 0.3
    license: GPL
    http://www.netby.net/Oest/Europa-Alle/vermeer/	
    tsp hacks: 
	respository and demo files in /usr/tcltk/lib/tk#

ksc
    description: RPN-type calculator
    author: Ken St-Cyr 
    ver: 0.16
    license: BSD style
    http://www.cs.pdx.edu/%7Ekenstcyr/linux.html
    tsp hacks: 
	change exec line to simple 'wish'
	change font, avoid bold 

surface
    description: display three dimensional surface based on z = F(x,y)
    author: Eduard Kholyavko 
    ver: 04091999
    license: Copyright
    ftp://ft/florin.ru/pub/edik
    tsp hacks:
	changed exec line
	it doesn't fit on VGA X server very well, but too cool not to include!


-------------------------------------------------------------------------------
---network

fireman
    description: firewall manager, uses ipfwadm to set policy
    author: aRG 
    ver: 2.0
    license: Copyright
    http: http://www.tectrip.net/arg/
    tsp hacks:
	added exec line; changed aux program paths to env(FIREMAN_LIB); changed
	[exec date] to use clock command.
	changed exec /sbin/ipfwadm to just ipfwadm, ipchains
	changed fonts

sockspy
    description: examine a TCP conversation, in hex or ascii
    author: Tom Poindexter 
    ver: 1.0
    license: BSD style
    http://www.nyx.net/~tpoindex/tcl.html
    tsp hacks: 
	all of it
    notes:
	command line options:  sockspy clientPort serverHost serverPort
                 clientPort - port to which clients connect
                 serverHost - machine where real server runs
                 serverPort - port on which real server listens
        e.g. To watch your Telnet session to 'otherhost':
	$ sockspy 2000 otherhost 23 &
	$ telnet localhost 2000

tkftp
    description: graphical FTP client
    author: Pascal Jermini 
    ver: 1.0.2
    license: GPL
    http://a.trevano.ch/~jermini/tkftp/
    tsp hacks:
	add exec line; change TKFTP_LIB_DIR to use env(TKFTP_LIB_DIR);
	reduce sizes of listboxes to shrink overal size


-------------------------------------------------------------------------------
---irc/mud

dirc
    description: Internet Relay Chat program
    author: Kemal Hadimli 
    ver: 1.5
    license: Copyright
    http://metalab.unc.edu/pub/Linux/system/network/chat/irc/
    tsp hacks:
	make main.tcl the dirc command, with exec lines
	include all library source inline
	change logdir to {} to avoid logging
	change nuke array to empty

netplug
    description: irc chat, go client, with plugins
    author: Laurant Demailly 
    ver: 0.62
    license: Copyright
    http://www.demailly.com/~dl/netplug.html
    tsp hacks:
	cause [source script] to read real file
	use NETPLUG_PLUGINS as dir for zero.dat in irc.pli
	touch orignal *.pli names so that main prog can find them

mmucl
    description: Mark's MUd CLient, Mmucl (pronounced muckle)
    author: Mark Patton 
    ver: 1.2.0
    license: GPL
    http://idt.net/~tmtr01/mmucl/
    tsp hacks:
	remove xterm & console interfaces; use interface/tk.tcl as 'mmucl'
	main program; replace nice tkinfo help system with ugly xterm (tkinfo
	is just too big for mulinux/tcl-to-go)


-------------------------------------------------------------------------------
---web

august
    description: HTML editor
    author: Johan Bengtsson 
    ver: 0.42
    license: GPL
    http://www.lls.se/~johanb/august/
    tsp hacks:
	changed exec line

neowebscript-sa
    description: HTTP web server, with Tcl based scripting
    author: George Porter 
    ver: 1.1
    license: Copyright
    http: http://www.neosoft.com/neowebscript-sa/
    tsp hacks:
	added exec line; changed conf/httpd.conf to recognize environment
	variables to set configuration; changed source location of httpd.conf;
	changed index.html to reflect new environment vars.
	remove pid file on exit.
    notes:
	if the server doesn't start up (socket: can't bind to address), you
	probably have the muLinux pygmy web server running.  either kill
	the pygmy server, or start neowebscript-sa with a different port:
	 	$ HTTP_PORT=8000 neowebscript-sa &
	then, connect to it with chimera or quark as http://localhost:8000/


-------------------------------------------------------------------------------
---news/mail

vmail3

    description: tkapps: vmail3 - mail client (/w pop3) & newsreader, vedit, 
	vbiff, fm - file manager
    author: John Willem van Gulik 
    ver: 3.2.4 (vmail3 version)
    license: GPL
    http://infoweb.magi.com/~jvgulik
    tsp hacks:
	change exec lines 
	removed: vvac, vquery, showhtml, vshow, vprog, logview, vfile, vdb, vdir
	lib/tkapps/lib/config.tk  - set smaller fonts; rename some buttons 
	on mail menu bar to be smaller
	change .au files in tkapps/sounds to be tiny
	change system.tk - just use plain 'df', not -k for Linux
	many hacks to vprocs.tk, news.tk: add pattern matching for list of
		newsgroups, remove unsubscribed news groups, numerous bug 
		fixes; added check reconnect to newsserver

    notes:
	use vmail3 for both email and newsreader; to set a POP3 mailbox, use
	userid@pophost as the mailbox name, where 'userid' is your POP3
	user id, and 'pophost' is your POP3 host machine.

	news can be a little cranky, e.g. if you select 'show all messages' with	an open newsgroup, then you must re-open that group to show the effect.

	John's email & home pages don't seem to be at maji.com any longer :(
	I haven't been able to contact him.


-------------------------------------------------------------------------------
---games

mines
    description: mine sweeper, clear all the mines without stepping on one 
    author: Neil Johnson 
    ver: 27/10/97
    license: Copyright
    http://members.xoom.com/Neil_Johnson
    tsp hacks:
	changed exec line
    
tetris
    description: tetris, the game of falling blocks
    author: Jeffery Hobbs 
    ver: 3.2
    license: Copyright
    http://www.hobbs.wservice.com/tcl/script/
    tsp hacks: 
	none

hextris
    description: a devilish version of tetris with hexagonal shapes
    author: Jeffery Hobbs 
    ver: 1.1
    license: Copyright
    http://www.hobbs.wservice.com/tcl/script/
    tsp hacks: 
	none

breakout:
    description: classic breakout
    author: Donal K. Fellows 
    ver: 11/1/1996
    license: Copyright
    http://www.cs.man.ac.uk/~fellowsd/tcl/#tclets
    tsp hacks:
	added exec line
	adapted from tclet

hexplode
    description: strategy game 
    author: Neil Winton 
    ver: 1.2
    license: Copyright
    http://www.winton.freeserve.co.uk/tcl/hexplode.html
    tsp hacks:
	adapted from tclet

videopoker
    description: video poker 
    author: Joseph A. Konstan 
    ver: 1.0
    license: BSD style
    http://www.cs.umn.edu/Research/GIMME/video-poker.html
    tsp hacks:
	made window slightly smaller; use default mostly fonts
	adapted from tclet
	
solitaire
    description: classic solitaire
    author: Michael J. McLennan 
    ver: 1.0
    license: Copyright
    http://www.tcltk.com/training/plugin/solitarie.vet
    tsp hacks:
	made window slightly smaller
	Michael contributed the full non-tclet version


-------------------------------------------------------------------------------
---utilities

incant
    description: Dictionary client
    author: Chris Allen 
    ver: 1.5
    license: GPL
    http://www.turf.org/departments/publishing/incant/
    tps hacks:
	allow use of DICT_HOST & DICT_PORT environment variables
        instead of default 'dict.org' and '2628'.
	don't use bold fonts

stopwatch:
    description: simple stopwatch
    author: Don Libes 
    ver: 1.1
    license: Copyright
    http://www.mel.nist.gov/div826/src/stopwatch/
    tsp hacks:
	changed exec line

md5
    description: compute the RFC 1321 MD5 Message Digest of a file or string
    author: Don Libes 
    ver: 1.0
    license: Copyright
    http://expect.nist.gov/md5pure/
    tsp hacks:
	i made a very simple interface, usage:
		md5 "some string value"    	# md5 of a command line argument
		md5 -f filename			# md5 of a file
		md5				# enter message in text box

fm 
    description: simple file manager, mime aware 
    see: vmail3 (tkapps) under news/mail

maplot
    description: plot the sun's postition on the earth
    author: Matti Koskinen 
    ver: 1.0
    license: Copyright
    http://www.sci.fi/~mjkoskin/
    tsp hacks:
	changed exec line
	adapted from tclet
    
starmap
    description: zoomable view of our closest stars
    author: Sarang 
    ver: 1.0
    license: Copyright
    http://www.sarangworld.com/TCL/starmap.html
    tsp hacks:
	changed exec line; make initial window smaller
	adapted from tclet

    notes:
	hold button-1 to drag map around
	use mouse button-2 to zoom in  (or shift-button-1,      must stop with)
	use mouse button-3 to zoom out (or control-button-1,     other button!)

	polaris (the north star) is the topmost star, ursae majoris (the big
	dipper) should be visible below polaris.


mmencode
uuencode
uudecode
    description:  base64 mmencode, standard and base64 uuencode/uudecode
    author: Steve Ball 
    ver: 1.0
    license: BSD
    http://www.zveno.com
    tsp hacks:
	taken from Steve's Tcl web browser, Plume. i added argument processing,
	code to implement '-q' for mmencode, and added in the code for
	uuencode/uudecode routines.
	tclsh based, does not link to STARTUP.SH, but does look for $TCLTKLIB
	to file lib files.
	for vmail3 support

uniq
head
rmdir
    description: simple implementations of these commands 
    author: Tom Poindexter 
    ver: 1.0
    license: Copyright
    http://www.nyx.net/~tpoindex
    tsp hacks:
	for vmail3 support
	tclsh based, does not link to STARTUP.SH


-------------------------------------------------------------------------------
---graphics

impress
    description: object oriented graphics drawing
    author: Christopher Jay Cox 
    ver: 1.0b
    license: GPL
    http://www.ntlug.org/~ccox/impress/index.html
    tsp hacks:
	remove many hardcoded fonts, most are not on muLinux
	change Global(Font)
	include tkfontsel.tcl from impress_complete
	
tkpaint
    description: object oriented graphics drawing
    author: Samy Zafrany 
    ver: 1.5.4
    license: GPL
    http://www.ice.ru/~vitus/misc/tkpaint.html
    tsp hacks:
	make window geom slightly smaller
	Victor B. Wagner  is the Unix port maintainer
	change font specifications, avoid bold

ldsdraw
    description:  Logical Data Structure(LDS) modeling software
    author: Alex Safonov 
    ver: 5.0a
    license: BSD style
    http://www.cs.umn.edu/~safonov/ldsdraw
    tsp hacks:
	fix exec line; move extra files to /usr/tcltk/lib/ldsdraw; make initial
	screen geometry smaller & remove placement; allow showhelp to use
	gl(home) path; touch ldsobj.tcl lib file to allow startup.


-------------------------------------------------------------------------------
---development

tkcon
    description: enhanced console for Tcl
    author: Jeffery Hobbs 
    ver: 1.6
    license: Copyright
    http://www.hobbs.wservice.com/tcl/script/tkcon/
    tsp hacks:
	none

vtcl
    description: visual tcl application development
    author: Stewart Allen 
    ver: 1.2.0
    license: GPL
    http://www.neuron.com/stewart/vtcl/
    tsp hacks:
	added exec line;
	hack vTcl:load_lib to look for .gz lib file;
	compressed lib files, but had to touch lib_*.tcl files to make things
	work
	
tuba
    description: debugger for tcl applications
    author: John Stump 
    ver: 2.4p1
    license: Starving Artist Artistic License; see lib/tuba/LICENSE.TXT
    http://members.xoom.com/iliadtools/tuba
    tsp hacks:
	remove TclparserX.tcl, make link to Tclparser.tcl; remove examples;
	remove docs;
	set tubalibdir to $env(TUBA_LIB); make window geom slightly smaller
	lib/tuba/tuba_lib.tcl doesn't like to be compressed


-------
enjoy!
-------