My interview for sun.com plus bonus tracks

Sun.com has asked me a number of questions and published my answers over here. Due to space limitations a couple of my answers didn ‘t make it to that post. Here are the bonus tracks:

JSC: Can you identify any important differences between American and Russian developers?

Fain: I can just give you my opinion based on my personal experience. American developers are more motivated. They are success oriented and have mortgages and car loans to pay. They value their jobs and work hard to keep the paycheck coming. Lack of motivation is one of the major issues in Russia.

Another major difference is that American software developers accept the fact that their project managers are ultimately responsible for success of the project. The manager “s word to not use some technology is usually well taken. Some of the Russian developers strongly believe they know better how to develop the application, can get carried away trying “to do better for the project rdquo;. This can lead to failed deadlines. If you have such a bad egg in your project team, the chances are slim that you “ll be able to change his attitude.

Having said that, I also admit that there are excellent software engineers in the former Soviet Union and we are gladly work with them in our company.

JSC: You have begun experimenting with JavaFX,and even re-used the existing back end of the Java Pet store, and performed a little facelift by replacing the UI developed with AJAX/JSP/JavaServer Faces with one using JavaFX 1.0. Tell us about your impression of JavaFX.

Fain:

I ‘ve been following the process of creation of JavaFX during the last couple of years. Sun always had great software engineers and the JavaFX team was not an exception. But I had a feeling that this group didn ‘t have enough support from Sun ‘s top management.

About a year ago I tried to create the Pet Store with JavaFX 1.0. Back than it was not an easy job. There were no decent library of UI components, even such simple thing as a hyperlink control was not there. You ‘d need to manually create a wrappers for Swing components. Deploying with applets was not working for me. I had to use Web Start with scary security messages. Since you asked this question, I decided to revisit the page javafx.com. It laquo;greeted raquo; me with a warning that laquo;an applet dl.javafx.com is requesting unrestricted access to your computer. raquo; I pressed the button laquo;Deny raquo;. To make the story short, I put JavaFX aside till better times.

Flash Player will be packaged with Google Chrome

Adobe has announced that they made a deal with Google: the new releases of Chrome Web browser will be packaged with the latest version of Flash Player. Even though the only person I know who uses Chrome is my younger son (he just says it ‘s cool), this is an important announcement.

When I say that Flash Player is a great VM and an excellent choice for delivering rich Internet applications, thousands listen. But when Google makes a commitment to make Flash Player a part of its browser it has even more weight. Google states loud and clear that Flash Player is a valid software that can and should be used.

All these Youtube-raised boys and girls voices stating that HTML5 will kill Flash Player can ‘t be taken seriously for many years to come given the historically slow evolution and adoption of previous versions of HTML. I can see Silverlight (also a VM supported by a real vendor) to start competing with Flash Player in 2011 in the RIA space, but not HTML5.Check out this video comparing performance of Flash Player 10.1 and HTML5.

I ‘m sure, after hearing about this Google/Adobe announcement Apple won ‘t immediately allow Flash Player on SOS (Steve OS), but the statements like Flash Player overloads our 1Ghz CPU and drains the battery will sound as a joke as more and more Google ‘s phones will hit the market. Steve Jobs will surrender. The sooner the better or I ‘ll sell my shares of AAPL, which so far are doing great.

Would you approve the design of this Flash site?

During business hours my son Yuri is animator, but at night he turns into an indie musician. I like his music a lot. He recorded and published online a bunch of new songs and created a Flash Web site where you can listen to them for free: http://thisismybootleg.com/.

When he sent me this link, and ten clicks later I felt irritated. I didn ‘t know where should I click to get to this freaking music player. OK, I could ask the Web designer/animator directly, and he showed me where to click, but what about the other people?

I was arguing that such design is against the rules – it should be as intuitive to the end user as possible. Yuri responded, that he uses this rule while designing animation for commercial sites, but this site is for YOUNG people who don ‘t mind doing a little bit of an exploration on Web sites and would find the hot spot sooner or later.

I ‘m not a designer, but I know that people like self explanatory things. Any electronic widget that comes with a thick user manual makes me want to run away. Remember these toys in the Toys ‘R ‘Us with the large button “Click me “? This is it. No thinking required, or else..

After my 5-min lecture Yuri made it just a tiny bit more user friendly (or did he?).

So I ‘d love to hear your opinion – am I just an old fashioned grumpy corporate Web developer who doesn ‘t understand the latest hip trends, or this design is flawed?

BTW, if you will be able to find some secret spot on the screen that would let fan girls or recording labels contact my extremely indie musician, please leave a comment to this blog or send an email directly to Yuri via his main and better designed site: http://yurifain.com/ .

How OReilly helped me to come out of the closet

When O “Reilly “s sent us a book cover design for approval, it was a no brainer. Three authors hence three chickens. Anatole immediately said that he recognized Victor and myself, but was not sure if the third birdy looked like him. No biggies.

We “ve approved the cover, but somewhere in the back of my mind I still had unanswered questions:

Who are these animals? Pheasants?

After watching the behavior of my co-authors in various business situations (meetings with perspective clients, training gigs, conference talks) I found that they do look like pheasants once in a while. But what about me? Do I also look like a chicken at times?

Finally, O “Reilly published the description of our book Enterprise Development with Flex , which had a section titled with a new for me word “Colophon rdquo;.

Below, I “ve included the quotes from that colophon (production notes) in italic with my comments in regular font.

The animals on the cover of Enterprise Development with Flex are red-crested wood-quails (Rollulus roulroul), more commonly known today as crested wood partridges or Roul-roul partridges.

Mama, I found my roots! I “m not a pheasant ndash; I “m a red-crested wood quail! And I “m not alone ndash; Anatole and Victor are also quails living in the woods!

The birds live in small flocks in the lowland rainforests of Myanmar, Thailand, Malaysia, Sumatra, and Borneo. They forage on the ground for fruit, seeds, and insects, and often follow wild pigs through the forest to feed on any leftovers.

I guess, O “Reilly researchers didn “t know that some of the red-crested wood-quails can live in Eastern Europe ndash; I “m originally from Ukraine. As to the food, I tend to agree with everything but insects, which us, Ukrainian species don “t eat. Yes, we follow pigs – people from Ukraine are well known for eating pork “s fat (a.k.a. salo). When Ukraine was a part of the Soviet Union, there was deficit of everything. The Communist Party nomenclature had special closed supermarkets with good products, and my PS94 in Kiev was located nearby the food store, which periodically had some products that those big shots didn “t want. We used to call this supermarket “Leftovers rdquo;.

If disturbed, these plump birds can fly for short distances, but, as is common in many quail species, they tend to run instead.

By 1992, I was not only disturbed, but sick and tired of all this deficit and inability to grow as a professional. I “ve flown not for a short but for a very long distance and settled down in the USA.

Male and female red-crested wood-quails have vastly different appearances.

True. My wife doesn “t look like me.

Males sport a white spot at the base of the bristling red-crested head for which the bird is named, as well as iridescent blue-green plumage and a dark blue underbelly.

My hair is getting grey, and at the base of my head too. I “ll consider making my bristling head red-crested to be recognizable more easily. Please let me not disclose the color of my underbelly tattoo.

This bird ‘s call is a plaintive, whistled si-ul, most often heard at dawn.

The work on this book was a moonlight job for us, and no wonder people could hear us whistle and curse in the wee hours.

In 2004, the red-crested wood-quail was listed as a near threatened species due to heavy logging activity in Southeast Asia.

See guys, we may extinct if you won “t treat us nicely by purchasing our book in bulk quantities. By the way, chapter 4 will show you how to facilitate the heavy Flex/Java logging activity with an open source product Log4Fx.

Thank you, O “Reilly for publishing the book and helping in finding my identity! I ‘m coming out of the closet! I ‘m a red-crested wood-quail!

Joel Spolsky wants to quit blogging

Normal.dotm 0 0 1 366 2091 Farata 17 4 2567 12.0 0 false 18 pt 18 pt 0 0 false false false /* Style Definitions */ table.MsoNormalTable {mso-style-name:&”Table Normal&”; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:&”&”; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:&”Times New Roman&”; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:&”Times New Roman&”; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;} In the last Stack Overflow podcast Joel Spolsky said again that he “s going to stop blogging. He mentioned two reasons:

1. Even though most of the feedback on his blogs are positive, once in a while someone write a bad comment, which disappoints Joel.

2. Sometimes Joel may write something that might insult someone. Even though the Joel “s blogged opinion was right, it “s still an insult and it “s better not to write at all than write not what you think.

Being a blogger and a partner in an IT company myself, I do understand what Joel is talking about.

About five years ago I wrote a short blog describing one episode from my fishing trip. Please read it: http://yakovfain.javadevelopersjournal.com/verizon_or_cingular.htm.

Back then, I was working for a large consulting company. After reading that blog my manager said, “You know, Cingular is our company “s client. The chances are slim that they “ll read your blog, but what if they do? rdquo; I pretended that I didn “t get the message hellip;

In addition to this blog, I publish blogs at my company “s site where I behave.

But this one is my personal blog where I frankly write whatever comes to my mind. I know for sure that there are people in my company that would be happy if I “d close this blog. They are afraid that it may hurt our business. But I also know that there are organizations that are looking for savvy and trustworthy people who say what they think and not what “s politically correct.

I want to have a place where I write what I think openly without any censorship. I know that some of my personal blogs have room for improvement, but they are snapshots of my mind at that very moment, and I ain “t gonna change them just to make them prettier or more polished.

Over the years my skin became thick and one rude comment can “t put me in a bad mood. In the past, one of my colleagues told me that so-and-so put a bad label on one of our products by stating “The XYZ product is simply junk rdquo;. Just like that. I just ignore this BS. I realize that there can be bugs in our OPEN SOURCE software, but I also know that our software is not junk, and I simply ignore the comments like that one.

Apparently, Joel takes these bastards way too personally. It “s a pity. I do believe that Joel is #1 IT blogger and would like to continue enjoying his essays for many years to come.The other reason why Joel is planning to stop blogging (it ‘s just my guess) is that he is dealing with VC ‘s now and they don ‘t want him to blog.

On the bright side, I don “t think Joel will stop writing. It just doesn “t depends on him. Bloggers blog. They just do it, and sooner or later Joel will start blogging again. The sooner the better.

I know what I need an iPad for!

I always knew that I “ll buy an iPad in April. What I didn “t know would it be what for. I was trying to find an iPad function that can “t be easily done with a laptop. The problem solved: I “ll sleep with it! No kidding.

No worries, my tried and true wife will share the bed with us too.

As opposed to any laptop, iPad is nicely shaped. It “s rounded. No sharp corners. No keyboard that can hurt you while you are asleep.

Slide under the blanket, put on a pair of earphones with soft ear pieces (not these huge and rigid ones from Apple made for elephant “s ears) and listen to your favorite podcast or a music hellip; Slowly but surely you are falling asleep hellip; Golden slumbers hellip; No need to worry about iPad ndash; it “ll survive even if you “ll be sleeping on it. It can even fall off the bed without damaging itself.

My master bedroom is right above my office, where the wi-fi router is. This means that I can get by with the cheapest (non 3G) iPad model. The 3G model is for old farts who need to be able to read emails in large fonts while on the road (burn in hell Blackberry!)

Important: for men, sleeping with iPad 3G is not recommended. While you are asleep, it can (coincidently) slide close to your private parts, and slight radiation will affect your manly abilities sooner or later. Consult with your urologist before making a decision which model to purchase.

Unfortunately, iPad won “t heat up. Just imagine hellip;.your wife is watching TV, and you go to a cold bed were a well rounded, warm, and knowledgeable partner is waiting for you! iPad will never cheat on you (changing a dead battery for $107 only in the Apple store doesn “t count). If you see a decrease in number of marriages (both hetero and homosexuals) within the next couple of years, you “ll know what to blame for, will you?

One day Master Class on Flex Modularization comes to New York City

Last week, I ‘ve presented on Flex modules and libraries at 360flex in San Jose, CA. This talk brought lots of developers to the room. After this 80-minute presentation I ‘ve been answering questions for another 25 minutes.

Such an unexpected interest to this non-flashy and very technical topic is a good indication that lots of enterprise grade Flex applications are being developed in the real world.

