 |
Felipe Gaucho's Blog
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.

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:
|
JCP Program Member of the Year
Apache Software Foundation (ASF)
|
|
JCP Program Participant of the Year
Doug Lea
|
|
Outstanding Spec Lead for Java SE/EE
Ed
Burns for JSR 314
|
|
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:
-
To make your life easier, supporting your staying here in Zürich during the Jazoon Conference
-
To bring you information in advance and to support you in getting access to the backstage whenever it is possible.
- 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.
 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:
- 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.
- 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? :)
- 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 :)
- JavaFX phone.. did I told about JavaFX yet? :)
- I met Paul Deitel.. another remarkable moment since I helped in reviewing one of his books fews years ago.
- Netbeans team, thanks for the beers guys :)
- The certification program will change the format: no more memory tests, now it will become hands on oriented, topcoder competition style
- The ecology hype was there, including an amazing car powered by Perrone ...
- java.net corner was impressive this year, with the podcasts and all friendly staff from java.net
- Brazilian Digital TV all over, with Japanese attendees and Mulatas on the demo :)
- 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.
- The robotic was impressive as usual, including a new competition between the American kids.
- Simon Ritter and Caicedo showing up nice demos.
- Microsof and SUN demonstrating the METRO results after all these years of joint efforts - nice quality.
- Mobility, ad hoc networks and mobile phones as part of several demos, a commodity in the Java world - including the starring JavaFX phone.
- 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:
-
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.
-
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 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:
-
Secure Partitionning of Code
by Luiz Gonzaga Mota Barbosa, Leandro Jales Martins, André
Santos (Federal University of Ceará - UFC) and Pablo Ximenes (UPRM)
-
Cejug-Classifieds Online Classifieds System
by Árisson Pontes Leal (Teleinformatics Engineering Department -
DETI) and Felipe Gaúcho (Netcetera AG - Switzerland)
-
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.
 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:
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Who is doing this job and when we can expect the Digital TV to
be available in the Brazilian houses?
- 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).
-
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.
-
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
References
 Clayton Chagas and Magno Cavalcante

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:
-
Optional local interface business interface
-
Packaging
-
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.
-
Portable Global JNDI names
-
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.
-
Testing EJBs
-
Embeddable API
-
New features
-
Singletons - designed for efficient concurrent access.
-
Startup / Shutdown callbacks.
-
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).
-
@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.
-
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).
 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 :)
|
|
Aknowledgment: this trick was first unveiled by Philippe Marschall.
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.

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
-
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;
}
-
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
}
-
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
}
-
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> {
}
-
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();
}
}
-
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 {
}
-
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. |
|
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 »

|