Links to Published Software and Articles authored by Bruce Wallace
( for his book blog see Existential Programming )
( for his tech blog see PolyGlot, Inc. News )
Not All Object Properties Are Created Equal,
Part I: Essentials
June 2012, Architects.DZone.com
Did you know that 2500 years ago, philosophers like Plato and Aristotle were doing Object-Oriented Analysis
and Entity-Relationship Modeling? More surprisingly, they were already more sophisticated than software
developers are now! Why? Well, for one thing, they already understood that the properties of an object
are not all created equal. Western Philosophy has big ideas that programmers need to know in their day to day
software development. This article is part 1 of one of those big ideas: There are many flavors of object properties.
Not All Object Properties Are Created Equal,
Part II: Says Who!?
June 2012, Architects.DZone.com
Of the many subcategories of properties that Western Philosophers have come up with, an important pair are
what John Locke named Primary and Secondary Properties. This article is Part 2 of one of Western Philosophy's
big ideas that programmers need to know: Some object properties are in the eye of the beholder, not the object itself!
Writing Tests: Don't Make "Not my Job" "Just Business",
Is Morality Eating Your Own Dogfood?
Aug 2010, JavaLobby /
Philosophy and economics have something to say about Unit Testing. There are two schools of thought about
whether programmers should have to write tests to verify their own code
(in addition to writing the code itself). The philosophy of economics, and psychology, and morality, all
overlap in studies that show how people will readily abandon moral responsibilities if they are given ways
to avoid the stigma of doing so. This leads me to feel more justified in my belief that programmers do a
poorer job of reading, understanding, and implementing a specification when someone else has the
responsibility of verification.
Feb 2007, Gamelan.com /
to take advantage of most of the features of the Java classes.
This will enable the use of robust design patterns needed for
AJAX and Rich Internet Applications (RIA).
- Gravey Framework Home Page
Sept 2006, gravey.org
This site contains links to code and examples related to the Gravey framework as described in the AJAX from Scratch articles.
Gravey is a framework for developing Rich Internet Applications using standard design patterns like MVC, Command, AJAX, and REST.
March 2006, OReilly OnJava.com
from concurrency dangers, such as one thread modifying the DOM while
another reads it. Bruce Wallace offers a mutual exclusion implementation
Learn how to keep your XMLHttpRequests from colliding with your
rich Internet applications
March 2006, Gamelan.com / Developer.com
With the increasingly popular AJAX paradigm, a browser page can make
requests for server data “in the background” while the user interface
continues to be active “in the foreground” causing problems by
accessing common data simultaneously. The classic solutions to this
article describes an implementation of a mutual exclusion mechanism
- GanttMagic and reXume XML standards
Open XML Standards (and reference implementations) for representing Gantt Chart and resume data.
Sept 2003, reXume.net, reXume.org
The GanttMagic standard (as documented in its RDDL file) provides for representing Gantt Chart data in
an XML format. The reXume standard provides for representing resume data in XML format. The reference implementation and demo files for each were implemented
as Java Web Apps. They were combined in a Java Web App system that allowed interactive search and filtering on reXume data producing HTML, Text, and graphic
image rendering of "Experience Diagrams", i.e. Gantt Chart summaries of which skills were used during which time periods.
- Design Markers Home Page
This page contains links to articles and code examples related to
Design Markers and Explicit Programming.
- Design Markers,
Explicit Programming for the Rest of Us
March 2003, OReilly OnJava.com
Explicit Programming seeks to better link designs with their
implementations, but until now it has been tied to experimental
research tools. Bruce Wallace introduces the Design Markers technique
which provides many of the benefits of Explicit Programming but only
relies on standard Java and JavaDoc.
Maximize your Design ROI with Marker Interfaces and JavaDoc
March 2003, Gamelan.com / Developer.com
There are many choices made at design time which cannot be directly
expressed in today's implementation languages. These choices must be
implemented via programming & naming conventions. As will be shown,
two consequences of this limitation conspire to erode your wise
investment in design. The author has coined the term Design Markers to
label the technique shown that leverages un-extended JavaDoc with
Marker Interfaces to tie the “what” and “how”
of the code to the “why”.
- Configuring Authentication and Authorization in BES5.2 with LDAP
Web and EJB security using Borland's BES app server and LDAP
This white paper describes the steps needed to reproduce a
proof of concept project that demonstrates Web and EJB container
security using Borland's JBuilder8 Enterprise IDE and BES5.2 J2EE
app server with a test LDAP server. There are some interim tests
that are produced via test programs that are not per-se part of
the final proof of concept system. However, they provide the reader
with the ability to verify the setup in increments.
- Java RMI Cheatsheet
A condensed overview of Java RMI
- A Time for
Reflection (local copy),
(JavaPro site has gone away)
Eliminate burdensome accept() methods from your Visitor pattern
using Java 1.2's reflection capabilities
March 2001, JavaPro Magazine
In the November 2000 issue of Java Pro, James Cooper surveyed the
well-known Visitor pattern. He explained that every element to be
visited needs to cooperate by providing an accept() method. This
constraint can sometimes be very burdensome. However, Bruce Wallace
presents a technique in Java 2 that eliminates accept() methods
altogether, with only two lines of code, using new reflection
An Othello (aka Reversi) playing program for the Macintosh and IBM PC.
February 1986, PolyGlot, Inc.
An entrant in the 1986 World Computer Othello Tournament held at CalTech in Pasadena, CA.
- Louie Louie Marathon,
Interview on NPR's "All Things Considered"
22-Aug-1983, All Things Considered (NPR)
An interview regarding Bruce's electronic music submission to the Louie Louie Marathon at Foothill College's KFJC-FM.
- Introduction to Ada,
An introduction to the new Dept of Defense computer language, Ada
November 1982, CGW & Associates
Developed the course book, and held seminars based on it, at the LeBaron Hotel, San Jose, CA.
- VisiTran (1981), EzTran (1982),
An Apple II program and its sequel that transfered data between Applesoft BASIC programs and VisiCalc spreadsheets.
October 1981, ADC Associates
It was given a positive review in InfoWorld in the 8/2/82 issue.
- Using Page Two with Apple Pascal Turtle Graphics,
How to do smooth animation with Pascal on the Apple][ computer
May 1981, Byte Magazine
- Asteroids in Space (1980), Meteoroids in Space (1981),
Softalk Magazine named this game program and its sequel an "All Time Classic".
May 1980, Quality Software
It was voted into the Top 5 favorite programs for the Apple][ microcomputer. It rose into Softalk magazine's monthly Top 10 List of microcomputer software sales.
A walk-thru 3-D maze game for the PLATO system, based on the J. G. Ballard short story, "Build Up".
June 1975, PLATO, Florida State University
It was one of the very first 3-D walk-thru games. The maze itself was also 3-D, having holes in the floor and ceiling.
Copyright © 1980-2013 by PolyGlot, Inc.