Three days in a row the 360Flex attendees were stopping by just to say “Thank you ” for explaining how to approach slicing a Flex application into pieces.

Inspired with such a warm welcome, I ‘ve created a curriculum for a one day hands-on master class where this topic can be covered from the practitioner ‘s point of view and in greater details. I know for sure that most of the people who have developed at least one production grade Flex application had to go through the pain of modularizing the application when it was almost ready for production. The goal of this workshop is to help you in designing your application properly in the early stages of the project rather than deciding what to do with this 3MB monster a month before going in production.

This event is scheduled on May 17 in New York City. It ‘ll take place right after the conference Flash and the City, so consider staying in this great city for yet another day. You won ‘t regret it.

The ROI of attending this workshop can be pretty substantial. This is a small scale bring-your-own-laptop event and the number of seats is limited – consider registering early at the following Web page: http://bit.ly/cjUaCd.

360flex, San Jose 2010, Day 3

Community Keynote at #360flex is about to start to the sounds of beat sequences. Why hire a DJ if Sean Moore, a remote Flex developer can call in via Skype from Colorado with video camera on and start spinning his disks? Tom is projecting the video on three large screens and the music goes through the speakers.

Great job, @seantheflexguy! If we had more female Flex developers there, all 365 attendees would be dancing. How about introducing discount for girls at the next #360flex?

During the first part of this keynote the audience thanks speakers, volunteers, sponsors, and John “s wife Nicole for making this conference happen.

The second part of the community keynote is like an annual visit to an accountant. The organizers open up the books. Literally. It “s the moment of truth and transparency. The first slide showed the expenses “the money out rdquo;. Then goes the slide with “the money in rdquo;, then the pocket change ndash; the difference between the in and out. I “m not going to publish these slides here to give Tom and John some room to play before they “ll submit the final numbers to IRS.

I sincerely hope that this public bookkeeping will stop soon, which will be a good indication that Tom and John are finally making some real money for all the hard work they put organizing this excellent independent conference for Flex developers.

There “s one more tradition of the community keynote: Tom announces that this was the last time he was organizing this conference, and he quits. I understand his feelings. I have similar state of mind after finishing writing yet another book. Last month it was the 6th time when I said to myself, “Never again! rdquo; But I realize that I “ll write yet another book too.

But let “s observe the protocol and thank Tom for his hard work and say, “@lordbron good luck in your future endeavors! rdquo;

Then the mike goes to @BenStucki who shows a quick demo of the Reflex framework of components that are a lot lighter than their Flex peer: 40Kb SWF vs. 400KB. Ben, as usual, wears his “always on rdquo; baseball cap. @AmyBlankenship posted the following on Twitter: “Wondering if the top of @BenStucki ‘s head exists hellip; rdquo;

Now seriously. Ben has very ambitious task. I “m not sure if Reflex will reach production quality any time soon, but I see at least three possible positive outcomes of this effort:

1. Adobe will learn from Reflex how to create lighter Flex components

2. Ben will create a niche job market for his company ndash; the firms that need fast and light components will be hiring him for development of specialized custom components.

3. Tiny SWF may be in demand among the twenty minus one vendors of Smart Mobile devices.

Then I spent half an hour listening to Renaun Ericskon “s talk “ActionScript Tips for iPhone Games. rdquo; He “s the guy if you need to optimize your iPhone application written in ActionScript.

When I “ve heard that Adobe open sourced the data visualization code, my na iuml;ve mind took the price of Flex Builder Professional ($699 = $249 + datavisualization) and deducted datavisualization. My formula produced the new price, but I “m afraid that Adobe will apply different logic and the price of Flash Builder won “t go lower than $699.

Hint. If you want to be cool this season, keep saying that you never use the Design mode in Flash Builder. Or even better ndash; use IntelliJIdea.

My final three-hour technical session was “Comparing Flex and Silverlight rdquo; presented by Jun Heider and Eric Fickes. These guys did a very good technical comparison of two products. Start taking Silverlight seriously. I “d be very interested to compare the licensing costs of deployment of an enterprise data driven application utilizing binary protocols in Flex/LCDS/BlazeDS vs Silverlight/IIS. Without these numbers it “s hard to recommend one or the other technology to the enterprise customers.

