sábado, 25 de dezembro de 2004

Boas festas e feliz 2005!

Não gosto de fugir do tópico, acho que isso pode deixar tudo muito poluido, mas essa é uma boa ocasião. Quero desejar a todos um feliz natal, e que 2005 nos reserve bons momentos e muita felicidade.



O que eu gostaria mesmo é que o natal fosse menos consumista, gostaria que as pessoas resistissem a idéia de comprar comprar comprar, e se lembrasse mais do real motivo do natal. Mas assim é o mundo né, se não posso mudar o mundo, pelo menos eu faço minha parte, lembrando que natal é uma festa religiosa, e não uma festa do comércio!



Ano que vem eu volto com algumas novidades, e muitos posts sobre as tecnologias que fazem parte da nossa vida. Muitas felicidades e vamos torcer para que 2005 seja melhor que 2004!



quinta-feira, 23 de dezembro de 2004

Vivo, nem morto!

Eu espero que você não tenha comprado um celular da Vivo neste natal, e eu digo isso porque sou seu amigo! Antes que você pense, eu não sou um usuário ingnado serviços da operadora Vivo, muito pelo contrario, nunca fui cliente deles (graças a Deus).



Aqui no Rio Grande do Sul existe a Vivo, a Claro, a Tim e agora por ultimo a Brasil Telecom oferecendo serviços de telefonia Celular, das quatro operadoras, a Vivo opera utilizando a tecnologia CDMA, e todas as outras utiliza a tecnologia GSM.



Esse é o primeira questão, porque todas operadoras utilizam GSM e somente a VIVO utiliza CDMA? Isso é facil de responder, a VIVO herdou a maioria das operadoras de celulares analógicas, e o CDMA é compativel com a tecnologia analógica, então com o CDMA a vivo consegue fazer seus celulares funcionarem em todos os cantos onde tem antena de celular analógica. E esse é o primeiro problema, todas operadoras utilizam tecnologia digital, e a Vivo utiliza digital e analogica. Com isso, o celular CDMA que foi comprado ontem em alguns lugares vai funcionar exatamente como os celulares do inicio da decada de 90, não vai receber SMS, e não vai poder utilizar nenhum serviço a não ser fazer e receber ligações, a bateria vai durar gastar 10 vezes mais e isso sem falar na segurança, que vou falar depois. Outro dia ouvi uma frase de um cliente vivo: "Eu desligo o celular quando viajo pra não gastar toda a bateria em poucas horas". A cobertura CDMA existe nas cidades, mas na estrada é bem ruim. Essa é a operadora do futuro??



Então, o segundo problema da Vivo é a qualidade de voz. As antenas CDMA podem ficar mais longe umas das outras se comparada com as antenas GSM, isso também deve ter pesado para a Vivo escolher o CDMA, mas o problema é que essa tecnologia não limita o numero de usuários por antena, e pode chegar a um ponto que de tanta gente falando a antena não consiga dar conta de antender a todos com uma qualidade de voz aceitavel. A solução para isso seria colocar as antenas proximas umas das outras, mas o que você acha que a Vivo fez? A qualidade de voz do CDMA é muito inferior ao GSM.



Com meu celular GSM costumo acessar muito a internet, as vezes estou na rua e acesso para ver o resultado do futebol, as vezes quero saber alguma coisa especifica, ou as vezes estou no onibus e quero matar o tempo. As operadoras GSM cobram de mim por MB transmitido, não importa o tempo que eu ficar conectado. Pago 5 reais por MB transmitido. Na operadora CDMA Vivo, a cobrança é feita por tempo, então quem usa a internet da Vivo tem que ler tudo rapidinho porque ta pagando o tempo da conexão, ao contrario de mim que baixo a página e fico lendo por muito tempo sem me preocupar. A internet do celular é basicamente texto, e 1 MB de texto é muita coisa.



Costumo baixar jogos, músicas e fotos para o meu celular, como eu faço isso? Simplesmente coloco a URL do jogo, da música ou da foto no meu celular, e ele baixa e já posso usar a foto como papel de parede, ou a música como toque do celular, e para isso eu pago apenas o uso da internet. Calculo que em média eu gasto uns 15 centavos por cada musica e cada foto e uns 30 centavos por cada jogo, e olha que eu tenho os melhores. Então, os clientes da Vivo, não podem fazer nada disso, não podem baixar nada que não seja do site da vivo, e tem que pagar vários reais para ter uma musica diferente no celular um jogo então custa muito caro. Tenho muita pena do irmãozinho da minha amiga. Sempre que eu chego na casa dela ele corre e pega meu celular pra ver os jogos novos que eu tenho, e sempre, todas as vezes, as vezes mais de uma vez por dia ele pergunta "Não dá pra por no meu celular também?". Eu tenho um Nokia 3530 e ele um Nokia 3520, são quase iguais, só que o dele é Vivo, e a Vivo bloqueia todos os downloads fora da rede dela, e faz com que se você quizer baixar alguma coisa terá que pagar para a Vivo. Infelizmente eu tenho que dizer pra ele que não dá, e somente mudando de operadora ele vai conseguir colocar joguinhos no celular dele.



