Tuesday, December 27, 2005

Axis and caller IP address

0 comments

MessageContext context = MessageContext.getCurrentContext();

if(context.containsProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST)) {
HttpServletRequest req = (HttpServletRequest)
context.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);

if (req != null)
address = req.getRemoteAddr();
}

Monday, December 26, 2005

Hibernate: criteria, composite keys and joins

0 comments
I had a hard time to make Hibernate to generate automatically a join between two tables, only because one of them had a composite key that was defined in a separate (inner) class. But after some time, I managed to make it work, by "faking" a property that is not updateable. I am not sure if it is a bug or a "feature". Anyway, a person just yesterday had the same problem and here is the thread, including my comment. Check the report.

Sunday, December 25, 2005

Saturday, December 24, 2005

Thursday, December 22, 2005

Eclipse Webtools: you can't remove a file

0 comments
Just incredible, but Eclipse foundation is about to release the final 1.0 web tools project where you simply can't remove a file when the project is published in Tomcat. If that happens, it does not republish the project any longer. Something really bad for a developer using WTP.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=121257

Wednesday, December 21, 2005

Vida de Menina

0 comments
A wonderful movie that was not popular in the movies. Tells a story about a girl in the end of 19th century from an English family that moved to Brazil to search for diamonds. Very sensitive, I recommend it highly. It is still available in a movie theather in São Paulo, but you can find it also in CineSESC today at 18h.

Remote Desktop

0 comments
Just tried remote desktop client on Linux (rdesktop and also krdc) and it works perfectly to access Windows hosts. Give it a try, if you need to access any Windows hosts.

Sunday, December 18, 2005

Tomcat port monitoring in Eclipse Web Tools Platform (WTP)

4 comments
For Eclipse WTP 0.7, that is the way to make the TCP/IP monitoring work. First of all, the monitors are defined in Windows -> Preferences -> Run/Debug -> TCP/IP Monitor. It is NOT the monitor menu from the Tomcat context menu. That ones are other monitors, don't mix them both.

In the TCP/IP Monitor preferences windows, define a HTTP monitor for your Tomcat port. In my case, I use the default one (8080), so I defined a monitor for localhost:8080 traffic (and set the local port to 6666, but it could have been any available port). Start this monitor.

After that, you may start your Tomcat. The TCP/IP monitor is independent of the start of your Tomcat (independent of being up or down). In order to monitor your web services, instead of sending your web services request directly to your Tomcat deployed web services, you must define a new endpoint (to the port you defined in the above step) and send your web services request to this port. That could be done by the JSP files generated by Eclipse or by the Web Services Explorer.

Finally, open the view "TCP/IP Monitor" and start monitoring all the HTTP traffic.

Note that you don't need to change your Tomcat startup parameters, define JMX monitoring and other complex stuff. Simply do the above steps and everything will be working.

What I still don't know is why Eclipse, during a bottom-up web services creation, complains that the Tomcat configuration does not support port monitoring. Actually, it does not even make the slightest sense for me, since it is a independent service. If you have further information about this, please let me know.

Wednesday, December 14, 2005

Hibernate Annotations

0 comments
Just finished porting a project that used XDoclet to Hibernate Annotations. It was very simple and besides for two small problems, it worked pretty well. XDoclet didn't work as I wanted and I had already started changing the Hibernate mapping files directly. Now, it is much cleaner, sort of ready for EJB 3.0, and I don't have to generate mapping files (or change them manually).

One of the problems was that EJB 3.0 specification don't use the class qualified name, so you have an exception when you have two classes with the same name. I had to explicitly set the qualified names.

The other problem was that the cascade types for persistence in EJB specification is not as extense as Hibernate ones. I wanted a save and update operations cascade, but couldn't find this option, then I set the persist cascade type, but it didn't work. So, I had to use a hibernate specific annotation (@Cascade(value=CascadeTypes.SAVE_UPDATE)). Anyway, now everything is working fine.

Hard Work

0 comments
Hard work is the refuge of those who have nothing whatever to do. - Oscar Wilde

Saturday, December 10, 2005

Life is a dream...

0 comments
Life is a dream that keeps me from sleeping - Oscar Wilde

Friday, December 02, 2005

SMART monitoring tools

1 comments
This week I had to fix a problem with a hard disk that wouldn't have its partition mounted. Actually, Linux would hang the mount command (the system call mount(), actually) and Windows would give me an error message telling that the hard disk is inaccessible.

After running some tools (testdisk and gpart), I found that the hard disk was acessible running dd and copying some sectors. Then I plugged it in my desktop, which had SMART monitoring tools and when I logged into KDE, I had an email telling me about a bad block in the disk. It was amazing. I learned how to use smartctl and other tools to run self-tests in the hard disk, but still didn't solve (I couldn't relocate the block as mentioned in the BadBlockHowto).

In the end, I ran Maxtor software that checked the full surface and fixed the bad block. Even then, I still wanted to try to access the partition. I checked the partition table with diskprobe (from Microsoft System Tools) and saw that the partition table was corrupted. I based that on the NTFS boot block information, what you are also able to see with this tool. Fixing the partition table size made me access the partition, but for some reason, windows tried to fix the filesystem and blew up all my files.

In order to try to recover some files, I ran PhotoRec, that was amazing at recovering most of the needed files. Finally, I ran a low level formatting and now the disk is back working.

I suggest that, if you run Microsoft Windows systems, you install SMART monitoring tools to warn you if something happens with your hard drive, before it is too late.

Monday, November 28, 2005

MySQL case sensitivity for table and column names

1 comments
Quite basic tip, but I had a hard time making Tomcat work with a database that had a table created with a different case in another database. Unlike PostgreSQL and other databases, MySQL is case sensitive for table and column names on Linux/Unix, but case insensitive on Windows. If you have a datasource realm defined for a particular table, make sure the case for its name and its column names match how it was created in the database.

I found a "rule" for SQL naming suggested by Joe Celko: "keywords in ALL CAPS, table names in LeadingCaps, and column names in all_lowercase_with_underscores" (from an article in LinuxJournal).

Sunday, November 20, 2005

Roberto Mangabeira Unger: Pôr fim ao governo Lula

0 comments
Na Folha de São Paulo do dia 15/11/2005:

http://www1.folha.uol.com.br/fsp/opiniao/fz1511200506.htm

ROBERTO MANGABEIRA UNGER

Pôr fim ao governo Lula

Afirmo que o governo Lula é o mais corrupto de nossa história nacional. Corrupção tanto mais nefasta por servir à compra de congressistas, à politização da Polícia Federal e das agências reguladoras, ao achincalhamento dos partidos políticos e à tentativa de dobrar qualquer instituição do Estado capaz de se contrapor a seus desmandos.
Afirmo ser obrigação do Congresso Nacional declarar prontamente o impedimento do presidente. As provas acumuladas de seu envolvimento em crimes de responsabilidade podem ainda não bastar para assegurar sua condenação em juízo. Já são, porém, mais do que suficientes para atender ao critério constitucional do impedimento. Desde o primeiro dia de seu mandato o presidente desrespeitou as instituições republicanas. Imiscuiu-se, e deixou que seus mais próximos se imiscuíssem, em disputas e negócios privados. E comandou, com um olho fechado e outro aberto, um aparato político que trocou dinheiro por poder e poder por dinheiro e que depois tentou comprar, com a liberação de recursos orçamentários, apoio para interromper a investigação de seus abusos.
Afirmo que a aproximação do fim de seu mandato não é motivo para deixar de declarar o impedimento do presidente, dados a gravidade dos crimes de responsabilidade que ele cometeu e o perigo de que a repetição desses crimes contamine a eleição vindoura. Quem diz que só aos eleitores cabe julgar não compreende as premissas do presidencialismo e não leva a Constituição a sério.
Afirmo que descumpririam seu juramento constitucional e demonstrariam deslealdade para com a República os mandatários que, em nome de lealdade ao presidente, deixassem de exigir seu impedimento. No regime republicano a lealdade às leis se sobrepõe à lealdade aos homens.
Afirmo que o governo Lula fraudou a vontade dos brasileiros ao radicalizar o projeto que foi eleito para substituir, ameaçando a democracia com o veneno do cinismo. Ao transformar o Brasil no país continental em desenvolvimento que menos cresce, esse projeto impôs mediocridade aos que querem pujança.
Afirmo que o presidente, avesso ao trabalho e ao estudo, desatento aos negócios do Estado, fugidio de tudo o que lhe traga dificuldade ou dissabor e orgulhoso de sua própria ignorância, mostrou-se inapto para o cargo sagrado que o povo brasileiro lhe confiou.
Afirmo que a oposição praticada pelo PSDB é impostura. Acumpliciados nos mesmos crimes e aderentes ao mesmo projeto, o PT e o PSDB são hoje as duas cabeças do mesmo monstro que sufoca o Brasil. As duas cabeças precisam ser esmagadas juntas.
Afirmo que as bases sociais do governo Lula são os rentistas, a quem se transferem os recursos pilhados do trabalho e da produção, e os desesperados, de quem se aproveitam, cruelmente, a subjugação econômica e a desinformação política. E que seu inimigo principal são as classes médias, de cuja capacidade para esclarecer a massa popular depende, mais do que nunca, o futuro da República.
Afirmo que a repetição perseverante dessas verdades em todo o país acabará por acender, nos corações dos brasileiros, uma chama que reduzirá a cinzas um sistema que hoje se julga intocável e perpétuo.
Afirmo que, nesse 15 de novembro, o dever de todos os cidadãos é negar o direito de presidir as comemorações da proclamação da República aos que corromperam e esvaziaram as instituições republicanas.

Friday, November 18, 2005

hal not working?

0 comments
Check if you are not mounting something in /sys/bus/usb. Running hald from the command-line will give a feeling about the possible error. I noticed that my fstab had the following line:

none /sys/bus/usb usbfs defaults 0 0

Then hald was unable to read /sys/bus/usb/devices/ and /sys/bus/usb/drivers. After I changed it, everything started working and the icons for the devices showed up in the KDE desktop :-)

Finally I will be able to use a USB Drive in Linux as it is used in Windows systems.

Wednesday, November 16, 2005

Linux: Randomization of Stack Pointer

0 comments
A very interesting feature in Linux kernel to avoid buffer overflows. The stack pointer is randomized instead of being constantly the upper user address space (usually 3Gb, or 0xc0000000).

Sunday, November 13, 2005

Partition Magic NTFS error 1601

6 comments
For those of you who may be facing NTFS critical error 1601 when using Partition Magic, check if the filesystem ID in the partition is not set to FAT32. After I booted with Linux (and even repartioned with ntfsresize), I noticed that the filesystem type was wrong. After I changed it to ID 07 (NTFS), Partition Magic worked perfectly for the partition resize.

Concerning NTFS resize, a very good option is NTFSResize. Currently it resizes fragmented filesystems and it is very stable. The only "problem" is that you still must delete and recreate the partition with the correct size. By recreating the partition, you don't lose your data, only the partition table is changed. This is a work that we are not willing to do, that is why an application like Partition Magic or QTParted is very suitable for these needs.

A good option for this sort of operation is RIP (Recovery is Possible). It is a 26Mb CD image that has most of the tools you will need to recover your system. Knoppix is also a good option, but sometimes it is too much (650Mb CD) for you that only need to edit your partition table or do something similar. (In particular when you want to do it faster).

Friday, November 11, 2005

CEO and Arts

0 comments
From FastCompany magazine:

"All arts are essentially entrepreneurial."
-Bruce Payne , Professor, Duke University

"CEOs are made, not born."
-Patrick C. Kelly , CEO, Physician Sales and Service

Friday, November 04, 2005

Another Hibernate bug: subqueries with Criteria API

0 comments
First of all, a ClassCastException. But I was lucky that someone also had this problem and created a patch to solve this problem. Check it here at Hibernate JIRA Issue.

I even made a contribution updating the patch to the latest Hibernate version (3.1rc2). Fortunately compiling Hibernate is quite fast.

Even with this patch applied, I still couldn't make my subqueries to work. A entry in the Hibernate Forum would mention another bug, but this had a workaround (and I didn't have to recompile Hibernate once again :-).

Hibernate Criteria API: createAlias() means no outer join

1 comments
With Criteria API, we are unable to create an alias that keeps the desired outer join. Therefore, for a case where you need all the entries that have a null object or a particular value for a joined value for this object (when it's not null, of course), you must use the HQL, as you can see below:

Forum

Issue

That breaks my infra-structure for a multi-criteria search where one of the search criteria would imply a condition like the one mentioned in the links.

Wednesday, November 02, 2005

JSTL and Expression Language: get an entry from a map whose key is integer?

1 comments
I use JSTL and expression language (EL) a lot to make my life simpler when creating the JSPs for data presentation. However, I got to a problem that seems to be a bug in expression language (design and/or implementation). Simply, I can't an entry from a map (hashmap) whose key is an Integer object. Just like a person reported here on the taglibs-user mailing list.

If someone knows a way to do that other than adding the integer key to the page context and accessing it in the expression, please let me know :-)

Saturday, October 29, 2005

Valores Invertidos?

0 comments
Um carro tem o seu vidro quebrado e o seu rádio roubado na frente de casa. Talvez a culpa seja do dono do carro, pois ele causou uma grande desigualdade social àquele que não tinha o carro nem o rádio, logo isso teve que ser combatido. Como diria alguns socialistas, certas situações não devem ser discutidas, devem ser _combatidas_. Fisicamente, se necessário.

E o que aconteceria se o dono tivesse encontrado o autor do furto e o agredido fisicamente? Certamente seria o seu ônus o custo do vidro, do rádio e de quaisquer consequências a esse indivíduo. E, se fosse um menor de idade ainda? Acho que certamente não consigo imaginar as consequências a esse dono do carro.

Que assistências sociais e religiosos mais fervorosos não me ataquem. Mas esse é o Brasil.

Intelligence

0 comments
"Intelligence is not an exclusive monopoly of genius; it is an attribute of all men, and the differences are only a matter of degree. If conditions of existence are destructive to genius, they are destructive to every man, each in proportion to his intelligence. If genius is penalized, so is the faculty of intelligence in every other man. There is only this difference: the average man does not possess the genius's power of self-confident resistance, and will break much faster; he will give up his mind, in hopeless bewilderment, under the first touch of pressure."
[Ayn Rand, "Requiem for Man," Capitalism: The Unknown Ideal]

"Look past the range of the moment, you who cry that you fear to compete with men of superior intelligence, that their mind is a threat to your livelihood, that the strong leave no chance to the weak in a market of voluntary trade. What determines the material value of your work? Nothing but the productive effort of your mind?if you lived on a desert island. The less efficient the thinking of your brain, the less your physical labor would bring you?and you could spend your life on a single routine, collecting a precarious harvest or hunting with bow and arrows, unable to think any further. But when you live in a rational society, where men are free to trade, you receive an incalculable bonus: the material value of your work is determined not only by your effort, but by the effort of the best productive minds who exist in the world around you . . . .

"Every man is free to rise as far as he's able or willing, but it's only the degree to which he thinks that determines the degree to which he'll rise. Physical labor as such can extend no further than the range of the moment. The man who does no more than physical labor, consumes the material value-equivalent of his own contribution to the process of production, and leaves no further value, neither for himself nor others. But the man who produces an idea in any field of rational endeavor?the man who discovers new knowledge?is the permanent benefactor of humanity. Material products can't be shared, they belong to some ultimate consumer; it is only the value of an idea that can be shared with unlimited numbers of men, making all sharers richer at no one's sacrifice or loss, raising the productive capacity of whatever labor they perform. It is the value of his own time that the strong of the intellect transfers to the weak, letting them work on the jobs he discovered, while devoting his time to further discoveries. This is mutual trade to mutual advantage; the interests of the mind are one, no matter what the degree of intelligence, among men who desire to work and don't seek or expect the unearned.

"In proportion to the mental energy he spent, the man who creates a new invention receives but a small percentage of his value in terms of material payment, no matter what fortune he makes, no matter what millions he earns. But the man who works as a janitor in the factory producing that invention, receives an enormous payment in proportion to the mental effort that his job requires of him. And the same is true of all men between, on all levels of ambition and ability. The man at the top of the intellectual pyramid contributes the most to all those below him, but gets nothing except his material payment, receiving no intellectual bonus from others to add to the value of his time. The man at the bottom who, left to himself, would starve in his hopeless ineptitude, contributes nothing to those above him, but receives the bonus of all of their brains. Such is the nature of the 'competition' between the strong and the weak of the intellect. Such is the pattern of 'exploitation' for which you have damned the strong."
[Ayn Rand, Atlas Shrugged]

Instead of typing the whole text, I found it here.

Errors of Knowledge and Breaches of Morality

0 comments
"Learn to distinguish the difference between the errors of knowledge and breaches of morality. An error of knowledge is not a moral flaw, provided you are willing to correct it; only a mystic would judge human beings by the standard of an impossible, automatic omniscience. But a breach of morality is the conscious choice of an action you know to be evil, or a willful evasion of knowledge, a suspension of sight and of thought. That which you do no know, is not a moral charge agains you; but that which you refuse to know, is an account of infamy growing in your soul. Make every allowance for errors of knowledge; do not forgive or accept any breach of morality. Give the benefit of the doubt to those who seek to know; but treat as potential killers those specimens of insolent depravity wo make demands upon you, announcing that they have and seek no reasons, proclaiming, as a license, that they 'just feel it' - or those who reject an irrefutable argument by saying: 'It's only logic', which means: 'It's only realit'. The only realm opposed to reality is the realm and premise of death."

Ayn Rand - "Atlas Shrugged"

Friday, October 28, 2005

Each day a new bug

0 comments
At this time, Xdoclet is our attention. Duplicate "unique" attribute generation. I should give Hibernate annotations a try.

http://opensource2.atlassian.com/projects/xdoclet/browse/XDT-1349

Simple to fix, but my xdoclet jar is already full of patches (I think at least more 2/3 in the past).

Thursday, October 27, 2005

Joelmir Beting, Sobre as Viagens de Lula

2 comments
Não sei se é verdade, mas aí vai.

JOELMIR BETING,SOBRE AS VIAGENS DE LULA

"... Até aqui, em 25 meses de governo, o presidente Lula já cometeu 62 viagens ao mundo.
Ou mais de duas por mês, tal como semana sim, semana não.
Sem contar, ora pois, as até aqui, 177 viagens pelo Brasil.
Hoje, dia 15, ele completa 115 dias fora do país desde a posse.
E pelo Brasil, no mesmo período, 335 dias fora de Brasília.
Total da itinerância presidencial, caso único no mundo e na História: exatos 450 dias fora do Palácio, em exatos 777 dias de presidência.
Governar ou despachar, nem pensar.
A ordem é circular.
A qualquer pretexto.
E sendo aqui deselegante, digo que o presidente não é (nem nunca foi) chegado ao batente, ao despacho, ao expediente.
Jamais poderá mourejar no gabinete, dez horas por dia, um simpático mandatário que tem na biografia o nunca ter se sentado à mesa nem para
estudar, nem para trabalhar."

Wednesday, October 26, 2005

ChoiceFormat

0 comments
For those of you that are used to properties files and use it for i18n, in particular with frameworks like Struts, you must know the ChoiceFormat, from Java API. Very interesting for scenarios where you want to make minor adjustments to the text according to the value you receive. The example in MessageFormat is excellent to show you this:

"There {0,choice,1#is one file|1<are {0,number,integer} files}."


In this case, the English message is adjusted according to the value you get.

Incoherence in Struts

0 comments
getMessages(HttpServletRequest) and getErrors(HttpServletRequest) methods from Action class are supposed to return the messages and errors from the request scope. However, you may have saved it in the session scope, since the saveMessages(HttpSession session, ActionMessages messages) method exists and allows you to do that. In this case, if you use saveMessages() (in session scope) and right after use a getMessages(), it will return a new ActionMessages(), with all the previous messages wiped out.

AppFuse has a BaseAction class that implements the correct version of getMessages() and getErrors() and this implementation should be integrated into Struts.

Apache Sofware Foundation Bugzilla: bug 34857

Sunday, October 23, 2005

Thursday, October 20, 2005

Aos Jovens

0 comments

Aos jovens

DANUZA LEÃO

Você, que tem 20, 30 ou 40 anos, fique alerta: essa idade vai passar, e mais depressa do que imagina. Não perca tempo, por favor, sofrendo porque a mãe ou o pai sei lá o quê.

Nada importa; quem tem 25 anos deve aproveitar a vida a cada segundo. Talvez seja inútil dizer isso, porque quem tem 25 não ouve os mais velhos, mas é muito bom ter 25. Não importa se o dinheiro está curto, se foi abandonada pelo namorado, se o futuro é incerto. Nessa idade, não há futuro certo ou incerto, há muito mais: há futuro.
Aproveite; se estiver triste em casa nesse domingo, sem amigos, nem amores nem dinheiro, pense: sou jovem, tenho uma vida pela frente. Isso é melhor do que todas as glórias do mundo, só que ninguém diz isso aos que têm 25. A mim, ninguém nunca disse.
Não dizem talvez por inveja; é mais fácil mostrar que a vida é dura, que é preciso estudar, trabalhar -o que também é verdade; mas ninguém pega uma menina ou um garoto de 25 pelos ombros, sacode, e diz: "Você tem 25, não se esqueça disso um só minuto, viva sua juventude. Aproveite e viva, porque ela vai passar".
E passa. Não que aos 50 não se tenham outras alegrias, outras compensações; mas saber que os de 25 não se dão conta do que estão vivendo é quase revoltante. Seria preciso que eles pensassem, de hora em hora, a cada minuto: "Tenho 25 anos".
Nessa idade não temos obrigação de nada, a não ser a de sermos felizes. Se o seu time perdeu o campeonato, se os juros estão altos, se o Waldomiro não foi preso, olhe para seu joelho, bote uma saia bem curta e vá dar uma volta no quarteirão. Coma um sanduíche bem engordativo, beba um refrigerante não-diet, deite num banco de praça, de preferência debaixo de uma árvore, e olhe o céu através das folhas, mais lindo do que a mais linda renda francesa. E respire fundo, muito fundo, pensando em tudo que pode e ainda vai poder fazer durante muito tempo, isto é: qualquer coisa.
Ache graça em tudo, ria de tudo. O dinheiro está curto, o namorado sumiu, a melhor amiga fez uma falseta? E daí? O dinheiro pode pintar, namorado é o que não vai faltar, e a amiga, esqueça. Tome um sorvete de casquinha, pegue aquele biquíni do ano passado -o único que você tem-, vá para uma praia, e, quando mergulhar, tenha a consciência de que não existem diamantes nem rubis que façam alguém mais feliz do que a sensação de mergulhar no mar.
Quando, à noite, for para a cama com sono, pense na felicidade que é botar a cabeça no travesseiro e dormir sem precisar de comprimido para esperar o sono vir; e, quando acordar e se olhar no espelho, pense em outra felicidade, que é não ter que pintar o olho, botar um blush nem fazer uma escova, pois, por menos bonita que se seja, sempre se é linda aos 25 anos. E, se alguma coisa te aborrecer, tire da cabeça e pense: "Sou jovem, e isso ninguém pode tirar de mim".
E viva, e sonhe, e seja feliz, porque um dia a juventude vai passar, e será uma tristeza se você não tiver aproveitado todos os minutos dela, ou os de quando tiver 30, 40, 50, 60, 70, 80 ou 90.
Para que nunca passe pela sua cabeça a pior de todas as coisas: "Eu não aproveitei a minha vida".

Fonte: Folha de S. Paulo, 13/03/2005

Saturday, October 15, 2005

Weekend Movie

0 comments
http://us.imdb.com/title/tt0415978/

Me and You and Everyone We Know

Wednesday, October 12, 2005

Saint-Säens and the Carnival of the Animals

0 comments
This orchestral suite by Camille Saint-Säens is composed of many parts, each for an animal:
  1. Lions
  2. Hens and Cocks
  3. Wild Asses
  4. Tortoises
  5. Elephant
  6. Kangaroos
  7. Aquarium
  8. Persons with Long Ears
  9. Cuckoo
  10. Aviary
  11. Pianists
  12. Fossils
  13. Swan
  14. Finale
Check the animals from items 8 and 11. Very curious. Although I had listened to this suite several times, never paid enough attention to its pieces' names.

Tuesday, October 11, 2005

Struts and Indexed Properties

4 comments
http://www.developer.com/java/ejb/article.php/2233591

http://struts.apache.org/faqs/indexedprops.html

Check those links in case you have an indexed property (like an array or list). It is very useful when you have a table that you want struts to link their properties automatically to the form.

In my case, it is a list (java.util.List) of item beans in the form that is iterated in the JSP, like this:

<logic:iterate id="items" name="orderEditForm" property="items">

<html:text name="items" indexed="true" property="product"/>
<html:text name="items" indexed="true" property="quantity"/>
<html:text name="items" indexed="true" property="amount"'/>

</logic:iterate>

This "items" property is defined in the orderEditForm as a List. Note the "indexed" property of html:text element.

Thursday, October 06, 2005

Using JasperReports Scriptlet

41 comments
In a few steps:
  • Create a class that extends the following class:
    • net.sf.jasperreports.engine.JRDefaultScriptlet.
  • Either:
    • Add this class name (qualified name, actually) in the scriptletClass attribute of jasperReport element of your .jrxml file;
    • Or, in case you are using iReport, declare this class in Project/Project Options menu, Scriptlet tab and "Use this scriptlet class..." option.
  • After that, if you created a new method, call it using the following syntax:
    • "$P{REPORT_SCRIPTLET}.methodName()".
      • In my case, I added to the group header the call to the method "priorityDescription()".
The scriptlet I created uses a field value to return a more complex description, what I am unable to do using only the variable declaration. It is also possible to override many of the methods that JRDefaultScriptlet provides, such as:
  • beforeReportInit()
  • afterReportInit()
  • beforeGroupInit()
  • afterGroupInit()
  • among many others...
Very interesting possibility to extend your report processing.

See an example in this more recent post. Drop me a note if you want to receive these example files and I will send them whenever I have some spare time. Thanks for your interest.

Monday, October 03, 2005

Hibernate: Criteria and Join problems

3 comments
Link 1

Link 2

Two interesting links in case you had the famous "org.hibernate.QueryException: could not resolve property" for a property like "customer.name" or any kind of composed property.

Hibernate: reusing the Criteria object used to count the records

2 comments
criteria.setProjection(null);
criteria.setResultTransformer(Criteria.ROOT_ENTITY);

Then you can reuse the Criteria object. I use it to count all the records, then I reuse it to perform the query, limiting the number of results (setMaxResults) and the start index (setFirstResult).

Sunday, October 02, 2005

Hibernate Criteria API

2 comments
http://www.devx.com/Java/Article/28754

Sometimes we use Hibernate but don't know exactly why it is there, since all the work is done as we were using JDBC directly. Check this article for a very nice feature when you are doing a multi-criteria search in your application.

Note that the Expression class is deprecated. Use the Restrictions instead.

Wednesday, September 14, 2005

Jovens

1 comments
"Jovens, cresçam ou amadureçam!"
- Estação Cultura, 14/09/2005

Tuesday, September 06, 2005

Honesty

0 comments
"Honesty is the recognition of the fact that the unreal is unreal and can have no value, that neither love nor fame nor cash is a value if obtained by fraud - that an attempt to gain a value by deceiving the mind of others is an act of raising your victims to a position higher than reality, where you become a pawn of their blindness, a slave of their non-thinking and their evasions, while their intelligence, their rationality, their perceptiveness become the enemies you have to dreat and flee - that you do not care to live as a dependent, least of all a dependent on the stupidity of other, or as a fool whose source of values is the fools he succeeds in fooling - that honesty is not a social duty, not a sacrifice for the sake of others, but the most profoundly selfish virtue man can practice: his refusal to sacrifice the reality of his own existence to the deluded conscioness of others."

Ayn Rand - "Atlas Shrugged"

Upload file in Struts: need for commons fileupload?

0 comments
Actually I found out that there is no need, after sometime trying to make the commons fileupload work. Check a post from jakarta-commons-user list explaining it:

"The request stream for a multipart/form-data can only be read once - by the time Struts decides what Action to execute, goes through setting up the Form and validating, it's actually already read the request. Use a formBean that has accessors/mutators for org.apache.struts.upload.FormFile's, and pass the formBean to your action.

See the struts-upload webapp for a very good example.

The short answer is - you don't HAVE to do all the junk below when you're using Struts - the smart developers for Struts did all that junk for you so you can just use your file directly."

Saturday, September 03, 2005

Reason

0 comments
"Man cannot survive except by gaining knowledge, and reason is his only means to gain it. Reason is the faculty tha perceives, identifies and integrates the material provided by his senses. The task of his senses is to give him the evidence of existence, but the task of identifying it belongs to his reason; his senses tell him only that something is, but what it is must be learned by his mind.

