sábado, 10 de novembro de 2007

Teclanto Alto... já no GeoBlogs

contemconteudo Meu agradecimento ao Mauro Amaral do blog Contém Conteúdo que adicionou o Teclando Alto... ao projeto GeoBlogs.

A idéia é mapear os pontos geográficos de origem dos blogs cadastrados usando o GoogleMaps. Vários blogs já fazem parte.

Visite o Contém Conteúdo e adicione o seu blog também. As instruções estão no seguinte post:

VEJA O POST

sexta-feira, 9 de novembro de 2007

Boa definição do AIR


"We wanted for a long time to create a desktop presence. Previously, our team agreed it was too expensive and couldn't be done. Then along came Adobe AIR."


"Há muito tempo nós queríamos criar uma presença 'Desktop'. Anteriormente nossa equipe concordava que era muito caro e não podería ser feito. Então veio o Adobe AIR."

Essa frase é do Alan Lewis, gerente do projeto eBay Desktop e que define muito bem o propósito de aplicabilidade do AIR. Em poucas palavras ele permite o fácil, rápido e consequente viável desenvolvimento de aplicações Desktop integrado (ou não) a recursos Internet (vide observação abaixo).

Alguns avalistas que pensam da mesma forma:

obs: importante citar que "internet" não é sinônimo de "web". devemos compreender que "web" ou "www" é um dos serviços possíveis e contidos na internet.

terça-feira, 6 de novembro de 2007

...proximo! Google Switch!

É... eu nunca vi tanto anúncio de uma só vez partindo de uma única empresa de tecnologia em período tão curto de tempo. É OpenSocial, novas APIs, Gmail suportanto IMAP, e agora essa novidade: Um celular Google!

Tem gente citando a parada dele ser o iPhone killer...
Eita... ninguém cansa desse modismo "killer" não? Não consigo me lembrar de nenhum "killer" anunciado realmente matar ninguem... pelo contrário.. móóóórreu!


Embora a notícia antiga no press release cite apenas uma iniciativa cooperativa entre Google e Samsung de lançar aparelhos com acesso nativo aos serviços Google Maps, Search e GMail, o que se sabe hoje é que o que vem por ai é um Sistema Operacional para dispositivos móveis by Google, assim como várias outras fontes já vem anunciando. E isso realmente é fantástico! A iniciativa do Google "sería" baseada em software de uso livre e a vastidão de APIs que já existem poderíam (poderão) ser aplicadas no ambiente móvel.

Eu ainda não sei o impacto disso para o WindowsMobile, pois o mesmo é peça chave para muitos negócios muito bem difundidos no planeta e na área como um todo. Quanto a ele, a única coisa que me preocupa um pouco e a popularidade, ainda longe do ideal, que o FlashLite tem. Não sei ao certo, mas acho que ela sería abalada de alguma forma sim.
Mas, para o PalmOS por exemplo, penso que certamente sería uma boa pancada (talvez ai sim mortal, mas parece que ninguém anda ligando muito pra isso).

Insistindo no tema do iPhone, num caso mais crítico, bastaría a Apple começar a entregar o seu aparelho com o sistema do Google ao invés do MacOS e as vendas estaríam salvas.

Caramba... olha que aplicativo legal dá pra imaginar: PeopleSearch! Numa interface do Google vc digita o telefone de quem vc procura, ele abre o Google Maps e mostra a localização! (Nesse caso, bom poder escolher uma opção "Aparecer Online mas em outro lugar... Hahahahaha").
Sua agenda de contatos: Contatos do Gmail... fora a integração com as demais APIs né... OpenSocial, Calendar, GTalk como gerenciador SMS, etc.

segunda-feira, 22 de outubro de 2007

CF_SSLPOP referenciada no ColdFusion Open-Source Update

