NoOOXML! Sign The petition!

Friday, December 7, 2007

OSS Power or Ride The Elephant

Today I received the OTN (Oracle Technology Network) monthly newsletter.
Am not going to talk about all the buzz they're doing about their products, new virtualization software etc... In fact besides the widely enterprise used Oracle database (witch make it a must do for me), I HATE ORACLE PRODUCTS! Specially the ugly and buggy OC4J/OAS. Since the last time (almost a year later) I've used it in a real world application, I simply swap it away in favor of the GREAT OSS Application server JBoss! And it really rocks! Now JBoss and Glassfish along with Tomcat for lightweight projects are the main development target for me. And yes they are commercially supported throw RedHat (witch acquired JBoss), and Sun for Glassfish.

Well I've been long to come to the point. Following some link in that newsletter, I've reached some Oracle blog post stating that Oracle product do support Kerberos and Active Directory in response to some other blog post titled "Listen up Oracle and IBM!! You should support direct authentication against Active Directory". Nice Nice illustration of how one can become a single shop bound client (just to not say Slave) that bring them to the point of begging that shop to show them some mercy and ease their pain by implementing some functionality in their multi-millions software. In this story the functionality was already there! but worst the accessible documentation wasn't! requiring you "bound slave" to purchase another multi-millions consulting or training service and you're "locked in the trap!" shivering to amortize your investment, and know what? you'll never do! you are just in the trap!

Lately, I've become (exclusively) an elephant rider! Yeah it's cool to ride such a big, intelligent and friendly animal. Postgres the opensouce community driven, BSD licensed, most powerful object-relational database system and yes it has always been technically far advanced then the other opensouce little brother MySQL (unless in buzz marketing). Now the picture is clear am a happy Postgres user. Postgres for the non believers has spawned a brunch of commercial products like Sybase, MS-SqlServer etc... Support for transactions, triggers, stored procedures, views, sub-selects, user defined objects... And out-of-box GIS compatibility throw PostGis project. Postgres also can run your Oracle application and PL/SQL scripts unchanged!
Well, the relation with the previous's posts is that the BIG SMART FRIENDLY Elephant do support Kerberos, LDAP, Active Directory authentication and for peanut butter lover the communication between the server and client can be carried out throw SSL.

So (the wrap up) the superiority of the OSS model is well proved even where the Big Blue and Oracle fails to deliver such a good well documented and growing community like the one OSS has made. The software market is changing now and those who made the change from the hype to become reality will continue to push it further. Peoples and companies that will adhere and adopt the new world software vision will survive the upcoming century changes. And communities are power! try to own them and you'll fall into your own trap, Freedom is a must!

Saturday, November 17, 2007

Only bonds between you and me

video

TIAMAT - Cain
Prey (2003)


I gave you my love
Though crystallized
I sent you a rose with nevermore
So many years
So many hours
And only thistles on my shore
For all that it's worth
The blood on my hands
Is the blood of divinities
And all that is lost
Sound or unsound
Only bonds between you and me

If I go will you follow
Me through the cracks and hollows
And I would be your Cain
If you would be here now

The Mother-of-Pearl
Handcrafted by God
You're the tower they built to reach the sky
A White Falcon beauty
My mark on your skin
Follow me down the stairs when we die
Your soul is in heaven
Your body in hell
It doesn't matter much to me
In the night of the unborn
Sound or obscene
Only bonds between you and me

If I go will you follow
Me through the cracks and hollows
And I would be your Cain
If you would be here now

Blessed be our Lady Nuit
Guide us to Ra-Hoor-Khuit
In your night we find shelter
Before the Helter Skelter

If I go will you follow
Me through the cracks and hollows
And I would be your Cain
If you would be here now

building hibernate or OSS management

problems:
  • need for a maven version > 2.8 the current on is 2.7 (the silly maven enforcer plugin)
  • the antlr maven plugin (under project mojo at codehaus) (this plugin is not available from codehaus repository)
