Archive for the ‘Uncategorized’ Category

Object-Functional Programming is Here

Monday, August 18th, 2008

In Computer Science, we have all been educated to recognize the terms Object-Oriented, Functional-Programming, Logic-Programming, etc.

It is time for a new term to enter our vocabulary: Object-Functional Programming. It represents the fusion of object-oriented and functional-programming cultures and it happening right now, with its finest representative, Scala.

I have been playing around with the term and concept for quite some time now (e.g. see here, where I mention similar ideas and try to track them down in time). I will certainly have to say more in the near future, so keep in touch!

Kill the annoying Windows Beep

Monday, July 28th, 2008

http://www.slashdotdash.net/articles/2006/08/17/kill-the-annoying-windows-beep-internal-speaker

On Bananas and the Effect of Shotokan Karate on the Human Character

Thursday, May 29th, 2008

In Greece, there is a term for under-developed countries: “Banania”. It is funny we have devised a term, for which the very first representative - you could call it a “reference representative” as in “reference implementation” in computer science terms - is our own: Greece.

The other day, a close friend of mine had an accident with his bike. We had arranged to meet for a coffee early in the afternoon and when I arrived at the meeting point, I was informed of the accident by others. Fortunately, my friend was in (seemingly) good condition and went to the LAIKO (”ΛΑΪΚΟ”) General Public Hospital himself.

Unfortunately, the situation in the Public Hospital was dramatic. Although doctors could see him only after half an hour’s waiting time (!), we had to be patient enough for another five hours to do the needed X-rays ordered by the doctors. The friend had burns in his arms and legs and one of his knees, although walkable, was swollen. A couple of people were near death and a girl with a broken elbow (that is what all people in the waiting room were speculating) kept screaming, in apparent pain, for more than three hours. Shall I go on? Shall I speak of elder people, alone and helpless in wheel chairs, trying to find the correct “spot” in the Hospital were they could show their exams? Shall I speak of the lack of breathing air in the Hospital corridors and the bad smell floating around?

Now this was a situation that made a lot of the people waiting in the line very angry. It had an effect on me, too: I wished I had in front of me one of these walky-talky super-Greek politicians we have, and …. But, of course, these folks do not go to public hospitals, so I had no chance finding one right there. But then what? Would I burst against some doctor, who tried to do his job? Fortunately, my Shotokan sensei, had done his job extremely well in the past years. Situations like this are really bad instructors. You must absorb the pressure and cool off.

I did. Maybe another time. In the right place. With the right means. Against the right people…

New Feed URL

Thursday, May 8th, 2008

Please update your feed URL to the new one. Thank you.

Reading Papers

Monday, May 5th, 2008

How to read semantics.

Efficient Reading of Papers in Science and Technology.

Beyond Homo Sapiens Sapiens

Tuesday, January 22nd, 2008

I think I was in late high school when it occurred to me that the next step in human evolution is the ability to understand/comprehend an abstract idea directly.

Homo Sapiens Abstractus?

Farewell Anthony

Tuesday, January 22nd, 2008

I met Anthony during two or three frappe sessions with bkarak and saiko a few years ago. He was fun to hang out with and talk to. Today, bkarak informed me of the news: This young fellow is not among us any more. Farewell Anthony.

I think this is a very nice opportunity to comment on the general fact that people who come very close to death, if they survive, they view life from a different perspective afterwards. They usually tend to seek essential qualities…. And this makes me wonder: Do we need to come close to death in order to look for quality in our lives?

On Freedom

Thursday, January 17th, 2008

Freedom is painful. And, contrary to many beliefs, it is a process not a final state.

Moving ckkl-core to google

Sunday, November 11th, 2007

I have decided to host ckkl-core to google now. Probably I will keep posting the releases to sourceforge as well but I have not definitely made my mind on that yet. Anyway, the new page is here. The latest release is 0.3.1.

Releasing jBootstrap

Saturday, November 10th, 2007

Today, I released jBootstrap at google.

Have you been tired of continuously (re)adjusting the CLASSPATH when developing a new application/library? Have you been tired of issuing ever increasing “export CLASSPATH/set CLASSPATH” statements in your shell executable that fires-up your application?

