Archive for the ‘Eventos’ Category

RubyConf 2010 – estivemos lá! – Segundo dia

novembro 11, 2010

O segundo dia começou com o keynote do Evan Phoenix, que palestrou sobre o Rubinius, uma Virtual Machine para Ruby. Na palestra houve uma visão geral do Rubinius que é um plataforma para rodar código Ruby e houve grande destaque na parte de performance que o Rubinius fornece e também nas facilidades que ele traz, como por exemplo para fazer testes de performance.

Charles Nutter falou sobre o JRuby, a máquina virtual Ruby que roda sobre a JVM. Ele explicou detalhes, funcionalidades e vantagens do JRuby como:

  • Instalação e configuração rápida do JRuby;
  • Ampla gama de plataformas suportadas pelo JRuby, incluindo Windows, Z/OS, AS/400, Android.
  • Suporte a Threads nativas reais no JRuby;
  • Uso e reúso de bibliotecas Java e bibliotecas nativas no JRuby;
  • Diferenças de performance grandes em relação a VM Ruby “canônica”;
  • Compilador JIT;
  • Rails executa corretamente no JRuby;
  • Suporte a quase toda API do Ruby até 1.9.

Também tivemos exemplos rápidos de aplicativos durante a palestra:

  • “jirb”, o console interativo do JRuby;
  • Um simulador de piano rodando no JRuby;
  • Um renderizador de círculos rodando no JRuby para o Android;
  • Um jogo que usava JMonkeyEngine rodando no JRuby.

A palestra do David Chelimsky foi muito interessante pois ele falou sobre a manutenção do equilíbrio, reduzindo a duplicação de códigos em uma variedade de formas e os riscos associados a cada um. estratégias para reduzir a duplicação, sem sacrificar princípios de design como encapsulamento, baixo acoplamento e alta coesão.

O princípio DRY (Don’t Repeat Yourself) sugere que “cada pedaço do conhecimento deve ter uma única representação autoritativa dentro de um sistema.” Uma orientação forte, mas muitas vezes é atendido sem uma clara compreensão de suas motivações subjacentes, nem a consideração de outros princípios que poderiam levar o código a outras direções.

Depois do almoço houve a palestra do Ola Bini que falou sobre “O passado e o futuro das linguagens de programação”. A palestra dele foi bem interessante, pois mostrou as linguagens em que o Ruby foi inspirado, baseado em suas características principais.

Scott Chacon palestrou sobre Git, e sua palestra foi separada em duas partes: na primeira ele falou das novas funcionalidades da última versão do Git (1.7.3) e na segunda parte falou sobre alguns comandos do Git que não são tão populares. Maiores detalhes da palestra do Chacon podem ser encontrados na sua apresentação.

Após o coffee break o Alexandre Gomes falou de algumas escolhas, erros, acertos, atitudes e coragem? Como por exemplo: Computação ou medicina? Passar num concurso, enviar curriculos ou abrir uma empresa? Web, mobile ou desktop? Desde os tempos de escola somos inundados de questões que somente o curso da vida nos é capaz de responder. Em nossa formação escolar, somos orientados a seguir um único caminho, o caminho da estabilidade, segurança e conforto. Educam-nos a sermos submissos e obedientes e, condutas fora do padrão esperado são rechaçadas e condenadas ao castigo. Protagonizando essa história, estamos nós,  sob avaliação incisiva dos olhos críticos da sociedade. Poucos, acertam de primeira em suas escolhas de vida. Outros, no entando, não têm a mesma sorte e atrofiam-se em gaiolas de outro sem gozar do prazer de se viver dia após dia.

Fez refletir-nos sobre todos estes fatos, usando exemplos reais de rotinas de profissionais na mais diferentes situações e analisando porque a paixão pelo trabalho é a principal virtude compartilhada por profissionais e empreendedores de sucesso.

A última palestra do Ruby Conf 2010 foi a de Jim Weirich, uma das palestras mais aguardadas do evento, onde todos foram reunidos no mesmo horário e na mesma sala.
Figura importante no mundo Ruby, Jim é o cientista-chefe da EdgeCase LLC, uma empresa de desenvolvimento Rails localizado em Columbus Ohio.
A palestra falou sobre os princípios SOLID que são um conjunto de princípios de design que melhoram um design orientado a objeto.
Os cinco princípios são:
  • Princípio da Responsabilidade Individual
  • Principio Aberto / Fechado
  • Princípio da substituição Liskov
  • Princípio da Segregação de Interface
  • Princípio da Inversão de Dependência
Jim explicou cada um dos princípios, dando exemplos e principalmente fazendo muitas perguntas à platéia para que todos que quisessem opinar ficassem a vontade para falar a respeito das práticas de programação do SOLID.
O SOLID surgiu das linguagens de programação OO como C++ e Java, durante a palestra, Jim explicou como é possível utilizar o SOLID no Ruby on Rails.

Conclusão

A RubyConf 2010 foi excelente, com ótimas palestras sobre temas bem variados e com palestrantes de alto nível. No geral, as palestras foram de nível intermediário para avançado, isso é ruim por um lado, pois em várias acabamos “boiando”, mas em contrapartida é bom, pois nos faz perceber que precisamos aprender mais e força as pessoas a terem mais interesse em buscar entender melhor os assuntos e se aprofundar mais.

