03 January 2012

Be Kind to Idiots [updated]

In the olden days, when I was a child, good parents instilled good values in their children. One was to not make fun of idiots; being an idiot was not the idiot's fault. Or, so the thought was. We know different now. Many idiots are so because they've chosen the path of ignorance, devolving further into idiocy. We see this in politics and IT, specifically the nexus with RDBMS.

I've been following the LedgerSMB postings (those that appear on the Postgres site, anyway), because the structure is similar to that taken by xTuple. Both, to greater or lesser extent, espouse integrity in the database, as opposed to client application code. Neither prevents editing in client screens, but both assert that the constraints, of record, are in the database; and can be duplicated in the client.

One of the fascinating aspects of this approach will be, soon, the picture when the likes of WebSocket is routinely available. Data centralization is always the future. When the IBM PC was first released, it was as a low powered programming work station; the "user" would use it to write "non-professional" code to suit his (not many hers at the time) needs. Scientists and engineers were the market, and IBM estimated 2,500 per year would sell. Then, along came 1-2-3, and the computer appliance was born; only now have I finally been vindicated in making that description. Soon, Netware showed up, to connect all those independent PCs to printers and file servers. The kodder kiddies really are convinced that The Cloud is something new. Some of them assert that it's really different this time; that this time it's about the cheapest hardware possible appearing like manna from heaven on demand. Foolishness. They'll find out, and another few hundred billion dollars will be wasted by the Fortune X00 chasing this as was when they chased J2EE applications.

From the very beginning, Dr. Codd had to cram the RM down the throats of heel dragging coders, who willfully ignore the fact that logic in code is just data compares made complicated. Do the logic with data where it lives. But, NO, that threatens the rice bowl of all them coders.

So, Chris Travers (of, and perhaps all of, LedgerSMB) has been posting about the application structure.

He published this post recently.
This led to the following post.
And that led to a supportive post from Joe Abbate.

Chris was too kind. Just as Ron Paul shouldn't be taken seriously, neither should Tony Marston. Neither has a clue, only zealotry. Joe, to his credit, took up this quote: "The database has always been a dumb data store, with all the business logic held separately within the application." His response was also too kind.

Marston has clearly never read, or if he did hasn't a clue what he read, Codd or Date. His statement is only true of coders back to AutoCoder and COBOL, not databases. As with the COBOL/VSAM/IMS folks that gave Dr. Codd the finger, Marston is just another guy who wants to keep writing lots of code, no matter how dumb that is. Prior to Dr. Codd's RM/RDBMS, there was IDMS and IMS; network and hierarchical database respectively. Both implemented logic in the database structure. Moreover, in 1968/9, IBM released CICS, likely the longest lived TPM (transaction processing monitor). A TPM does the read/write control for external code, largely COBOL with the IBM mainframes of the time. So, Marston is wrong in toto. Marston embodies the latter day Goths, who wish to take us back to the Dark Ages of their crude ancestors. A lot like Ron Paul, come to think of it.

The entire purpose of TPMs, pre-relational databases (IDMS, IMS, PICK), and RBDMS is to put data control with the data where it belongs. That is a threat to the horde of coders. Too bad.

[update]
For the record, I went back to see how the thread had gone, and couldn't keep my mouth shut. You have been warned.

9 comments:

Jonathan said...

Amen, brother.

Joe said...

Thanks for your kind comments. I suspect we disagree on our assessments of Ron Paul (much of what he says ought to be taken seriously) and on whether centralization is the future (I prefer a non-hierarchical society).

Anonymous said...

"...Just as Ron Paul shouldn't be taken seriously..."

