This site contains selections of my papers, presentations, and
software that I have been able to make publicly available (and have gotten
around to posting).
Stephen Uhler, December, 2011
- Versions of publically released software I have developed
- Several little Android projects at code.google.com:
- A port of the Brazil web framework to Google AppEngine.
This also includes a virtual filesystem built on JSO, new templates to access Google services (e.g Picassa), and the
ability to change the content and configuration of the server(s) dynamically without needing to re-deploy.
- Solaris Audio interface for TCL.
This is a TCL loadable module to provide access to Solaris audio. I
wrote it years ago as part of a rewrite of PhoneStation, and just got
around to getting it "released".
- TkIaxPhone, a
cross-platform soft (VOIP)
telephone using the Asterisk IAX protocol written C and Tcl/Tk.
It is included as part of the iaxclient library.
I have a newer version packaged using
as a windows executable
here, and a more recent OSX
- Although I never got around to actually releasing it, An online
version of SLIM, the Sunlabs Instant Messenger is (usually) running
here. There is
secure version of the same thing running here
This was written for Netscape 4.X and IE 5, so the markup is a
bit outdated for modern browsers. Someday I'll update it.
A much older version was included as a demo in the Brazil stuff.
I've spent some time bemoaning the state of web programming, and
UC1 - the first prototype
of the "Universal Client", is a browser that supports "UCML"
(universal client markup language) instead of HTML/CSS etc. It is
targeted at JSR62 - Java for hand-helds (but runs on desktops too).
- I wrote an interactive web based interface to the Asterisk "meetme"
conference, which I presented at Astricon (see below). The system
is available in the "samples/conman" directory in the Brazil
framework, 2.3 release. I'm slowing working on making a much improved
version available at
Kenai. Stay tuned.
- The Brazil Web Application Framework
version 2.2 developer documentation in pdf).
The latest version of Brazil is currently living at
Where you can fetch the latest
checkout the source code.
- SpecTcl/SpecJava (windows version 0.3)
(Unix version 0.3). A graphical user interface builder, written in
Tcl/TK, for Tcl, Java, Perl ...
- Tcl/Tk HTML library.
A Tcl library for rendering HTML2.0 using the TK text widget.
- Phone Station.
A telephone and interactive voice response system for Sun workstations.
A software MIDI synthesizer for Sun workstations, written in C,
with a GUI for controlling the synthesis in real time (written in
- IMG The Incidental Music Generation
system. Originally written by Peter Langston. I repackaged and
updated the system. Released by permission of Peter and Bellcore.
(Someday I'll get around to posting the update to the updated
version, which works with the updated-but-not-posted version
- The MGR window system.
A complete window system written in "C", originally build for
(Someone wrote a
At its "open source" release in January 1989, it was
(and probably still is)
the largest post ever made on
- Radio Free Ethernet. A small C
library with applications I developed at the dawn of time
to enable telephone quality
audio on the Internet. that formed the inspiration for the
radio command that ships with Sun's Solaris.
- Some talks (pdf)
On October 26, 2006, I presented
ConMan, a Web based Conference Manager for Asterisk
, and an abbreviated version called
O'reilly Etel Conference.
The conferencing system is available as open source: it is included
as part of the
Web Framework, release 2.3.
On Jan 24 2006, I gave an abbreviated version of the
Astricon "Auto-Provisioning" talk
O'reilly Emerging Telephony Conference.
I presented two talks at the
2005 Astricon conference
Auto-Provisioning VOIP phones with Asterisk
Experiences running Asterisk in a Corporate Environment: a
Phones, Firewalls and FUD.
This is a talk I gave about
VOIP at the
The Enterprise PDA project and the Universal Client.
These are some slides I've used for quite a few internal talks;
this set has been cleared for external release.
The BRAZIL Project: a Future Vision for the Web, and Some Tools to
Presented at Java-One, June, 2001.
OpenCard and Web Applications
Presentation slides for the OpenCard Consortium Technical Meeting,
In Search of the Perfect MegaWidget
Presentation slides, 4'th Tcl/Tk conference, July, 1996
- Slides from the
Tcl and Tk
Advanced Tutorial, by Stephen Uhler and Brent Welch, at the
January, 1996 Usenix Technical Conference.
- I gave an invited talk at the
Summer 1993 Usenix Technical conference
on elementary Digital Signal Processing (DSP).
The slides for the presentation are here:
DSP 101, Sound programming for your Workstation
This talk used SparcOmatic to
demonstrate the DSP techniques.
- Some papers (pdf)
Design and architecture of the Brazil Web Application Framework
Sun Labs 10-year Retrospective, October, 2001.
- In Search of the Perfect Megawidget
1996 Usenix Tcl/TK workshop
- A Graphical User Interface Builder for TK
Abstract of a paper presented at The 1995? TCL user's group
conference that describes an early version of SpecTcl.
PhoneStation, Moving the Telephone onto the Virtual Desktop
1993 Usenix Technical conference, January, 1993.
(See also the
PhoneScript reference manual).
A copy of the slides for (a slightly different) presentation of
the paper are
$HOME MOVIE - Tools for Building Demos on a Sparcstation
Usenix Technical Conference, January, 1991.
MUI: A Windows Based User Interface for Multi-Media Mail.
Bellcore Special Report SR-OPT-002130, November, 1991.
MTX - a Shell that Permits Dynamic Rearrangement of
Process Connections and Windows
Usenix Technical Conference, January. 1990.
- Mgr Window System Reference Manual
- The Design and Architecture of the Mgr
- Articles I have written
6,889,329 Adding secure external virtual memory to smart cards
6,877,094 Method and apparatus for authentication and payment for devices participating in Jini communities.
Universal smart card access system.
System and method for delivering parking information to motorists.
Method and apparatus for dynamically adding functionality to a set
of instructions for processing a web document based on information
contained in the web document.
Method and apparatus for providing modular I/O expansion of
Architecture for building web applications.
- Other Links
A Walk Through the Sun Labs Open House.
This has a paragraph explaining some of the telephony stuff
I've been playing with.
It's Come to This - http://www.myfridge/check_ice.html
Feature story, Sun Microsystems Laboratories. March, 2001
(I have some pictures here).
Sun Research Brazil Project
Dr. Dobbs, technetcast, November, 2000
Brazil Project: The Future of Web Application Development
Feature Story, Sun Microsystems Laboratories.A August, 2000.
(also see here)
How handlers work in Web-accessible home automation
The first of a five part series in JavaWorld magazine, beginning May
- SpecTcl at
source forge, the "community" version of the SpecTcl GUI builder.
Hello? Can You Here Me?Abstract for a presentation on incorporating
real-time audio onto the Web. (1994)
- MGR HOWTO
Information on MGR for Linux.
- Here is an
article written about MGR
VITA Journal, where
"the MGR graphic system has been ... Submitted to the VITA Standards
Organization as a standard graphic system for embedded applications."
- I co-authored the original version of
The TCL web server.
with Brent Welch; It has since been extended by many.
- Other Activities
- I wrote the firmware for the
that lives on the
SunSpot demo sensor board.
Some of my
SunSpot demos are here.
- I've been tinkering with the Lively Kernel,
and hope to be able to spend more time with it.
- I served on the technical advisory board for
Niku Corporation for a while, and for
- I designed and built the original
web site. Although that site is long gone, It had a nifty GIS
system that allowed you to drill down on a map of the USA to any public
elementary school in the country. You can sort-of get the idea
set of images that demonstrate
drilling down through a series of steps to an elementary school in
I'll find the real paper some day.
(This server is running Brazil on a 600mhz mini-itx compact-flash based
"Puppy" linux system)