Thursday, March 4, 2010

Projeto Pivot: Futuro da Web?

O video abaixo se passou em uma conferencia anual chamada TED, que tem por objetivos mostrar e debater conceitos, idéias inovadoras que poderão provocar mudanças de paradigma dos conceitos atuais. Para participar à essa conferencia voce precisa desenbolsar nada menos que 6 mil dolares ( e eu reclamando por todos os cantos que o Tech-Ed custa 2 mil). Se voce quiser voce pode pagar "somente" U$ 3.800 e assistir ao vivo via webcast, ou fazer como eu, esperar terminar o evento e assistir algumas "migalhas" do que rolou por lá no site do evento http://www.ted.com/ . Um dos videos é o da demonstração do Gary Flake da Microsoft sobre um protótipo chamado Pivot. Simplesmente sensacional. Em plena era da informação essa ferramente mostra quanta informação está disponivel e implicita por ai, e principalmente não utilizada. Realmente, hoje o desafio é transformar, minerar e lapidar as montanhas de dados (e em sua maioria montanhas de lixo digital) em busca de informações valiosas que agregam valor de alguma forma. Vamos chamar esse tipo de informação de Conhecimento.

Segue o link do video, assistam: http://www.ted.com/talks/gary_flake_is_pivot_a_turning_point_for_web_exploration.html?awesm=on.ted.com_8Awh

Have fun!

Friday, February 26, 2010

Acesso remoto com Adobe ConnectNow

Esses dias fui apresentado à uma serviço da adobe que me deixou impressionado e gostaria de compartilhar. Para quem não sabe, a Adobe entrou no ramo de serviços online no maior estilo Windows Live e Google através do site Acrobat.com. Ainda não explorei tudo que é oferecido, mas fiquei satisfeito com os aplicativos estilo Office/Google Docs e Storage.

Mas o serviço que me chamou a atenção é o Connect Now. Com ele, voce cria uma sala de meeting virtual onde outras pessoas entram e podem, entre outras coisas, visualizar a sua área de trabalho. Até ai nada de mais pois outros programas conhecidos já fazem isso, mas a vantagem do connect now é justamente essa, os outros sao programas e logo todos precisam ter alguma coisa instalada na maquina para funcionar e o Connect Now funciona unicamente com Flash! Mais nada! Além do mais o serviço é complemente gratuito. Bem existe uma versão paga também, pois a versão gratuita tem limitaçoes do número de pessoas ao mesmo tempo na reunião, acho que podem 1 ou 2 apenas. Já usei algumas vezes e tudo funciona direitinho inclusive a possibilidade de controlar remotamente a maquina que está compartilhando. É praticamente um remote desktop sem problemas de permissão e gratuito!

Acesse Connectnow.acrobat.com e crie sua conta.

Have Fun!

Thursday, February 25, 2010

Convertendo arquivos de Site Template .STP do SharePoint

Esses dias fomos criar um site baseado em um site template mas reparei que ele não aparecia na aba de Custom Site templates. Após bater cabeça um pouco descobrimos que o site template foi criado em uma instalação em inglês do sharepoint e o servidor que estava tentando usá-lo era uma instalação em português. Para resolver esse problema vai uma dica quente. Acesso o site da KWizCom e baixe o .STP Language Converter. A ferramenta é super simples: informe o caminho do arquivo na sua maquina (ou seja, faça um download do .stp primeiro) e informa para qual idioma deseja converter e pronto, ele gera um novo arquivo compativel com o novo idioma. Depois é só subir essa nova versão do template para o site template gallery e tudo volta ao normal. Nao sabia que o site template tem essa limitação relacionada à idioma , mas ainda bem que é tranquilo de contornar com essa ferramenta.

.STP Language Converter (É Free!)
http://www.kwizcom.com/ContentPage.asp?PageId=165



Have Fun!

Wednesday, February 24, 2010

Consertando o Web Recorder do Visual Studio

Estava eu começando a desenvolver em minha maquina de casa (windows 7 com Visual Studio 2008) e resolvi fazer um projeto de testes e criar um web test. Qual foi minha surpresa quando o VS informava que o teste estava sendo gravado mas o recorder não aparecia no browser (normalmente ele fica como um frame do lado esquerdo da janela do navegador). Descobri que isso na verdade é um bug da ferramenta, mais que isso, em alguns cenários de combinaçao OS + Versao VS + IE o recorder pode nao funcionar direito. No entanto achei o blog de uma boa alma chamada Michael Taute que resumiu todos os possiveis tipos de cenários que podem causar algum tipo de inconsistencia no web recorder. Lá encontrei a resolucao do meu problema: remover duas chaves do registro do windows que estava "cacheando" algumas settings do IE que evitavam que meu recorder fosse exibido. removidas as chaves e tudo voltou a paz novamente.

Segue o link pra quem tiver algum tipo de problema com o web recorder do Visual Studio.

http://blogs.msdn.com/mtaute/archive/2007/11/09/diagnosing-and-fixing-web-test-recorder-bar-issues.aspx

Have fun!

Tuesday, October 20, 2009

Cuidado: O trim de vazio nao é vazio

Bem, pelo menos no caso do Oracle trim de vazio nao é vazio mas sim Nulo. Ok, comecei pela conclusao, entao vamos para a historia completa.

Estava eu depurando uma procedure no oracle e cheguei a conclusao que um dos sub-selects nao retornava nada e a partir dai a proc começava a perder o rumo das coisas. O select era algo bem simples:

Select campoA, campoB from Tabela where trim(campoC) = trim(parametro);