I am continually shocked by the absurdity of this sentiment. Not necessarily saying he should be President (though, given the current choices, I'll be voting for him), however to dismiss the one "non corrupt, value driven, morally compassed" guy is simply non-sensical.

Robert Young said...

I generally bifurcate concerns between this blog and the explicitly political one. The point here: Paul lives (and wishes the rest of us to live) in a fantasy of the USofA, circa 19th century. His policies are reactionary,in the extreme. The parallel between his point of view of polity and the NoSql folks view of datastores is apt.

One may prefer to compartmentalize, but the analogy in stark.

Joe said...

If I may be allowed to touch on the political side, I believe you're reading Paul wrong. Laissez-faire libertarians by definition don't care how others live, as long as the others don't agress against them. I don't see any analogy with NoSQL. On the contrary, Paul (in general) is reasoning from first principles, like Dr. Codd was.

Robert Young said...

Well. It depends on what one means as "principles". The NoSql folk insist that the way applications were built in the beginning, with sequential file access executed in application code loops (coders love loops), is the way they should be built today. For a whole host of reasons, that's reactionary; and have been mentioned here lots o times. Better ways are known. Their principle is that we should return to the golden days of yesteryear.

The analogy with Paul is exact. He insists that the way he conceives American economic history, 19th century version, is the way we should run it today. The facts about 19th American economy would lead anyone to question both his assertions about the effects of such an economy, and the possibility of having such today. The main factual problem: 19th century America was population sparse and resource rich. It ain't that way no more. Acting as if it were is the road to hell; for the 99.99% anyway. 19th century USofA was largely white, agrarian and rural. Despite attempts by the likes of the Montana Militia to assert otherwise, the country today is the opposite. There is no there, there. The gun totin' ways of 1850 are not tenable today. In any case, fat white diabetic heart diseased folk better hope it doesn't come to that; real Darwinism is a total loser for them.

In any case, the assaults on "liberty" come from corporations (often implemented for them by governments, at times) not government. Government uses corporate data tracking when it's illegal to do so directly. Mussolini created a word for government/corporate governance. It's a history that should be understood. The Citizens' United assault was the Right Wingnut Supreme Court permitting corporations to assert their immense wealth to control governance.

I just finished reading the paper, and David Brooks, no liberal he, admits that laissez-faire (although he doesn't use the term today, he does use it) is what led to The Great Recession. And he's fully right. The reason government "didn't work" for the last 30 years is simple: those who didn't want it to work were in charge. During the 28 years of Reagan to BushII, the Republicans controlled at least 3 of the 4 branches of government for 22. It's not a coincidence that median income fell during that period, except for the Clinton administration. It's no coincidence that the policy changes which led to The Great Recession were done by Right Wingnut congresses. The repeal of Glass-Steagall was done by Gramm, Leach and Bliley. Now, a Libertarian might have approved of that repeal and the dramatic concentration of wealth, too. I disagree. The costs of that "freeing" of Banksters is being borne by the 99.99%, while the gains went (and continue to go) to the .1%. Libertarians may believe that's just an acceptable cost of "human nature". I do not. Just as I do not believe that NoSql is a sensible way to make a datastore when a better alternative exists. The USofA is creeping, under the guise of "freedom", toward third world autocracy.

In other words, the economy spiraled into the toilet under the control of those who worked for government to fail. It was in their (those who lead) interest to make the majority poorer so that the few (themselves) could be richer. One, even among those who became poorer, can embrace that philosophy. The result will be armed conflict, sure enough. I don't embrace a return to virulent social Darwinism. Some may.

The analogy to RDBMS remains: the NoSql folks are reactionary, as is Paul (and others of his ilk on display these days). The notion that laissez-faire will "free" the common man is foolish. The Right Wingnuts are funded by the .1%, and have every intention using any power they get to further the concentration of wealth to themselves. The use of wedge issues is the usual plot. That, and lying about history.

Chris Travers said...

The problem with NoSQL is not that it is a clear loss on every case--- there are a few cases where non-relational models are the way to go--- but rather that the major tradeoffs are not that well known to the proponents. I wonder how many application developers who choose these solutions understand they are giving up ad hoc reporting in going to such a backend and that this may mean saying "no" to customers.

It's for this reason I like to say that the issue here is use cases and being clear on those rather than saying NoSQL is great/horrible. There are a number of cases where I think it's pretty cool, but those use cases are a lot narrower and more limited than the NoSQL proponents tend to claim.

Robert Young said...

Chris:

Rather than bury a long comment here, I've put my thoughts into yet another post.

Joe said...

We're mostly in agreement as far as NoSQL is concerned. With respect to the political analysis, we have some common ground but I suspect you never studied Austrian economics. My viewpoint generally agrees with www.c4ss.org