NDA and Monopoly

NDA stands for non-disclosure agreement. Each year I sign at least a dozen of them with various perspective clients – they want to make sure that our company won “t disclose any confidential information that “s contained in their project documentation. This is perfectly understandable, and I usually sign such NDA “s after a quick read.

If an NDA comes from a startup that needs help in implementing some great idea, they simply want to make sure that the world won “t know about it sooner than it “s ready. No problems here. But I “m checking if NDA contains the red flags in the non-compete clause.

Sometimes, we do a contract training for large organizations through a third-party training companies, which want to make sure that if they introduced our firm to the client we won “t offer to them training services directly. This is also fine as long as it has the proper wording. Imagine if the client of this third-party trainer is a global bank with 200,000 employees. I “d never sign an NDA if it would prohibit me conducting direct training to the entire bank. Only if this particular bank “s department will need more training classes, I “ll agree to go through the third-party firm that introduced us to this department. Rephrasing of such a non-compete clause takes a little bit of time, but I don “t remember a case when we couldn “t reach an agreement here.

But recently, we were given an NDA that we simple can “t sign and the other party is using it to maintain its monopoly in the certain sector of the insurance business. Let me tell you the story.

About 18 months ago, we “ve created a startup with the goal to create software for automation of some business processes of the insurance agencies – these firms serve as a liaison between the independent agents that sell you insurance policies and large insurance carriers. To be more specific, we “ve automated the process of licensing and contracting of independent producers.

There was a large software firm that literally held the monopoly in this field. After 12 months of development we started selling our product, and our customers are extremely happy. These people were not spoiled by a variety of choices, which are typically available in large businesses. Today, we have a number of customers that are gladly using our services in the licensing and contracting area, but there is a need of integration of our piece of data with office automation functionality, that is offered by another monopolist firm, let “s call them XYZ.

Our clients asked us to integrate our licensing and contracting with their office automation, and we “ve contacted XYZ asking for the API to provide proper feed to/from their data. The XYZ firm responded that to get their API we “d need to sign their NDA. Unfortunately, this NDA had a clause that explicitly stated that if they “ll disclose the integration API our firm won “t be allowed to develop any competing software. Ever.

We “ve rejected signing the NDA with this clause, and XYZ is not willing to remove it. It “s an interesting technique to maintain the monopoly. Many insurance agencies use services of XYZ and would greatly benefit if our system would be integrated with them too. But XYZ would do anything to remain the sole service provider in this area. NDA to the rescue! Will it help them? I doubt it.

Should geeks be poor?

One blogger wrote the following, “The startup time (on my crappy laptop) of the latest JBoss application server is only 28 seconds rdquo;. I “m not going to talk about JBoss here though. I didn “t like “on my crappy laptop rdquo; part. I don “t know personally the guy who wrote this statement, but he “s a book author and a speaker at the software conferences. Why he has to work on a crappy laptop? Is being poor an attribute of our trade?

Recently, I “ve been watching online a video interview given by another senior software developer / business owner. He was talking about geek topics, but I was looking at his ripped sleeve of the sweatshirt hellip; No, it was not ripped on purpose like these Jesus Jeans. It was old, and the threads (on fabric) got weak references, if you know what I mean hellip; Why he didn “t care about his look? Cause geeks shouldn “t care?

In late nineties, I was working as a freelancer developing. My client was a small company, and this lady, the co-owner of the company (and a seasoned software developer) made a statement, “All people who drive Lexuses are assholes rdquo;. She said it casually during lunch. Why? I didn “t ask. I was a well-trained contractor. The customer is always right. This was the time when I bought my first Lexus. I didn “t drive it to work though. It was for my wife, who “s also a software developer. She was working for a large corporation. I asked her to park this car on a large distance from her colleagues who “ve driven beaten up Toyota “s and pickup trucks. I asked her to play by the rules.

Interestingly enough, this lady, the company owner, didn “t pay my last invoice ($11K) ndash; they declared bankruptcy and there was nothing I could do about it other than making this lousy statement 12 years after: “People who don “t pay their contractors for the work well done are assholes! rdquo;

Why American lawyers and medical doctors drive expensive cars? They want to show they “re successful and have large clientele. Why software developers drive 5-year old Toyotas and Hondas? Because they want to show they “re smart ndash; why paying money for the new car if an old one doesn “t need anything but oil change?

If this is the case, why do you expect a nice annual salary raise or bonus? Your boss looks at the clothes you wear and at the car you drive hellip; Subconsciously he assumes that a $2000 bonus will last you for a long time.