A CustomTag já está entrando em uso por ai. Recebi vários emails elogiando o trabalho e esse reconhecimento tem agregado mais entusiasmo para novas atitudes colaborativas para a sociedade de desenvolvedores ColdFusion (e outras tecnologias) como foi essa pequena contribuição.
Engraçado é que o pessoal lá de fora valoriza mais o trabalho da gente do que os nossos conterrâneos. Pra mim isso é um tanto quanto estranho, mas tudo bem...
Aproveitando a oportunidade, ao mesmo tempo da publicação na lista de Open-Sources em ColdFusion, recebi a notícia de que o RiaForge não mais dará suporte às licenças do Creative Commons. Ainda não entendi o motivo mas vou procurar saber. Assim, a CustomTag CF_SSLPOP agora está sob o modelo de licença BSD.

segunda-feira, 15 de outubro de 2007

ColdFusion Custom CF_SSLPOP disponível no RIAForge



Baseado no post a respeito de implementação SSL com a tag CFPOP do ColdFusion, embora o código esteja aberto e disponível para que cada um implemente da forma que achar conveniente, resolvi criar uma custom tag para facilitar a vida de quem quiser implementar o recurso.

Serve como mais um exemplo de uso do código e o mesmo pode ser extraído para ser utilizado em CFCs, UDFs e etc.

O modelo de licença que escolhi foi o "creative commons (attribution)" que o torna livre para ser utilizado e implementado como quiser, mantendo apenas a obrigatoriedade de citar a procedência/fonte da informação.

Visite a página do projeto no RIAForge.com

sábado, 13 de outubro de 2007

Connecting to Gmail using CFPOP

This is a brief translation of the original post regarding the same subject in brazilian portuguese.

Researching the web (and also after hours trying some native solution) I could realize a lot of people had already tried to use to retrieve data from their Gmail accounts. It makes a lot of sense, but unfortunately doesn’t implements SSL on its algorithm. It makes impossible to reach the desired result.

