Arquivo da categoria: Ferramentas de desenvolvimento

Fanboys no mundo da Tecnologia.


Google Logo officially released on May 2010

Image via Wikipedia

Um assunto que tem me perturbado muito atualmente são os ditos “fanboys” de uma marca tecnológica. É extremamente irritante uma pessoa que adere irrestritamente a uma marca, sem conseguir enxergar seus pontos fortes e pontos fracos.

Eu acho normal – e até legal – uma pessoa ser fã de determinado filme, série, ator ou outras brincadeiras. Eu mesmo sou fã de algum desses, mas quando o assunto é tecnologia – e conseqüentemente trabalho – a coisa muda de figura.

Fiz uma auto-critica e cheguei a conclusão que apenas uma marca me deixou a beira de me tornar um fã Xiita, e esta marca não foi Microsoft, Apple, Android ou Sony.

Esta marca foi o Google.

Serviços simples, de qualidade e gratuitos. Isso é a cara do Manel.

Em 2009 fiz um post que lendo hoje considerei altamente Xiita, onde eu dizia: “Não sei por que perco tempo procurando outros serviços gratuitos na web. Os serviços da Google são sempre melhores”. Ainda bem que continuei procurando.

Esse post foi verdadeiro em 2009, mas hoje – dois anos depois – esse pensamento ainda se aplica? Vamos ver.

Meus serviços online hoje são:

E-mail: Ok, a Google continua mandando nessa área com seu todo poderoso Gmail, mas quando outros provedores de e-mail puderam usar a interface da Google em seus e-mails gratuitos, alguns de meus e-mails que haviam sido esquecidos no limbo foram ressuscitados do nada. Eu que só usava o Gmail, me vi entrando no meu bom e velho IG Mail. Ele não reina mais absoluto em meu desktop como em 2009.

Blog: Nossa, eu que gostava tanto do blogger fiquei muito decepcionado com o avanço dessa ferramenta que simplesmente parou no tempo. O WordPress é tão superior que praticamente me obrigou a matar meus dois blogs hospedados no Blogger, mesmo com a limitação de não poder usar meu AdSense (que pra ser bem sincero nunca me deu grana mesmo). O Google aqui perdeu de longe.

Microblogging: Alguma dúvida de quem manda aqui? Alguém acha que o Buzz tem alguma chance de vencer o Twitter nesse campo? Sinceramente meu Buzz praticamente só repassa meu Twitter para pessoas que estão no trabalho e sua única opção é o Buzz, e nada mais.

Leitores RSS: Hoje praticamente qualquer coisa lê RSS. Porque se preocupar em criar uma conta no Google Reader?

Geotagging: Google maps? Fala Sério. Com Nokia OVI Maps (o melhor do mundo em sua categoria) e FourSquares não preciso de mais nada.

Social Networking: Facebook, GetGlue, LastFm. Nada da Google. O que é Orkut? Algum cliente estilo TweetDeck? Hummm, mais um #Fail para minha antiga preferida.

Podcasts: Google Listen? Uma merda, inusável no meu Android 2.2. Só pode ouvir os podcasts se estiver conectado?!?!? Falha épica da Google. Nada vence a Apple nesse campo.

Online Streaming: O Google Vídeos nunca empolgou ninguém e a compra do Youtube foi admitir a derrota nesse campo. Vida longa ao Youtube.

Compartilhamento de fotos: Eu amava o Picassa, mas foi outro que parou no tempo. Meus álbuns continuam lá porque tenho preguiça de mudá-los de lugar. Meu preferido hoje é o Molo.me, que é compatível com meu celular de R$ 70,00.

VOIP: Skype. Não existe outra palavra. Apesar de ser um cliente leve, bom e funcional ninguém usa o Google Talk. De que adianta um telefone que não fala com ninguém?

Poderia falar vários outros serviços aqui, mas para que me estender mais se vocês já pegaram a idéia? Se eu tivesse virado um fã insano da Google, hoje eu estaria parado no tempo usando coisas obsoletas e pouco produtivas.

A Tecnologia muda. Mude você também.

Debugando Javascript no Visual Studio 2005


É galera, dica simples que poderia ter salvo a minha vida, me fosse apresentada alguns anos antes.

Segue o macetão:

1. Ative a depuração de scripts no lado do cliente no Internet Explorer:

  • Abra o IE
  • Vá em “tools\internet options
  • Escolha a aba “advanced”
  • na sessão “browsing”, desmarque a caixa “Disable script debugging check box“.
  • Feche o IE.

2. Adicone a keyword “debugger” no seu Javascript:

<script language="javascript">       function Add(){           debbuger; //keyword used to debug the javascript           var a;           a=10+20;           alert(a);         }</script>

Pronto. Agora você pode debugar aquele javascript escroto na janela do Visual Studio. 🙂

Do Caos vem o Poder: Expressões Regulares parte 1.


Sinto que os desenvolvedores de hoje dia, quase todos focados em desenvolvimento web, ou em dispositivos portáteis apresentam dificuldades com um conceito muito difundido em ambos os paradigmas: as famigeradas expressões regulares (ou RegExp). Não posso dizer que discordo totalmente deles.

Em algum ponto do ano 2000, vi a minha primeira expressão regular dentro de uma funçãozinha de validação em Javascript. Já era um programador experiente em desenvolvimento windows forms, mas ainda dava meus primeiros passos como desenvolvedor web, e por mais que possa passar vergonha aqui por isso, o primeiro pensamento que veio em minha cabeça poderia facilmente ser atribuído a um estagiário: “Nossa, porque criptografaram só essa linha?”. Lembro-me disso como se fosse hoje.

Após estudar um pouco, descobri o motivo desse meu pensamento bisonho: expressões regulares realmente possuem código compacto e sintaxe críptica, o que me fez obter o comportamento da maioria dos desenvolvedores novatos: ignorei a ferramenta, ao invés de aprendê-la.

Entretanto, à medida que me aprofundava no desenvolvimento para a web, e conhecendo gente muito mais experiente do que eu, um fenômeno foi claro: todo desenvolvedor que eu achava foda era fã das expressões regulares. Chegou ao ponto em que eu usava isso como referência mesmo, perguntava pro cara “meu irmão, o que você acha das expressões regulares?” e se a resposta fosse “Eu acho maneiro.” Batata: o cara era fodão.

Isso me motivou a estudar a coisa, e quanto mais me aprofundava, mais achava barreiras para gostar dessa ferramenta, como por exemplo:

Espaços em branco podem foder tudo.

Um espaço em branco mal colocado pode mandar a sua expressão regular pro K ralho. O que é pior, você pode ganhar sensibilidade inesperada, ignorando referencias que deveriam bater.

Expressões regulares não são padronizadas.

Cada linguagem programa de forma diferente as expressões regulares, sendo que uma expressão que roda aqui, pode não rodar lá.

Metacaracteres mudam de significado dependendo de seu local na expressão.

Um bom exemplo é o sinal hífen “-“. Quando colocado em uma expressão como essa:

[a-zA-Z]

O hífen significa um range de valores.

Mas quando é colocado em uma expressão como essa:

2010-08-01

O Hífen significa apenas seu valor ASCII. Neste exemplo simples isso não parece um grande problema, mas à medida que suas expressões vão complicando, isso é sim um grande motivo de dores de cabeça.

Expressões regulares são sensíveis a caixa alta – caixa baixa.

Isso não chega a ser um problema se você desenvolve em plataforma Linux, mas quando você desenvolve em plataforma Microsoft, isso é um verdadeiro inferno.

Metacaracteres mudam de significado de acordo com a sua caixa.

Vamos supor que você queira montar uma expressão que receba um número de 0 a 9. Uma forma de fazer isso com RegExp é:

(0|1|2|3|4|5|6|7|8|9)

Mas isso é muito simples de ler, então por que não criar um metacarater idiota pra fazer a mesma coisa? Basta substituir o código acima por:

\d

Aí você manda o seu estagiário – que digita tudo em caixa alta – dar manutenção nessa merda e o imbecil muda o código anterior para:

\D

Pronto! Seu estagiário fodeu tudo, porque o \D tem exatamente o comportamento oposto do \d. La foram todas as validações que usam essa expressão pra puta que pariu.

Tai. Esses são os principais pontos de preocupação quando você desenvolve – ou dá manutenção – em RegExps.

No próximo artigo apresentarei o outro lado: porque usar RegExps e como minimizar os problemas citados acima.

%d blogueiros gostam disto: