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 (moved to
Github):
- 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
freewrap,
as a windows executable
here, and a more recent OSX
universal binary
here.
- Although I never got around to actually releasing it, An online
version of SLIM, the Sunlabs Instant Messenger is (usually) running
here. There is
sometimes a
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
the complexities of HTML/CSS/Javascript et. al. for building
"applications" with.
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
Project Kenai
Where you can fetch the latest
downloads
or
checkout the source code (or the version running this site cached here).
- SpecTcl/SpecJava (windows version 0.3)
SpecTcl/SpecJava
(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.
- SparcOmatic.
A software MIDI synthesizer for Sun workstations, written in C,
with a GUI for controlling the synthesis in real time (written in
Tcl/TK).
- 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
of SparcOmatic).
- The MGR window system.
A complete window system written in "C", originally build for
Sun-120 workstations.
(Someone wrote a
wikipedia entry).
At its "open source" release in January 1989, it was
(and probably still is)
the largest post ever made on
comp.sources.unix
- 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
at
Astricon.
, and an abbreviated version called
Going Deeper
at the
O'reilly Etel Conference.
The conferencing system is available as open source: it is included
as part of the
Brazil
Web Framework, release 2.3.
-
On Jan 24 2006, I gave an abbreviated version of the
Astricon "Auto-Provisioning" talk
at the
O'reilly Emerging Telephony Conference.
-
I presented two talks at the
2005 Astricon conference
in Anaheim:
Auto-Provisioning VOIP phones with Asterisk
and
Experiences running Asterisk in a Corporate Environment: a
Beginners Tale
.
-
Phones, Firewalls and FUD.
This is a talk I gave about
Asterisk and
VOIP at the
Sunlabs Openhouse.
-
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
Get There.
Presented at Java-One, June, 2001.
-
OpenCard and Web Applications
Presentation slides for the OpenCard Consortium Technical Meeting,
January, 1999
-
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
(intro)
Sun Labs 10-year Retrospective, October, 2001.
- In Search of the Perfect Megawidget
(cached)
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
here
.
-
$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
October, 1994.
- The Design and Architecture of the Mgr
Window system
1991?*
- Articles I have written
- Patents
-
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.
-
6,748,532
Universal smart card access system.
-
6,694,259
System and method for delivering parking information to motorists.
-
6,308,198,
5,845,075
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.
-
6,286,060
Method and apparatus for providing modular I/O expansion of
computing devices.
-
7,089,560
Architecture for building web applications.
- Web guided collaborative audio
(US8526587).
This was kind'a cool, but you can't tell from the patent writeup.
I incorporated Conman (and Asterisk) into a Wiki. When you navigated
to a particular topic, you would automatially enter an audio conference
related to that topic, along with anyone else who was on the same page.
The VOIP client was written in javascript, so no special sauce was
required. If you were the only one in your topic, you could hear
"murmurs" of conversations in nearby topics, encouraging you to
join them. At least that was the plan.
- 10491581Wireless Network Access.
- 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
(cached)
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
, 2000.
- 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)
[cached copy]
- MGR HOWTO
Information on MGR for Linux.
- Here is an
article written about MGR
(cached)
in the
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
Atmega/88 microcontroller
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
Volunteer Match.
- I designed and built the original
NetDay
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
here.
Here is
set of images that demonstrate
drilling down through a series of steps to an elementary school in
Manhattan.
*
I'll find the real paper some day.
(This server is running Brazil on a Raspberry PI4)