string map {R ri O co Q de Z fe I it W ma L il} ZQRO.ZrR.I@gWL.OmRandom notes: Linux user since 1998. I'm into Computer Science Engineering. I like to play with electronics, and music, and I like mixing the two things together, that's why I own some music synthesizers and sporadically build some of them (or related accessories). I play piano. My works is concerned about Linux and scripting. I am slowly moving to Tcl to be the official scripting used in our systems.My projects:
- ResistorFinder: an utility to quickly find resistors of a specified value, by trying singles, series and parallel combinations, highlighting the better matching one
- MimeTexPreview: embedding TeX formulas into Tcl canvas
- MimeTexBuffer: as above, plus interactive editing [experimental!]
- Periodic Table of Chemical Elements with clickable elements. A tiny example of tDOM/XPath usage.
- TrackerWidget: a grid/table/spreadsheet like widget
- HexEdit - an hexadecimal editor (really just a demo of some TrackerWidget's features)
- TemplaTcl: a Tcl template engine suitable and designed for web page generation (it embeds nicely (and inline!) into HTML/XML documents; WYSIWYG-editor friendly). Really has unlimited uses: I use it also for code generation.
- KeyboardChords: a simple keyboard chords generator
- PhysicsPlayground: playing with physics (mechanics)... a little demo
- GetOpt-ish: my GetOpt'ish library for parsing command line options in GNU style
- TheTwine: a little game where a bunch of dots are connected by a continous line, and you have to tidy up the mess
- MazeSolver: the simplest maze-solving algorithm. how a better algorithm could work?
- TkPipes: the (in)famous game :P
- (another) command profiler: profiler which measures time of single commands, instead of timing procs
- a checkpoint-based profiler: hoping this fullfils the lack of (another) command profiler, and it should have less overhead
- Graphs: BFS an DFS animated demo: an animated demonstration of BFS/DFS over a connected graph.
- Graphs: Dijkstra animated demo: an animated demonstration of Dijkstra's algorithm for finding the minimum cost path over to all edges of a cyclic graph.
- DataflowCanvas: trust the name - it's a DataFlow canvas
- FF colorpicker: a multi-mode (actually: presets, HSV) color picker megawidget
- Canvas moving objects and toggle tags is a very minimal example on how to make interactive objects in canvas with few code. Relevant features: moveable canvas objects, mouse hover changes style, middle click toggle (moveable) tag.
- Widget Hiding as opposed to Widget Overloading started as a simple widget with a Tk-like programming interface (would you call that gadget?) but now it's seriously taking the form of a real useful widget. Stay tuned
- Operations research - Simplex Algorithm is about linear programming problems
- (buggy) iris animation -- how to solve such a z-index problem?? It's like the Escher's Infinite Staircase
- XChat Plugins -- I use XChat and occasionally I write plugins -- (how to: simply put pluginname.tcl into $HOME/.xchat2/ and restart xchat or type /reload)
set ::nicks_to_keep {FEDE31C0 federico__}
set ::nickserv_pw "xxxxxxxxxxxxxx"
timer -repeat 30 {
if {[lsearch -exact $::nicks_to_keep [me]] == -1} {
set nick_to_keep [lindex $::nicks_to_keep 0]
/msg NickServ RECOVER $::nick_to_keep $::nickserv_pw
/msg NickServ RELEASE $::nick_to_keep $::nickserv_pw
/nick $::nick_to_keep
/msg NickServ IDENTIFY $::nickserv_pw
print "keepnick.tcl: recovered your nickname"
}
}ChatMap.tcl: list all channels people are in, in addition to current channelset chatmap_chanlist [list]
set chatmap_whoisf 0
set chatmap_timerid -1
on 319 channel_list {
if {$::chatmap_whoisf} {
if {[timerexists $::chatmap_timerid]} {
killtimer $::chatmap_timerid
}
set ::chatmap_timerid [timer 5 {
set ::chatmap_whoisf 0; process_chans_end
}]
process_chans [lindex [split $_rest :] 1]
}
}
proc process_chans_begin {ul} {
set ::chatmap_chanlist [list]
set ::chatmap_whoisf 1
foreach u $ul {/whois $u}
}
proc process_chans {l} {
foreach chan $l {
if {[lsearch -exact $::chatmap_chanlist $chan] == -1} {
lappend ::chatmap_chanlist $chan
}
}
}
proc process_chans_end {} {
print "channels found: $::chatmap_chanlist"
}
alias channelspy {
set fields [lindex [users] 0]
foreach record [users] {
if {$record == $fields} {continue}
lassign $record {*}$fields
lappend r $nick
}
process_chans_begin $r
complete
}Quote:There are never any bugs you haven't found yet.[anonymous poster] - I thought, when I first saw the title of this page, it was going to be about Marvel's "Fantastic Four"... sigh. Wonder if Reed Richards embeds Tcl into his devices to beat Doom, etc.escargo - Wouldn't an extension of a different existing language be more likely, namely Fantastic Forth?