During this presentation I “ve also enjoyed watching the monkey dance of one of the Microsoft “s billionaires.

On the way home, Jeff Tapper told me that the new version of the Flex 4 Training from the Source book will become available. This time it ‘ll consist of two parts, and the first part will be available in April. In the past, I bought the Flex 2 and Flex 3 editions of this well written training manual, and will definitely buy the Flex 4 version too.

Summary

Here “s a recap of some things I liked about the #360Flex circa San Jose 2010:

1. Lot “s of power outlets and extenders.

2. A vending machine with disabled dollar slot was dispensing the cans for free.

3. 80% of presentations are done by independent Flex developers.

4. As always, this conference was very friendly and informal

When/where is the next 360flex? Anyone knows? I need to book the flight early.

360flex, San Jose 2010, Tuesday

On Tuesday, I “ve attended a couple of panels and 2.5 sessions.

The morning panel was titled “Principles of RIA rdquo; and was about bringing animation and effects to your RIA to make it more engaging. For some reason it didn “t get me excited as I have to deal with more prosaic issues on a daily basis.

The next hour and a half I spent sitting on the floor in the overcrowded room where Deepa was reviewing new features of Flex 4, which were not Spark components.

During the lunch I was invited to speak at a conference in Mexico and discussed specifics of working as a consultant on government projects.

Then, I made a wrong choice because of the misleading title ndash; I was expected to see more advanced stuff, but it was an intro type session. C “mon, stop writing ANT manually ndash; check out our free plugin FX2Ant that generates ANT script from your Flex project in seconds.

My next selection was the session on Test Driven Development (TDD) by Elad Elrom. This was the best session of the day hands down. There are situations when TDD can save project development cycle. Writing tests before the actual application is written forces people to better understand the application being developed. Ten year ago using UML-based code generators would have a similar effect – we had to think before code, but we “d had to test code manually.

In the 21-st Century, the legions of low skilled people rushed into software development and the more coding generated and tested automatically the better.

During Elad “s presentation I “ve learned a new term for something that we all experience in the corporate world: Asshole-Driven Development. Here “s the slide on the subject:

The technical part of the day was closed by another panel. This time it was on the business of software ndash; how to estimate development cost, how to talk to clients, how to run teams etc. This topic drew a lot of interest among the developers, but to me, most of the answers were sugarcoated. The panelists were saying the right things, but to my taste, it was not open enough. There is a lot more BS in this area than it was presented. I liked the comments made by RJ Owen (he was on the panel) ndash; RJ has a good sense of humor.

A couple of takeaways from this session are:

1. Development can be good, fast, and cheap ndash; pick two.

2. When you are developing a project, it “s like working in the construction business. The difference is that instead of wood and bricks you have to use live kittens ndash; they move, play, fight hellip;

The level of the attendees is different. For example, one person told me that he wrote a large Flex application ndash; 8000 lines of code in one file. But he understands that this is not right. In today “s podcast The Flex Show one girl said, “We use a lot of Flex, especially for our front end. rdquo; Nice!

Organizers of the conference marked each presentation by a level of complexity: 100, 200, and 300. Mine was marked as 300, but one guy stopped by saying the he loved it even though it was of a level 400. He also said that during the preso I “sold rdquo; a lot of our copies of our upcoming book. I was not presenting to sell books, but hey O “Reilly, have you heard this?

At the end of the day I went for dinner to P.F.Chang “s with Shashank, Tom, Jeff, and John and group of other people. Five Adobe evangelists were eating there already. We “ve asked the waiter to give us a table far from them assuming they might need privacy to discuss some secret things, like the date of Flex 4 release. He-he, if they “d read my yesterday “s blog they “d know that I calculated that date already.

For me, it was the second day in a row at P.F.Chang “s. I was the only one who have been there already. At this restaurant, they bring you the bill and fortune cookies at the same time, I guess, to ease the pain. Shashank “s cookie had something about multi-touch, which is a good sign since he “s presenting on Wed on this subject.

Wednesday is the closing day of the conference.

Another day, another dinner at P.F. Chang “s.