Steps taken to resolve:
  • the snapshot version in maven svn repository is 2.1 we could get it, build this version, install it then go on.
  • get antlr sources from repository, build-it, oh no! it shocked on modello maven plugin ([WARNING] Failed to load plugin descriptor for: Plugin [org.codehaus.modello:modello-maven-plugin]. Assigning this plugin to be resolved again just prior to its execution. NOTE, This may affect assignment of the mojo: java if its default phase (given in the plugin descriptor) is used. Check debug output (-X) for more information.
  • set codehaus repository in settings.xml
  • rebuild the plugin despite the annoying errors displayed we have a jar and gonna install it manualy just to keep the things running...
  • mvn install:install-file file=./target/antlr-maven-plugin-2.0-SNAPSHOT.jar pomFile=pom.xml now what?
1 required artifact is missing.

for artifact:
org.codehaus.modello:modello-maven-plugin:maven-plugin:1.0-alpha-8

I've been successfully (with some hacks) resolving this mess some nights later but it's Already 6:27 am and am giving up for tonight.

Really Hibernate it self has nothing to do with it the problem being the mojo project @ codehaus with all the stalled dependencies and missing artifacts/version, along with maven project with some minor responsibility (at least the snapshot builds) here for keeping the enforcer plugin (please make it optional and give some way to manually turn it off) despite the complains about it.
Folks @ mojo should realize that many other opensource projects are using their stuff. The source code availability the ability to hack into it and build it are the essence of opensource. Creating blocking problems wont help this movement grow.
The devs of antlr-maven-plugin maybe using his local repository with those missing versions deployed. Should they coordinate their releases with other projects (plexus, modello etc..)?
Should they better communicate with codehaust admins so the old stalled dependencies are kept on the server till no one uses them?
Should codehaust admins check their logs to see if some file is still in use and so keep them on the server?
We are all thankful for those opensource pioneer and admiring their work but opensource projects are a responsibility toward the community and require more manageability to keep the noble principles believable.
I still remember the sad and painful experience we've got with the Apache Avalon framework disappearing(or split in many other projects) and how we've got to re-architect the long term in-house developed framework to no longer relay on it.

Friday, November 16, 2007

Epouse 1.0

Un mari démoralisé écrit la lettre suivante:

M. le responsable de l'Assistance technique,

Il y a un an et demi j'ai changé ma version Fiancée 7.0 par la version Épouse 1.0 et j'ai observé que le programme a lancé une application inattendue appelée Bébé 1.0 qui prend beaucoup d'espace dans mon disque dur. Dans la notice, cette application n'est pas mentionnée.

D'autre part, Epouse 1.0 s'auto installe dans tous les autres programmes, et se lance automatiquement dès que j'ouvre n'importe quelle autre application, parasitant l'exécution de celle-ci. Des applications telles que Café Avec Copains 10.3 ou Foot du dimanche soir 5.0 ne fonctionnent plus. De plus, de temps en temps se lance un programme occulte (virus ?) appelé Belle Mère 1.0 lequel, soit plante le système, soit fait que Epouse 1.0 se comporte de manière totalement inattendue. Je n'arrive pas à désinstaller ce programme et ceci est très irritant.
J'envisage de revenir au programme que j'avais avant, Fiancée 7.0, mais le processus de désinstallation d' Epouse 1.0 me semble fort complexe et je ne mesure pas encore bien les risques que cela peut comporter pour les autres applications comme Bébé 1.0, qui je l'avoue est Très convivial.

Pouvez-vous m'aider ?

Best Regards,
Utilisateur démoralisé.

RÉPONSE du Customer Service


Cher Utilisateur :

Votre plainte est très fréquente parmi les utilisateurs, mais elle est due la plupart du temps à une erreur de conception de base : Beaucoup d'utilisateurs passent de n'importe quelle version de Fiancée X.0 à Epouse1.0 avec l'idée fausse que Epouse1.0 n'est qu'un programme d'utilitaires et de divertissement.
Cependant, Épouse 1.0 est bien plus que ça : il s'agit d'un SYSTEME D'EXPLOITATION COMPLET, créé pour contrôler et gérer toutes vos applications.

Même problème avec Belle Mere X. 0. Ces programmes sont d'anciennes générations, desquels dérive Epouse X.0 et entraînent souvent des problèmes de compatibilité. Avec un peu de chance, ils finissent par être victime d'un virus et disparaissent au bout de plusieurs années.

Évitez aussi l'utilisation excessive des touches ESCAPE ou SUPPRIMER, car vous devrez ensuite utiliser la commande C:\faire_des_ excuses.exe\ fleurs\all pour que le programme re-fonctionne normalement. Epouse1.0 est un programme assez intéressant, mais qui peut générer un coût élevé, s'il est mal utilisé. Je vous conseille d'installer un software additionnel pour améliorer la rentabilité d'Epouse1.0. comme Fleurs 5.0, Bijoux 2.3, ou bien Sejour_au_Club_ Med1.2. Vous pouvez aussi vous servir de Oui_mon_amour 8. 0 ou bien de Tu_as_raison_ ma_chérie14. 7. Vous pouvez les télécharger sur Internet, leurs résultats sont assez satisfaisants.

ATTENTION : n'installez jamais Secrétaire_en_ minijupe3. 3 ou Petite_amie 1.1. Ces programmes ne fonctionnent pas dans l'univers d'Epouse1.0 et pourraient causer des dommages irréversibles dans le système.

Saturday, November 10, 2007

Words War among JEE community

Links:

http://blog.objectmentor.com/articles/2007/11/02/active-record-vs-objects
http://www.infoq.com/news/2007/11/oop-vs-active-record
http://in.relation.to/Bloggers/SilliestPersistencePostEver

My comment on:

Abstraction

My thoughts about OO is an abstractive concept being implemented in SmallTalk, C/C++, Java the concept matters.

Am not considering myself an 00 guru but I did some minor work with. What I would notice is that historically ppl never agreed upon concepts interpretation. But what really chokes me that some guru tries to get us back to the dark days and resist the changes just because they can't achieve any real interpretation of the concepts and with the hero attitude they decide Am gonna go my way! and throw us back to the days of Stringifie everything!.

While someone presenting a genius idea of throwing out of the window objects, ORMs, and all the artifacts your cherishing for the sake of “back to basics” with hashmaps let me think! Oh I have some genius Idea me too! At run time get the ddl, parse it, some templating, generate objects, let's do some AOP/DI acrobatics and introduce behavior on them, wire everything in XML and your done with your killer framework.

Back to 2003 I meet some sweetie framework called Hibernate and it was a revelation, present it to co-workers and that's what we are all using now! I feel fine I have grown without handicaps or child illness and now enjoying the bittersweet taste of JPA.. Gavin, we need more on the road to keep us walking!.. Yes he's my hero! and definitely I don't know what an Object is. Am Glad hibernate do, jsf do, EL do, Seam do, and do it right! I no longer have to care!

With my best wishes of a cold wake up far from hash-ing :)

