Marco Gomes programador de interfaces e autor do Marco Gomes

Humilde por parte de pai, exibido por parte de mãe e vice-versa, o que gera uma tremenda confusão comportamental. Gera nada, gera sim.

Procurar neste blog

Entendendo o Projeto de Cibercrimes do Azeredo

Por MarcoGomes em 2008-Jul-15.

Lu Monte explica direitinho o Projeto de Cibercrimes, se você tem dúvidas sobre a versão que passou no Senado, ou nem sabe do que estou falando, leia o artigo pra entender, ela é formada em Direito e sabe do que está falando.

A versão que passou pelo Senado é muito melhor que a versão original do Azeredo, mas mesmo assim tem umas confusões preocupantes, Lu explica:

Passa a ser crime espalhar cavalos-de-tróia, vírus ou qualquer outro código capaz de causar dano a computadores ou outros apetrechos de comunicação, mesmo que não haja intenção. Você acha que isso é um avanço? Pense duas vezes.

Provavelmente, você já difundiu códigos maliciosos por aí. Já vi gente esperta, com anos de internet, ter o computador invadido por trojans que se auto-enviam por email para toda a lista de contatos. O dono do computador nem fica sabendo. O projeto de lei não está nem aí: cadeia nele!

Outro ponto preocupante:

De “boa parte”, você passaria a ter todos os seus movimentos vigiados, por uma empresa privada muito mais próxima que a “entidade” Google e, pior, perfeitamente acessível à “autoridade investigatória”. Aí, entra a clássica questão: “Quem observa os observadores?”. Quem garantiria o uso adequado desses dados?

Existem muitos outros problemas nesta versão que passou pelo Senado, em minha humilde opinião a lei não pode passar desse jeito na Câmara porque, mesmo com as melhorias em relação a versão anterior, ainda teremos graves problemas[bb].

4 comentários »

O que é o Identi.ca

Por MarcoGomes em 2008-Jul-02.

Identi.ca, é um microblogging que roda sobre uma plataforma de Software Livre[bb], cujo principal diferencial é a robustez e proteção contra quedas do servidor devido ao uso do protocolo de comunicação OpenMicroBlogging. Identi.ca tem funcionalidades semelhantes ao Twitter, Jaiku, Pownce e Plurk, mas como não é necessariamente centralizado, tem menos possiblidade de cair por excesso de usuários.

O Identi.ca sai do ar?

O Identi.ca é um servidor rodando Laconi.ca, que é software livre. Funciona mais ou menos como o Wordpress: Você pode usar o Wordpress.com, gratuito e facinho de usar, ou pode baixar e instalar no seu servidor, um pouco mais complexo mas muito mais “personalizável”.

Do mesmo modo você pode usar o Identi.ca no site ou baixar o Laconi.ca, modificá-lo, e, mais importante que isso: colocar pra rodar no seu servidor, integrado com todos os outros Identi.ca e Laconi.ca do mundo. Não tem como a “rede” cair se for formada por milhares de microblogs espalhados nos servidores dos usuários, é como a Internet: cai um ponto, mas não cai a rede toda.

Explicando: O Identi.ca pode cair sim, o que não cai é a rede de microblogs, você sempre terá a possibilidade de baixar o Laconi.ca e instalar no seu servidor, tendo total controle sobre seu próprio microblog. E mesmo assim vai continuar seguindo todos os seus amigos, cada um no seu server, tudo distribuído, mas interligado.

Tudo isso só é possível porque o Laconi.ca usa o OpenMicroBlogging que é uma maneira dos microblogs do mundo se comunicarem. Eu, usando o Identi.ca, posso seguir você que tem um microblog Twitter, Jaiku e até no seu servidor, quando eu postar algo seu microblog será avisado (parecido com um e-mail ou mensagem instantânea). Tudo funciona lindamente bem, porque ambos conversam o mesmo idioma, o OpenMicroBlogging :)