Ten years ago I was working on a project for a financial company. This young girl, a software developer, shared with me her little secret, “I never purchase clothes at K-Mart. I go to Wallmart cause it “s cheaper there. rdquo; At the same time she was shopping for the house in the $700K price range. Why neglect the presentation layer? Why invest only in the back end that no one sees?

My fellow American programmers! There are only a couple of days left till we call 2010 a history. From the bottom of my heart, I wish you a successful and prosperous 2011. But please hellip; get a new car. Come to work early and park it right by the “Employee of the month rdquo; spot. Get a new pair of pants and a dozen of shirts. Get a new laptop. A MacBook Pro with 8GB of RAM will do it, and don “t tell me that Dell of comparable configuration costs half price. Geeks can “t work on crappy laptops. Professional must play on Stradivari instruments. Let “s show THEM that we need better salaries and bonuses cause we know how to spend money too!

Happy New Year!

Putin goes, &”Linux!&” People respond, &”Yes, Sir!&”

Today Russian Prime Minister Putin ordered all federal workers and all governing structures to start moving to Linux and open source software . Someone has convinced Putin that using Linux and open source software saves money. On the long run it may, but for the next several years it “ll carry huge price tag. But this is the least of my concerns.

I really enjoy the fact that it “s up to the Prime Minister what Operational System to use. I guess, if Putin didn “t sign this degree, Russia would continue suffer from Microsoft slavery and oppression.

What would be the next logical move by Mr. Putin? I guess he should consider signing the bill dictating to use certain design patterns in software development. For example, every software developer must use Model-View-Controller. But since Russia doesn “t like mimicking western ways of doing things, MVC must be implemented in one tier. As a matter of fact, Mr. Putin is a great example of MVC in a single body. Software developers who won “t obey the MVC law, will be subject to mandatory Dependency Injection that will be administered in special medical facilities.

My only hope is that conversion of top country leaders into sysadmins is not contagious and President Obama won “t pick it up from them. Otherwise, I “ll have reformat my MacBook Pro and hire Russian hackers to install GNU/Linux there.

Teaching Russians Java Programming

Back in the nineties, I was helping Russian immigrants living in the greater New York area to acquire the right skills and become software developers. Majority of the immigrants had Bachelor or Masters degrees in disciplines not related to IT. But high motivation to get an interesting and well-paid job did miracles. People were able to make serious turns in their careers and most of them survived economic crisis and still remain productive members of the American IT workforce.

Back in the nineties there where no reliable means for reaching the audience remotely. People would need to show up in the class. Things changed, and the live online training became a reality. I “ve been successfully teaching online classes in English reaching people from all over the world.

You may say, “Why bother with Russians? ” There are couple of reasons. First, I want to try to see if it “s possible to do business with those Eastern Europeans republics that used to be a part of the Soviet Union. I “m not talking about buying their services – our company already successfully outsources substantial of software development there. I want to sell them our services. Instead of sending the money out I want to bring the money in. Second, during this training I hope to find some talented programmers who might help in one of our future projects on the contracting basis.

The outsourcing model is overly expensive for American enterprises, but it works for a small company like ours. The reason is simple ndash; we pick every worker carefully and don “t keep any ballast. After interviewing lots and lots of job applicants from Eastern Europe, I can attest that most of the people who are on the freelance market lack skills required for the needs of our enterprises. I see an abundance of sysadmins and PHP programmers, which we don “t need.

We need people with solid J2EE (a.k.a. Java EE) background and Adobe Flex skills. Such people are hard to come by in that part of the world. But there is a certain amount of motivated people who are willing to get trained.