Daoud AbdelMonem Faleh

Thursday, November 8, 2007

A Crazy night; Seam 2.0 Sold out!

In one of my most crazy hysteric nights, playing with my balls oops my bits and listening to the great Katatonia band, as the sun shined and the nearby coffee shop open I got my hot espresso and decided to take a look at the already downloaded and installed new version 2.0 of JBoss Seam application stack framework.

Yes Seam 2.0 was sold out yesterday. The announcement was made on Seam forum and thought it didn’t yet found it’s way to the dedicated Seam web site in.relation.to. Oh no too late! It’s already there! And even InfoQ.com has picked Gavin King for a Seam 2 interview.

For the new comers JBoss Seam is an application stack (not simply a web framework) framework that features “a one kind of stuff”. Hence when using Seam you have a consistent development model throw your entire application layer. In fact Seam integrates jsf + facelets at the view layer with EJB3 as actions handlers and JPA for persistence layer. Some of Seam unique features include:

- A component event driven model: we all missed it with action based frameworks like oops SHUT-UP HERE!

- Out-of-box Ajax support with Richfaces UI.

- Ability to run your EJB3 project in a simple servlet container like Apache Tomcat with Embedded JBoss.

- Business process management and integration throw jBPM.

- Declarative state management with an extensive context model including the servlet spec big missing: Conversation and business process contexts.

- Workspace management and multi-window browsing thus eliminating the multi-window and tabs problems you always have to deal with in regular web based projects.

- Seam is POJO: Seam components are POJOs! Easy to test in simple unit tests BUT don’t miss the bitter sweet taste of easier out of container Integration tests!

- Less XML configuration! Even thought you can override configuration annotation with XML but this is a vendor customization facility.

- And much more to cover here…

Seam come bundled in an extensive package with nice clear documentation and running applications example about almost everything that can be done with this beautiful peace of code. Although it already has fore books!

Now what’s exciting about this version release? Seam 2.0 is a big milestone release. With this version come a completely new mavenized build process and packaging layout for Seam. Seam-core got decoupled from Seam-UI not a minor task if you’ve got once to extract base class.s or a bare bone framework from your code and realized the dependency hell you have to resolve throw your code!

A more detailed list of the new features includes:

- WebServices: now you can expose a conversational web service that makes use of a Seam components throw a POJO or an SLSB that acts as a facade to the component.

- Groovy support: Seam component can be written in Groovy. I can’t comment on this as my Groovy skulls are poor :)

- Seam components Hot Deploy! Wow this is really *HOT* In fact Seam support different deployment profiles dev, prod, and customized profiles. Seam manage the class loading and references for it’s components and can hot swap them as needed during development cycle resulting in a light weight process. Agile folks will be excused here :)

- Decoupled from JSF: now Seam core has no dependency on JSF, you can use it with your favourite web framework. An experimental support for GWT.

- JFS 1.2 and JBoss EL: Seam switched from MyFaces to JSF RI for my big personnel pleasure! I’ve never got in comfort with MyFaces :s (sorry Apache folks try make it faster next time) completed with the JBoss extended EL for better flexibility.

- Maven based build process: a long requested feature very welcomed :)

- Eclipse (jbossIDE), Quartz, Hibernate Search, Hibernate Validation, iText, JFreeChart, Drools, mail, and everything you need to accomplish your task!

- Support for: Tomcat, GlassFish, OC4J (with limitations for versions earlier to 11) and WebSphere 6 (with some limitations too). That’s all I know about there’s probably more here.