Esperamos que a RubyConf 2011 seja melhor ainda (com wifi funcionando rs). Parabéns a todos da organização e ao Fabio Akita pelo trabalho singular que vem exercendo na comunidade Ruby.

Autores:

Bruna Oliveira

Daniel Sakuma

Fabrício Campos

Glaucia Mekaru

William Nishio

Fonte imagens:

http://www.flickr.com/photos/locaweb/

RubyConf 2010 – estivemos lá! – Primeiro dia

outubro 29, 2010

Ocorreu entre os dias 26 e 27 a RubyConf Brasil, o maior evento de Ruby na América Latina. O evento foi no Centro de Convenções Frei Caneca, aqui em São Paulo. E nós da Voice Technology estivemos lá. 🙂

A seguir, segue as nossas impressões sobre a RubyConf 2010.

Organização

A organização da RubyConf foi muito boa, vários pontos merecem destaque:

  • A presença de uma “mestra de cerimônias”, para coordenar as trocas de palestras e dá os avisos, que ficou praticamente na sala 1, enquanto o Fabio Akita ficou na sala 2, cumprindo muito bem o papel também;
  • Coffee Break bem organizado, o único problema era o pouco espaço do saguão, frente a tantas pessoas que foram (a RubyConf LOTOU!);
  • As tradicionais Booth Babes da Locaweb (rs) que ajudaram nas horas das perguntas e do credenciamento.

Além disso, a localização do evento foi bem acertada, por ser perto do metro e como foi dentro do Shopping Frei Caneca, na hora do almoço, havia várias opções de restaurantes.

Palestras

Foram muitos palestras e não tem como falar sobre cada uma, mas vamos dá uma visão geral de como foram as que a nossa equipe participou (houveram duas trilhas).

A RubyConf começou com o keynote do Fabio Akita, onde ele deu uma visão geral sobre “ecossistema” em volta do Ruby, principalmente falando sobre Rails e a sua jornada como evangelizador de Rails, contando como ele começou com a linguagem e o framework e também citando as pessoas que fazem a diferença na comunidade, como por exemplo, o brasileiro José Valim, que é membro do core team do Rails.

Depois do keynote do Akita teve um excelente coffee break, onde o pessoal pode fazer o networking, e várias pessoas referências da comunidade estavam presentes na RubyConf.

Após o coffee havia duas trilhas de palestras e nossa equipe foi assistir a palestra do Yehuda Katz na sala 1, que falou sobre o uso de javascript do lado servidor e do cliente, dando boas dicas sobre como usar de forma eficiente. E também falou sobre o desenvolvimento do jQuery e SproutCore, dando boa enfâse na parte da performance do Sproutcore.

A palestra do Chris Wanstrath, co-fundador do Github, foi dada pelo Scott Chacon, que também é da equipe do GitHub. O tema da palestra foi o Resque, que é um sistema gerenciador de jobs em filas, que é uma boa alternativa para trabalhar com a execução de vários jobs e a distribuição deles de forma paralela.

O Resque é um projeto desenvolvido pelo próprio pessoal do GitHub para ajudar eles a processarem o grande volume de jobs do próprio GitHub. Após utilizar vários sistemas de filas, como por exemplo, o Delayed Job, eles acabaram optando por desenvolver o Resque , que hoje já conta com várias empresas utilizando ele e vários plugins.

Após o almoço, houve a palestra do José Valim, onde foi abordada as mudanças que o Rails 3 trouxe e o que será implementado na versão 3.1, que deverá sair em dezembro desse ano. A palestra foi muito boa, e deu pra perceber que o core team do Rails, está atuando fortemente para tornar o Rails cada vez melhor, tanto na parte da performance quanto na melhora do código em si, se preocupando bastante em deixar mais DRY e também mais modularizado e assim, flexível.

Logo após a palestra de José Valim, na sala 2 o tema era “Integrando o iPhone com Ruby on Rails + Geração de gráficos com Ruby on Rails”, apresentada por Pedro Franceschi.

Mais do que o tema, talvez o que chamou bastante atenção foi o palestrante: um garoto de apenas 14 anos que ganhou notoriedade desbloqueando aparelhos da Apple como Iphone e Ipod touch. Interessado em programação desde os oito anos de idade, atualmente, Pedro trabalha em uma empresa de tecnologia no Rio de Janeiro desenvolvendo aplicativos e jogos para diversos produtos da Apple.

Durante a palestra, apesar da pouca idade, o garoto mostrou bastante conhecimento técnico e desenvoltura em sua apresentação, mostrando e explicando códigos em Ruby on Rails de aplicativos que rodam no celular.

Na segunda parte da palestra, Pedro apresentou diversas gems utilizadas para gerar gráficos, explicando as vantagens e desvantagens de se utilizar cada uma dessas bibliotecas.

A palestra do Ricardo Panaggio e Thiago Pradi, foi sobre as suas experiências na RubySoC e ocorreu em paralelo com a do Pedro, na sala 1. Foi bem legal a palestra, deu pra entender bem o intuito de se participar de um evento como a RubySoC, onde o participante tem que contribuir com algum projeto open-source, seja uma solução própria, ou a melhoria de algo, e poderá receber até $5.000 pelo trabalho no projeto open-source. Ou seja, além da oportunidade de aprender MUITO e contribuir com a comunidade, o participante ainda irá receber por isso. Um ponto bem bacana que foi falado, foi que a participação em projetos open-source é uma ótima maneira de aprendizado, e não só no que tange a linguagem de programação, mas como também no uso do inglês e do trabalho e comunicação em conjunto, principalmente pela forte interação entre o participante e o seu mentor.