Then jbootstrap can take your headaches away. Just gather all your JAR dependencies under one directory and run your application by simply specifying this directory. jbootstrap will pick up the JARs, create an appropriate classloader and fire-up your application instantaneously.

Abstractions are not generated in an abstract way

Thursday, November 1st, 2007

[or: Abstractions are not born abstractly]

Being in the software research and business for about ten years now, and while trying to invent and build flexible software architectures, one (meta-) idea is always recurring in my mind: That you need to have enough concrete input in order to produce an abstract output.I am, of course, referring to the development of software engineering abstractions.

While looking at the history of maven earlier this morning, I was delighted to come across to this saying, attributed to Ralph Johnson and Don Roberts:

People develop abstractions by generalizing from concrete examples. Every attempt to determine the correct abstraction on paper without actually developing a running system is doomed to failure. No one is that smart. A framework is a reusable design, so you develop it by looking at the things it is supposed to be a design of. The more examples you look at, the more general your framework will be.

How well put, really! You cannot just develop abstractions directly, unless you talk directly to God, if you allow me to exaggerate a little.

It is generally accepted that abstractions are used to reduce software complexity. In my opinion that is only one part of the truth or, to be more precise, it does not reveal the essence. I believe that the real essence of abstractions is that they allow you to view the structure (or “meaning”, if you prefer a rather philosophical tone) of things in a clearer and deeper way. And this is what leads us to first understand and then deal with complexity.

And since I am in the consulting business, I cannot but comment on the fact that some people find it very hard to grasp the whole process of constructing abstractions and/or the domain a particular set of abstractions can be applied in. I wouldnot want to elaborate on this, at least not for now, but I have the feeling that they just do not get it. In my opinion, they are either under-experienced or under-educated. I would definitely recommend a little science history reading ;-)

(Micro)Kernel-based Middleware

Tuesday, October 9th, 2007

While trying to write the “About Me” comment you can see in the sidebar, I remembered that a while ago (~2K?) I had proposed to my MSc advisor a research approach to flexible and more “open-minded” software.

The idea is that after you come up with a basic understanding of your problem area and pin down some basic requirements, you start building a kernel or a microkernel supporting the desired features. Everything else should come on top of that in the form of layers. Of course, operating systems work that way, and this is what gave me the idea.

In a previous paper of mine “Digital Typography in the New Millenium: Flexible Documents by a Flexible Engine“, I had proposed such an approach for an extensible next-generation typesetting engine (… those were the years I played around with LaTeX…). Unfortunately, due to lack of resources, these ideas have never transformed into coding, apart from some very early, unpublished attempts.

I have followed the same path in the paper “Non-stop Provision of Internet Services via a Reflectively Load-Sharing Architecture“, where the foundation of a meta-shell approach to programming with DSLs was publicly laid down. This time, my initial prototype in Python was almost feature-complete and the ideas in the paper were all implemented and tested. In the line of this proposal, I am continuing the project in Java. This time, I WILL make the source code publicly accessible and - of course - with an Open Source license. For now, I am preparing the supporting libraries under the ckkl-core project.

“Unfortunately” :-), the more I think about it, the more I become more and more certain that I basically follow this idea of (micro)kernel-based approach to building middleware (and software in general) in the whole line of my research and professional activities. My intention was to lay down the idea in this post, not to enumerate my countfull (cf. with the perfectly legal English word countless) papers. Probably I will speak more of them later on….

Goodbye blogger

Monday, October 8th, 2007

Since I have this domain, I suppose it is a good idea to have a local blog. So, here it is! Currently it is powered by wordpress :-).

For my previous posts, and until I import them here, see blogger.

On tools [mytex]

Wednesday, May 9th, 2007

I have always been fond of tools that makes life easier….

I recently needed to recompile one of my papers in Greek and mytex did - once more - its job perfectly well.

I made it during my stay at the National Hellenic Documentation Center in order to handle masses of LaTeX-based (!!!) documentation I had produced there.

mytex helps one with the parsing of LaTeX files written in mixed greek and english. It can automatically insert proper babel commands for the language switches.

First Post

Thursday, May 3rd, 2007

Just for historical reasons…

More will come soon. For the moment, take a look at my space: http://ckkloverdos.com