- “In fact, I took the time to count out 301 new features in Seam 2. (Really - take that Steve Jobs and your puny 300 new features in Leopard)” Norman Richards :)

Seam-gen is a nice RAD tool, using it you get up and running with few cmd lines inputs. It sets for you the dependencies the few static configurations files, and even an eclipse and netbeans project and an ant build script.

I would like to acknowledge the extremely knowledgeable team behind this project and the already large and responsive community around it just takes a look at Seam forum to judge by yourself about the height quality yet free support.

What would a JEE developer expect more from a framework? For my personnel actual projects this cover -in a well designed and clean architecture- all my needs.

Seam 2 is out now let your code flow Seamlessly :)

Tuesday, November 6, 2007

KATATONIA Cold Ways


video

KATATONIA
Live Consternation (2007)

Cold Ways

I can't do what you do
I'm just able to tear it down yeah
Stay in a cold minute of sleep
See the world
Right through the ether

Twisting names inside of me
Electric atmosphere to be
Must carry on one last time
Cannot end what has begun

In your eyes
You're alive
But in my eyes
You're a lie

You can't do what i do
I'm just able to ruin you yeah
Stay in the cold ways of winter
See myself right through the ether

In my eyes
You're the lie


Monday, November 5, 2007

Deeper Down


video

MY DYING BRIDE
A Line Of Deathless Kings (2006)

Deeper Down


An unfortunate journey
Through a bleak sea of loneliness
I carved through the waves of grief
In a black vastness of self doubt

I have never felt so alone
So pitiful and wretched and low
I'm tried by a terrible wind
The misery and the pains blow

Fill my vast sails of ruin
Steer me toward a bleak end
A horizon of purples and reds
The still waters of my welcome end

The clouds of grey come overhead
A storm will hunt me down
And rip the guts out of my body
That I would surely drown

The unforgiving wind searches
And lashes me like a whip
The self-pity overwhelms me
My heart sinks like a ship

Thrashing out at torment and pain
The maddened sea engulfs me
I let myself be swallowed up
The magnificent weight upon me

Deeper I go, deeper down
Didn't think it could get any blacker
The cold bites, the pressure builds
I think I no longer matter

Can't tell if my eyes are open or closed
The grieving waters swallow
The pain I'm in through my life of sin
The Devil will doubtless follow

Loneliness is agony
For those of you who know
A war of grief and sadness rages
Through mind, body and soul

When lovers die and friendships fade
Whin kin all lie forgotten
The gates of agony spew forth
Your memories, stinking and rotten

So deep now I feel so numb
I'm ravaged by utter loss
The guilt, the grief, the astounding pain
My body, they all will wash

I hope I never return to life
Oh, Christ just let me go
Let death devour my simple soul
Lest my misery grow

I quietly leave. A lonely sight
Relieved of all my guilt
To join a wall of deepest Hell
The Devil himself has built.


Tuesday, October 2, 2007

EJB 3.1 the Promise of a better world!

EJB 3.1 the Promise of a better world! Angry Bill Blog.
Making what easy easier and what complex simple! Gavin King Blog.
More to come about this when I'll have some more time :s
Follow the white rabbit!

Tuesday, April 17, 2007

To Kiss the dots you said?

Hello, Folks!

Some friends asked me about the KISS in "kiss the dots" and how is this "KISS" is related to CS.
A KISS in CS and more specially in Software development is a paradigm, a frame of mind, and moreover a discipline that you adhere to in order to solve a particular problem. By no mean it's a magic solution to every problem you face. It's an approach that enable you to shatter your problem into small ones and then as a result these would be easy to solve. Complicated solution -to already complicated problems- will ALWAYS be faulty, hard to implement and yet harder to fix. All you have to do is to dissect and then it turns out in a set of small simple ones.
As i talked about in a theoretical way some may argue why all this philosophical juggling, in fact CS are just another step in human evolution backed by all the logics that made us reach this new accomplishment. Mankind have got to struggle throughout the journey to reach his quest which is evolution. some behaviour were omnipresent those making some facts proven, those facts have grown into philosophical || natural || mathematical... laws, others into patterns to solve particular problems. And here were the KISS (Keep It Simple And Stupid) paradigm feats CS. It's more a mind behaviour then a ready-to-apply solution.
Filip Hanik from Apache has a good writing about KISS.

So would you KISS the dots? ;-)

Hello World!

Hello World!
Yes! the famous "Hello World!" every programing language first tutorial output, it's either inviting you to know more or scaring you (do i have to type all this just to say "Hello" to the "world"?) and get you away from the Saga.
Well, that was my "Hello World!" first post hope that you caught the virus and follow upcoming ones.
Thank you for being here, feel free to comment and share your thoughts with us.