My current passions are object-oriented programming, Java,
the open-source movement, data mining, spatial interfaces,
and adaptive software,
as exemplified by the Java open-source
A related project,
is intended to give
infrastructure support for remote peer-to-peer Java development.
Symphony will carry a new class of user interfaces,
built with yet another project,
2005, design document)
an editable, exportable, and sharable user interface builder intended
partly for non-programmers (also called `end-users')
as well as programmers.
These are all application projects of my ongoing
design patterns seminar,
Alpha versions are here:
KnownSpace is a visual and adaptive personal data manager.
Why do I feel it's necessary?
Here is a
fable on web data management,
an explanation of
what's wrong with today's interfaces,
a Star Trek example of
how context can improve search,
a comment about
why personal computers don't exist yet,
a discussion of
why software designers make us monkeys at the keyboard,
a sketch of
how much more personal computers could easily become,
and a story explaining
why today's computers suck.
KnownSpace is related to several other projects
in interfaces, adaptive software,
intelligent agents, collaborative filtering, networking, searching,
TimeScape (pdf file),
the open-source projects:
and the commercial efforts:
and now (Spring 2008)
(Note: Lifestreams has evolved into
Here's an overview paper,
A New Data Model: Persistent Attribute-Centric Objects,
with Ricardo Baeza-Yates and Terry Jones.
I also write books.
Some of my books, papers, and software---including the 1991
electronic publishing white paper---are available online at another of
The Human Swarm:
How Network Forces Shape Our Lives
(in progress, 2014)
Bleeding at the Keyboard: An Introduction to Java Programming
(on hiatus as of 2009, but still web-available).
Slaves of the Machine: The Quickening of Computer Technology,
MIT Press, 1997.
(Translated to Italian as: Schiavi del computer? Editori
Laterza, 1999, second edition, 2001;
translated to Korean as Gi-Gae No-Yae.)
MIT Press description.
Moths to the Flame: The Seductions of Computer Technology,
MIT Press, 1996.
(Translated to Italian as Le seduzioni del computer,
Società Editrici il Munlino.)
also available at
MIT Press and
Open Book Systems.
Compared To What?: An Introduction to The Analysis of Algorithms,
Computer Science Press/W. H. Freeman, 1992.
(Translated to Greek as:
W. H. Freeman description.
Foundations of Genetic Algorithms,
(editor), Morgan Kaufmann, 1991.