Depois da palestra do Ricardo e do Thiago houve o coffee break da tarde e logo após o coffee a última palestra do dia, do Lucas Húngaro onde ele compartilhou os seus conhecimentos sobre Rails.

O tema da palestra do Lucas parecia bastante interessante, mas logo no início deu para perceber que a apresentação foi feita as pressas e que não foi feita nenhuma prévia para verificar os slides no projetor.

Foi praticamente impossível acompanhar a apresentação pelo telão, pois a cor escolhida para o fundo foi um roxo tão escuro e a fonte em preto que tornou impossível ler qualquer coisa pelos slides. Lá para o fim da apresentação, o palestrante resolveu das um jeito na fonte, mas isso não impediu a platéia de gritar alguns comandos e atalhos para ver se dava uma forcinha ao Lucas.

Mas basicamente a palestra falou um pouco sobre algumas gems utilizadas e recomendadas, tais como: query_reviewer e rails_indexes para otimização e performance de banco de dados, oink para profiling e kasket e cachy para caching.

Além de abordar técnicas e soluções para problemas em rails, sugestões como utilização de checklists durante o desenvolvimento como uma boa forma de adquirir bons hábitos e se o projeto está difícil de ser testado em isolamento ele está mal projetado e deve ser revisto.

A palestra abordou também temas como SOLID, programação defensiva e lei de Demeter.

E assim foi encerrado o primeiro dia, que foi excelente. Ainda teve depois a desconferência, com várias lightning talks, mas a gente acabou não assistindo, o que foi uma pena, pois pelos comentários no Twitter, foram excelentes.

Em breve publicaremos as nossas impressões sobre o segundo dia da RubyConf. Fique de olho no Ensinar. 😉

Autores:

Bruna Oliveira

Daniel Sakuma

Fabrício Campos

Glaucia Mekaru

William Nishio

Cobertura do evento “Ruby+Rails no mundo real 2010”

junho 1, 2010

Pessoal,

No sábado passado (29-05-10) Eu e o Fabrício Campos estivemos na segunda edição do evento “Ruby+Rails no mundo real 2010”, organizado pela Tempo Real Eventos em parceria com o GURU-SP (Grupo de usuários Ruby de São Paulo).

Para os interessados em saber quais foram as novidades mostradas nesse evento, eu escrevi uma cobertura do que aconteceu e um resumo de cada palestra no meu blog.

Quer conferir? Então acesse o link abaixo:

Minhas impressões – Ruby+Rails no mundo real 2010 – 29/05/10

No ano passado eu também escrevi a cobertura da primeira edição do evento (rs) e foi publicada aqui no Blog do Ensinar. Acesse o post pelo link abaixo:

Minhas impressões – Ruby + Rails no Mundo Real 2009 – 04/04/09

Acompanhe também as atualizações do pessoal que está postando no twitter acerca do evento!

Até mais e boa leitura a todos!

Encontro no:sql(br). – Eu fui!

maio 16, 2010

Ontem às 08:30 começou o no:sql(br)., um evento sobre banco de dados NoSQL (Not only SQL). Para quem não conhece o assunto, recomendo a leitura deste artigo.

O evento foi organizado pelo Alexandre Porcelli e inicialmente era para ser uma reunião de usuários de NoSQL. Porém, para a nossa sorte, acabou tomando maiores proporções, e uma reunião que poderia ser realizada sem maiores problemas numa sala de aula, teve que ser transferido para o auditório do Hotel Park Suites ITC Vila Olímpia, localizado na zona sul de São Paulo.

Eu e o Rodrigo Ribeiro tivemos a força de vontade e a nerdice, para acordar bem cedo em pleno sabadão, para ir a esse primeiro evento de NoSQL no Brasil (acredito que seja o primeiro).

Abaixo relato as minhas expectativas, impressões e falo um pouco sobre cada palestra que ocorreu. 🙂

Expectativas

Confesso que eu só fui me interessar pelo evento na última quinta-feira (hehe). Após ter tido que pesquisar sobre bancos NoSQL para um novo projeto que estamos desenvolvendo aqui na Voice. E ao pesquisar e estudar tive dificuldades em entender esse “novo” paradigma, e então, lembrei do no:sql(br). que foi divulgado pelo Rodrigo na lista do Ensinar. Só aí que fui me interessar pelo evento, justamente para clarear as minhas ideias sobre o assunto e poder aprender mais, uma vez que seria uma excelente oportunidade de aprender sobre NoSQL e principalmente, quando usar um NoSQL.

Abertura – Alexandre Porcelli (OpenSpotLight)

O Alexandre Porcelli, idealizador do evento, fez a abertura do mesmo, falando sobre como foi a origem do evento, que como disse antes, era para ser uma reunião de usuários NoSQL, e uma desculpa para ir num buteco depois. Porém, a conversa que começou no twitter, acabou tomando maiores proporções (o poder do twitter é incrível) e já no primeiro dia de inscrições foram mais de 100 inscritos!

O Strange Loop foi uma das inspirações para o evento, por sua característica mais simples e de baixo custo. E no caso do no:sql(br). o custo para os participantes foi ZERO!

