Sorry, Im not a modest person, but at least Im honest

Today we “ve finally submitted chapter 6 of the book on Enterprise development with Flex to O “Reilly. This one was about advanced techniques of using BlaseDS in communications between Flex and Java. At this point you ‘d expect something like, “It “s coming out nicely rdquo;. Sorry guys, I “m not a modest person. But I “m honest.

Here me out: this chapter 6 (66 pages) on advanced techniques of Flex/Java communications using open source BlazeDS is a gem. This chapter alone is worth buying the book. Server side push over AMF, reverse side RPC, automatic data synchronization hellip;

I have the best co-authors. Ever. They “re just amazing. Yes, we fight with each other. We don “t agree. We are not politically correct. We use the f-word when discuss enterprise architecture. We want to find the best possible solution for our customers. We publish thought provoking articles (some people call them controversial, but they are freaking wrong). But guess what, we “ve been there. And I “m not talking about sales presentations trying to convince you that Flex/Java does your body good. “Take a look hellip; it “s just 20 lines of code and we populated the data grid with XML coming from the server rdquo;. It “s so sweet hellip;.

I “m talking about the real stuff that Wall Street is dealing with day in and day out. OK. Forget about Wall Street. They are still out of style. Let “s talk about the calls like this one, “We are going live in two months. Can you please take a look at our application it doesn “t perform that great. rdquo;

Oh, really hellip;.It doesn “t perform well? Don “t kid yourself. It “s dead in the water. I know, I know. You “ve outsourced the development. It seemed so easy to drag and drop Flex components hellip; You didn “t get a chance to schedule stress tests yet? How many? Ten thousand users will play online roulette hellip;? We “ll do our best.

I don “t know why O “Reilly decided to sell this book for stinking fifty bucks. We don ‘t have a say in pricing. But it should cost a lot more than that. If I ‘d be working for Forrester, I could ‘ve written a 10-page report stating something like, “There will be snow in Winter in Canada ” and enterprises would pay hundreds of dollars for me sharing this trend. Oh, well…

Sorry, I ‘m not a modest person, but at least I ‘m honest.

Have you submitted your proposal for Max09?

Tomorrow is the last day for submitting papers for Adobe ‘s main conference called Max ’09.

I ‘ve submitted two proposals – one ‘s called “Practical Flex Design Patterns That Make Sense “, and the other one is titled “Data Synchronization with AIR and BlazeDS “. Hopefully, one of them will be accepted… because I ‘ve never been to LA 🙂

Just found the audio recording of our panel at MAX ’08 called “Flex Architecture faceoff “. I was one of the four panelists on stage. Beside being a practitioner, each of us was an O ‘Reilly book author. Here ‘s the recording: http://tv.adobe.com/?sdid=ELUHV#vi+f15384v1055

As always, the most aggressive panelist is yours truly. Was that joke about the goat a little bit too much? If none of my proposals will be accepted, we ‘ll know who ‘s to blame – the goat.

Have you ever written a technical book for OReilly?

Here “s how it works:

1. Somehow, an acquisition editor from O ‘Reilly decided that progressive mankind needs a specific book about enterprise development with Flex, and you got an email…

2. You immediately forget your own promise not to write no stinking technical books no more. Why do you forget? Because it “s O “Reilly, you stupid! After a quick discussion with my co-authors, we said, “Sure! rdquo;

3a. The authors write a book proposal that must be approved by several members of Adobe Flex team, just to have a right to have a tiny Adobe icon on the cover and three words: “Adobe Developer Library rdquo;. Only a small number of O ‘Reilly Flex books go through this stage. Just being able to pass this stage is flattering in itself.

3.b. The book is approved by the publisher “s board, the contract is signed, and the schedule is written in stone.

4. You (and your co-authors) write a chapter and format it using the template provided by the publisher.

5. You submit the chapter to a development editor when ready.

6. Development editor fixes your English, makes it more readable and organized and sends it to a technical editor.

7. The tech. editor ensures that you didn ‘t say something obviously stupid from a technical perspective.

8. You get the chapter back and need to respond to tons of comments. This is the most boring part. As a matter of fact, this is the main reason why I decided to write this blog. Just take a look at the snapshot of my screen hellip; The comments are on the right, the comments are inline, and you won “t be able to get away with skipping one.

9. You submit the reviewed chapter back to the development editor. Schedule? What schedule? Nothing is written in stone…

10. The development editor takes another look at your masterpiece and give it to online production team (this part is a bit fuzzy for me).

11. Two weeks later, you receive an email informing you that the Rough Cuts of the chapter X is published on safaribooksonline .

