2008-12-25

Um bom Natal



Refrão:
A todos um Bom Natal
A todos um Bom Natal
Que seja um Bom Natal, para todos vós
Que seja um Bom Natal, para todos vós


No Natal pela manhã
Ouvem-se os sinos tocar
E há uma grande alegria, no ar


Refrão

Nesta manhã de Natal
Há em todos os países
Muitos milhões de meninos, felizes


Refrão


Vão aos saltos pela casa
Descalças ou com chinelos
Procurar suas prendas, tão belas

Refrão

Depois há danças de roda
As crianças dão as mãos
No Natal todos se sentem irmãos

Refrão

Se isto fosse verdade
Para todos os Meninos
Era bom ouvir os sinos tocar.

Refrão

2008-12-22

2008-12-21

To read during vacation time: Brandon Sanderson

I will sugest that you read the short story Firstborn by Brandon Sanderson available at the new Tor site.

If you like it I would sugest that you read Warbreaker (digital book) available for free in Brandon Sanderson site. That story will became a non-digital book very soon and the version available for free is almost the final one.

The books I also read from Brandon are Mistborn (that was available on digitar formar for a short period for free on Tor site) and Elentris. Misborn was the first of a trilogy that was finished this year.
For the people that already read Elentris I would sugest the reading of the short Elentris story: The Hope of Elantris also available for free in Brandon Sanderson site. It's like a missing chapter on the book :-).

These book/stories are not available in Portuguese.

Have a nice vacation and a great new year!

2008-12-11

A FEIRA MUNDIAL DAS RELIGIÕES

Eu e um amigo fomos a uma feira,
a Feira Universal das Religiões.
Havia aí feroz competição
e, não menos feroz, a propaganda!

Lá, no Stand dos Judeus, davam folhetos
que diziam: "Javé é só Bondade!
Nosso Povo judeu é o Escolhido
e nenhum outro povo é escolhido
como o Povo Judeu foi escolhido!"

Na barraca do Islão, nós aprendemos
que Allah é compaixão e só Maomé é seu Profeta;
a salvação é de quem ouve este único Profeta!

Na secção dos Cristãos, nós descobrimos
que Deus é Amor e não há salvação
fora da Igreja santa e verdadeira:
"Seja um dos nossos, ou corre o risco
de ir parar ao inferno, depois de morrer!”

Ao sair, perguntei ao meu amigo:
"Que ideia você tem de Deus, agora?"
E ele respondeu-me: "É um Deus cruel
cheio de preconceito e fanatismo!"

Ao chegar, mais tarde, a minha casa, eu disse a Deus: "Como suportar esse tipo de coisas, Senhor? Não percebeis que, ao longo de todos estes séculos, os homens vos estão dando um nome falso e mau?" Resposta de Deus: "Não fui eu quem organizou a Feira. Eu teria imensa vergonha até de visitá-la."

2008-12-09

AUTHID CURRENT_USER range

Last week I learn a new thing about PL/SQL: the range of AUTHID CURRENT_USER is limited! I thought it wasn't :-(!
I had problems with a program with AUTHID CURRENT_USER calling another: I thought that the program it would call would be also with invoker rights but it wasn't!

So I check the documentation and I found this:

How to run a script with & sign in sqlplus?

Problem: we want to run a script in sqlplus that has a "&" sign that is not a variable placeholder.
Example: inserting a 'R&N' in a table or programing for the web, i.e. htp.p(' ')

2008-11-29

Espero que não me aconteça comigo

Uma professora do ensino básico pediu aos alunos que fizessem uma redacção sobre o que gostariam que Deus fizesse por eles..

Ao fim da tarde, quando corrigia as redacções, leu uma que a deixou muito emocionada.. O marido, que, nesse momento, acabava de entrar, viu-a a chorar e perguntou:

- O que é que aconteceu? '

Ela respondeu:

- Lê isto. Era a redacção de um aluno.

*'Senhor, esta noite peço-te algo especial: transforma-me num televisor. Quero ocupar o lugar dele. Viver como vive a TV da minha casa. Ter um lugar especial para mim, e reunir a minha família à volta... Ser levado a sério quando falo... Quero ser o centro das atenções e ser escutado sem interrupções nem perguntas. Quero receber o mesmo cuidado especial que a TV recebe quando não funciona. E ter a companhia do meu pai quando ele chega a casa, mesmo quando está cansado. E que a minha mãe me procure quando estiver sozinha e aborrecida, em vez de me ignorar.. E ainda, que os meus irmãos lutem e se batam para estar comigo.. Quero sentir que a minha família deixa tudo de lado, de vez em quando, para passar alguns momentos comigo. E, por fim, faz com que eu possa diverti-los a todos.

Senhor, não te peço muito...Só quero viver o que vive qualquer televisor.'*

Naquele momento, o marido de Ana Maria disse:

- 'Meu Deus, coitado desse miúdo! Que pais'!

E ela olhou-o e respondeu:

- 'Essa redacção é do nosso filho'

2008-11-28

DBMS_METADATA bug?

Today I found this bug in Oracle 10g R2 (I didn't try in 11G) when using the SQLTerminator in DBMS_METADATA:

2008-11-25

Frei Fado D´El Rei vencem Prémio

Grupo Frei Fado D´El Rei vencem Prémio José Afonso 2008

ver notícia

Parabéns Zagalo e companhia!!

2008-11-24

SqlNavigator site gives error

Last month and today again when I try to access to the SqlNavigator site (http://sqlnavigator.inside.quest.com/) I got an error page (I show below the error messages).

Last month after several days without being able to access I found out that I needed to clean the cookies I had for quest.com.
Quest people already knows about this problem.


HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.ArrayIndexOutOfBoundsException: 1
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:284)
com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
com.jivesoftware.base.action.util.JiveFilterDispatcher.doFilter(JiveFilterDispatcher.java:54)
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88)
com.jivesoftware.base.PresenceFilter.doFilter(PresenceFilter.java:135)
com.quest.RedirectFilter.doFilter(RedirectFilter.java:50)
com.jivesoftware.util.SetRequestCharacterEncodingFilter.doFilter(SetRequestCharacterEncodingFilter.java:76)
com.jivesoftware.base.util.ApplicationInitializedFilter.doFilter(ApplicationInitializedFilter.java:73)

root cause

java.lang.ArrayIndexOutOfBoundsException: 1
com.quest.interceptor.QuestAuthInterceptor.questSsoCheck(QuestAuthInterceptor.java:58)
com.quest.interceptor.QuestAuthInterceptor.before(QuestAuthInterceptor.java:36)
com.quest.interceptor.QuestAuthInterceptor.intercept(QuestAuthInterceptor.java:26)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.jivesoftware.forum.action.LocaleInterceptor.intercept(LocaleInterceptor.java:104)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.jivesoftware.base.action.interceptor.JiveLoginInterceptor.intercept(JiveLoginInterceptor.java:42)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)
com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
com.jivesoftware.base.action.util.JiveFilterDispatcher.doFilter(JiveFilterDispatcher.java:54)
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88)
com.jivesoftware.base.PresenceFilter.doFilter(PresenceFilter.java:135)
com.quest.RedirectFilter.doFilter(RedirectFilter.java:50)
com.jivesoftware.util.SetRequestCharacterEncodingFilter.doFilter(SetRequestCharacterEncodingFilter.java:76)
com.jivesoftware.base.util.ApplicationInitializedFilter.doFilter(ApplicationInitializedFilter.java:73)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.


