 |
Felipe Gaucho's Blog
Felipe Vieira Silva, a brazilian known as Felipe Gaucho, started his computing career in the 90's (C/C++, VB) and first tried Java in 1998 during the development of a robot arm simulator as a student of scientific initiation program at UNISINOS. One year later he concluded his course and becomes an enthusiastic about Java, seeking the tricks about the new technology and joining himself to projects that involved the concept of portable software - the fever of that time. On December 2002 he concluded his Masters Degree in the Federal University of Cear?, publishing his dissertation about "Planning & Scheduling" and started teaching in faculties of computing. The challenges of the new career revealed an exciting area: Learning & Education. Observing the behaviour of students and teachers, he started dreaming with several computational solutions for questions like "how to enhance the teaching?", "how to facilitate learning by the students?" and other common issues shared by the academic community. Nowadays, Felipe Ga?cho is seeking a PhD opportunity in order to improve his knowledge and enhance his capacity of contribution for the society. The establishment of the Schoolbus Project in the JELC community was an important step in that direction, and he believes he can become a good researcher in the next few years.
Cejug-Classifieds goes Metro
Posted by felipegaucho on April 04, 2008 at 12:24 AM | Permalink
| Comments (0)
Since it was created, the cejug-classifieds project served as a proof of concept for a lot of technologies. Now it comes back with a new set of SOA technologies.
I plan to post our detailed plans asap, but until I find time to create better documents, I published a collaboration diagram in the cejug-classifieds home page and I also published a WAR file you can run in Glassfish for testing - the deployment descriptor included in the WAR is only ready for Glassfish, and I am looking for a volunteer to adapt it to Tomcat or JBoss :). If you prefer to inspect the code snapshot, you can checkout the complete source code from SVN.
Take the subway and visit us at the Cejug-Classifieds, we are waiting for your best tips about our new plans. | 
|
Caravan to Jazoon'08
Posted by felipegaucho on March 12, 2008 at 05:46 AM | Permalink
| Comments (0)
CEJUG is organizing the Caravan Jazoon'08, a group of JUG members interested
in to participate of Jazoon'08. Inspired in similar initiatives by SouJava and other
groups, this one has a differential: the JUG serves not only as communication channel, but also as a secure source of information about
who are attending the conference - and it is a valuable input for conference organizers.
Jazoon'08 is open for business and the goal of the conference
administrators is to give fair opportunities for everyone interested in joining the conference, including very low fares for students,
discount for JUG members and discount for groups of professionals.
One of the main issues of that flexibility is how to control Who is JUG member?. Since the conference is international, it
is virtually impossible for the conference organizers to check the information provided by more than two thousand attendees.
|  |
The social network strength of Java User Groups
As a JUG leader and also as a professional, I helped Jazoon to organize its first edition in 2007. My task was
to provide information about Java community, and put the conference administrators in contact with the community
stake holders - not all of them, of course, but I guess I did a good work in helping conference and Java community
to get closer to each other. The experience provided me a good feedback on how big
conferences are organized and what are the big issues
in provide discount vouchers and free passes - basically, the lack of accurate information restricts the ability of
conference organizers of thinking about better conditions for the Java community. Jazoon has a very elegant package of
benefits for its attendees, but it causes a lot of headache for the organizers, and I can assume this is the same scenario
for JavaOne, Javapolis and any other conference with superlative numbers. The good news: JUGs can help conferences to attract
more people in a more fair way - JUGs are the local community snapshot, and they are the place you must go if you need information
about Java communities all over the world.
How Caravana Jazoon'08 works?
It is simple: we created a home-page, where we publish useful information about traveling to Switzerland, and we also
publish the pictures and names of the confirmed attendees. This way, we can identify ourselves, exchange traveling tips
and - the most important - guarantee for the conference organizers clear and trustful information about who is asking discount vouchers.
It is our first travel initiative, but we plan to extend it to JavaOne and others. If our group of interested travelers
grows up enough, we can start to negotiate with conference organizers, tourism agencies, etc.
* Caravan @ wikipedia
Is software beyond hardware?
Posted by felipegaucho on February 06, 2008 at 12:14 PM | Permalink
| Comments (4)
The discussion started in my JUG mailing list, where some
members started celebrating the availability of YouTube for Mobile
Devices, including remarkable advances of the nowadays gadgets, like
the supposedly revolutionary features of IPhone and a lot of
other technologies.
The aftermath of the flame produced some insights I would like
to share with you, but not before a context quiz:
- When the keyboard was invented?
- When the mouse was invented?
- How frequently you run applications in your cell phone? If
not much, why?
- How many pages you can type in a small device before to hit
it in the wall?
- How many hours - compared to your TV or your computer - you
spend using your mobile devices? If not much, why?
- Which is more expensive in your working place: your computer
or your chair?
- When was the last time you updated or replaced a software?
- When was the last time you updated or replaced a hardware?
- Pervasive computing means you to carry everything in your
pocket? If not, why you still carrying it?
So, if you start looking around and thinking of what your are
using, perhaps you share my perception about the gap between hardware
and software. Few more thoughts and you realize the different velocity
some technologies are adopted comparing to others, and the obvious
commercial side-effects.
One of the key points of our discussion was about powerful
tools of mobile devices and the real adoption of such features. No
doubt modern cell phones can seduce you with those colored keys,
multimedia features and fancy design... but think twice, how
frequently you actually use it for something you really need?
The hardware hurts you
A short survey gave us the impression about the most popular
features of mobile devices: SMS, GPS and - of course - the phone. We
could not identify the adoption of anything much beyond those basic
functionalities. Despite all arguments used to justify why the
revolutionary features are not being adopted in large scale by end
user, I have a strong feeling about the main reason: the hardware is
just boring. The hardware hurts you, it destroys your body and your
patience, and doesn't matter your expectations about the next cell
phone xyz99, it will come with a newer version of the same too small
buttons, tiring screen and probably it will be just a replacement of
your current walkman. Keyboards? Come on, when was the last time you
invest real money in a keyboard? Cheapest seems to be the
most successfully brand in the keyboards market. Mouse? Do you really
like it? And what about the furniture? Do you really believe the
designer/architect who designed your chair spends 12 hours coding
every day? eheh, I guess not, the artistic designer is probably more
busy thinking about colors and other very important details. Important
for sale, I guess :)
Innovation == renovation?
Thinking about the last 30 years (sorry, more than that I
should be born again), I can remember real revolutions in movies,
image, sound, software. From computer technology, hardware evolved a
lot, including astronomical amount of memory we use nowadays and the
allucinogenous CPU velocity. But about design, it is a bit hard to
defend. While we wait for the Quantum Physics to offer us another
computer model, we seem to be locked in old paradigms. I would like
not to go so far in science because it is just a blog, but returning
to the subject of our mundane gadgets I guess we are waiting too long
for better devices, aren't we?
I must confess the discussion was quite interesting and I
pretty sure about its controversial side-effects, but instead of
bothering you more about my insights, I prefer to leave these ideas
open for discussion. Perhaps you can show me other perspective,
something to convince me to give a second chance to try the cell
phone.
A wish for my next cell phone
I want my cell phone to read my email messages for me, and I
want to have a chance to speak the responses or new messages while the
phone converts the sound in text messages.
It seems better than another five different ways to manipulate
the renewed versions of the same icons through the same buttons :)
|
Pictures copied from Wikipedia for
non-commercial purposes ;) |