12. People start enjoying reading your wisdom about enterprise development. Even before the book is ready to go to the printer.

Leather, rinse, repeat hellip;

I have great co-authors, I really want you to like this book, but let me tell you, this is my last technical book. Period.

Is it the time to follow Twitter and learn Scala?

The Register has published an article about Twitter considering moving the mission critical portion of its code from Ruby on Rails to Scala.

This sounded logical to me, even though the article has been dated by April first. But then Artima has confirmed the news a couple of days later.

As usual, the bad part of me goes, “Told, ya! ” as people who read my posts knows that I was never a fan of RoR. I really respect DHH and his followers for doing exceptional job in exciting so many software developers with Ruby and RoR. But when these boring men with cash (BMW$) come into play, things change. The problem is that BMW$ don ‘t get excited that easily. Their low-IQ brains go like this, “I may invest $X into this startup, and on exit in five years (IPO or takeover), it should bring me $Y “. They always had problems with math, and the only formula they ‘ve managed to learn was this:

if ($X gt;$Y){

// Run away

}

These filthy rich BMW$ don ‘t give a damn what ‘s the name of the programming language is that the startup is using for development of the software that will allow them turn $X into $Y.

Ruby makes developers happy, but if you are entering the business world, you ‘d better use a language that makes BMW$ happy.

Twitter deserves credits for being extremely creative – they hired professional artists who came up with this picture of a little whale laying at the bottom of the ocean shown several times a day when Twitter ‘s servers go over capacity. They ‘ve also created a bunch of other cartoons that were supposed to act as prozac on people learning that Twitter is once again on unscheduled maintenance.

RoR is great when you need quickly create prototypes of a Web CRUD application. It may be a good fit when it comes to developing Web sites for small businesses. But when it ‘s time to architect enterprise-grade mission-critical applications, I ‘d stick to tried and true Java servers. If Scala can run on JVM that ‘s fine as long as some serious performance benchmarks can prove that it ‘s as fast and reliable as Java EE.

Now, I ‘m wondering how long does it take to Twitter to realize that it ‘s time to find a decent stateful replacement for their AJAX client, which will allow further lower the load on their servers? Shouldn ‘t take more than a couple of years.

If my Twitter account won ‘t be banned, it ‘ll remain the same twitter.com/yfain

Will present on RIA technologies in Kiev, Ukraine

I ‘ll be in Ukraine on a private visit. Microsoft and Sun Microsystems made arrangements, and I ‘ll be presenting on their joint meeting reviewing technologies for RIA development (AJAX, Flex, Silverlight, JavaFX). This event will take place on May 4, 2009 in the offices of Microsoft Ukraine. My special thanks to Aleksandr Oreshnikov from Microsoft Ukraine for making it happen.

If you live in the area, you can register for the event at http://www.developers.org.ua

It ‘s going to be an interesting experience for me as I ‘ll need to present in Russian – most likely this talk will be heavily sprinkled with English terms, but I ‘m sure Ukrainian developers will forgive me for this.

A Poem About Java

This poem is written by Vadim Rabovsky, a Java developer from Rochester, NY

Advanced topics of object oriented programming.

Presenting the world as a random collection

Of objects is dubious. Far from perfection,

It hardly can pass for a decent expression

Of our senses. (With equal passion

We could be designing a storing procedure

For local morgues.) The essential feature

Of any good system of views, is consensus ndash;

Of rational thought and the deepest of senses ndash;

What “s called intuition. But let “s take a glance at

This seemingly faceless and meaningless concept.

An object in short, is a representation

Of any one thing, (or, in fact, combination

Of things). And despite what the instincts would tell you,

An object can (painfully) have no value,

Thus taking some space to declare an instance

Of nothing that can justify its existence.

The objects are pointers, or space holders, whether

With values or not. And declared together,

They form an array. Take for instance some foxes,

Some household cats and some broken boxes,

Some empty containers and yesterday “s flyers,

Some evil intentions and noble desires,

The solar systems, the planets, the Buddhas –

And add to the pile. An array can be viewed as

A sequence of objects, or simply ideas

Of things ndash; some are pointless, some pointing to trios,

Quartets, even n-tets of others (Beware,

Those others can very well point nowhere,

Which hints that a Thing is related to Nothing

The same way the turkey relates to the stuffing).

This could be a starter. This kind of array,

Expanding language, let “s call “disarray rdquo;.

An infinite size disarray, representing

The Universe. Does it achieve what was meant in

The context? Not quite. It needs something to bind it,

