The Source for Java Technology Collaboration
User: Password:



Felipe Gaucho's Blog

Felipe Gaucho Felipe Gacho works as senior software engineer at Netcetera AG in Switzerland. He is a well known Brazilian JUG leader and open-source evangelist. Felipe works with Java since its early versions and has plans to keep that Java tradition as it is. When he is not coding, he prefers to listen reggae and travel around with his lovely wife Alena and his son Rodrigo.



Gosling oppening the Jazoon 2009

Posted by felipegaucho on June 23, 2009 at 02:10 AM | Permalink | Comments (0)

James Golsling introduced a brief view on the Java world this morning at Zürich. It is always a joy to listen a successful geek onthe stage, probably one of the most successful geek of the last few decades. He talked about the modern Java world and about our forever perspective (following his words, forever == the next ten years). Here it comes the highlights:

  • Statistics, specially on smart cards. 15M downloads/week
  • Learn once, work everywhere
  • Tiny little word of web apps
  • Big networking based systems, from the Brazilian healthcare system to eBay, mobile platform, games, etc.
  • JVM: the integration hub - different languages, different scripts, all together in a same JVM.
  • Glassfish V3 highlighted, spdecially by its modularity and profiles support. Developer friendly, supporting all major IDEs, rapid development features and support for different languages and platforms. Gosling demonstrated briefly the major features of Java EE 6, like EJB 3.1 and hot deployment.
  • Netbeans 6.7 has its share of the session and the confessed eMacs lover did a good merchandising on the main features of the SUN IDE. Breakpoints inside devices like mobile phones and robots were highlighted, speciall from the nice presentations of the robots competition during the recent JavaOne. The integration between Kenai and Netbeans was a good news for me.
  • Kenai == cloud development
  • Real time world: physical systems required more reliability - determinism X throughput
  • SunSpot and Sentilla received a chunk of exposition, with comments about intelligent mashups between micro components communicating between each other.
  • LincVolt - the car - was again on the stage, a wonder of engineering and creativity moved by eletric bateries.
  • Java low performance myth dismissed - GC much faster than malloc/free. Dynamic compilation beats static.
  • Multithread, multicore - Moore's law: transistors, not GHz. Today machines are four cores, in few years
  • JDK 7, nio2, modularity, dynamic languages, swing app framewok, performance.
  • The web become the face of the enterprise, and now we have the new JavaFX.

gosling.JPG



Pocket guide to Jazoon 2009

Posted by felipegaucho on June 21, 2009 at 06:14 AM | Permalink | Comments (3)

Java conferences are always a joy of technology and networking but sometimes we just miss its surroundings because it is quite difficult to concentrate in our lives while we are exposed to a large amount of cool information. Good meals, city attractions and a lot of interesting moments are just skipped in favor of the Java novelties on the stage. The more you participate of such events, the more you learn to offer your geek mood a chance to check different cultures and to learn different things. During the recent JavaOne I did not attended much extra-conference events, and I definitely didn't check San Francisco as it deserves. In part because Java was my only focus during the conference but it was also because I really don't know much about San Francisco.

Thinking about the large number of geeks arriving at Zürich this week, I thought they have more chance to enjoy their short spare time here if they have some hints about the conference surroundings. So, here it goes my tips for the Jazooners:

Pocket guide to Jazoon 2009

The basic information you find in the Jazoon home-page, including the conference schedule and the abstracts of the presentations. But if you are looking for a pervasive Jazoon, you can join one of the social networks supported by the conference:

There are other resources you can use to make your staying here at Zürich the most safe and comfortable as possible, like:

http://www.stadt-zuerich.ch/content/pd/de/index.html

Zürich is a safe and very well organized city, but if eventually you get in trouble here in Zürich the very first contact should always be the police. Most of the police officers speak English. You can call emergency numbers from any public telephone, and from your mobile phone even without credits:

  • 117 - Police
  • 118 - Firefighters
  • 144 - Ambulance

http://www.sihlcity.ch
Sihlcity Infopoint
Kalanderplatz 1
CH-8045 Zürich
Telefon +41 44 204 99 99
Fax + 41 44 204 99 98
info@sihlcity.ch

From the main train station (Haupt Bahnhof) you should walk half a block to the Bahnhofstrasse to take the Tram #13. The Tram stop to Jazoon is Sihlcity Nord. You can also take the S4 train and drop off at Giesshübel. For timetables and all information about transportation it is better to check the ZVV site below.

http://www.zvv.ch

Phone: +41 0848 988 988 (0.08CHF / minute) in English, German, French and Italian

In the ZVV website you find all information about transportation in Zürich, including the timetables, prices and special services. The city of Zürich is proud to offer one of the best transportation system in the world, and you will certainly agree with that after noticing that the timetable on the stops are published with a precision in minutes :) Special tip: with the same 24h ticket for the train you can travel with the trams, buses and boat on the lake of Zürich.

SMS services at ZVV: one of the nice features of the transportation here in Zürich is the ability to check the timetable and even to buy tickets and ticket extensions by SMS. The service is available for mobile phones with WAP or xHTML support.

http://sbb.ch

From Zürich you can travel all over the country and also connect to almost all Europe by an extremely reliable train network. SBB also offers a good tourism agency that can support your request in several languages. Special tip: in the main station, you find a SBB travel agency in which people speak several languages. Special tip: you can buy a week ticket in the main train station, and then you don't need to worry about buying a new ticket everyday.

www.zuerirollt.ch - Züri rollt Zürich (Free bikes at Zürich)

Phone: +41 (0)43 288 34 45

info@zuerirollt.ch

You can use a bike for free during a period of up to two hours. The city is small and we are in the summer time, so if you like to ride with a bike it is your great moment to visit the city for free and have fun. From May to October, in Zürich, you can hire any of over 200 robust City Bikes completely free of charge, seven days a week. Bikes can be picked up at the following locations against presentation of a valid form of ID and a deposit of CHF 20: Globus City (9am - 9.30pm), Bürkliplatz (9am - 9.30pm), Oerlikon-Swissôtel (10am - 9.30pm), Bahnhof Enge (10am - 9.30pm). Bikes are available all year round at the Velogate (Swiss National Museum) and at the Bike Station South (Sihlpost). They don't do reservations but usually there are bikes available.