Ainda está bem no começo, vários features faltando, como integração com SMS, API de acesso externo e página de replies, mas isso tudo já está na fila e, sendo um Software Livre, bastante gente vai aparecer pra ajudar a levar o projeto pra frente.

Estou empolgadíssimo com o projeto, não com o produto que está no ar agora, com algumas falhas e muitos features importantes faltando, estou esperançoso é com a possibilidade de ter uma “plataforma” de microblogs abertos rodando num futuro próximo. É todo um novo mercado na Internet, fresquinho pra ser enriquecido com idéias e pessoas. Espero que o Laconi.ca cresça muito e fique tão robusto e bem gerido quanto o Wordpress.

Cadastre-se agora mesmo e siga marcogomes, finalmente estou animado novamente com o mundo dos microblogs.

Notas:
Descobri o Identi.ca porque o Mauricio me mandou o link do ReadWriteWeb
Desculpem o excesso de posts dos últimos dias.

13 comentários »

Como fazer um empreendimento na Internet

Por MarcoGomes em 2008-Jul-02.

ATENÇÃO LEITOR! AS INFORMAÇÕES DOS BLOCOS DE CITAÇÕES DESTE POST CONTÉM ERROS, NÃO TOME-AS COMO VERDADE! (tenho que explicar em caixa-alta e com negrito, senão o leitor de título (a.k.a. salsinha) não lê, pega as informações erradas replicadas aqui e espalha ¬¬)

Ceila Santos, do Desabafo de Mãe, ao tentar explicar um pouco do que (não) aprendeu sobre tecnologia troca os pés não apenas pelas mãos, mas também pelas orelhas, intestino grosso e uma abóbora que estava passando por ali.

Isso, portanto, é um post em resposta ao que ela publicou no Midia Social.

Como jornalista, eu sabia que PHP é apenas uma linguagem que tem milhares de programadores que sabe escrevê-la. Em função disso, a segurança é quase zero (fácil de ser escrita qualquer um pode invadí-la). Como empreendedora eu descobri que: lhe garanto que a maioria não saberá entender o que o outro escreveu. Mesmo documentado, sacramentado, enfim ter a documentação do seu código-fonte não adiantará nada quando você muda de programador. Agora, respondam-me peloamordeDeus, a linguagem do Xoops, Drupal, WordPress, Plone e outros é PHP? Poderia ser Java? Quais CMS são desenvolvidos Java? Há chance de PHP ser Java, ou vice-versa?

Tudo indica que todos esses CMS são escritos em PHP.

Fonte: Ceila Santos em Como Não fazer um site de Mídia Social? (CMS)

Nunca vi, em vida, uma confusão tão grande, no final ela ainda suja o nome da classe dizendo que é jornalista… Veja bem senhora jornalista: Se você não entende de um assunto, não escreva sobre ele afirmando coisas como Em função disso, a segurança é quase zero. Tá maluca? Como assim? Nenhuma linguagem de programação é “segura” ou “insegura”, o que é seguro ou não é seu sistema, e deixá-lo com buracos de segurança é culpa do programador, nunca da linguagem.

Como eu já disse, existem vários erros técnicos no texto dela, não vou me prender a eles, você, meu leitor, assuma que está tudo errado e, se precisar ler algo sobre CMS e programação, vá procurar em outro lugar que não seja o blog da Ceila.

No final ela dispara: jornalista precisa ser webdesigner e programador?

Você quer sua resposta? Não! Jornalista não precisa ser designer nem programador. Mas também não precisa ser empreendedor.

Você não precisa ser Desenvolvedor Web pra ter um empreendimento baseado na web, mas isso tem um custo. A Lucia Freitas te aconselhou a aprender o básico das “ciências” da Web, e deu até os links, todos de ótimas referências, claro. Aprenda o básico de muitas coisas e saiba gerenciar os desenvolvedores que contrata esporadicamente (freelas) e, mais importante, saiba pedir direitinho o que quer. Este é o caminho difícil e barato.

