terça-feira, abril 21, 2009

Curso de Project Management

Apesar de estar a ser um curso pós laboral até está a ser bastante interessante de se assistir. A primeira coisa que pensei foi - "Bolas isto a seguir a um dia de trabalho vai doer e o relógio vai parecer que para!".

Nada disso, o curso até está a ser bastante motivante e divertido, a pessoa que lecciona o curso estruturou-o de forma a ser dado de uma forma mais agradável visto ser em horário pós laboral. No fundo fazemos bastantes actividades (para mim são jogos) que consistem em simular situações reais para a partir delas tirarmos as conclusões e aprendermos a teoria. O engraçado destas actividades é que têm sempre problemas escondidos de modo a nos dificultarem a tarefa de uma forma desafiante. Sem dúvida está a valer a pena.

quinta-feira, abril 16, 2009

Hostel

Para quem gosta de filmes de terror, como eu, ontem estive a ver dois filmes que valem a pena apesar da baixa pontuação que ambos têm. Os filmes são Hostel e Hostel II, e devem ser vistos seguidos porque podiam formar um só filme.

A distribuidora dos filmes é a Lions Gate Films, conhecida por fazer filmes de terror como o Saw (para mim o melhor filme de terror que já vi), e o produtor é o Quentin Tarantino que dispensa qualquer tipo de apresentação ou comentário. Acho que isto só por si é um bom motivo para dar uma "espreitadela" nestes filme.

segunda-feira, março 30, 2009

Má altura para comprar casa

Quem tiver a pensar em comprar casa agora porque a Euribor está baixa, desengane-se é mesmo a pior altura possível.

À cerca de 2 anos atrás quando a Euribor estava alta e a galopar para os seus valores mais altos, os bancos faziam optimos spreads, porque se não era impossível fazer empréstimos, nessa altura os spreads chegávam a ser de 0,2%. Hoje em dia quem conseguir um spread de 1% já se pode considerar felizardo, porque com a Euribor em mínimos históricos os bancos aproveitam-se para subir o spread, por outras palavras, a sua margem de lucro.

A explicação é que os mercados ainda estão instáveis e que existe insegurança na atribuição de crédito, mas existe um facto os incumprimentos contratuais dos devedores não têm vindo a aumentar, logo a teoría que o spread aumentou para compensar os incumprimentos cai por terra.

O problema de quem for pedir crédito agora é que apesar da Euribor estar baixa ela vai voltar a subir, não acredito que chegue aos valores que já esteve, mas certamente vai voltar a subir alguns pontos percentuais. Se nessa altura somarmos o spread que se está a praticar actualmente (normalmente o spread é fixo ao longo de todo o contrato) à Euribor vamos obter uma prestação igual ou superior à que se praticava no Outono do ano passado.

quinta-feira, março 26, 2009

Oh meu Deus...

Ainda bem que não sou católico, se não deixava de ser ao ver tal fanatísmo num assunto que nada tem a ver com religião. No comments...

quinta-feira, março 19, 2009

Sou um pesado!

Estive em Linhares da Beira onde encontrei esta placa engraçada...

Será que me posso considerar um pesado visto que passei naquela estradinha? Será que um pesado passaria ali? E já agora porquê dos ligeiros não poderem passar na ruela?

sexta-feira, março 13, 2009

Deficiencia da API do Paysafe

Ao fim de 3 dias de volta do Paysafe consegui aprender relativamente bem como utilizar a API do Paysafe e implementei uma solução que possibilita aos clientes da minha aplicação fazerem pagamentos através do Paysafe card.

Até fiquei espantado 3 dias foi mesmo muito pouco para quem não sabia nada do Paysafe, e isto porque, porque até existem exemplos muito simples de seguir e boa documentação disponibilizada pela Paysafe.

Até aqui tudo bem, o problema foi quando tentei passar para ambiente de produção. O meu ambiente de desenvolvimento é Windows/.NET, ambiente de produção é Linux/Mono, toda a aplicação funcionava em ambos os mundos e é uma aplicação com alguns milhares de ficheiros escritos em C#.

Conforme tento chamar os serviços do Paysafe levo com uma excepção:
Paysafecard.Client.PaysafecardException: Incorrect value in
configuration file. ---> System.DllNotFoundException: crypt32.dll
Vou ver que ficheiro é o crypt32.dll e descubro que é uma dll criptográfica nativa de Windows. Ok 3 dias para implementar era muito rápido, tinha de surgir algum problema. Contactamos a Paysafe para resolver o problema, visto que em .NET existem bibliotecas criptográficas que têm compatibilidade total com o Mono e seria com essas bibliotecas que o código ficaria bem feito e portável para qualquer ambiente.

Resposta foi: "Ah e tal nunca testamos essa siuação, se quiserem ter um ambiente em Linux usem a implementação de Java para comunicar com a Paysafe."

A minha vontade foi responder: "Estão a brincar comigo, não? Vocês são uma empresa com centenas de clientes, somos os primeiros a ter este problema? Eu tenho todo o meu código feito em C# e tudo funciona bem, NÃO vou fazer um módulo em Java só porque meteram um trolha a programar a vossa API."

Pelo menos podiam ter disponibilizado o código fonte da API deles que em último caso fazia eu o código, mas não, além de um código coxo querem que eu implemente também uma solução coxa.

terça-feira, março 03, 2009

6ª feira 13...com o Leonardo DiCaprio

Ontem fui ao cinema ver o 6ª feira 13, o novo remake, e quando começa o filme a seguir aos traillers e publicidade aparecem umas cenas com o Leonardo DiCaprio, perguntas: "Que raio...o Leonardo DiCaprio não entra no 6ª feira 13, pois não? Será que ainda estamos a ver traillers?".