http://www.zuerich.com/

The official tourism portal of Zürich contains more information about everything which is happening in Zürich at the same time of Jazoon.

Zürich museums

Zürich is a small city where you find good museums and art exhibitions. The most famous is the Kunsthaus. You can also take a look at the famous Chagall Windows at the Fraumunster church. Special tip: on Wednesday the collection of the Kunsthaus is free of charge. You will need half a day to a glimpse on those two artistic points of Zürich.

Zürich Opernhaus

If you are sophisticated enough, you can try one of most famous Opera houses in the world. If you just want to walk around the famous spot and drink a beer or two, it is 20 minutes from the Jazoon conference. You can also walk on the lake shore near the Opera house, it is nice and full of visual attractions - it is also one of the most expensive and sophisticated parts of Zürich downtown.

A Swiss mountain just half-an hour from Jazoon

One of the most traditional sites of Zürich is Uetliberg - the top of Zürich. You can visit this small mountain on any day of Jazoon since you will reach the mountain in about half an hour from the conference venue. The Sunset here in Zürich in this period of the year is around 21h so you have time to enjoy the conference and go to visit the mountain in the same day without problems. From Uetliberg you have a privileged view of all Zürich, and you can check the visibility on this webcam. Perfect for photography lovers and hickers.

http://www.zsg.ch - Tram trips and Boat trips

The lake of Zürich is one of the best part of the city, where you can enjoy the Swiss summer life-style, walk and see famous and historical buldings and - of course - to have fun on the lake. There are also some Tram tours around the city, with guides and some drinks :) very nice and I recommend.

Zürich after dark

The nightlife of Zürich offers you a wide variety of attractions, from rich and sophisticated restaurants to the more affordable bars. It is up to you to dive in the live city to find out what the swiss people do after dark. Special tip: don't miss the Jazoon Party, Wednesday, 18h30.

http://www.urania-sternwarte.ch/ - visit the Zürich observatory

Probably the easiest visit in Zürich, you can check the observatory during Jazoon without missing any event in the conference. It is located in the Zürich downtown and you reach it in less than 20 minutes from Jazoon. Reach for the stars...the 48m tower belonging to the Urania Observatory means you can. The main telescope allows magnifications of up to 600 times. You can also simply drop by to enjoy a drink and the fabulous views from what is the highest located bar in Zürich.

Weather during Jazoon: cloudy with average temperature ~20o C

The weather is not the best feature of Zürich but we are getting close to the summer and you can expect pleasant temperatures during Jazoon 2009. Check your preferred weather forecast website to be sure on what to expect but I would say you won't need heavy clothes unless you are coming from a tropical place. In the conference itself, the air conditioner guarantee our comfort and outside a light coat or jacket should be enough. Special tip: Zürich is under the Summer Sold Out, a big sales period where most of shops offer from 30% to 50% of discount on clothes.

Zürich Shopping

I am certainly the last guy you want to ask about shopping due to the simple fact I am shopping phobic :). But even I am aware about the good shopping conditions at Zürich. Eletronics and computers offer very competitive prices. Jazoon is hosted in a Shopping Center, including a big electronic shop on the 3th floor. You can check this site about the prices here in Switzerland. If your focus is not only gadgets, you can also walk through the Banhofstrasse and in the old town. Special tip: take your bills to receive the refund at the airport.

Tourism and Switzerland

Switzerland is a paradise! I am living here for three years and everyday I still get impressed with the quality of life of this society. The country deserves a visit, and even if you don't have much time you will still find some short trips or other attractions to aggregate joy to your Jazoon conference. Googling around, you will find tons of websites offering you those trips. My special tip: do it! Take your choice and try some short trip or walking around Zürich, a boat in the lake and everything else you find attractive over here.

WELCOME TO JAZOON 2009

Do you still have questions? I will be sometimes at the Netcetera Booth during Jazoon, but you can go there anytime and ask them anything about Zürich. You can also ask me by email fgaucho @ gmail . com



SUN Certification Model getting much better

Posted by felipegaucho on June 17, 2009 at 01:02 AM | Permalink | Comments (0)

The SUN Certification Reception during JavaOne brought us one of the most wanted news: the memory tests will be replaced by real coding certification. We can wait the new certification model up to the the end of this year as far I remember (the drinks and cocktails were really competing with the front speakers.. remarkable party).

I am still looking for official pages about that great news, but the crowd on the St Regis Hotel got delighted with the announcement of the replacement of that boring memory tests by real programming certification. They showed a programming console (Topcoder style) where the new certification tests will take place. Apparently the developers will receive problems description and they will have a limited time to code the solution - verified automatically and further manually (not sure about this point).

Another great after hours activity, this one I was eager to blog live but it was few minutes before my JUG leader BOF and before the great Glassfish BOF, so I took my sushi and run back to the pavilion.

For the ones at Zürich next week, a nice moment to check this info in the Certification Booth at Jazoon, where you can also try a free certification if you are one of the first to show up.



JCP 2009 Annual Awards Winners (with videos)

Posted by felipegaucho on June 15, 2009 at 10:59 AM | Permalink | Comments (0)

Several pictures and short movies are here in the JavaOne folder, including the announcement of some of the winners of the 2009 JCP Program Awards 2009:

apache.png

JCP Program Member of the Year

Apache Software Foundation (ASF)

apache.png

JCP Program Participant of the Year

Doug Lea

Outstanding Spec Lead for Java SE/EE

Ed Burns for JSR 314

apache.png

Most Innovative JSR for Java SE/EE

JSR 316 , Java EE 6 platform

Outstanding Spec Lead for Java ME

Mike Milikich for JSR 271

Most Innovative JSR for Java ME

JSR 271 , Mobile Information Device Profile (MIDP) 3.0

Congratulations for all winners, and thanks SUN for the very nice party.



Jazoon Bloggers Squad

Posted by felipegaucho on June 11, 2009 at 01:29 AM | Permalink | Comments (1)

Jazoon conference offered me the management of the Jazoon Bloggers SQUAD, a group of smart geeks responsible for spreading the word about the conference, before, during and after Jazoon 2009.

So, very nice to meet you. I am Felipe Gaúcho and my blog is here. I am a Senior Software Engineer living in Zürich for the last 2.5 years and I speak English and Portuguese. I am still working on my German I18N package but I have several friends here who speak German, Italian and French as well, so be welcome to require a better translator if you need.

My goals:

  1. To make your life easier, supporting your staying here in Zürich during the Jazoon Conference
  2. To bring you information in advance and to support you in getting access to the backstage whenever it is possible.
  3. To connect people, giving the companies the opportunity to expose their novelties and give the Java community a stronger voice

So, first question:

Who is coming this year?

Please confirm if you are coming, and be my guest for any questions regarding Zürich and Jazoon. You can respond directly to me in fgaucho a t gmail dot com. I have a set of ideas to make our blogging during Jazoon more productive in terms of communication and to help us to have a fantastic conference here in Zürich. And I will give you some special tips on how to have fun in the city with one of the best life quality in the world :)

more to come...



WELCOME TO JAZOON 2009



Fiorano claim to be the fastest MQ in the world

Posted by felipegaucho on June 09, 2009 at 10:28 AM | Permalink | Comments (0)

What is Fiorano?

Fiorano is a commercial Business Integration Platform, including the lowest latency Java Messaging Server in the world according our own benchmark.

What a strong statement, how did you get to this conclusion?

We have our own benchmark where we prove to beat other commercial messaging systems from vendors like IBM, TIBCO, Oracle. You can download the benchmark from our site. Simple posting: we leverage up to fifty thousand messages per second.

Do you have open-source tools as well?

No, we produce a set of proprietary tools. The core of our business is our Java based Business Integration Container and then we have a friendly GUI called Fiorano Studio. The Studio makes really simple to the business intelligence analysts and architects to orchestrate the Java EE applications. The Fiorano Studio is a Netbeans RCP application and comes with the designer tools required to configure an ESB workflow.

* I had the chance to play a bit with the Fiorano Studio, and it looks like the OpenESB tools available in the Netbeans platform, but it is faster and more reliable. You have a drag-and-drop canvas where you compose the application workflow and then you can deploy and test directly on a Java EE container.

What else we can expect from Fiorano?

Fiorano focuses in reducing the learning curve of its operators, it is a very ease of use tool that comes with complete support and documentations. Our customers portfolio includes some of the 500 richest companies out there and our customers usually manifest satisfaction and highly productivity with our tools.

What about the company, where is it? An Italian company I suppose (the brand of the company is written with Ferrari-like fonts)

No no (lol) we are not Italians. Fiorano Headquarter is located at Silicon Valley and our team has around hundred people worldwide, including offices in Singapore, New Jersey, London and Japan. The reason of the name and fonts is because the founder of the company likes the cars of Ferrari.

fiorano_small.JPG
Vinay Kalra and Sreenivasa Rao Sugguna during the JavaOne 2009.


With Fiorano I closed my series of short interviews in the JavaOne Pavilion. It was really fun to behave like a reporter for a week and I plan to repeat the experience some day. From the lessons learned:

I confirmed my early impressions about the impossibility of keeping the blog quality while following a conference. From the other side I felt very comfortable offering the booth people a chance to talk and to expose their products. They have a lot to say, and many booths include the developers of the tools. I visited several other booths, where I could know in person the editor of the TheServerSide website and almost everyone who produces software in SUN Microsystems. Nice time, if you have a blog you should try to include the booths blogging in your next conference.



Gate 66 San Francisco

Posted by felipegaucho on June 06, 2009 at 06:47 AM | Permalink | Comments (0)

JavaOne is over now, a week of strong networking and some news from the Java Universe and its business. I need to wait more one hour to my boarding time, so I guess it is a good moment to a draft of topics I can remember after the last night at the Chieftain:

  1. Pervasive JavaFX: this was the technology of this JavaOne, it was quoted in almost all sessions I attended. A young technology (miles to go) but even Larry Allison quoted JavaFX on the stage, so I guess JavaFX will receive a nice budget all over 2009.
  2. Java EE 6: the features of Java EE 6 was highlighted during JavaOne: EJB 3.1, JPA 2.0, Servlet 3.0, Glassfish v3, etc. In a short sentence: Spring what? :)
  3. Glassfish team: this year we had a lot of Glassfish technologies on the stage and we had also the Meet the Glassfish team BOF. A remarkable moment for me since they invited me on the stage and honored me with a community recognition prize. I work with Glassfish for two years and I talk with those guys almost everyday during all this time, but it was my moment at JavaOne and I will never forget that. Just amazing :) THANKS GLASSFISH TEAM :)
  4. JavaFX phone.. did I told about JavaFX yet? :)
  5. I met Paul Deitel.. another remarkable moment since I helped in reviewing one of his books fews years ago.
  6. Netbeans team, thanks for the beers guys :)
  7. The certification program will change the format: no more memory tests, now it will become hands on oriented, topcoder competition style
  8. The ecology hype was there, including an amazing car powered by Perrone ...
  9. java.net corner was impressive this year, with the podcasts and all friendly staff from java.net
  10. Brazilian Digital TV all over, with Japanese attendees and Mulatas on the demo :)
  11. The social networking and the parties are still fun :) and this year the technology teams distributed more and better contents. The JCP champagne, the J2SC sushi, the JavaFX exotic snacks, the Glassfish beers, the community large beers, etc.. well done SUN.
  12. The robotic was impressive as usual, including a new competition between the American kids.
  13. Simon Ritter and Caicedo showing up nice demos.
  14. Microsof and SUN demonstrating the METRO results after all these years of joint efforts - nice quality.
  15. Mobility, ad hoc networks and mobile phones as part of several demos, a commodity in the Java world - including the starring JavaFX phone.
  16. Netbooks are the fever.

well, they are calling here... perhaps I find some time to blog during my flight.. and I hope they launch the air internet asap, then the flights will become less boring :)



Alice in the JavaLand by Carnegie Melon University

Posted by felipegaucho on June 04, 2009 at 11:24 AM | Permalink | Comments (2)

What is Alice?

Alice is a tool to teach programming skills to people who has never programmed before. It is a development environment based on scripts to produce 3D scenes. The developer creates characters (objects) and starts to add functionality (method) to the character using the drag-and-drop features of the Swing interface. After creating the scene, the student can export the Java code that produces the characters animation.

Who should use Alice?

Anyone without programming skills, like mid-school students and first year college students.

And how is the adoption of Alice?

Alice is only on its beta stage, but we have around a thousand downloads per week. I would say we have 10 to 15% of the American universities using it.

Is it open-source? Who is paying for Alice?

Alice is part of a Carnegie Melon research group founded by Randy Pausch (The Last Lecture). It is open.source and hosted at java.net under the GPL license.

Special features?

There are a lot of interesting tricks in the application, but the focus is on the learning of the users - what we believe it is very good. Eletronic Arts donated the characters, so we have a more attractive GUI - when people recognize the characters they get more interested in play with them.

Is it possible to export the animations in mpeg or other format? It may be awesome for marketing.

In the beta version it is not available but we are working to provide these features.

The students feedback

While my short interview at the Alice booth, a student approached the booth and then I collected some real world feedback:

  1. Hello, what's your name and what you do?

    I am Kira Morrow, a student of Camden County College (New Jersey ).

    What you thing about Alice?

    Impressive program, I like because it teaches the basics of programming and do stimulates the thinking instead of focusing in programming languages syntax.

  2. Hello, what's your name and what you do?

    I am Josh Kitterman - a Software Engineer from Salt Lake City, Utah

    So, what you think about Alice?

    I am excited about that because I have 2 kids (7 and 5 years old) I am looking to teach programming skill to them.

    Seriously? It isn't too early to that?

    I don't think so, it is a good time to introduce programming at this age with a fancy graphical interface. They will like it.

    I noticed you coded some scenes. How long did it take to settle the environment and get it working?

    From installation to final animation: 2 hours.

    And how was it? Very easy? Any bug?

    A few crashes because it is beta, but nothing serious. It is very easy of use tool, you should try it.



Cejug-Classifieds got a 2nd place at InfoBrasil Conference

Posted by felipegaucho on June 03, 2009 at 11:25 PM | Permalink | Comments (1)

InfoBrasil - TI & Telecom

InfoBrasil is the second biggest Information Technology fair in Brazil, with main focus on business opportunities and industry networking. In 2009 the event is celebrating its 15th edition with a special program and the participation of entrepreneurs, academic researchers and students. InfoBrasil also includes a technology congress with prizes to the best papers. Cejug-Classifieds got the second place on this competition.

Cejug-Classifieds - the second place of InfoBrasil 2009

Cejug-Classifieds is a java.net project to develop an open source classifieds system based on SOAP web-services. The winner paper during InfoBrasil described the business model and the technical details of the project. Since I am in California, the paper was presented by Árisson Leal, one of the collaborators of the project. Árisson did the JSF GUI of our prototype and now he bring us the second place with a good presence on the InfoBrasil stage. The three best papers will also be published in a special issue of the conference magazine (only in Portuguese).

The ranking of InfoBrasil 2009:

  1. Secure Partitionning of Code

    by Luiz Gonzaga Mota Barbosa, Leandro Jales Martins, André Santos (Federal University of Ceará - UFC) and Pablo Ximenes (UPRM)

  2. Cejug-Classifieds Online Classifieds System

    by Árisson Pontes Leal (Teleinformatics Engineering Department - DETI) and Felipe Gaúcho (Netcetera AG - Switzerland)

  3. Efficient Processing of Queries in a Mediation System based on XML

    by George Marcel Teixeira, Vânia Vidal and João Carlos Pinheiro (Federal University of Ceará - UFC)

Below are some links that help you to know more about the Cejug-Classifieds project:

Last but not the least: THANKS for all project collaborators and all people that gave us hints and collaborated with the code of the Cejug-Classifieds Project. And a special thanks to java.net for hosting my projects for free, it is common nowadays but it wasn't when I started all my projects there - I will be always thankful for that. I guess I will drink a beer or two during the after dark party of JavaOne to celebrate the second place of my paper :)



5 minutes with Jetty during JavaOne 2009

Posted by felipegaucho on June 02, 2009 at 03:16 PM | Permalink | Comments (0)

The reception on the Webtide booth was already quite agile since they asked me to open the help of the Eclipse and Jetty was already there - awsome!

Tell me about Jetty.

Jetty is both a web application server and a web client server, because you have the HTTP server and you also have some asynchronous features that enabled the Jetty to be used also as middleware between its clients and another servers. If a web application is dependent on external services and Jetty receives a call, the application can suspend the request while waiting the response from the external services. Once it receives this response Jetty wake up the process and do respond the original request.

Cool, what else is remarkable about Jetty?

We believe a good news is about the adoption of Jetty as the Google App Engine Java service and also the perception that Jetty is adopted everywhere like Android Phones and several other devices and systems.

And compared to other servers? Where is the market of Jetty and where it is preferable to use another servers?

Jetty is a first class HTTP server, so if your application is distributed on the web in a pure RESTful way, Jetty should be your choice because it is robust, scalable and very fast. It is excellent for example to distribute embedded servers over the cloud due to its very small footprint. From the other point of view, if you need something outside HTTP like EJBs, you can continue to use Jetty to serve the HTTP contents but you will need something else to support the non-HTTP contents.

The last question I have is about the company, who is behind the Jetty?

Webtide is an american company founded in 1995 in Los Angeles (Java 0.9), we were the first HTTP server produced with Java. Today we have offices on Italy, Australia and Philippines. We are less than a dozen developers but we believe we can leverage good quality while we focus in simplicity.

webtide.PNG
Greg Wilkins and Adam Lieber at the Jetty Booth JavaOne 2009



Brazilian Digital TV at JavaONE 2009

Posted by felipegaucho on June 02, 2009 at 02:12 PM | Permalink | Comments (0)

Visiting the Fishermans Wharf at San Francisco Bay I met the Brazilians that will speak at JavaONE about the recent advances of the Digital TV in Brazil: Clayton Chagas and Magno Cavalcante.

Here are some highlights from our conversation:

  1. What is the status of the Digital TV in Brazil?

    Since its inception in 2003, a lot is being done towards the replacement of the analogical system by a digital one. The academic community embraced the idea and the SBTVD is doing a great work in this sense. There is also a need for digital inclusion and a natural expectation from the industry in terms of the business possibilities of the new system.

  2. What is SBTVD?

    SBTVD is an acronym in Portuguese for Brazilian System of Digital Terrestrial TV, a committee formed by industry, government and academic entities. The role of this committee is to establish and to approve the standards of the Digital TV in Brazil.

  3. Why digital inclusion through the Digital TV? Why not using the Internet?

    The Internet helped a lot to spread the knowledge all over the world and there is no doubt it was one of the most important inventions from the last century, but in many countries - like Brazil - the access to the Internet are still expensive and restricted to a small portion of the society. This problem is a side effect of the weak infra-structure and poverty, people just don't have a computer or don't have access to a good connection or both. From the other side, TV is omnipresent in the Brazilian houses and to establish an interactive channel on these TVs is the way we believe we can include the poor people in the digital era. It seems more effective than the option of installing cables all over a continental territory and to distribute and to maintain millions of cheap/free computers. And we also see the Internet and the Digital TV converging to a unique system as soon middleware technologies becomes popular and compatible with the Internet legacy.

  4. The middleware is the key?

    Yes, because the transport layer and the codecs (MPEG-*) are standardized and working in several countries, but the way the raw bytes will be converted in Interactive Content is an open question. In a roughly comparison I would say it is pretty like the HTTP protocol and the frontend technologies on the web.

  5. And which is the Brazilian Middleware for Digital TV?

    The first Digital TV Middleware in Brazil is called GINGA, a system composed by two modules: GINGA-NCL and GINGA-J. The former is a declarative programming environment that enable scripts to run in the TV (LUA for example) while the latter is a programming environment based on Java.

  6. This Java part is what SUN donated to the open source community?

    No, SUN donated an API to replace the GEM (Globally Executable MHP - ITU) library. The donation removed some expensive royalties from our digital TV system, making the whole system more affordable for emergent countries and opened the opportunity for a fully open-source TV technology in a near future.

  7. Who is doing this job and when we can expect the Digital TV to be available in the Brazilian houses?

  8. The research and establishment of the standards for the SBTVD is being done in diverse universities of Brazil, with special remarks to PUC-RJ and the Federal University of the Paraiba. We expected the technical part to be operational at the end of 2009 and the first devices to start operating up to the end of 2010. In fact we have a political decision to end the analogical transmission in Brazil upt to 2017, so the near future is quite promising. I am pretty sure we will watch the Soccer World Cup of 2014 in Digital TVs, with impressive quality and high interactivity - and I also hope to see the Brazil winning the final on that moment (lol).
  9. I agee (lol2). So, where people can find more information about that?

    We have a presentation during Java One:

    In the presentation we will do some demo presentations and we also give all details about the latest advances of the Brazilian Digital TV.

  10. Can you give me some references in advance?

    We will have a session during JavaOne when you introduce all the details, and I hope anyone interested about Digital TV to be there:

    Title: Java? in the Brazilian Digital TV: Interactivity and Digital Inclusion on TV
    
    Session Date: 05-JUN-2009
    Session Times: 13:30 : 14:30
    
    Session Type: Technical Session
    Speaker(s): Clayton Chagas, Engineer, Brazilian Army Research CenterMagno Cavalcante, Systems Analyst, Petrobras / RioJUG.org
    

  11. References

    grab2.JPG
    Clayton Chagas and Magno Cavalcante

    grab.JPG

    Grabs a la Federal Police :) .. San Francisco Bay 2009



    EJB 3.1 to release on third quarter of 2009

    Posted by felipegaucho on June 02, 2009 at 01:19 PM | Permalink | Comments (1)

    After the impressive General Session, I attended a session about EJB 3.1 - proposed to release on the third quarter of this year. There are tons of blogs with complete overview of the new EJB, but here are the fresh highlights from the session:

    1. Optional local interface business interface

    2. Packaging

      • We don't need to create EAR every time anymore
      • EJB 3.1 can be deployed directly inside the WAR file

      • ejb-jar.xml is optional

      • All resources are shared in the WAR file

    3. EJB 3.1 Lite API

      • Web profile (injection like Spring does)
      • No portability issue, works in Tomcat and Java EE containers, for example.

      • only available for local EJBs (no MDB, ws-endpoints, etc). Supposed to be a simplified and lightweight model.

    4. Portable Global JNDI names

      • The lookup mechanism will look for the local and remote interface (remember, the local is optional)
      • Improve the portability of remote Java Clients.

    5. Portable Naming Syntax: every session bean gets the following entries:

      • The lookup mechanism will look for the local and remote interface (remember, the local is optional)

      • Globally unique name:

      • Unique name within the same application.

      • Unique name within defining module.

    6. Testing EJBs

      • Embedded Container can be used in test classes:

        
        EJBContainer container = EJBContainer.createEJBContainer();
        container.getContext().lookup("java:global:/module/BankBean");

    7. Embeddable API

      • The code running in the Client side will have the same component behaviour /life cycle of the code running on the server side.

    8. New features

      1. Singletons - designed for efficient concurrent access.

        • Single Thread (default)

          @Singleton
          @Lock(READ)
          public class SharedBean {
           ... 
             @Lock(READ)
             @AccessTimeout(value=1, ...)
             public void timeoutMethod(...) {
             }
             
             @Lock(WRITE)
             public void update(...) {
             }
          }
          			

        • Container Managed Concurrency (method-level locking)
        • Bean Managed Concurrency (all concurrent invocations have access to bean instance). The developer is responsible to care about concurrency in this mode.
      2. Startup / Shutdown callbacks.

        • Startup: @Startup + @PostConstruct

        • Shutdown: @PreDestroy.

      3. Calendar-based timers: timeouts, automatic timer creation, non.persistent timers. A cron-like semantics with improved syntax. Automatic timer creation can be specified via annotations or deployment descriptor (ejb-jar.xml).

      4. @Asynchronous session bean invocations. Fire and Forget or async results via Future<V>. It is not available for MDB (for obvious reasons). Best ever delivers, better than JMS for EJB calls (persitent delivery guarantee not included in the spec).

        
        @Asynchronous
        public Future compute(Task t) { ... }

        No transaction propagation from caller to callee.

      5. JAX-RS integration (RESTful). Instead of using Jersey or other technology to expose a RESTful web-service, we can just expose the bean on the HTTP interface. That's really cool and IMO it will save a lot of boiler plate code.



    5 minutes with ICEfaces during JavaOne 2009

    Posted by felipegaucho on June 01, 2009 at 05:14 PM | Permalink | Comments (0)

    What is ICEfaces?

    ICEfaces is an Open Source JSF library that provides very easy of use Ajax Push and other advanced features.

    What is the key advantage of ICEfaces?

    We have a unique feature that caches the DOM model in the server side and it is able to respond to AJAX calls (or push operations) just with the part of the DOM actually modified in the server side. This makes the roundtrip lighter in the presentation layer and helps the developer to not worry about the different components interacting with the same DOM. This feature is transparent for the developers and it is a nice differential of ICEfaces.

    How it compares with the other JSF implementations? Richfaces or Trinidad, for example.

    There are several small differences but one remarkable feature is the rendering of the GUI. In frameworks like Richfaces, we need to specify what part of the document will be re-rendered after an AJAX call or after receiving a content pushed by the server. With ICEfaces you don't, it is just automatic.

    Can you open some feature coming during the next releases? Some cutting edge news for the readers?

    Servlet 3.0 and JSF 2.0 supporting in the next releases and in a more mid-term range we will offer a new technology called broadcasting push. It will allow the sharing of views in large scale.

    Last question is about the company: where is it from and how many people are working in ICEfaces?

    ICEsoft was founded in Canada, Calgary Alberta, and we have about 25 people in our headquarter. Outside Canada, we have about 30 people spread over Switzerland (Bern), Spain (Valencia) and Italy (Rome). The European part of the team works for a Swiss company called Mimacom AG.

    Wow, a nice place to ask for a smart job :)

    Sure, we are always looking for smart geeks an business partners, just come to visit us at the booth #327 and collect your t-shirt (or ask for a job).

    DSC01103.JPG

    ICEfaces @ JavaOne 09, from left to right: Rob Lepack, Judy Guglielmin, Micha Kiener, Jack Van Ooststroom and Brad Kroeger.



    Blogging for you during the JavaONE 2009

    Posted by felipegaucho on May 27, 2009 at 04:09 AM | Permalink | Comments (0)

    One of the most impressive parts of JavaONE is its giant Pavilion, a fair of novelties that mixes commercial players of all sort - a real Java joy. From my last JavaONE I remember several interesting talks while walking by the booths, but many details were not properly registered and kind of forgotten with time. During JavaONE 2009 I plan to improve my journalism activities, scheduling formal conversations with people willing to promote their ideas in my blog.

    A more serious journalism this year

    That's the deal, you call me and I will try my best to offer you a nice coverage of your participation in JavaONE 2009. I will be posting small notes in this blog and last minute updates in this twitter account.

    Important: I won't have time to attend the hundreds of companies over there, so the number of journalism slots are limited - first come first served. Another important criteria to select the blog contents is the smartness of your speech. My focus is to keep the community informed (specially myself I confess) so please understand I won't publish advertisement about commercial products, prices or another-boring-salesman-speech. Instead, if you can impress a geek like me, chances are the Java community pay atttention to your business.


    * Other (related) topic: I live and work in Switzerland and I have a close relationship with the Jazoon organizers, so it can be a good moment to also talk about the opportunities to your business in the Europeean conference at June in Zürich.



    JavaONE Warm Up - how to create Web-Services clients?

    Posted by felipegaucho on May 25, 2009 at 07:33 AM | Permalink | Comments (7)

    Five days to the number one Java conference in the world, including the Moscone effervescent Pavilion, smart people, marketing, music, sandwiches, and a full week of opportunities to make business and to have fun. As usual, I am going to San Francisco looking for the best offerings of JavaONE regarding Java knowledge, and of course I have my own pack of spices to expose over there. During the last few days, an impressive number of e-mails had arrived in my mail box about what we can see or try at JavaONE so it is time to start living the Jay-One Atmosphere. I would like to start my JavaONE 2009 warm-up sharing with you a question about how to create web-service clients.

    How to Create fancy GUIs for RESTful web-services?

    My latest experiments include an extension of the Footprint Project to provide a RESTful service for the management of the certificates and some features to manage conferences. Quite similar to JUGEvents or Event Brite, but using Glassfish technologies. During JavaONE I will be looking for a good client technology to connect to the brand new Footprint Service. It is a fast and reliable Jersey Web-Service running on top of Glassfish v2.1. The minimum set of features expected for its first release are:

    • Event CRUD including a scheduler feature (sample URLs: read, edit, count)
    • Attendees CRUD (sample URLs: read, edit, count)
    • Distribution of certificates (online links to Footprint Certificates published by conferences or courses)

    So, if you are motivated about any Java front-end technologies ({JavaFX, {web : {JSF, GWT, Wicket, Rails-*, JRuby, Prism, Sinatra}, rcp-*, desktop, mobile}.), please come to me and let's talk about a collaboration (if you also liked the project idea, of course :). Specially if you like to do mashups and to connect them in to smart services, then I will pay you a beer or two in San Francisco :)



    James Gosling live at the Jazoon 2009

    Posted by felipegaucho on May 18, 2009 at 11:15 AM | Permalink | Comments (0)

    A VIP presence was just confirmed in Jazoon 2009: James Gosling. Doctor Gosling will hold the Opening Keynote Speech at Jazoon'09 on Tuesday, 23 June 2009 - a chance to the European community to listen the words of the vice president of SUN Microsystems and the former designer of the Java language.

    I had the privilege to listen Mr. Gosling in other occasions, once in JavaOne 2007 and before that in France, in a conference in the Palace of Versailles. If you never attended the Gosling conferences and you are waiting for a pedant professor or an emergent hacker from the seventies, forget it. His solid academic background combined with a decade ahead of the Java development made James Gosling an unmissable session for the Java developers. You can be part of this historical moment and do have the privilege to listen the words of the Original Java Geek :)


    Welcome to Zürich Mr. James Gosling
    welcome to Jazoon 2009

    Jazoon tricks:

    • Do you know that Jazoon offers unlimited number of vouchers for companies that pay a minimum of 40 vouchers? Check here for all Jazoon bargains.
    • JUG Leaders attends for free, and JUG members receives special discounts.
    • more tips to come...


    Google AdSense in your Hudson installation

    Posted by felipegaucho on May 15, 2009 at 04:28 AM | Permalink | Comments (0)

    This is probably my shortest blog ever, just to register a mini trick with Hudson. The good news are: you can add Google AdSense to your Hudson frontpage - or any other HTML snippet you want. You can check an example here.

    The trick is very simple, login in your Hudson frontpage and click on the edit description link on the right top corner of the screen. In the description textbox you can type any HTML tag. It is done, edit your HTML block - Google AdSense for example - and press submit.

    If you know other tricks with Hudson, please be my guest to share with the community.. nice tool and a nice opportunity to hack it all :)

    hudson2.PNG

    Aknowledgment: this trick was first unveiled by Philippe Marschall.

    adsensehudson.PNG

    Generating conference certificates with Marathi characters

    Posted by felipegaucho on April 26, 2009 at 07:15 AM | Permalink | Comments (0)

    Few days ago Tushar Joshi asked me how to use the Footprint Library to publish certificates with Marathi characters. This was a nice challenge since I had never realized Footprint was released without support for TrueType Fonts, but everything worked and now the library supports unicode characters.

    The major change was in the config file, where a new element arose:

    <fonts>
      <mapping pdfField="nome" fontFile="RVJanaMarathi.TTF" />
    </fonts>

    The contents of the fontFile is a path to a TTF file. I used a file I found here, and since I don't know Marathi I guess it is correct (otherwise please point me to a correct font file). I didn't have time to generate a new release, but I already committed the code in the subversion trunk and I also saved a demo project here. Below you find an image with the first unicode certificate ever published with the Footprint Project, and I hope you can adopt it in your own language from now on.

    cert.png

    Special note: after publishing this blog I realized that mixed languages are not supported. So, if you run the sample code, you will notice my own name is not printed in the certificate due to its non-Marathi data in the database. I will re-think what is the best strategy in this case: mixed languages - and I also need to think on how common is that problem :)



    A Generic CRUD Facade for your @Entity Beans

    Posted by felipegaucho on April 19, 2009 at 03:54 PM | Permalink | Comments (9)

    CRUD (create-read-update-delete) is a repetitive code in Java EE projects but it can be isolated in a unique class through the usage of JPA annotations and Generics - a class I call CRUDEntityFacade. This is not a new pattern and the goal of this blog entry is just to prepare you to read my next entries about JAXB and JPA together. I am doing really nice things with Jersey and Glassfish, and before exposing complicated inventions I decided to register the basics of the persistence layer (also very nice for my own future reference).

    Complete sample projects

    The code I am publishing here is just to avoid you to checkout a full project and to dig to inspect my CRUD strategy. But if you want to see this technique in action, please be my guest to checkout one of my open-source projects. The projects are built by Maven and were created in Eclipse - but you should be able to run it on your preferred IDE without any problems. Both projects require minimum Java 6.

    • Example #1: the Footprint project, what includes a RESTful service coded with the Jersey framework. Subversion checkout:

      svn checkout https://footprint.dev.java.net/svn/footprint/trunk footprint --username username

    • Example #2: the Cejug-Classifieds project, a WSDL first web-service coded with the JAX-WS framework. Subversion checkout:

      svn checkout https://cejug-classifieds.dev.java.net/svn/cejug-classifieds/trunk cejug-classifieds --username username

    username is your java.net login, or you can use guest without password to get a read only copy.

    The generic CRUD implemented with generics and JPA annotations

    1. Defining the persistence interface containing the persistence operations we want to share among the entities. Note that I replicated the runtime exceptions because it is an interface and we expect interfaces to be the most documented and self-understandable artifacts in our project.

      public interface FootprintEntityFacade {
      	T create(T entity) throws EntityExistsException, IllegalStateException,
      			IllegalArgumentException, TransactionRequiredException;
      
      	T read(Serializable primaryKey) throws IllegalStateException,
      			IllegalArgumentException;
      
      	T update(T entity) throws IllegalStateException,
      			IllegalArgumentException, TransactionRequiredException;
      
      	void deleteO(T entity) throws IllegalStateException,
      			IllegalArgumentException, TransactionRequiredException,
      			PersistenceException;
      }

    2. To define a superclass of all entities. This is an important step, since we want to use generics we must have a unique type to pass in our interface implementation. The mapped superclass is also useful to share the ID attribute.

      @MappedSuperclass
      public abstract class AbstractFootprintEntity implements Serializable {
      	@Transient public static final long serialVersionUID = 196919661993L;
      
      	@Id
      	@GeneratedValue(strategy = GenerationType.AUTO)
      	private long id;
      
      	// getters & setters
      }
      

    3. Then we need some entities. I will use an example of the Footprint entity that represents Events (JUG meetings, courses or conferences).

      @Entity
      public class FpEvent extends AbstractFootprintEntity {
      	@Transient private static final long serialVersionUID = 196919661993L;
      
      	@Column(nullable = false)
      	private String name;
      
      	@Column(nullable = true)
      	private String website;
      
      	@Version
      	private long updatedTime;
      	
      	// getters & setters
      }
      	

    4. Now an important step, the realization of our generic CRUD interface to our Event Entity. In theory this empty interface is not necessary, but my experiments proved that this is the best way to go. It opens a chance for the customization of the persistence interface and - the main reason - it avoids conflicts between different entity instances using a same interface. You will have 1 empty interface for each Entity in your project, an oddity I couldn't get rid off - if you know how to avoid it, please tell me.

      @Local
      public interface EventFacadeLocal extends FootprintEntityFacade<FpEvent> {
      }
      	

    5. Now we just need to implement the CRUD. A special note about the empty constructor, that uses reflection to get the class of the generic type - this is the hidden trick that makes the magic possible.

      @Stateless
      public class CRUDEntityFacade<T extends AbstractFootprintEntity> implements FootprintEntityFacade<T> {
      
      	private transient final Class entityClass;
      
      	@SuppressWarnings("unchecked")
      	public CRUDEntityFacade() {
      		entityClass = (Class) ((java.lang.reflect.ParameterizedType) this
      				.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
      	}
      
      	@PersistenceContext(name = "footprint")
      	protected transient EntityManager manager;
      
      	public T create(final T entity) throws EntityExistsException,
      			IllegalStateException, IllegalArgumentException,
      			TransactionRequiredException {
      		manager.persist(entity);
      		manager.flush();
      		return entity;
      	}
      
      	public T read(final Serializable primaryKey) throws IllegalStateException,
      			IllegalArgumentException {
      		return manager.find(entityClass, primaryKey);
      	}
      
      	public T update(final T entity) throws IllegalStateException,
      			IllegalArgumentException, TransactionRequiredException {
      		manager.merge(entity);
      		manager.flush();
      		return entity;
      	}
      
      	public void delete(final T entity) throws IllegalStateException,
      			IllegalArgumentException, TransactionRequiredException,
      			PersistenceException {
      		manager.remove(entity);
      		manager.flush();
      	}
      }
      	

    6. Now we need to create a concrete implementation of the facade interface. Again an empty type, where you can add your customs methods if any. You will never instantiate this type manually, but it will be used by the generics mechanism to have different types for different facades.

      @Stateless
      public class EventFacade extends CRUDEntityFacade<FpEvent> implements
      		EventFacadeLocal {
      }
      	

    7. It is done, now we can persist any entity of the type AbstractFootprintEntity (remember to create the empty sub-interface for each new entity you want to persist). Below you find an example of the CRUD usage in a Jersey resource:

      @Path("/event")
      public class EventResource {
      	@EJB
      	private EventFacadeLocal eventFacade;
      
      	@Produces( { MediaType.APPLICATION_XML })
      	@Consumes(MediaType.APPLICATION_XML)
      	@POST
      	@Path("/test2")
      	public FpEvent postJAXBElement(FpEvent e) {
      		return eventFacade.create(e);
      	}
      }

    In my next entries I will show you how to use dual annotation (JAXB + JPA) in order to minimize the impedance mismatch between the persistence layer and the serialization of element used in the services endpoints - REST or SOAP.



    JavaONE 2009: here we go...

    Posted by felipegaucho on April 16, 2009 at 04:51 AM | Permalink | Comments (0)

    Hard financial times are also times for investments in our personal education in order to mitigate whatever situation the future bring to us. In this FUD scenario, nothing better than joining the most influent Java conference in the world: Java ONE 2009.

    No much to explain about the well known Java One, except this year I expect a lot from the java EE 6, fancy JavaFX demos and a lot of OSGi and RESTful (Jersey) services. From the pavilion I expect 101% of networking, amazing new gadgets and a few nice gifts as hunt trophy :)

    I will take with me the Footprint, the Cejug-Classifieds and some other ideas to share over there... and, as usual, an open mind to listen your ideas and to discuss Java.

    See you in California.



    Google App Engine to support Java applications

    Posted by felipegaucho on April 08, 2009 at 12:36 AM | Permalink | Comments (1)

    The world of computing is recognizing once more the power of the Java platform as the de facto standard in producing quality software for diverse devices - including web browsers accessing services available in the cloud computing.

    After a growing number of articles discussing the problems of the so called lightweight technologies, it is time for Google to endorse the strengths of Java - specially the number and the quality of the java engineers. The new offer of Google is a clear statement that something was missing in the app engine and - mainly - that's great news for the Java community.

    ae_gwt_java.png

    I just registered my account here, and I can't tell much about the new possibilities of Java App Engine, but I am quite optimistic about it and I recommend you to give it a try - let's see.



    Kudos to Chris Adamson

    Posted by felipegaucho on March 31, 2009 at 02:27 AM | Permalink | Comments (2)

    Few years ago, I was teaching Java in universities in Brazil, spending all my days and nights studying and thinking on how to become a better teacher and how to become a better Java professional. I was not much than an enthusiast Java developer full of dreams on how to transform the world through the Java technology.... a lot to say, a lot to discuss and to learn and to teach..

    One day a new website poped up in my screen: java.net and I requested to be a blogger on that.

    The one who gave me this opportunity was Chris Adamson, as I believe he did for several other prospective web writers. It was a very important milestone in my carrier, and the support I received from Chris during all these years just proved the great person and great professional he is.

    Chris: good luck my friend, I am sure the change is for the best and I hope to hear great news from your next ventures - see you in the Java community :)

    Chris Adamson



    QTI 2.1 draft specification has been removed from the IMS website

    Posted by felipegaucho on March 30, 2009 at 08:02 AM | Permalink | Comments (0)

    In the last few days the QTI 2.1 draft specification has been removed from the IMS website, citing a lack of participation:

    The IMS QTIv2.1 draft specification has been removed from the IMS website. Adequate feedback on the specification has not been received, and therefore, the specification has been put back into the IMS project group process for further work.

    The education community pushed a strong reaction in the IMS-QTI mailing list and I really hope the spec leaders will rethink their decision. Otherwise, excellent education resources - like OLAT for example - will miss a standard and eventually we will observe the chaos of ten years ago (when every company invented their own specification). IMO: not nice :(

    Update: a forum was created to discuss this issue.



June 2009
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        


Search this blog:
  

Categories
Business
Community
Community: Embedded Java
Community: Global Education and Learning Community
Community: Java Patterns
Community: Java Specification Requests
Community: Java User Groups
Community: Java Web Services and XML
Community: JDK
Community: linux.java.net
Community: Mobile & Embedded
Community: NetBeans
Community: Robotics
Deployment
J2EE
J2SE
JavaOne
Linux
Mobility
Open Source
Patterns
Performance
Programming
Security
Tools
Web Applications
Web Services and XML
Archives

June 2009
May 2009
April 2009
March 2009
January 2009
December 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
September 2006
August 2006
July 2006
May 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005

Recent Entries

Gosling oppening the Jazoon 2009

Pocket guide to Jazoon 2009

SUN Certification Model getting much better

Articles

Exposing Domain Models through the RESTful Service Interface, Part 1
JAXB and JPA can be combined to reduce the boilerplate code of Java EE applications and to optimize the performance of RESTful web services--a flexible solution, which preserves the original domain model while following the JPA, JAXB, and HTTP standards. Jun. 4, 2009

The Requisites of a Question-Management System
The Quaestio module of the java.net Schoolbus project hopes to make it easier for teachers and professors to manage the questions they use on tests, quizzes, and homework. As project contributor Felipe Gaucho explains, hammering out the needs, goals, and concepts of such a system is tricker than it looks. Sep. 2, 2004

All articles by Felipe Gaucho »



Powered by
Movable Type 3.01D


 Feed java.net RSS Feeds