After some hours looking for solutions for this, discarding the option to use CFX_POP (paid solution), we and my colleague Jefferson Petillo decided to research some alternative. I choose to go into Java direction and after some time researching I found this post (http://unk1911.blogspot.com/2005/12/gmail-via-pop3-in-java.html).

Based on it, I wrote the following simple lines of code to successfully retrieve messages from my Gmail account using :



IMPORTANT: Comparing the original code I had as the base to produce mine, you can realize I omitted the definition ("mail.pop3.socketFactory.fallback", "false") that is equivalent to define it as TRUE. This FLAG makes JVM recovers or not the original “SocketFactory” class used on Pop3 Socket connections that is “javax.net.SocketFactory". If FALSE is defined to “fallback” flag, JVM, from here on, will always use SSL in future Pop3 Socket connections until "mail.pop3.socketFactory.class" is defined back to “javax.net.SocketFactory” instead of "javax.net.ssl.SSLSocketFactory" we are using to implement SSL. For a ColdFusion shared environment it would result on an undesired situation where every Pop3 Socket connection made from any application running that server instance, to use SSL when was implemented. This would produce a connection error when POP server doesn’t requires SSL.

Regarding this, the better way to implement this solution would be:



Where “someFlag” will be some variable indicating SSL is required for next request. It could be, for example, a checkbox form field that will exists in FORM scope if it was checked. In this case “someFlag” can be replaced simply by:



GREAT QUESTION: Why isn’t it already implemented as a simple parameter, just like SSL=”true/false” by Adobe / Macromedia / Allaire?


Special thanks:
The author of the original Java solution posted here http://unk1911.blogspot.com/2005/12/gmail-via-pop3-in-java.html and Jefferson Petilo for his help, curiosity, effort and sleepiness.

Conexão ao Gmail usando CFPOP

Muitos já pensaram nisso e provavelmente já passaram pelo “problema” de tentar uma conexão ao servidor do Gmail para resgatar mensagens usando a tag <cfpop... . O problema refere-se ao fato de que o Gmail implementa SSL na conexão aos seus servidores e a tag <cfpop> não possui suporte a uma conexão com essa especificação.

Nesta necessidade, muitos acabam por investir na aquisição da tag CFX CFX_POP que implementa conexão ao servidor usando SSL.

Ontem (12/10/07) das 11:30PM até umas 2:30AM de hoje, eu e meu colega Jefferson Petillo ficamos tentando de várias formas estudar uma solução direta com o ColdFusion. Depois de várias tentativas estudos e fracassos, descobrimos que simplesmente o ColdFusion não implementava de forma nativa condições para completar esta operação.

Por ter estudado bastante o que falta para que o ColdFusion permita esta funcionalidade, ficamos perplexos em tomar conhecimento de que a implementação para a solução deste problema nos parecia à princípio simples. E com este pensamento nos questionamos sobre qual sería o motivo deste recurso não encontrar-se implementado no produto.

Como não ficamos satisfeitos só em aguardar uma solução, ao passo que notamos que a solução poderia ser simples, nos dividimos em pesquisas. Eu optei por estudar a solução usando Java.

Enfim, assim que acordei, ansioso em achar a solução para essa questão, parti para a pesquisa e à partir do que encontrei aqui neste post (http://unk1911.blogspot.com/2005/12/gmail-via-pop3-in-java.html), acabei descobrindo que a solução é muito mais simples do que eu imaginava à princípio.

Fato técnico: Para que uma SESSION a um servidor SSL seja estabelecida, primeiramente HOST e CLIENT devem estabelecer um HANDSHAKE com sucesso. Isso ocorre via SOCKET.

O problema teórico: Embora não tenha acesso ao código fonte, me parece óbvio então que entre duas suposições, uma é verdadeira: 1 – O algoritimo da tag <cfpop> não implementa o Handshake. 2 – Há um bug nesta implementação. Embora pareça óbvia que a verdadeira suposição seja a primeira, baseado no fato de que o CF8 possui em sua interface de administração a opção de ativar SSL na conexão ao servidor de email (vide figura 1), pode-se supor que exista a verificação desta opção no algoritimo do <cfpop>. OK! As opções no administrador, à princípio refere-se à configuração de SMTP e não POP. Mas, por mais absurdo que pode ser, é uma suposição.

A solução teórica: Antes de implementar um request (que ocorre via socket, naturalmente) usando a tag <cfpo>, forçar o handshake com o HOST (servidor POP) usando SSL.

Solução prática: Implementa-se esta solução, simplesmente definindo-se nas propriedades do JVM (obtido via System.getProperties()) as informações corretas para que seja utilizado SSL (obtido através de javax.net.ssl.SocketFactory) no processo de conexão. Vide código abaixo:



IMPORTANTE: Repare que em relação ao código original, a definição da seguinte propriedade ("mail.pop3.socketFactory.fallback", "false") foi omitida, o que equivale a deixa-la como TRUE. Esta opção faz com que o JVM retorne ou não ao padrão que é utilizar (("mail.pop3.socketFactory.class", "javax.net.SocketFactory") ao invés de (("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory") que estamos definindo, neste caso, para que na próxima seção de contato ao servidor de email seja utilizado SSL. Se “false” for utilizado, o JVM não irá recuperar a classe original, usando sempre SSL ao proceder um contato com um servidor POP qualquer daqui por diante. No ambiente do ColdFusion, isso prejudicialmente seria o equivalente a fazer com que QUALQUER aplicação rodando na mesma INSTÂNCIA de servidor, sempre utilizasse SSL neste procedimento. Isso fatalmente resultaria em erro de conexão a servidores POP que não utilizem SSL (diga-se, a maioria).

A partir disso, a implementação mais aconselhável sería:



“someFlag” deverá ser alguma variável indicando a necessidade de uso de SSL para esta operação. Por exemplo um campo de formulário do tipo “checkbox” que existirá se for marcado ou não irá constar no escopo FORM caso não tenha sido marcado. Assim, “someFlag” poderia ser substituído por:



A GRANDE PERGUNTA!: Por que isso simplesmente já não foi implementado na tag como um parâmetro, por exemplo, SSL=”true/false” pela Adobe / Macromedia / Allaire?

Agradecimentos:
Autor do Post original com a solução Java em http://unk1911.blogspot.com/2005/12/gmail-via-pop3-in-java.html e ao Jefferson Petillo pela ajuda, curiosidade, empenho e insônia compartilhada.

quinta-feira, 30 de agosto de 2007

Video Gmail


Para quem ainda não viu, vale a pena. O GMail compilou vários clips que eles receberam com o tema de "Como um email do GMail viaja pelo mundo" e montou este clip final.
Tem até gente fazendo a "dança do siri" é mole?

Veja mais em:
http://mail.google.com/mail/help/intl/pt_BR/gmail_video.html

Abaixo o clip original:

terça-feira, 28 de agosto de 2007

Ideas boas ficam...


Bom pessoal, embora a notícia da minha saída do empreendimento ZSolutions tenha ocorrido, acho que é importante e primordial que eu esclareça tão publicamente quanto foi o anúncio da minha entrada no mesmo, quais são os meus planos daqui para a frente.

VIDEO AULAS: Junto com o Ari, na época do início do plano ZSolutions, eu propus a ele um projeto de treinamentos online que inclusive foi anunciado aqui no Blog também. Por requisição do projeto acabei voltando-me mais ao projeto do hosting do que a finalizar essas video-aulas. Cumpri apenas com o que foi ofertado a poucos clientes que surgiram e acabaram por solicitar conteúdos personalizados. Porém há uma grande demanda, que ficou a todo momento solicitando que eu continuasse esse projeto e assim será.

CONSULTORIA & DESENVOLVIMENTO: Este é o trabalho com o qual estou envolvido há mais de 10 anos já e este jamais parou. Pois agora, com uma responsabilidade a menos (o Hosting ZSolutions), estarei me dedicando ainda mais. Dentro de alguns dias inclusive, estarei lançando um projeto pessoal, fruto de um estudo aqui no Blog. Trata-se de uma pequena ferramenta de Monitoramento & Alerta de Status de recursos web. Ele foi originado de uma necessidade apresentada pelo projeto do hosting, mas vou continuá-lo. Fora este projeto, que anunciarei aqui, estou envolvido em mais alguns e sempre disposto a atuar junto a projetos em andamento que necessitem de um profissional experiênte com o meu perfil.

TREINAMENTOS PARTICULARES: Por via do projeto de video-aulas, o as aulas particulares estarão por enquanto interrompidas. Porém, se houver necessidade de treinamento de equipes fechadas, solicito que os interessados entrem em contato comigo.

Bom, é isso! Intel+

ZSolutions



Abaixo, o email que acabo de postar aos clientes, parceiros e amigos à respeito da minha saída do empreendimento ZSolutions (na íntegra).



Prezados clientes, parceiros e amigos,

Muito obrigado pelo sucesso e atenção dedicados à mais esta frente de trabalho da qual participei com empenho e dedicação.

Felizmente mais uma vez levo comigo muito mais do que valores financeiros. Levo a certeza de ter me empenhado ao máximo e ter contribuído para o alcance dos objetivos.


Agradeço ao Ari e a Marta o convite e o aprendizado conseqüente.


No momento tenho que desligar-me por decidir seguir outros caminhos, novas oportunidades que surgiram e também por perceber que, tranqüilamente, não é mais necessária a minha presença para que se efetive o sucesso deste empreendimento que, repito, é muito necessário à comunidade à qual procurei promover os serviços da ZSolutions. Procurei valer desta oportunidade para apresentar um serviço adequado à esta necessidade e sinto que pelo tempo que participei do projeto, efetivei meu objetivo até os limites.

Bastante sorte e sucesso à ZSolutions, aos clientes e parceiros.


Afirmo mais uma vez que, certamente, seu crescimento e qualidade serão sempre ascendentes.


Estou, claro, como sempre, à disposição de qualquer interessado em maiores esclarecimentos, os quais me sinto na obrigação de ofertar caso seja questionado.

Atenciosamente,


Vicente Junior
macieljr@gmail.com
71-8120-0035
http://teclandoalto.blogspot.com