segunda-feira, dezembro 22, 2008

Death Race

Não sei se este filme foi inspirado em algum vídeo jogo, mas se não foi pelo menos daria um bom tema para um jogo.

É um filme de pura acção sem grande história, puro divertimento a ver explosões, tiros, murros, destruição e violência gratuita. Agora fico à espera que façam o jogo porque não foge muito a alguns títulos já existentes, e com o marketing que o filme possibilita acredito que seria um jogo com algum sucesso.

segunda-feira, dezembro 15, 2008

Baptismo de mergulho

Ontem fiz o baptismo de mergulho em piscina e "curti à brava", aquilo é mesmo muito giro e se houvesse vida subaquática como acontece em mar aberto então devia ser um espetáculo.

Gostava bastante de fazer agora o curso de mergulho, mas este ainda é um hobby caro para o meu bolso, por isso vai ter de esperar algum tempo mas logo que tenha disponibilidade financeira tenho intenções de fazer o curso e comprar o equipamento básico.

Já agora, obrigado aos meus colegas que me proporcionaram esta manhã agradável porque podiam ter ido fazer mergulho para o mar e ficaram a aturar uma dezena de "caramelos" na piscina a dar-lhes o baptismo de mergulho.

terça-feira, dezembro 09, 2008

Taken

Apesar de não ser um filme com um tema novo, foi o filme que mais me agradou nos últimos tempos e estou cada vez mais difícil de agradar a nível de filmes, acho que a crise não é só financeira a nível de qualidade cinematográfica parece que também temos andado em crise.

O Taken é uma mistura de Man On Fire e Human Trafficking, por isso digo que não é nada de novo, no entanto é um filme de acção moderno e com uma interpretação excelente do Liam Neeson.

sexta-feira, novembro 28, 2008

Preço do gasóleo

Só tenho uma coisa a dizer - "Que bom ir pôr gasóleo e voltar ver o contador dos litros a andar mais depressa que o contador dos euros a pagar!!!"

segunda-feira, novembro 24, 2008

Frankfurt - Brower Games Forum 2008

Este post vai ser um pouco mais longo do que é o meu normal, mas é porque há muito para dizer. Estive este fim-de-semana no evento Browser Games Forum 2008 em Frankfurt, que é um dos maiores eventos a nível mundial sobre jogos para browser, não fosse a Alemanha também um dos maiores produtores deste tipo de jogos.

Sexta-feira a noite cheguei a Frankfurt já era por volta das 21h locais dirigi-me para o comboio que é uma das coisas boas que eles têm é o comboio a passar junto ao aeroporto, quando foi a primeira surpresa que apanho, o comboio era uma geringonça velha tipo os nossos comboios de a 20 anos atrás.

Saí do comboio mesmo no centro da cidade, o equivalente ao Rossio em Lisboa e começo a procurar pelo metro que me iria levar ao hotel, bem gostaria de ter alguém para perguntar informações mas a cidade quase parecia abandonada. Outra coisa engraçada, haviam bicicletas estacionadas por tudo o que era sítio, eu a pensar para mim - "Isto devia ser em Lisboa que as bicicletas eram todas roubadas!".

Cheguei ao metro, vou à máquina de tirar os bilhetes e começo a procura pela estação que queria sair na lista interminável de locais que tinham na máquina, mas não consegui encontrar a paragem, passados 2-3 minutos lá aparece um senhor oriental com um inglês muita macarrónico que ajudou a tirar o bilhete.

Ao entrar na estação do metro começo a observar tudo à minha volta, só conseguia comparar aquela estação de metro com uma estação de metro lisboeta antes da Expo 98, que coisa tão desactualizada. Mas não acabou por aqui, vem o metro que mais parecia um daqueles electricos com meio século de existência. Por isso quando pensarem, tal como eu muitas vezes, que o nosso país é desactualizado lembrem-se de exemplos como este, e Frankfurt é uma das maiores cidades alemãs.


Mas falando das coisas boas, os transportes haviam sempre com bastante regularidade, mesmo de noite e com pouquíssimas pessoas na rua. No dia seguinte passei o dia na conferência onde encontrei pessoas extremamente simpáticas, não tanto como os portugueses diga-se de passagem que somos muito mais hospitaleiros, mas foi óptimo para ver o quão evoluído eles são a nível de jogos, a diferença de mentalidade e o enorme mercado que eles representam. Pena foi que algumas apresentações foram em alemão e com slides em alemão, mesmo assim o google é nosso amigo e lá ia traduzindo os slides para tentar apanhar alguma coisa nessas apresentações.

Nessa noite a seguir às apresentações quando ia para o metro passei pelo parque da cidade quando fiquei quase de boca aberta quando vejo dezenas de coelhos a correrem de um lado para o outro no meio do jardins, quase se pode comparar com os pombos que existem em Lisboa, e não nos esqueçamos que em Frankfurt de noite as temperaturas são negativas.

A quantidade de arranha céus que existe em Frankfurt é que é impressionante, pelo que me disseram é a cidade europeia com mais arranha céus, apesar de não ser uma cidade muito grande a nível de área.

No dia seguinte a conferência foi só de manhã e até chegámos atrasados à primeira apresentação, porque o checkout do hotel demorou um bocadinho mais, mas foi giro entrar a meio da apresentação e o orador dizer algo como -"Se não se importarem vou continuar a apresentação em inglês em vez de alemão que chegaram os nossos convidados internacionais" - sim, senti-me importante! Entre uma conversa com uma pessoa na conferência, falei sobre o metro que naquela interminável lista que estava na máquina de bilhetes, não conseguia nunca encontrar a estação que queria sair, foi quando me disseram que a máquina não tem o nome das estações mas sim o nome das ruas... ai ai ai, estes gajos são mesmo complicados foi o que pensei.

Finalmente quando entro no avião desata a nevar, após 3 dias sem cair nada começa a nevar exactamente na altura que entro no avião, primeira sensação, pena porque não é um fenómeno que aconteça cá em Portugal e gostava que tivesse acontecido enquanto estava na rua, segunda sensação, vamos lá a arrancar se não o avião ainda fica cá retido por causa do mau tempo. Mas pronto lá arrancámos e o resto da viagem foi bastante calma. Conclusão final, foi uma viagem bastante enriquecedora tanto a nível profissional e profissional apesar de ter sido apenas de três dias.

terça-feira, novembro 18, 2008

A cor do dinheiro

À algumas semanas que tenho andado a acompanhar este programa que dá as 23 horas, às segundas feiras na RTPN. Na minha opinião é um excelente programa, especialmente tendo em conta que estamos num país onde existe ainda muito pouca educação financeira na maior parte da população, e que ainda existem pessoas sem mentalidade de poupança ou que vivem mesmo acima das suas possibilidades contraindo múltiplos créditos.

Não é que eu seja um típico investidor, mas pelo menos educo-me em alguns conceitos que para mim eram turvos, consigo pelo menos perceber as possibilidades que tenho quando pretendo investir o dinheiro de modo a retirar a melhor rentabilidade, e também a perceber as possíveis consequências negativas de um mau investimento.

quarta-feira, novembro 12, 2008

Paginação em queries MySql

Infelizmente esta é uma funcionalidade que não existe em todos os tipos base de dados, porque realmente dá imenso jeito e tem uma sintaxe bastante fácil de utilizar. Então a sintaxe é a seguinte:

SELECT * FROM TableXPTO
WHERE columnName = 'XPTO'
LIMIT 20, 10

O que vai acontecer é que serão retornados 10 tuplos começando no tuplo 20. Se por exemplo quisermos uma paginação de 10 tuplos/página, estaríamos a receber os 10 tuplos da 3ª página com esta query.

quarta-feira, novembro 05, 2008

Obrigado Barclays, mas não!

Realmente as campanhas do Barclays ou são feitas por economistas tótós ou então são direccionadas propositadamente a pessoas menos capazes, o que me leva a dúvidar da ética destas campanhas. Ontem ligaram-me do Barclays e a conversa foi algo do género:

Barclays - "Por acaso tem crédito habitação?"
Eu - "Sim tenho noutro banco."
Barclays - "Por acaso não quer fazer uma simulação no Barclays? Se decidir mudar o Barclays suporta todos os custos."
Eu - "Por acaso fiz simulação com vocês e a proposta que me apresentaram era bem pior do que a que tenho, e em relação a custos de mudança os bancos actualmente suportam esses custos, não é só o Barclays."
Barclays - "Mas agora temos uma super promoção está interessado em ouvir?"
Eu - "Sim não custa nada ouvir..."
Barclays - "Suponho que o seu crédito esteja indexado à Euribor, e como sabe a flutuação da mesma pode fazer com que a sua prestação aumente, a proposta do Barclays é taxa fixa durante 1 ano a 4,75%, que acha?"
Eu - "Peço desculpa mas essa promoção é totalmente inútil, as previsões são que a Euribor desça durante o próximo ano, e até que pode chegar a descer até aos 4% no início do ano que vem, por isso essa é uma promoção para o Barclays e não para os cliente!"
Barclays - "Ok, já percebi que a nossa proposta não lhe agradou! Tem mais alguma dúvida que deseje esclarecer?"
Eu - "Não obrigado, até à próxima."

terça-feira, novembro 04, 2008

Saw V

Ontem à noirte fui ver o Saw V, e para mim está brutal cada vez sou mais fã desta saga. Está bem que tem uma pontuação baixa no IMDB, mas estou totalmente de desacordo com essa pontuação, há pessoas que podem dizer que é mais do mesmo, mas o facto é que é mais no mesmo que já era bom. Novos puzzles, novas intrigas, novas personagens e tudo isto com interligação aos filmes anteriores, até parece que quando escreveram o guião do 1º filme já estavam pensadas todas as sequelas.

Talvez se possa dizer que o Saw é o Pesadelo em Elm Street moderno, muitas mortes, muito sangue, muitas punisões, mas o que acontece é que a linha do Saw é muito mais inteligente, as morais da história existem, e não se pode dizer que é melhor porque a industria cinematográfica evoluiu muito desde o Pesadelo em Elm Street, é melhor porque as ideias por detrás do filme são melhores e essas mesmas ideias já poderiam ter aparecido num filme à 20 anos atrás que o resultado seria o mesmo.

segunda-feira, novembro 03, 2008

3º Grande Prémio da Actividade Física

Realizou-se ontem o 3º Grande Prémio da Actividade Física, que basicamente é uma iniciativa da câmara municipal de Cascais, na qual são abertas as portas do Autódromo do Estoril de modo a que as pessoas possam circular em veículos não motorizados ou então simplesmente a pé.

Foi algo bastante familiar onde se podiam encontrar várias gerações no puro convívio e onde encontrei diversas pessoas conhecidas, algumas que já não via a algum tempo. Mas o mais porreiro mesmo eram as actividades que podíamos experimentar.
  • Laser Tag: Muito mais porreiro que paint ball, não existem aquelas coisas de acertarmos no adversário e ele não se acusar, não é necessário usar a mascara irritante, etc;
  • Bicicletas horizontais: por acaso não sei o nome disto, mas é uma bicicleta rente ao chão com um acento tipo carro, com uma roda traseira e duas junto aos nossos braços, que é onde se encontra o guiador, e a pedaleira fica numa posição mais adiantada e elevada em relação a essas rodas dianteiras. Parecíamos umas criancinhas no circuito a 'sacar' peões.
  • Triciclo/Trotinete: mais uma vez não sei o nome da coisa, mas é uma trotinete, sem motor, com guiador, e duas mini plataformas com rodas ligadas ao guiador onde se colocam os pés.

segunda-feira, outubro 27, 2008

Moda e loiça sanitária

Aparentemente são duas coisas distintas...NÃO...após vários dias a escolher loiça apercebi-me que até se cruzam em vários pontos quando ouço frases como -"Este modelo é da colecção de 2008" ou -"Este modelo está agora muito na moda"...mas o que é que é isto? Aquilo deveria ser só um sítio para fazermos as nossas necessidades!

Nunca pensei que fosse tão complicado escolher loiça sanitária, mas ao fim de pesquisar em meia dúzia de lojas, consegui seleccionar alguns modelos e comparar preços entre as diferentes lojas. Esta coisa de andar a fazer obras e escolher material é mesmo chato, a única vantagem é que ficamos com uma casa personalizada ao nosso gosto.

quinta-feira, outubro 23, 2008

Ciclo de eventos no ASPX

Uma das coisas mais chatas no ciclo de eventos, é o evento de click de um botão acontecer só depois do OnLoad. Então que fazer quando no OnLoad precisamos de saber se um botão foi pressionado? O truque para conseguir esta informação no OnLoad é ter um hidden field que é afectado pelo evento de client click do botão.

Código no ASPX:
<asp:button id="filter" onclientclick="JSFilter()" onclick="Filter" runat="server">

Código no code behind:
protected override void OnInit(EventArgs e)
{
   Page.ClientScript.RegisterHiddenField("filterChange", "");
}
protected override void OnLoad(EventArgs e)
{
   base.OnLoad(e);

   string arg = HttpContext.Current.Request.Form["filterChange"];
   if (arg == "1")
   {
       //A lógica que se quiser se o botão foi pressionado
   }
}

Código de Javascript:
function JSFilter(){
  var hidden = $('filterChange');
  hidden.value = 1;
}
Quando o botão é pressionado o javascript é executado colocando o valor do hidden field igual a 1 (estou a usar mootools no javascript, mas poderia usar um get por id, sem usar o mootools). Quando entro no evento OnLoad verifico se o valor do hidden field é 1, se for é porque o botão foi pressionado.

sexta-feira, outubro 17, 2008

Orion's Belt 2.0 - Alpha

Após as dificuldades que tivemos no final da semana passada na criação de um ambiente num servidor de teste, desde o inicio desta semana que o Orion's Belt 2.0 - Alpha está no ar e a funcionar sem grandes problemas, tirando alguns bugs ocasionais, mas essa é mesmo a definição de uma versão alpha.

Temos recebido opiniões e ajudas muito interessantes dos jogadores que já se encontram a experimentar o jogo, e vamos aproveitar algumas delas para que o jogo seja construído como base no que a comunidade gostaria mais de ter. Obrigado a todos aqueles que nos estão a ajudar!

terça-feira, outubro 07, 2008

Google Chart

Ontem pela primeira vez andei de volta disto e ao contrário do que me disse o Pedro Santos, o Google Chart não me pareceu assim tão intuitivo. Ok que fazer um gráfico simples são 3 parâmetros e voilá já temos um graficozito, o problema é quando se quer personalizar alguma coisa tudo se torna confuso. Ao fim de 3 horas lá surgiu algo idêntico à imagem seguinte.

Google Chart Example

Alguns dos problemas que senti:
  • Os exemplos de transparências não funcionam e não consegui fazer transparências de todo, se alguém já conseguiu e tem um exemplo funcional agradecia a ajuda;
  • A posição de alguns parâmetros da query string tem influência no resultado final;
  • A documentação não é explicita em todos os casos e às vezes não se sabem todas as opções dentro de cada parâmetro e que faz cada uma delas;
  • Existe redundância na passagem de parâmetros, por exemplo, no gráfico que mostrei tive de colocar três vezes o número 2000.

sexta-feira, outubro 03, 2008

Estatísticas das provas europeia

Encontrei este site que deduzo que seja holandês com todas as estatísticas das provas europeias, organizado tanto por clubes como por países. O site está constantemente a ser actualizado com os novos resultados, ao ponto dos jogos que se realizam dum dia já estarem disponíveis para estatística no início do dia seguinte.

quarta-feira, outubro 01, 2008

Dropdown com submenus

No outro dia necessitei de fazer o seguinte controlo, e apesar de nunca o ter feito antes com submenus até é algo bastante simples:



Código:
<select id="groupType">
 <option value=""> </option>
 <optgroup label="Resources">
  <option value="1">Intrinsic</option>
  <option value="2">Rare</option>
 </optgroup>
 <optgroup label="Units">
  <option value="4">Ships</option>
  <option value="8">Light</option>
  <option value="16">Medium</option>
  <option value="32">Heavy</option>
  <option value="64">Ultimate weapon</option>
 </optgroup>
</select>

terça-feira, setembro 30, 2008

Guitar Heroes

Este fim de semana experimentei o jogo Guitar Heroes e aquilo é um verdadeiro vício, e eu não sou um fã guitarras acho até que seria dos últimos instrumentos que experimentaria tocar. Mas o jogo está interessantíssimo, aplica o conceito de sincronização física que até já está super explorado em outros jogos (expecialmente casual games), mas agora aplica-o à variável guitarra o que torna a experiencia de jogar muito mais engraçada.