A meaningful purpose, or feeling, behind it.

Religion? Could be, although God doesn “t give us

Too many good answers (forget the believers).

So here we stand: universe in disorder

(Which is, strictly speaking, a different order

unknown to us), and to balance the reason,

The absolute Love (or the absolute Treason,

If seen from a different angle). That Love,

Applied to the order, declared above,

Will give us a picture of almost ideal

Precision – the world, that (let “s call it sub-real)

Is still just a part of the whole ndash; it “s the given.

Add our view of the world, that we live in,

And (this is the point, justifying the project)

It brings us to what we, defying the logic,

Have always been looking for (think of Tomorrow):

The ultimate joy (or the ultimate sorrow),

The unification of us with essence

Of all that exists (or the absolute Absence).

But there is one thing that can cause us to toddle:

Unwittingly, we, by creating the model,

Are changing the source (or the world, which within it

Has now the model itself). It “s the limit

Of logic, that jeopardizes the mission.

The programmers call it a racing condition:

Imagine a person in front of one mirror,

While holding another hellip; the imminent fear

In face of the endless array of reflections,

The open door to infinity. Actions

Like this can effectively lead to a tumor

In sensitive brains. Let “s resort to some humor,

And follow the syntax, as well as the ethics,

Of programming languages (See the appendix).

Appendix.

(To be continued)

Offshore development is a minefield

Yesterday at 6AM I was on my daily meeting with Boris, a software developer from our East European branch. He ‘s a really good developer. Four days ago, I asked him to develop four screen for the demo application. This was not meant to be a real project yet – just the pilot.

Yesterday, while answering my boring question, “How ‘s the demo? “, he simply said, “I need a little more time, because I got stuck with this auto-complete component – it doesn ‘t works properly on holidays “.

I knew it. Another one got carried away. Software developers from former USSR need special treatment – they are different.

THEY KNOW BETTER THAN YOU WHAT HAS TO BE DELIVERED.THEY WANT TO DO BETTER.

The problem is, that I don ‘t need better product tomorrow. I need a mediocre demo today, otherwise I won ‘t get money for development of this project at all.

I said quietly to Boris, “Boris, imagine a minefield…I need you to get to the other field safe and sound and not later than Thursday! Just strictly follow this path….Step to the left, and you ‘ll lose your leg. Step to the right, and you lose your balls. Please, please, please don ‘t try to fix things at this point. I ‘ll give our demo application to a marketing person and explain her how to walk the walk and present the functionality of the system-to-be “.

I went on, “Boris, don ‘t be a sapper at this point in the game. Just go to to the other side of the minefield. Agree? ”

Boris said “OK “, but I was not convinced.

I was right. This morning Boris told me about another issue that took a little bit more time than expected… ” I repeat my song about the minefield again, and hopefully the things will get start moving. I ‘ll see tomorrow.

There is a big difference in managing local and remote project developers. If Boris would be sitting in the cubicle next to me, I ‘d figure out a lot sooner that during the last three hours he ‘s disarming a sophisticated mine jeopardizing his life…oops, the success of our project. If you won ‘t talk to each of your offshore developers AT LEAST ONCE A DAY, the chance that you ‘ll lose your balls on that minefield are very high.Trust me. Been there. Lost them.

Early Bird discount for Flex seminar in Boston expires on April 6

The early bird discount for the two-day Flex workshop in Boston expires on Monday, April 6. Details at http://www.eventbrite.com/event/295389518. Don “t say I didn “t warn you

Those who are planning to learn Flex during weekends should consider the 2-weekend Adobe Certified Flex training in Edison, NJ. Details at http://www.eventbrite.com/event/314201786.

Princeton JUG is looking for a new home

Unfortunately, our host can ‘t sponsor our meetings any longer, and I ‘d like to thank them for giving us a place to meet for several years.

If your firm has a large conference room and is willing to purchase pizza and soft drinks about 8 times a year, please let me know.

If you need to talk to your boss about this opportunity, below are some benefits that might help in your “sales pitch “.

What your firm gets:

1. Access to some best and motivated local Java developers.

2. The right to do a five minutes advertisement of any kind in the beginning of the meeting.

3. The right to post your job requirements to the mailing list of Princeton JUG that includes 250 local Java developers.

4. Well known and well researched speakers, often published authors will drive/fly to YOUR FIRM for free to speak to an audience who ‘s eager to learn something new. Employees of your firm are always welcomed to attend these presentation.

What your firm won ‘t get:

They won ‘t get to tell me what are the appropriate technologies that can be presented at a Java User ‘s Group.