O Alexandre lembrou que o evento não era para falar mal de banco relacionais, afinal NoSQL, é sobre escolha e não sobre ser contra algo. E depois o Alexandre fez um jabá de seu projeto open-source o OpenSpotLight, que objetiva ser um Google para a área de TI (Google4IT).

No final da abertura, o Porcelli informou que estará organizando um novo evento para o próximo semestre, que será sobre Linguagens Emergentes & DSLs.

noSQL anti-patterns – Gleicon Moraes (Locaweb)

Na verdade o tema correto da apresentação seria SQL anti-patterns, como foi lembrado pelo Luciano Ramalho.

O Gleicon fez uma apresentação bem legal, foi a que eu mais gostei. Falando sobre anti-patterns SQL, que muitas vezes ocorre não por má vontade do desenvolvedor e sim porque o mesmo não conhece outras alternativas (leia-se NoSQL).

Abaixo uma apresentação utilizada pelo Gleicon no evento da Locaweb, mas que é a base senão até igual a apresentação utilizada ontem.

Na apresentação Gleicon deixou bem claro a importância de conhecer NoSQL, pois muitas vezes fazemos a escolha errada, por não conhecer outras formas de implementação. Outros pontos frisados foram:

  • Não há bala de prata
    • considere alternativas;
    • pense fora da normalização;
    • considere a desnormalização como uma opção;
    • simplificar.
  • Algumas mudanças organizacionais são necessárias, o desenvolvedor precisa tomar conta dos dados;
  • “Estou otimizando”, quando na verdade a pessoa está aprendendo a fazer as coisas;
  • É importante conhecer/aprender as ferramentas certas;
  • Boa parte dos problemas ocorrem por causa da mentalidade “relacional”;
  • Verifique se você está muito dependente de cache, cache é bom, mas é remendo. Por isso a dependência de cache pode significar um alerta;
  • Pense mais sobre os seus dados.

Performance e simplicidade com Chave/Valor utilizando REDIS – Luiz Fernando Teston (OpenSpotLight)

O Teston, que também participa do projeto OpenSpotLight, começou a sua apresentação dando um introdução sobre chave/valor que é o modelo de dados utilizado pelo Redis.

Depois da introdução foi comentado que o Redis armazena os dados em memória, por isso é mais rápido. E é possível configurar de quanto em quanto tempo que ele irá persistir esses dados em disco. E além de poder adicionar strings, o Redis também pode armazenar uma lista de itens, set ordenado e array de bytes.

A respeito das chaves:

  • O index é pela chave;
  • Os ids são criados usando auto increment (como no banco relacional);
  • Chaves naturais podem ser usadas (ex.: nome do usuário do twitter);
  • Criar chave muito grande não é performático.

A instalação do Redis é bem simples e quem usa Windows precisa instalar o Cygwin.

Depois o Feston falou sobre os comandos existentes no Redis, maiores detalhes podem ser obtidos nessa página da documentação do Redis.

Qual cenário que você indica o uso do Redis?

Quando a busca por dados na memória é possível e quando o seu modelo de dados se adequa bem ao modelo chave/valor.

Por fim, o Feston deixou bem claro que o Redis não tem limitação de memória, uma vez que ele pode fazer uso de memória virtual.

O papel do REST no Neo4J e CouchDB, um comparativo – Guilherme Silveira (Caelum)

Um dos poucos palestrantes que eu já conhecia, embora não tenha visto nenhuma palestra ao vivo, só as gravadas (rs). O Guilherme Silveira é sem dúvidas um dos grandes entusiastas de REST, e aliás, ele é o desenvolvedor do Restfulie.

A palestra foi bem voltada para o mundo Web e focando em REST. E de início o Guilherme falou sobre escalabilidade, dizendo que “escalar é dá vazão para mais” e a web “é o maior sistema distribuído que o ser humano criou”, portanto, podemos aprender bastante coisas sobre escalabilidade com a Web.

Foi falado da importância de ser stateless, pois assim o servidor não precisa saber quem é você e o usuário pode ser “servido” por qualquer servidor (quando você faz uma pesquisa no Google, por exemplo, para o usuário a impressão é de está acessando o servidor do Google, quando na verdade ele está acessando e sendo servido por vários servidores).

O Guilherme lembrou que cache é fundamental para a escalabilidade, e podemos cachear tanto no cliente, intermediários e no servidor.

Dentre os pontos principais da apresentação destaco:

  • Evite bater no BD, ou seja, usar cache e perguntar só uma vez ou só para confirmar se a informação é a atual;
  • Ao ínves de usar uri pattern, usar links;
  • Há uma RFC para links, a 5829;
  • Usar melhor o header do html, por exemplo colocando um link de histórico nele;
  • O trabalho do BD não é cachear;

O auge da apresentação foi quando o Guilherme falou sobre visibilidade, o problema é que eu não me lembro muito bem o que ele falou (rs).

Pegar um sistema em camadas e tentar fazer tudo numa única camada, não é solução nenhum pouco inteligente, uma vez que é importante desaclopar os componentes da sua arquitetura.

No final o Guilherme ainda apresentou um exemplo usando Ruby e Sinatra, onde ele transformar os valores obtidos no CouchDB em links e depois ele falou sobre o QCon, que parece ser um evento bem interessante (estou pensando em ir).