Mas o melhor mesmo são as propagandas da Vivo. Voce deve lembrar de uma em que mostrava cidades americanas e comparava com cidades brasileiras e no final dizia que a tecnologia mais utilizada nos Estados Unidos é o CDMA igualzinho a tecnologia da VIVO. Bem, primeiro vale lembrar que a telefonia celular dos Estados Unidos é muito ruim, lá tem muito mais gente que usa TDMA do que aqui no Brasil, e dá pra dizer que nós somos mais avançados que eles. Também é importante dizer que nos Estados Unidos o GSM está crescendo muito, bem mais que o CDMA. No Brasil, o numero de telefones GSM ultrapassou o CDMA em novembro, e no mundo todo existem 5 telefones GSM para cada CDMA.



Comparando tecnicamente o CDMA com o GSM, o CDMA leva vantagem, a especificação dele é melhor que a do GSM, só que na prática todas as vantagens que o CDMA teria foram jogadas no lixo. A Vivo também costuma dizer que o CDMA é a tecnologia do futuro na Europa, então, sempre que você ouvir essa frase, saiba que está sendo enganado. A tecnologia GSM evoluiu do TDMA e a próxima evolução é o WCDMA. Sim, tem a palavra CDMA no nome, mas as semelhanças com o CDMA da Vivo são muito pequenas, a unica semelhança são exatamente as caracteristicas que fazem a especificação do CDMA melhor que o GSM, que é o modo de dividir o canal, o GSM divide por tempo, e o CDMA por código. Então podemos dizer que a evolução do GSM passa em também mudar a maneira de dividir o canal de comunicação, que irá ficar baseado no modo como o CDMA faz, mas tirando isso são tecnologias completamente diferentes. Outra coisa, CDMA tem dono, pertence a uma empresa americana chamada Qualcomm. o WCDMA é uma padrão aberto. O CDMA não vai revolucionar a Europa, o WCDMA sim. No Japão se usa WCDMA, e ninguem paga nada pra Qualcomm, ao contrario da Vivo.



Outra propaganda que tem passado muito na TV é o novo celular da vivo que filma, vejam que revolução. Realmente seria, senão existisse celulares GSM que fazem filme a mais de três anos. Ou seja, a vivo ta muitos anos atrazadas em relação ao GSM, só que isso não aparece na propaganda. E um detalhe importante dessa propaganda, os filmes do celular são de no máximo 15 segundos, então você tem 15 segundos pra pegar a Gisele hem :)... Bela porcaria!!!!



Pra resumir:

Qual o melhor GSM ou CDMA? Pela especificação o CDMA, pela implementação o GSM.



Qual o melhor para todos nós, GSM ou CDMA? GSM, sem dúvida.



Qual a melhor operadora? Nenhuma, todas elas vão nos dar dor de cabeça, mas pelo menos escolha uma GSM :D



Eu tenho um celular Vivo e só uso pra falar, devo mudar? Não precisa, mas pelo não paga mais que 200 reais pelo celular, a cima disso é dinheiro jogado fora.



O maior beneficio que a Vivo tem são os refens dela, que não mudam de operadora para não peder o número, digo refens, porque essas pessoas não tem escolha, tem que ficar na Vivo e acabou. Para os destemidos que querem mudar, vale lembrar que quando você muda de operadora, a sua operadora antiga tem que colocar uma mensagem no seu numero antigo informando que você mudou de número!

quarta-feira, 17 de novembro de 2004

Mozilla Firefox 1.0

O dia 9 de novembro tem que ficar na nossa memória, depois de mais de 2 anos de desenvolvimento, foi lançado o Mozilla Firefox 1.0, que hoje é o melhor programa para navegação na Internet.



Durante algum tempo eu quiz utilizar o navegador Mozilla como meu browser principal por ele ter varias caracteristicas que não existiam no Internet Explorer. Mas durante muito tempo minhas tentativas foram frustradas porque não consegui utilizar o Mozilla Suite. Olhar para ele era meio estranho, e na realizadade não sei dizer realmente qual o problema que não me deixava utiliza-lo.



Foi então que em outubro de 2002 eu tomei conhecimento de um projeto da Fundação Mozilla, com a intenção de recriar a interface grafica do navegador do mozilla suite. Alguns objetivos eram, ser mais leve e mais amigavel. Resolvi fazer mais um teste, e baixei o Phoenix 0.1 codinome Pescadero.



Não precisava instalar, era soh deszipar e sair usando. Ao executar pela primeira vez tive uma impressão muito boa, e então a partir desse momento, o Phoenix passou a ser meu browser principal. Ele dava muitos problemas, não tinha muitas opções, mas mesmo assim eu passei a achar melhor do que utilizar o Internet Explorer e eu estava gostando muito da experiência.