Passado uns minutos lá nos apercebemos que estávamos a ver o Revolutionary Road...o meu amigo lá foi avisar que o filme que estava a rodar era o errado. A luzes acendem-se e ouve-se da sala de projecção: "Fod#$%#$, car#$%$#...enganei-me no filme!".

No que toca ao filme, é uma actualização de uma história com 25 anos, a base está lá, a génesis do Jason é a mesma mas agora leva uns upgrades, o Jason já corre, caça de dia, sabe usar arco e flecha, existe GPS e outras tecnologias mais actuais. Mas no fundo o filme continua a ser muito "old school", umas actrizes giraças a espirrar sangue, a guincharem e a morrer a cada 10 minutos, o Jason que é imortal e apesar de ser deficiente metal é mais inteligente do que o resto das personagens.

sábado, fevereiro 28, 2009

Um dia de ira

Ontem não estava mesmo nos meus dias, e parece que tudo estava destinado a irritar-me. Comecemos logo de manhã com o meu rato a não funcionar passado meia hora de liga, desliga, sicroniza frequência, e ele não lhe apetecia funcionar, então promovi-lhe um encontro de 1º grau a alta velocidade com o chão.

À hora de almoço, estava no estacionamento dum centro comercial, quando numa faixa de 1 sentido estava um senhor parado dentro do carro à espera que algum lugar ficasse disponível. Eu vou tentar passar pelo curto espaço que sobrava da faixa e encosto no carro dele. Escusado será dizer que eu até ia pedir desculpa ao senhor e pedir-lhe para ele encostar-se pelo menos para eu conseguir passar. Mas não o homem tinha de sair ao berros do carro, só mesmo para me fazer 'passar da cabeça', então passado meia dúzia de palavras mais acaloradas lá o homem se decide encostar e a deixar-me passar.

Chego a minha casa que está em obras, ou pelo menos deveria estar, e não encontro lá ninguém a trabalhar. Lá telefono ao empreiteiro a refilar por tudo o que era lado porque estávamos no último dia do mês e ele não ia entregar a casa pronta como tinha dito.

Para acabar bem o dia, quando chego a casa a noite, não tinha lugar para estacionar o carro, mas como era habitual estava um carro estacionado totalmente na diagonal, sem respeitar minimamente os riscos de estacionamento e a ocupar dois lugares. Ok, eu também não me tinha corrido bem o dia e ainda decidi embirrar, estacionei atrás do carro a bloquear-lhe a saída porque se aquilo era espaço para estarem 2 carros deveriam lá estar 2 carros. Passado uma hora lá oiço apitar, era a senhora dona do carro que deve ter tirado a carta por correspondência. Deixei-a sofrer uns 10 minutos e depois fui tirar o carro, claro que antes outra vez uma boa discussão com o filho dela também ao barulho a quererem ter razão.

Bem, há dias assim...

quinta-feira, fevereiro 19, 2009

Parâmetros por referência em C#

Se não tivermos atenção ao que fazemos às vezes podemos apanhar algumas partidas. Vamos analisar um caso simples de modo a poder demonstrar que pequenas alterações podem conduzir a resultados finais totalmente diferentes.

      static void Main(string[] args)
      {
          IList list = new List();
          IList list2 = new List();
          IList list3 = new List();

          list.Add("a");
          list2.Add("a");
          list3.Add("a");

          AddToList(list);
          AddToList2(list2);
          AddToList3(ref list3);

          Console.WriteLine("List 1 count = {0}", list.Count);
          Console.WriteLine("List 2 count = {0}", list2.Count);
          Console.WriteLine("List 3 count = {0}", list3.Count);
      }

      private static void AddToList(ICollection list)
      {
          list.Add("b");
          list.Add("c");
      }

      private static void AddToList2(ICollection list)
      {
          list = new List();
          list.Add("b");
          list.Add("c");
      }

      private static void AddToList3(ref IList list)
      {
          list = new List();
          list.Add("b");
          list.Add("c");
      }
O objectivo é acertar nos valores que vão aparecer no output da consola. Sabendo que em C# as listas são passadas por referência vamos analisar o código de modo a perceber qual vai ser o output.

No primeiro caso à lista que é passada no parâmetro são adicionados mais dois elementos, logo é espectável que o seu count seja 3, pois a referência da lista está a ser partilhada dentro e fora do método.

No segundo caso antes de se adicionarem os elementos à lista está a haver uma nova referenciação, logo a referência à qual estão a ser adicionados os 2 elementos é à referência interna do método, logo fora do método a referência manterá só 1 elemento.

No último caso ao ser colocada a palavra reservada ref, estamos a dizer que a referência é partilhada tanto dentro como fora do método, ou seja, tudo o que fizermos ao objecto inicial dentro do método irá ser repercutido para fora do mesmo. Com isto podemos concluír que no output a list3 terá 2 elementos.

terça-feira, fevereiro 10, 2009

Windows 7 Starter - limite de 3 aplicações

Ao que parece por este artigo uma das versões no Windows 7 vai só permitir ter até 3 aplicações (não de background) a correr em simultâneo, a minha pergunta é, quem tem só 3 aplicações a correr ao mesmo tempo, por mais simples que o trabalho seja?

Ok já percebi, em vez de ler e-mail recebe-se cartas, em vez de ouvir música no computador têm-se um IPod, em vez de ler as notícias na internet temos o jornal ao nosso lado, não custa nada é só pensar no que acontecia à 20 anos atrás :)

É pá se queriam sacar mais dinheiro ao pessoal em versões mais poderosas, nem se deviam de dar ao trabalho de construir estas versões que nem o 'Magalhães' tem interesse em ter.