PolyGlot, Inc. Home Page

PolyGlot, Inc.

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

    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

    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

    DZone.com

    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.

  • AJAX from Scratch: Implementing "Real" Classes in JavaScript

    And why your JavaScript classes probably aren't

    Feb 2007

    Gamelan.com

    Developer.com

    JavaScript developers can use the presented compact implementation 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

    Open production-quality AJAX and Javascript MVC Framework

    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 and Single Page Applications using standard OOP design patterns like Component, MVC, Command, AJAX, and REST. It is distinct in being a completely stand-alone JavaScript library, and hence, it does not depend on any particular server frameworks or technologies (e.g. J2EE, .Net, etc). It has been used in major U.S. banking applications.

  • Mutual Exclusion in JavaScript

    March 2006

    OReilly OnJava.com

    Weak JavaScript environments offer the AJAX developer little protection from Cooperative multitasking concurrency dangers, such as one logical thread modifying the DOM while another reads it. Bruce Wallace offers a mutual exclusion implementation for JavaScript.

  • AJAX from Scratch: Implementing Mutual Exclusion in JavaScript

    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”, via Cooperative multitasking, causing problems by accessing common data simultaneously. The classic solutions to this concurrent programming problem are not supplied by JavaScript. This article describes an implementation of a mutual exclusion mechanism that works around the limitations of JavaScript.

  • GanttMagic and reXume XML standards

    Open XML Standards (and reference implementations) for representing Gantt Chart and resume data.

    Sept 2003

    gravey.org

    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.

  • Design Markers

    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

    March 2003

    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

    May 2002

  • 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 capabilities.

  • POP

    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

    A seminar introducing the new Dept of Defense computer language: Ada

    November 1982

    CGW & Associates

    Developed the course book, and presented seminars based on it, at the LeBaron Hotel, San Jose, CA.

  • VisiTran (1981), EzTran (1982)

    An Apple 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 2-Aug-1982 issue.

  • Using Page Two with Apple Pascal Turtle Graphics

    How to do smooth animation with Apple Pascal on the Apple computer

    May 1981 Issue

    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

    The product 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. Its manual and screen images are archived in online history sites.

  • Build-Up

    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 Computing Center

    The program 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.


© 1980-2021 PolyGlot, Inc.