Posts Tagged ‘palestras’

Digital Media Conference 2010

junho 14th, 2010

Update (21/06/2010): Conforme prometido, segue o link para o post no PodMak com as entrevistas gravadas pelo Wesley e por mim na terceira edição do Digital Media Conference – http://www.podmak.com.br/3-digital-media-conference/

Na terça-feira (08/06/2010) recebi uma ligação de meu grande amigo Wesley (@wesleyoliveira).

dmc2010Ele recebeu um convite do Oscar Ferreira (@kakamachine) do PodMak, podcast focado em debater e tratar de assuntos relativos a marketing digital, redes sociais, e-commerce e cibercultura, para cobrir a terceira edição do Digital Media Conference, organizado pela CorpBusiness.

Tive o prazer e a honra de acompanhar o Wesley na cobertura do evento. Assistimos às palestras e debates que contaram com a participação de grandes profissionais de agências e empresas envolvidas no mundo do marketing digital, levantamos questões e pontos que consideramos de interesse do público do PodMak e tivemos o privilégio de bater um papo com alguns dos palestrantes e organizadores do evento.

Não farei aqui a descrição do conteúdo abordado durante o dia no evento, em breve farei um update linkando o post no PodMak com os detalhes da nossa cobertura, fotos do evento e entrevistas que gravamos com alguns dos participantes.