Apache Tomcat/6.0.16

2008-11-20

2008-11-16

Pára um Momento



Letra e Música: Irmã Maria Amélia Costa
Intérprete: Marco Aurélio
CD "Pára um Momento" - CONFHIC / Fortes &Rangel


Pára um momento junto a Mim…
Eu sou Teu Deus e Senhor…
Tenho-te gravado na palma da mão…
Com um amor eterno e sem fim…
Com um amor eterno e sem fim…
Pára um momento…
Pára um momento…
Pára um momento junto a Mim…

2008-11-10

Quest Error Manager new version

Quest Error Manager (QEM) has a new version that incorporates the fixes and improves I send to Steven
(the fixes for the bugs I found (raise error when only log was expected, the size limit on some variables, the trigger to populate the log table automatically with some debug info and a new procedure to get the log code out).

2008-10-28

O que aprendi ontem sobre o Vista

(What I learn yesterday about Vista)


Quando queremos copiar o caminho+nome de um ficheiro para algum lado podemos no Windows Vista usar uma opção escondida do menu contextual a que se acede se se premir a tecla shift quando se pressiona no botão do rato respectivo (normalmente o direito).

(When we wnat to copy the path+name of a file, we can in windows Vista use a hidden option from the context menu that in only offered if you press the shift key when you press the mouse button that calls that menu (normally the right button))

2008-10-27

Um história linda

Ela deu um pulo assim que viu o cirurgião a sair da sala de operações.

Ela perguntou: "como é que está o meu menino? Ele vai ficar bom? Quando é que eu posso o ver?

O cirurgião disse, "Tenho pena. Nos fizemos tudo mas o seu filho não resistiu."

A Sally perguntou, "Porque qual é a razão que as crianças pequenas tem câncer? Será que deus não se preocupa? Aonde estavas tu Deus quando o meu filho o necessitava?"

O cirurgião perguntou, "queres algum tempo com o seu filho? Uma das enfermeiras ira sair dentro alguns minutos antes de ele ser transportado para a universidade,"

A Sally pediu a enfermeira para ficar com ela enquanto ela despediu do seu filho. Ela passou os seus dedos pelo o cabelo ruivo do seu filho. "Você quer um caracol de cabelo? Perguntou a enfermeira.

A Sally abanou a cabeça a dizer que sim. A enfermeira cortou o cabelo e colocou num saco de plástico e entregou a Sally.

A mãe disse, " foi a ideia do Jimmy para doar o seu corpo a Universidade. Ele disse que talvez pudesse ajudar outra pessoa. "No início eu disse que não, mas o Jimmy disse, "Mãe, eu não vou necessitar do meu corpo depois de morrer. Talvez possa ajudar outro menino ficar mais um dia com a sua mãe." Ela continuo, " o meu Jimmy tinha um coração de ouro. Estava sempre a pensar nos outros. Sempre disposto a ajudar se ele pudesse."

Depois de ter passado a maior parte dos últimos seis messes a Sally saiu do Hospital "Children´s Mercy" pela a última vez.

Ela colocou o saco com as coisas do seu filho no banco do carro ao lado dela.

A viagem para casa foi muito difícil. Foi ainda mais difícil entrar na casa vazia. Ela levou o saco com as coisas do Jimmy incluindo o cabelo para o quarto do seu filho. Ela começou a colocar os carros e as outras coisas no quarto exactamente nos locais aonde ele os sempre teve. Ela deitou-se na cama dele e agarrou a almofada e chorou até que ficou a dormir.

Era quase meia-noite quando acordou e ao lado dela estava uma carta.

A carta dizia,

Querida Mãe,
Eu sei que vais ter muitas saudades minhas; mas não pensas que eu vou esquecer de ti, ou que eu vou deixar de te amar, sou porque eu não estou por perto para dizer que "Amo-te". Eu vou sempre te amar, Mãe, ainda mais com a passagem de cada dia. Um dia vamos estar juntos de novo. Mas até chegar esse dia se quiseres adoptar um menino para não ficares tão sozinha, esta tudo bem comigo. Ele pode ficar com o meu quarto e as minhas coisas para brincar. Mas se decidires para uma menina, ela talvez não vai gostar das mesmas coisa que nos rapazes gostamos. Vais ter que comprar bonecas e outras coisas que meninas gostam, tu sabes. Não fiques triste a pensar em mim. Este lugar é mesmo porreiro. Os avós vieram ter comigo assim que eu cheguei para mostrar este lugar, mas vai demorar muito tempo para eu poder ver tudo. Os anjos são mesmo fixes. Eu adoro ver eles a voar. E sabes uma coisa? O Jesus não parece nada como se vê nas fotos. Embora quando o vi eu conheci o logo. Ele levou-me a visitar Deus! E sabes uma coisa? Eu sentei no colo dele e falei com Ele, tal como se eu fosse uma pessoa importante. Isso foi quando eu o disse que queria escrever esta carta para ti, para dizer adeus e tudo mais. Mas eu já sabia que não era permitido. Mas sabes uma coisa Mãe? Deus entregou um papel e a sua caneta pessoal para eu poder escrever esta carta para ti. Eu acho que Gabriel é o anjo que vai entregar esta carta a ti. Deus disse para eu responder a uma das perguntas que tu fizeste a Ele, "Aonde estava Ele quando eu o precisava?" "Deus disse que estava no mesmo sítio, tal e qual quando o filho dele, Jesus foi crucificado. Ele estava presente, tal e qual com está todos os filhos dele. Mãe, só tu é que consegues ver o que eu escrevi, mais ninguém. As outras pessoas vêm este papel em branco. É mesmo fixe não é? Eu tenho que dar a caneta de volta a Deus para ele poder continuar a escrever no seu Livro da Vida. Esta noite vou jantar na mesma mesa com Jesus. Tenho a certeza que a comida vai ser boa.

Eu estava quase a esquecer, eu já não tenho dores, o câncer já se foi embora. Ainda bem porque já não podia mais e Deus também não podia ver me assim. Isso foi quando ele enviou o Anjo da Misericórdia para vir me buscar. O anjo disse que eu era uma encomenda especial! O que dizes a isso?"

Assinado com Amor
de Deus, Jesus e de Mim.

2008-10-02

Torn

anteriormente apresentei um video da música "Torn" numa "linguagem gestual" engraçada (quem sabe inglês ou sabe a tradução da letra perceberá). Hoje mandaram-me este que sendo da mesma pessoa apresenta umas novidades muito boas (que não vou dizer)...vejam e comecem bem o dia!

2008-09-29

I will derive

Do you remeber "I will survive"?
Here is a new version ...(lyrics below)



At first I was afraid, what could the answer be?
It said given this position find velocity.
So I tried to work it out but I knew that I was wrong.
I struggled; I cried, “The problem shouldn’t take this long!”
I tried to think, control my nerve …
It’s evident that speed’s tangential to that time–position curve.
This problem would be mine
If I just knew that tangent line
But what to do? Show me a sign!

So I thought back: do calculus,
Way back to Newton and to Leibniz
And to problems just like this.
And just like that when I had given up all hope
I said nope.
There’s just one way to find that slope –
And so now I, I will derive!
Find the derivative of x’s position with respect to time.
It’s as easy as can be –
Just have to take dx/dt –
I will derive, I will derive, hey hey!

And then I went ahead to the second part
But as I looked at it I wasn’t quite sure how to start:
It was asking for the time at which velocity was at a maximum.
And I was thinking, “Woe is me!”
But then I thought, “This much I know:
I gotta find acceleration, set it equal to zero.
Now if only knew what the function was for it …
I guess I’m gonna have to solve for it some way.”

So I thought back: do calculus,
Way back to Newton and to Leibniz
And to problems just like this.
And just like that when I had given up all hope
I said nope.
There’s just one way to find that slope –
And so now I, I will derive!
Find the derivative of velocity with respect to time.
It’s as easy as can be –
Just have to take dv/dt –
I will derive, I will derive …


So I thought back: do calculus,
Way back to Newton and to Leibniz
And to problems just like this.
And just like that when I had given up all hope
I said nope.
There’s just one way to find that slope –
And so now I, I will derive!
Find the derivative of x’s position with respect to time.
It’s as easy as can be –
Just have to take dx/dt –
I will derive, I will derive, I will derive!

Os físicos fazem cenas fixes! / Physicists can make cool stuff

Rapping about CERN's LHD (Large Hadron Collider)

2008-09-14

Disabling FK constraints

Problem: You want to insert some data in a bunch via insert or import that you know that is Foreign Key (FK) coherent but do not want to upload it in the right order.

solution:
1- make sure no one will the able to connect to the database besides you (or at least modify any data)
2- disable all the FK constraints or only the needed.

For all run the output of the following script:

SELECT 'alter table '||table_name||' disable constraint '||constraint_name||' ;' FROM user_constraints where constraint_type='R'

You can also add to the script only the tables you want to upload data to adding something like:
and table_name like 'TBL%'
or
and table_name in ('TABLE1','TABLE2')

3- upload the data
4- DO NOT FORGET: enabled the constraints you have previous disabled!!!

2008-09-09

Jogos Paraolímpicos

A minha esposa é Terapeuta Ocupacional e ficou muito contente com a cobertura mediatica que este ano os jogos paraolimpicos estão a ter (ainda é pouca mas muito mais do que no passado ...que era nada!).

Hoje o número de medalas arrecadadas já igualou as medalas conseguidas nos jogos olimpicos desde ano!

Com os poucos patrocinios que conseguem (mesmo do estado) estes nossos atletas têm conseguido umas prestações muito boas!

AnoOuroPrataBronze
2004225
2000654
1996644
1992333
1988345
1984427

...

Muito parabéns aos nossos atletas e força!


actualização: 18 de Setembro
Resultado final: 1 de ouro , 4 de prata e 2 de bronze (7 no total) ...parabéns a todos os participantes!

Fórmula infalível contra insucesso escolar!

Recebi estes dias um email com esta imagem que me fez pensar num tema que muito me irrita...

-> O teste do Futuro



E o sucesso escolar fica garantido!

Falta saber se depois queremos:
- ser tratados por médicos com somentes esses conhecimentos,
- habitar uma casa dimensionada por um engenheiro com somentes esses conhecimentos
- ter politicos com somentes esses conhecimentos (bem quanto a isto não sei se já não teremos (nacionais e internacionais) )
- ...

2008-08-29

Lavar os dentes

Um copo com água,
uma escova e pasta:
p'ra lavar os dentes
é o que me basta.

Esfrego, esfrego, esfrego,
muito esfregadinho:
Com os dentes lavados,
que rico cheirinho!


eu às vezes troco a última frase por "fico tão lindinho!" alternadamente nas repetições futuras para dar uma certa variação

2008-08-25

2008-07-26

Novelização mal conseguida

Dos livros que a Tor.com disponibilizou "Battlestar Galactica" de Jeffrey A. Carver é a novelização do episódio piloto (em estilo de mini-série de 3 horas) da série "Battlestar Galactica" de 2003 (uma re-leitura das premissas da série original de 1978).
Com uma adaptação para livro presume-se que se ganhe alguma coisa, isto é apresentar cenas que não se vê no ecrã, explicar motivações, etc. É o caso por exemplo da relativa recente novelização do Star Wars Episódio III (A Vingança dos Sith) de Matthew Stover.
Jeffrey Carver na novelização do "Battlestar Galactica" limita-se quase a apresentar o que vemos no ecrã e o pouco que apresenta de novo não pode ser considerado canónico pois algumas coisas entram em conflito com o restante da série.
Para além disso existe uma repetição desnecessário de descrições.
Para que gosta da série e tem curiosidade de ler este livro (em inglês) aproveite enquanto pode fazer o download gratuito no site da Tor.

2008-07-25

Mais uma tentativa de Phishing

Eu já tenho recebido muitas tentativas, mas acho que esta devo avisar aos meus amigos mais distraídos

Assunto:Alguem enviou-lhe uma Fotomensagem TMN
de: mms@tmn.pt

Á TMN tem um Fotomensagem para você.
Enviada por, *****9827.

Para visualizar clique no link abaixo:
http://www.tmn.pt/portal/site/tmn/sms/tmn_sms.php?view=000475367865234

Todos os Direitos Reservados.
Empresa de Telefonia Movel 2008.

O que se nota aqui? Para além de estar num mau português do Brasil, o nome da companhia está errado!
Deve-se verificar que o link que se encontram nos mails correspondem ao que estamos a ler...neste caso o link é na realidade para www.rvnbc.org/languages/pt/(...).exe e não para www.tmn.pt/...

Regra de outro: nunca clicar nos links de um email mas sim copiar (via Copy-paste) para a zona de endereços de um browser.

E nunca respondam a formulários que pedem numero de conta ou password!

2008-07-21

Script para descobrir as sessões e código para as matar

Este código dá a informação que ey tenho como util das sessões e na última coluna o código a executar para matar a respectiva

SELECT s.username, s.osuser,
s.program, 'ALTER SYSTEM KILL SESSION '''||s.sid||','||s.serial#||''';' kill_code
FROM v$session s;

2008-07-20

You Raise Me Up

Lyrics by: Brendan Graham and Rolf Lovland

When I am down and, oh my soul, so weary;
When troubles come and my heart burdened be;
Then, I am still and wait here in the silence,
Until you come and sit awhile with me.

You raise me up, so I can stand on mountains;
You raise me up, to walk on stormy seas;
I am strong, when I am on your shoulders;
You raise me up... To more than I can be.
(x2)

There is no life - no life without its hunger;
Each restless heart beats so imperfectly;
But when you come and I am filled with wonder,
Sometimes, I think I glimpse eternity.

You raise me up, so I can stand on mountains;
You raise me up, to walk on stormy seas;
I am strong, when I am on your shoulders;
You raise me up... To more than I can be.
(x2)

You raise me up... To more than I can be.

2008-07-18

Tor: livros gratuitos por tempo limitado

Há já algum tempo que venho assinando a newsletter da editora Tor que semanalmente disponibiliza um livro em inglês gratuitamente (em formato PDF, HTML e Mobi) que fica disponível no link por uma semana ou duas. Esses livros fazem normalmente parte de um série de livros pelo que a Tor tenta assim cativar o leitor para os restantes livros.
Já podem imaginar quais têm sido as minhas últimas leituras :-).

