sábado, fevereiro 24, 2007

Corrida nocturna

Depois de mais um dia de trabalho mentalmente cansativo o que me apetecia mesmo era dar umas braçadas para relaxar, mas quando chego à natação espanto o meu, a piscina estava fechada porque ía haver um meeting.

Vou para casa e como não tinha descarregado as energias, decidi ir fazer uma pequena corrida, 20:40 saiu de casa e vou em direcção ao paredão. Ao chegar ao paredão o ar tornou-se dificilmente respirável para quem estava em esforço físico, a humidade era imensa. Mas esta é a melhor parte, porque estava tanta humidade? Apesar de estar maré baixa, as ondas elevavam-se a uma altura incrível e em quase todos os sítios cobriam o paredão de água, é algo realmente notável e espetacular a força que o mar demonstra.

Quase uma hora depois chego a casa, cansado e pronto a tomar um merecido banho relaxante.

sexta-feira, fevereiro 23, 2007

Cast dentro do where em SQL

Este problema foi descoberto por um colega meu (obrigado Sérgio), mas como achei interessante vou aproveitar o mail que ele me enviou para explicar o problema.


Ao fazer um SELECT em que seja usado um CAST no WHERE, separar em dois selects: um primeiro que faz todas as outras validações e guarda o resultado numa variável do tipo tabela, e outro que pega nesses resultados e aplica a condição com o CAST. Ou seja, em vez de:
SELECT A.ID, A.Tipo, A.Valor
FROM A
WHERE A.Tipo = 'TipoDeValorSeguroParaFazerCast'
AND CAST(A.Valor AS FLOAT) > 0
passar a:
DECLARE @TABELA_TEMP table (ID bigint, Tipo varchar(30), Valor varchar(50));
INSERT INTO @TABELA_TEMP

SELECT A.ID, A.Tipo, A.Valor
FROM A
WHERE A.Tipo = 'TipoDeValorSeguroParaFazerCast'
SELECT ID, Tipo, Valor
FROM @TABELA_TEMP
WHERE CAST(A.Valor AS FLOAT) > 0

Assim evitam-se erros obscuros de CAST em algumas situações, em que se fazia CAST a tudo, inclusive entradas que não obedeciam a 'TipoDeValorSeguroParaFazerCast'... Claro que isto não é assim tão simples, e provavelmente só acontece em combinações específicas de índices e joins entre tabelas, etc., mas como regra geral é preferível prevenir.

terça-feira, fevereiro 20, 2007

Quem paga é o mexilhão

Segunda-feira, véspera de feriado, vou ter um dia calmo pensava eu...não podia estar mais enganado! Chego ao trabalho e tinha um mail da chefia onde quase era chamado de incompetente, onde entre outras coisas se dizia que já tinha dado um bug por corrigido 2 ou 3 vezes e o chato do bug não era exterminado.

"OK acalma-te, hoje nem direito a café tens". Começo a fazer uma análise detalhada dos problemas expostos e cheguei a duas conclusões. Para quem sabe alguma coisa de base de dados facilmente percebe os problemas:

  1. Uma unique key significa que um dado campo não pode ter valores repetidos, se tentarmos inserir valores repetidos dá erro;
  2. Não se pode modificar ou remover algo que já não existe, se o tentarmos fazer nenhuma alteração obtemos.
Eu como programador do frontend com os utilizadores é que tenho culpa da má utilização que lhe dão, pois claro, é como dizer "é pá o meu carro só tem 100km e já está estragado a culpa é da marca que fabricou o carro, lá por eu ter andando os 100km em primeira sempre com as rotações no máximo isso não quer dizer nada".

quinta-feira, fevereiro 08, 2007

C# Lambda expressions

As Lambda expressions são uma nova adição disponível no C# 3.0. Após ler vários artigos espalhados pela internet, vejo que a maior parte deles incara as lambda expressions como simples syntactic sugar, sendo os próprios exemplos bastante redutores. Deixo aqui um link para um artigo que eu acho que se destaca, e que tem de ser lido com algum cuidado para se conseguir "digerir" toda a informação inerente. http://blogs.msdn.com/ericlippert/archive/2007/01/10/lambda-expressions-vs-anonymous-methods-part-one.aspx Este é o primeiro artigo de um conjunto de 3, nos quais se vão introduzindo progressivamente as potencialidades das lambda expressions.