"All thinking is a process of identification and integration. Mas perceives a blob of color; by integrating the evidence of his sight and his touch, he learns to identify it as a solid object; he learns to identify the object as a table; he learns that the table is made of wood; he learns that the wood consists of cells, that the cells consist of molecules, that the molecules consist of atoms. All through the process, the work of his mind consists of answers to a single question: What is it? His means to establish the truth of his answers is logic, and logic rests on the axiom that existence exists. Logic is the art of non-contradictory identification. A contradiction cannot exist. An atom is itself, and so is the universe; neither can contradict its own identity; nor can a part contradict the whole. No concept man forms is valid unless he integrates it without contradiction into the total sum of his knowledge. To arrive at a contradiction is to confess an error in one's thinking; to mantain a contradiction is to abidcate one's mind and to evict oneself from the realm of reality"

Ayn Rand - "Atlas Shrugged"

Friday, September 02, 2005

External configuration for a web application?

0 comments
http://forum.java.sun.com/thread.jspa?threadID=650155&tstart=90

I don't think we have a good solution for this problem.

Tuesday, August 30, 2005

JasperAssistant: first try

3 comments
Result: NullPointerException when previewing the report, no matter what the datasource is.

This exception was reported in the forum, and I sent the whole stack trace to it. I hope they fix this serious bug soon, but in this meanwhile let's try other tools.

Update: it works with JasperAssistant 2.0, but I found out that it is a commercial software, and you can download an evaluation version for 21 days only.

Monday, August 29, 2005

PNG: superior transparency

0 comments
After using PNG graphic format (pronounced as "ping") a little, I already noticed its technical advantage. It is patent-free, endorsed by W3C and it is actually meant to replace GIF and TIFF, but it is not yet supported by every application (including browsers). One of the key features, in my opinion, is the alpha transparency, since it allows binary and variable transparency. Therefore, a PNG image will look great on different backgrounds, while a GIF will not. For this reason, that was the format I had chosen for the images I use in my web application, but I hadn't tested it in Microsoft Internet Explorer. I ended up finding out that it does not support PNG alpha transparency, although Firefox and most of other browsers support it. Therefore, I had two options:

a) Use a JavaScript to fix this problem in IE (see link).

or

b) Change every transparent PNG to be a indexed image with a matte matching the background color I am using.

The former option seemed the most natural, but I din't like the effect it added to the page when it was displayed (it showed the image not transparent and then it made it transparent using some DirectX features). So I had to manually convert the images to make this application work in the most used browser.

Some resources where I found the information mentioned here:

1. The PNG File Format
2. Portable Network Graphics

Want Tomcat to compile JSP with Java 1.5 code?

0 comments
Check this link.

If you are using Eclipse WST with Java 1.5, it will complain if your JSP does not contain Java 1.5 code. However, Tomcat 5.5, even though it is supposed to run on Java 1.5, only compiles 1.4 code. The above link shows you how to make it.

Eclipse Web Tools Platform

0 comments
Yesterday I spent part of the afternoon porting my web application development to Eclipse Web Tools Platform. I was developing it as an usual Java project and always creating a war to deploy into Tomcat everytime I wanted to test. Altough I had already used Sysdeo Tomcat plugin and I knew how to set the context to make Tomcat use my work directory, I stick to this option, so I would have a definitive deployment solution when the development was delivered to the customer. My Ant build.xml had very fancy options, like JSP precompilation, Tomcat connection through its management interface (to install, remove or list applications, among other possibilities).

However, even with these nice features, it took too long to test some minor UI changes, so I decided that I had to make my development more efficient. I almost downloaded Sysdeo and got back to the old way, but since I was already using Eclipse WST (actually only the HTML/JSP/XML editors), I decided to port my project to it. Thus I created a Dynamic Web Project and moved all my classes and files. I knew how to configure a servlet container (from some tutorials) and in a few minutes I had the project working. Despite a few bugs that I spent some hours to figure out a workaround, WST is a very good platform for web development. Now all my taglibs are recognized and I have the possibility of debugging my application, besides a much faster way to develop, since every change is automatically auto-deployed. It was great to know that my customized context.xml file (that resides in META-INF directory) was read and promptly configured in the thin Tomcat configuration that WST creates to run only your project.

Surely you should give it a go if you are developing a web application in Java.

Thursday, August 25, 2005

Concertos BankBoston Pinacoteca

0 comments

No último domingo tive o prazer de assistir a uma apresentação absolutamente excelente de Daniel Guedes (violino), Zygmunt Kubala (violoncelo) e de Flavio Augusto (piano). Todos excelentes intérpretes e com uma química muito bom quando tocando junto.

O programa foi Brahms - Trio n. 1op. 8; Oswald - Romance n. 2; Bocchino - Seresta; Gershwin - Dois Fragmentos da ópera "Porgy and Bess" e Piazzolla - Invierno e Otoño Porteño. Para mim, Gershwin e Piazzolla foram os especiais dessa tarde de domingo.



Parabéns a esse trio e ao BankBoston pela iniciativa. No próximo domingo temos o Quinteto Villa-Lobos.

Web Developer Firefox Extension and Display Taglib

0 comments
Check these two applications that may make your web developer life easier:

a) Web Developer Firefox Extension

b) Display Taglib

Xdoclet 1.2.3 does not generate hbm2ddl.auto?

2 comments
Check this bug report:

http://opensource2.atlassian.com/projects/xdoclet/browse/XDT-1350

Download the hibernate-cfg.xdt file and replace it in xdoclet-hibernate-module-1.2.3.jar file.

Saturday, August 20, 2005

Synchronizing Palm and Outlook 2003

2 comments
In case you want to synchronize your Palm (mine is Tungsten T3) and Outlook 2003, you may run into problems with calendar synchronization. In the end, it was a problem with some corrupted records in the datebook, what I was able to find using "dbscan", that is available at Pimlico Software as a free download. Outlook synchronization seems to require a non-corrupted calendar file, what does not happen with Palm Desktop. Use dbscan to check your datebook file if you have any problems synchronizing it.

Friday, August 19, 2005

Tomcat resource locking in Windows

0 comments
http://jakarta.apache.org/tomcat/faq/windows.html#lock

For those of you that have problems with JAR or Resource locking when using Tomcat on Windows, check the FAQ above:

I want to redeploy web applications, how do I prevent resources from getting locked?

Most locking issues will occur with JARs from /WEB-INF/lib, and are useally caused by access through URLs. Tomcat has mechanisms to allow avoiding locking. In Tomcat 5.0, a mechanism exists to prevent locking when accessing resources using the getResource method of the URL classloader (many applications, such as Xerces, do not set the use of caching to false before opening the URL connection, causing locking). If such a call occurs, resources inside the JARs will be extracted to the work directory of the web application. In Tomcat 5.5, this mechanism is disabled by default (as it has a non negligible influence on startup times, and is often useless), and can be enabled using the antiJARLocking attribute of the Context element. There is another lock prevention mechanism in Tomcat 5.5 (antiResourceLocking attribute), which will cause the web application files to be copied to the temp folder and run from this location. This has a larger impact on web application startup times, but obviously prevents locking on all resources of the web application. This also allows more flexible management operations as none of the web application resources will be locked, even while the web application is running (as a special note, when making changes JSPs without reloading the application, the changes has to be duplicated to the path where the web application resources have been copied in the temp folder).

Thursday, April 14, 2005

Lei da Irresponsabilidade Fiscal!

0 comments
Certamente é louvável a atitude do pref. José Serra em terminar com a taxa do lixo (para todos os paulistanos) e a da luz (somente para aqueles sem iluminação pública) aqui na cidade de São Paulo, mas esse fato me leva a uma reflexão sobre a conhecida "Lei da Responsabilidade Fiscal".

Através dessa lei (instituida nos anos FHC, se bem me recordo), não se pode reduzir impostos no país se não se comprovar que vai tirar aquela verba de algum outro lugar. Na prática, ela inibe completamente a redução (que seria mais do que justa em diversos casos) de impostos já que a luta não é simplesmente fazer uma administração mais enxuta (talvez somente mais eficiente), mas também de encampar uma luta com o legislativa da esfera municipal, estadual ou federal de que o dinheiro será recuperado de alguma forma.

Não bastasse uma lei como a discutida acima, o governo federal abre mais a sua boca faminta do controle socialista de propriedades alheis para rever as leis de desapropriação rural. Na prática, o governo está chegando ao nível de que, quando ele quiser, ele pode forçar que uma propriedade seja desapropriada por motivo qualquer justificado pela lei (ou interpretação dela), a custo que será decidido praticamente de modo unilateral. Não se pode, nesse país, comprar uma propriedade e a manter supostamente improdutiva. Isso é absurdo, segundo os nossos socialistas de plantão. A justificativa é que outras pessoas estariam fazendo melhor uso dela. Até aí, não discordo, mas isso não lhes dá qualquer direito de infringir o direito de propriedade de um bem adquirido legalmente. Afinal, tal idéia poderia ser expandida para tudo. Por que não desapropriamos o seu dinheiro, afinal você, mesmo com o seu baixo salário, está gastando em bobagens (a serem eventualmente regulamentas depois da lei) e o governo, como mãe (ou madrasta) de todo, sabe que você - ou melhor, outros - poderiam gastar em algo muito melhor. A isso poderíamos desapropriar os livros, as suas roupas, comida, tudo. Pois é, desapropriar não é só para terras. E quem leu a revista Veja sobre os tropeços do Brasil com relação a educação e cultura bem sabe do que os braços socialistas do governo estão tramando: até controle das universidades privadas. O que será desse país?

Ah, e como não poderia deixar de ser, o Lula perdeu a chance de ficar calado mais uma vez. Comparar a escravidão com pedra no rim (pois só quem tem é que sabe a dor) foi realmente "brilhante". Ainda bem que ele não comentou que o Senegal nem parecia a África!

