Version 326 of George Peter Staplin

Updated 2008-04-28 03:58:13 by GPS

I started using Tcl about 9 years ago. I started playing with Tcl and Tk back then. My first programming language was TI Extended BASIC for the TI-99/4A. I've been using computers since I was about 2 years old.

I found out what Tcl really was via a magazine interview with John Ousterhout in Linux Journal. I found it interesting. Before I thought Tcl was tclsh -- just another shell like bash or tcsh. Now I see Tcl as much more.

I started off trying to create a game with a friend. It was called the Island Project (a Myst-like game) with images rendered in the Blender (back when it was a commercial product -- I even bought a C-key). I was still learning about Unix/Linux at the time. It was quite an adventure.

I started to learn C just so that I could extend Tk to make it faster for the game. I never completed the game, but some useful projects resulted. Now, many years later, I'm told that I'm a good C and Tcl programmer, so I'm now a Tcl core developer/maintainer.

My biggest project is probably NexTk (needs a better page), followed by Whim. I have a collection of code called megapkg that is the base for NexTk and Whim.

These days I do volunteer work during the work week. I mostly do billing/accounting work. It keeps me busy. I'd really like an awesome programming job. I could use more fun projects, and challenges.

These are 2 patches that I want to get integrated into Tcl 8.6 sometime soon (I put them here so that I don't forget): http://www.xmission.com/~georgeps/tmp/tclGPSTSD-10.patch http://www.xmission.com/~georgeps/tmp/tclExecute_TimeTable.diff9 (MS has a newer patch that may improve accuracy in the patch tracker)


To roar without jackals. To be a beast without a field. To be a human without humanity.

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

C Extensions/Tools

Techniques

Useful Tcl Procedures

Widgets

Fluffery


old -- work in progress

T

U

W

Z


Category Home Page :: Category Person