Mas o jogo pode tornar-se extremamente difícil e depois de pensar que so aliens ou polvos conseguiriam tocar algumas música, tipo Through the Fire and Flames dos Dragon Force, vejo certos vídeos no youtube como o seguinte:



Este é o vídeo da música original, quando vimos os dedos dos guitarristas até parece que estamos a ver o vídeo em fast foward, impressionante, mas ver vídeos de pessoas comuns a tocar isto no Guitar Heroes é igualmente impressionante. Agora gostava de experimentar este conceito mas na bateria, vamos lá ver de tenho hipótese.

sexta-feira, setembro 19, 2008

O conceito de Scrum

O Scrum é basicamente uma metodologia ágil de desenvolvimento de software. Hoje fui a um evento no qual se debateu a importância e aplicabilidade do Scrum, e fiquei com a sensação que é só aplicável num mundo ideal. Apesar de ser um conceito interessante que se pode tentar aplicar na maior parte das situações, em projectos de alguma dimensão dificilmente trará o efeito desejado.

O Scrum tem como principal pilar a equipa e a boa capacidade que os diversos elementos que a compõem têm para desenvolver um produto, ou partes do produto designados por "Potentially shippable product increment". Porque digo que o Scrum é bom no mundo ideal, porque é difícil ter uma equipa que funcione bem, que seja composta sempre pelo mesmos elementos, que os elementos estejam só agregados a um projecto, que não haja necessidade de colocar mais pessoas ao longo do projecto, etc.


A grande vantagem do Scrum é o pouco desperdício de tempo caso as coisas corram para o torto pois as iterações são curtas (2-4 semanas como se vê na imagem). O fluxo é facilmente explicável, começam-se por ter os requisitos (Product backlog), que são divididos em vários pacotes de requisitos em que cada pacote tem que original uma possível release, sendo que os pacotes são ordenados pela prioridade das tarefas. Cada pacote (Sprint backlog) é dividido pelos diversos elementos da equipa e durante o periodo de tempo extipulado (Sprint), o tal tempo a rondar as 2-4 semanas tem de surgir um Potentially shippable product increment.

Na minha opinião o Scrum não é nada de novo, aliás é só um nome pomposo para algo que todas as equipas de desenvolvimento de software tentam implementar a nível da sua organização, a própria equipa que componho tenta seguir este esquema desde à bastante tempo, mesmo sem saber que tal metodologia tinha um nome.

quinta-feira, setembro 18, 2008

Frequentar ginásio

Nos últimos 2 dias fui experimentar uma das cadeias de ginásios mais conceituadas a nível nacional, mas acho que ainda não desta vez que me conseguiram convencer das vantagens de frequentar um ginásio.

Em relação a passadeiras e a bicicletas, totalmente inúteis, para fazer aquilo vou correr ao ar livre ou andar de bicicleta para a serra, muito mais saudável e não estou feito parvo parado no mesmo sítio, claro que para algumas pessoas como por exemplo o amigo que estava comigo, isto tem algumas vantagens porque como ele dizia - "Aqui gosto de fazer mas lá fora não tenho paciência para o fazer...". Em relação à máquina de remo sim gostei de fazer, mas é a tal coisa, gostei porque é mais complicado fazer remo ao ar livre.

Em relação aos pesos, definitivamente é um não, não é da minha natureza estar ali a fazer força só porque sim, para isso ia trabalhar para as obras, para o campo, ou para algum sítio onde tivesse de fazer força física e mesmo assim estavam-me a pagar para eu me esforçar e não eu a pagar.

Salvou-se então o jacuzzi, o banho turco e a sauna que são três coisas que tenho pena de não ter mais facilmente disponíveis. Conclusão, vou manter-me no me desporto de eleição que é a natação, que na minha opinião é muito mais completo e apesar de geralmente a meio da época me sentir "farto", continua a ser a forma de exercício físico que mais me estimula.

quinta-feira, setembro 11, 2008

Prison Break - Season 4

Sem dúvida que esta é a minha série de eleição no meio de muitas outras, pela inteligência das personagens, as mudanças do rumo da história, a trama por detrás de tudo, os segredos envolvidos, etc.

Cada vez que está para começar uma season nova eu só espero que o nível se mantenha ,e que não acabe por acontecer como outras séries que a qualidade vai decaindo até a coisa estar mesmo já a um nível intragável. Devo dizer que a season 4 até agora está uma brutalidade, é incrível como os guionistas conseguem revitalizar a história com ideias novas a cada nova temporada.

Agora é pay back time para todas aquelas personagens que se viram tramadas nas seasons anteriores e realmente promete muito, e mais uma vez estou com a sensação que depois disto não há mais nada para contar e que esta será a última season, vamos lá ver se sou surpreendido no final e ainda vão arranjar um novo volte fase interessante para a história para que ela tenha continuidade.

quarta-feira, setembro 10, 2008

Regresso de Lance Armstrong

Parece que deixou de ser boato e está confirmado pelo próprio Lance o seu regresso ao ciclismo de alta competição. Aparentemente irá correr pela equipa Astana (grandemente constituida pela sua ex-equipa a Discovery Channel), e irá participar nas provas: volta à Califórnia, no Paris-Nice, na Volta à Geórgia, no Dauphine-Libere, para além claro da volta a França.

Como grande fã do Lance por tudo o que já conseguiu a nível pessoal e profissional espero que esta participação não seja já tardia e não se venha a tornar uma mancha na sua brilhante carreira, por maus desempenhos ou até mesmo por casos de dopping.

Podemos ver que a concorrência não é assim tão forte e a própria intermitência de corredores vencedores da volta a França, depois da retirada do Lance Armstrong assim o confirma, mas de qualquer forma existe o Alberto Contador que será companheiro de equipa do Lance e que para mim é o grande ciclista da actualidade e para o futuro próximo. De qualquer forma
o seu retorno será uma grande publicidade para o ciclismo e pode ajudar a revitalizar um pouco a modalidade.

domingo, setembro 07, 2008

Problemas Sociais

Acabei de ver a reportagem da SIC sobre a desertificação do interior português e deixou-me impressionado com a coragem das pessoas que lutam para manterem as suas raízes, sejam elas jovens casais como os próprios autarcas. Percebo melhor agora porque à uns anos atrás o simpático presidente de Portalegre me tentava convencer a mim e a outros jovens a nos mudarmos para Portalegre, apesar de ser uma cidade "grande" para a realidade do interior não deixa certamente de sentir os mesmos problemas.

Realmente é bastante complicado sobreviver sem que haja trabalho onde se possa ir buscar o sustento do dia a dia, onde se possa pagar um empréstimo, onde se possa pagar a educação de um filho, etc. Por muitos apoios que se dêem, na minha opinião, eles não são suficientes nem dão sustentabilidade a longo prazo, é necessário que se veja isto como um grave problema social e se promovam condições para que se criem postos de trabalho para as pessoas que queiram permanecer nos lugares mais remotos do país.

Quando penso nestas e noutras pessoas honestas que lutam todos os dias para sobreviver e ter alguma qualidade de vida, sinto-me revoltado quando vejo milhões a serem gastos com criminosos que nada de bom fazem pela sociedade e que ainda refilam e se recusam a pagar rendas camarárias de 4€-5€.

quinta-feira, setembro 04, 2008

Bitwise em SQL

Por acaso foi uma coisa que nunca tinha feito, mas a sintaxe está bem feita porque até é intuitiva. Imagine-se que se tem a seguinte tabela e os seguintes valores:

Tabela=Teste
Col={8,10,5};

Fazendo:
select * from Teste
where ( 4 & Col ) <> 0

O resultado é igual a {5} pois 0100 & 0101 <> 0

Fazendo:
select * from Teste
where ( 8 & Col ) <> 0

O resultado é igual a {8, 10} pois 1000 & 1000 <> 0, e 1000 & 1010 <> 0

domingo, agosto 31, 2008

Rocky Balboa

Já tinha o filme para ver a algum tempo, mas como tinha outros filmes que me despertavam mais curiosidade e nem sou um grande fã da saga acabei por deixar este filme para mais tarde. Então porque gastar um post a escrever sobre o filme?