Friday, April 08, 2005

OSUSP: uma grata surpresa!

0 comments
Ontem tive a felicidade de assistir pela primeira vez a uma apresentação da OSUSP, na Sala São Paulo. Tocaram "As quatro estações" e o concerto em dó maior para oboé e orquestra de Vivaldi e o concerto grosso de Giannini.

Simplesmente fantástica e emocionante, é o resumo dessa apresentação. Os solistas, notadamente, o violinista Daniel Guedes, exibiram enormes virtudes para tocar essas peças barrocas. Claro que todo mundo que ouve música tem o seu palpite de como ficaria melhor, mas confesso que ouvi uma versão mais conservadora d"As quatro estações", porém única. No próprio inverno, achei um pouco rápido, mas foi muito bem tocado que deu maior dramaticidade e tensão à música. Eu não conhecia obras de Giannini e foi fantástico ouvir esse concerto, que é lindo.

A OSUSP, que eu acreditava ser uma orquestra de eventual qualidade não tão boa, surpreendeu-me de maneira muito positiva e conquistou mais um fã! O maestro Carlos Moreno parece se entregar à regência (visão que foi facilitada ao sentar no coro) de maneira intensa. Não deixem de conhecer a OSUSP, se tiverem a oportunidade.

Amanhã eles tocarão a 9a. sinfonia de Beethoven na Sala São Paulo, mas infelizmente os ingressos estão esgotados. Uma pena. Agora vou ficar com o gosto de "quero mais". Para mim é uma grande felicidade ver uma orquestra dessas e espero que faça o merecido sucesso e que as pessoas cada vez mais a conheçam.

Saturday, March 26, 2005

Luminocity e Cairo

1 comments
Não deixem de ver o link abaixo (em particular os vídeos). É surpreendente!

http://www.gnome.org/~seth/blog/xshots

Using subclipse in Linux?

1 comments
I made a mistake of installing Subclipse plug-in for Eclipse (in order to use a Subversion repository), but didn't install the JavaHL native bindings for Linux (only Windows ones are provided in Subclipse package) or the java bindings JavaSVN. After noticing that it would require a subversion compilation to have the JavaHL bindings, I decided to install the JavaSVN bindings, which is a plugin for Eclipse. Now Subclipse works perfectly and I no longer get the error messages when doing some operations such as when committing!

Unfortunately there is no Debian package for JavaHL yet. I sent Subversion debian package maintainer an email about it and I hope we may have this native binding available for Linux really soon. Until then, don't forget this tip: install JavaSVN or compile your JavaHL bindings.

Friday, March 25, 2005

Finalmente Adobe Reader 7 para Linux

0 comments
Finalmente temos para Linux um Adobe Reader mais novo. Até então só tinhamos a versão 5 e as demais versões livres funcionavam bem, mas certamente não tão bem quanto o próprio leitor da Adobe. Veja a notícia que saiu no Slashdot a respeito aqui:


Adobe Reader 7.0 Coming to Linux

Sometimes_Rational writes "There is now one less thing for Windows and Mac users to point to when claiming desktop usability superiority. While not officially listed in Adobe's download page, you can get Adobe Reader 7.0 for Linux from the company's FTP server according to this article at The Inquirer , which also has a review. The upshot is that Reader 7.0 for Linux is as bloated as its Windows and Mac siblings, but it loads much faster and is more useable than version 5. I imagine that this will get loads of comments about how Reader for Linux headed downhill after version 4. Or was it 3?"


Se estiver a fim de experimentá-lo, baixe os 40Mb do leitor no ftp da Adobe.

Thursday, March 24, 2005

Apache + PHP: Firefox trying to download a PHTML?

1 comments
Tip: try to clean your firefox cache.

In my case, with other browsers and also accessing the URL as "/index.php" worked properly, but "/" didn't. It turned out to be the cached files and the Firefox, for some reason, kept all the time time using the cached php output without even performing a new HTTP request. Be careful when configuring Apache and using Firefox in this case, it doesn't invalidate the cache contents in a proper way.

Monday, March 21, 2005

Karamba!

0 comments
Hoje conheci e instalei um recurso extremamente interessante do KDE que se chama Karamba! Ele permite que você instale temas no seu desktop, que podem inclusive rodar aplicações. O resultado é incrível com as possibilidades que você tem, tornado o seu desktop muito mais atraente. Aqui segue o link para você conhecer mais.

Também conheci hoje um novo recurso que me deixa mais fã do KDE: a personalização dos menus do Konqueror (que é o browser e gerenciador de arquivos do KDE, assim como o IE no Windows). Eu queria ter um menu que permitisse que eu, assim como se faz no Windows com o Winamp, pudesse pedir para tocar um diretório inteiro no XMMS. É muito simples criar um menu customizado para mim (ou até para todos os usuários), basta criar um arquivo do tipo desktop em um diretório de "service menus" customizado. Assim, você pode criar os menus que quiser, dentro do contexto em que fizer sentido (no meu caso, arquivos de áudio). Aprendi esse recurso com o Enqueue-And-Play-with-XMMS que achei no ótimo site do KDE Look. Olhando os arquivos me pareceu bastante fácil criar novos service menus, mas também achei um tutorial no http://developer.kde.org que detalha um pouco mais.

Depois dos recursos do KDE Kiosk as descobertas de hoje me surpreenderam com relação ao KDE. É impressionante como um design elegante torna um sistema interessante, fácil e muito poderoso para ser customizado e expandido, diferentemente de outros sistemas por aí que conseguem criar um design completamente bagunçado para algumas coisas simples como service menus.

Saturday, March 19, 2005

Trote na USP

0 comments
http://www1.folha.uol.com.br/fsp/opiniao/fz1903200503.htm

Se há uma instituição que deveria, por sua própria natureza, combater sem tréguas toda forma de ritual primitivo prejudicial a indivíduos, ela é a universidade. Nesse contexto, surpreende a persistência dos trotes aos calouros, uma modalidade totalmente anacrônica e inaceitável de receber os primeiranistas.
Nesta semana, calouros da Faculdade de Direito da USP foram submetidos a trote violento. Veteranos compeliram ingressantes a beber cachaça e a ingerir pimenta e os forçaram a tomar banho no chafariz da praça da Sé. Embora o episódio não tenha tido conseqüências trágicas, como o trote na Faculdade de Medicina da USP em 1999, que resultou na morte do estudante Edison Hsueh, ele é inadmissível. Não se pode apenas por capricho constranger alguém a fazer o que não deseja. E parece especialmente impróprio que estudantes de direito se dediquem a ferir direitos de colegas estudantes.
Não se contesta, é claro, que os alunos que entram devam ser recepcionados pelos que já estão no curso. É importante, porém, que sejam tratados dentro dos limites da dignidade e do respeito. Os calouros têm exatamente os mesmos direitos que seus colegas mais velhos.
Também impressiona a forma como o instituto do trote violento resiste às tentativas para erradicá-lo. Após a tragédia de 1999, autoridades universitárias redobraram, pelo menos retoricamente, seus esforços para cercear a violência. A Assembléia Legislativa paulista chegou a aprovar lei proscrevendo a prática. Ainda assim, por vezes, ela reaparece.
É preciso, pois, insistir com mais ênfase na repressão a esse hábito. O trote humilhante e violento representa algo que uma universidade comprometida com o primado da razão tem obrigação de combater.

Profissão? Sem-terra!

0 comments
http://www.comsalomao.com.br/entrerisos/entrerisos.asp?txt=semterra

Profissão? Sem-terra!

Dona Samara Azevedo manda perguntar:

- Qual o seu nome?

- Severino.

- Qual a sua profissão?

- Sou sem-terra.

- Mas... Sem-terra é profissão?

- Há bem mais de um ano.

- É rentável?

- Não tenho o que reclamar: não se paga imposto, não há relógio-ponto e nem patrão pra chatear.

- E o que você faz no seu trabalho?

- Armo esta tenda de plástico preto, onde finjo que vivo nas terras dos outros. Dou entrevistas e sento no banquinho, com cara de agricultor frustrado, o dia todo.

- E a comida?

- Ganho seguro-comida.

- E a roupa?

- Ganho seguro-roupa.

- E remédios?

- Ganho seguro-médico.

- Tem família?

- Claro!

- E como a sustenta?

- Renda mínima, bolsa-escola, auxílio-gás,vale-transporte, fome zero, seguro-gravidez, seguro-filho, seguro-pobreza,seguro-escola.

- Mas, o que você que pretende?

- Meus direitos trabalhistas.

- Como assim?

- FGTS, INSS, décimo terceiro,seguro-desemprego, férias remuneradas e, claro, carteira assinada.

- E depois?

- Ora, aposentadoria por invalidez! Sabe,sentar neste banquinho, de pernas cruzadas, com cara de infelicidade, desgasta a espinhela. Tem gente aqui que, após 5 anos, de tanto ficar sentado, virou um bagaço.

- É uma profissão sacrificante?

- Sem dúvida alguma!

- Algum recado?

- Ah, sim. Às autoridades e às comissões de direitos humanos: queremos computador e um colchão de espuma na cama.

- Como?

- Queremos aparelho de som, DVD, forno microondas, ar condicionado e televisão.

- Algum outro recado?

- É. Aos otários, quero dizer, aos contribuintes: continuem trabalhando, pagando seus impostos e nos sustentando com seus salários. A luta continua, companheiros!

Monday, March 07, 2005

"Mar Adentro"

1 comments
"Mar Adentro" é um belíssimo filme que não poderia passar sem um registro enquanto a memória dele está fresca. Devo listá-lo entre os que mais me emocionaram e acredito que a maior parte da platéia teve os seus olhos molhados em diversos momentos do filme.