A apresentação do Guilherme foi bem legal, mesmo ele não falando muito sobre o CouchDB, cuja interface é via REST. Ele fala de uma maneira bem empolgada e a apresentação tinha imagens que garantiam boas risadas da platéia.

Introdução ao MongoDB – direto da fonte! – Alberto Lerner (10gen)

A apresentação do Alberto, que veio de Nova York só para participar do evento, foi sobre o MongoDB do pessoal da 10gen, um banco de dados orientado a documentos open-source.

A palestra foi bem legal, principalmente pelo fato de ser introdutória (hehe) e ter mostrado as características e comandos do MongoDB.

O Alberto começou a apresentação falando sobre a origem do nome, que veio da palavra inglesa “humongous” que é usada de forma coloquial e significa gigante (para nós brasileiros não é um bom nome rs).

Os documentos são armazenados no formato JSON, e numa analogia com uma banco de dados relacional:

  • O documento JSON seria o registro;
  • As collections seria uma tabela;
  • Os índices seriam os índices mesmo;
  • O embedding e o linking seria o join.

Depois o Alberto apresentou os comandos principais do MongoDB, esclarencendo que o MongoDB não tem uma linguagem de consulta, o que existe são expressões/comandos, que são usados no formato JSON.

Algumas características interessantes do MongoDB:

  • É possível acrescentar dados, por meio de um update;
  • Não existe um schema dentro das coleções, ou seja, as collections podem ser dinâmicas;
  • Há upserts, que podem atualizar se documento já existe, ou cria se ele não existe;
  • Você pode armazenar o seu dado da forma que ele ocorre na “natureza”.

O Alberto também falou um pouco sobre replicação e sharding, onde deu para perceber que o MongoDB é bem flexível.

Dentre as empresas que já usam o MongoDB, destaque para o SourceForge e a FourSquare.

No final o Alberto convidou o pessoal a participar do projeto do MongoDB, dizendo que a língua não é uma barreira, o importante é a contribuição. E todo o código do MongoDB está disponível no GitHub.

Tio: um NoSQL made in Brasil – Rodrigo Strauss (1bit)

A apresentação do Rodrigo Strauss foi sobre o seu projeto chamado Tio, que é um servidor de estrutura de dados com publish subscribe.

Os slides da apresentação já foram disponibilizados pelo Rodrigo e podem ser conferidos no link abaixo:

http://docs.google.com/present/view?id=dg9kbfzn_73m4c7qvc6

O Tio é um projeto no qual o Rodrigo vem trabalhando já há 3 anos, e na época em que ele começou NoSQL ou não existia ou não era “mainstream”.

E a ideia do Tio é que o seu uso seja tão fácil quanto usar a sua linguagem de programação. O core do Tio, é o publish subscribe, onde qualquer um pode assinar para receber as mensagens da sua aplicação.

Algumas características do Tio:

  • Para usar o Tio você pode conectar via telnet/netcat;
  • Ocupa 700k de memória (com a base limpa é claro);
  • Você modela os dados igual você modela na sua aplicação;
  • Desenvolvido em C++;
  • Há uma api em Python, criada pelo próprio Rodrigo;

O Rodrigo ainda fez uma demostração do Tio fazendo um aplicação de chat, que depois basicamente só precisava da implementação do lado do cliente, e para isso ele utilizou a API em Python.

No final o Rodrigo ainda falou sobre as vantagens, limites e o que existe atualmente (tudo isso pode ser conferido no link que passei da apresentação).

Nas Nuvens com KVM, JBoss REST-Easy e InfiniSpan – Edgar Silva & Samuel Tauil (Red Hat Brasil)

A apresentação do Edgar Silva e do Samuel Tauil, começou com o Edgar falando sobre o KVM, que possibilita a virtualização nativa no SO. E a virtualização possibilita uma melhor utilização do hardware.

O Edgar lembrou que para NoSQL você precisa de uma:

  • Infraestrutura;
  • Armazenamento;
  • Acesso.

Depois foi falado um pouco sobre REST, onde a ideia é de mapeamento de verbos de serviços na Web usando URIs. Exemplo: tv/canal/121 [recurso|objeto|valor]

O Samuel falou sobre o Infinispan, que é uma plataforma dados em grid open-source, voltada para permitir o cache distribuído.

A parte da apresentação do Samuel foi focada em mostra o Infinispan na prática, mostrando a inserção de dados por meio de uma interface swing e visualizando os mesmos no navegador web.

No final o Edgar voltou e mostrou um pouco do REST-Easy.

Divide et impera – Processamento massivo com Hadoop, Pig e HBase – Vinicius Carvalho (SambaTech)

A minha expectativa para essa palestra estava alta, pois eu já tinha brincado/apanhado um pouco com o Hadoop (até fiz um post aqui no Ensinar), e queria saber como o pessoal da SambaTech está usando o Hadoop.

O Vinicius começou a apresentação explicando sobre o projeto Hadoop e depois contanto que eles usam ele para o processamento de logs, mas ainda a caráter de “prova de conceito”, embora executem toda sexta-feira o script escrito em Pig lá na Amazon.

O Hadoop é um framework de MapReduce mais utilizado, implementado em Java, capaz de executar Petabytes

Foi falado também sobre Grid Computing, onde a ideia principal é a distribuição da computação (processamento). E se formos pensar, uma arquitetura cliente-servidor já é um exemplo, embora “tosco”, de computação distribuída.