|
  |
 |
|
Netbeans & Eclipse - confluence is possible
Posted by felipegaucho on February 03, 2008 at 10:22 AM | Permalink
| Comments (3)
Trying NetBeans
6.1 I got Eclipse and NetBeans ready for my collaborators in a
transparent way. Actually I started the Footprint Project few months
ago with NetBeans, and later I also started using Eclipse to maintain
its contents because I use different environments in my daylight job and in
my Open Source activities.
After few trials, I was forced to abandon NetBeans due to
the absence of support for JUnit 4.1, but after the release of the newest
NetBeans, I got JUnit and several other interesting features
that put me back on track about offering the community a more
comfortable development environment. Today, you can checkout
Footprint Project both in Eclipse and NetBeans IDE without loss of
productivity or any need of special configuration tricks.
And what about configuration files?
The configuration files of both platforms are committed under
version control and I noticed they are ignored by the other platform.
Eclipse shows an alert in the problems list, and the internal
file used by NetBeans for automatic updating of ANT tasks is also
marked as problem, but it has no impact on the development environment
and the project normally compiles, runs and executes tests in both IDEs. What is the big deal on using two IDEs in a same project?
In commercial projects, probably the best strategy is to bet in
a unique platform and find a way to extract the best that IDE can give
you, eventually including some platform specific tricks in your
configuration to enhance your productivity. But technology is not
static and sometimes it is nice to keep an open mind about what is
going on in the open source community. I will not promote here another
tiring comparison of IDE flame, we have enough of that in every Java
mailing list, but I'd rather to post some positive thoughts from
my personal experience:
NetBeans offers automatic updating of ANT tasks
if you change artifacts and/or structure of your project. For example,
if you include a new folder, NetBeans add its reference in your
ANT tasks definition. The Sun IDE also offers an impressive i18n
support with features to refactor old projects in order to verify
missed constants.
On the other side, Eclipse is still the most
comfortable Java editor available, fast and reliable.
Both IDEs offer a very good Subversion support and the most
common development features without great differences - despite personal
opinions, of course ;)
That's it for now, I am very happy with the recent advances of
NetBeans IDE and I am for a long time fan of Eclipse, so what I suggest you to
do is to try both IDEs and find out what best fits your project
requirements. Afterwards, the best comparison available continues to be
your own experience.
|
 |
PUJ - Code Competition for University Students
Posted by felipegaucho on January 27, 2008 at 10:16 PM | Permalink
| Comments (0)
PUJ is a new competition format that allows companies to
acknowledge the best Java codes produced by students during an academic
semester. Check out the competition rules created by CEJUG to promote
the synergy between IT market and universities - including preliminary
results.
PUJ - a code competition template
In this
link you can find the translated rules of PUJ (Prêmio
Universitário Java), a competition organized by CEJUG at the end of
2007. The competition inspiration states as:
To offer the local market a chance to evaluate what is produced in Java classes
of universities, allowing companies and universities to share the same goal of
helping people and market to become more productive.
The idea is to promote the collaboration between local people
toward a better society, identifying shared values in all layers of the
IT productivity chain, including students, teachers and professionals.
Apparently obvious at first sight, this idea proved not so simple to be
implemented in the real world. CEJUG held the first edition of PUJ at
the end of 2007, and some very interesting feedback was collected. Some
of those experiences, including the polemic points are discussed below.
-
Can I reuse the PUJ format in my local JUG or company?
Please copy the PUJ idea, be my guest to reuse
the proposed rules. PUJ was invented to help people to promote Java and
to unify Java people around the idea of quality software development.
The competition format and its former ideas are not new, and you
probably can enumerate a large set of similar initiatives, but PUJ is
distributed without authorship in a hope to be adopted by the largest number of people. If you have a JUG, please do your own PUJ - you can
change the name, and if you like it we only ask you to quote CEJUG
somewhere ;)
-
Everyone is responsible by the quality of the education
process.
A beautiful side-effect of PUJ is to distribute the idea quality
on all partners of the educational process: students, professors and
companies. When a teacher knows his class statements will go public, he
becomes naturally concerned about the quality of the statements. Other
good side-effect is the comparison between several statements done by
students and the market professionals, avoiding bad teachers to
continue to destroy the future of the young talents. Basic posting: bad
professionals, bad teachers and bad students do not find space to hide
under PUJ - I invite you to think about that.
-
What kind of statement is used in PUJ?
All kind of statement, the submissions of PUJ should include
works already done - the competition itself does not provide any
statement. The goal of PUJ is to ask IT professionals to evaluate what
is being produced inside classrooms, and it does not make sense to
restrict or to force a specific type of work to be evaluated. Advanced
mathematics and tic-tac-toe programs are supposed to be eligible to
participate in the same level. Apparently unfair, we detected some
interesting points about that:
-
The number of submitted works was much lower than we expected.
It unveiled a simple fact that graduation students
are not producing much Java code or they are producing low quality
works. We didn't received the advanced mathematics works as well we
didn't received the tic-tac-toe ones :) The small number of submission
suggests us to promote PUJ and forces the universities to explain why
their students are not competing - since the universities are always
doing marketing about their high-quality classes, where is this
quality?
-
The local universities share a very similar curriculum. The
subjects and type of works are the same. Part of this similarity comes
from the government regulation of education, and part comes from the
lack of creativity of the teachers, who prefer to copy the old
statements instead of adapting it to their pupils reality.
- The code of students from different universities was much
less different than we expected. In a first moment, the famous
universities were considered virtual champions and we expected their
students will annihilate the other ones by superior education. The
reality exposed a close ability between students from several
different universities. We don't have a stable opinion about the
causes, but we believe it is due to the fact that academic recognition
comes from scientific research and not from technical education.
-
What are the evaluation criteria?
This is a recurrent question, and it seems locked in the
traditional programming competition formats, where the rules are
settled as static criteria from a point of view of a unique company or
group of persons. In the real world, the idea of quality is not limited
to a tabular enumeration of criteria, and the common sense about what
is good or not seems to be more a natural perception about quality than
cold numbers or technical arguments. The only criterion suggested by
PUJ to the evaluators was: Classify the quality of the
students work using your own point of view.
-
Does it make sense to allow people to judge something without
establishing clear rules on how to do that?
Simple answer: YES, it makes absolute sense to ask people about
the quality of something even if we know some of them may not have solid
background to understand or even classify it - because this is what
happens in the real world. How many times did you notice that
amazing idea failing as commercial product?
In case of PUJ, it is even more fair because the evaluators are
participating in the competition themselves - students, teachers and IT
professionals looking for a shared mind about what is being produced
inside classrooms. The trick to minimize deviations is to consider the
different level of maturity of the participants - we adopted weights
based on the role each evaluator play in the local market: students
opinion is weaker than senior professionals opinion, but all opinions
are contributing to the final grade of the works. The more people you
include in this peer-review process the more fair it becomes. In the
first edition of PUJ, we defined the following opinion weights:
- IT professionals: grade x 7
- Instructors: grade x 4
- Students: grade x 1
-
Why not to use technologies categories?
This is an open decision, and in the first edition of the prize
we asked people to focus more on the quality of the implemented
solution than in its underneath technologies. We believe it reflects
the IT market, because no client ask you to do a software with
technology A or B, clients are looking for solutions to their problems.
One nice side-effect of the first edition of PUJ was to discuss the
epistemic view of the novice developers: Students tend
to focus on technologies instead of focus on the solution of problems.
To contribute to dismiss this problem, PUJ
asked the students to compete in the same arena with their preferred
weapons ;). The first reaction to this idea was a lot of questions like
How can I apply my Swing application against the other
student's Ajax application ? This reflected the students' fetish about
hype technologies instead of the quality of solutions. Students tend to
classify something better even before to look at it, just because they know
certain technology was used - and it is nocive to their own carriers.
The goal here is to put experimented professionals and students
evaluating the same code and to give the students a chance to think
about why some works are better than others even using a
supposedly worse technology?
Special remark: it worked fine in the first edition and the
controversial discussion about that continue to echo in our JUG lists.
We believe this was one of the best contribution of PUJ to the
approximation of academic reality to the local market expectations. The
PUJ competition does not aim to evaluate technologies, the goal is to
evaluate the quality of students' works - in a perfect scenario, people
learn how to think about the problems and their solutions instead of
trying to force the adaptation of the problems to their preferred
technologies. Of course the grades were contaminated with the hype but
we believe with time this strategy will help to reduce the gap between
classrooms and development centers.
And the winner is...
First edition of PUJ was experimental, but proved its values with
some good competitors, besides going under the spotlight of Ceará IT market. The
local results are more important in local community, but I would like to
use this space to honor the great winner of the 1st PUJ: Alexandre
Pinheiro e Silva, student of UNIFOR
University. He produced a work titled "Virtual Video Rental Store", a
web application using Struts and EJB3 technologies. The second place was
granted to Francisco de Assis Ribeiro Junior, student of FIC Faculty. He produced a
work about process communication, a Peer to Peer application based on
Sockets. Both works with source code and comments (only
in Portugese) are available here.
Alexandre Pinheiro e Silva, winner of the
1st PUJ CEJUG - 2007/02 - Fortaleza / CE - Brazil:
... I am very happy to be the first winner of PUJ, quite a surprise
because I produced the code thinking only about my class requirements
- I never thought it would be part of a code competition. One of the best
feedback from PUJ were the comments of the evaluators, where senior
professionals pointed some good features and also the weak part of my
work. Following their suggestion I believe I can get better in my code
style and overall quality in software development. I plan to
participate in the next editions of the prize, it will depend only on
what the teacher will ask me in the next classes... |

|
That's it, we confirmed the second edition of PUJ to the first
semester of 2008, and we expect to evolve from the original model to
something that can help universities and companies to establish their
shared values. We believe one of the prime goals of a JUG is to promote
Java, and to put students to compete is a good action in this sense.
If you have ideas on how to improve the PUJ format, or if you
identify problems in our rules, please comment in the form below.
 |
 |
April 2008
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: NetBeans
Community: Robotics
Deployment
J2EE
J2SE
JavaOne
Mobility
Open Source
Patterns
Performance
Programming
Security
Tools
Web Applications
Web Services and XML
Archives
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
Cejug-Classifieds goes Metro
Caravan to Jazoon'08
Is software beyond hardware?
Articles
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 »

|