O longa trata fundamentalmente da questão da eutanásia (no caso a ativa, que é provacada por uma ação), em que o protagonista Rámon, depois de passar mais de duas décadas vivendo - ou não vivendo, como ele diria - em uma cama, resolve ter uma morte digita, legalmente autorizada pelo governo do seu país, a Espanha. Ao longo dessa luta jurídica, o diretor mostra-nos, brilhantemente, a vida de Rámon no sio da sua família, sendo amparado, com muito amor pela sua cunhada, sobrinho e amigos diversos que ele ainda mantém, mesmo com a sua vida reclusa. Ele recusa a aceitar-se como um tretaplégico e, por isso, não sai da cama, sendo que obviamente todos os cuidados são tomados para evitar consequências da sua permanência por muito tempo na mesma posição.

Por esse motivo, boa parte da história passa-se no seu quarto, com lindas lembranças e "viagens" do protagonista. Essas viagens levam-no, votando na sua imaginação, ao encontro do mar, que o marcou - desde a época em que era marinheiro até quando quebrou o pescoço em um mergulho distraído, além de levá-lo ao encontro de situações que desejava viver (como quando se apaixona pela advogada Júlia). É ela que, voluntariamente lidera a busca de Rámon pela sua liberdade de não mais usufruir do seu direito - a sociedade trata como um dever - de vida. Surpreendentemente, mas não por acaso, Júlia sofre de uma doença degenerativa que a coloca em uma situação (ou pelo menos na perspectiva de uma situação) parecida com a de Rámon. Ao coletar informações sobre o seu cliente, ela ajuda a conduzir a história de Rámon e a nos sensibilizar fortemente em todo esse processo.

Com um papel forte na história, Rosa, uma operária de fábrica, aprender a amar e descobre melhor o que é o amor através do seu contato com Rámon. Eles iniciam esse relacionamento de amizade (por parte dele) e amor (por parte dela) através da curiosidade de conhecê-lo ao vê-lo na TV.

O filme mostra muitas facetas de uma situação dessas:
  • A sociedade e pessoas próximas (como o irmão de Rámon) que, numa atitude ou impensada ou egoísta, não aceita a possibilidade da eutanásia. O lado egoísta manifesta-se no medo de perder a pessoa, sem enxergar o desejo dela. O lado da sociedade - completamente estúpida - é que a pessoa não tem direito ao corpo e que a sua vida não é de fato sua, mas de Deus ou de alguém outro. A conversa entre Rámon e o padre tetraplégico deixa isso muito claro.

  • Pessoas que não aceitam esse fato mas que, ao conhecerem melhor a situação e aprenderem a gostar de Rámon, mudam de idéia e o apóiam.

  • Pessoas que aceitam desde o início a sua vontade, como a sua cunhada e amigos.
O tema morte nunca é muito resolvido e não sabemos lidar muito bem com ele, em particular quando uma pessoa deseja antecipá-la. Não deveria ser tão impressionante já que todos encontrá-la-ão.

Uma das grandes facetas do filme também acontece com relação à Júlia. ela deseja, assim que sabe da gravidade da sua doença degenerativa, encerrar a sua vida ajudando primeiramente Rámon nesse intento. Ela sabia que não teria uma vida digna num futuro próximo caso as expectativas se confirmassem. Entretanto, quando chegou o momento marcado com Rámon - da publicação do seu livro de poesias com o intuito de ajudar na sua causa - ela desiste enviando uma carta a Rámon. Mais para o final do filme mostram-na em uma situação em que não se recorda mais de Rámon, em função da sua doença. Claramente esse fato, entre outros, mostram-na sofrendo as consequências de ter escolhido a continuidade da sua vida.

Muito boa sacada no filme foi a colocação do contraponto da morte, o nascimento de uma nova vida, cheia de alegria e furor. Os dois sempre convivem juntos (e durante o filme a história do nascimento acontece em paralelo) e um, na verdade, é continuação do outro.

Por fim, com a ajuda de Rosa, Rámon prepara o momento da sua morte, previsa pelos familiares no momento da sua mudança de casa. Os amigos, um a um, com a contribuição de pequenas doses de cianureto de potássio, auxiliam-no na montagem do líquido que o liberará do sofrimento.

O filme se desenrola na Galícia e é curiosíssimo o espanhol deles repleto de influência portuguesas.

A história é linda e artisticamente muito bem trabalhada pelos atores e pelo seu diretor. Um filme brilhante que, apesar de eu não conhecer os demais concorrentes seus para o Oscar de melhor filme estrangeiro, mostrou-se a altura de um grande prêmio.

Friday, March 04, 2005

More taxes for Brits

0 comments
Saiu hoje no Slashdot mais uma notícia esperada dada a política do "welfare state" do governo britânico nas últimas décadas: mais impostos. Agora a notícia é para a substituição do - pasmém - imposto para quem possui televisão em casa por um novo tributo para quem possuir um computador pessoal em casa. Como disse bem no artigo do Slashdot, esperemos que não seja por computador, senão aqueles com diversos computadores antigos empilhados em casa serão surpreendidos.

Mais pode ser visto na reportagem original do Times Online.

Que o governo daqui não veja essa notícia...

Thursday, March 03, 2005

Acordes Finais do Romantismo

0 comments
Uma dica para quem quiser ouvir um pouco de música erudita nessa sexta-feira, dia 04/03/2005. Do site do Sesc São Paulo:

OS ACORDES FINAIS DO ROMANTISMO
Projeto que apresenta, por meio de concertos, a grande diversidade de compositores e estilos, contemplando o Romantismo e seu apogeu nas proximidades do ano de 1900.

Rosana Lamosa, Fernando Portari e Roberto Tibiriça
Concerto inaugural com a soprano Rosana Lamosa, o tenor e o pianista Fernando Portari, e o maestro Roberto Tibiriça, apresentando obras de P. Mascagni, R. Strauss, Leoncavallo, Charpentier, Rachmaninoff e Puccini. Teatro. R$ 6,00; R$ 3,00 (usuário matriculado, idosos e estudantes com carteirinha). Grátis (trabalhador no comércio e serviços matriculado e dependentes).
Dia(s) 04/03 Sexta, às 21h
SESC Ipiranga

Wednesday, March 02, 2005

João Carlos Martins na rádio cultura

0 comments
Uma ótima notícia para quem aprecia música erudita, a partir desse domingo estréia um novo programa na rádio Cultura FM (103.3 MHz) chamado "A Escolha é Sua". Parece-me interessante, visto que ele confrontará interpretações diferentes de peças, anunciando quais intérpretes tocarão, mas não qual peça é de qual, cabendo ao ouvinte tentar descobrir de quem é cada peça e qual foi a mais convincente. Também ele abordará fatos da história da música em seu programa.

Veja mais sobre João Carlos Martins e o seu novo programa em artigo da própria rádio Cultura.

Code as Design

0 comments
Três ensaios extremamente interessantes a respeito de como codificar é um processo de projetar (design) o software podem ser encontrados em Code as Design: Three Essays by Jack W. Reeves. Cada vez mais eu concordo com o autor, basta você tentar criar um novo sistema de maior porte para ter a experiência.

Monday, February 28, 2005

Alguém consciente

2 comments
Em reportagem da Folha sobre a USP Zona Leste:

"Um, dois, três, quatro, cinco seis, se a USP é do povo por que só tem burguês?" [...] diziam os estudantes ligados à ONG Educafro, que organiza cursos pré-vestibulares comunitários e reivindica cotas nas universidades estaduais paulistas.

"Se escolheram a zona leste para desmistificar uma universidade tida como elitista, por que não reservaram no mínimo 80% das vagas para os seus moradores?", perguntava Greici Kelly Maia, 17.

Adolpho José Melfi, reitor da USP, [...]. Quanto à principal queixa dos manifestantes, foi enfático: "o importante é ampliar vagas, mas o critério continuará sendo o do mérito". (negrito meu)

Friday, February 25, 2005

Centenário do nascimento da Ayn Rand

0 comments
No último dia 02 de fevereiro, completou-se o centenário do nascimento da Ayn Rand, nome adotado pela russa Alissa Rosenbaum que passou boa parte da sua vida no país que ela considerava mais livre do mundo: Estados Unidos. Ela foi uma das maiores defensoras da liberdade humana e certamente uma forte influência nos libertários de hoje. Os seus livros (notadamente "The Fountainhead" e "Atlas Shrugged") foram grandes influências para mim, talvez até esteja no rol dos melhores livros que eu já li na vida e devo agradecer a um grande amigo por ter-me apresentado a essa grande filósofa.

Pois bem, para comemorar esse centenário, o Ludwig von Mises Institute, através de Roderick T. Long, escreveu um artigo a respeito dela que eu sugiro muito fortemente que todos que não a conheçam leiam:

Ayn Rand's Contribution to the Cause of Freedom

Alguns trechos do link acima para deixar o leitor curioso:

Rand's influence on the libertarian movement is incalculable; despite her own frequent antipathy toward that movement and even toward the word "libertarian," Rand played a crucial role in helping both to create new advocates of laissez-faire and to radicalize existing ones; Rand encouraged libertarians to view their standpoint as an alternative to, rather than a branch of, conservatism, and to base the case for liberty on moral principle and not on pragmatic economic benefits alone. Rand's influence on popular culture is likewise enormous; an oft-cited Library of Congress survey of "most influential books" placed Atlas Shrugged second only to the Bible.

Perhaps the most controversial aspect of Rand's philosophy?her rejection of altruism and her embrace of ethical egoism?is also one of the most misunderstood. Despite her sometimes misleading rhetoric about "the virtue of selfishness," the point of her egoism was not to advocate the pursuit of one's own interests at the expense of others', but rather to reject the entire conflictual model of interests according to which "the happiness of one man necessitates the injury of another," in favor of an older, more Aristotelean conception of self-interest as excellent human functioning.