Abaixo apresento a lista, pois a Tor vai brevemente lançar uma nova ver~sao do seu site Tor.com e durante um tempo limitado vai voltar a disponibilizar os livros abaixo.
Ou seja uma boa sugestão para as férias: ler livros...
Recomendo em especial o Mistborn mas alguns dos outros são também muito bons.
Alguns ainda não li porque não são muito do meu estilo.


Mistborn
by Brandon Sanderson
Old Man’s War
by John Scalzi
Spin
by Robert Charles Wilson
Farthing
by Jo Walton
The Outstretched Shadow
by Mercedies Lackey
& James Mallory
Crystal Rain
by Tobias Buckell
Lord of the Isles
by David Drake
Through Wolf’s Eyes
by Jane Lindskold
The Disunited States of America
by Harry Turtledove
Reiffen’s Choice
by S.C. Butler
Sun of Suns
by Karl Schroeder
Four and Twenty Blackbirds
by Cherie Priest
Spirit Gate
by Kate Elliot
Starfish
by Peter Watts
Touch of Evil
by C.T. Adams & Cathy Clamp
A Shadow in Summer
by Daniel Abraham
Orphans of Chaos
by John Wright
In the Garden of Iden
by Kage Baker
In the Midnight Hour
by Patti O'Shea
Battlestar Galactica
by Jeffrey A. Carver
Flash
by L.E. Modesitt, Jr.
Soul
by Tobsha Learner
Darkness of the Light
by Peter David
Three Shadows
by Cyril Pedrosa
(a ser lançado)

