terça-feira, 31 de agosto de 2004

Controlando Versões com o SubVersion

O SubVersion é um excelente controlador de versão. Criado para ser uma evolução do CVS, como eu li em algum lugar "um CVS melhor que o CVS".



O SubVersion tenta resolver alguns problemas do CVS, ele permite renomear diretórios e se integra melhor ao windows. Possui um servidor Standalone, mas é possivel utilizar ele com o Apache 2 ou ainda utilizar localmente sem um servidor rodando.



Eu estava acostumado a utilizar o Source Safe na ultima empresa que trabalhei, e fiquei impressionado com a capacidade do SubVersion. A possibilidade de edição simultanea de arquivos é muito boa, a criação de repositórios é muito facil, e a integração com o Windows Explorer é bem legal.



O cliente que eu estou utilizando no windows é o TortoiseSVN. O checkout, update e commit é feito pela interface do Windows Explorer, é muito intuitivo.



Uma página com explicações em portugês sobre o SubVersion é o FAQ da USP.

quarta-feira, 25 de agosto de 2004

OpenOffice.org 1.9.49

Dei uma olhada nessa versão de desenvolvimento do OpenOffice 2.0 e achei bem interessante. Primeiro a polida no visual ficou muito bom. Está mais parecido com os outros pacotes de escritório comerciais. E está a cara do MS-Office 2003, que nesse acaso não sei se é tão bom assim.



Mas o mais importante é saber que o OpenOffice está evoluindo. A versão 2.0 final deve sair no começo do ano que vem. E cada vez mais ele se firma como uma opção ao MS-Office.



Mais informações na página de desenvolvimento e o download a versão 1.9.49 pode ser feita aqui.



Segue um screenshot da versão que eu testei:



OpenOffice 1.9.49

sexta-feira, 20 de agosto de 2004

O Google é nosso amigo

Tenho visto em vários sites e foruns a expressão "o google é seu amigo" com um link para a página inicial do Google. Normalmente é quando alguém pergunta alguma coisa que pode ser facilmente encontrada nos resultados do buscador.



Mas analisando literalmente, eu acho correto dizer que o Google é nosso amigo.



Vejam o caso do Blogger, após ser comprado pelo google, ficou grátis. Liberaram um monte de caracteristicas que antes eram pagas, melhoraram bastante as páginas de postagem, deixaram o Blogger bom mesmo.



Temos o Picasa, que após também ser comprada pelo Google, nos permite publicar fotos no Blooger. Dá pra fazer fotolog melhor que os sistemas de fotolog por ai.



Por ultimos somos presenteados por essa linda barrinha ai em cima. Eu achava bem ruim o antigo banner de propaganda, totalmente fora do layout de qualquer página, então um belo dia vejo que não vou precisar mais atura-lo. Além de tirar o banner agora é possivel fazer buscas no conteudo do EraInfo pelo campo search da barrinha. Não que isso não era possivel antes, na barra superior ficou bem melhor do que em qualquer outro lugar.



Ainda tem o Gmail. Que sem dúvida inovou não apenas por dar 1 GB de graça, mas por trazer um conceito diferente de organização de mensagens, sem utilizar pastas.



Isso eu acredito que seja uma cultura do Google, as busca constante por inovação. Eles entraram num mercado já explorado, e inovando assumiram a lideraça, compraram empresas que cobravam serviços e disponibilizaram gratuitamente.



Não sou ingênuo de achar que o Google faz tudo isso por amor, claro que não, sei que eles ganham dinheiro (e muito) em cada acesso nosso no buscador, e em cada vez que visitamos páginas com os banner deles, mas acho justa a troca. O google nos fornece bons produtos e nós olhamos umas propagandinhas deles.



Só espero que essa busca por inovação não acabe. Me lembro do tempo da "guerra dos browsers". A Microsoft tinha que ganhar campo no mercado de browser, e eu utilizava o maravilhoso Internet Explorer 3.0 que eu achava muito melhor que o netscape da épica. O IE tinha uma interface melhor, uns botoes bonitos, já vinha com Java, aceitava um monte de JS, eu achava melhor mesmo. Até que a netscape acabou, o IE dominou, e a evolução do IE parou. Hoje vejo noticias como "MS reativa equipe de desenvolvimento do IE" e acho lamentável, eles nunca deveria ter parado de desenvolver o Internet Explorer. Por isso digo, espero que o Google nunca deixe nos surpreender e desenvolver tecnologias inovadoras.



