May 23rd, 2008
Hoje descobri que colocaram uma referencia ao site do projeto do OpenSocialGenerator em um wiki chamado OpenSocialDirectory, ainda com um rating de 4 estrelas(!!). Um bom motivo para dar um “tapa” no projeto que só está andando por conta da da galera da globo.com que está colocando a mão na massa. Obrigado a todos que estão ajudando ao humilde projeto.
Percebi que o maior problema do OSG é entender o que ele realmente faz. Espero conseguir esse final de semana melhorar a documentação :)
Pois é, tag 0.4 fechada. e no ar. Quem está trabalhando no trunk não mudou nada.
Deixem comentários com sugestões para os próximos releases.
Tags: opens social generator osg google opensocial globo.com
Posted in OpenSocial | No Comments »
May 9th, 2008
Hoje estou positivo, segunto post falando bem de algo.
Eu aceito o fato que meu HD um dia vai pifar (estou falando do HD da minha máquina, não é uma metáfora). Guardo todos meus códigos no CvsDude que é um serviço de controle de versão profissional, ou seja, não guardo meus códigos no meu HD.
Mas hoje descobri algo melhor ainda - o SpringLoop, que é um controle de versão baseado em subversion que tem integração com o Basecamp e faz deploy direto para um servidor utilizando FTP/SFTP. Inclusive podemos fazer o deploy deu determinada Revision do Subversion. Você entra no admin e clica para subir a versão 1234 para o servidor de desenvolvimento - caso alguma coisa esteja com problemas - você volta no admini - escolhe a última versão que estava em produção e faz um “rollback” - volta o servidor como era antes da última subida. Isso tudo apenas apertando um botão.
Já estou até mais relaxado só de pensar nessa funcionalidade :)
Tags: sprintloops subversion deploy
Posted in Programming | No Comments »
May 9th, 2008
Toda linguagem de desenvolvimento tem seus pontos fortes e fracos - estes aparecem após o compilador / interpretador sair do laboratório e conhecer o mundo real fora do habitat . Esses pontos são a personalidade da linguagem - e não devem ser ignorados - uma linguagem não resolve todos os problemas e nem todas questão são adaptáveis a esta linguagem.
Tenho que admitir, já estava meio desapontado com algumas frameworks para PHP, que insistem em copiar soluções que funcionaram em outras linguagens. Ou mesmo de outras abordagens que deram certo em algumas linguagens por conta de suas características.
Resolvi então experimentar o CodeIgniter e tive uma surpresa agradável.
O CodeIgniter é um exemplo de uma framework que pegou as boas idéias e implementou de uma maneira mais “PHP”. Uma framework MVC web madura que me fornece todas ferramentas para desenvolvimento de aplicações PHP sem frescura, tais como Cache, DB - implementa ActiveRecord.
Recomendo

Tags: codeigniter php framework
Posted in Programming | No Comments »
February 2nd, 2008
Ontem participei de uma sessão de treinamento Scrum - “Jedi Mind Tricks”. Acho que o pessoal já escreveu o bastante sobre isso aqui e aqui
Consegui tirar apenas esta foto do treinamento

Tags: globo.com, scrum
Posted in Programming | No Comments »
January 20th, 2008
Some perlbal tips… if you don’t know what a it hell means, take a look where.
Remember: try run updatedb before use locate :)
0. Use cpan command to install
# cpan install Perlbal
1. Where is the Perlbal?
# locate perlbal
/usr/bin/perlbal
2. Where is perlbal core code?
# locate Perlbal.pm
/usr/lib/perl5/site_perl/5.8.8/Perlbal.pm
3. Where i can put my config files?
perlbal try first in /etc/perlbal/perfbal.cnf, but you can specify another file in perlbal startup like:
# perbal –config ~/myperlbal.cnf
4. How debug my perlbal deamon? Try set PERLBAL_DEBUG enviroment variable before run.
# export PERLBAL_DEBUG=3
[EOF]
Tags: perlbal perl
Posted in Linux, Perl | No Comments »
January 19th, 2008
Hello everybody,
This code below explain how your application can switch between diferent Surfaces. Surface is where the user is looking at your application. In orkut we have the profile and the canvas surfaces.
//you can use openSurface('canvas') or openSurface('profile') in orkut.
function openSurface( name ) {
// Sorry, we already in name surface
if ( opensocial.getEnvironment().getSurface().getName() == name ) {
alert("you already in " + name );
return;
}
// Search the surface.
var surfaces = opensocial.getEnvironment().getSupportedSurfaces();
for ( var i = 0; i < surfaces.length; i++ ) {
if ( surfaces[i].getName() == name ) {
// We can send some params to another page.
var params = {"foo":"bar"};
opensocial.requestNavigateTo(surfaces[i], {"foo":"bar"});
}
}
}
And when app reloads in another surface, we can get the parameters passed by requestNavigateTo function.
var params = opensocial.getEnvironment().getParams();
lert(params.foo); //will print "bar" string.
That’s all folks
Tags: 0.6, JavaScript, OpenSocial, orkut, snippet
Posted in OpenSocial, Programming | No Comments »
July 17th, 2007
Esse é um post diferente - hoje resolvi reclamar e justificar meus motivos pessoais e lógicos para não utilizar um teclado com layout ABNT2 - aquele que normalmente é vendido no Brasil e vem com o “ç”.
Os grandes problemas do teclado ABNT2 são ao meu ver são as teclas de uso repetitivo na programação são cobertas normalmente por dedos menos ágeis - aspas, barra-investida e aspas. Além de um arranjo nada lógico das teclas de { e } (normalmente ficam uma em cima da outra).
Em todas empresas onde trabalhei, as máquinas estavam com o maldito ABNT2, e eu sempre configurava com layout US - que nunca me prejudicou pois não olho para o teclado enquanto trabalho.
A parte ruim é que todos bons teclados vendidos no varejo são normalmente ABNT2, não encontrei um teclado microsoft com layout americano no Brasil.
Porém, gosto não se discute :)
Posted in Programming | No Comments »
July 5th, 2007
Depois de algum tempo parado resolvi publicar esse post que achei bastante útil. Venho acompanhando as frameworks de persistencia para PHP e de um lado temos o Propel - que simpatizo mais - por criar as classes mais completas, com seus respectivos “getters” e “setters” para cada campo e do outro lado o Doctrine que tem uma implementação mais baseada em arrays. E surge a pergunta - qual a abordagem mais pesada?
Estou utilizando o xdebug para gerar um relatório de profiller e simplesmente estou plotando ele com o PlotDrop - (uma frontend gnomepara o GnuPlot).
Maiores explicações na foto no flickr.
Conclusões:
O que mais consome recurso são os include com instancias de classes - nossa classe BigClass com 64 métodos e 32 membros - influenciou 20Kb além da na execução do script, que no caso do Propel pode representar alguns megas. Vou fazer um teste com as 2 frameworks na prática para chegar a uma conclusão final.
Posted in Programming | No Comments »
September 2nd, 2006
Encontrei em um blog uma interessante comparação entre ferramentas de compressão de CSS.
Entre elas tem uma que não conhecia - Icey Compressor, em PHP com o código fonte disponível.
Posted in Programming | No Comments »