Update: somente disponiveis até dia 27...não percam a oportunidade!

Bugs in Quest Error Manager

I found some bugs in the Quest Error Manager (QEM).

So I changed q$error_manager package. The changes I made soo far are:

2008-07-12

Don't Give Up, You Are Loved

Artista:Josh Groban
Don’t give up
It’s just the weight of the world
When your heart’s heavy
I…I will lift it for you

2008-06-16

Missing values from a sequence generated column

If we have a column that is a sequence generated value column from a table we can get holes in the values (due to several issues that are common known).
Here is a code that shows that holes using as example a table named my_table and a column id
SELECT id,
       next_id,
       DECODE (next_id, id + 1, '',
                        DECODE (id + 1, next_id - 1, TO_CHAR (id + 1),
                                        TO_CHAR (id + 1)
                                        || '-'
                                        || TO_CHAR (next_id - 1)))
       missing_values
FROM   (SELECT id,
               LEAD (id, 1) over (ORDER BY id) AS next_id
        FROM   my_table)
WHERE  next_id IS NOT NULL
   AND DECODE (next_id, id + 1, '',
                        DECODE (id + 1, next_id - 1, TO_CHAR (id + 1),
                                        TO_CHAR (id + 1)
                                        || '-'
                                        || TO_CHAR (next_id - 1))) IS NOT NULL



An example of the output:

22     42     23-41
42     44     43
44     46     45
46     62     47-61
62     64     63
64     68     65-67

2008-06-12

Verificação do tempo

Mandaram-me um mail com esta fotografia de um sistema "rudimentar" de previsão do tempo. Eu acho que é mais uma verificação do tempo.
Pedra Molhada -> está a chover
Pedra Seca -> não está a chover
Sombra no chão -> está sol
Branco em cima -> está a nevar
Não se pode ver a pedra (nem o cartaz já agora) -> nevoeiro
Pedra a baloiçar -> está vento
Pedra a saltar para cima e para baixo -> terramoto
Pedra desapareceu -> Tornado (ou depois de um tornado)

Actualização: no Parque da Lavandeira em Gaia existe perto da entrada uma versão portuguesa desta pedra

2008-06-06

Thing I really like in 11g: ADD COLUMN

In Oracle 11g if you want to alter add a column to a table and that column:
- allows NULLs and doesn't have DEFAULT value
- doesn't allows NULLS (NOT NULL column) and has DEFAULT value
- its a virtual column

you can do it without fear even if the tables are in use...it doesn't needs to lock then!

2008-05-26

Trabalho, trabalho, trabalho?

Se tens o teu nariz no trabalho enfiado,
durante todo o tempo e não tiveres cuidado,
um dia negarás que se possam encontrar
Regatos murmurantes e aves a cantar.
Então o teu mundo, apenas há-de ter:
Tu próprio, o teu nariz
e o trabalho para fazer.

Uma nova maneira de seguir os consumidores

Nos E.U.A. já 2 shopping têm um sistema que segue o percurso do cliente pelo shopping.
Assim podem saber entre outras coisas: onde os clientes param mais, que um cliente que visita esta loja depois visita também uma outra, etc..
Claro que questões de privacidade se levantam mas asseguram que o único dado pessoal que obtêm pelo IME do telefone é a nacionalidade do telefone.
Desde que não cruzem esses dados com outra base de dados....

Shops track customers via mobile phone

2008-05-23

Tabelas Úteis

Quem como eu necessitar de saber algums MIME types veja esta página.
(Há MIME types como o lixo!)

E que tal a tabela ASCII com também os caracteres em código HTML?

Bom fim de semana e bom trabalho!

2008-05-22

Balada para los poetas

Hoje recebi um email a perguntar por quem cantava o poema "Balada para los poetas" de Rafael Alberti (devido a eu ter esse poema numa página no meu site).
Pois procurei logo na net e encontrei a resposta: AguaViva e ainda encontrei a música e um video no youtube!



poema original e letra no meu site

2008-05-21

writing code that BULKs into a rowtype will crash the session

Another bug that i found....Someone already told me that they new of this issue also reported by me some two years ago but I could not remember it :-(
(it's the old age...)

Of course its a code error to make a bulk into a rowtype variable, but if you try to code it it will not give you an error it will crash the session!

Here goes the code sample that makes it happend :-(


CREATE TABLE a_test (a VARCHAR2(20));


create or replace package test_pck is
end test_pck;

Then try to create the package

create or replace package body test_pck is

PROCEDURE test1
IS
lrt_test a_test%ROWTYPE;
BEGIN
SELECT * BULK COLLECT INTO lrt_test FROM a_test;
END test1;
end test_pck;


This will crash the session ...I try with SQLNavigator and SQLPlus

2008-05-19

Two small things I learn today

Today I learned that there is always something that we don't know, even in our main activity area.

1- In Oracle it's possible to make columns unavailable to normal use (SQL statements, etc..) without dropping them! So we could make a column "unavailable"
alter table mytable set unused column mycolumn;
test all the code and only later dropping it
alter table mytable drop unused mycolumn;

2- HTML has a tag button that makes possible to have buttons with images and text (besides the use of CSS classes).
Notice to myself: replace all the forms 'input type="submit" ' buttons to 'button type="submit"'

Of course that there is lots of stuff to learn about ORACLE but I was really surprised to find out that HTML tag!
Ok ...that tag only appeared in HTML 4.0 but that was almost 10 years ago! ops ...i'm getting old!

2008-05-16

Steven Feuerstein voltará a Lisboa

Mais uma vez a DUTEC (representante da Quest SOftware em portugal trás o Steven Feuerstein a Lisboa (é sempre lá :-( ).
Desta vez de 5 a 6 Novembro 2008 para realizar uma Formação em PL/SQL (de dois dias).

2008-05-14

How to check the time taken to execute something in Oracle?

No problem! PL/SQL provides a mechanism to obtain timings of code execution that are accurate to 100th of a second: the DBMS_UTILTY.GET_TIME function.

Within PL/SQL you can use DBMS_UTILITY.GET_TIME that provides a mechanism to obtain timings of code execution that are accurate to 100th of a second.
Check it before and after the section you want to find out the time taken and check the difference.

In SQL*Plus you can also try to use SET TIMING ON.

2008-05-13

Caneta e Papel?

Estamos a chegar a um tempo onde o computador é uma ferramenta comum.

Será que se vai perder o uso de papel e caneta?
Penso que não.
Tal como os documentos digitais (incluindo ebooks) não vieram eliminar o papel penso que existe lugar para tudo (mesmo numa sociedade ideal).
Mas já se começa a marginalizar quem não usa o computador e por qualquer razão ainda usa papel e caneta. Vejam a fotografia que me enviaram :-).

2008-05-07

Um dueto que eu não contava

Sarah Brightman & Antonio Banderas sing "The Phantom Of The Opera"

Capas de revistas disney

Descobri no noutro dia este site que faz a recolha de capas de revistas disney do brasil (muitas dessas usadas também nas versões de portugal).

Achei piada recordar algumas capas e da capacidade que o meu cérebro tem de se lembrar olhando para uma capa, de um revista que tenho, da 1ª história!

As capas que acho mais engraçadas por serem por elas mesmas uma história são as do Urtigão e do Peninha.

Cantiga de amor

Cantiga de amor
--------------
Radio Macau (Oito)


Preferias que cantasse noutro tom
Que te pintasse o mundo de outra cor
Que te pusesse aos pés um mundo bom
Que te jurasse amor, o eterno amor

Querias que roubasse ao sete estrelo
A luz que te iluminasse o olhar
Embalar-te nas ondas com desvelo
Levar-te até à lua para dançar

Que a lua está longe e mesmo assim
Dançar podemos sempre, se quiseres
Ou então, se preferires, fica aí
Que ninguém há-de saber o que disseres


Talvez até pudesse dar-te mais
Que tudo o que tu possas desejar
Não te debruces tanto que ainda cais
Não sei se me estás a acompanhar

Refrão

Podia, se quisesses, explicar-te
Sem pressa, tranquila, devagar
E pondo, claro está, modéstia à parte
Uma ou duas coisas, se calhar

Refrão

2008-05-01

Papá

Hoje o meu filho disse distintamente papá!

Não quer dizer que associe ao seu significado ou a mim, mas uma coisa de cada vez!
:-)

2008-04-30

Inserir ficheiros na BD

Recebi este pedido de ajuda via email na última semana que penso ser util expôr aqui:

2008-04-28

Convite do CUP

No dia 14 de Maio (21.00h), o CUP – Clã Universitário do Porto – promove num espaço aberto do Dolce Vita, a projecção de um filme com debate no final.
Será o filme – O homem que plantava árvores.


Um pequeno clipe do filme

2008-04-24

Fun stuff using google images

Using google imagens Grant Robinson made some interesting projects:
- A game where you have to guess the word that got 20 images.
- A wallpaper construction using 20 images from a user query to google images.

2008-04-23

Novos professores

Depois da recente polémica sobre o papel dos professores aqui ficam umas reflexões :-)



2008-04-18

Session Date format

To alter the varchar ouput/input of date fields for a session use something like:

alter session set NLS_DATE_FORMAT='MM/DD/YYYY HH24:MI';

2008-04-16

versão digital do Oracle Magazine May/June 2008

Encontra-se disponível a versão digital do Oracle Magazine de May/June 2008

A questão mais usual sobre Oracle

A questão que me estão muitas vezes a perguntar quem toma conhecimento com a DB Oracle é:
Como criar uma coluna "autonumber"?
Vou então responder....

1. Criar uma sequência

create sequence <tabela>_seq;



2. Criar um trigger na tabela

(versão Oracle inferior à 11g)

CREATE OR REPLACE TRIGGER <tabela>_I
BEFORE
INSERT
ON <tabela>
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
begin
select <tabela>_seq.nextval
into :new.<coluna> from dual;
END;


se versao =11g ou superior

CREATE OR REPLACE TRIGGER <tabela>_I
BEFORE
INSERT
ON <tabela>
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
begin
:new.<coluna>:=<tabela>_seq.nextval;
END;



Actualização: este post foi traduzido para inglês e actualizado

2008-04-10

Expressões idiomáticas

As expressões idiomáticas são expressões que não podem ser traduzidas à letra por serem expressões típicas de uma língua.
Para se poder traduzir uma expressão idiomática, é necessário arranjar uma expressão equivalente no sentido em que está é dita.
São estas expressões que me fazem verificar da qualidade de tradução de um livro ou programa de TV.

Por exemplo a expressão inglêsa it's raining cats and dogs teria como tradução literal "está a chover cães e gatos", mas não é esse o sentido da frase! A tradução correcta para português poderia passar também pel o uso da expressãos idiomática "está a chover a cântaros", pois o sentido da frase original é que "está a chover bastante".

Algumas expressões idiomáticas em português:

Andar feito barata tonta
Acordar com os pés de fora
Arrancar cabelos
Arregaçar as mangas
Bater as botas
Bater na mesma tecla
Com unhas e dentes
Custar os olhos da cara
Comprar gato por lebre
Chover a cântaros
Dar uma mãozinha
Dor de cotovelo
Dar com a lingua nos dentes
Engolir sapos
Estar com cara de caso
Enquanto o diabo esfrega um olho
Fazer tempestade em copo d'água
Fazer um negócio da China
Fazer das tripas coração
Fazer vista grossa
Fugir a sete pés
Fechar a sete chaves
Fazer das tripas coração
Ir por água abaixo
Mandar bocas
Meter o pé na argola
Meter a pata na poça
Não chegas aos calcanhares de ...
Pôr no olho da rua
Ser um zero à esquerda
Ter macaquinhos no sótão
Ter a cabeça na lua
Tirar o cavalinho da chuva
Virar a casaca
Voltar à vaca fria

(está última eu farto-me de usar :-))
Já agora alguém sabe de onde apareceu a expressão "fugir a sete pês"?

Caricatura

Hoje deixo-vos uma caricatura que me fizeram em coisa de 3 minutos à exactamente 3 anos (abril de 2005). Acho que por ser rápida não ficou muito bem mas quem me conhece poderá dizer da sua justiça.
(Quem não me conhece pessoalmente poderá comparar com a fotografia que consta do meu perfil :-) )

2008-04-09

O velho e o seu neto

No meu site tenho uma área com histórias para pensar mas ultimamente não tenho tido tempo para o actualizar e colocar coisas num blog é muito mais fácil...
Fica assim aqui uma história (acho que conhecida mas mesmo assim valiosa) para pensar

-------------------
O velho e o seu neto
(Irmãos Grimm - tradução de Ana Maria Machado)

Era uma vez um velho muito velho, quase cego e surdo, com os joelhos a tremerem. Quando se sentava à mesa para comer, mal conseguia segurar a colher. Derramava a sopa na toalha e, quando, afinal, acertava na boca, deixava sempre cair um bocado pelos cantos.
O filho e a nora dele achavam que era uma sujidade e ficavam com repugnância. Finalmente, acabaram por fazer que o velho se sentasse num canto atrás do fogão. Levavam-lhe a comida numa tigela de barro e – o que era pior – nem lhe davam o bastante.
O velho olhava para a mesa com os olhos compridos, muitas vezes cheios de lágrimas.
Um dia, as suas mãos tremeram tanto que ele deixou cair no chão a tigela e ela quebrou-se. A mulher ralhou com ele, que não disse nada, só suspirou.
Comprou depois uma gamela de madeira muito barata e era aí que ele tinha de comer.
Um dia, quando estavam todos sentados na cozinha, o neto do velho, que era um menino de quatro anos, estava a brincar com uns pedaços de pau.
— O que é que estás a fazer? – perguntou o pai.
O menino respondeu:
— Estou a fazer uma gamela, para o pai e a mãe poderem comer quando eu crescer.
O marido e a mulher olharam-se durante algum tempo e desataram a chorar. Depois disso, trouxeram o avô de volta para a mesa. Desde então passaram a comer todos juntos e, mesmo quando o velho derramava alguma coisa, ninguém dizia nada.

2008-04-07

Mulher Falção

Hoje recordei um filme da minha juventude. Esteve durante muito tempo na minha lista dos meus melhores filmes (ainda lá está mas um pouco mais abaixo :-)).

2008-04-04

Pérola!

Estando à procura de outra coisa encontrei esta pérola.
Um grupo vocal espectacular!
Apresento-vos o "The Real Group" da Suécia



Outras músicas dos mesmos













E vejam o que fazem nestes dois Medleys :-)



E que tal uma música clássica? Aqui fica Mozart somente em vozes!


E para acabar que tal um improviso? o último faz mesmo rir!! Em Opera!

Estrada

Estrada
Letra de Mafalda Veiga
----

Meu amor não quero mais palavras rasgadas
Nem o tempo cheio de pedaços de nada
Não me dês sentidos para chegar ao fim
Meu amor...Só quero ser feliz

Meu amor não quero mais razões para apagar
O que nasce e renasce e nos faz acordar
A loucura faz medo se for medo o teu chão
Mas é ar e é terra dentro do coração
É ar e é terra dentro do coração

Meu amor não quero mais silêncio escondido
Nem a dor do que cai em cada gesto ferido
Quero janelas abertas e o sol a entrar
Quero o meu mundo inteiro dentro do teu olhar
Eu quero o meu mundo inteiro dentro do teu... olhar

E hoje, vê a estrada é feita para seguir
E hoje, sente a vida feita de sentir
E hoje vira do avesso o mundo e vê melhor
Deste lado é mais puro...É teu...É tão maior
Deste lado é mais puro... É meu... É tão maior

Para ouvir

Obrigado, Senhor por tudo

No coro cantamos esta canção que o meu amigo A. faz o solo.
A nossa versão é um pouco diferente da original: não cantamos a parte entre /* ... */
(notação dada por ser programador :-))

Titulo da música: Tu dizes
Letra: David Teixeira Música: Tarcízio Morais
Originalmente incluído no CD "N'Ele - Uma celebração de vida" da Edições Salesianas 2005

2008-04-03

Aliança eterna

Aliança eterna entre tu e eu


Na pobreza ou na riqueza, te amarei
na saúde ou na doença, eu te amarei,
na tristeza ou na alegria,
na tormenta ou na paz,
antes de tudo e sobre tudo, te amarei.

Tu me amarás, eu te amarei,
aliança eterna entre tu e eu.
Tu me amarás, eu te amarei,
até que a morte nos una mais.


Nas horas boas ou nas más, te amarei,
no pecado ou na graça, te amarei,
na noite ou no dia,
na força ou na fraqueza
antes de tudo e sobre tudo, te amarei.

Tu me amarás, eu te amarei,
aliança eterna entre tu e eu.
Tu me amarás, eu te amarei,
até que a morte nos una mais.

2008-04-02

How to check the stdout of a java inside the database?

To see the java stdout in the output (making it work as dbms_output.put_line) use the following command before calling the java code

exec DBMS_JAVA.set_output(1000000);

2008-03-28

True colours

I see your true colours
Shining through
True colours
And that's why I love you
Don't be afraid to let them show
Your true colours,
True colours, are beautiful...

You with the sad eyes
Don't be discouraged
Oh I realize
It's hard to take courage,
In a world full of people
You can lose sight of it
And the darkness, inside you
Makes you feel so small

And I see your true colours
Shining through
Your true colours
And that's why I love you
So don't be afraid to let them show
Your true colours,
True colours, are beautiful
Ooh Like a rainbow

Show me a smile,
Don't be unhappy, can't remember
When I last saw you laughing
If this world makes you crazy
And you've taken all you can bear,
Just call me up,
Because you know I'll be there

And see your true colours
Shining through
Your true colours
that's why I love you
So don't be afraid to let them show
your true colours,
True colours are beautiful,
Ooh Like a rainbow


Such sad eyes,
Take courage now,
Realize

When this world makes you crazy
And you've taken all you can bear
Just call me up
Because you know I'll be there

And I see your true colours
Shining through
Your true colours
that's why I love you
So don't be afraid to let them show
your true colours
True colours, true colours

Are shining through
I see your true colours
And that's why I love you
So don't be afraid, just let them show
Your true colours, true colours
True colours
True colours are beautiful,

So beautiful, like a rainbow

Yeah, Yeah, (Yeah, Yeah), Yeah(Yeah)

Show me your colours (Show me your colours),
Show me your rainbow (Show me your rainbow),

Show me your colours,
Show me your rainbow
that's why I love you

show me your colours
show me your rainbow
that's why I love you

2008-03-21

Ruca

Eu sou o rapazinho
embora pequenino
tenho muito tino
Sou o Ruca...

2008-03-20

Best Practices PL/SQL (1)

There are several documents and also a book by Steven (with 2 editions that have some differences) about Best and Bad practices on PL/SQL.

The major contributions are from that book and recently from Gojko

I will in this topic show my best practices.
For now I will present then with no specific order (for instance importance), but maybe later I will compile then in some order.

2008-03-19

Kitaro

Hoje deu-me vontande de ouvir Kitaro.

Deixo-vos hoje estas músicas instrumentais que ajudam a relaxar a mente.


Office Orchestra: A Mozart symphony

Dia do Pai

Este é o meu primeiro dia do Pai com a graça de ser pai.
O meu francisco de 6 meses e meio deu-me um grande presente: deixou os pais dormirem 6 horas seguidas!

2008-03-18

SIMPLE_INTEGER

As I expected the new SIMPLE_INTEGER in Oracle 11g is faster than the previous integers datatypes.

As I had already mentioned in a previous post this new type has a NOT NULL constraint (cannot have null value) and wraps (does not give an overflow error).

What I was not expecting was that I needed to change the compilation type to native to see that speed improvement (in the default compilation mode (INTERPRETED) the improvement is not that great :-( ).

ALTER SESSION SET PLSQL_CODE_TYPE = 'NATIVE'; (default is INTERPRETED).

Of course that (changing to native compilation) is the first thing a person should do in 11g (specially in prodution)!
Why?
Without the need of an external C compiler and filesystem storage area and a faster than 10g native compilation this is the natural way to have a production system and even a developement and test system. (Ok it can make a very small delay when compiling but I did not notice it).

Do great coding with this two tips :-)!

