Adobe gears toward Google Gears

Something new is cooking in the Google software pot. It “s called Google Gears, which is a new way to create offline Web applications.

“Google Gears (BETA) is an open source browser extension that enables web applications to provide offline functionality using following JavaScript APIs: store and serve application resources locally, store data locally in a fully-searchable relational database, run asynchronous Javascript to improve application responsiveness rdquo;.

They made this announcement during Google Developers Day in Sydney, Australia.

One of the major features of upcoming Adobe Apollo is support disconnected Web applications, and Adobe “s Kevin Lynch announced that Google Gears will be available in Apollo. Adobe Flex applications already use the space on the client “s disk for storing instances of any objects (this is called local SharedObjects), and turning this disk space into a fully searchable RDBMS sounds pretty exciting to me. While some people sitting on fast Internet connection lines may not see benefits of working offline, most of the world population is still using slow lines. And even if you have fa ast connection, having some data on your local disk may help if you work with enterprise applications that move megabytes of data over the wire.

Last year Sun Microsystems have included a client database Java DB in Java 6, which would be more useful if Java offered a competitive Web client VM. This situation won “t change for at least a year (we are expecting a small footprint Consumer JRE next year). It ‘s been a year since Java 6 has been released – has anyone heard of applications that use Java DB? At least I did not.

I wonder why Sun and Adobe do not collaborate? Sun is moving aside with new JavaFX toy, but it “s a little too late. May be they should work on a Java-to-ActionScript compiler that can be converted to bytecode for Flash Player? I ‘m sure David Temkin from Laszlo Systems will be happy to help with this.

No wonder that Google is where it is, and what Sun has on the desktop? As noted writer Isaac Babel wrote many years ago, Sun has “spectacles on his nose and autumn in his heart rdquo;.

Hackers are cowards and terrorists

Last month, Estonia dismantled the monument to a Soviet soldier-liberator . Russia plays an offended party saying that they liberated tiny Estonia from German Nazis-invaders. The problem is that Estonia believes that Russia is also an invader that that forced them to be one of the republics of the USSR. Virgin Putin condemns this act . The mayor of Moscow, Saint Luzhkov demands the boycott of Estonia. Somehow they “ve forgotten that monument removal in Russia itself became as simple as taking a leak. After destroying thousands of churches, they turned around and rebuilt them and removed thousands of monuments to their own leaders.

But this does not bother me as much as the news that Russian hackers commited 128 cyber attacks against Estonia government Web sites, banking, and other computer systems. I “m sure that Russian population supports these coward hackers feeling proud that their country produces these terrorists. Yes, they are terrorists that are trying to satisfy their ego by helping their motherland to punish infidels. Recently their colleagues, some criminals from an Arab country has destroyed an innocent Web site javarss.com . They strike weak and unprepared Web sites and this makes them as bad as any terrorists that kill kids in a shopping mall. I ‘m waiting till a new breed of suicide hackers will appear in the cyber space: destroy a Web site and kill yourself.

Russia broadcasted images of young people protesting against the monument removal, but they “d never publish a comment stating that at least half of these young adults are not even sure why they should be that angry and condemn Estonia.

Russia, the country of hypocrites is seriously fucked up.

ClearBI Web reporter for Flex/Java applications goes to public beta

An Eclipse plugin version of Web reporter ClearBI (a.k.a. FlexBI) is available for public Beta testing. ClearBI is a business intelligence engine that allows software developers automate report generation process, and end users can customize reports (grouping, filtering, export to Microsoft Excel et al.) in Flash Player.

Other than Flash Player, ClearBI does not require any additional software install on the client side. At the time of this writing, ClearBI is the only professional reporting solution on the market of rich Internet applications developed using Adobe Flex and Java.

ClearBI is available in two versions: ClearBI Plugin and ClearBI End-User:

bull; ClearBI Plugin allows a software developer create and customize a new report in Eclipse IDE. This report can be integrated into any Flex application by including an extra MXML and recompiling the main application. The end users will be able to work with the report (sorting, filtering, grouping, export to Microsoft Excel, et al.), but won “t be able to save this customized report.

bull; ClearBI End-User has all the functionality of the plugin version, and it also allows the end users create reports from the universe of the data fields without need to install any software other than Flash Player. The end users can create, customize and save reports in the centralized database server without any help from the IT department.

