A few projects:
Will Dye was interested in my ~/.tclshrc so here it is:
rename unknown _unknown proc unknown {args} { global that if {[catch {expr $args} temp]} { uplevel 1 [concat _unknown $args] } else { set that $temp } } proc file.data f { set fd [open $f r] set data [read $fd] close $fd return $data } proc sum args { set n 0 foreach a $args { set n [expr {$n + $a}] } return $n }Example usage:
% 1 + 2 + pow(2,20) 1048579.0 % sum 1 2 3 4 5 15 % file.data .xinitrc ...
Pages are rated on a scale of 1-10 based on how satisfied I am with the result.Applications/Tools
- A General Filter Mechanism
- A Hash Table in Tcl
- A Hashing Trie in Tcl
- A Little Access Log Viewer 8
- A Little Make Replacement 9
- A Money Package
- A Program That Learns
- A Tcl_Obj Command Machine Code Generator
- A tiny primitive x86 compiler
- A tiny URL extractor 8
- An Audio Server
- Changing a Recursive Algorithm into a Linear Algorithm
- Coop2 - A Compiler and Language
- Directory Tree Synchronization 10
- ed2
- Fed Builder 9
- gnuJ lraC
- Grindweb 9
- GPS RPN 5
- gxv 6
- Panache 9.5 (the new version in Smalltick and Moogatick is great)
- ProcMeUp 10
- stack-based calculator 5
- Shading a Plane With Light
- Smalltick 9
- tickmake 9 (see also: A Little Make Replacement)
- Tickmassfiler 8 (I use it almost every day)
- megapkg structure extension 9.5 (it could just use a feature or 2 more)
- Memory Usage Pattern Graph 9
- Whim window manager
- Tclas - an assembler
- Tracking Filesystem Changes
- YAXMLP an XML parser
- 3D Text for Tk in Unix 5 (hack)
- Adding Tk to an Existing Xt Program 5
- bz2:compress and bz2:decompress 5
- DancingRoot 7 (has a bug with redrawing that I can't fix, because it's based on a hack to expose Tk privates)
- Drawing Into Foreign Windows
- Extending Tcl 6
- get_ints_from_objs 9
- GWImage 6 (needs more image types, and now I'm leaning in a different direction for image handling)
- mem_to_obj 9
- Mixing Tcl/Tk and Xt Event Loops 7
- obj_to_mem 9
- RPN C extension for Tcl
- security:encrypt and security:decrypt
- Tk_Theme 5 (has some bugs that I wasn't able to fix in translucency)
- Tk_SetWindowBackgroundPixmap
- Tk_Xpm 8 (worked well for a project that I never use anymore *cough*)
- TkXext 9
- Unix Terminal Extension 8 (could use some various tidbits to make it more powerful)
- Using Xlib With Tcl/Tk
- 2D Integer-based Rotations
- After Task Scheduler
- An Alternative to Namespace
- Building Stand Alone Executables in Unix (I recommend TclKit and Starkits nowadays)
- Creating a World
- Drawing Gradients on a Canvas 9 (this was very fun)
- Getting the Canvas View Area in Pixels 8 (used for my game The Adventures of Baldo the Alien)
- IA-32/x86 assembler in Tcl
- Inheriting Widget Binding Classes
- Internal Movable Windows
- megaimage tutorial
- memory file system
- Profiling Tcl by Overloading Proc
- Structure Hiding Pros and Cons
- tclsh as a powerful calculator
- Text Widget Newline Wrapping
- Threaded Code Tcl VM
- Tips for writing quality Software
- Why factoring is important
- Zero-Defect Software Development
- ?append 9 (saved me from some bugs)
- ?set 9 (saved me from some bugs)
- alternate.listbox.colors
- flash.listbox.selection
- safe.eval
- terminal:password:get
- to.binary
- A Little Hex Editor Widget
- clistbox
- cscrollbar
- ctable
- ctext 8 (people seem to use this more than any of my other projects. It could use some redesign, but I'm focused now on other solutions involving Smalltick.)
- Smalltick DrawingEditor 8
- Panner 9 (nice fun project that I planned out)
- scrolled.frame 7 (this should be redesigned, but it works)
- Smalltick Widgets with Inheritance 9 (This has been planned well, and I like it so far.)
- TextField widget design
- widget:colorDialog
- widget:entry
- widget:repeaterButton
- widget:resizeHandle
old -- work in progress
- A Tcl Compiler Idea
- A Tcl parser in Tcl
- aged
- cobj
- Compiler-directed Flow
- diff
- dos2unix
- KDE
- kill_all.tcl
- Lambda the Ultimate
- ObjectProc
- Overloading Proc
- Places to find research papers
- Playing Smalltalk
- Rotating a Tk Photo Image
- Scrolling Widgets With a Scale
- tarball
- tgz
- The delight of sharing
- The Strange World of Programming
- Thoughts on Examples
- Toggling a Boolean Variable