Jogos com música que me marcaram

Hoje lembrei-me de uma música que aparecia num jogo chamado "INCA" que disponibilizava no CD as músicas para serem ouvidas num leitor de música.


Tendo descoberto a música no YouTube reparei que lá também havia outra, que se tornou emblemática, de num dos primeiros jogos para PC em CD: : "7th Guest", cuja história é somente um pretexto para a resolução de quebra-cabeças (tipo puzzles, labirintos, etc.). Também este diponibilizava no seu segundo CD uma pista com as músicas do jogo para se ouvir num leitor de música. O único contra era que estando tudo na mesma pista eu tinha de fazer "fast-forward" para a que gostava mais.



Descobri também um sitio na net com todas as músicas deste jogo. A que eu gostava mais é a terceira.


Este outro também tinha uma música carateristica: Lost Eden

Calendário Cósmico

Para quem não se recorda ou é demasiado novo este é uma parte da séria "Cosmos" de "Carl Sagan", divulgador cientifico e autor também do livro de Ficção Cientifica "Contacto" que deu origem a uma filme.


A humanidade tem somente a ultima hora e meia e somente temos registos (história) dos últimos 10 segundos do ano. E pensamos que somos os donos de tudo? da terra, dos seus recursos e mesmo do universo?

2008-03-14

Certificados de Reforma: a quem interessam?

Da informação da DECO:

No âmbito da reforma do sistema público de segurança social o Governo criou os Certificados de Reforma, conotados erradamente como PPR públicos ou do Estado. Não são PPR, pois, o enquadramento legal é distinto. E, ao contrário do que o nome possa dar a entender, nada tem a ver com os Certificados de Aforro, há pouco tempo tão sacrificados na fórmula de cálculo do seu rendimento.
Com efeito, os Certificados de Reforma não têm qualquer liquidez e é um investimento de longo prazo. O investidor apenas tem acesso à poupança na reforma. São unidades de participação de um fundo de capitalização criado pelo Estado, semelhante ao Fundo de Estabilização Financeira da Segurança Social (FEFSS), que permite a cada trabalhador constituir um complemento de reforma, tanto mais elevado quanto mais cedo aderir ao regime e mais alta for a taxa de entregas pela qual optar.
E, como se trata de um fundo, o capital não está garantido, nem há qualquer diferenciação face ao perfil de risco do subscritor. Do ponto de vista fiscal, os PPR são mais vantajosos. Com os Certificados de Reforma, se pretende usufruir do benefício fiscal máximo terá que ter um salário elevado: cerca de 7292 euros, se descontar 2%, ou 3646 euros, se descontar 4%. Com um PPR, basta entregar entre 1500 a 2000 euros este ano, consoante a idade, para beneficiar da dedução máxima. Contudo, falta saber até quando se manterão estes benefícios fiscais…
Assim, estes Certificados de Reforma poderão interessar a quem está mais perto da reforma e tem salários elevados, o que não será certamente a maioria dos portugueses!


Ainda bem que temos um governo de esquerda :-) se fosse de direita nem quero imaginar quais seriam as benesses para os pobres dos portugueses que ganham somente isso por mês!

Um jogo muito aditivo

Ontem encontrei um jogo que é de acesso livre e que é muito interessante e desenvolve as capacidades de atenção e matemática.
Tipo tetris ou quatro em linha temos numero de cada vez a descer no ecrã de jogo, e o nosso objectivo é juntar-los de modo a dar uma dada soma (no inicio é 9, depois 11, etc.). Sempre que obtemos a some pretendida os números alteram a sua cor (numa escala conhecida) até chegarem a vermelho, e se ai forem usados noutra soma "arrebentam" e dá-se a queda dos numero que se encontram acima. Tentem!
DropSum

Do mesmo estilo também gosto do FruitsFall e do Ages of Japan.

Bom fim de semana e bons momentos de lazer

2008-03-06

Lei da vida

Há uma verdadeira lei da vida
escondida em cada coisa,
lei que move os astros do céu
num concerto de harmonia.

A terra canta nas cores da natureza,
canta na natureza. (x2)

O dia deixa espaço à noite, por amor.
A noite saúde o dia, por amor.
Do mar sobe a água ao céu, por amor.
E água desce do céu ao mar, por amor.
A planta dá as folhas à terra, por amor.
A terra dá de novo as folhas, por amor.
A semente cai à terra e morre, por amor.
E a vida germina do sulco da morte, por amor.

Esta é a lei eterna, lei de Deus.
Um Deus que por amor, criou cada coisa
e escondeu o amor sob o aspecto de morte e de dor.

Há uma verdadeira lei da vida
escondida em cada coisa...

2008-02-28

Os melhores livros, discos e filmes ?

A Fnac faz 10 anos e publicou uma lista dos melhores livros, discos e filmes da última decada.

Gostos não se discutem mas acho que seleccionar nos 100 melhores filmes (e a única presença de desenhos animados) "os Simpsons" deixa de fora muitos outros filmes que ganharam óscares. E depois Borat?

Como em muitos casos penso que esta somente é uma forma da FNAC tentar vender alguns títulos.

RETURNING in DELETE statement

Today I found out that we can use the RETURNING clause also in a DELETE statement (not only in an INSERT or UPDATE statement).

DELETE <table or expression> <alias>
WHERE <where_clause>
RETURNING <exprs> INTO <data_items>;

As with the others DML statement types the RETURNING clause will to return the rows affected by the statement and can only be used with single tables, regular views based on a single table and materialized views.

It's a feature that I never needed but its very interesting.

2008-02-25

Free books links/ Links para Livros gratuitos

