Recursive
Aqui fica o resultado final do projecto que fizemos para a cadeira de Som, Vídeo e Múltimédia:
To PhD or not to PhD?
Existem alturas em que temos que fazer escolhas. Muitas vezes são fáceis e as consequências não são significativas, mas existem decisões que alteram completamente a nossa vida. Sempre tive mais ou menos uma ideia de como iriam ser os próximos 5 anos da minha vida em termos profissionais: terminar o curso e trabalhar a full-time como programador. Durante o último ano, na sequência de alguns projectos do Mestrado, foi-me sugerido um caminho alternativo: o doutoramento. Inicialmente esta hipótese gerou um dilema. Para além, de nunca a ter ponderado, visto já ter uma grande convicção de como seria o meu futuro, existiam alguns aspectos que contribuíam para a minha indecisão
Seriam 3 a 4 anos dedicados a investigação direccionada para uma área muito restrita. Este tipo de especialização poderia, no futuro, fechar algumas portas: duvido que hajam muitas empresas dedicadas à programação que contratem doutorados e não tenho a certeza se a área da investigação tem muita procura em Portugal. O ensino universitário seria, muito provavelmente, a futura carreira profissional. Por falar em Portugal, esse também foi dos pontos que me fez ficar de pé atrás. A conjuntura actual não é convidativa para os jovens licenciados/mestres e uma das opções que estavam na mesa era “fugir” para o estrangeiro, algo que seria impossível começando um doutoramento cá.
Fazer um doutoramento sem bolsa é extremamente complicado, e esse seria um dos requisitos essenciais para optar por este caminho. As propinas são muito elevadas e é algo que requer atenção a tempo inteiro. Trabalhar e fazer um doutoramento seria demasiado desgastante, e já tive a minha dose de trabalho e estudo simultâneo nos últimos dois anos e meio. As condições oferecidas aos bolseiros não são péssimas, no entanto não são excelentes. Um bolseiro não tem IRS, por isso se ao fim de 4 anos quiser pedir um empréstimo para comprar casa, é como se não tivesse trabalhado. Recebem 12 meses (não há subsídios de férias/Natal), se bem que nesta altura toda a função pública está numa situação semelhante. Tenho a certeza que um bolseiro estará sempre a receber abaixo do actual valor de mercado para um recém-licenciado na área da Informática .
Parece que só consigo encontrar pontos negativos, porém existe o outro lado da balança. Iria trabalhar numa área que adoro (Robótica e Aprendizagem Automática) e não teria que lidar com clientes. Seria um desafio enorme (sou fanático por desafios), faria os meus próprios horários e não teria que dar justificações a ninguém, desde que fosse responsável, disciplinado e avançasse o trabalho. As potenciais remunerações futuras também são bastante boas.
Escolhi o doutoramento. Sei que se fizer uma análise racional, esta poderá não ser a escolha mais lógica, mas por vezes temos que fechar os olhos e seguir o nosso instinto.
Candidatei-me em Maio a uma bolsa da Fundação para a Ciência e Tecnologia, que foi recusada em Setembro devido a um erro da parte do avaliador. Recorri e aguardei 3 longos meses por uma resposta. A espera foi extremamente enervante! Já tinha decidido o caminho que queria seguir, mas existia a hipótese de me recusarem essa oportunidade devido ao erro de outra pessoa. Finalmente, no final de Dezembro, reconheceram o erro e atribuíram-me a bolsa.
Irei ingressar este ano no Programa Doutoral do ISCTE-IUL. O caminho que me espera não é fácil, mas darei o meu melhor. Completar um doutoramento não está relacionado com inteligência, mas sim com trabalho árduo e perseverança. A minha experiência de trabalhador-estudante durante os últimos ambos ensinou-me bastante sobre ambos, por isso espero estar à altura do desafio e que daqui a 4 anos olhe para trás a sorrir por ter tomado a decisão certa.
read moreLego Neo vs Smith (projecto de Animação por Computador)
Uma das cadeiras deste semestre consistia em criar uma pequena animação 3D. Optámos por recriar uma das famosas cenas do Matrix em que o Neo se desvia das balas do Agent Smith, mas com um pequeno twist. O projecto foi desenvolvido no Blender 2.5 e 2.6 e deu-nos conhecimentos em diversas componentes da animação em 3D. Desde modelação, passando por efeitos de partículas e simulação de tecidos, até à animação propriamente dita, ultrapassámos vários desafios para conseguirmos ter uma animação com cerca de 1 minuto. Pode parecer pouco, mas é um processo extremamente trabalhoso. Ganhei um novo respeito pela malta da Pixar e da Dreamworks! Aqui fica o vídeo (aconselho a visualização em 720p):
read moreWindows Phone App Code Camp 2011
Para grande surpresa minha, recebi no final de Novembro um convite da Microsoft para um evento que ia decorrer no Palmela Village Golf Resort, o Windows Phone App Code Camp. A premissa era um fim-de-semana em condições de luxo para desenvolvermos uma aplicação para Windows Phone 7 e, como não sou de recusar desafios, decidi candidatar-me. Para além de nunca ter desenvolvido aplicações para Windows Phone 7 ou em Silverlight, a minha experiência com C# era muito limitada, mas era a situação ideal para aprender a trabalhar com estas tecnologias.
Candidatei-me ao Code Camp com o Carlos Lima e o David Jardim. Os nossos projectos eram uma app para gestão de despesas/finanças pessoais (Carlos) e um jogo para testar a memória e o tempo de reacção do jogador (eu e o David). Felizmente, fomos todos aceites para o evento, juntamente com mais 57 participantes num total de 32 projectos.
No dia 16 de Dezembro, dirigimo-nos para o Resort prontos para criar uma aplicação mobile com tecnologias Microsoft. Fomos recebidos por uma pequena equipa developers, que nos deram algumas informações de como iria decorrer o evento. Para além de algumas sessões técnicas, iriam estar experts on-site para nos darem todo o apoio que precisássemos. Estava também planeada uma entrega de prémios no final para as 5 melhores apps.
As condições que tínhamos eram fantásticas: existia uma sala comum para desenvolvimento, denominada “App Factory”, com mesas para todas as equipas, uma divisão onde estavam os experts que podíamos abordar a qualquer altura, e até uma “cloud” de snacks redundantes que eram repostos automaticamente! A única falha foi a ligação à internet, que era bastante fraca, mas tenho noção que os organizadores fizeram tudo o que podiam para melhorar este aspecto.
Relativamente aos alojamentos, havia um apartamento T1 para cada equipa com belíssimas condições. O cenário envolvente era relaxante, visto que estávamos em pleno Golf Resort do Palmela Village. Estarmos rodeados pela Natureza nas pequenas caminhadas que fazíamos entre a área de refeições e a App Factory eram uma boa maneira de limpar a cabeça dos bugs e dos algoritmos, de forma a voltarmos à carga mais tarde com mais energia. Por falar em refeições, estas foram das melhores que já tive o prazer de degustar. Desconfio que era o Chef Gordon Ramsay na cozinha!
A primeira sessão foi uma introdução ao desenvolvimento de WP7 com Silverlight, pelo Nuno Silva. Foi uma excelente maneira de saber o que nos esperava, principalmente para quem não conhecia nada, como eu. Desde a criação de layouts por XAML, até à manipulação dos mesmos com C#, ficámos com todas as bases necessárias de Silverlight para começarmos a trabalhar. Acabei por não assistir a mais nenhuma sessão visto que não estavam directamente relacionadas com o que precisávamos para desenvolver o jogo, para além de haver uma grande limitação de tempo.
À medida que as horas iam passando e estávamos mais perto da deadline para o final do evento, começámos a perceber que seria muito difícil concluirmos o jogo. Ainda faltavam algumas funcionalidades básicas para que ficasse jogável, mas continuámos a insistir. Os vencedores iriam ser escolhidos por votos dos restantes concorrentes no Facebook entre as 15h e 17h. Apenas conseguimos submeter o jogo para votação às 16h30, e tivemos que pensar rapidamente numa maneira de o divulgar. Carregámos o jogo para um dos dispositivos WP7 que tínhamos à nossa disposição e começámos a mostrar o jogo a quem nos aparecia à frente. O feedback que obtivemos foi muito positivo, e acabámos por ficar em 2º lugar na competição, o que nos valeu um par de telemóveis LG Quantum! Um dos pontos fortes do nosso jogo era o aspecto gráfico, que tinha sido desenhado pela Ana Jesus. Um grande obrigado a ela, porque o look and feel da aplicação fez toda a diferença. Aqui fica um pequeno vídeo do jogo:
Um grande obrigado também à organização, que esteve muitíssimo bem neste evento: Nuno Silva, Pedro Lamas, Miguel Vicente e André Malico. Só conseguimos terminar a nossa aplicação devido à vossa incansável ajuda durante os 3 dias! Espero que continuem com estas iniciativas, pois mostra um lado da Microsoft que não estamos habituados a ver no nosso dia-a-dia e dá-nos a oportunidade de experimentar tecnologias muito interessantes. Fiquei muito bem impressionado pelo Silverlight e pela experiência de desenvolvimento para o WP7 em geral.
Até um próximo evento!
UPDATE: Ficámos em primeiro lugar na competição final, que englobava apps desenvolvidas dentro e fora do WP App Code Camp! O prémio foi um Nokia Lumia 800.
read moreAlterar a imagem que aparece ao clickar no botão Like do Facebook
Quando se instala um botão de like do Facebook num site e um utilizador clicka nele, aparece um item no mural desse utilizador. Normalmente aparece o título da página, algum do texto do artigo, e uma imagem. Se não fizermos nenhuma alteração, a imagem é escolhida aleatoriamente das que estão presentes na página. Para escolhermos qual a imagem a aparecer, é necessário adicionar uma meta-tag ao cabeçalho das nossas páginas. A tag é a seguinte:
<meta property="og:image" content="LINK PARA A IMAGEM"/>
Se instalarem um plugin no WordPress para que apareça o botão de like em cada artigo, pode ser necessário inserir algum código se o plugin não tratar disso automaticamente. O código seguinte deve ser colocado no ficheiro header.php do template do WordPress e procura no conteúdo do artigo por uma imagem. Caso não haja nenhuma, é utilizada uma imagem por defeito.
function getFirstImage() { global $post; preg_match('/]+>/i', $post->post_content, $matches); preg_match('/(src)=("[^"]*")/i',$matches[0], $matchesFinal); $src = trim($matchesFinal[0]); if($src) //remover o src=" e as aspas finais return substr($src,5,strlen($src)-6); return "/facebook_default.png"; } echo '<meta property="og:image" content="'.getFirstImage().'"/>'; ?>
Podem alterar o nome da imagem “facebook_default.png” para a que quiserem. O Facebook aconselha utilizar uma imagem quadrada com uma largura maior que 50px.
read more























Redes Sociais