O caminho fácil e caro é ter alguém ter alguém que faça este trabalho pra você, e nem pense em contratar freelas, estou falando de alguém na sua equipe. Mauricio Schonenberger, CEO do Ikwa, não é profissional de Desenvolvimento para Internet, sabendo disso, chamou para o board de diretores da empresa o Mestre em Ciência da Computação Dairton Bassi. Vicente Tardin, do Webinsider, não sabe meter as mãos no código, mas endende muito bem o mercado que atua e sabe pedir direitinho o que quer, já tive a oportunidade de prestar serviços pra ele e falo por experiência própria.

Ceila continua com suas confusões mentais:

Se está disposto a dar uma de programador e sabe inglês, basta fazer busca no Google e começar a montar seu site. Não deve ser nada simples, mas parece que é assim que funciona. Por isso, todos se espantam quando afirmo que gastei dinheiro com Desabafo de Mãe, né!

Fonte: Ceila Santos em Como Não fazer um site de Mídia Social? (CMS)

Sim, aprender sobre Desenvolvimento para Internet, de arquitetura de informação a programação, é um longo caminho a ser percorrido apenas se você tem 3 ou 4 anos pra insistir até ver seu site tomar proporções profissionais. Não adianta começar aprendendo hoje e querer ter um site lindo e famoso em 6 meses. Todas as pessoas que conheço que levaram seus sites do total amadorismo pro profissionalismo (e conheço muitas), como Thiago Baeta com seu iMasters, Interney com seu império internético, Alexandre Ottoni com seu Jovem Nerd, Vicente Tardin com seu Webinsider, trabalharam persistentemente por períodos de tempo maiores que 3 anos até levar seus sites pra um patamar que possa ser considerado profissional.

Se você não entente de Web, precisa aprender (vai levar uns 3 anos no mínimo) ou se unir a alguém que entenda.

Além disso, tem a confusão de achar que Free Software é uma orgia em que tudo é de graça, e não é.

Software Livre não é sinônimo de bagunça, não é sinônimo de “sem custos”, não deve ser tomado como amadorismo puro. Desenvolvimento em Free Software[bb], assim como desenvolvimento em software proprietário, é sério, e precisa ser encarado com profissionalismo e dedicação caso você queira fazer um empreendimento usando ferramentas livres. Se você, como jornalista, não quer estudar programação, arquitetura da informação, marcação semântica, otimização para sistemas de busca e tudo mais, então tenha alguém em sua equipe que o faça.

Quer rodar na Internet? Seu empreendimento precisa de alguém que entenda de Internet.

(E eu achando que algumas coisas na vida são óbvias… Ledo engano)

Estupidez - Levando-a a um novo patamar
Tradução:

Jargge: d{>_<}b
BeastUK: Como você faz "b" ao contrário?
Anonymous: Chama-se "d".
Estupidez - Levando-a a um novo patamar.

22 comentários »

Descolagem no NAVE, #euvou

Por MarcoGomes em 2008-Jul-01.

Dia 5 de julho acontecerá o Descolagem, uma série de eventos gratuitos sobre a Revolução Digital[bb]. Será no Núcleo Avançado em Educação (NAVE) e eu fui chamado pra falar sobre a minha experiência com Internet e a construção da boo-box, será uma apresentação em conjunto com o Fábio Seixas.

Fiquei muito feliz em ser convidado pra falar em um evento que conta com mentes como Silvio Meira, do C.E.S.A.R., Ronaldo Lemos, do iCommons, VJ Nepal do Apavoramento Sound System, Fábio Seixas do Camiseteria, Cris Dias do Vilago, Beto Largman jornalista de tecnologia do Globo Online.

Informações do site oficial:

Sábado, dia 5 de julho de 2008
A partir das 14h
Rua Uruguai, 204 – Tijuca - Rio de Janeiro

Os interessados em participar devem enviar uma mensagem para descolagem@gmail.com com o título “Quero Participar” e no corpo da mensagem informar o nome, idade e ocupação. Como o número de inscrições é limitado, enviaremos uma mensagem confirmando o convite.

O encontro contará com transmissão ao vivo pela internet, no site oficial, a partir das 14h30.