Livros gratuitos (por já serem de conteúdo livre)
Free books (due that the content is now free due to experation of copyright
Virtual books online
Virtual Book Store Livros de autores Brasileiros Brazilian Books
Many Books um monte de livros em mais de 50 línguas disponíveis em diversos formatos e livros audio
Several books in more that 50 languages and audiobooks
Project Gutenberg mais de 30000 livros disponíveis
More than 30000 books available
Free Speculative Fiction Online
Page by Page books

2008-02-21

BULK into confusing error messages

You are making a select statement into a BULK collection and you can get one of these error confusing messages

ORA-00947 not enough values
ORA-00913 too many values


What is the meaning of each one of these errors?

PLS-00320 in the definition of a record

Today I got this error when defining a record type:

PLS-00320: the declaration of the type of this expression is incomplete or malformed

TYPE trec_logins IS RECORD (
login gi_logins.login%TYPE,
id gi_logins.ID%TYPE,
estado gi_logins.status%TYPE,
gi_person gi_person.name%TYPE
);


What is the reason for this error?
In this case the reason was that you can't define as a record atribute name the same name as a table that is used in the definition of some atribute of the record (i.e. gi_person).

2008-02-20

Lei das demonstrações

The first law of demos: never try to actually use the system for anything; simply step through a well-rehearsed script that does not touch anything that might cause a crash


A 1ª lei das demonstrações: nunca tentes usar o sistema para alguma coisa; simplesmente percorrer passo a passo o teu script muito bem ensaido e testado e não toques em nada que possa originar um "crash".

Também pode ser visto como um corrolario da Lei de Murphy para as demonstrações.

Já agora mais uma: se pensas que tem bateria suficiente no teu portátil, pensa outra vez!

Erros no design de aplicações

Jakob Nielsen apresenta num novo artigo o seu top 10 de erros no design de aplicações.

Jakob concorda com o paradoxo do utilizador activo que apresentei num post anterior:

The most common way to get usability wrong is to listen to what users say rather than actually watching what they do

most users won't read a lot of upfront instructions


A reter deste artigo:
no one should be allowed to work on an application unless they've spent a day observing a few end users

Jakob's Law is "users spend most of their time on other websites," then Jakob's Second Law is even more critical: "Users have several thousand times more experience with standard GUI controls than with any individual new design."

If you can't meet the recommended response time limits, say so, and keep users informed about what's going on

Error messages are a special form of feedback: they tell users that something has gone wrong. We've known the guidelines for error messages for almost 30 years, and yet many applications still violate them.

Even if users deliberately seek out a new app, they often approach it without a conceptual model of how it works

Too many applications (...) offer(...) features that reflect the system's internal view of the data rather than users' understanding of the problem space.

It's almost always wrong to have a Reset button on a Web form.


Para além desse artigo aconselho também a leitura do Top Ten Mistakes in Web Design.

bom design para todos

2008-02-18

Indiana Jones

Depois de um fim-semana cansativo mas com alguns momentos divertidos começo a segunda-feira por ver o trailer do novo (e ultimo filme) do Indiana Jones!
Aqui fica ! e Boa Semana!

2008-02-12

Database Cluster information

Script to get the database cluster information:

SET SERVEROUTPUT ON

BEGIN
IF DBMS_UTILITY.is_cluster_database
THEN
DBMS_OUTPUT.put_line ('Clustered');
DBMS_OUTPUT.put_line ( 'Connect to instance:'
|| DBMS_UTILITY.current_instance
);

<<instances>>
DECLARE
ltab_instance_table DBMS_UTILITY.instance_table;
li_instance_count PLS_INTEGER;
BEGIN
DBMS_UTILITY.active_instances
(instance_table => ltab_instance_table
,instance_count => li_instance_count
);

FOR i IN 1 .. li_instance_count
LOOP
DBMS_OUTPUT.put_line ( ltab_instance_table (i).inst_number
|| ' = '
|| ltab_instance_table (i).inst_name
);
END LOOP;
END INSTANCES;
ELSE
DBMS_OUTPUT.put_line ('Not Clustered');
END IF;
END;


Output example:

Clustered
Connect to instance:1
1 = orainst1:ORA1
2 = orainst2:ORA2
3 = orainst3:ORA3

General Elevator 5 e 6

Episódio 5


Episódio 6


Actualização: foram actualizados os videos pois o local original já não funciona.

Vai uma pausa?

Três pequenos musicais humoristicos:

"A short musical about workers who become agitated when they discover their food missing from the office refrigerator."
Lunch Misérables

"(...) demonstrates the importance of protecting our children from dangerous online predators"
Web Site Story

Senator Craig's New Music Video

versão digital do Oracle Magazine March/April 2008

Encontra-se disponivel a versão digital do Oracle Magazine de March/April 2008

Links for Oracle

In sequence of a previous post with links to Steven Feuerstein related resources I leave here some of my list of Oracle links.

History of Oracle

Metalink Official support (extra cost)

Oracle Technology Network(OTN) articles, sample code, downloads, forums

AskTom forum by Thomas Kyte

Oracle Magazine

Oracle database official documentation

Oracle Server Technologies Curriculum online tutorials

Oracle Express Edition Free Version of the DB

Free Development Environments
APEX
SQL Developer
JDeveloper

2008-02-11

Count Rows in each table

Sometimes we what to know which is the table that has more rows.
That could be archived easily by the following query

select table_name, num_rows FROM user_tables ORDER BY num_rows desc nulls last

Cuidado com pagamentos MB na ZARA ou via UNICRE

Já é noticia de Novembro passado mas eu não sabia


Fica aqui o aviso!

PL/Vision: new version needed?

I have a new goal. To try to put PL/Vision at a new stage: an 10g and 11g version.

I try to install it in my 10.2 version and I got a compilation error.
For now here are the changes I made in the code

Compilation error:
comment line 50 and 51 of PLVEXEC package specification
-- no_such_table EXCEPTION;
-- PRAGMA EXCEPTION_INIT (no_such_table, -942);


Unnecessary code:
comment line 162 of PLVEXEC package body
-- ELSIF code_in = -942 THEN RAISE PLVexc.no_such_table;
comment line 350, 351 of PLVEXEC package body
-- logit BOOLEAN := FALSE;
-- showit BOOLEAN;

2008-02-07

O paradoxo do utilizador activo

Hoje nos meus 15 minutos que tento dedicar todos os dias a lera algo de novo descobri o seguinte artigo "Paradox of the Active User" (PDF) de Carroll, J.M. e Rosson, M.B. datado de 1987 e ai usei um pouco mais de tempo (não perdi tempo :-), antes investi tempo!).

O artigo baseia-se nas conclusões que os autores retiram da utilização de software (no caso em estudo um processador de texto) por diversos utilizadores aliada a varioes outros estudos.
Nesse artigo os autores apresentam o paradoxo dos utilizadores activo que realmente serão dois :-). Resumidamente, o paradoxo é apresentado como os utilizadores poupariam tempo se gastassem tempo a aprender mais sobre o sistema. Isto é poderiam poupar mais tempo, se fizessem aquilo que naturalmente evitam: ler a documentação!.

Os utilizadores nunca lêem o manual e a ajuda! Começam imediatamente a usar o software!
A sua motivação é logo fazer algo no sentido das suas tarefas. Não querem saber das opções de tutorial e seguir uma curva de conhecimento estabelecida.
Os desenhadores de software não devem assim ter uma ideia idealizada do utilizador racional, já que na realidade o utilizador é irracional. Deveremos basear o desenho na maneira que os utilizadores realmente agem, e observar mais o seu comportamento com o software do que eles dizem ou reportam.

"(...)what we see in the learning-to-use-a-computer situation is that people are so busy trying things out, thinking things through, and trying to relate what they already know (or believe they know) to what is going on that they often do not notice the small voice of structured instruction crying out to them from behind the manual and the system interface."

"Learners at every level of experience try to avoid reading."

Já experienciei isso muitas vezes, mesmo em sessões de apresentação e testes de sistemas.

Uma versão em HTML do artigo.

Mudam-se os tempos




2008-02-04

Surpresas do PACKAGE diutil

Hoje descobri este pacote, diutil, que tem entre os seus constituíntes estas pérolas:

diutil.bool_to_int( b BOOLEAN) RETURN NUMBER -- Booleano de 3 estados para inteiro (1=True, 0=False , null=null)
diutil.int_to_bool( n NUMBER) return BOOLEAN -- inverso to diutil.bool_to_int

Phil Collins

Na sexta-feira à noite estive a ver/ouvir com o meu filho (francisco) de 5 meses o DVD de Phil Collins "Finally - The First Final Farewell Tour".
Muito bom!

Ficam aqui alguns videos do DVD que encontrei no youtube.

"Against All Odds"


(e já agora o video clip original do filme...gosto devido a ter estado em alguns locais da filmagem)


"You'll Be In My Heart"


"One More Night"


True Colors ....brilhante!


"Come with me"


"Wear My Hat" um espéctaculo!


"Groovy Kind of Love"