quarta-feira, outubro 24, 2007

Mão de vaca


Adão estava perambulando triste pelo jardim do sentimento do Éden, muito sozinho, quando Deus perguntou:

- O que há de errado com você?

Adão disse que não tinha com quem conversar e era muito solitário...

Deus disse-lhe que então iria lhe fazer uma companhia e que seria uma mulher. Disse mais:

- Ela será muito bonita, recolherá alimento para você;

irá cozinhar para você, e quando você sujar suas vestimentas, ela lavará para você.

Concordará sempre com cada decisão que você tomar e não o enganará.

Será sempre a primeira a admitir que estava errada quando vocês tiverem um desentendimento.

Elogiará e o apoaiará sempre. Carregará suas crianças, e nunca pedirá que você se levante no meio da noite para cuidar deles.

Nunca terá uma enxaqueca e sempre terá vontade e disposição para lhe dar amor e carinho sempre que você necessitar.

Adão, então, perguntou a Deus:

- Quanto me custará essa mulher?

Deus respondeu: - Um braço e uma perna!

Adão, pensou por um momento e então, falou:

- O que posso conseguir por uma costela?

Naturalmente, o resto da história você conhece... olha o que dá ser mão-de-vaca !!!!!!!

Relatório com mais de uma página no iReport

Me deparei com um problema na hora de criar relatórios com mais de uma página no iReport. Precisava fazer um relatório que tinha duas páginas: a primeira com algumas informações de uma tabela mestre e um detalhe, e a segunda com mais informações do mestre. Ao tentar resolver o problema pesquisei em várias listas de discussão e em nenhuma delas eu tive uma resposta objetiva pra resolver o meu problema. Dentre as possíveis soluções encontrei:
  • Criar um novo Agrupamento (ou dummy) para o meu relatório, e definir para este agrupamento que ele seria impresso sempre em uma nova página. Tentei usar este recurso, que penso que seria o mais indicado para resolver o meu problema, mas por algum motivo ele não dava a quebra de página e não encontrei ninguém para me ajudar a resolver isto, talvez eu tente usar este método quanto tiver um pouco mais de tempo pra testar;
  • Usar o componente de quebra de página pra chamar a partir de uma banda um sub relatório. Teste este método também mas por algum motivo a segunda página sempre estava sendo impressa em branco, sabe-se lá porque.
  • A terceira e última solução eu encontrei em um post de uma lista de discussão, a princípio achei meio gambiarra, mas acabou que foi a única solução a resolver o meu problema. Trata-se de aumentar o tamanho da página (para duas ou n vezes o tamanho da original) e inserir quebras de páginas para o gerador dividir o relatório entre as páginas que eu desejar. Junto deste processo foi preciso utilizar grupos de relatório, senão a quebra não funciona. Abaixo vou detalhar este processo.
Primeiramente criei o meu relatório principal. Nele inseri um agrupamento (Visualizar->Agrupamentos do relatório). Nas propriedade deste agrupamento marquei a opção Iniciar em uma nova página. Acessei as propriedades do relatório (Editar->Propriedades do Relatório) e defini a Altura com 54,398, ou seja, duas vezes o tamanho da folha A4, pois no meu caso serão duas páginas de relatório. Ainda nas propriedades do relatório, na aba Mais, marquei a propriedade Ignorar paginação.
Este é o processo de configuração do relatório, depois disso criei a minha primeira página do relatório e para a segunda, primeiramente aumentei o tamanho da banda Footer do agrupamento que eu criei para o tamanho da folha A4 (+-29), depois, inseri no início deste banda um componente de quebra de página, bem no início da banda. Depois é só fazer a segunda página do relatório.

sexta-feira, agosto 03, 2007

Linkin Park - What I've Done

In this farewell
There is no blood
There is no alibi
‘Cause I’ve drawn regret
From the truth
Of a thousand lies
So let mercy come
And wash away

What I’ve done
I’ll face myself
To cross out
What I’ve become
Erase myself
And let go of
What I’ve done

Put to rest
What you thought of me
While I clean this slate
With the hands
Of uncertainty
So let mercy come
And wash away

What I’ve done
I’ll face myself
To cross out
What I’ve become
Erase myself
And let go of
What I’ve done

For what I’ve done
I’ll start again
And whatever thing
May come
Today this ends
I’m forgiving

What I’ve done

I’ll face myself
To cross out
What I’ve become
Erase myself
And let go of
What I’ve done

(Na,Na,Na) [Mike Shinoda!]

What I’ve done
Forgiving what I’ve done

U2 - Stuck In A Moment You Can't Get Out Of

I'm not afraid of anything in this world
There's nothing you can throw at me that I haven't already heard
I'm just trying to find a decent melody
A song that I can sing in my own company

I never thought you were a fool
But darling, look at you
You gotta stand up straight, carry your own weight
These tears are going nowhere, baby

You've got to get yourself together
You've got stuck in a moment and now you can't get out of it
Don't say that later will be better now you're stuck in a moment
And you can't get out of it

I will not forsake, the colours that you bring
But the nights you filled with fireworks
They left you with nothing
I am still enchanted by the light you brought to me
I still listen through your ears, and through your eyes I can see

And you are such a fool
To worry like you do
I know it's tough, and you can never get enough
Of what you don't really need now... my oh my

You've got to get yourself together
You've got stuck in a moment and now you can't get out of it
Oh love look at you now
You've got yourself stuck in a moment and now you can't get out of it

I was unconscious, half asleep
The water is warm till you discover how deep...
I wasn't jumping... for me it was a fall
It's a long way down to nothing at all

You've got to get yourself together
You've got stuck in a moment and now you can't get out of it
Don't say that later will be better now
You're stuck in a moment and you can't get out of it


And if the night runs over
And if the day won't last
And if our way should falter
Along the stony pass

And if the night runs over
And if the day won't last
And if your way should falter
Along the stony pass
It's just a moment
This time will pass

segunda-feira, junho 11, 2007

Equals and Hash Code in Java

Introduction

The Java super class java.lang.Object has two very important methods defined in it. They are -
  • public boolean equals(Object obj)
  • public int hashCode()
These methods prove very important when user classes are confronted with other Java classes, when objects of such classes are added to collections etc. These two methods have become part of Sun Certified Java Programmer 1.4 exam (SCJP 1.4) objectives. This article intends to provide the necessary information about these two methods that would help the SCJP 1.4 exam aspirants. Moreover, this article hopes to help you understand the mechanism and general contracts of these two methods; irrespective of whether you are interested in taking the SCJP 1.4 exam or not. This article should help you while implementing these two methods in your own classes.

Leia o artigo completo

quinta-feira, fevereiro 15, 2007

Primeiro título do ano do Cruzeiro


Cruzeiro - Campeão da Taça São Paulo de Futebol Júnior 2007

quarta-feira, setembro 27, 2006

Outros Tempos
Engenheiros do Hawaii
Composição: Gessinger

quando te vi
tive a impressão
de que não era a primeira vez
quando te vi
tive certeza de que não seria a última vez
não, não seria a última vez?
quem vem lá? quem será?
que passa como um filme
na fumaça de um bar?
quem vem lá? quem será?
que vai me salvar a vida outra vez
vai fazer de novo o que nunca fez

os tempos são outros
os erros, os mesmos
me diz como é que eu faço
me diz como é que eu posso
te encontrar mais uma vez

os tempos são outros
os erros, os mesmos
me diz como é que eu faço
me diz como é que eu posso
te encontrar
mais uma vez pela primeira vez