Inscreva-se e apareça! E se não puder ir ao evento, veja ao vivo pela Internet :)

3 comentários »

Como se divertir numa sexta-feira

Por MarcoGomes em 2008-Jun-27.

Faz alguns dias que venho conversando com o Dirceu, ninja da boo-box, sobre o Teorema do Macaco Infinito, que diz:

Um macaco digitando aleatoriamente em um teclado por um infinito espaço de tempo irá quase certamente criar um texto qualquer escolhido, como por exemplo o trabalho completo de William Shakespeare.

Fonte: Infinite monkey theorem na Wikipedia

A prova matemática direta já existe, mas mesmo assim hoje de manhã resolvi implementar uma prova palpável, só por diversão :D

Veja a minha implementação do Teorema do Macaco Infinito. O código-fonte está linkado no rodapé da página e pode te ajudar a entender JavaScript e jQuery.

(se alguém rir porque está em JavaScript[bb] vai ter que me mandar uma versão em Erlang[bb]… E se mandar vai se ver comigo!)

7 comentários »

Nova geração de aplicativos que rodam no navegador

Por MarcoGomes em 2008-Jun-25.

Se você já conhece a história das aplicações ajax[bb] e sabe o que é um framework[bb] pule direto para a novidade.

No início eram trevas

As primeiras aplicações Web tinham interatividade mínima, estavam no velho modelo clica, recarrega, clica, recarrega. Isso porque o navegador só requisitava dados do servidor no momento de abrir a página, qualquer nova informação que não estivesse no documento desde o início exigia uma recarga da página. Trevas.

Então veio o AJAX

O AJAX é uma maneira de carregar e enviar dados sem necessidade de reload, aplicações como Meebo e boo-box fazem uso dessa tecnologia pra trocar informação com o servidor sem precisar de um reload no documento. O Meebo carrega novas mensagens do chat, o boo-box carrega os produtos, tudo sem necessidade de reloads constantes.

Pra facilitar o desenvolvimento de aplicações que usem AJAX, surgiram as primeiras bibliotecas e frameworks JavaScript.

O que é uma biblioteca de software?

Biblioteca é uma coleção de subrotinas usadas pra desenvolver software. Bibliotecas contém código e dados, que provêm serviços pra programas independentes.

Tradução livre de Wikipedia: Library (computing)

O que é um framework de software?

Um framework de software é o esqueleto de uma aplicação que pode ser customizada por um desenvolvedor de aplicação. Como as bibliotecas de software, ele ajuda o desenvolvedor por conter código-fonte que resolve problemas específicos e contém uma API simples. No entanto, enquanto bibliotecas de software atuam como escravas de outros programas, frameworks de software invertem o relacionamento mestre-escravo. Essa inversão, chamada Inversão de Controle, é a essência de frameworks de software.

Tradução livre de Wikipedia: Software framework

Os aplicativos rodando no navegador que imitam aplicativos nativos do sistema operacional

Tela da aplicação 280 Slides

Mesmo com o desenvolvimento do AJAX, ainda é extremamente difícil desenvolver aplicações que rodem no navegador e funcionem de maneira fluída, como se fossem aplicações desktop. As dificuldades são inúmeras: interpretação de código entre as diferentes versões de navegadores, peculiaridades de sistemas operacionais, lentidão de ter uma tonelada de código rodando no browser que é monoprocessado (monothread), problemas intrínsecos na linguagem utilizada, seja JavaScript, ActionScript ou qualquer outra.

Frameworks pra desenvolvimento client-side

Os primeiros frameworks e bibliotecas para criação de aplicações no navegador corrigiram vários dos problemas citados, Google GWT, Yahoo UI e Ext.js corrigem incompatibilidades de navegadores, compactam código pra agilizar a carga da aplicação, otimizam o código pra que o mesmo não trave o navegador, corrigem erros de estruturais do JavaScript. Mesmo assim aplicações desenvolvidas nessas tecnologias sempre ficam um passo atrás das aplicações desktop, a interatividade é, quase sempre, mais crua que em um programa nativo do seu sistema operacional.