Depois o palestrante falou sobre o paradigma do MapReduce, no qual o objetivo é  mapear (map doh!)  dados que estão armazenanados de forma distribuída e depois processá-los (reduce).

O desafio do pessoal da SambaTech era fazer em Pig, o que antes era feito por um script em perl, que rodava em uma máquina.

Mais que raios é esse Pig, você deve está se perguntando… ele é uma linguagem de data-flow, de alto nível para você escrever as suas funções MapReduce.

Por que Hadoop?

O Vinicius falou as razões pelas quais eles investiram no Hadoop:

  • Dado está disponível (twitter. facebook)
  • Storage está barato
  • Web 2.0 demanda de inteligentes soluções
  • Cloud computing

O interessante da palestra foi a explicação sobre o Pig, que como disse antes é a linguagem utilizada para escrever as funções MapReduce, e a sua utilização adicionar 20% de overhead. Putz, então usar Pig é ruim!? Nem tanto, pois ele facilita bastante as coisas, uma vez que criar map/reduce não é fácil, pois o paradigma é diferente e na hora de criar o workflow que a coisa complica ainda mais.

A apresentação do Vinicius teve que ser encerrada antes dele falar sobre o HBase, que acredito que era o assunto principal para o evento. 😦 A respeito dos slides, a cor azul do texto no fundo branco, tornava praticamente impossível a leitura dos slides e havia muito texto.

Estudo de caso: avaliando o Apache Cassandra como cache distribuído – Julio Viegas (GlobalCode)

A apresentação do Julio foi sobre como eles estão trabalhando com NoSQL lá no SPC Brasil, para não substituir o Oracle e sim usar o Cassandra como cache. O sistema deles tem cerca de 100 transações por segundo, 22 processos, cache mutáveis com replicação via Ehcache + rmi, sendo esse cache chave + valor.

O Julio tentou usar o Terracotta, mas não foi uma experiência muito legal, devido a instrumentação.

Foram avaliados os seguintes NoSQL do tipo chave + valor:

Alguns pontos interessante sobre o Cassandra:

  • Criado pelo Facebook, e usado em parte dele;
  • Open-source;
  • Baseado no Amazon Dynamo;
  • Tem como usuários: digg, reddit, cisco webex, rackspace, twitter;
  • Baseado no modelo chave + valor;
  • Tipos dinâmicos versionados com timestamp;
  • Atomicidade por chave;
  • Configuração simples (isso é bem legal).

O pessoal do SPC precisava de:

  • Armazenamento descentralizado;
  • Tolerante a falhas;
  • Elástico: adicione mais servidores a quente;
  • Escala horizontalmente.

E o Cassandra trabalha justamente com disponibilidade e tolerância a perda de partições. sacrificando um pouco da consistência (afinal não é possível ter o máximo de disponibilidade, consistência e tolerância a falhas ao mesmo tempo CAP).

Com o Cassandra não é possível fazer order by, por isso é necessário gravar já de forma ordenada.

A apresentação do Julio foi bem interessante, deu para conhecer o Cassandra, que aliás, é o NoSQL que as pessoas mais usam ou tem interesse em usar.

Depois ainda teve um painel de discussão, no qual a pláteia e os palestrantes bateram um bate-papo sobre noSQL, falando desde de quando não usar um banco de dados relacional até as dificuldades em implantar um banco noSQL, que em boa parte das vezes, ocorre por causa da cultura da empresa, ou melhor, das pessoas.

No final ainda teve o happy/breja hour, mas eu não participei, pois já estava cansado (dia todo com o note no colo é osso) e a viagem para casa era longa 😦

Conclusão

O no:sql(br). foi muito bom! Uma organização EXCELENTE, melhor que muito evento pago (e uns até bem pagos) por aí. Os coffee breaks foram sensacionais (pensou que eu tinha esquecido de falar deles rs). A galera que estava presente estava realmente a fim de saber sobre o assunto (acho que todos que estavam lá, era por interesse próprio e foram por vontade própria) e mostraram ter o espírito de comunidade, muitos contribuiram com doações antes do evento e durante o evento, quando o chapéu do Borcelli passou (hehe).

As palestras foram muito boas, e a grade estava bem diversa, então deu para ter uma boa visão geral do mundo de NoSQL. Só senti falta de uma apresentação introdutória, embora o foco do evento tenha sido para as pessoas que já tinham um conhecimento/experiência prévia sobre NoSQL.

Minhas expectativas foram superadas, agora eu entendi melhor o paradigma do NoSQL e nessa semana estarei fazendo mais testes com o CouchBD de início, e talvez depois com o MongoDB, os dois que tem o modelo de dados por documentos, que parecem que se adequam melhor para a nossa necessidade (relatórios de chamadas).

Além disso, pude rever um pessoal do Guru-SP (dia 29 tem o Ruby on Rails no Mundo Real 2010, estaremos lá!) e ainda conhecer e conversar um pouco com o Akita, que deu uma dica que pode ser bem útil para nós. 🙂

Para terminar o post, gostaria de dá os parabéns ao Alexandre Porcelli, pelo excelente evento! E também a todos que foram, afinal como o Porcelli falou “é um evento da comunidade para a comunidade”. 😀

-Se o seu modelo de dados se adequa bem ao modelo chave/valor