Eu lembro do episódio que eu estava falando com meu irmão no chat do terra e deu problema no Phoenix e fechou a janela. Quando voltei soltei um "Maldido Phoenix :)". Eu não deveria ter feito isso, tinha uma pessoa com o apelido de Phoenix no chat, e devia ser amigo de todo mundo que se revoltaram contra mim. Até eu provar que não estava me referindo ao cara, mas ao navegador, fui bastante mal tratado :D.



Depois o Phoenix virou Firebird, e em Janeiro desse ano virou Mozilla Firefox, já bem estavel e muito amigavel. Utilizei todas as versões, e muitas versões de desenvolvimento, acompanhei de perto a evolução desse navegador, e posso atestar, o Mozilla Firefox hoje é o melhor navegador disponivel.



Em paralelo a isso, a Microsoft parou de desenvolver o Internet Explorer. Lembro que na corrida pela lideraça dos browsers o Microsoft lançava versões rapidamente, cada versão nova com novas caracteristicas e melhorando o Internet Explorer. Depois que dominou o mercado, parou de desenvolver, esse é o perigo do monopólio. E de 2002 até 2004 o que se viu foi o domino dos spyware, dos perigos na navegação, das brechas de segurança no Internet Explorer. Como pode um programa ser instalado no computador com uma simples visita a uma página? Com o Internet Explorer isso é possivel.



Para mim um navegador deve simplesmente interpretar a linguagem de marcação HTML e mostrar a página bem formatada seguindo aos padrões. Mas o Internet Explorer consegue não seguir aos padrões e ao mesmo tempo fazer muito mais do que simplesmente interpretar as páginas. Não sei como mas a Microsoft conseguiu infiltrar o Internet Explorer no Windows. E o grande problema disso é que quando o Internet Explorer tem problemas, compromete o sistema operacional inteiro. Mas tudo para poder dizer agora que é impossivel retirar o Internet Explorer do Windows. Coitado de quem depende do Windows e utiliza o Internet Explorer.



Hoje, graças a Fundação Mozilla, nós temos um navegador moderno, seguro, eficiente, e de graça, que eu, você e qualquer um pode utilizar seja em Windows, Linux ou MacOS. Se você não conhece, teste, se você já conhece divulge. Eu acho que quem utiliza o Intenet Explorer no Windows é muito destemido e corajoso, motivo de admiração.



Então, eu digo: teste, use, e comprove que o Mozilla Firefox é o melhor browser que existe. O Mozilla Firefox tem menos de 5 MB.



Faça o download agora do Mozilla Firefox:

E visite a Funcação Mozilla em Português ou em Inglês.



E seja feliz :)



Editado: Arrumado os Links para as página da Fundação Mozilla.

quinta-feira, 21 de outubro de 2004

Javascript. A pior linguagem do mundo!

Pois é, é isso que eu penso. Eu acho que Javascript é a pior linguagem que eu utilizo no meu dia a dia. Mas como sou desenvolvedor Web, não tenho outra escolha, então, tenho que engolir o Javascript.



Em qualquer linguagem, quando estamos escrevendo o código, já é possivel saber, ou pelo menos ter uma idéia, do que vai acontecer quando aquele código for executado. Com Javascript isso não acontece, só é possivel saber o que um trecho de código vai fazer executando o código. Nesse caso, o código pode funcionar como esperado, não funcionar, dar um erro normal, ou um erro maluco que não se pode endenter. E para qualquer tipo de código essas 4 situações são possiveis.



Um grande problema certamente são os diferentes navegadores executando o Javascript cada um a sua maneira. Qualquer código deve ser testado em no mínimo dois browser. Como eu não tenho o KDE, nem um iMac (aceito doações) , sempre testo meus sistemas web no Internet Explorer e em algum browser baseado no mozilla. O que permite que meu Html/Javascript vai poder ser rodado em todas as plataformas. E com isso, sou obrigado a por os inevitávies if (browser.isIE) no código.



Mas o pior do Javascript certamente é a falta de lógica. Já me vi com problemas do tipo 101.23 + 0.01 = 101.24000000001. Sim, só dei um round e resolvi o problema, mas a questão é, porque isso acontece?



E esse é só um detalhe, tem muitos outros problemas. Trabalhar com a arvore do HTML é uma coisa que sempre foge da lógica, e é preciso muitas tentativas para se chegar no objetivo final. Gosto de fazer sistemas dinamicos que não atualizam o HTML, mas as informações mudam atravéz do Javascript, e sempre é uma dor de cabeça, as vezes quase piro, mas confesso que a satisfação no final é bem boa. :)



Eu gostaria mesmo era de poder usar o Python no lugar do Javascript. Não to dizendo gerar conteudo dinâmico com o Python, mas sim manipular o HTML com Python, a mesma coisa que fazemos hoje com o Javascript, simplesmente utilizando a sintaxe, e a lógica do Python.