You can download the beta version of ClearBI plugin at http://www.myflex.org. Create an account and request the trial license for ClearBI. Download the ClearBI User Guide that contains installation instructions. We are actively working on the User Guide and will upload the newer version of this doc every other day.

ClearBI plugin comes with Clear Data Builder (a.k.a. DaoFlex), and you ‘ll need to download its User Guide as well.

Please send all the comments or bug reports at info at faratasystems.com .We really appreciate your input.

Ten tips on dealing with offshore software developers

In the perfect world, you can find local resources for your project. But in the USA selecting programming as a profession is not as appealing as it used to be 10 years ago, and you may have to hire an offshore team. Below is a list of tips for a rookie development manager that has to work with the offshore software developers.

1. If your outsourcing partner offers you a pre-staffed offshore team, most likely you are screwed. A typical team in any country (USA included) operates under 80/20 rule ndash; only 20% are delivering. Do not accept a team just because it “s ready. Build the team yourself.

2. Put every candidate through at least the same vigorous interview process as you practice with your local candidates. You “ll be surprised, but some US firms would go easy on the offshore team members just because the team was given to them from the above.

3. Do not leave your office until you know what the offshore team will be working on tomorrow.

4. Do not let the local geek manage an offshore team ndash; geeks are interested in cool techniques and coding only. They do not really care that spending a week on finding the most efficient solution jeopardizes the project deadlines.

5. Cut the losses quickly ndash; if you hired a new offshore member and he did not deliver within the first two weeks, let him go. Cutting the umbilical cord sooner saves money (actually a lot of money).

6. Try to use offshore teams for fixed-price projects only. This will allow you to better predict the final cost of the project, and if the project will not be delivered to your specification, you do not have to pay for the poor job. Time and material projects is a good option if you just want to keep a particular individual around, because you know that s/he has good skills (for example, production support, multiple small projects). Fixed-price projects require more work from your side during the initiation of the project ndash; you “ll have to actually take the time and think what you are planning to develop, create a functional specification that reflects the final product. Now, if you made a mistake and want to change your spec down the road, the offshore team can hold you liable and ask for the budget increase or the scope reduction.

7. Do not use the same team on the new project just because you “ve worked with these people. Their technical skills may not match your new requirements. Remember, the offshore team is a consulting firm, they are not your employees and you do not have to use them for all new projects.

8. When you give an assignment, make sure that the other side understood exactly what had to be done and by when. You may get the “Yes, Sir rdquo; answer, but when the delivery time comes, you “ll realize the other party did not even understand what had to be done. Another scenario is when you give an assignment, the other party decide to do more than you asked, which leads to increased scope and missed deadlines.

9. Before agreeing to pay the requested hourly rate to an offshore person, consider hiring a senior year CS student from a local college ndash; the rate will be lower and the quality can be better if you find the right student.

10. If your outsourced project failed, and you are trying to find who to blame for it, look in the mirror. Do not blame the offshore team.

Adobe Flex – public training in New York

Up till now, most of the time we ‘ve been teaching Adobe Flex by invitations from our corporate clients. But since the Flex market really picks up in New York, we decided to run public classes as well to accommodate the needs of smaller businesses that just want to train one or two developers.

Since the blogging genre allows some room for a self promo, here it is.

Our instructors are not those fly by night trainers that would teach you by reading aloud someone ‘s manual in the classroom. We spend most of our time working on the real-world projects that include Adobe Flex, Java, and a plethora of other technologies. We can offer you Adobe Certified Flex training, where we use original Adobe courseware and labs enriched with live discussions of the real-world issues that developers face daily. Last week, I ‘ve been teaching a class to a large group of Java developers of a Fortune 100 firm, and in addition to covering the training materials – I ‘ve spent at least two hours discussing the proper ways of designing their first Java/Flex projects.

We are the ones who write books, and articles. Besides being experts and published authors, our instructors speak at conferences, teach seminars and have been taught programming at such prestigious schools as New York University and Columbia University.

We offer several ways to get you trained in development of the rich Internet applications with Adobe Flex:

1. A typical week of training at your site consists of two Adobe Certified courses:

Flex2: Developing Rich Client Applications (3days) and Flex2: Data Communications (2 Days).

2. Customized Flex training as per your firm ‘s request. In addition to Flex we can teach a Java class as well.

3. Mixed public training on weekends. In two consecutive weekends (4 days) we ‘ll deliver the certified class Flex2: Developing Rich Client Applications and one day of custom training discussing the proper ways of starting your Flex/Java project. The next public training will take place in New York City on July 21, 22, 28 and 29 of 2007. Tuition for this course is $1495 USD.

4. One day hands-on Flex boot camps for developers around the USA, and the closest one is scheduled in New York on June 24, 2007.

5. One hour lunch-and-learn on-site session (New York and New Jersey) giving an overview of what ‘s happening in the rich Internet application arena in general, and how to properly utilize Adobe Flex as a front end to your robust server side application written in other languages.

For more 2007 training sessions and other public appearances see http://flexblog.faratasystems.com/?p=220

The Java tutorial for kids is available for free download

A couple of years ago when my son asked me about the book on programming for kids, I could not find one, and have written my own e-book called Java Programming for Kids, Parents and Grandparents. For some reason computer books targeting teenagers are very rare. There are reader-rabbit kind books for very little kids, but 10-16 years old people do not have much of a technical literature, and 17-18 years old are studying computers using boring adult technical books (the Head First series is a lucky exception).

By the time kids are out of school, they know from their own bad experience that computer science is not an exciting career, which eventually will lead to a “death”; of such profession here in the USA.

Adults do not want to admit that kids are smarter than them. They keep saying something like, “My son is not too good at math – he can’t be a programmer”. But most of the programming tasks require only minimal knowledge of arithmetic and algebra skills. To start programming, a kid needs to understand what x = y+2 means. Another important concept is an if-statement. This is pretty much it.

Kids learn much faster than adults, and they do not have “previous programming experience”, which may actually be a good thing, because they do not have to switch from a procedural to object-oriented way of thinking. After learning about inheritance in Java, my son called my wife a super class.

Some people recommend using simple languages to teach people programming. I disagree. Java can be a good first programming language, but you should do it right. That’s why I’ve included lots of color cartoon-like characters that act like a Java-fabric softener.

This e-book was never printed. I “ve got some offers to publish it in black and white because it “s cheaper. I rejected these offers ndash; this book has to be printed in color.

This book was written about three years ago, but it “s about core Java, which did not change that much. I “ve been using Eclipse IDE in the book, but IDE does not really matter ndash; use NetBeans or whatever else you have handy.

You can download The Java Tutorial for Kids, Parents and Grandparents in English or in French from Farata Systems Web site . I hope you “ll enjoy the reading and will introduce your kids to an exciting world of programming.

Russian restaurant music wins EuroVision 2007

Last weekend, I was watching the finals from the popular song contest Eurovision 2007 . Yes, the one that ABBA won back in 1974. When I “ve heard last Summer that Ukraine (I was born there) is planning to send Verka Serduchka to represent the country, I thought it was a joke.

Verka Serduchka looks like a typical middle-age Ukrainian woman, but she “s actually a young man, Andrey Danilko (no, he “s not gay). Verka is very popular in Ukraine and in Russia, and I “ve been to her concert here in the USA about 5 years ago. She looks funny, her language is funny because she speaks like a large portion of women in Ukrainian villages. Her lyrics and music are simple, but it goes well in any typical party especially in the Russian restaurants where people eat, drink and dance. If you haven ‘t had this experience yet, go there hellip; once. The parties on weekends start late, and you “ll be surprised by a variety of food on the table that is served at the same time (they call this setup “bratskaya mogila, ” which means “mass grave “). After five shots of straight vodka you can enjoy a Broadway-type show, and then more drinks and food.

Anyway, sending Verka to represent any country did not sound too serious, but they did send her there. Youtube has a video of this song .

The fact that she sang “Russia Good buy rdquo; added some spices to the performance ndash; I “ve been listening to the TV host from Russia who was commenting on every performer, and this reminded me the Communists era, “Hmm, she “s going to sing Russia Good Bye even though she says that it “s lasha tumbai, let “s see who “s she trying to full ” .

Verka was singing Russia Good Bye? She does not want to remember that only five yeas ago she was poor as a church mouse, went to Moscow, and now she “s rich and does not need Russia anymore? In this song she states, “Ukraina eto klevo ndash; Ukraine is cool rdquo;.

Voting for the winners was live too ndash; European citizens were calling or sending messages. The Russian commentator was not happy, “Hmm, Latvia did not give Russian group Serebro any points hellip; interesting hellip; rdquo;. I hope they won “t try to invade Latvia again for this.

Anyway, Verka put up a good show, she was fun and energizing – she won the second place. This is unbelievable, but I “m happy for her, especially after the fifth shot.

1974 was not a bad year though. Not at all.

R.I.P. Eriks Linkblog

I ‘ve been checking Erik ‘s Thauvin ‘s Java linkblog frequently – it ‘s been a credible source of the useful Java info… This is just amazing – a man spent seven years sifting trough tons of Java-related articles and blogs just to give us a freshly-squized Java-juice for breakfast. It really takes a lot of time and dedication. But I guess the problem is not in finding time, the problem is in finding excitement. Not much is going on with Java, and the recent JavaOne is yet another prove to that.

Erik, thank you for the time you spent in all these years just to save our time. I ‘m taking my hat off to you.

Two kids stories

The story #1. Yesterday, my son (he’s in the seventh grade) asked me if I knew how to send a letter without a post stamp? I knew, but was hoping that he’d tell me a different story. Nope, it was the same advice that one poor immigrant gave me about 15 years ago. This is an illegal but an elegant advice – if you need to send a letter, say to Joe Smith, write his name and address in the return section of the envelope, and your name and address in the recipient’s section. Drop it in the mailbox without affixing any post stamps. The post office will “return” this letter to Joe Smith with a reminder about missing postage. Messing out with mail is a federal offense, so please do not even think about doing this, but isn’t it cute?

When I asked my son where did he find out about this, he said at bored.com, a Web site were all kids go when they are bored.

The story #2. My colleague’s daughter is even younger than my son, and this is her story. In every organization where you work there is always a lonely person, nobody likes him, he’s not being invited to parties, after-work drinks et al. You should always buy candies, stop by this person’s cube, smile to him and offer candies, because when he will be fired and will come back next day with a gun methodically shooting each of the former co-workers, he’ll stop by your cube, will think for a moment, “Hmm, this person was giving me candies” and will proceed to the next cube.

Isn’t it just a tiny bit strange that such stories are being told by kids? Can you share with us your kid’s story?

JavaOne 2007: The most important two minutes

This news did not get the fanfare, but it “s a real gem of JavaOne 2007. It was presented by Danny Coward, Java SE Platform Lead, and you can watch the video in Danny “s blog .

He covers the features and talks about the success of Java SE 6, which is an old news already. To me, the most interesting part of his presentation was a statement about Java modularization in Java 7. If you do not have time to watch the entire video, just fast forward the first 19 minutes of it, listen for a minute, where he talks about revamping Java Applications module system or so called super jars.

Then go to the 29th minute of the talk, where Danny talks about the Java Kernel project, which will allow to modularize JRE, so the a minimal version of the JRE can be downloaded first, an the rest of the JRE will be downloaded in parallel. Finally, the startup of the application may become faster and the applications themselves may become smaller.

Java modularization will be rolled out with Java 6 Update 2 (end of ’07) and will be completed with Update 3. Chris Maki has provided some more information on Java SE and the relevant JSRs in his blog .

So these two minutes of the keynote are my highlights of the JavaOne 2007. I wonder why 15000 people attending this keynote did not give Danny a standing ovation ofter each of these announcements?

Unfortunately, I could not find yet another minute in any of the presentations that could have been voiced like this, “Now let me welcome our new hire, Michelangelo Buonarroti who will run a new division called User Experience. Mr. Buonarroti “s goal is to create a pixel-perfect set of new GUI components that will be used for the Java desktop applications of the future. We are giving him a cart blanche ndash; he “ll be studying all currently available eye-candy GUI components of our competitors and will have to come up with new set of components, layouts, skins and effects to make the applets appealing. There is one restriction though: in his research, Mr. Buinarroti is not allowed to look at the current Swing components rdquo;.