Como esse sistema veio de uma base legada temos varios campos cujo valor é ' ', ou seja, espaços em branco, por isso a proc precisa desse trim. O que estava acontecendo é que o select citado acima nao estava retornando valor nenhum. Verifiquei o valor do parametro passado e descobrir que era vazio ou ''. Lembre-se que vazio é diferente de nulo e diferente de zero. Como sabia que a tabela possui valores vazios no campo pesquisado, comecei a investigar. Eis os passos até a conclusão que decora o titulo desse post.

Primeiro eu rodei a seguinte query:

select 1 as result from dual --> retorna 1

select 1 as result from dual where trim('abc') = trim('abc')--> retorna 1

select 1 as result from dual where trim('abc') = trim('def')--> nao retorna nada

select 1 as result from dual where trim('') = trim('') --> nao retorna nada, ou seja, o where é falso

select 1 as result from dual where trim(' ') = trim(' ') --> nao retorna nada tambem, ou seja, o where é falso também. O que é estranho pois temos a mesma expressão dos dois lados do =.

Depois de pensar um pouco fiz o seguinte teste (depois de analisar algumas queries com length):

select 1 as result from dual where trim('') is null--> retorna 1

Aeeee entao descobri que o trim de vazio nao é vazio mas sim nulo! Entao o problema é quando o parametro passado é um valor vazio. Para valores nao vazios a query funciona mas quando quero comparar vazios, o select nao vai encontrar.

Para resolver esse problema acabei fazendo a query da seguinte forma, usando a funcao nvl:

select 1 as result from dual where nvl(trim(campo), ' ') = nvl(trim(parametro), ' ')

Explicacao: nvl é uma funcao que verifica se o primeiro parametro é nulo , se for a funcao retorna o segundo parametro. No meu caso eu verifico o trim do campo, se for nulo ele retorna um 1 espaco em branco. O mesmo é feito do outro lado do =, se ele vier vazio , o trim do vazio é nulo entao o nvl substitui por ' '. Se os dois forem espaco em branco, entao ' ' = ' ' , e o valor é retornado na query. Se os valores do campo e parametro forem diferentes de vazio, a query se comporta da mesma como se não tivesse o nvl.

Eis minha dica de hoje, que pode poupar algumas horas de debug na sua query. Talvez possa até haver uma maneira melhor de resolver esse problema, se houver , postem um comentário.

Have fun!

Thursday, October 1, 2009

Programação para iniciantes na MSDN

Ola Pessoal,

Recentemente eu li uma noticia muito interessante. A MSDN esta com um site muito legal com conteudo voltado para quem esta comecando no mundo da programação. Mas comecando mesmo, nunca programou , zero, nada, não sabe o que são variáveis , loops. Andei dando uma lida e olhada nesse material e está realmente muito bom. Infelizmente o site em inglês tem mais videos e conteúdo, mas o site em português tem alguma coisa também.

Vai ai uma dica : veja o conteudo do cantinho das crianças (kids corner), porque ele trás um bom nivelamento de conceitos basicos relacionados a computação. De infantil não tem nada.

Se você está interessando em iniciar no maravilhoso mundo do desenvolvimento de software este é um bom ponto de entrada. Welcome aboard : eu entrei nesse barco há quase 10 anos e não quero sair de jeito por nada! :)

Link:



É a Microsoft preparando a nova geracao de desenvolvedores a dar saltos ainda mais altos.

Have Fun!

Thursday, June 4, 2009

Palestra no Iowa Code Camp 2009 - Cedar Rapids, IA

Olá amigos,

No ultimo dia 2 de Maio eu palestrei no evento chamado Iowa Code Camp 2009 no Kirkwood College em Cedar Rapids, Iowa. O evento é organizado pelos grupos de usuários da regiao visando o publico acadêmico, proporcionando para quem está estudando na faculdade um encontro com a prática do dia a dia do mercado de trabalho, além de trazer por tabela quem já trabalha e quer ver as novidades. Todas as palestras foram 100% hands-on (low slides) e tivemos alguns foruns de discussao, uma sala onde o pessoal puxa um assunto e todo mundo começa a dar a sua opiniao. Uma atividade interessante que nao rolou por falta de tempo foi a que os inscritos trouxessem seus notebooks e tirassem duvidas sobre os seus trabalhos com uma banca formada pelos palestrantes. Fica ai a idéia para futuras reunioes/eventos de grupos (por favor, copie essa idéia).


A organização do evento foi simplesmente impecável, com café da manha, almoço, lanche, refri e agua liberada para TODOS. Foram 5 tracks de palestras simultaneas durante todo o sábado. No final sorteio com direito a Xbox, Zune, iPod, etc. Eu , como sempre, nao ganhei nada! Na verdade o que acontece é o seguinte, todos os que ficam ao meu redor ganham menos eu. Sempre foi assim. Mas um dia a minha vez vai chegar e vou ganhar meu Xbox no sorteio.


Minha palestra foi sobre Desenvolvendo asp.net web parts, onde mostrei todos os controles da aba de web parts, as zones, os editor, tudo. Foi uma experiencia maravilhosa poder palestrar pela primeira vez em outro pais, outro idioma, mesm já dando aula na faculdade aqui há 1 ano. O desafio foi grande mas já estou pronto para a proxima.


Meu forte agradecimento ao Chris Sutton, Greg, Tim Barcz e a toda a galera do Crineta (Cedar Rapids User Group) pela força e incentivo e também ao Tulio, Thomaz, Jorge e Rafael (brazucas que foram dar uma força lá para o conterrâneo) :).


Fica ai algumas fotos do evento:







Have Fun!