It was on such Aristotelean grounds that she rejected not only the subordination of one's own interests to those of others (and it is this, rather than mere benevolence, that she labeled "altruism") but also the subordination of others' interests to one's own (which she labeled "selfishness without a self"). For Rand, the Aristotelean recognition of properly understood human interests as rationally harmonious was the essential foundation for a free society.

Para aqueles que se interessem mas não tenham domínio do inglês, existem traduções dos dois livros que eu citei acima, embora não sejam trivias de achar. Eu consegui comprar uma tradução de "Atlas Shrugged" na Livraria Cultura uma vez (intitulada de "Quem é John Galt?"), mas foi o único lugar na cidade de Sâo Paulo que encontrei. Numa breve olhada pelo seu site, vi que essa edição está esgotada na livraria.

Thursday, February 17, 2005

E qual é a esperança?

1 comments
Salomão Schvartzman, no seu programa "Diário da Manhã" de ontem (16/02/2005), na rádio Cultura FM:

"O Brasil parece ver uma época de trevas [...] em que a exaltação da mediocridade, a celebração da vulgaridade, a louvação da inabilidade vem atingindo tal nível que mais dia, menos dia talvez sejamos forçados a ver solenidades oficiais em que autoridades entregarão medalhas com inscrição 'Honra ao Demérito' [...] O fenômeno é geral e parece ter se enfronhado de tal forma em nossa cultura que qualquer um que se atreva a enfrentá-lo com as armas da racionalidade passa a ser rotulado de elitista ou de preconceituoso e de outros adjetivos menos educados que o PT costuma premiar. Se algum aluno de português, caso a educação fosse levada a sério, escrevesse ou pronunciasse 'A democracia é um gesto democrático feito pela boca daqueles que não têm paciência de ouvir a verdade', além de ouvir uma séria admoestação do professor, ainda seria motivo de chacotas, talvez pelo resto da vida pela irreverência dos colegas, mas quem pronunciou essa preciosidade camoniana foi o nosso excelentíssimo presidente, homem humilde, do povo, e portanto imune à gramática, que no início da vida não teve condições, mas que depois não quis mesmo aprender pois teve todas as oportunidades até por mérito próprio para isso. Mas quem diz isso? Um elitista, um preconceituoso? Não, um brasileiro."

Somado a essa excelente texte do Salomão, não deixe de ler a revista "Veja" com a capa das orelhas de burro. Ontem à noite tive a oportunidade de lê-la no SESC e foi realmente muito importante ter tido contato com aquela sumarização das medidas, algumas até socialistas, que o governo vem tomando ("você tem a propriedade, mas o controle é nosso"). E ainda, da mesma reportagem, a frase que diz que o governo forte que é capaz de dar ao cidadão tudo o que ele "precisa" (aspas minhas) tem a mesma força para tirar tudo o que ele possue.

Além de tudo, temos a MP 232, que, sei lá, talvez tenha como justificativa o fato de ser uma medida para tentar diminuir a diferença entre o que uma pessoa física e uma pessoa jurídica pagam de impostos... logo, uma medida completamente social e moralmente correta contra todos os empresários que ganham rios de dinheiros (e olhe, são realmente todos!). Se esse fato é verdadeiro, por que qualquer pessoa não junta alguns reais (não muito, só o necessário), vai a um contador, abre a sua própria firma e começa a usufruir dessa fórmula mágica de transformar um papel que tem escrito alguns números intitulados de CNPJ em dinheiro? Já sei, é moralmente incorreto, por isso não o fazem. Só por isso.

Sunday, February 13, 2005

Leia Livro

1 comments
Numa iniciativa muito louvável (e digna de aplausos por parte de todos), a Secretaria de Estado da Cultura de SP criou o projeto São Paulo: um Estado de Leitores com o objetivo principal de expandir o hábito da leitura no Estado de São Paulo. A motivação é óbvia pelos números e pelo conhecimento nosso do dia-a-dia. Veja trecho do site do projeto a respeito:

"De acordo com estudo publicado pela The Economist, em 07/07/2000, nos Estados Unidos 21% da população são analfabetos funcionais e na Inglaterra o número sobe um ponto, 22%. No Brasil, a situação é pior. Pelo Indicador Nacional de Analfabetismo Funcional (INAF), do Instituto Paulo Montenegro, divulgado em 2001, apenas 26% dos brasileiros alfabetizados não são analfabetos funcionais, ou seja, conseguem ler textos mais longos, localizar mais de uma informação e estabelecer relações entre vários elementos do texto.


Na edição de 2002 o Inaf focou os conhecimentos matemáticos dos brasileiros e constatou que apenas 21% da população pesquisada atinge o domínio pleno das habilidades medidas pelos testes. Em outras palavras, no Brasil, quase 80% podem ser considerados analfabetos funcionais."


Uma das vertentes desse projeto é o site Leia Livro, que serve como ponto de encontro para as pessoas interessadas em leituras. Juntamente com o site, você também pode compartilhar, através da rádio Cultura, as resenhas dos livros que leu e que recomendou através do site. Não deixa de ser uma iniciativa, de um certo ponto de vista, "tapa buraco", mas é muito boa pelo fato de se estar procurando resolver esse tipo de questão.

Agora pare de ler esse blog e vá ler algum livro. Quer uma sugestão de autor? Machado de Assis ou José Saramago. Veja a maneira como eles lidam com a palavra, como se fossem completamente íntimos, a maneira como, de uma forma clara e ao mesmo tempo embrenhada entre os seus parágrafos, eles nos contam uma história ou exprimem as suas idéias. É, ao mesmo tempo, lindo e genial. Se você discorda de mim, por favor tente ler um pouco. Caso ainda não convença e queira conversar a respeito, podemos conversar. No pior caso, não tenha dúvidas de que você estará muito mais amparado com argumentos mais sólidos para discutir com o próximo que lhe propor a leitura. Boa leitura!

Os manos e os "pixos"....

3 comments
Para qualquer paulistano que anda um pouco pelas ruas, não é de se espantar se você eventualmente encontrar um pichador em ação. Eu já tive esse tipo de experiência à noite, mas hoje foi a primeira (e não acredito que será a última) vez que encontrei pichadores em ação ao meio-dia. O alvo: uma loja de peças automotivas com a suas portas de ferro já um pouco antigas mas ainda ilesas a ação dos pichadores (ou talvez já pintada inúmeras vezes para manter um aspecto mais agradável para o comércio). Sem o menor medo, lentamente e com todo o seu cuidado, o pichador escreve os sinais do seu grupo (veja aqui o pequeno número de grupos de pichadores em SP) ou até das iniciais do seu nome na porta. De costas para o estabelecimento, o seu comparsa analisa o público que está a passar pelas calçadas e que olha para esse fato com a maior naturalidade. Provavelmente estão armados ou pelo menos estão preparados para uma bela corrida se enxergarem perigo (policiais ou populares revoltados). O público que assiste de camarote a essa cena talvez não enxergue o fato de ser mais um lugar feio numa cidade tão feia e mal-cuidade quanto São Paulo, mas apenas que deixará de ser destoante por não estar no padrão esperado de pichação ("opa, agora todos na rua estão pichados, nada foge do padrão"). Eu mesmo passo, e confesso, ainda espantado em ver aquela cinea, mas poucos segundos depois os pichadores vão embora na maior naturalidade.

Hoje existem milhares de grupos de pichadores, até são organizados em web sites (veja um deles aqui). Se você quiser iniciar na arte, até tem dicas lá de como usar a sua lata de spray (mas obviamente não o estou encorajando nesse blog). Fotos de toda a arte dos pichadores podem ser vistas em viadutos (link1, link2), prédios (link) e outros. Sim, é feio, mas com orgulho, foram eles que fizeram. Inversão de valores?

Os pichadores até mesmo se mostram sem o menor receio, como se pode observar em blogs diversos (veja aqui um deles). O orgulho de ter sujado uma avenida importante da sua cidade deve fazê-lo ganhar a semana. E por que não divulgar a sua marca e discutir assuntos relacionados em fóruns a respeito? É muito falta de noção ou não se tem o menor carinho pelo lugar onde se vive. Espantar-me-ei se encontrar a casa deles bem organizada, e bonita.

Parece que é praticamente impossível diminuir essa prática. Por experiências já ouvidas, a polícia dá menor atenção a esse tipo de delito por se tratar de algo de menor importância já que assuntos supostamente mais sérios ainda estão sendo combatidos e, mesmo que alguns digam com algum sucesso, ainda está bem longe de atingirmos níveis em que a violência não se torne uma das primeiras preocupações de cidadãos de metrópoles como São Paulo.

Jurificamente, como é dito no artigo A Triste Cultura da Pichação do juiz Antonio dos Santos, a pichação é um crime ambiental considerado grave, como podemos ver no seguinte trecho do artigo:

"Juridicamente pichar, grafitar ou por outro meio conspurcar edificação ou monumento urbano é crime ambiental nos termos do art. 65, da Lei 9.605/98, com pena de detenção de 3 meses a um ano, e multa. Se o ato for realizado em monumento ou coisa tombada por seu valor artístico, arqueológico ou histórico, a pena passa a ser de 6 meses a um ano, e multa (§ único). Porém, a mera existência de legislação punitiva não é suficiente para inibir estes atos, devendo existir do Poder Público vontade política de inibir a prática delituosa. Cabe ao Município exercer a sua autoridade administrativa e garantir o desenvolvimento urbano, garantindo ainda o bem estar de seus habitantes (art. 182, Constituição Federal), sob pena de seus agentes responderem pelo crime ambiental de responsabilidade por deixarem de adotar as providências que lhes compete na tutela ambiental (art. 68, Lei 9.605/98, Crimes Ambientais). Além disso, todos os cidadãos têm direito ao meio ambiente ecologicamente equilibrado (art. 225, CF), no que se inclui o meio ambiente urbano com suas características harmônicas e estéticas."

