Posts

Needed: voice tracking webcam

We recently acquired Logitech's motion tracking webcam in order to better capture presentations, discussions, and training sessions. In case you are interested, the camera is the Logitech QuickCam Orbit MP . The camera does what it advertises and does so pretty well.  As the presenter moves around, the camera keeps the person within the field of view.  As an aside I was a little surprised by the fact that this camera moves in small jolts rather than in a smooth manner.  Though the resulting video doesn't feel very professional, I would rather have this behavior that see constant movement as the system tries to decide where to point.  Perhaps with sufficiently sophisticated software, a gradual movement system would be better. Where the camera doesn't do as well is when more than one person is involved.  The camera basically seems to track the "biggest" movement, so in a presentation setting, if one person walks away from the center...

Example Oriented Programming

I was letting my mind wonder a bit this evening about how far one could take the idea of example base programming in order to make the programming process more concrete.  It seems natural to think of one or more concrete cases, then deduce abstractions from there, so why not allow the system to cooperate in the entire process.  Let me try to explain what I mean. Query By Example (QBE) is a heavily used and long established concept whereby the user provides an example of what data she seeks.  One could argue that modern search engines are in fact a form of QBE.  QBE was used successfully as a database query language in what used to be Borland's Paradox.  In a database context QBE is usually done only in a user interface context through a set of fields with allow the user to "filter" the dataset.  Paradox took this much further and defined a complete language in which to express even complex disjunctive queries.  When working in Par...

Enough software patent madness!

Say patent, and one might get a nostalgic tear in their eye as they envision a brave garage inventor, who, protected by his patent, earns what's due him thanks to legal protection against large greedy corporations. Enter reality. Now picture large corporations able to easily crush or control small businesses. Picture large companies being relentlessly attacked for money even though such companies have made every effort to respect other's claims. Picture an environment where anyone wishing to innovate is all but unable to do so because such effort will invariably step on an almost infinite and unknown set of patent "toes". To make things worse, there are those that are pushing for even more liberal patent laws , such as first-to-file, rather than first-to-invent. Something must be done to stop this! Patents are ruining the software industry and causing tremendous indirect damage to our country! Software shouldn't even be patentable. Patent law prohibits the...

Dataphor Frontend Future Thoughts

Just some meandering thoughts as I consider various possibilities for Dataphoria and the Windows Client. Observation: it seems that the history of approaches for engineering application processes has vacillated between two extremes: Let's call them structured and event based. In a structured approach we consider the whole. The most obvious example is a block of imperative programming code containing branching and looping constructs. There is a clear path or flow of execution through the components. Other embodiments of structured process engineering include traditional flow charting and more recently workflow management. An event based approach, on the other hand, deals with single moments or points of decision. The actual flow of logic is more dynamic and elusive. Another way of saying this is that each aspect or component of the application is defined as autonomously as possible. An example of this approach would be component based programming characterized by Rapid Applicatio...

Condition Propagation renamed: Proviso

Everyone who works in abstracts knows the importance of names. I've had to try to explain the concept of Condition Propagation (see Actively managing missing information through Condition Propagation ) several times now, and a major challenge has been the vague terminology involved. Specifically, the generic term condition, versus the formal concept I am trying to define. In an effort to be clearer, I am giving the "conditions" in the scheme I formerly called "Condition Propagation" a new name: provisos. This term's primary use is in regards to stipulations in contracts and legal documents, and so I am confident that its use in the context of computer languages should be unambiguous. I am still not sure if the concept of provisos as I have presented them is unique or not. I have observed several similarities to other previously raised concepts, but have yet to find a duplicate. I believe that provisos would eliminate many of the design and implementation cha...

Nice clarification of scientific "laws"

This jem was in a newsgroup of Steorn . Ok, I have seen a lot of BS posted on the forums regarding the misnomer 'Law' in science. Since I am an engineer, and have freshly studied mathematics, physics, and electromagnetics, I'm reasonably qualified to comment on this subject. First off, a phenomenon is observed. Then more. Eventually a large body of phenomena are observed that are related. (Faraday, for example, took hundreds of measurements of electric and magnetic fields, but lacked the math background and education to compile a single governing theory.) This is called experimental physics. Next, a theoretical physicisyt (and I don't mean that one is incapable of doing the other, but I submit that anyone who compiles theory or does theory work is a theoretical physicist, even a schoolchild who derives ohm's law), takes that pile of evidence and constructs a set of governing equations. In this case, that was done by James Clerk Maxwell, into Maxwell's equa...

Issues raised by polymorphism in relation land

I continue to ponder how to merge the Relational Model (RM) and Object Oriented (OO) worlds in order produce a best-of language. The task is a challenge due to the deep and fundamental differences between OO and the RM. One approach I am exploring is to utilize the notion of multiple logical representations to allow both to co-exist without compromise. Doing this, though, means pinning down canonical isomorphisms between the two models. One important concept from the OO world is polymorphism. In OO land, we identify a useful abstract concept like "Contact" and build a class around it. We then build classes for more specific types of contacts such as Organization and Person. A challenge for me has been to identify a clearly obvious equivalent to this design in relation land. This has proven quite elusive because there are several relational designs that seem to qualify. The design that seems most commonly used involves a "type" table of some sort followed by tables c...