Saturday, June 20, 2009

More on authors' dilemmas

One of the authors' dilemmas about the right way to write ab event processing book is about - whether the book should concentrate around an "event processing language". One of the reviewers indeed suggested that the language will be centered about a specific executable language, and describe the concepts using the language, for the concepts that are not supported in the language, the reviewer proposed to include them in advanced topics section.

The idea is not new to us, when we discussed with the publisher about the book's structure, we considered such "bottom up" approach, however, we decided that it is methodically better to take "top down" approach. There are two reasons for it: the first -- we are building the book in a methodical way, and talking about the building blocks that are required to build applications, since different languages took different approaches and often the implementation blurs the concept, we thought the the bottom up approach will be a good way to teach a particular language but not the concept; the second -- the current languages follow various programming styles. We neither want to concentrate on a single programming style, nor to do a comparison, as this is not the goal of this book.

So - how are we approaching this issue:
  • We have constructed a descriptive meta-language that follows the concepts we are defining. We may also provide some visualization of this language (checking this issue now), and enable to play with this language on the future book's website.
  • We have asked all language owners (and some have responded positively) to provide their own implementations of the use case we are using in the book. We shall put code samples in all relevant chapters as provided to demonstrate the different attitudes. I'll write soon some comments on the use case, following some questions from language owners.

Thursday, June 18, 2009

More on generic vs. specific event processing

In the last few days I spent part of my time in the NGITS 2009 conference, that was hosted by the IBM Haifa Research Lab, today the keynote speaker was Alon Halevy, whose picture you can see above. Alon gave an excellent talk about "searching the structured Web". As a database person that joined Google 4 years ago he discovered that many of the things he knew from databases were not valid in Google. and from data management point of view, he went several steps forward, and his challenge was how to process structured data that is hidden in the "deep Web" behind web forms and interfaces. This reminded me one of my colleagues in the Israel Air force, who spent a year of his life more or less (almost around the clock) to write a proprietary database system based on low level I/O operations, for some logistics process (I think it was automatic warehouse), he wrote his version for conncurecny control, query capability, recovery, and many other stuff. He thought at that time that the DBMS products available in the market (this was 1978 I think) are not good enough, and using them will be a step backwards relative to what he had in mind. I have written in the past about single application vs. more general one in the context of why network and system management guys have not developed more general event processing products.

I was asked several times what is really the main issue behind all the work I am doing (along with many others) about "event processing" as a discipline, what is the new thing -- people have processed events forever. People also processed data long before DBMS has been introduced, but the way that my old colleague worked was not scalable. Not many people had the skills to do it, and it was not that cost-effective way.

Likewise, there were and still are many event processing applications of all types, colors and sizes, that are developed in an ad-hoc fashion, as there are still applications that process data that do not use DBMS products, because some aspect does not make it feasible or cost-effective.
However, it is clear that the DBMS area has made a tremendous contribution to the IT and business in the last few decades.

My own goal around event processing is to make event processing pervasive as part of enterprise computing, this will be achieved by generic software. Many of the database issues have been developed due the need for genericity -- take query optimization as an example, if one writes query by hand, it is not needed, since every developer can write optimized ad-hoc queries, the requirement to do query optimization came from the fact that a generic query language is being used for many purposes.

Personally, my interest is not in building "complex systems" (as the readers of my Blog know, I tend not to use the "CEP" acronym, due to the ambiguity of the term "complex") or one of kind systems. I think that the generic event processing systems will enrich their functionality over time, my interest is to make it pervasive. The first generation of products went some steps in this direction, and the next generations will do more. I have presented several times in various places my view about the next generation of event processing which refer to the challenges in the way to do it properly.

This topic will be discussed later this year in the 5th EPTS event processing symposium and the event processing Dagstuhl seminar planned for May 2010.

Monday, June 15, 2009

On Intellectual Integrity and honesty

The common denominator between the two gentlemen whose picture you can see above (besides being philosophers whose name start with S) is that they both talked about intellectual integrity and honesty. I got a lot of responses (most in Email and not as comments to the Blog) for my post on positive thinking, and decided to have another off-topic posting on related issue.

A few weeks ago I have been in the large conference that IBM is doing to its customers (Websphere Impact), and besides meeting customers, this is an opportunity to meet other IBMers from all over. I had some corridor meeting with a senior person in IBM, whom I never met in person before, and he told me that he heard about me, and that I have a reputation that I stand firm for what I believe, even if I swim against the current. Well, at least I have a reputation for something. Some people appreciate such a behavior, and some are not.

But - instead of telling about myself, I'll tell a related story. In my long university teaching career, I had lot of teaching assistants.

One of the teaching assistants, whom we shall call TA1, has once looked at the slides I was going to present in my class, and said that actually they are not consistent with what he told the students in the recitation, it turned out that he got some (not very important detail) wrong. He asked me to change my slides and talk about this in a fuzzy way so that it will not be inconsistent with what he told the students, I suggested that he'll just tell them that he has some minor correction to the last recitation, but he refused, saying that this will harm his professional authority for the students, in short -- he said he needs to "save face". I did not like his answer and did not change my presentation, I don't know what happened, maybe the students did not notice. I actually allergic to the term "save face". I have seen a lot of bad things done for face savings.

Another teaching assistant, whom we shall call TA2, once asked me to take 5 minutes at the beginning of my class, since he wants to clarify something about the recitation, I thought that he wants to clarify something about an assignment he gave to the students, but surprisingly for me, he said -- in the last recitation I made a mistake, here is the mistake I have made, and here is the correct version, please copy it so you'll not be confused, and I apologize for the mistake. At that point I thanked him and started the class with a discussion with the students about intellectual honesty, and the importance of it. Guess who succeeded better in life
TA1 or TA2 ? you probably guessed right.
Intellectual honesty often does not pay off, there is something in the culture that prefer other values.

I have started with saying that I got many responses to the "positive thinking" postings, I got a cool one today, from Septimiu Nechifor, a Blog reader from Romania, who sent me the ultimate response to Kipling's IF -- any relationships to today's posting is just a coincidence...

ANTI - IF by Kostas Varnalis

If you can fool yourself when someone else hits you,
Pretending him a wise man and never you blame him;
If you don't trust nobody and no one's trusting you,
Forgive your sin is easy, but never others' sins.

If you respite the evil no single moment and
You lie louder and louder when other people lie;
If you're enjoying hitting the love with hate and though
Pretend to have a wise and even saint good side.

If you move like a worm and never fly with dreams,
And interest is always up to your highest aim;
If you leave the defeated for the winner all times,
Though both of them betraying is your standing desire.

If you can gain a thousand for every little gift
And mother land to play at cards is not a heavy act;
If you don't pay a penny as duty you have made,
As for being you paid is always right and fair.

If you can urge your thinking and heart and even nerves,
Ill - old all them to make some new and evil acts;
And indecision bowing low deserves from you as serve,
When all bawl "Forward!" you're the only crying "Back!".

If you reject the evil no single time or plot
And in its shadow feel like in a saint life tree shade;
Yours will be whole Earth and all its gifts and mines,
You'll be the first of masters, but never MAN, be sure!