I simply don't use Microsoft products, not because I hate them, but because they aren't interesting to me.
If you are interested, here is the whole story.
I simply don't use Microsoft products, not because I hate them, but because they aren't interesting to me.
Dear Steve,
Hi, this is François, from Mandriva.
I’m sure we are way too small for you to have heard of us. You know, we are one of these Linux company who is working hard to make its place in the market. We publish a Linux Distro, called Mandriva Linux. Mandriva Linux 2008, our last edition, has a pretty good review and we’re proud of it. You should try it, I’m sure you’d like it. We also happen to be one of the Linux companies that did not sign an agreement with your company (nobody’s perfect).
We recently closed a deal with the Nigerian Government. Maybe you heard about it, Steve. They were looking for an affordable hardware+software solution for their schools. The initial batch was 17,000 machines. We had a good deal to respond to their need: the Classmate PC from Intel, with a customized Mandriva Linux solution. We presented the solution to the local government, they liked the machine, they liked our system, they liked what we offered them, especially the fact that it was open, and that we could customize it for their country and so on.
Then, your people get in the game and the deal got more competitive. I would not say it got dirty, but someone could have said that. Your team fought and fought again the deal, but still the customer was happy with the CMPC and Mandriva.
We actually closed the deal, we took the order, we qualified the software, we got the machine shipped. To conclude, we did our job. And, the machine are being delivered right now.
Now, we hear a different story from the customer: “we shall pay for the Mandriva Software as agreed, but we shall replace it by Windows afterward.”
Wow! I’m impressed, Steve! What have you done to these guys to make them change their mind like this? It’s quite clear to me, and it will be to everyone. How do you call what you just did Steve? There is various names for it, I’m sure you know them.
Of course, I will keep fighting this one and the next one, and the next one. You have the money, the power, and maybe we have a different sense of ethics you and I, but I still believe that hard work, good technology and ethics can win too.
cheers
François
PS: a message to our friends in Nigeria: it’s still time to do the right thing and make the right choice, you will get lots of support for it and excellent services!
The ultimate goal is for any social website to be able to implement the APIs and host 3rd party social applications
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="js/extjs/resources/css/ext-all.css"> <script type="text/javascript" src="js/extjs/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="js/extjs/ext-all-debug.js"></script> <script type="text/javascript" src="js/appjs/index.js"></script> <!-- A Localization Script File comes here --> <script type="text/javascript"> Ext.onReady(App.init,App); </script> <title>Sample</title> </head> <body> <div id="button-div"></div> </body> </html>There is not much to explain if you know HTML, but for the first times in Ext JS: Note the standard Ext javascript files included. Remember you can use the ext-all.js instead of the ext-all-debug.js. Also notice we have our own javascript file named index.js which is included before the Ext.onReady method is called. Now let’s have a look at the index.js:
App = function() { var button; var buttonHandler = function(button, event) { alert('Hello World!'); }; return { init: function() { button = new Ext.Button('button-div',{text:'Hello World',handler: buttonHandler}); } }; }();Running this will give you a simple button on top of the web page titled "Hello World". On clicking it you get an alert box saying "Hello World" – That's All!
App = function() { var buttonObject; var buttonHandler = function(button, event) { alert('Hello World'); }; return { init: function() { buttonObject = new Ext.Button( {text:'Hello World',handler:buttonHandler}); buttonObject.applyToMarkup('button-div'); } }; }();Instead of using the applyToMarkup method apply the DOM element you can instantiate the button as :
buttonObject=new Ext.Button({applyTo:'button-div',text:'Hello World',handler:buttonHandler});Wrap up