JBoss In Bossa – Apresentação Mobicents

maio 8, 2010

Pessoal,

Hoje eu e o Antonio fomos ao JBoss In Bossa 2010 palestrar sobre Mobicents.Estávamos meio ansiosos em relação a palestra porque telefonia não é um assunto que seja do conhecimento e do cotidiano da maioria dos desenvolvedores.

Estavam presentes cerca de 20 pessoas e como a maioria não conhecia de telefonia, que é o esperado neste tipo de evento, fizemos uma apresentação que apresentou mais conceitos nos 45 minutos iniciais e na cerca de 1 hora e 15 minutos restantes mostramos o código necessário para esta implementação.

Espero que as pessoas presentes  gostaram da palestra e fiquem à vontade para entrar em contato. Quem quiser acesso ao código é só ir no Git Hub do Antonio: http://github.com/antonioams .

Segue a apresentação que foi utilizada no evento. Maiores informações podem ser obtidas na página com detalhes da Palestra.

Como ser produtivo? Contando tomates

abril 22, 2010

Hoje ocorreu a segunda edição do “Desembucha Aí!”, que teve como tema “Como Ser Produtivo? Contados Tomates”.

Abaixo, compartilho a apresentação utilizada:

Muito obrigado a todos que estiveram no evento! 🙂

E o próximo “Desembucha Aí!” será apresentado pelo André Pantalião, e o tema será Lean.

Até a próxima!

2º Desembucha Aí!

abril 20, 2010

Pessoal,

Na quinta-feira (22/04) às 15:01 na sala de treinamento da Voice, ocorrerá o segundo “Desembucha Aí”. Eu estarei apresentando a palestra “Como ser produtivo? Contando tomates”.

Na apresentação estarei falando sobre uma técnica que vem sendo bem falada ultimamente para gerenciamento do tempo, o Pomodoro.

Desembucha Aí!

abril 15, 2010

Pessoal,

Amanhã às 15:01 na sala de treinamento da Voice, iniciará a primeira palestra do “Desembucha Aí”. O Rodrigo Ribeiro irá palestrar sobre os “Os seis chapéus do pensamento”.

O que é o “Desembucha Aí”?

A  idéia do “Desembucha Aí” é realizar palestras rápidas, de no máximo 25 minutos sobre determinado tema. Para isso, o palestrante tem que focar bem a sua palestra sobre um tema, objetivando instigar a reflexão sobre o mesmo pelas pessoas.

P.S.: Por enquanto, essas palestras são internas.

í” idéia

Impressões: Encontro Internacional de Tecnologia e Inovação para Pessoas com Deficiência

dezembro 11, 2009

Nos dias 8 a 10 de dezembro, aconteceu o primeiro Encontro Internacional de Tecnologia e Inovação para Pessoas com Deficiência, sediado em São Paulo no WTC.

Nós da Voice Technology participamos dos três dias do evento, com o intuito de conhecer mais esse mundo, pois estamos desenvolvendo uma solução voltada  para surdos, e estamos buscando conhecer melhor essa realidade.

Abaixo, segue as minhas impressões sobre o evento, espero que gostem. 🙂

Infra-Estrutura e Organização

A infra-estrutura do evento foi muito boa, o WTC é um local que costuma ser sede de vários eventos, até alguns de TI. As palestras ocorreram em dois locais, um auditório com uma alta capacidade de público (não tenho os números) e uma sala com menor capacidade de público. Ainda havia um espaço para os expositórios bem organizado.

A organização deixou um pouco a desejar, devido aos atrasos das palestras e falhas na apresentação das palestras (problemas com slides, microfone, tradução, etc). Mas nada que tenha prejudicado muito o evento em si.

Abertura Oficial do Encontro com a Profª. Drª. Linamara Battistella

Abertura Oficial do Encontro com a Profª. Drª. Linamara Battistella

Palestras

Basicamente dois tipos de palestras foram feitas:

  • Apresentando soluções tecnológicas voltadas para pessoas com deficiência: bem interessantes, mostrando como a tecnologia pode contribuir para a vida das pessoas com deficiência;
  • Falando sobre assuntos políticos em relação as pessoas  com deficiência: não são palestras de minha preferência, foram bem políticas, cheias de boas inteções, mas muito blá-blá, ainda não há muitos resultados expressivos no Brasil, até porque só recentemente, que as ações políticas comeceram a ter uma nova visão em relação as pessoas com deficiência.

Um ponto que achei interessante, é que há muitas pessoas bem encajadas nessa causa. Pessoas realmente comprometidas e focando na melhoria da qualidade de vida das pessoas com deficiência. Destaque para a Secretária da Secretaria de Estado dos Direitos da Pessoa Com Deficiência, Profª. Drª. Linamara Battistella, Cid Torquato, Coordenador de Articulação Institucional e Políticas Públicas da Secretaria de Estado dos Direitos da Pessoa com Deficiência e a vereadora da cidade de São Paulo, Mara Gabrilli.

Palestra - O Mercado de Tecnologias Assistivas no Brasil, com o Cid Torquato como moderador.