Enquanto isso não acontece, vou tomando muita agua do vazo para entender e programar melhor em Javascript, e torcendo para não precisar dele por muito tempo.

sexta-feira, 1 de outubro de 2004

Arquitetura Java para Web

Trabalhar com Java para Web é muito facil, desde que se utilize as ferramentas certas. Todos os problemas que pode se ter, alguém já passou, e provavelmente alguém já resolveu. Essa é a vantagem de uma plataforma matura.



No Java para o desenvolvimento de sistemas Web é recomendavel a utilização de Frameworks, que facilitam muito o trabalho, e deixam o programador se preocupar apenas com as regras de negócio. Detaco 3 framewords:

  • WebWork: já falei muito dele aqui, é um excelente framework para programação MVC com java para web. É facil de se usar e ajuda muito no desenvolvimento.
  • Velocity: é um sistema de templates para Java. Com o Velocity, toda a camada de visualização pode ser feita com tags especificas dele, e sem a necessidade de usar códigos Java no meio do HTML, como no caso do JSP
  • Hibernate: um framework que faz o mapeamento entre o modelo orientado a objetos e o modelo relacional. É uma unanimidade, é poderoso, é facil de usar. Com o Hibernate, buscar informações complexas do banco de dados se torna muito fácil.
O desafio maior é unir esses 3 framewords, e reconheço que essa não é uma tarefa muito facil. O Velocity já vem junto com o WebWork, mas por o Hibernate junto com eles de maneira correta é um desafio que pode deixar qualque um louco.



A primeira vez que utilizei essa arquitetura foi a uns 6 meses, apanhei muito, uns 3 meses depois precisei novamente e apanhei muito de novo, e essa semana me vi de novo nesse desafio. Ta certo que no inicio eu apanhava 5 dias, e agora apanho só um dia, mas com certeza não é um trabalho que faço com "um pé nas costas". Nesse caso, os detalhes fazem a diferença.



Para quem quer apanhar menos, tem um um exemplo muito bom feito pelo hibernate que integra as tecnologias. É o AdminApp, e para rodar ele só é necessário ter o mysql rodando.

quinta-feira, 23 de setembro de 2004

Mostrar um DIV sobre um SELECT, impossivel?

Qualquer um que já tenha feito meia duzia de páginas web na vida com alguns recursos de DHTML já se passou por esse problema, o elemento <SELECT> fica na frente de qualquer outro elemento no Microsoft Internet Explorer. Não tem jeito, o elemento <SELECT> não entende o zIndex no engine da Microsoft!

E eu, assim como todo mundo, sabia que era impossível resolver esse problema. Então, fui ler alguns documentos na MSDN para tentar entender o problema e percebi como é confuso e ruim esse engine de páginas do Microsoft Internet Explorer. Vamos as conclusões:
  • O <SELECT> não entende o zIndex, e é o zIndex que faz o posicionamento para frente e para traz dos elementos na tela. Bem, isso todo mundo já sabe, e esse é o problema, mas é por ai que ascoisas realmente irão ficar estranhas.
  • O <IFRAME> entende o zIndex como qualquer outro elemento HTML, só que o <IFRAME> tem uma propriedade especial, que ele consegue ficar na frente do <SELECT> desde que tenha um zIndex maior que o do <SELECT>, e lembre-se que eu disse que o <SELECT> não entende o zIndex, e realmente não entende, tá na documentação, mas nesse caso, pense que ele entende :). Então nessa hora pensei: Eu tenho um cachorro, e ele se chama BINGO!!!!!!
  • Agora vem a parte mais estranha, o <IFRAME> consegue ficar na frente do <SELECT>, e o <IFRAME> entende o zIndex como todos os outros elementos, então meu amigo, olha a confusão, se você colocar um <IFRAME> sobre um <SELECT> e colocar um <DIV> sobre o <IFRAME> com um zIndex maior que todos os outros elementos, SUA <DIV> VAI FICAR NA FRENTE DO <SELECT>. Ai está a solução para um dos problemas mais bizarros da humanidade.
Eu fiz uns testes e ficou perfeito. Nunca mais vou ter problema com os malditos combos. Realmente valeu a pena todo o trabalho que eu passei pra entender primeiro, como funcionava as páginas da MSDN e depois para entender o MSHTML e descobrir que ele é pior do que eu pensava.

Nos meus testes coloquei um iframe oculto na página:
<iframe id="iFrameMenu" src="" style="visibility: hidden; position: absolute; z-index: 2;"></iframe>

Criei o como com um zIndex menor:
<select id="combo" style="z-index:1" >