Isso acontece porque programar mecanismos de copiar/colar imagens, histórico de ações pra usar no desfazer (control + z), controle de arrastar e soltar vídeos, pode tomar muito tempo do desenvolvedor. O caminho mais prático a curto prazo é simplificar a aplicação, empobrecendo a experiência de interatividade do usuário pro velho modelo clica, espera, clica, espera. Mesmo que o “espera” seja esperar o AJAX e não a recarga da página, o modelo de interatividade é o mesmo: clicar, aguardar o servidor processar os dados e responder, clicar, aguardar…

A segunda geração de frameworks para desenvolvimento client-side

Alguns meses atrás Joel Spolsky usou a história dos aplicativos desktop pra profetizar o caminho do desenvolvimento de aplicativos rodando no navegador:

Então, se a história se repete, nós podemos esperar algum tipo de padronização de interfaces AJAX do mesmo jeito que tivemos com Microsoft Windows. Alguém vai escrever um Kit de Desenvolvimento de Software que você poderá usar pra criar aplicações AJAX com elementos de interface com usuário que funcionem entre as aplicações.

Joel Spolsky em Strategy Letter VI.

Tela de aplicação feita em SproutCore

A partir do segundo semestre de 2008 começam a surgir esses novos Kits de Desenvolvimento de Software. Objective-J, Cappuccino e SproutCore vêm pra mostrar que é possível ter aplicações ainda mais impressionantes que o Gmail ou o Meebo rodando no seu navegador, sem precisar instalar nada (nem plugin de Flash).

Com eles é possível fazer aplicações inteiras que rodam no navegador com pouca, ou nenhuma, interação com o servidor. Se o processamento pode acontecer na máquina do cliente, o servidor pode se preocupar apenas com o que só ele faz: consolidar e armazenar. Com isso toda a arquitetura de servidores e aplicações Web pode ser repensada, finalmente aproveitando, de verdade, o incrível poder de processamento dos computadores pessoais atuais, sejam eles Asus EEEs[bb], iPhones ou MacBooks e deixando pros servidores apenas o trabalho de consolidar dados de diferentes máquinas e armazená-los.

MobileMe, o novo produto Apple de integração de calendário, e-mail, contatos e fotos entre diferentes computadores, tem versões que rodam no navegador, é o Apple Mail, Address Book, iPhoto e iCal no seu Firefox, tudo feito com SproutCore.

Tela de Terminal com mensagens de Mongrel rodando aplicação SproutCore

Eu fiz alguns testes com SproutCore e fiquei impressionado. É como desenvolver uma aplicação Rails ou MERB: você cria projeto, models, views e controllers, roda o Mongrel como servidor de desenvolvimento na sua máquina, desenvolve a aplicação e depois faz o build, que gera apenas arquivos XHTML, JavaScript e CSS pra serem colocados no servidor. É JavaScript[bb] feito gente grande.

280 Slides é, até agora, o mais impressionante exemplo da nova leva de aplicações que está para surgir. Ele tem recursos como copiar/colar elementos gráficos, desfazer (control + z), renderização de imagens e elementos gráficos, tudo gerenciado pelo Objective-J, um framework JavaScript que imita o Objective-C, no qual são feitas as aplicações de Mac OS X. Veja uma apresentação de exemplo.

Abra o site do 280 Slides, clique em Try Now e experimente um pouco a aplicação, perceba como tudo funciona de modo macio, como se fosse uma aplicação desktop, mas rodando no navegador. Você não precisou instalar nada pra ter uma cópia do Apple Keynote rodando no seu Windows :)

Leitura recomendada:

19 comentários »

Cultura de rua
Creative Commons License Todo o conteúdo produzido por Marco Gomes está automaticamente sob uma licença Creative Commons Attribution-ShareAlike 2.0 Brazil License.

Marco Gomes usa WordPress como gerenciador de conteúdo.

Syndicate: RSS dos posts e RSS dos comentários.