Dentre os assuntos discutidos nas palestras, destaco:

  • A importância do apoio do governo, em ações voltadas para pessoas com deficiência;
  • O desenvolvimento da tecnologia deve estar alinhado as necessidades da sociedade;
  • Às vezes não é necessário a utilização de alta tecnologia para poder fornecer uma solução eficaz, exemplo a bengala longa;
  • A informática teve grande impacto na vida dos deficientes visuais;
  • As órteses e próteses quando feitas de acordo com as necessidades da pessoa, trazem resultados impressionantes, porém, infelizmente o preço delas são muito caras é a uma grande dificuldade na importação, pois a ANVISA precisa aprovar antes, o que leva um bom tempo geralmente;
  • As cadeiras de rodas tem ajustes que devem ser feitos de acordo com as necessidades da pessoa, porém os orgão públicos, insistem em fornecer cadeiras genêricas, que são muitas vezes, não são ideais para o cadeirante;
  • A tecnologia é a chave para tornar a inclusão das pessoas com deficiência na sociedade;
  • A tecnologia por si só não é a solução final, ela é apenas um meio, há ainda várias outras premissas, como a educação das pessoas e formação de educadores;
  • Poucas empresas pararam para analisar esse mercado, e há cerca de 27 milhões de pessoas com deficiência no Brasil, ou seja, são 27 milhões de potenciais consumidores, que estão sendo ignorados pelas empresas;
  • A mobilidade urbana é um aspecto muito importante para ser ter uma cidade para todos;
  • Para você ser uma pessoa com deficiência, você tem que ser rico. Os tratamentos, aparelhos, produtos, etc para as pessoas com deficiência são muito caros, há redução de IPI para carros, por exemplo, e para cadeiras de roda?
  • A terceira idade precisa ser bem atendida e respeitada. E soluções para melhorar a qualidade de vida dessas pessoas é muito importante, pois no futuro serão a maioria da sociedade;
  • O mercado para pessoas com deficiência, ainda não é um mercado maduro;
  • O esporte pode motivar as pessoas com deficiência para a vida;
  • As pessoas com deficiência podem ser produtivas e menos dependentes do estado;
  • O governo ainda tem uma postura errada em relação as pessoas com deficiência, de só assistencialismo;
  • A acessibilidade é de extrema importância em web sites;
  • Nos EUA 2/3 das pessoas desempregadas com deficiência gostariam de trabalhar, mas não encontram emprego;
  • A falta de acesso a educação é um grande problema;
  • O uso de padrões abertos e softwares open-source é muito importante em soluções voltadas para pessoas com deficiência, pois assim não há uma forte dependência com a empresa desenvolvedora;
  • Mais difícil do que criar a tecnologia e manter-la;
  • Residências inclusivas são importantes, pois representam a possibilidade de uma vida individual;
  • É preciso menos discurso e leis e mais ações.

Palestra-Tecnologias Assistivas, Ajudas Técnicas e Seu Papel na Sociedade - Melhoria na Qualidade de Vida

Conclusão

A participação no evento trouxe para nós o que estavamos esperando, uma visão do mundo das pessoas com deficiência. Em várias palestras, haviam pessoas com deficiência apresentado suas idéias, projetos, experiências, etc, o que foi excelente, pois nada melhor do que quem vive essa realidade passar esse conhecimento para nós. Uma realidade que ainda é pouco conhecida pela maioria das pessoas, e por isso acaba sendo tão negligenciada.

Não é porque a pessoa tem uma deficiência que ela se torna incapaz de exercer o seu papel na sociedade, ela ainda pode ser produtiva e até servir de exemplo para a sociedade, afinal o mais importante muitas vezes, é a vontade e determinação, e isso percebemos que eles tem de sobra.

E nós temos um papel fundamental para que a inclusão da pessoa com deficiência na sociedade ocorra, pois precisamos ter respeito , educação e conhecer essas pessoas. Não adianta ter todo uma infra-estrutura que possibilite, por exemplo, a mobilidade urbana, se nós não estamos preparados a aceitar essa pessoa na sociedade.

Eu não tinha noção do quanto a tecnologia pode agregar para a vida de uma pessoa com alguma deficiência, é impressionante o quanto a tecnologia pode mudar o mundo da pessoa. Uma das frases, que ouvi, e que me chamou a atenção foi:

A tecnologia tornar as coisas mais agradáveis para as pessoas, já para as pessoas com deficiência, a tecnologia torna as coisas possíveis.

Portanto, nós temos que ao desenvolver um sistema, nos preocupar se ele é acessível por todos. Pois, o sim para todos, não deve ficar apenas no discurso, e sim na ação.

Fotos:

Por André Pantalião

Ensina Aí! Curso de Scrum em Londrina

outubro 28, 2009

Neste fim de semana (24 e 25 de outubro) aconteceu mais um curso do Ensina Aí, só que desta vem em Londrina. O curso aconteceu no escritório da Brastel em Londrina e contou com pessoas da própria Brastel e de outras empresas.

Foram dois dias de cursos, 16 horas no total. Apesar de ficar um pouco puxado, acredito que o pessoal gostou do conteúdo. Todos participaram, fizeram observações e tiraram dúvidas.

O curso passou por todos os aspectos abordados no curso de Scrum Master e três exercícios práticos foram realizados:

Acredito que estes últimos dois exercícios foram úteis para que alguns conceitos, que do Scrum 59 não são totalmente percebidos, fossem assimilados.

Bem, é isso. Assim que novos cursos do Ensina Aí! estiverem agendados, divulgaremos aqui no blog.

Obrigado Frank e Marco pela organização e acolhida.