Link Page

FORMAT: link // description [<p> extended description </p>]

Processes/Methodologies for Software Development

Agile Manifesto //the manifesto and home page of the Agile Alliance

Extreme Programming // one of the many emerging light-weight software development methodologies.

Pragmatic Programmer // home page of Andy Hunt and Dave Thomas, two members of the Agile Alliance who have written one of the more insightful, readable and short books on programming focused on a craftsmanship metaphor from journeyman to master.

CMM and SEI // the Capability Maturity Models and the Software Engineering Institute at Carnegie Mellon University

PSP // Personal Software Process — Watts Humphrey's illustration of how commitment to personal discipline in Software Engineering can lead to more productive, reliable, and professional software development.

Literate Programming //A literate programming language is intended to improve the documentation abilities of the native programming language. Literate programming is the combination of documentation and source code together in a fashion suited for reading by human beings. Donald Knuth is the inventor of literate programming and a typesetting language named TeX. CWEB is a combination of C++, TeX, and CWEB. CWEB demonstrates the ideals of the literate programming approach. quote from

MIT Open Courseware // the pilot site of MIT OpenCourseWare. This initiative supports MIT's fundamental mission — to advance knowledge and education to best serve the nation and the world.

Open Source Software // The basic idea behind open source is very simple: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing.

UMLThe Unified Modeling Language

Personal Projects

Box World/Tree World — development of a personal notation for taking notes and expressing ideas about the world.  Motivated by a variety of existing notations, principally Block Diagrams, Embedding Diagrams, Hierarchy Charts from HIPO and other diagrammatics. (Notes from Tufte's Lecture using Tree World to get original.)

The C.S. Lewis Project (Jack In A Box) — the idea for this project I got from a television interview I saw long ago with Ray Bradbury who talked about the perfect school being like a garden in which the great men and women of the past wandered around talking with the students.  A man in a simple tunic came up and asked you "What is Virtue?" and after a while you realized you were talking with Socrates.  Clearly these persons would be simulacrums, some sort of duplicate of the person using perhaps sophisticated AI.  This project is more humble in that it only seeks to build a cognitive model of the ideas of a person as taken from their writings.  This requires a semantic-network or other concept modeling tool that can be text driven by a NLA (Natural Language Analysis) interface.  So documents written by the person would be the input and a cognitive model of the person and their changes in time would be the output.  There would have to be an interface that let you "converse" with the model.

  

Gilbert In A Box (GIAB) // Getting G.K. Chesterton into a box, so to speak, might be easier than getting JIAB (Although Gilbert is a good deal larger, certainly at least 6 foot 4 and 300 pounds or more.), for the simple reason that one would have to type or scan in Jack's work while G.K. Chesterton's work is for the most part available in text file formats.  Chesterton does not offer the same rich personal load of insight that C.S. Lewis does, because, while he wrote a great deal, it was generally for publication and therefore less obvious if the real person is being revealed.  Although Chesterton seemed always to be candid about his views.  Jack Lewis on the other hand had a massive correspondence with all manner of people and even several years of almost daily diaries.  This suggests at least that the Lewis material might be more revealing of the inner man.

Light Weight Literate Programming // a Light weight literate programming system would combine a code format with some document format similar to CWEB perhaps but with less learning curve, also language independence would be nice.  Some kind of HTML might be the obvious documentation language and some tools which would analyze the structure of the code and build a Box World model which was mapped to the code and the HTML.  I've simulated that sort of thing with some success.