Starting from March 7 I “ll be teaching online master class on Java Programming for Russian-speaking people. It doesn “t matter in which country you live now, as long as you can understand conversational Russian language and read in English, you may benefit from this training. The 2.5-hour long lessons will take place on Mondays and Thursdays starting from around noon New York Time (GMT-5 or 20:00 in Moscow.

You “ll hear my voice and see my computer screen. You ‘ll be using the fresh Java Tutorial that I wrote for Wiley. You “ll be able to ask questions and do the homework. Visit this Web page for the program description and registration. You can also listen to the audio podcast, where I described this training (in Russian).

Interested? Then enroll in this class and get in charge of your career.

Update. The first Java class has been filled really fast and I opened enrollment to the second one .

Flash And The City Plus Java For Blondes

Earlier this year a new conference for Flash/Flex developers has been born. The father of this event is Elad Elrom, but it “s not clear who “s the mother. Actually, in the software world people are accustomed to single parents ndash; Father of Java, Father of AJAX, Father of Ruby on Rails et al. Are you aware of any Mother of a software product? I ‘m not.

The first Flash And The City (#FATC) conference attracted about 300 people, and I hope the next year “s version of this event will bring even more enthusiasts. While presenting at FATC in 2010, and realized that this was an event for different crowd ndash; flashers overweighed flexers. Still, I liked this local for me event and have submitted a talk proposal for the next year. Below is the text of my proposal (word for word):

Session Name

Java For Blondes

Session Description

In Java community, Flashers are considered second league. While Java developers build highly-available scalable multi-threaded systems for Wall Street, Flashers are fooling around with animations, effects and bending pixels. This is a four-hour hands on workshop. The first part will be spent explaining basics of Java development. In the second part, attendees will develop Flex/BlazeDS/Java/DBMS application, which is their to keep. There is a limited number of seats for brunettes too.

After pressing the button Submit, I twitted about my “Java for Blondes rdquo; proposal. The reaction was pretty interesting. Here “s my twitter chat with several people:

Someone: Change your submission title

Me: Why?

Someone:It might be considered as sexist, unless I missing the meaning

Me: In my title blondes are not necessarily women. There “s always a risk, but I prefer to take it ☺

Someone:I think that title does run that risk, but on the other hand, you can never be sure you won “t offend someone

Someone:Not sexist, but definitely casting out people by hair color

Someone: May not specifically stated, but unfortunately I can see it interfered. Wouldn “t gamble. Plenty of titles.

Pretty interesting dialog, isn “t it? The corporate culture in the USA teaches us to be careful – someone may not like the wording or even get offended hellip; Than how would you explain why people purchase the books titled “iPhone For Dummies rdquo; or “The Complete Idiot “s Guide to Microsoft Windows 7 rdquo;? Are only dummies and idiots buy them?

I didn “t change the title. And guess what, my “Java for Blondes rdquo; workshop has been approved…but with a twist. I was asked to condense it into a one hour session. Won ‘t work…You can do only so much with the blondes. Will try to find another conference interested in hosting such a workshop. I promise that every blonde that will enter my room will be released four hour later in a good mood, with smiles on his/her face, and armed with the knowledge of what Flex/Java applications are about. From zero to hero in 4 hours. Do you have any doubts I can pull it off? I don “t.

To Kindle or not?

This morning I went to Amazon Web site to order the book “The good man Jesus and the Scoundrel Christ rdquo;. The book is available in paperback ($10.17), in hardcover ($16.32) and in Kindle edition ($8.74). Recently I got the Kindle as a gift so started thinking if I should get the electronic version of the book.

Kindle is nice but what if want to give this book to read to a couple of other people? With the paper version I can do it, but with the electronic version I can “t. The setup is still more complicated that with a regular book. Using the software engineering terms, the e-book needs a runtime environment. The printed book can be compared to a .exe file that you can run on any Windows computer, while the e-book is like a server-side program deployed in some container, which has to be up an running.

A printed book is self-sufficient ndash; start reading anywhere in a second. You can spill beer on it and continue reading. You can drop it in the sand while laying on a beach. You can sit on it. You can tear a page or two out in case of emergency.

On the other hand, with Kindle you can magnify the text eliminating the need to use reading glasses . Kindle is compact and you can have lots of books in one slim device. But to me Kindle is not an exiting device. It does the job well, but it “s not a fetish device. None of the existing e-readers makes my heart beat faster.

I took this photo in suburban bus driving to Manhattan. This girl is clearly a reader. She even bought a portable flashlight eliminating the dependency on these ceiling-mounted dull little bulbs that may or may not work. She has to be able to read no matter what! But there are not many people who are willing to carry and operate expensive (more or less) electronic devices.

To be widely adopted by masses, E-readers must be comparable in price with the paperbacks. There should be disposable E-readers. I should be able to give an e-book with a device to anyone without worrying that she may forget to return it to me. Like disposable cigarette lighter. In the past, people would recharge these lighters with liquid gas. Who does it these days? They are so cheap hellip; These ebooks must become dramatically cheaper.

The E-readers have to agree on some interchangeable data format to enable a Kindle owner to exchange files with Nook, eReader et al. And this should be easy enough so even computer illiterate people could do it. The intellectual property laws should allow and promote e-book exchange between e-readers. I “m not breaking any laws by borrowing a book from someone. The same practice has to be established in the e-Book world.

The latest Barnes and Noble “s Nook supports colors for $250. Thank you very much, but I “d rather get a tablet PC for this much. I believe I still have the Sony e-Book reader laying in some drawer for a couple of years. Should I go and try to find it? Nay hellip;

To Kindle or not? 2

This morning I went to Amazon Web site to order the book “The good man Jesus and the Scoundrel Christ rdquo;. The book is available in paperback ($10.17), in hardcover ($16.32) and in Kindle edition ($8.74). Recently I got the Kindle as a gift so started thinking if I should get the electronic version of the book.

Kindle is nice but what if want to give this book to read to a couple of other people? With the paper version I can do it, but with the electronic version I can “t. The setup is still more complicated that with a regular book. Using the software engineering terms, the e-book needs a runtime environment. The printed book can be compared to a .exe file that you can run on any Windows computer, while the e-book is like a server-side program deployed in some container, which has to be up an running.

A printed book is self-sufficient ndash; start reading anywhere in a second. You can spill beer on it and continue reading. You can drop it in the sand while laying on a beach. You can sit on it. You can tear a page or two out in case of emergency.

On the other hand, with Kindle you can magnify the text eliminating the need to use reading glasses . Kindle is compact and you can have lots of books in one slim device. But to me Kindle is not an exiting device. It does the job well, but it “s not a fetish device. None of the existing e-readers makes my heart beat faster.

I took this photo in suburban bus driving to Manhattan. This girl is clearly a reader. She even bought a portable flashlight eliminating the dependency on these ceiling-mounted dull little bulbs that may or may not work. She has to be able to read no matter what! But there are not many people who are willing to carry and operate expensive (more or less) electronic devices.

To be widely adopted by masses, E-readers must be comparable in price with the paperbacks. There should be disposable E-readers. I should be able to give an e-book with a device to anyone without worrying that she may forget to return it to me. Like disposable cigarette lighter. In the past, people would recharge these lighters with liquid gas. Who does it these days? They are so cheap hellip; These ebooks must become dramatically cheaper.

The E-readers have to agree on some interchangeable data format to enable a Kindle owner to exchange files with Nook, eReader et al. And this should be easy enough so even computer illiterate people could do it. The intellectual property laws should allow and promote e-book exchange between e-readers. I “m not breaking any laws by borrowing a book from someone. The same practice has to be established in the e-Book world.

The latest Barnes and Noble “s Nook supports colors for $250. Thank you very much, but I “d rather get a tablet PC for this much. I believe I still have the Sony e-Book reader laying in some drawer for a couple of years. Should I go and try to find it? Nay hellip;

RIA Integration: Bits and Pieces. Part 1.

There are many ways to have various software components to communicate in Java EE enterprise architecture. The same is applicable for integrating rich Internet Applications written in Adobe Flex and Java EE systems. Let “s consider the following scenario:

An application A is being developed using Flex-BlazeDS-Java, and it needs to integrate with a third-party Java-based Web application B, where the users must register, otherwise they can “t continue using the application A.

Of course, to implement this scenario you can engage some of the business process management software packages that will allow you to describe and configure the workflow with minimum or no coding. But the less moving parts are used in the architecture the better. Here “s the pretty simple way to implement our scenario.

Step 1. When the user presses the button on Flex view, the code is being executed inside the virtual machine ndash; Flash Player, which in turn is sitting inside HTML wrapper. So the first goal is to make a call from inside the Flash Player to the outside world. Using the ActionScript class ExternalInterface you can map the internal function, say registerUserAS() to the wrapper “s JavaScript function registerUserJS(). You have to write both of these functions yourself.

Step 2. The JavaScript function registerUserJS() opens the URL of the application B in a separate Web browser window, where the user registers as required by the application B.

Step 3. In the application A, develop and deploy Java servlet, say RegistrationCompleteServlet that can be called by the application B when the user successfully completed the registration. During this call, the application B will pass to the servlet a Data Transfer Object RegistrationInfoDTO, with all required registration details.

Step 4. The RegistrationCompleteServlet and BlazeDS are collocated in the same Java Servlet container(e..g. GlassFish, Tomcat, et al). The RegistrationCompleteServlet initiates a push of the RegistrationInfoDTO to the BlazeDS destination RegistrationDest with the routing to the proper client. How to push the data to the client over the AMF protocol is described in our book Enterprise Development with Flex.

Step 5. Almost forgot to mention that during the startup, our Flex application has created a Consumer subscribed to the messages from the destination RegistrationDest. As soon as the RegistrationInfoDTO is published to this destination, Flex client will receive it and let the user into the next view with a nice greeting, “Thank you, Yakov for registering. Your credit card information has been validated rdquo;.

That “s ” all there is to it. I “ve included “Part 1 rdquo; in the title of this blog, because hoping that this will become a series of writeups on integrating Flex and Java EE.

Hacking or design patterns?

Earlier this year, I made a statement defending hacking in an interview for Oracle. Yesterday, I found a thread on theserverside.com where java developers were sharing their view on the subject. In this blog I “ll take the same two quotes there ignited some arguments and will try to explain my point of view.

1. “Recently, I ‘ve been running a seminar for a small group of Java developers. Several times they ‘ve asked me, ‘Is this code an example of MVC pattern? ‘ I got the impression that implementing MVC had become an end in itself. Using Design Patterns is not a dogma. Just write the code that makes sense. Not everything that makes sense has a named design pattern. ”

2. “Abusing design patterns is not always the fault of Java developers. I find the approach used in the enterprise software shops similar to medicine in the US. In my opinion, lots of doctors here practice ‘protective medicine. ‘ They are trying to protect themselves from malpractice law suits. Enterprise managers and tech leads also try to minimize the risk introduced by lower-skilled developers who are part of every team. Yes, abiding to object-oriented principles definitely helps in making code readable, but this does not always translate into better performing applications. If hacked-up code produces great results, apply it without worrying whether another developer will have problems understanding it. ”

I work for Farata Systems, a consulting company that makes a living by developing rich Internet applications utilizing Adobe Flex and AIR and Java EE. We are a small company (about 30 people). We do consulting as well as develop our own software (both commercial and open source). The number 30 is important here. Many years ago, a respectful person taught me that until the company is under 30 people it “s efficient because there is no need to hire middlemen managers. The founders of the company can run the projects themselves, and there is no ballast.

After several years of running the company with two other geeks, I couldn “t agree more. We can afford to cherry pick developers, which large company can “t. I “ll tell you more ndash; we can afford having people who don “t have to stick to design patterns just to ensure that Joe Smith who became a programmer after attending 6 months of vocational school will understand the code. We can afford to build teams not with code monkeys who were shoved into our throats “because XYZ is our offshore partner and we have to keep them busy rdquo;. We are also working with offshore developers, but only with those who can do the job and can read/write the code regardless if it belongs to M, V, or C tiers.

Design patterns were not created equal. It “s OK to bash Singletons. They are easy to be blamed for being a replacement for global variables. But MVC is still considered to be good. Unfortunately, it “s not about three tiers any longer. Java architects enjoy creating layers. They “ll be happy to explain anyone how these extra layers will make your application very configurable and flexible. Layers are best friends of consulting firms who have sharpened their skills in creating beautiful powerpoints with nice round-square rectangles filled with color gradients. Thick arrows going from left to right shows how “with our consulting company you “ll move from here to there in just a couple of years rdquo;. The arrows must leave no doubts in the minds of hiring managers that “these guys can do it rdquo;.

And most importantly, these multi-tiered diagrams will explain the hiring manager of a large corporation that it “s OK that Satish is weak on the front end and Boris never worked with the back end hellip;if you know what I mean. This multi-tiered design can turn both Satish and Boris into code monkeys who will do nothing but inserting their business logic into easy to understand location and the framework will do the rest. Design patterns promote the lowest-denominator-skills software development.

You may be surprised, but even such a sacred cow as dependency injections is not a must. Believe it or not, pretty much any application can be created without DI. I “m not kidding. No XML configuration files to process. Popularity of dependency injection in the middle tier is based on the necessity of integration techniques to allow upgrades and replacement of large pieces of technology with their new implementations. To be fair, I need to praise Java EE 6 for smart and light implementation of DI that doesn “t make you drown in XML.

Applying DI in the front-end applications on top of the frameworks with well designed event model is an overkill on the desktops and suicidal on smart phones and tablets that need to be optimized for memory and speed. We see bigger consultancies still doing it because it is a proven and easy to sell solution. Unfortunately, starting a new Flex project with an analysis of which MVC framework to choose seems to become a habit in enterprises.

My interview statement that writing the code that works is the ultimate goal is applicable only in teams that can afford to employ skilled professionals. If for whatever reason you can “t, go with the flow and rely on injections that somehow will put the collection of Orders into your Customer object.

Finally, to make this blog even more thought provoking, I “ll touch upon yet another sensitive subject. Who do you need to write code for ndash; humans or computers? On one hand, the code must be readable, cause the same piece of code is being read a lot more often than being written/modified. On the other, the code must be efficient. For example, in financial trading applications adhering to design patterns is a low priority item. Speed is the king there.

Recently, I showed one chapter of my new Java tutorial to a very experienced Java developer. He was surprised that I included an example of BitSet there. This is what he said ndash; word for word, “Perhaps your experience is different than mine, but I don ‘t think I ‘ve ever seen this class used in practice. It really feels a bit old-fashioned, and C-like. In 2010 I ‘m not sure anyone writing code in Java really worries about this level of saving bits. Maybe it still relevant in some embedded systems, but do those systems actually run Java? rdquo;

Ten years ago I was working on developing an equity trading system for a Wall Street company. It was a J2EE application with a heavy use of messaging. A trading order had to be sent to a queue, and this was an object with about 50 fields with yes/no values. Using BitSet for sending a set of flags (bits that are set to 1 or 0) instead of text or numbers is the most economical way to do this. Did I care that a programmer who “d be reading my code a year from now won “t immediately understand that just a couple of bytes carried had tons of information about the order? I did not. This piece of code was not readable, but efficient.

IMO, in the ideal world of inhabited by skilled software engineers, the code has to be written for computers. But we don “t live in the perfect world. So I don “t insist.

How many women does it take to cook borsch?

Apache Software Foundation left the JCP Executive Committee. This step caused turmoil in the Java community. Java developers started take sides. How do you take sides these days? You twit, you blog, you facebook. Some die hard folks sent emails. Why won “t I take a side too? But first, I “ll make a bold assumption. Ninety five percent of Java developers don “t even know what the JCP is. Don “t believe me? Start asking the following question while interviewing job applicants, “What “s the difference between JCP, JSP, JSR, and JSF? rdquo; Then post interesting answers as comments to this blog. It “ll be fun.

Prior to the release, each version of Java SE, ME, or EE is a described in a set of specifications. For example, two weeks ago, JSR 336 has been passed ndash; it contained the description of the Java SE 7 content. Preparing of this document (let “s name it Borsch) if took four years after the release of Java SE 6. Similarly, Java EE is defined in e specifications for various technologies such as Servlets, JavaServer Pages (JSP), Enterprise Java Beans (EJB), Java Messaging Service (JMS) et al.

Each of these specifications has been defined by an open organization called Java Community Process (JCP). If a person or a group of people decides to propose a specification for some future technology, they would create so called Java Specification Request (JSR) and form a group of experts working on this specification. JSRs are numbered. For example, the specification for Servlets 3.0 was described in JSR 315. Let me pretend that I don “t know how painful the process of accepting the final release of JSR 315 was.

If you decide to get familiar with any specific JSR, visit this Web site . Currently, Java EE includes 45 JSRs, Java SE has 44, and Java ME (Micro Edition covers small devices) consists of 85. In other words, Java EE is (was?) based on standards.

Early in the morning, ten women have gathered in the kitchen of a poor but very friendly and outgoing lady called Sunny to cook Borsch. Each one brought her own recipe. Hours passed by but they still couldn “t agree on the set of ingredients to put in the pot. Finally, the burner was turned on, but another arguments began, “What “s the right level of the lid closure? rdquo;

Interestingly enough, the ladies didn “t care that much about the Borsch any longer. They really enjoyed The Process (a.k.a. Java Community Process). When Sunny “s husband came home, he saw ten happy ladies and no dinner on the table. No biggies. There was a pack of shrimps in the freezer, and 15 minutes later everyone enjoyed the dinner.

Am I loosing track here? Oh, yeah! Apache has left the JCP. Does it mean that these people won “t answer the phone when Oracle engineers will ask their opinion about some of the upcoming features of Java? Sure they will. Engineers always talk to engineers even though it “s sad that Oracle lawyers try to seriously censor what can be said. Are they unique in that? Hell no! Last week, one of the Java community leaders sent an email to the certain mailing list announcing that this was his last post about one Java-related subject because he was hired by Google hellip;

Does it mean that Oracle wants to hurt Java while having all their middleware written in this great language? Of course not. Oracle has talented engineers, and they will find a way to listen to the community feedback regarding the future of Java with or without JCP. Will they cook Borsch even slower than the JCP did? I doubt it.