O <DIV> do menu eu criei normal, só que na hora de mostrar eles na tela a jogada é colocar o <IFRAME>, na mesma posição do <DIV> com a mesma altura e larguro, e com um zIndex menor. Neste caso, o <DIV> vai esconder completamente o <IFRAME> e vai parecer que ele nem existe. Só que, se por algum motivo alheio a nossa vontade, tiver um <SELECT> no mesmo espaço onde ta o <DIV>, o <IFRAME> vai fazer com que o <SELECT> fique atraz do <DIV> que está na frente.

É enrolado, mas é isso, para entender melhor, de uma olhada nesse exemplo. Para complicar um pouco mais, nesse exemplo eu coloquei o <SELECT> dentro de outro <IFRAME>.

E pronto meu amigo, seus problemas com o <SELECT> acabaram! Eu realmente odiava muito ter que esconder os um monte de campo quando abria um menu. Já vi situações em que a tela toda ficava escondida quando se abria o menu somente por causa desse problema.

E eu ainda fico pensando, as vezes me passa pela cabeça que o Bill Gates é uma lenda urbana, e a Microsoft é na verdade meu visinho de 16 anos que passa o dia e a noite programando e não ganha dinheiro porque todo mundo pirateia o Windows. Como pode uma empresa que diz ter milhoes e sem saber o que fazer com o dinheiro não resolver um problema desses que incomoda tanta gente? Eu sinceramente não sei a resposta, mas tenho uma coisa a dizer: Seja Feliz!

quinta-feira, 16 de setembro de 2004

Python, você ainda vai programar com ele

Se você ainda não conhece Python, corra para www.python.org e comece a brincar com ele. Python é legal, é facil, é orientado a objetos, é rápido, roda em quase todos sistemas operacionais e é grátis e de código aberto.



Tenho feito várias coisinhas em Python, e estou gostando muito, ultimamente tenho brincado com a libgmail, que é uma biblioteca que me permite manipular minha conta no gmail atravéz do python.



Uma coisa que me incomoda são as comparações do python com outras linguagens utilizando o critério: "Python é melhor porque faz a mesma coisa em menos linhas de código". Ai eu pergunto, será que uma linguagem é melhor que outra simplesmente pela quantidade de código necessário para desenvolver algo? Eu realmente acho que não! Pegar trechos de código em duas linguagens e com esses argumentos decidir qual a melhor pra mim é burrice, e chega até a ser engraçado. Com certeza Python tem muitas vantagens em relação a Java, C++, C#, mas são necessários dados mais concistentes para fazer as comparações. Em um sistema que vai controlar uma empresa que fatura 10 milhões de reais por mês, a quantidade de linha de código é o fator mais importante? Estar disponivel, fácil manutenção, facilmente escalavel, suporte da industria e mais um monte de itens que devem ser levados em consideração não seriam requisitos mais importantes? Ficam essas perguntas.



Também estou tentando fazer alguma coisa em python para web, confesso que não estou tendo muito sucesso, mas certamente é falta de conhecimento meu. Existem muitas ferramentas para desenvolvimento de python para web, e eu destaco o WebWare e o mod_python. Vale a pena dar uma olhada.



Eu acredito que python tenha um futuro promissor. Tenho visto cada vez mais aplicativos desenvolvidos em python com finalidades bem diferentes. Sinto falta ainda de uma ferramenta de desenvolvimento poderosa, que eu possa utilizar todo o poder do python mais facilmente, mas com certeza, logo logo existirão várias dessas por ai.

sexta-feira, 3 de setembro de 2004

Gmail Invitations Fest!

Para quem ainda não sabe. O Gmail é o webmail do Google. Ele oferece 1.000 MB (1 GB) de espaço pra guardar os e-mails e uma interface inovadora.



Como ele ainda é beta, para se cadastrar é necessário receber um convite de alguém que já está cadastrado. E os convites são limitados, diferente do orkut que quem se cadastra pode convidar quantas pessoas quizer.



Nos ultimos dias o Google tem sido bastante gentil e está disponibilizando bastante convites, e por isso estou promovendo a Gmail Invitations Fest e para ser convidado* basta enviar um pedido para redbrain@gmail.com informando em qual e-mail você quer receber o convite. Não é necessário pagar nada, nem ser meu amigo, nem fazer nenhum favor. Mas terá que ficar eternamente agradecido. Mais uma coisa: aproveite, mas não abuse!



* Promoção válida enquanto durarem os estoques.

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!

terça-feira, 13 de julho de 2004

PostgreSQL para Windows

Tenho utilizado o PostgreSQL a anos com muito sucesso. É um SGBD muito bom e nunca me deu problemas.



A maior reclamação em relação a ele é não ter uma versão nativa para windows. Então, alguém (os desenvolvedores do PostgreSQL) escutou nossas preces.



A próxima versão do PostgreSQL (7.5 ou 8.0) virá com suporte nativo ao Windows. Isso quer dizer que não será mais necessário utilizar o CygWin para rodar no windows. Será compilado com o ambiente MinGW.



