Sunday with the lights out in Dallas

On Saturday, I ran the first day of our public seminar “Weekend with Flex Experts ” in New Jersey, and on Sunday morning I “ve arrived to our private client in Dallas, Texas to run custom Flex training . Ten minutes after I started, the entire building lost the power. I “ve got juice in my vaio laptop for 30 minutes. My students were using MacBook Pros, and they “ve happily announced that their batteries should run for about four hours.

I ‘ve started the training using the paper copy of the courseware. The batteries started dying one after another, and during the next two hours I “ve been running a “hands-on rdquo; training, helping myself by waiving hands and using body language to impersonate development of rich Internet applications with Flex. I felt like a singer who had to sing at a stadium without a mike. When we “ve got the power, I did not need it really. The audience was great and we “ve had a pretty good understanding regarding best practices of software development. Someone has suggested beer a couple of times hellip;

On Monday morning I was back at the client “s site, and ten minutes after, the bulb in the projector died. Nobody was surprised at all. A large second monitor let me finish the job.

Morale of this story: when it rains it pours, so?

Breaking News for the Flex Community

In my opinion this is THE biggest announcement that I “ve heard from Adobe after release Flex 2 in the Summer of 2006. This is bigger than open sourcing Flex. This is bigger than AIR. Here “s the news: Adobe is open sourcing AMF protocol and messaging under LGPL V3. Christophe Coenraets, a Senior Flex Evangelist from Adobe told me about this new free product called BlazeDS.

While many people are using Flex for creating cool widgets that can make your Web page prettier, enterprise Flex developers have to deal with such boring things as bringing data to the client. And they want to do this as fast as possible. AMF3 protocol allows your Web application to send the data over the wire at lease ten times faster than a regular HTTP.

Basically, Adobe extracted the libraries that supported AMF protocol from LiveCycle Data Services ES and gave it to us for free. On top of that, BlazeDS introduces a new channel for messaging: DHTTPStreaming that will support messaging on top of HTTP. In this mode the Web browser keeps the connection open. RTMP protocol will not be open-sourced at this time.

Like the news? I know. And here ‘s something for dessert. Adobe is publishing a full specification of the AMF3 protocol, which will allow anyone to implement Flex remoting for any server-side programming language.

Based on my experience, the price tag of LCDS licenses was too hefty for many small and mid-size businesses. They ‘d love to have faster communication with POJO , but purchasing just the communication piece was not available. Now you ‘ll get it for free.

For those who are afraid of jumping into open source waters and want a product that is backed up by a large company, Adobe will maintain LiveCycle Data Services Community Edition, which is BlazeDS certified by Adobe. in the diagram below, LCDS components that won ‘t be included in BlazeDS are shown in gray.

The product will stay in Beta for a couple of months, but since it “s a pretty stable software, the GA release will follow up shortly. Visit http://labs.adobe.com/technologies/blazeds for more details.

Now, why this announcement is important for the company I work for:

1. Now we ‘ll have a lot more consulting requests.

2. Our firm will start selling more of our software components, namely ClearBI and Clear Data Builder. We can just say to our customers that other than our licenses, there ‘s nothing else to purchase.

3. We ‘ll have more training requests since Flex will be used by a lot more organizations since BlazeDS will definitely open many enterprise doors to Flex development.

Overall, Adobe made a very smart move, which on the long run will lead to more sales of LCDS too. But for now let ‘s enjoy free BlazeDS.

Why Russian kids are good students in America

Public schools in America are easy for kids that were born abroad. Chinese, Indian and Russian-born kids are the best students in America. Four years ago the daughter of our Russian friends was admitted to Yale – her SAT was 1550. When I told this to my Chinese colleague, he simply answered, “It’s a good score for a girl”. His son was accepted to Princeton with SAT of 1600. How is it possible? Watch this youtube video for the answer.

Which AJAX framework do you use?

Thirty years ago. The Soviet Union. On election day people would gather at the voting centers to select Leonid Brezhnev. Who do you vote for – Leonid Breznev or Leonid Brezhnev? You pick! This was one extreme.

When I ‘ve arrived to the USA, I was overwhelmed by the variety of everything. Which cereal, tv, car, sofa, audio to select? There is so many of them…I was lost! Please someone help! This was another extreme.

AJAX advocates often use this argument: “With AJAX you do not need to be locked in with any vendor as opposed to Flex (Adobe) Silverlight (Microsoft) or Java (Sun). Just use freely available JavaScript, CSS, HTML, XMLHttpRequest and you are set. ”

Is it really so? Then, AJAX vendors (contradicting the AJAX advocates) add the following phrase to their brochures: “With our framework you do need to write JavaScript manually “.

Fine. Let me select the framework XYZ (locking myself in with the vendor of XYZ). How many AJAX vendors are there? There is an open AJAX developer ‘s survey. It has only three questions. But please look at the question number 3 that lists your choices. Please select the one you like… if you can. The creator of this survey realizes, that he might have forgotten some other AJAX framework, hence the field Other at the end of this laundry list.

I hate selecting Brezhnev from Brezhnev, but I do not want to see this variety of frameworks either.

Yet another article is stolen

It happens again and again… First one guy from India published a number of myJava articles on his Web site without even mentioning my name. I blogged about it and the guy apologized and removed the content from his Web site.

Here ‘s a fresh one, please welcome, Mr. Sridhar Raparthi. Here ‘s my article published under my name here , there and right there . And this is Mr. Rapati ‘s version in his blog called In Search of Soul. I know for sure that this search won ‘t be tha fastest one. This poor soul has forgotten to put my name there…

In his “About Me ” section Sridar introduces himself as follows: “i am basically a bit roaming guy, a bit of anger, a bit of sympathy to humanity…. ”

He just need to add there “and a bit of a thief…well, just a little bit “.

An incident with a Texas trooper

My friend (let ‘s call him Joe) went to Texas on business. He rented a car and had to drive a couple of hundred miles from one city to another. In Texas, driving 200 miles is an non-event – it ‘s like driving 20 miles in New Jersey. Joe was running late, he was speeding and got pulled over by a state trooper for doing 82 on 65. The trooper stayed in the car for a while and then invited Joe to step out of the car and slowly approach the police car, which Joe did. Then, a typical “License, registration and insurance, please. What do you do in Texas?… ” The cop liked Joe and just gave him a written warning – not a ticket.

When Joe arrived to his destination city, he could not find his driver ‘s license, which was not a good thing because on the next day he was supposed to board the plane to go back home. Passports are not required for traveling within the country, but you need a valid ID. Joe decided that the cop must have forgotten to return his license earlier today. Next day he was driving back on the same highway, and noticed a police car not to far from the place of yesterday ‘s incident. He pulled over and ask the cop who was in the car if there is a way to contact yesterday ‘s cop (Joe showed him the paper warning). This cop said that he has a vague idea where that cop might be, took Joe ‘s cell phone and promised to contact him later that day. In about an hour, he called Joe and said that he found that cop in a so-and-so shopping plaza, which was in 30 miles from the place Joe was at the moment. In Texas, driving 30 miles is like driving 3 in New Jersey, remember?

When Joe arrived to that sopping plaza, he found his yesterday cop watching a video tape with with another cop. Apparently, they tape each incident on the road, and he was trying to find the “an episode ” with Joe. Finally he ‘s got and showed Joe on the screen how he ‘s returned his driver license. Even at this point it ‘s clear that the cops did more than they ‘ve were expected to do, but the story continues…

Then the cop said, “Most likely you ‘ve dropped the license on the spot and it ‘s still there in the grass. Do you want to go and check? I have the GPS info of that place recorded on the tape, so we can find that spot easily “. Joe, was amazed and grateful, especially given the fact that they were in 20 miles from that place. They drove to the spot – dusty grass in the middle of nowhere – no licenses laying around. Then the cop goes, “Wait a minute, I made a mistake – as per GPS we are three hundred yards away from the right spot. ” They ‘ve moved three hundred yards down and found Joe ‘s driver ‘s license in the grass!

To me, this is an amazing story. First and foremost, it tells me that people in Texas are better than in the Greater New York area. I can not imagine something like this happening in New Jersey. Not in the wildest dream.

Second, I thought that only in Hollywood movies the police can use the the latest technologies in their day-to-day lives. Apparently I was wrone.

Bravo, Texas police!

A dozen of 2008 predictions

The year of 2007 was a good one. The IT job market was stable. The mankind got an iPhone. While there were no any revolutionary changes in the ways software was developed, I believe that this was a year of rich Internet applications and Web 2.0. Youtube became a part of life of millions of people around the world. A large portion of the population visits use myface and facebook daily. What “s next? What language/tool/technique to learn? What “s the next big thing in IT? In my opinion hellip;

1. Java will remain strong in large enterprises, but will it “ll continue losing grounds as a development platform for small businesses. J2EE is way too heavy, and scripting languages and frameworks offer an alternative and productive way of software development when cost of development is more important than performance and scalability. LAMP platform will remain a preferable way to develop applications for small to medium businesses.

2. AJAX popularity may go downhill. Since the first day this acronym was created I “ve been writing that it ‘s not a good choice for developing enterprise applications. But the vast majority of software world was (and still is) marching the AJAX way. This time it “s more of a hope than a prediction that in 2008 people will realize that AJAX should serve the same goal as JavaScript ndash; making your Web pages a little prettier. Expect to see re-branding of some of the AJAX frameworks into RIA or Web 2.0 solutions.

3. Speaking of Web 2.0 hellip; Even though Web 2.0 was not officially defined, I think it “s all about giving more control to the users of the Web sites. The more interactive is a Web site, the higher number people will put in front of the zero ndash; 3.0, 4.0 and so on. Some people say that Web 3.0 is about semantic Web. If you bought a grill on Amazon.com they can guess with a high probability that you might be shopping for rib eye steaks. Let “s show it to you next time you visit the site. It “s all about control. From the user “s side and from the vendor “s site. We “ll see more and more interactive sites next years. While some people are planning to write a next generation sophisticated software, others will come up with a very simple, easy to implement but appealing business idea, and the next 20-year billionaire is born.

4. Flash Player. It will remain the best deployment platform for rich Internet applications. While Microsoft is trying to come up with a competitive delivering platform for RIA, it “s not going to happen in 2008. Silverlight 1.0 is a good start, the next version (1.1) will be even better, but it “ll take time to release a product that can do more than streaming multimedia.

5. Ruby on Rails will take a small share of the market of small non-mission Web applications. Convention over configuration. Speed of development over performance. While Ruby on Rails will not become a framework of choice, it has achieved a very positive result ndash; people started to realize that not every project has to be developed in either Java or .Net. Besides, RoR is a well designed framework that will become a good design sample for the new frameworks of the future.

6. Internet video. This will be booming and I “m not talking about youtube. The Internet Video will start being a part of a number of enterprise applications. This process won “t be fast, and you have an opportunity to be among the early adopters in this sector.

7. Outsourcing will be gaining more and more grounds despite the fact that it “s very expensive and the project failure rate is high. The reason is that the USA almost stopped producing software engineers. It “s just the matter of time for everyone to get used to the fact that business software is made in India just like we all know that all toys (with or without lead) are made in China. But innovation in software will still be happening in America. I guess, there “s something in the air here. Re-read an old but valid article by Paul Graham about why the Silicon Valley can “t be exported.

8. Apple. Next year I “ll finally purchase a MacBook Pro for myself hellip; if my Sony Vaio will die. Even if it won “t die, having a two year old machine is a good excuse for submitting a purchase order to my wife for an approval. Peer pressure, cool design and ability to run Windows (plan B), will force me to ignore the high price.

9. Adobe Flex and AIR. Flex will become the #1 tool for developing enterprise rich Internet application, and I “ll be seeing less that 10% of the raised hands when asking an audience, “Raise your hand if you dor not know what Flex is? rdquo; Adobe AIR “s adoption will be slow though. Or course, the shops that are already sold on Flex will use it, and some AJAX developers will realize that it may become a life saver for their applications, but that “s about it. While being a well designed and very promising technology (Flex, Flash Player, HTML, JavaScript, PDF, SQLLite DBMS, an ability to work in a disconnected mode, and full access to your PC “s resources), it may be perceived as yet another Web browser, which is a tough sell in the enterprises. At least, become an early adopter. I will.

10. Telephony. If 2007 was a year of Skype, we “ll see some interesting development in this area. Skype is a great product, but it requires you to download and install software. In the era of RIA things can be done without it. Watch the Ribbit phone software that will allow you to make calls and receive emails just from your Web browser.

11. IT job market in the USA. While we “ve enjoyed a stable demand in the IT professionals in 2007, it won “t last and next year we “ll see project freezes and even layoffs. The reason is the burst of the real estate bubble. And this will affect not only those simple people who were brainwashed and decided that they could have afforded an American dream. CEOs of the major Wall Street corporation are being fired after drowning their companies by getting into bad mortgage debt. Among other things, the IT budget will be severely cut. And as you know, today “s on Wall Street, tomorrow “s on Main street. Use the training budget of your employer now if it “s not too late. Keep your skills up to date.

12. The hottest IT skills of 2008. When the job market is tight, recruiters immediately increase the list of skill requirements for job opennings. You “ll see job posting that expect you to know a number of programming languages ranging from Cobol to C++. Knowing just one hot tool does not cut it anymore. But if you have limited time and need money, start with investing in learning tools for developing rich Internet applications. A skill set -of a high-paid Web developer at a minimum has to include the following skills:

HTML,CSS, JavaScript, J2EE or.NET, Flex or Silverlight, AJAX, and good communication skills. You do not have to really learn AJAX, but must add AJAX keyword to your resume, otherwise you may not even get a job interview.

13. The next big thing. The in software development will change to wider use of code generators. Forget about heavy frameworks regardless of what programming language you use. In a simple case, use some XML style sheets combined with the metadata that describe your application objects to automatically generate the code for these objects. On the larger scale, the entire application may be described using metadata and the XML, and an appropriate code generator will do the job. So programming will change from writing a tedious code that requires lots of coders to describing the metadata and writing custom code generators.

Happy New Year!

Horrible Web design rules!

When purchasing stuff online I always pay attention to the design of the vendor ‘s Web site to assess if it ‘s a large company of a fly-by-night guys that quickly put together a cheap Web site. I know that creating of a professional-looking Web site costs tens of thousands dollars or more. If you play by the business rules, you must hire a professional Web designer – we all know this. But…

Yesterday, we realized that the heater in our house got broken. We have this air unit that started to make noise without pumping in the hot air. I ‘m not a handy man, but this time Iopened the heater ‘s cover and quickly realized that the ignitor was broke in this gas unit. What ‘s first thing that you should do when something like this happens? You have to unscrew the ignitor, try to find there any tatoo that resembles the model number and … go to Google. I did exactly this and found a Web site that sells them. When I looked at this Web site , it was clear that this site was created at least ten years ago by an amateur who never paid a dime to any Web designer. It ‘s just horrible. Some time ago I purchased a book that was called something like Web sites that suck. This Web site is worse than any imaginable poorly designed site, because it has no design at all.

I ‘d never returned to this Web site, but apparently not too many places sell these ignitors online so I decided to give this site another look. When I saw a photo of two grandkids at the bottom of the site, I immediately visualized a loving grandpa and understood that he can ‘t be a crook. Than in the middle of the page I found this text

“Below is a note from me, Steve Arnold, explaining my philosophy of business and life……

“I Kenneth S. Arnold (I go by my middle name, “Steve “), president of Arnold ‘s Service Company, Inc. guarantee you there will be no problems with Arnold ‘s Service Company, Inc. in standing behind any guarantee and warranty. I believe that you should always treat others as you would want to be treated. Always exhibit a Christian attitude…. honesty, caring, dependability, reliability are a must!

Sincerely, Kenneth S. Arnold, President/Owner of Arnold ‘s Service Company, Inc. ”

You can ‘t fake such a statement. Look at the banner of the Dodge pick up truck… Needless to say that Dodge dis not pay a penny for hosting their banner there. It just tells me that this guy loves his little truck and lives by the principle “American, buy American “.

This guy is real. The only thing that I did not like about this site was that he put an image of Santa Claus but did not have guts to say “Merry Christmas “. He did what ‘s a little better for business: “Happy Holiday Season ” . I guess heater furnaces get broken in the homes of muslims, jews, buddists, and voodoo followers too.

Anyway, I ‘ve order the ignitor from this guy and I ‘m positive that I ‘ll never have any problems with this small business owner. I wonder if this might become a new trend – instead of pouring thousands of dollars into development of rich Internet applications, just be sincere and people will make your business a success?

Merry Christmas Mr. Arnold and Happy Khanukah to all your Jewish customers!

Update. I placed this order on Sunday morning, then wrote this blog, and on Monday at 8AM I ‘ve received the shipment notification with the UPS tracking number. Told ‘ya!

Update #2. The ignitor was not even a problem. There was a crack in the housing of the Heater ‘s fan. Morale: If you are a programmer, do not try to fix heaters. Keep programming and pay the professionals to do other things.

Why offshore Indian programmers are a lot less productive than American Indians?

I write about Indians without any disrespect intended. I picked them just because this nation produces the largest number of the offshore coders-for-living in the world. But Indians living here are not the same as Indians who are still there.

Local Indian programmers belong to two categories: those who are still in the process of getting the US permanent residency(5-6 years) and those who already got it. Those who are in the process know that they have to work hard and be loyal to their employer, or else hellip; Those who already got it, just keep working well. To put it short, the vast majority of the Indian programmers I “ve been working with in the USA are good and hard working IT professionals. I “ve met and learned a lot from highly educated people from India, who are fun just to spend time with.