Mas desde já gostaria de fazer alguns agradecimentos especiais:

  • Ao convite do Wesley e do Oscar pela oportunidade;
  • Danilo Pádua (@danilopadua), representante da organização do evento que nos tratou muito bem e nos concedeu uma entrevista comentando sobre a importância da Mídia Digital no contexto atual do mercado;
  • Mirko Mayeroff, CEO do Superdownloads, que também nos concedeu entrevista falando sobre sua empresa e sobre marketing digital, além de ter aceitado nos receber em seu escritório do Super Downloads;
  • Alexandre Canatella (@ale_canatella), responsável pelos cases de sucesso CyberCook, CyberDiet e Vila Mulher, que gravou uma entrevista com a gente comentando sobre seus startups;
  • Rene Mollinedo (@renemollinedo), diretor de marketing, inovação e mídias digitais da Trendylab (http://www.trendylab.com/), com quem batemos um papo e se comprometeu a nos conceder uma futura entrevista;
  • Tiago Baeta (@tbaeta), responsável comercial da iMasters (http://imasters.uol.com.br/), com quem trocamos algumas idéias;

É isso aí! Aguardem o update do link para o nosso post sobre o evento no PodMak!

Até a próxima.

Rails Summit 2009 – Obie Fernandez

outubro 21st, 2009

Na semana passada eu e toda a equipe de desenvolvimento da UFABC fomos ao Rails Summit 2009, maior encontro de Ruby on Rails da América Latina. O evento, promovido pela Locaweb e guiado por Fábio Akita, teve a sua segunda edição realizada nos dias 13 e 14 de outrubro, no Centro de Convenções Anhembi, em São Paulo. Confira qual foi a programação do evento.

logo_rails_summit

Foram várias as palestras e os temas apresentados durante o Rails Summit, desde valores e paradigmas da linguagem e do framework, até detalhes técnicos e novidades sobre o assunto.

obie_fernandezA palestra de fechamento do evento foi apresentada por Obie Fernandez, autor do The Rails Way, o guia de referência definitiva para Ruby on Rails, editor da Addison-Wesley Professional Ruby Series e reconhecido membro da comunidade internacional de Ruby. Obie é o CEO/fundador da Hashrocket, consultoria web e desenvolvedora de produtos em Jacksonville Beach, Flórida.

Palestra: “Dominando a Arte de Desenvolvimento de Aplicações”

A palestra teve o objetivo de comparar o desenvolvimento de aplicações com criações artísticas. Obie iniciou descrevendo as maneiras como um indivíduo pode ser considerado especialista em alguma coisa, sugerindo como regra maior a prática: “Practice, practice and practice” (Praticar, praticar e praticar). Apesar do caráter óbvio desta colocação, a idéia parece não ser tão simples. Obie dividiu em 3 níveis o domínio que alguém possui sobre alguma modalidade, seja ela esportiva, artística ou de programação. Não me lembro exatamente como foram as classificações atribuídas por ele, mas era algo assim:

1º nível: O especialista. A pessoa é expert e muitas vezes uma importante referência naquilo que faz.

2º nível: O bom conhecedor. Apesar de não ser a melhor em sua área, a pessoa tem um bom conhecimento. Não passa vergonha.

3º nível: O mediano. Não é leigo, mas pode estar longe de ser o especialista da sua área.

Segundo algumas pesquisas, o tempo médio de prática para que um ser-humano possa se tornar especialista em alguma modalidade em algum momento de sua vida é em torno 10000 (dez mil) horas. Desta maneira, calculando bem por cima, um programador Ruby, por exemplo, com uma jornada diária de 8 horas, levaria cerca de 5 anos para ser especialista na linguagem. Porém, nesta estimativa alguns fatores que não foram levados em consideração podem fazer este tempo se elevar bastante – Apesar da jornada diária de trabalho, qual programador fica, efetivamente, 8 horas por dia apenas codificando ou estudando Ruby? E outro fator, não menos importante: O prazer com que a pessoa exerce determinada atividade – de nada vale 8 horas efetivas diárias se isto for um grande sacrifício. Obie comparou este último fato com o aprendizado de violino – Uma pessoa que desde sua infância pratica e estuda horas e horas por dia o instrumento, mas não tem o mínimo prazer em fazer isto, definitivamente o tempo que ela levará para se tornar uma especialista é extremamente superior (isto se fosse possível).

Entendo que pode paracer uma série de obviedades, e pode até ser, mas foi brilhantemente exposta por Obie Fernandez. Recomendo assistirem ou lerem algum material de sua autoria. Mas as partes mais legais, na minha opinião, foram as menções ao desenvolvimento ágil:

Assim como um artista plástico idealiza uma obra de arte em que o resultado final não é claro em sua mente, não se deve esperar que o desenvolvedor preveja todas as funcionalidades e o formato definitivo do sistema antes mesmo de começar a desenvolver – o pecado capital da maioria das metodologias clássicas de engenharia de software. Da mesma forma,  o artista não pinta um quadro o dividindo em partes isoladas, assim como o desenvolvimento e a programação de um sistema pode fluir muito melhor se não for excessivamente modularizada. Reparem nas diferenças:
monalisa_desenvolvimento_agilOutra prática muito comum utilizada em metodologias de desenvolvimento ágil são os testes automatizados de sistema: TDD (Test Driven Development ou Desenvolvimento Orientado a Testes). Uma feature de um sistema só deve ser codificada caso um teste para esta feature também já tiver sido previamente codificado, garantindo a integridade de todo o sistema, evitando, ou melhor, evidenciando uma porção de erros inimagináveis em futuras modificações sem que eles precisem ser encontrados pelo usuário final (como acontece na maioria das vezes em que um sistema é desenvolvido sem testes automatizados) e principalmente proporcionando uma visão clara e garantida do funcionamento do sistema como um todo, sem ao menos ter realizado nenhum teste real, assim como alguns especialistas da música conseguem imaginar perfeitamente como é a melodia da obra sem a ter ouvido nem uma única vez, apenas pela sua partitura.

A palestra foi ótima!

Aos programadores que não conhecem estes tipos de metodologias (Agile Development, TDD, etc), recomendo fortemente que pesquisem sobre. Ficam aí alguns links:

Test Driven Development
Agile Manifesto
Desenvolvimento ágil de software
Scrum

Web Site oficial de Obie Fernandez: http://obiefernandez.com/

Behind that white webpage

setembro 30th, 2009

Está acontecendo  na UFABC a Semana do CMCC – palestras, mini-cursos, workshops, exposições de projetos universitários e competições, envolvendo tecnologia, computação e matemática.

Ontem, 29 de setembro, uma das palestras foi ministrada por Igor Prata Soares (Google Inc.), a convite do meu professor João Paulo Gois.

“Behind that white webpage” (Por trás da página branca) -  a palestra de Igor forneceu algumas noções sobre o funcionamento da página de buscas do Google e sobre a sua infra-estrutura.

Tentarei levantar as principais abordagens da palestra e deixarei, ao final do post, os apelos, ou conselhos, colocados por Igor no fechamento de sua apresentação.

Logotipo do Google

O mecanismo de buscas do Google é basicamente dividio em 3 etapas:

Coleção de páginas: Anteriormente a uma pesquisa por determinada query, ou palavra, e à sua indexação e apresentação dos resultados ao usuário, as páginas existentes na web devem ser catalogadas e, acima disto tudo, devem ser visíveis pelo software.

Para que esta visibilidade aconteça, é necessário que uma lista de links aponte para algumas páginas, sendo estas catalogadas e seus links coletados para o aumento da lista e assim por diante, mapeando desta forma todo o conteúdo que existe na rede. As páginas recentes, que ainda não são apontadas por nenhum link na web, também podem ser indexadas pelo Google através de um serviço fornecido pela própria empresa.

Segundo Igor, o coletor (crawler) é o elemento mais difícil de ser implementado a nível de programação.

Indexação: Uma vez coletadas as páginas que poderão ser apresentadas como resultado da busca de um usuário, todo este conteúdo deve ser mapeado e acessível, em outras palavras, o conteúdo deve ser indexado.  Exemplo hipotético de como as palavras e páginas são indexadas pelo Google:

Supondo que {A, B} são todas as palavras existentes na Web e {1, 2, 3} todos os documentos (páginas), coletados pelo crawler do buscador, a indexação poderia ser feita da seguinte maneira:

A {1, 2}

B {2, 3}

De forma que cada palavra é uma verdadeira chave ou ponteiro para todos os documentos que as contém em seu conteúdo. A busca por A or B, por exemplo, retornaria a união entre os documentos apontados por A e os apontados por B: {1, 2, 3}. Já a busca por A and B, retornaria a intersecção entre os documentos apontados por A e os apontados por B: {2}.

Através deste conceito não muito difícil de ser entendido, uma busca real no Google pelas palavras-chaves diário expandido , retorna aproximadamente 2.840.000 de páginas.

Processamento de relevância: Finalmente, após serem coletadas pelo Crawler e encontradas e mapeadas pelo indexador, as páginas devem passar por um crivo que determina a relevância de cada página perante o termo buscado pelo usuário, apresentando-as logo nas primeiras páginas.

São mais de 100 os critérios para determinação da relevância de uma página, baseados exclusivamente no conteúdo dos documentos, por exemplo: Título da página, tamanho da fonte, proximidade entre as palavras buscadas no texto do documento, meta-tags do código HTML, quantidade ou frequencia das palavras, etc.

Mas a maioria destes critérios “on page” já eram utilizados por outros buscadores anteriores ao Google, foi aí que, pensando fora da caixa, saindo da dimensão dos documentos e partindo para algo mais macroscópico, os então estudantes da Stanford University Larry Page e Sergey Brin, tiveram a grande sacada de bilhões de dólares, o PageRank.

O PageRank é o nível de visibilidade de uma determinada página no resto da Web. Basicamente, quanto mais páginas apontam para uma específica, mais relevante ela é e quanto maior o PageRank de uma página, maiores são os PageRank’s das páginas apontadas por ela, criando um grande grafo que é geniosamente calculado pelos algoritimos do Google.

Google PageRank

A palestra ainda se estendeu com explicações sobre a escalabilidade e a infra-estrutura da empresa.

Milhares de computadores comuns são mais vantajosos do que poucos super-computadores para o processamento, indexação, etc. levando em consideração o custo/manutenção. Na Google, caso uma máquina falhe (e falham!), ela é retirada na hora, outra é colocada no lugar e automaticamente configurada, sem causar grandes transtornos em seus serviços.

Igor Prata Soares finalizou a sua apresentação alertando os universitários presentes sobre a importância da vida e do convívio acadêmico e de como isso pode influenciar, caso queiram fazer parte de uma empresa como a Google, ou mesmo criarem a “idéia de bilhões de dólares”, frizando sempre o valor daqueles que pensam fora da caixa.


É isso aí, espero ter agregado um pouco de conteúdo aos meus leitores com este breve resumo sobre a excelente palestra que assisti.

Agradeço ao professor João Paulo Gois pela oportunidade e ao Igor Prata Soares pela boa vontade em ter vindo de Belo Horizonte para Santo André, parabenizo-o também pela sua apresentação e pelo seu fabuloso trabalho.

Aos que se interessaram sobre os detalhes do processamento da relevância de uma página, aproveito para divulgar o trabalho de @marthagabriel, especialista em Search Engine Optimization – www.martha.com.br