Ou seja, por menor que seja a consideração de algumas partes, é algo que deveria ser combatido, mas a menos que os pichadores se convençam dos efeitos do seu ato, não vamos sanar. Talvez consigamos mudar um pouco pela educação, tentando exibir para as crianças o quão prejudicial a cidade é essa prática (e olha que não é preciso enxergar muito longe para pensar em turismo, sem dizer outros aspectos) e a razão pela qual é considerado um crime. Será que é tão difícil ver que ambientes esteticamente mais agradáveis são melhores para se viver(*). De qualquer forma, felizmente não são todas as pessoas que passam os olhos por esse assunto. O subprefeito do bairro do Ipiranga, por exemplo, estabeleceu como uma das principais metas combater a pichação, que tem dimensões enormes no seu bairro. Felizmente ainda não picharam o museu do Ipiranga, mas nem devemos comentar muito para não dar a idéia.

(*) Experiências de pessoas em outros países onde se tem uma grande comunidade de brasileiros mostram que, mesmo numa bela cidade, muitos brasileiros continuam a sua prática pichando, entre outros, muros e prédios, inclusive com textos em português...

Firefox: an idea for a privacy extension

0 comments
[Escrevo em inglês, pois pode motivar alguém a escrever essa extensão]

I was just wondering if there is a Firefox extension to add special privacy features to handle private bookmarks and special URLs that you don't want to be added to history. I decided to write down these ideas (before they vanish from my memory) to motivate someone to do it (maybe myself). I would also be very happy to know if someone already though or done similar things.

Private Bookmarks

Let's say you have bookmarks to be on your list, but you would like to make sure these bookmarks are not seen by other people that eventually use your computer (or user). It would be very interesting to encrypt these private bookmarks and required a password prior to displaying them in the bookmarks menu (and probably add also a timeout option to hide these bookmarks after sometime without using the bookmarks menu - well, maybe this is not supported by Firefox extension framework since it requires the framework to support this sort of information).

URLs ignored by Firefox (no tracking whatosever, like history, autocompletion list, etc)

Another idea is that you may have some particular links that you don't want to be added to the history nor to any other browser list (such as autocompletion one). They are private URLs and you don't want to have any trace of it in the system (ok, proxy servers will know that you visited, but I am discussing a ligther privacy, in the browser level). Maybe an icon in the location bar for this feature would be very nice, but also rules of URL that must be automatically ignored could also be part of such an extension (assuming there is no such extension).

Writing Extensions for Firefox

I found some interesting links to find out how to write an extension for Firefox:

Writing an Extension for Firefox

Writing Firefox/Thunderbird Extensions

How to create Firefox Extensions

Friday, February 11, 2005

Cantatas de Bach

0 comments
Certamente muitos gostam de cantatas de Bach e eu, apesar de nunca ter ouvido uma, confesso que fiquei curioso depois de ontem. Ouvi na rádio Cultura sobre o site Bach Cantatas Website que traz todas as 224 cantatas de Bach, com as gravações, fóruns de discussões e muitas curiosidades. Não deixe de visitá-lo caso seja um fã de Bach.

Provavelmente você já ouviu falar de "opus" sempre vinculado ao nome de uma peça de um compositor e é uma maneira de catalogar todos os trabalhos de um determinado compositor (assim que descobrir mais sobre a maneira de catalogar, direi aqui). A razão para eu comentar a respeito do "opus" é que, para o caso do Bach, o catálogo de suas obras não é chamado de opus e sim de BWV, que significa "Bach Werk Verzeichnis", ou, "catálogo de obras de bach". Alguns outros compositores também tem catálogos que não levam o nome "opus", e muitas vezes esses nomes vêm das pessoas que catalogaram a obram (obrigado a minha musa inspiradora por essa explicação). Em algum momento no futuro descobrireis mais a respeito desse assunto.

Pois bem, ainda nesse assunto, a rádio Cultura está ganhando audiência. Ainda muito longe da audiência de rádios que tocam músicas completamente populares, a sua audiência, nos últimos três meses, cresceu 41%, segundo reportagem da Folha de São Paulo. Ainda o público que mais ouve a rádio continua sendo pessoas acima de 60 anos das classes A/B, mas a mudança na programação constitui um bom passo no sentido de ampliar a sua audiência para outros tipos de públicos. Infelizmente, apesar de terem comentados sobre diversas mudanças interessantes na programação, a Folha omitiu o programa "OSESP ao Vivo", do qual eu sou fã.

Custo dos Imports no Java

0 comments
Para quem conhece Java e não tinha ainda se perguntado se existe algum custo (overhead) em fazermos:

import java.util.*;

ao invés de, por exemplo,

import java.util.ArrayList;
import java.util.List;

a resposta é que não existe diferença. Nos dois casos, são mecanismos passivos que só importam o tipo quando ele é realmente utilizado, não apenas pelo simples fato de declarar a linha de "import".

Mesmo assim, o primeiro mecanismo (chamado de "import on demand") é considerado má prática pela questão de documentação de código. Afinal, sabemos através da segunda opção todas as classes que a classe que está importando usa no final das contas. Esse é o mecanismo utilizado por ambientes de desenvolvimento como o Eclipse.

Veja mais na página inspiradora dessa entrada.

Friday, February 04, 2005

Dicas: Firefox e QMail

0 comments
Enquanto não consigo parar para escrever mais longamente sobre música e outros assuntos, aqui vão duas dicas que achei bastante úteis:

Firefox no Linux

Se você usa o Firefox e não gosta da ordem invertida dos botões, isso é porque o desenvolvimento do Firefox resolveu seguir o GNOME Human Interface Guidelines para a plataforma Linux. Uma maneira de resolver isso é a seguinte. No seu diretório chrome do perfil de usuário (~/.mozilla/firefox/.../chrome), edite o arquivo userChrome.css (caso não tenha, crie um a partir do userChrome-example.css que está no mesmo diretório) adicionando:

/*
* swap OK and cancel buttons in dialogs
*/
.dialog-button-box { -moz-box-direction: reverse; -moz-box-pack: right; }
.dialog-button-box spacer { display: none !important; }


Outra opção virá com a segunda dica sobre o Firefox. Para quem utiliza o KDE e gosta do estilo Plastik, existe um tema chamado Plastikfox para o Firefox que o deixa no mesmo estilo. Inclusive ele adiciona a opção de você troca a ordem dos botões para ficar compatível com o padrão do KDE.

QMail

Um probleminha que eu tinha com o QMail é que ele entregava diversos emails concorrentemente e o Terra rejeitava a partir da segunda conexão, causando um atraso (deferral) na entrega. Para resolver esse problema, existe uma configuração no diretório de controle do QMail (/var/qmail/control) chamada "concurrencyremote". Crie esse arquivo (caso não existe) e coloque no seu conteúdo o número de entregas remotas concorrentes que o QMail fará. No meu caso, apenas uma por vez, logo o conteúdo ficou "1".

Wednesday, January 26, 2005

Não é um só, mas tantos...

1 comments
Para inaugurar, algumas informações musicais dos últimos dias. Ontem, por um grande acaso, tive a felicidade de ver no SESC Ipiranga a banda Savana, que fez uma apresentação em função do aniversário de São Paulo. Vale ressaltar que não só ela, mas diversas outras também fizeram apresentações nesse SESC ao longo do dia. Eu entrei no auditório no meio da belíssima "Sinfonia Paulistana", que é tocada parcialmente todas as manhãs na rádio Jovem Pan, e de lá só saí depois de bater palmas de pé para essa banda. Não foi por admiração ingênua ou exagerada, mas a banda foi fenomenal tocando um jazz que, com umas batidas de samba juntamente, eram colocadas como MPB no programa. Até música africana com arranjo de Moacir Santos foi tocada (quem não se lembra do "Samba da Benção" do Vinicí­us de Morais, que menciona "Moacir Santos que não é um só, mas tantos, tantos como o meu Brasil de todos os santos"). Também tivemos o prazer de ouvir um solo de um integrante da Orquestra Jazz Sinfônica de SP. Que venham mais chuvas como a que me levou para o SESC nesse dia 25.

Ainda na minha admiração musical, dois fatos marcaram esse final de semana. Primeiro foi o grande "Concerto para Violino", de Tchaikosvky. Dando chance aos CDs que eu já possuia, escolhi esse compositor para ouvir. O seu primeiro movimento, em particular, é emocionante, logo não deixe de ouvir esse concerto caso tenha a oportunidade e tente acompanhar o tema, a cadência, a distribuição de instrumentos na orquestra que, se observados de perto, mostram ainda mais a genialidade de uma obra dessas.

Além disso, o outro fato foi ter ouvido o programa "OSESP ao Vivo", na rádio Cultura FM (sábados às 16h30), com o maestro John Neschling. A sua introdução, por exemplo, do poema sinfônico "Pelleas und Melisande" de Schoenberg (foi escrito sobre o texto do poeta belga Maeterlinck), foi muito interessante. Neschling demonstra um conhecimento cultural (não só musical) bastante profundo, o que nos dá admiração. Como sou leigo no assunto, o programa veio muito a calhar. Interessantíssimo, não percam (inclusive dá para se ouvir pela internet para quem está distante de São Paulo).

E a minha última dica é para os cinéfilos. Não deixem de assistir ao filme chileno "Machuca" (link IMBD), que aqui em São Paulo está sendo exibido no Espaço Unibanco de Cinema. Ele exibe o encontro entre duas realidades de vida no meio da transição entre duas realidades de governo no Chile (Allende e Pinochet), mostra como esse choque é importante para o amadurecimento das pessoas e como algumas coisas nunca mudam.