That other group lives in the gold-software-rush India and is called “our offshore partners rdquo;. American programmers casually complain that dealing with offshore partners is pain in the butt, because they are slow, deliver not what “s expected, require a lot more detailed specs, and time difference can result in days of email correspondence just to clarify what has to be done.

What do you think comes to mind of a typical American enterprise development manager when s/he realizes that lots of tedious code has to be written to retrieve the data from a database, massage them a little bit and display the result on the Web? India-the-savior comes to mind. A typical manager still believes that Indian programmers are dime a dozen. As Julia Roberts said, “Big mistake. Huge! rdquo;

So why any non-deaf corporate US programmer hears constant complains about those Indian teams from overseas? Why an Indian-born entrepreneur asks me, if I can recommend him a team of programmers but not from India? What “s the difference between Indians here and there?

The difference is not in them. The difference is in us. Poor performance of the offshore teams is a mirror of the poor job of the incompetent US project managers. They pretend that there is no difference in managing local and offshore teams, and it “s their fault that offshore projects are more expensive than the local ones. If you bring in an offshore team to your project, be ready to seriously improve the quality of your project documentation. Also your project will loose agility, if any. If a local developer can understand what has to be done and what are the priorities just by short phrase or a body language, this does not exist in the overseas communications. Do not go by this stupid book by Thomas Friedman “The World is Flat rdquo;. Yeah, right! The world is freaking round.

Sure enough, Bangalore is not a city of angels either. First, many of them have a heavy accent. Second, it “s the time to make a quick buck there, so if anyone offers them one extra dollar an hour, they “ll flee your project in a heartbeat. Do you know what “s going to be the two most popular words that you “ll hear from them? “I thought hellip; rdquo; These two words should give you goose bumps. This means that you “re not going to get what you “ve expected because your overseas partners did not understand the assignment, and very inexpensive rates become a huge burden to your project. Three people (just $20p/h) offshore programmers spend three days working on your assignment. Then you hear “We thought hellip; rdquo;, which means the $20*8*3=$460 just this very moment went down the toilet. And even more importantly, if a local developer would have questions about the job to be done, s/he would have casually stop by and asked. But your partners from overseas are often shy to ask, which might be a cultural thing. They are afraid to ask wrong questions and prefer not to ask any.

Indian vocational schools keep baking new programmers every three months beefing up their resumes with a fake industry experience, but do you care? Do you have a choice? Can you find local programmers that have real experience and demand rates that can be squeezed in your budget? Can “t? So shut up and sit down. American-born programmers will soon become a myth anyway. If I interview a programmer and like his technical skills, I do not care what “s written in his resume. If s/he “s good for the job, get on board. And do not give me this baloney that a seasoned Java programmer who was predominantly working on HR applications is useless if you are working on a Wall Street trading application. Do not worry, they “ll quickly pick up the difference between long and short sales.

OMG, you do not have derivatives in your resume! It “s a rocket science and we feel superior here. BS. Pretty soon all these snobs will be happy to find a person who understands how the bubble sort works and what “s the difference between a class and interface. The secret rolls revealing the bubble sort algorithm have been stolen from the USA and relocated to India. Accept this fact and move on.

Alex Iskold has written an interesting blog concluding that a few good developers can do any job. But he “s not accounting for the garage factor. Yes, a few good men can do the job if they are in the garage, which is the most productive place to develop software. But if you place them in an enterprise environment where covering your manager “s ass is more important than finding the right technical solution, these good men will soon suffocate and die unless they are supported by a good team of mid-level apprentices.

Try to find a small number of very good local developers (pay them premium) and an EXCELLENT LOCAL MANAGER of your offshore team that speaks their language to lower the chances of your project “s failure. And what “s more importantly (c “mon, admit it), your career won “t be in jeopardy.

Long Live India, and God Bless America! Amen.

My definition of vacation

Happily, I was quite busy all year. If American English is not your first or second language, this phrase means the following ndash; I was working my ass off and am tired as hell. Today, I had a half an hour break between the day job and the evening class at NYU. I went to a caf eacute; Europa on Fifth and 43rd, sat at the table and literally forced myself to not open the laptop.

Yesterday, I met with my business partners and suggested that next year we should take a longer vacation. One of them asked, “What do you call a vacation? rdquo; I said, “Vacation is when you are not available rdquo;. This is my definition of vacation. What “s yours?