Contextual Data Explorer



Object oriented programming and relational databases create a certain mental model regarding how we think about data and its context–they both are oriented around the idea that context has data. In OOP, a class has fields, thus we think of the class as the context for the data. In an RDBMS, a table has columns and again our thinking is oriented to the idea that the table is the context for the data, the columns. Whether working with fields or record columns, these entities get reduced to native types — strings, integers, date-time structures, etc. At that point, the data has lost all concept as to what context it belongs! Furthermore, thinking about context having data, while technically accurate, can actually be quite the opposite of how we, as human beings, think about data. To us, data is pretty much meaningless without some context in which to understand the data. Strangely, we’ve ignored that important point when creating programming languages and databases — instead, classes and tables, though they might be named for some context, are really nothing more than containers.

Contextual data restores the data’s knowledge of its own context by preserving the information that defines the context. This creates a bidirectional relationship between context and data. The context knows what data it contains and the data knows to what context it belongs. In this article, I explore one approach to creating this bidirectional relationship — a declarative strongly typed relational contextual system using C#. Various points of interest such as data types and context relationships (“has a”, “is a”, “related to”) are explored. Issues with such a system, such as referencing sub-contexts in different physical root-level contexts, are also discussed.

Read the full article on CodeProject.


Steel – Blame the American Politicians

Trump tweeted: “Our Steel and Aluminum industries (and many others) have been decimated by decades of unfair trade and bad policy with countries from around the world.”

OK, yes, foreign governments like China subsidize their industries to undercut the cost of steel manufacturing.  But that’s not the whole story.  We have our own politicians to blame as well.  Read this (written in 2011!):

American Steal: How U.S. steelworkers lost to China

This [the weakening of the American steel industry] is occurring despite the existence of “buy American” laws governing major construction projects. The problem, as always, is Congress made compliance optional. If contractors wanted to buy American they could. If they wanted to buy from China or any other government that subsidizes its corporations, they were free to do so. Lawmakers had not been the least bit serious when they drafted the legislation.

Sadly, we have only ourselves to blame.