Atualmente essa versão se encontra em desenvolvimento, mas eu estou usando e não tive problema até agora. Para instala-la é necessário seguir alguns passos, mas quando for liberada a versão final, terá um instalador gráfico para fácil instalação.



No endereço http://momjian.postgresql.org/main/writings/pgsql/win32.html é possivel encontrar o status do desenvolvimento do PosgreSQL para Windows e no endereço http://www.hagander.net/pgsql/win32snap/ é possivel encontrar a versão de desenvolvimento já compilada para Windows e os passos para sua instalação.



Quase que traduzindo, para instalar a versão de desenvolvimento do PostgreSQL no Windows:



1) Fazer o download a versão já compilada Aqui.

2) Descompactar o arquivo em uma pasta vazia (um bom lugar é: c:\postgres).

3) Adicionar no PATH do sistema o diretório bin e o diretório lib da pasta onde o arquivo foi descompactado

4) Adicionar a variavel de ambiente PGDATA com valor o endereço da pasta onde irá conter os dados do banco (por exemplo c:\postgres\data).

5) Abrir uma janela de comando e digitar: initdb -L "c:/postgres/share". Note que as barras são invertidas e a pasta c:/postgres é a pasta onde foi descompactado o arquivo do PostgreSQL.

6) Agora o o PostgreSQL já pode ser inicializado, simplesmente digitando o comando postmaster. Para fechar apenas aperte Control+C com o foco na janela.

7) Para entrar no banco, abra uma outra janela de comando e digite psql template1.



Na minha opinião, o PostgreSQL não deixa nada a desejar em relação ao Oracle. Só não tem o nome e o suporte da Oracle. Então, descartando o nome, se alguem precisa de muuuito suporte, utilize Oracle Database, caso contrario PostgreSQL na certa, e hoje muitas empresas já prestam suporte ao PostgreSQL.

segunda-feira, 5 de julho de 2004

Interfaces em XML é com o XUL

Ultimamente tenho ouvido falar muito em interfaces em XML. Isso realmente graças ao excelente departamento de marketing da Microsoft. O proximo Windows irá utilizar o conceito de criação de janelas especificadas em arquivos XML.



Esse conceito não é novo. Eu conheci o primeiro programa escrito com interfaces em XML em outubro de 2002 (ou seja, a quase dois anos) e se chamava Phoenix, programa que hoje recebe o nome de Mozilla Firefox, e que muita gente utiliza por ai. (O que, você ainda não usa?? Então corre e pega em http://www.mozilla.org.br/firefox/).



Desde então, me interessei pelo conceito, e hoje vejo como sendo melhor do que contruir telas do modelo tradicional.



O mais legal é que estou contruindo telas para web com o XUL e certamente esse será o futuro, o pobre mas bravo HTML não irá resistir muito tempo, pelo menos não como se encontra atualmente. Construir telas em XUL é simples e rapido e estou utilizando com os conhecimentos que já possuo. Achei essa uma grande vantagem do XUL, não preciso jogar tudo que sei no lixo e começar de novo.



Estou utilizando XUL com o WebWork/Velocity e os resultados são fantásticos. Quem olha meus programas tem certaza que é uma aplicação em VB (neste caso pode ser um elogio). Mas tem todo o poder do Java e as caracteristicas MVC que o WebWork proporciona, é realmente muito interessante. Veja uma imagem de um exemplo que eu fiz.







Este exemplo não foi dificil de fazer, e é interessante notar todas as funcionalides. As abas embaixo, os menus. Para fazer isso em HTML iria levar anos, mesmo utilizando scripts prontos disponíveis na internet. E certamente não ficariam com as mesmas funcionalidades. É bem legar poder usar ALT+A e abrir o menu de arquivo!



O XUL proporciona um poder muito grande. Basta ver todas as funcionalidades do Firefox. Tudo isso dá pra fazer em sistemas XUL.



Mais detalhes sobre o XUL em http://www.xulplanet.com.



No próximo windows, vai existir o XAML. Vi algumas comparações e o básico é bem parecido com o XUL.



Outra alternativa para o futuro é o trabalho de um grupo formado pelo Mozilla e pelo Ópera para criar novos controles para o HTML, mais informações no endereço http://www.whatwg.org/

segunda-feira, 28 de junho de 2004

Atualização 1 do Guia para Iniciantes do WebWork

Finalmente consegui atualizar o Guia para Iniciantes do WebWork. Atualizei conforme o retorno que tive de quem leu. Obrigado a todos.



Neste meio tempo, o WebWork foi atualizado. Agora está na versão 2.1. O guia continua valendo 100%. As modificações ficam por conta de correções e algumas caracteristicas avançadas, não influenciando no guia.



Estou enviando também como artigo para o GUJ (http://www.guj.com.br) acho que lá terá mais visibilidade e mais pessoas irão encontra-lo :).



Agradeço novamente a quem me ajudou e sempre me mandem sujestões para fazer um Guia Inicial do WebWork cada vez melhor!



O link de download está aqui http://erainfo.blogspot.com/2004/06/guia-para-iniciantes-do-webwork.html

terça-feira, 22 de junho de 2004

OpenOffice

Essa semana saiu uma nova versão do OpenOffice. O download pode ser feito Aqui!



Tenho utilizado o OpenOffice regularmente e acho ele muito bom. No inicio eu estranhei um pouco por estar acostumado com o Word mas após pouco tempo de uso estava completamente adaptado a ele. Nos meus trabalhos da faculdade ainda me dou ao luxo de entregar sempre em PDF :D



O Guia do WebWork eu fiz com ele, e todas minhas necessidades foram supridas pelo OpenOffice. Ou seja, ele é sem dúvida uma alternativa viável ao Microsoft Office. E é de graça. Na finalização do Guia eu fui imprimir lá no trabalho, que só tem Word, me enrolei todo no Word, não tinha percebido como o Word é dificil e diferente do normal né :).



Acho que o maior exemplo é o Metro de São Paulo. Lá eles usam o OpenOffice em mil estações, e os resultados foram os melhores possiveis.



Outra vantagem que eu vejo é o fato de que utilizando OpenOffice não é necessário estar preso a um sistema operacional. Ele roda tanto em windows como em linux, então dá pra ficar tranquilo em caso de mudanças de SO.



Acho que a interface dele poderia melhorar. Eu vejo o OpenOffice como o Mozilla, muito bom, mas com a interface "bruta". Talvez falte algo que faça para o OpenOffice o que o Firefox fez para o Mozilla.



Para quem não conhece, eu recomento testar por uma semana. E para facilitar um pouco as coisas segue alguns links com apostilas e manuais do OpenOffice:



Manual do Metro-SP



Apostila da Assembléia Legislativa do Estado de Minas Gerais



Apostilas da Unicamp



Varias dicas e Manuais

sexta-feira, 18 de junho de 2004

Inteligência Desperdiçada

Hoje eu estava fazendo um trabalho para a faculdade, e ele foi perfeitamente ao encontro do que eu venho pensando a muito tempo. O modo como as empresas que desenvolvem softwares trabalham e o modo como elas utilizam a mão de obra disponível.



Quantos funcionários têm boas idéias, sejam elas de nível técnico ou operacional, que poderiam melhorar muito o produto, ou o ambiente da empresa, mas quando eles chegam no chefe para tentar expor as idéias o coordenador de projetos pergunta: você já terminou os HTML’s que eu pedi? E ele volta cabisbaixo para sua mesa.



Ou quando um programador gostaria de usar um framework no seu trabalho que iria diminuir 50% do trabalho e o produto ficaria muito melhor e o seu chefe diz: aqui agente tem que programar de verdade, não podemos ficar brincando com frameworkzinhos.



Vejo realmente que muitas empresas trabalham como as montadoras de carros da década de 50. E o pobre programador é o cara que coloca o parafuso na roda, faz isso e pronto, não deve fazer mais nada, nem tentar achar uma maneira melhor de colocar o parafuso.



O que eu vejo são empresa com excelentes vendedores, mas não tão excelentes coordenadores e administradores.



É importante lembrar que os casos aqui expostos são fictícios e criados para melhor expor a idéia! :) E a base para essas idéias foi o que eu vi e ouvi nesses muitos anos de trabalho como desenvolvedor.

quarta-feira, 16 de junho de 2004

Agregadores de Notícias

Eu sou simplesmente tarado por notícias. No meu bookmark tem muitos sites de notícias e quando eu fico um dia sem saber as notícias de um deles fico até meio nervoso :). E para a minha felicidade, hoje eu posso juntar todas as notícias em um só lugar, graças aos agregadores de notícias. Com eles eu posso ler somente as notícias que realmente me interessam!



Os agregadores se baseam no conceito de Feed, que são os títulos e uma pequena parte das notícias em um arquivo XML com o link para o site da notícia completa. Hoje os feeds não são usados apenas para noticias e os blogs também tem seus feeds.



Esses arquivos XML podem ser de vários formatos (vários mesmos), mas os dois formatos mais utilizados são o RSS e o Atom. O RSS é um dos primeiros formatos, e o Atom é um dos últimos e por isso tem alguns recursos a mais.



Na prática não existe muita confusão nos formatos dos arquivos XML. A maioria dos agregadores funcionam com quase todos os formatos. Então não importa se um site disponibiliza o feed em Atom ou em RSS ou em algum outro formato, provavelmente o seu agregador de notícias favorito vai ler.



Os agregadores podem ser via web ou um programa que deve ser instalado no computador. Para ter acesso as notícias de um site, é necessário cadastrar o site no programa adicionando o endereço na internet do arquivo XML.



Eu gosto dos abregadores via web porque posso acessa-los de qualquer lugar. E destaco dois deles:



Yahoo RSS Headlines (www.yahoo.com)