Bem, acho que é um filme de análise interessante que se pode dividir em diversas fases distintas. A 1ª fase, é para a mim a mais interessante pois tem profundidade, ocupada a maior parte do filme e é o desenrolar da história até o estado actual da personagem depois das velhas glórias, depois dos bons tempo, a vida é naquele momento um "mar de amargura". Não sei até que ponto a história da personagem Rocky Balboa se assemelha um pouco à história da pessoa Sylvester Stallone em que tenta recuperar glórias antigas, mas mais uma vez isto é só a minha opinião especulativa.

A 2ª fase é a fase do treino onde sem dúvida é mais do mesmo comparado com os antigos Rockys, nada de novo. A 3ª e última fase é a fase "Scary Movie" que é a fase do combate, em que eu se não soubesse que estava a ver o filme Rocky Balboa diria que aquilo eram cenas de um Scary Movie em que estavam a gozar com um qualquer filme do Rocky.

quinta-feira, agosto 28, 2008

A vida de um programador

Há imagens que valem mais que um milhão de palavras:

sábado, agosto 23, 2008

Portugueses nos jogos olímpicos

Muito tenho ouvido e lido sobre o desempenho dos atletas portugueses nos jogos olímpicos, mas ontem ouvi uma declaração que me parece a mais assertiva de todas: "O desempenho dos atletas não foi mau, más sim foram as suas declarações".

Concordo que alguns atletas ficaram abaixo das expectativas, nomeadamente o judo, mas são coisas que acontecem, em todas as provas houveram surpresas e atletas ditos menos capazes inicialmente surpreendem (lembrar o Sérgio Paulinho em Atenas).

Se queremos ganhar mais medalhas temos de nos lembrar que somos um país pequeno e que então temos de trabalhar ainda melhor que países com mais população que o nosso, temos de dar condições para que os atletas possam treinar sem limitações (é ridículo termos casos de atletas que têm de ir trabalhar e no final de um dia cansativo de trabalho ainda terem de ir treinar, isto não é alta competição), temos de criar centros de alto rendimento, tem de haver apoio psicológico aos atletas para não claudicarem em alturas de maior pressão psicológica e temos que exigir dos atletas que vão para os jogos olímpicos com mentalidade ganhadora de pelo menos irem para tentar bater os seus próprios recordes e não com a mentalidade de "ah já é bom termos conseguido o apuramento e estarmos por cá!".

Agora que estão a acabar os jogos olímpicos só espero que nos jogos paraolímpicos, que já não falta muito para começarem, os nossos atletas tenham o excelente desempenho que já nos habituaram.

sexta-feira, agosto 22, 2008

Falta de patriotismo

Apesar de ser benfiquista acho uma aberração a capa de hoje do jornal record, como é possível dar muito mais destaque a uma entrevista com um jogador que ainda nada fez ao invés da enorme vitória do nosso campeão o Nelson Évora?


quarta-feira, agosto 13, 2008

Férias finalmente

Desde Abril do ano passado que não tenho mais de 3 dia seguidos de férias (e nessa altura tive porque troquei de empresa e fiz as coisas para ter uns dias de descanso), logo desde que comecei a trabalhar a full time estas são as minhas primeiras férias na verdadeira ascensão da palavra (e ainda com dias referentes a férias que devia ter tido o ano passado).

Daqui a uma semana e meia estarei de volta com a excitação e ressaca :) das férias, preparado para ter um duro final de ano para ter o Orion's Belt 2.0 pronto até ao início do ano que vem.

terça-feira, agosto 05, 2008

Mudar o default browser no VS

Nem é nada complicado!

1) No Solution Explorer carregar com o botão direito do rato num ficheiro aspx por exemplo (um ficheiro que é visto num browser);

2) Escolher a opção Brose with...;

3) Escolher o novo Default Browser ou adicionar o executável do browser desejado à lista e depois colocá-lo como default browser.

domingo, agosto 03, 2008

Tou a ficar 'cota'!

No outro dia estava no paredão a mergulhar com um amigo, quando ele se virou para mim na altura em que eu estava a subir o paredão depois de ter mergulhado e me disse: "Sabes que disse aquele miúdo ali? Qualquer coisa sobre o cota que se mandou para a água...". Tenho 26 anos dêem-me um desconto...cota...

quarta-feira, julho 23, 2008

Previsão para o final do Tour 2008