terça-feira, fevereiro 06, 2007

Até breve a mais um

Parece que os meus amigos, por um ou outro motivo, começaram com a febre de emigrar. Primeiro o Gonçalo que foi trabalhar para os paquetes, depois a Anocas que foi trabalhar para a World Disney e agora finalmente o Ricardo foi para o Brasil para se casar. A este ritmo daqui a 2-3 anos fico sem amigos...
Boa sorte para todos vocês!

sábado, janeiro 27, 2007

Parabéns

Faz hoje um ano que criei o meu blog, muitas coisas aconteceram desde então algumas melhores outras piores como não podia deixar de ser. Mas numa retropectiva rápida creio que houve evolução para melhor.

Em relação ao blog já me divirto quando vejo alguns dos meus antigos posts, relebro situações e mudanças, o que me deixa com um sorriso nos lábios e a pensar - "O que ainda estará para acontecer?".

A resposta para esta pergunta estará nos próximos posts, por isso não os percam, porque eu também não...(já que estou numa de recordar o passado, esta frase também me faz recuar alguns anos...outros tempos).

sexta-feira, janeiro 26, 2007

Bug no Visual Studio 2005

Este erro pode ser bastante irritante e pode levar a algumas perdas. O erro consiste no seguinte:
  1. Fazer um Window -> Split;
  2. Editar o ficheiro;
  3. Retirar o split das janelas;
  4. Tentar gravar o ficheiro editado.
E "tentar" é mesmo a palavra correcta, pois o VS 2005 dá um erro que nos obriga a reiniciar e não grava as alterações que foram efectuadas, muito chato...

quarta-feira, janeiro 17, 2007

Snooker

Realmente passamos o dia inteiro a trabalhar, logo merecemos algum divertimento depois de sair do trabalho. Foi o que aconteceu ontem, saímos do trabalho e para onde fomos?... Fazer uma "jogatana" de snooker. Muito porreiro os meus colegas de trabalho cada vez mostram que não são só colegas, mas também são amigos. A seguir ao snooker ainda tivemos direito a um jantar estacular de picanha. Grande maneira de acabar um cansativo dia de trabalho.

segunda-feira, janeiro 15, 2007

Maldito carro

O dia até estava a correr bem... mas o meu lindo carrinho lá tinha de fazer das suas. Fui ao Jumbo e quando volto ao carro aquele calhambeque não quis pegar. Ok foi desleixo meu, já há uma semana que ele custava a pegar e não lhe dei ouvidos.

Ainda tentei ligar os cabos à bateria de outro carro mas nada, lá chamei o reboque. Não demorou muito mas tinha de vir um gajo mal educado e arrogante, está bem que era sábado de manhã e ele devia preferir estar na cama, mas só me apetecia esmurrar o homem a cada provocação que saía daquela boca. Agora está o carro outra vez no "médico", é da maneira que faz o check-up para ir à revisão.

quinta-feira, janeiro 04, 2007

Mais uma vergonha nacional em perspectiva

Apesar de ser um amante de desporto e futebol, desta vez não posso estar do lado do dito "desporto rei". Parece que os jogadores não estão satisfeitos com os salários chorudos que ganham e como vão perder o direito ao regime de tributação especial ameaçam com greves. O fundamento que eles usam para terem regime especial é a curta duração da carreira profissional, vamos fazer algumas contas.

Um jogador da primeira divisão ganha em média 10.000€ e trabalha também em média 15 anos. Um trabalhador comum ganhará algo a rondar os 1.000€, ou seja, ganha 10 vezes menos, logo necessitaria de trabalhar 150 anos para ganhar o equivalente a um jogador de futebol. Ok há jogadores que até podem ganhar 500€, mas também trabalham 2-3 horas por dia, enquanto que há pessoas que trabalham 8 horas por dia para ganhar o mesmo.

Por fim ainda oiço pessoas a dizer: "Mas se um jogador não for bem pago e motivado o futebol português morre". É pá a minha única resposta é que troco meias finais de campeonatos do mundo, por uma qualidade de vida melhor para todos os portugueses e uma saída de uma vergonhosa posição na cauda da união europeia.