Está em beta ainda, mas tenho utilizado ele diariamente. Eu tenho uma conta no My Yahoo com quatro páginas repletas de feeds cadastrados. Então tudo que eu preciso fazer é, ver estas quatro páginas para ver as noticias de muito sites.



Bloglines (www.bloglines.com)

Outro excelente agregador. Tem mais recursos que o do Yahoo, entre eles permite salvar as notícias, e lhe dá dicas de outros feeds de acordo com os que você já tem cadastrado.



Existem também varios programas agregadores, uma lista deles pode ser encontrada em: http://blogspace.com/rss/readers.



O EraInfo também tem o seu Feed, basta você adicionar o endereço http://erainfo.blogspot.com/atom.xml no seu agregador de notícias. Como da pra perceber o formato é o Atom, que foi o escolhido pelo Blogger.com

terça-feira, 15 de junho de 2004

Sucesso do Guia

O que eu não esperava aconteceu! :D em quase uma semana recebi muitos e-mails e muita gente baixou o leu o meu pequeno Guia do WebWork 2. E obrigado pelos elogios!



Primeiro eu gostaria de agradecer o pessoal do forum do GUJ que me ajudou muito no meu aprendizado do WebWork, acho que faltou isso no outro post. Quero agradecer o Vitor Souza também pelas dicas que me deu após ler o guia.



O Vitor me perguntou se eu iria escrever mais sobre o WebWork e eu disse pra ele que vou continuar atualizando o guia, mas não irei aumentar o escopo. Ele então me disse que irá criar mais documentação do WebWork em português. Só posso desejar sucesso, e obrigado por estar ajudando a todos. E quem puder dar uma ajudinha manda um e-mail pra ele, acho que o Vitor vai gostar de contar com o apoio de mais pessoas. O blog dele é o Engenho e o e-mail do Vitor é vitor@maxima-ti.com.br.



Então já tomei algumas medidas mudando as coisas por aqui. O guia agora se chama oficialmente Guia para Iniciantes do WebWork. Estará em constante atualização. Na sexta eu irei colocar a disposição a nova versão com as modificações que o Vitor me passou. Para quem estiver na dúvida, a partir de agora é para se usar o apenas termo "WebWork" se refenciando ao ultimo release do WebWork, no caso, o WebWork 2. No site oficial será assim, e eu irei mudar todas as referencias de WebWork 2 para WebWork apenas.



Como isso é um blog, e os textos antigos ficam para traz, se alguém quiser linkar com post do guia use a URL: http://erainfo.blogspot.com/2004/06/guia-para-iniciantes-do-webwork.html ela vai direto para o post do Guia para Iniciantes do WebWork. Assim esse post não se perde :)



Obrigado novamente a todos que me escreveram!

sexta-feira, 11 de junho de 2004

Guia para Iniciantes do WebWork

Eu sempre gostei de desenvolver sistemas baseados em Web, e desde o tempo que eu fazia este trabalho em PHP sempre tentei melhorar a arquitetura dos softwares.



Agora com o Java, tenho a disposição vários frameworks que me ajudam muito no desenvolvimento, e de vários eu destaco o WebWork. O WebWork me proporciona tantos recursos, que desenvolver sistemas baseados em Web deixou de ser uma tarefa dificil e hoje eu me pergunto como fiquei tanto tempo sem ele.



Eu conheci o WebWork faz uns 4 meses, e desde o ano passado eu já trabalhava com o Struts, então eu já conhecia o conceito de MVC. Mas quando comecei a utilizar o WebWork que percebi o poder de ter um sistema totalmente em MVC e desacoplado da camada Web. Utilizando junto com o Hibernate, o desenvolvimento se torna muito facil, muito reutilizável, e facilmente alterável.



O único senão do WebWork é sua documentação. Realmente ela é bem pouca, e em português tem menos ainda. E por isto que num esforço sobre natural, deixo aqui minha contribuição. No ultimo mês estudei muito o WebWork e desenvolvi um pequeno guia para os iniciantes neste framework. Este guia se destina a quem já desenvolve em java e deseja conhecer o WebWork. Mas ele ta longe de ser um guia completo, o objetivo são as lições iniciais. Minha idéia é de complementar o guia permanentemente.



Disponibilizo o guia no formato PDF, e permito sua livre distribuição, em caso de publicação em outros endereços gostaria que fosse colocado um link para cá!



Disponibilizo ainda os fontes do guia no formato da aplicação web com as bibliotecas do WebWork incluidas. que também pode servir como base para outras aplicações.



Guia para Iniciantes do WebWork [170K]

Fontes do exemplo do Guia do WebWork 2 [1.380KB]



[Ultima Atualização: 28/06/04]

EraInfo

Bem vindo, este é o EraInfo.



Será postado aqui artigos, tutoriais, noticias, comentários sobre a tecnologia da informaçao.



Obrigado pela visita.