Após a última etapa de alta montanha (Alpe d'Huez) e apesar de pessoal gostar mais dos ciclistas ditos trepadores, acho que este ano nenhum deles merece ganhar o Tour porque nunca foram audazes o suficiente para deixar os contra-relogistas para trás. Assim sendo a minha previsão, e vamos ver o quanto vou errar, o pódio do Tour será:

1º Cadel Evans
2º Carlos Sastre
3º Denis Menchov

terça-feira, julho 22, 2008

Delete Cascade

Já sofri por várias vezes o problema de querer apagar um tuplo e não o conseguir porque este tem uma relação com outra tabela, a qual tem um tuplo que o referencia e por isso é necessário apagar primeiro o tuplo que tem a foreign key e só depois o tuplo principal.

Vamos imaginar o seguinte cenário, tenho 3 tabelas: Form, Section e Question; estas tabelas representam formulários onde um formulário tem secções e cada secção tem questões. Para apagar um dado formulário é necessário primeiro apagar as suas secções, mas para apagar uma secção é necessário primeiro apagar as suas questões. O código seguinte possibilita-nos apagar todos os formulários cujo nome é 'xpto':

delete FROM question WHERE sectionid IN
(SELECT sectionid FROM section WHERE formid in
(SELECT formid FROM form WHERE name='xpto'));
GO

delete FROM section WHERE formid in
(SELECT formid FROM form WHERE name='xpto');
GO

delete FROM form WHERE name='xpto';
GO

Este código não é feito com objectivos de desempenho mas sim só com o único objectivo de se atingir o fim proposto que é a remoção de tuplos.

segunda-feira, julho 07, 2008

IPCTN - Última fase

Finalmente o projecto IPCTN (Inquérito ao Potencial Científico e Tecnológico Nacional 2007) está a chegar ao fim, só falta esta última fase de tratamentos de dados e o projecto fica concluído. Apesar de ser um projecto que me diz muito, porque foi o primeiro grande projecto no qual tive um papel também de gestão e foi feito na sua integra com base no Midgard (o meu projecto final de curso), está a chegar a uma fase que gostaria de estar totalmente disponível para outros projectos, outros desafios.

Neste momento a minha motivação é o Orion's Belt 2.0 que está ainda numa versão alpha mas que espero estar pronto até ao final do ano, com muitas novidades e melhorias em relação ao anterior.

sexta-feira, julho 04, 2008

Tatuagens e discriminação

Apesar de se dizer que as tatuagens estão na moda ainda continua a haver muita discriminação com as pessoas que têm tatuagens. Eu falo no que acontece comigo, e esta reflexão surge também pelo que vi ontem no metro quando um rapaz com os braços todos tatuados entrou na carruagem e toda a gente ficou a olhar para ele.

Se ainda consigo admitir comentários de pessoas da idade da minha mãe que dizem - "Se te tivesse conhecido depois de teres as tatuagens não iria olhar-te com os mesmos olhos, ou pelo menos iria demorar mais tempo" - custa-me mais a perceber comentários de pessoas da minha idade. Tenho um amigo na natação, da minha idade, que há uns tempos me revelou o que pensou da primeira vez que me viu - "Ena aquele gajo com tatuagens, que 'granda manfias' que deve ser, a ver se não sou ainda roubado!".

É pá eu sou a mesma pessoa com ou sem tatuagens, é só uma forma de arte que por acaso está desenhada no meu corpo, será difícil perceber que uma tatuagem não muda a personalidade de uma pessoa?

quarta-feira, julho 02, 2008

Derivação de interfaces e o Resharper

Parece que isto são duas coisas que não se dão lá muito bem. Fiz algo do género:
public interface IBase
{
void BaseMethod();
}

public interface IDerivation: IBase
{
void DerivationMethod();
}

public class Implementation: IDerivation
{
...
}
A seguir crio um objecto:
IDerivation obj = new Implementation();

E fico espantado quando faço obj. e o Intellisense não me é mostrado o BaseMethod destacado a negrito (numa primeira fase nem reparei que ele lá estava). Ao princípio ainda pensei que fosse problema meu - "será que estou a ver mal o filme e tenho de fazer um cast explicito para IBase" - mas ao mesmo tempo não me fazia sentido porque isto ia contra as regras de herança. Bem, o problema é do resharper que não mostra os métodos de uma interface derivada em destaque na listagem do Intellisense.

terça-feira, julho 01, 2008

Obter a parte decimal em c#

Por acaso nunca tinha necessitado mas pensava que existiria algo de framework que nos possibilitasse obter a parte decimal de um double. Bem aparentemente não existe nada, e o que encontrei na net achei um pouco complexo demais para a simplicidade do problema em si, logo fiz eu o seguinte código que acho não ser nada complicado e funciona em todas as situações (pelo menos as que testei).

public static int GetDecimalPart(double value)
{
  int number = (int) value;
  string numbString = number.ToString();
  int stringLength = numbString.Length;
  return Int32.Parse(value.ToString().Substring(stringLength+1));
}

segunda-feira, junho 30, 2008

Elegância Vs Desempenho

Na maior parte das vezes fazer código elegante (que seja extensível, de fácil manutenção, etc) e com bom desempenho é a mesma coisa que por duas pessoas em extremos opostos de uma corda a puxarem para seu lado.

A minha filosofia em relação a este assunto é que os problemas de desempenho podem ser numa primeira fase postos um pouco de lado, a não ser que se saiba à partida que estamos a fazer um pedaço de software que necessita de ter um desempenho optimizado ao máximo. Geralmente os maiores problemas surgem quando o que está feito não é exactamente o pretendido pelo cliente, logo o melhor é ter um código que facilmente se modifique e se adapte a novas necessidades.

Logo a fórmula que uso será 80% para elegância e 20% para desempenho, isto traduzindo na prática é o mesmo que dizer que dou privilégio a um código de fácil extensibilidade e manutenção, mas quando vejo que isso me vai claramente custar no desempenho procuro uma solução alternativa/intermédia.

quinta-feira, junho 19, 2008

SQL - Update com IN

Há vezes que tenho o mau hábito de complicar o que é fácil e este foi um desses casos. O contexto do problema é o seguinte, tenho as tabelas Principal e Secundary que se relacionam através do campo principalId existente nas duas, e quero alterar um outro campo da tabela Secundary condicionando esse update com base na tabela Principal.

O SQL seguinte dá-me as linhas da tabela Secundary que quero afectar:

select * from Secundary as sec1
where sec1.principalId in
(select p.principalId from Principal as pr1
inner join Secundary as sec2 on sec2.principalId = pr1.principalId
where pr1.owner >= 10 and sec2.conditionId = 5)

O select interior estabelesse a relação e condiciona o resultado com base na tabela Principal (pr1.owner >= 10) e na tabela Secundary (sec2.conditionId = 5). Agora (pensava eu) basta passar o select de fora para update e tenho o resultado que quero:

update Secundary as sec1
set sec1.conditionId = 1
where sec1.principalId in
(select p.principalid from Principal as pr1
inner join Secundary as sec2 on sec2.principalId = pr1.principalId
where pr1.owner >= 10 and sec2.conditionId = 5)

Acontece um erro porque não posso usar a tabela Secundary no select, o que se formos a ver faz todo o sentido porque estaria a usar um conjunto mutável para condicionar o seu próprio update o que não faz de todo sentido. Simplificando a coisa obtive o seguinte select cujo resultado é igual ao do primeiro:

select * from Secundary as sec1
where sec1.principalId in
(select p.principalid from Principal as pr1
where pr1.owner >= 10 ) and sec1.conditionId = 5

Passar isto para um update é agora directo:

update Secundary as sec1
set sec1.conditionId = 1
where sec1.principalId in
(select p.principalid from Principal as pr1
where pr1.owner >= 10 ) and sec1.conditionId = 5

quarta-feira, junho 11, 2008

Trabalhar em casa

Há 6 meses atrás comecei a trabalhar em casa e posso dizer que até agora tem sido algo que me agrada bastante, enganem-se aquelas pessoas que dizem que se trabalha menos porque é totalmente mentira, trabalha-se mais mas também temos outras vantagens.

Existem algumas regras que cumpro religiosamente, como a hora que começo a trabalhar, nunca depois das 9h, acho que a principal caracteristica para o sucesso de trabalhos desenvolvidos em casa é mesmo a disciplina que a pessoa tem em cumprir regras que normalmente tem no local de trabalho, onde está a ser "vigiado".

Quanto a vantagens as principais são tempo e dinheiro. Dinheiro, porque não gasto combustível ou passes de transportes, apesar de ir regularmente ao escritório compro bilhetes só para essas alturas o que não é assim um grande gasto. Tempo, porque não perco diariamente 2h30m desnessárias a andar de um lado para o outro e posso aproveitar esse tempo para coisas mais produtivas ou lúdicas.

sexta-feira, junho 06, 2008

tops.zi-yu.com

O Tops é o último site criado pela equipa zi-yu. Este site é um agregador onde se podem registar outros sites fazendo assim parte de uma tabela (top). Existem diferentes categorias já disponíveis mas se for necessário criar alguma nova é só contactarem-nos.

quinta-feira, maio 29, 2008

Multidão estátua

Este foi um 'Apanhados' feito em New York está simplesmente brutal. Pelo que parece querem fazer o mesmo tipo de iniciativa aqui na nossa Lisboa.

quarta-feira, maio 28, 2008

SQL - detectar valores repetidos

Imagine-se o cenário que é a meio do desenvolvimento de uma aplicação uma coluna que não era unique ter de passar a sê-lo, mas ao mesmo tempo temos de manter os dados que já estão carregados na tabela, detectando os que estão repetidos e alterando só esses para cumprir a restrição da coluna ter valores unique.

O script seguinte é um exemplo de como podemos obter os valores repetidos:

SELECT colName, COUNT(colName) AS cnt
FROM tableName
GROUP BY colName
ORDER BY cnt desc

segunda-feira, maio 26, 2008

Stargate Atlantis

Devo dizer que eu era um grande fã do velhinho Stargate SG1, mas acho que deveria ter ficado pela 7ª season, as últimas 3 foram um desastre total uma falta de imaginação dos argumentistas para fazerem bons episódios, já para não falar do último episódio da season 10 que é o último episódio desta série...uma série destas merecia um final melhorzinho!

No que toca ao Atlantis acho que acabou por 'apanhar por tabela', já que o seu lançamento foi coincidente com a season 8 do SG1, logo o meu desinteresse aumentava e eu nunca me fidelizei muito à Atlantis. Contudo nestes últimos dias andei a 'devorar' os episódios da Atlantis e devo dizer que está a um nível tão bom como os primeiros episódios da SG1. A season 5 vai ser lançada no final de Julho ou início de Agosto, estou mesmo a esfregar as mãos já que como é habitual no Stargate o último episódio da season é um 'to be continue' para o 1º episódio da season seguinte. Só peço uma coisa, não arrastem este Stargate até à tortura como aconteceu com o SG1!

segunda-feira, maio 19, 2008

Contra a subida dos preços dos combustíveis

Quando o preço dos combustíveis fui liberalizado, muita gente pensava que a concorrência iria fazer com que os preços descessem, eu sempre pensei que o cartel se iria unir para andarem a subir constantemente os preços, infelizmente eu tinha razão.

Recebi o seguinte mail, com a proposta de uma iniciativa, à qual vou alinhar a 100%:

"1, 2 e 3 de JUNHO DIAS SEM ABASTECIMENTO NA GALP- BP- REPSOL

Eu vou alinhar...Garantidamente.

Vamos fazer a diferença!
Isto tem que começar por algum lado!
Vamos passar a palavra e não ser indiferentes, temos que fazer com que as coisas mudem!
A subida vertiginosa do preços dos combustíveis tem que parar e temos que fazer com que baixem!

Para tal vamos combinar três dias nacionais seguidos de NÃO ABASTECIMENTO NA BP, GALP, REPSOL!

Esses dias serão o 1 -2 -3 de Junho que vem!
VAMOS FAZER A DIFERENÇA!
Nesses dias abasteçam em outros postos de combustíveis tais como a Esso, Total, Continente (antigo Carrefour), Intermarché, Jumbo e Eleclerc!
Juntos teremos força para baixar os lucros destes gigantes!
Agora é só passar a palavra com urgência!
Estou farto de ser levado na hora de pagar!
CHEGA!
SEJAMOS UNIDOS PORTUGUESES E TODOS OS QUE TENTAM SOBREVIVER EM PORTUGAL!

NÃO ESQUEÇAM 1 - 2 - 3 de JUNHO que vem Não Abasteçam na BP, GALP e REPSOL!
*FORÇA PORTUGAL!*

Passem ao maior número de pessoas que conheçam."

terça-feira, maio 13, 2008

Prós e Contras - Apito Final

Acabei de assistir a este programa que nesta emissão teve como tema o processo apito final, tendo a participação de algumas figuras de relevo no panorama desportivo nacional. Uma dúvida me assombrou depois de ver o programa - O que acabei de ver? Uma sessão de circo com um bando de palhaços, um sketch humorístico ou um dia normal na assembleia da república?

segunda-feira, maio 12, 2008

Get MasterPage

O código para obter a MasterPage de uma página é algo bastante simple, basta numa página que esteja a utilizar uma MasterPage fazer o seguinte:

SiteMaster thisMaster = this.Master as SiteMaster;

Contudo não me agrada o cast explícito que necessito fazer, pois a propriedade Master retorna um objecto do tipo System.Web.UI.MasterPage, porque será que esta propriedade por reflexividade não obtem o type da MasterPage e não retorna logo um objecto correctamente tipado? Seria muito mais útil e tornaria o código mais "limpo" e menos sujeito a erros.

quinta-feira, maio 08, 2008

O que sinto falta da adolescência?

Ontem estava com os meus colegas da natação quando surgiu este tema de conversa, é engraçado ver que cada um de nós sentia falta de coisas diferentes da altura em que era adolescente; ser estudante, ter imenso tempo de férias, sair com os amigos, etc.

Eu por outro lado sinto falta de uma coisa muito simples...desresponsabilização! Quando era adolescente niguém nem algo dependia de mim, além de eu próprio, logo os meus actos ou a falta deles só me afectariam a mim, não é que não necessitasse de ser responsável mas as consequências da minha falta de responsabilidade eram diminutas. Será que muito mais pessoas sentem isto?

terça-feira, maio 06, 2008

Iron Man - o filme

Ontem à noite fui ao cinema ver o filme depois de já ter ouvido muita gente falar bem dele. A minha opinião confima a da generalidade das outras pessoas, o filme está bastante bom, sem dúvida é o filme de super heróis cuja história está mais conseguida, mais profunda, apesar de não poder dizer se a adaptação ao cinema é boa pois não conheço a fundo a história original.

Quando olhei para o actor que ia desempenhar o papel de Iron Man achei que não se encaixava bem na personagem, que não era o actor com aspecto de super herói, depois de ver o filme mudei totalmente de opinião, o actor encaixa perfeitamente até nas flutuações de personalidade da personagem.

terça-feira, abril 22, 2008

Download video youtube em mp4

Este método é bastante simples e permite-nos converter para mp4 os videos do youtube.
  1. Ir para o youtube, para o video que se pretende converter
  2. Copiar para a barra de endereço o seguinte link (botão direito em cima do Link -> "Copiar Link"): Link
  3. Ao lado do video a imagem deverá mudar para algo parecido com a imagem seguinte, aparecendo o link Download as MP4 (right-click and select Save link as).

  4. Fazer ctrl+Z na barra de endereços para voltar a aparecer o endereço do vídeo no youtube
  5. Carregar em Download as MP4 e já está!

domingo, abril 20, 2008

Nightwish no coliseu dos Recreios

Sem dúvida foi uma noite de desejos, ou melhor, de matar desejos pois os Nightwish ao vivo era algo que já queria ver a muito, ainda por cima consegui um lugarzinho mesmo ao pé do palco. O espetáculo começou com os quase desconhecidos Pain, desconhecidos para mim porque pelo que deu para ver já tinham uma pequena legião de fãs. Na sua última música os Pain aliaram-se aos Nightwish no que foi a primeira grande ouvação.

De seguida o grande espetáculo os Nigthwish levaram o coliseu ao rubro, sempre interagindo e pedindo o apoio do público criando uma simbiose que acho essencial em qualquer espetáculo. Infelizmente só tenho fotos tiradas com telemóvel que não fazem justiça ao ambiente que estava.



A lista das músicas tocadas foram:
  • Bye Bye Beautiful
  • Dark Chest of Wonders
  • Whoever Brings the Night
  • The Siren
  • Amaranth
  • The Islander
  • The Poet and the Pendulum
  • Dead to the World
  • While Your Lips Are Still Red
  • Sahara
  • Nemo
  • 7 Days to the Wolves
  • Wishmaster
  • I Wish I Had An Angel
Por acaso a última música foi uma agradavel surpresa, não estava de todo à espera que a tocassem porque acho que é uma música muito vincada pela voz da Tarja (antiga vocalista), mas não sou daqueles que faz comparações entre as duas vocalistas são ambas boas apenas têm estilos diferentes.

Incrível também era o género de pessoas que foi ver o concerto, esperava um público tipicamente gótico, fãs de metal, etc, mas quando chego 1h30m antes do concerto e vejo duas mega filas com famílias, pessoas já de média idade, vestidas com fatos, apercebi-me que os Nightwish conseguiam atingir uma larga faixa de público.

Resumindo: Parabéns, grande, grande, grande concerto, voltem que estarei lá outra vez!!!

sexta-feira, abril 18, 2008

Rename do code behind

Espero que o visual studio 2008 já não sofra deste problema porque no 2005 é um bug bastante irritante. Imagine-se que se quer renomear um ficheiro .aspx ou .master que têm code behind, através do visual studio podemos renomear mas o code behind parece que está protegido numa redoma e não se consegue renomear. Solução: renomear o ficheiro no explorer e entrar no ficheiro de projecto do visual studio e alterar o xml à mão.

quarta-feira, abril 16, 2008

Divisão programática

Este post nasce de uma burrice minha porque olhei para um pedaço de código simplesmente com olhar matemático, o código exemplo é o seguinte:
       int total = 40000;
       int toDiv = 100;

       double var1 = (toDiv/total)*100;
       double var2 = (toDiv*100/total);
       double var3 = (double)toDiv / total * 100;

       Console.WriteLine("Valor1 = {0}", var1.ToString("0.000"));
       Console.WriteLine("Valor2 = {0}", var2.ToString("0.000"));
       Console.WriteLine("Valor3 = {0}", var3.ToString("0.000"));
       Console.Read();
Quando estava a fazer o meu algoritmo fiz algo idêntico ao que está em var1, uma divisão é um valor e pronto, não há nada de extraordinário pensei eu, resultado da divisão 0,000. Ok o valor é demasiado baixo pensei eu e a divisão arredonda para 0.

Não contente com a estupidez original aqui vai mais outra a da var2, se o valor é pequeno faço a multiplicação primeiro e assim o dividendo já é maior já não irá dar 0 pensei eu, resultado um 0,000, equivalente a 'és um 0 à esquerda'.

Finalmente olhei para aquilo não como mau matemático que sou, mas como programador e aí apareceu o código do var3, o problema é estar a dividir duas variáveis do tipo int cujo resultado também é um int que só na afectação é convertido para double implicitamente. Logo o truque é forçar que uma das variáveis seja um double para o resultado da divisão ser um double. Ai, ai, ai às vezes tenho destes dias...

terça-feira, abril 15, 2008

Novo acordo da língua portuguesa

Não é que seja um mestre da escrita, aliás bem longe disso, mas não concordo de todo com as novas alterações à escrita. Ok é bom que todos os países de expressão portuguesa escrevam da mesma maneira mas bolas, o português vem de Portugal logo a uniformizar a escrita seria com base na nossa. Não é que seja racista, não tenho nenhum problema contra brasileiros, angolanos, etc, mas a lingua portuguesa é originária de Portugal.

Sim sou agarrado à minha cultura, às minhas tradições e sou um patriota por muito que esta nação me desiluda, já que é para uniformizar mais valia aprendermos todos mirandês ou mesmo latim. Quanto a mim vou continuar a escrever: "É óptimo ter a percepção dos nossos actos e acções!"

segunda-feira, abril 14, 2008

Falsos criadores

Como criador de aves que sou no verdadeiro significado da palavra, irritam-me aquelas pessoas que se dizem criadoras quando no fundo são simples vendedoras de aves. Conheço pessoas que têm lojas e que criam aves para as vender nas lojas, mas isso é diferente, e essas pessoas não se dizem criadoras mas sim vendedoras que por acaso criam aves para as vender.

Agora aqueles que se dizem criadores, que só criam as aves da moda, que na maior parte dos casos nem gosta das aves só as cria porque se vendem bem, a esses só tenho uma coisa a dizer - Espero que o negócio vos corra mesmo muito mal para se dedicarem à pesca...pode ser que dê mais dinheiro.

terça-feira, abril 08, 2008

ShowIP

O ShowIP é um addon para o Firefox que nos possibilita obter informação sobre o IP de cada página. Este addon foi-me útil numa situação em que o servidor de uma aplicação que estou a desenvolver mudou, teoricamente o servidor de DNS deveria detectar essa alteração dentro de 24h-48h, mas passado alguns dias ainda havia pessoas a refilar que não conseguiam aceder à aplicação. Quando instalei o ShowIP verifiquei que existiam dois IPs a responder por aquele URL, logo quem tinha ligado o novo IP tinha esquecido de desligar o antigo do servidor que já estava desactivado.

sábado, março 29, 2008

Nightwish estou lá

Aprovetei hoje que passei pela FNAC para comprar o bilhete para os Nightwish no Coliseu dos Recreios dia 19 de Abril, a minha esperança é que se torne no melhor concerto que eu veja até à data.




quarta-feira, março 26, 2008

Atributo Flag num enum

Por vezes é interessante poder combinar num campo combinações de um enumerado, isso pode ser conseguido à custa do atributo Flag. Primeiro vou mostrar o exemplo sem o atributo e depois com o atributo.
public enum TournamentMode {
    Uefa,
    Champions,
    Groups,
    Eliminatory
};

public class Tournament
{
  TournamentMode championship = TournamentMode.Champions;
  TournamentMode fase = TournamentMode.Groups;
  [...]
}
Neste caso preciso de ter dois campos na classe um para representar o tipo de taça e outro para representar a fase em que se vai no torneio, o exemplo seguinte combina os atributos num só campo.
[Flag]
public enum TournamentMode {
    Uefa,       //0001
    Champions,  //0010
    Groups,     //0100
    Eliminatory //1000
};

public class Tournament
{
  TournamentMode info = TournamentMode.Champions | TournamentMode.Groups; //0110
  [...]
}
Ao acrescentar o atributo Flag cada valor do enumerado passa a ser representado por um bit, ou seja, é possível fazer combinações e testar essas combinações como se tivessemos a fazer ands e ors bit a bit.

bool isInGroup = info == TournamentMode.Groups;

terça-feira, março 25, 2008

Man Vs Wild

Um dia estava eu a fazer o meu bem amado zapping quando "apanhei" um episódio desta série no Discovery Channel. Cada episódio consiste em deixar o Bear Grylls num território inóspito e pouco aconselhável à sobrevivência humana. O objectivo é ele conseguir chegar à civilização com pouco mais do que aquilo que tem vestido. O programa é envolto em polémica pois existem muitos críticos que dizem que o Bear tem ajudas extras não mostradas pelas imagens, na minha opinião até pode ter mas isso não invalida algumas das coisas que ele faz, que diría que talvez 1% da população mundial conseguisse e tivesse disposta a fazer. Para mais informação podem ver na wikipedia ou no IMDB.

Salazar outra vez?

De algum tempo para cá que venho lendo na blogosfera e ouvido em conversas com amigos expressões como "Se isto fosse no tempo do Salazar nunca aconteceria!". Por acaso, começo a ser da opinião que o nosso país parece que entrou em declínio no pós Salazar e que talvez até fosse bom ter outro homem como ele no leme do poder, cada vez a criminalidade, violência e desrespeito pelas regras da sociedade aumenta mais e mais.

Contudo, esta minha opinião é resultante de interacções com pessoas nascidas depois do 25 de Abril, ao ter esta conversa com pessoas mais velhas, que por exemplo tiveram que ir para o ultramar a resposta é unânime "Salazar, nem pensar não imaginam os horrores que se passavam naquela época, nem tinhamos a permissão para falar abertamente". Por isso a minha dúvida é - Será que realmente seria bom tem um político com mão firme, até um pouco ditatorial, ou será melhor ter as coisas como estão actualmente?

segunda-feira, março 24, 2008

subsync.zi-yu.com

Este é o mais recente site desenvolvido pela equipa zi-yu, o http://subsync.zi-yu.com/ é um sincronizador de legendas. Começou por ser um pequeno programa, que se achou ser uma boa ideia disponibilizar a todas as pessoas através da internet.

domingo, março 23, 2008

Balloon Bliss

Como português, é com orgulho que vejo o lançamento o casual game Balloon Bliss do estúdio portugueses Vortix Games. Para quem quiser experimentar o jogo poderá fazê-lo aqui e acreditem que vale a pena, pois proporciona uns bons momentos de descontracção!

O curso de sushi - parte 2

Depois de 2 tentativas caseiras de fazer sushi, e da coisa não ter corrido tão bem como tinha corrido na primeira aula, fui relembrar algumas coisas e aprender outras novas numa segunda aula. Aqui ficam algumas fotos do nosso manjar.

sábado, março 22, 2008

Adicionar um sitemap

O sitemap é algo bastante útil que ajuda o google a indexar os nossos sites, para que estes apareçam mais rapidamente nas pequisas do google, apesar de até poderem ser sites juvenis. O primeiro passo é ir a https://www.google.com/webmasters/tools/siteoverview e adicionar o nosso site. Atenção que não se deve por '/' no final do URL (Ex: usar http://sousatiago.blogspot.com e não http://sousatiago.blogspot.com/), ou é possível que ao fazer a posterior verificação recebamos um erro "Encontramos um erro durante a pesquisa do nome do domínio do seu site".

De seguida é necessário fazer a verificação, ou por outras palavras, mostrar ao google que o site nos pertence. Para fazer isso existem 2 métodos: (1) colocar um ficheiro html com um nome específico dado pelo google, (2) colocar uma tag de metadata, dada pelo google, na nossa página default. Finalmente adiciona-se o url do ficheiro sitemap que previamente foi colocado no nosso servidor. O formato do xml do sitemap pode ser consultado em: https://www.google.com/webmasters/tools/docs/en/protocol.html

domingo, março 16, 2008

Vou abrir um call center

Não é que esteja a necessitar de trabalho, mas ontem à tarde acabei por ir dar uma vista de olhos a uma feira de emprego que estava a decorrer na gare marítima de Alcântara. A conclusão a que cheguei é que as empresas de call centers devem de ser uma mina de ouro, vejamos: não menos de 80% das ofertas de trabalho eram para call center, logo é um negócio em ascensão; pagam muito pouco; na maioria dos casos não precisam de pessoas especializadas; os seus trabalhadores estão sempre ou quase sempre numa situação de trabalho precário; isto tudo e eu não conheço bem a área, porque se fosse investigar se calhar ainda descobria mais vantagens.

quarta-feira, março 12, 2008

Políticos burros

Acabei de ouvir uma notícia onde se dizía mais ou menos o seguinte: "O PSD vai assinalar a sua mudança de imagem para a cor azul com diversos direitos de antena, onde se fará a análise de 3 anos de governo".

Por favor mudem de abordagem, não só o PSD mas todos os partidos políticos, deixem de falar mal dos outros e olhem para o seu próprio umbigo, apresentem ideias, projectos façam alguma coisa para o país andar para a frente.

Contudo não são só os políticos que precisam de mudar, o povo também precisa, existem os fanáticos que votam sempre no mesmo partido, independentemente das pessoas, projectos ou ideias, e existem aqueles que saltitam entre PS e PSD, ou seja, o PS está no poder próximo mandato já se sabe que devido a contestação passa a ser o PSD no poder, de seguida volta o PS ao poder, e isto é ciclo que infelizmente já é natural. Por isso é que enquanto isto andar neste caminho têm sempre direito ao meu voto em branco...

quarta-feira, março 05, 2008

Esta nunca me tinha passado pela cabeça

Uma das regras de ouro no desenvolvimento de aplicações informáticas é que se deve esperar de tudo por parte dos utilizadores. Contudo existem algumas coisas que me superam, do género - "Como é que isto passou pela cabeça de alguém?".

No último trabalho que fiz existem em alguns lugares com caixas onde se pede a introdução de um número. Quando fui ver relatórios de avisos apresentados aos utilizadores reparei numa coisa que só me deu vontade de rir, numa dessas caixas um utilizador lembrou-se de escrever "dois", e não satisfeito, levou com a mensagem de aviso umas n vezes e mesmo assim continuava a escrever "dois". Porquê complicar as coisas e não por lá "2"? Não é mais simples?

quinta-feira, fevereiro 28, 2008

Poor Boy's Game

Quando olhei para a capa do filme e vi uma cena de boxe, pus este filme no fim dos filmes que tinha para ver porque sinceramente é um argumento já em desuso e que nunca me atraiu. Como poderia estar mais enganado o filme pouco tem a ver com boxe, aliás o papel boxe podia ser substituído por uma outra disputa qualquer. O filme é um turbilhão de sentimentos onde a nossa própria atitude perante o filme vai flutuando ao longo do mesmo. São nestas ocasiões que não acredito dos Óscares, o Danny Glover tem um desempenho soberbo como actor secundário e nem foi um dos nomeados.

quarta-feira, fevereiro 27, 2008

C# Double Separator

Andei com uns problemas de conversão de string para double, devido ao caracter que separa a parte inteira da parte decimal num número. Dependendo dos regional settings da máquina onde fazemos deploy do nosso código podemos ter como caracter separador a vírgula ou o ponto. O objectivo é fazer código que seja independente dos regional settings considerando sempre um dado caracter como separador.
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalSeparator = ",";
double val = double.Parse(text.Text, nfi);

Com este código a conversão utiliza sempre a vírgula como caracter separador.

sábado, fevereiro 23, 2008

Sites de Regular Expressions

Encontrei dois sites que para mim são uma grande ajuda quando tenho de fazer RegExs. O primeiro site http://regexlib.com/Search.aspx é como uma bíblia, com bastantes exemplos, referências bibliográficas e documentação online. O segundo http://www.fileformat.info/tool/regex.htm é uma ferramenta de teste onde se pode colocar a RegEx e as nossas strings de teste, obtendo a análise de cada uma quando avaliada pela RegEx.

terça-feira, fevereiro 05, 2008

Liberalização do despedimento

Quem terá sido o esclavagista com esta ideia peregrina? Basicamente isto era criar trabalho precário permanente, o que actualmente acontece é que pelo menos nos primeiros anos os trabalhadores estão sujeitos a trabalhar a recibos verdes ou a contratos de curta duração, se for criada uma lei para a liberalização dos despedimentos significa o mesmo que viver toda a vida nesta situação. O patronato já explora ao máximo os trabalhadores, com isto cria-se uma filosofia de desresponsabilização, não se quer ter mais encargos com uma determinada pessoa então dá-se um chuto dela e já está!

Precisão na soma de floats em javascript

Imagine-se que se quer somar dois valores que vêm de inputs, tendo por exemplo os valores 1,23 e 3,21.

var soma = parseFloat(input1) + parseFloat(input2);

O valor esperado na variável soma seria 4,44 infelizmente este não é o valor obtido, devido à precisão do float que não representa o número exactamente como lhe é passado, obtemos sim o valor 4,439999999. Para resolver este problema desenvolvi o seguinte algoritmo que possibilita truncar as casas decimais de um número.
//num = número a formatar; nDecimals = número de casas decimais
function Precision(num, nDecimals){
    var toReturn = "";
    num = "" + num;
    var pointIdx = num.indexOf('.');
    //garantir que é decimal
    if(pointIdx == -1){
        num += '.';
        pointIdx = num.indexOf('.');
    }
    var limit = pointIdx + nDecimals + 1;
    //quando se tem mais casas decimais que aquelas que se pretende
    if(num.length > limit){
        //arredondar para baixo
        if(num[limit] < '5')
        {
            for(var iter = 0; iter < limit; ++iter)
            {
                toReturn += num.charAt(iter);
            }
            return toReturn;
        }
        //arredondar para cima
        else{
            for(var iter = 0; iter < pointIdx + nDecimals; ++iter){
                toReturn += num.charAt(iter);
            }
            var lastNum = parseInt(num.charAt(pointIdx + nDecimals)) + parseInt(1);
            toReturn += lastNum;
            return toReturn;
        }
    }
    //acrescentar 0s à direita se necessário
    if(num.length < limit){
        while(num.length < limit){
            num += '0';
        }
    }
    return num;
}

quarta-feira, janeiro 23, 2008

Adeus Heath Ledger

Era um dos actores mais promissores de uma nova geração, foi encontrado ontem morto ao que parece devido a uma overdose. Com apenas 28 anos, o actor no seu último filme teve a honra de substituir Jack Nicholson no papel de Joker no novo filme da Saga Batman que irá estrear no próximo Verão.

domingo, janeiro 20, 2008

Top+

À alguns anos que não via o Top+ mas ontem por acaso acabei por assistir e foi com algum espanto que constatei uma coisa. Em 5 CD/DVD infantis que estavam no top os 5 mereceram um destaque por estarem em subida, o que me espanta, mas esta tendência será porquê? Antigamente não se publicavam este género de CD's? A pirataria em albuns de outros géneros não acontece neste género e por isso as vendas continuam altas? Os pais mimam mais os filhos agora? Qual será a razão ou razões?

sexta-feira, janeiro 18, 2008

O 13 do azar

Hoje foi o meu 13º dia a trabalhar consecutivamente, felizmente o projecto está a chegar a uma fase de menos stress e só espero que este número 13 se torne em sorte...

domingo, janeiro 13, 2008

Gestão de projectos informáticos

Este é um post depois de estar a trabalhar todo o fim-de-semana, por isso não estou de muito bom humor e o post é capaz de reflectir isso. Cheguei à conclusão que os gestores são iguais a políticos, prometem, prometem, prometem mas cumprir é mentira, e depois cá estamos nós para levar com as consequências e trabalhar ao fim-de-semana para tentar o milagre de ter as coisas prontas. Para a próxima que isto acontecer a minha resposta será: "Deus não programa pois não? Então eu também não faço milagres!"

quarta-feira, janeiro 09, 2008

Ausência

Desde que comecei no projecto que estou actualmente não tenho tido tempo nenhum para dedicar ao meu blog, ok são 10-15 minutos que gasto a fazer um post, mas de qualquer modo tenho andado a "todo o vapor" neste projecto e é quase um luxo gastar esse tempo.

Comecemos pelo projecto, estou a fazer o novo sistema de resposta online aos inquéritos sobre o potencial científico e tecnológico nacional, sistema este que foi encomendado pelo ministério da ciência e tecnologia. A nível de projectos profissionais este é o primeiro em que eu tenho responsabilidades enquanto gestor, pois além do trabalho de programador tenho de fazer tudo desde a análise de requisitos, reuniões, definição de tarefas, preparação de ambientes, etc. Claro que tenho contado com a ajuda fundamental do Pedro e do Nuno, também se não fosse assim nunca teria aceitado as responsabilidades deste projecto.

Em relação ao meu antigo projecto, hoje todo o Portugal foi bombardeado com anúncios ao novo site Optimus e como referi num post anterior a minha mão está presente em grandes áreas deste site.

Falando um pouco das notícias da actualidade, hoje ouvi que está em processo à aprovação da lei que limita a velocidade dentro das localidades a 30km/h, a única coisa que posso dizer é que vou começar a andar de bicicleta sempre vou andar mais rápido que os carros, acho que nenhum polícia me passará uma multa por excesso de velocidade!

terça-feira, janeiro 01, 2008

Passagem de ano 2008

Nunca pensei ter uma passagem de ano destas até ter recebido o convite...adivinhe-se lá qual foi??? Bem a minha passagem de ano foi num casamento, a uma 2ª feira na viragem do ano. Foi bem melhor do que estava à espera, até foi divertido e conseguiu-se fazer as duas coisas duma só vez. Só não gostei muito da sucessão de algumas músicas, "I will survive" seguido por "In the navy", foi nessa altura que pensei - bem agora a seguir só falta o "YMCA", eu já devo ter bebido demais e já não estou no casamento - felizmente ainda não tinha bebido assim tanto e ainda estava no casamento.

Desejo é que este casamento corra melhor do que o último que fui, visto que as pessoas em causa já estão divorciadas. Isto traz-me uma ideia à cabeça - Porque raio não se comemora o divórcio como o casamento?..."porreiro já podes voltar a fazer aquelas borgas de solteirões".