sábado, 14 de agosto de 2004

Boa notícia: Brasil não terá padrão próprio de TV Digital

Não, eu não estou sendo sarcástico ao dizer que essa notícia é boa, eu realmente acho isso. Segundo essa noticia da Folha, o governo desistiu de criar um padrão de TV Digital depois de ver o caso da Austrália, que gastou R$ 10 bilhões em pesquisa de um padrão próprio e não chegou a lugar nenhum. As primeiras alegações eram de que o Brasil não podia ficar a dependendo de tecnologia de outros países, e por isso iriam criar um padrão brasileiro, agora, dizem que não querem reinventar a roda. É a política.



Eu acho que o Brasil deve produzir mais tecnologia internamente e importar menos, só que o bom senso deve ser levado em consideração. No caso de um padrão de TV todo mundo tem a ganhar com um padrão o mais "mundial" possível. Todo mundo consegue imaginar que uma TV deve ser mais barata se for produzida para a maior quantidade de pessoas possíveis, e com um padrão brasileiro, as nossas TV teriam de ser produzidas unicamente para o Brasil.



Aí tem a questão do pagamento dos direitos, mas o governo não escolheu nada ainda. Então tem que chorar, esperniar, fazer birra até que os "donos das tecnologias" tenham uma proposta de liberação dos direitos autorais que seja apropriada. Desde que começaram os estudos no governo passado as propostas dos EUA, Europa e Japão já estão bem mais flexíveis e baratas, tem que continuar indo nesse caminho, e escolher qual das três será melhor para o Brasil.



Já tive muitos problemas com PAL-M, PAL-N, NTSC, e mais um monte de siglas, seria interessante não ter mais esses problemas no próximo sistema de TV. Acredito que com apenas 3 sistemas diferentes, logo logo surgirão os aparelhos que conversam com todos os padrões, e então será transparente para o consumidor.

quarta-feira, 11 de agosto de 2004

PostgreSQL 8.0.0 Beta 1

A quase 1 mês publiquei aqui como instalar a versão de desenvolvimento do próximo PostgreSQL no Windows e hoje, tive o prazer de ver que já esta disponivel a versão Beta 1.



Os problemas de instalçao no Windows estão resolvidos. O mais comum que eu vi era que não podia instalar com um usuário sendo administrador do sistema. Mas agora, essa versão tem um instalador gráfico que faz tudo que é necessário. Cria um usuário no windows, cria um usuário no PostgreSQL, instala o pgAdmin III, deixa tudo prontinho pra ser usado. Eu gostei MUITO.



O instalador para windows, do tipo MSI está disponivel aqui!



O código fonte pode ser baixado no FTP do PostgreSQL em: ftp://ftp.br.postgresql.org/pub/PostgreSQL/source/v8.0.0beta/



Para quem quizer ver o release notes, ele pode ser encontrado aqui.

domingo, 8 de agosto de 2004

WebWork gerando conteudo XUL

Muita gente me perguntou como utilizar o WebWork com o XUL. Uns não tinham idéia de como fazer, outros não estavam conseguindo. Então aqui vai umas dicas de como fazer.



O Mozilla, para interpretar arquivos XUL, tem que receber o content type igual a application/vnd.mozilla.xul+xml. Esse era o problema de 100% dos que me perguntaram como gerar dinâmicamente telas em XUL.



Para integrar com o WebWork é necessário seguir estes passos:

  • Crie um tipo de retorno personalizado seu incluindo como primeiro elemento dentro da tag <package>



    <result-types>

       <result-type name="xul" class="seupacote.SuaClasseResult"/>

    </result-types>




  • Crie a classe seupacote.SuaClasseResult extendendo alguma classe de resultado do WebWork. São classes de resultado ServletDispatcherResult, ServletRedirectResult, VelocityResult entre outras. Sobreescreva o método getContentType



    package seupacote;



    import com.opensymphony.webwork.dispatcher.VelocityResult;



    public class SuaClasseResult extends VelocityResult {



       protected String getContentType(String templateLocation) {

         return "application/vnd.mozilla.xul+xml";

       }



    }




  • Coloque o tipo de retorno que nas acoes



    <result name="success" type="xul">
Pronto, agora sua aplicação com o WebWork já pode gerar telas dinâmicas em XUL!