Version 79 of Andy Goth

Updated 2012-12-29 18:26:07 by Jorge

At a Glance

Preferred name Andy
Alias Unununium
Full name Andrew Michael Goth
Short name AMG
Others UUU, 111, EleventyOne
Email address mailto:andrew.m.goth/AT/gmail/DOT/com
Web address http://andy.junkdrome.org/
Facebook profilehttp://facebook.com/andygoth
Facebook page http://facebook.com/an.onion.yum
Home address Midlothian, Texas, USA (south of Dallas)
Interests
Programming Tcl/Tk, C, C++, Ada, Fortran, Python, Perl, bash, csh
Music listening OverClocked ReMix [L1 ]
Music performance LSDj on the Game Boy [L2 ], FL Studio [L3 ], guitar, piano
Video games Speed Demos Archive [L4 ], TASVideos [L5 ], Let's Play Archive [L6 ]
Photography Nikon D7000, The GIMP [L7 ], UFRaw [L8 ]
Current employment
Senior Software EngineerL-3 Link Simulation & Training [L9 ], starting 2005
Landlord Del City, OK, and Waxahachie, TX
Education
BS CSE University of Texas at Arlington (UTA), 2001-2005
Master of SE University of Texas at Arlington (UTA), starting 2013
Past employment
Developer/stock boy RLE Technologies [L10 ]
Birthdate 20 November 1983

Pictures

http://andy.junkdrome.org/andy-portrait.png

This photo is from my senior year in high school. That was a while ago. Maybe I'll scan in something newer someday.

http://andy.junkdrome.org/avatar.png

I frequently use this as an "avatar" image on forums, etc.


Projects Using Tcl

itunesdb
Snit-based iTunes database reader. Useful with iPods.
tclpod
iPod music browser. Lists and copies music files from any iPod. (Might never materialize...)
OpenVerse Visual Chat
Internet chat program. My favorite project.
Manos
Tcl operating system. What fun!
joust
Networked chess-type game. School assignment.
tcptty
Access your serial ports over TCP. Hooray.
multissh
Execute commands on multiple hosts at the same time. Supports stdin, stdout, and stderr!
Lab 3D
[Canvas]-based 3D viewer. Another school assignment.
chime
System for driving church bells.
timeentry
See [timebox] at the bottom of the page.
sproc
A static-enabled proc which doubles as a miniature object system.
Wibble
Yet another small, pure-Tcl web server.

If you're interested in a project listed above for which there is no page, ask me about it in email. Oh wait. Heh, guess you'll just have to post a request on this page. Go ahead; I won't mind.


Other Junk I Wrote

interleave
Joins parallel lists into a format suitable for [array set].
lcomp
Utility for obfuscating otherwise-comprehensible list operations.
Sorted Lists
A sordid story of sorting sorcery.
unsort
Reads stdin, shuffles the line order, and spews the result to stdout.
Shuffling a list
I seem to have a fixation on sorting and unsorting...
Round Polygons
So soft, so smooth!
The simplest possible socket demonstration
It's even easier than it looks.
execline
A language with no resident interpreter!
AMG's language ideas
Just a few things been runnin' through my head...
Directory recursion
Quite easy in Tcl 8.5.
null
I apologize for giving you all such a hard time.
grok
A configuration file reader with infrastructure!
csv
Yet another CSV reader.
Chain simulation
A fun toy.
Mahoney Map
An alternative to Karnaugh Maps.

I need to update this list someday...


Comments

thx for formatting my stuff!

JM Andy, thanks for your contributions to this wiki...and for cleaning up my page (^:

JM I am trying to run your cgi script "site.tcl", which other files do I need to setup, and, how should I call this script? (query parameters I mean), thanks for your help.

AMG: This one [L11 ]? That was designed to work within Apache with these settings, which I put in .htaccess:

# Enable URL rewriting.
RewriteEngine on

# Update some obsolete URLs.
RedirectMatch permanent ^/*~andy(/.*|$) http://andy.junkdrome.org$1
RedirectMatch permanent ^/*gimp/jpg(/.*|$) http://andy.junkdrome.org/gimp/jpeg$1

# Canonicalize the hostname.
RewriteCond %{HTTP_HOST} !=andy.junkdrome.org
RewriteRule ^(.*) http://andy.junkdrome.org/$1 [R=permanent,L]

# Just let Apache send/process the file if it already exists.  This rule also
# prevents an infinite rewrite loop, since the rewrite maps to an existing file.
RewriteCond %{REQUEST_FILENAME} !-f

# Generate all directory listings, phony files, etc. with a script.
RewriteRule ^ /cgi-bin/site.tcl [L]

# Hide dotfiles.
<Files ~ "^\.">
    Order deny,allow
    Deny from all
</Files>

Also, it's about four years old and should updated or replaced with Wibble. I could probably make a version of Wibble that runs as CGI... Anyway, you will need to read the script to see how it's hard-coded for my site and make updates as necessary. You'll want to make ".desc" files which are simply lists of three-element lists consisting of a title, a [clock seconds] time, and templatized HTML.

If you do anything with the script, consider writing a wiki page on it.

JM 12-24-2012, I will, thanks again.

JM 12-28-2012: Andy, the only thing that it is not working in my configuration is that I am keep getting the .files being shown in the listings...(i.e. .htaccess and .desc) Is the htaccess's "Files" block taken into account by the script to show or not to show the .files? (I understand this configuration affects Apache listing only)

AMG: [glob *] skips dotfiles, at least 8.5.2's [glob] does. (8.5.2 is what's on the server. Been there since Christmas 2008.) For your [glob] to list dotfiles, you must not be running on Unix.

The script doesn't know anything about .htaccess files.

JM right, I am using Windows XP. I will move these comments to a dedicated wiki page as it may be useful for others.