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.

sexta-feira, fevereiro 06, 2009

Uma vista sobre o Guincho

Realmente a Serra de Sintra e o Guincho conseguem proporcionar pequenas maravilhas, pena foi que o tempo não estava grande coisa para as fotos sairem melhores. As fotos foram tiradas do miradouro da peninha que é um dos pontos mais altos da Serra.


segunda-feira, fevereiro 02, 2009

Gran Torino

A minha dúvida é a seguinte: Será que o Clint Eastwood não sabe dirigir maus filmes?

Sem dúvida mais um filme muito acima da média que será um forte concorrente a Óscares, uma história profunda com uma interpretaçãoespetacular por parte do Clint Eastwood. A história tem um tema simples, como um velho rabujento pode contribuir para a comunidade em que se integra e mais particularmente para a formação de um jovem.