topics

RMS Essay: Come Celebrate the Joy of Programming, with the World's Most Unbureaucratic Computers.

This is an essay written a while ago (1986 or so) by Richard M Stallman (RMS), about his experiences at the MIT AI Lab, and the story of the Lisp Machine Wars.

Machine Room Folk Dance, Thursday at 8pm.
Come Celebrate the Joy of Programming,
with the World's Most Unbureaucratic Computers.
(There were only five of us dancing, but we had a good time.)

My first experience with computers was with manuals for various languages that I borrowed from counselors at camp. I would write programs on paper just because of the fascination of the concept of programming. I had to strain to think of what the programs should do, because I had nothing to supply me with a goal except that I wanted to program. I wrote programs to add up the cubes of a table of numbers in several assembler languages at various times.

The first actual computers I met were IBM 360's, at the IBM New York Scientific Center, when I was a student in high school. There I quickly developed interest in language design, operating systems and text editors. Hired for the summer to write a boring numerical analysis program in Fortran, I surprised my boss by finishing it after a couple of weeks and spent the rest of the summer writing a text editor in APL.

I also quickly manifested a lack of proper reverence for authority. The whole center had been denied access to the IBM computer in the building, and we had to use slow telephone connections to the Cambridge Scientific Center. One day an IBM executive came to tell us about the work various IBM scientific centers were doing, and finished with, "Of course you all know the important work being done here." I asked him, "If our work is so important, why can't we use the computer in this building any more?" After the meeting, my friends told me they had wanted to say such a thing but were afraid of reprisals! Why? Certainly nothing happened to me as a result. They seem to have learned the habit of cowering before authority even when not actually threatened. How very nice for authority. I decided not to learn this particular lesson.

Laszlo OPML Drupal Taxonomy Site Map Browser

Here's a simple Laszlo application, based on Max Carlson's tree control from myLaszlo. It's an OPML Browser that lets you browse the site map generated by my OPML Site Map Based on Drupal Taxonomy. It's an easy to understand example of OpenLaszlo programming -- here's the source code.

Mona's Eyes: Classic NeWS Hack Rewritten in Open Laszlo

Pat Lashley wrote the legendary "monaeyes" hack for NeWS, which Sun shipped with Open Windows, and Anne Dianna wrote about in her story "Mona's Eyes".

I couldn't resist the impulse to recreate Mona's Eyes in OpenLaszlo.

OPML Site Map Based on Drupal Taxonomy

I've just implemented a Drupal module that renders an OPML site map, based on the sitemenu taxonomy tree.

Each taxonomy term has an outline node, which contains child nodes. The first child shows the term's description, and has a link to the term's web page. Subsequent children are links to articles directly related to that term, followed by recursive outlines of sub-terms.

Dave Winer put my OPML site map feed into his OPML World Outline, where you can browse it as html, and OPML Search has automatically indexed the content on my site! That's quite cool, and it's just the tip of the iceberg -- many interesting applications are possible!

Applying XML to Describing User Interface Layouts and Behavior and Constraints.

This is a message I sent to Paul Haberli a several years ago, brainstorming some ideas for an XML based scripting language. More recently, after discovering OpenLaszlo, I ran across this email, and it made me realize why I was so happy to find Laszlo, which embodies many of these ideas!

From: Hopkins, Don [mailto:Hopkins, Don]
Sent: Sunday, November 08, 1998 3:06 AM
To: paul@isdn-balla.corp.sgi.com
Cc: dhopkins@maxis.com
Subject: RE: http://reality.sgi.com/grafica/motion/

I think something cool to do, would be to apply XML to describing user interface layouts and behavior and constraints.

It would have to describe the interfaces and connections between the components, as well as the graphical layout and properties.

It should have a general purpose message passing model that is independant of any scripting language, and you could also embed scripts in the xml in different language like is currently done with html.

But you should be able to do a lot without even resorting to scripts, just hooking components together.

And then if course I want to design a visual programming language in XML.

The October Surprise: The Iranian Hostage Rescue Mission, and the 1980 Presidential Election

The October Surprise:
The Iranian Hostage Rescue Mission, and the 1980 Presidential Election

By Don Hopkins, December 1988.

I. Iran under the Shah

The Shah of Iran, Mohammed Reza Pahlavi, came to power in 1953, thanks to a CIA-supported coup. The Shah's friendship and cooperation was extremely important for American foreign policy -- it gave the U.S. much influence in the region.

Iran is in extremely strategic position, adjacent to the Soviet Union and Persian Gulf countries. It also has enormous amounts of oil and money.

In accordance with the Nixon Doctrine, the United States sold weapons to the Shah, who used them to maintain the stability of his regime, and protect US interests. Arms were an extremely important part of Iranian-American relationship.

Pushy Bounce Window Mixin

;;; -*- Mode: LISP -*-
;;;
;;; Pushy bounce window mixin
;;; Implemented for the Lisp Machine with Flavors
;;; By Don Hopkins

(defflavor pushy-bounce-window-mixin (x-vel y-vel gravity friction proc delay)
           ()
  :gettable-instance-variables
  :settable-instance-variables
  :initable-instance-variables
  (:required-flavors tv:window))

(defflavor pushy-bounce-lisp-listener
        ()
        (pushy-bounce-window-mixin tv:lisp-listener))

Designing to Facilitate Browsing: A Look Back at the Hyperties Workstation Browser

Designing to Facilitate Browsing: A Look Back at the Hyperties Workstation Browser

By Ben Shneiderman, Catherine Plaisant, Rodrigo Botafogo, Don Hopkins, William Weiland.

Human-Computer Interaction Laboratory
A.V. Williams Bldg., University of Maryland
College Park MD 20742, U.S.A.

Abstract

Since browsing hypertext can present a formidable cognitive challenge, user interface design plays a major role in determining acceptability. In the Unix workstation version of Hyperties, a research-oriented prototype, we focussed on design features that facilitate browsing. We first give a general overview of Hyperties and its markup language. Customizable documents can be generated by the conditional text feature that enables dynamic and selective display of text and graphics. In addition we present:

  • an innovative solution to link identification: pop-out graphical buttons of arbitrary shape.
  • application of pie menus to permit low cognitive load actions that reduce the distraction of common actions, such as page turning or window selection.
  • multiple window selection strategies that reduce clutter and housekeeping effort. We preferred piles-of-tiles, in which standard-sized windows were arranged in a consistent pattern on the display and actions could be done rapidly, allowing users to concentrate on the contents.

HyperTIES Hypermedia Browser and Emacs Authoring Tool for NeWS

HyperTIES is an early hypermedia browser developed under the direction of Dr. Ben Shneiderman at the University of Maryland Human Computer Interaction Lab.


HyperTIES Browser (right) and UniPress Emacs Multi Window Text Editor Authoring Tool (left), tab windows and pie menus, running under the NeWS Window System.


HyperTIES Browser NeWS Client/Server Software Architecture.

An Empirical Comparison of Pie vs. Linear Menus

An Empirical Comparison of Pie vs. Linear Menus

Jack Callahan, Don Hopkins, Mark Weiser (*) and Ben Shneiderman.
Computer Science Department University of Maryland College Park, Maryland 20742
(*) Computer Science Laboratory, Xerox PARC, Palo Alto, Calif. 94303.
Presented at ACM CHI'88 Conference, Washington DC, 1988.

Abstract