4ª Semana de Ciência da Computação e Tecnologia da Informação (SCTI 2014)

Aloha,

Na semana do dia 03/11 até 07/11 rolará em Campos/RJ a 4ª Semana de Ciência da Computação e Tecnologia da Informação (SCTI 2014), um puta evento de tecnologia que terá assuntos dos mais variados: do Arduino ao Ruby, do deploy contínuo à soluções de PaaS. O evento rolará no centro de convenções da UENF (Universidade Estadual do Norte Fluminense Darcy Ribeiro).

Um dos pontos positivos é que não teremos apenas palestras, mas VÁRIOS mini-cursos na parte da manhã. Um deles será do nosso amigo Leandro Nunes, que fará um hands on de Vagrant, ensinando como ter um ambiente de desenvolvimento separado da sua máquina e totalmente portátil.

Palestrarei novamente com o velho Almir M3nd3s sobre o dia-a-dia e evolução do Adena, a plataforma de e-commerce da Giran que estamos desenvolvendo a algum tempo e tem uma dezena de clientes. :)

Meu muito obrigado ao Eduardo Braga e toda a trupe da UENF pelo convite.

Curioso? Eu também ficaria. Acesse http://www.lcmat.uenf.br/scti e conheça o evento. :)

Sooner 0.8 lançado

Aloha pessoal,

Depois de um hiato bem grande, voltemos à programação normal. :)

A algum tempo lancei uma extensão pro Google Chrome chamada Sooner para ver e adicionar páginas à minha conta do ReadItLater. O ReadItLater é um serviço bem conhecido e antigo para guardar urls de todo o tipo e “ler depois”, como o próprio nome diz, e oferece uma API para criação de aplicativos que usem o serviço. O grande problema era que não havia uma forma rápida e direta de adicionar, ler e remover páginas em nenhum navegador. No Chrome existiam opções que eram bacanas mas não agradavam ou na usabilidade ou no funcionamento.

Com isso, e a curiosidade de fazer uma extensão pro Chrome pra aprender e brincar um pouco, nasceu o Sooner sem muita pretensão até que algum tempo atrás vi que várias pessoas eram feedbacks legais e tinha sido incluído na páginas e extensions do serviço. :)

Para baixar, basta acessar o link https://chrome.google.com/webstore/detail/mifafnghbieophofjinbniahjpiodpnm e pedir para instalar. Depois é só logar com sua conta do RIL (se não tiver ainda uma conta cadastre em http://readitlaterlist.com/signup) e pronto. :)

As novidades

Em relação à versão 0.7, foram adicionadas features que o pessoal havia pedido.

  • link para recarregar a lista, pois o RIL pode ser usado através de vários aplicativos e recarregar a lista pode ser necessário em algum momento
  • campo de busca, para buscar páginas da lista através de uma palavra ou termo. A busca está bem simples e buscando pelo titulo mas possivelmente no futuro procure na URL também
  • correção de um bug na listagem, pois o Chrome (isso vai render até um post) sempre re-ordenava os itens que vinham do RIL.
  • um novo design do tipo, para deixar os itens de adicionar, busca e recarregar lista em lugares de uso mais simplificado e direto.
Uma lista de novas features vem por aí, mas algumas já foram escolhidas como:
  • lista ordenável por título, link, páginas mais novas ou velhas
  • criação automática de conta através da página de opções
  • versão “text only” dos links, que é um serviço do RIL bem bacana.
Se curtir, dá uma instalada lá e experimenta! Se não, dá um macaquinho para trás. hehehe
Simbora.

Rock and Rails: Ruby e Rails no ES! :)

Aloha amigos,

Passando rapidamente para informar com grande prazer mais um evento organizado pela Giran (@giran_br) em solos capixabas. :)

No dia 01/10/11 (011011 em binário é 27 woooow!) o Rock and Rails, o primeiro evento de Ruby e Rails do ES. Estamos muito orgulhos e anciosos com o evento pois não conhecemos muitos devs Ruby/Rails no ES e esse é uma oportunidade muito bacana de conhecer não apenas quem já conhece um pouco da linguagem mas também falar da linguagem pra quem apenas houve falar dela por aí.

Entre os palestrantes estão algumas pessoas da Giran e de outras empresas. Irei palestrar um pouco sobre testes usando RSpec e espero que dê tudo certo. (risos).

O Rock and Rails será um evento dedicado ao desenvolvimento em Ruby e a framework Ruby on Rails, cuja aceitação e adoção nas empresas está em franco crescimento.   Este evento é inédito no estado e tem como objetivos principais disseminar o conhecimento da linguagem/framework e dar uma ideia da quantidade de interessados/profissionais/entusiastas não apenas da linguagem mas do desenvolvimento para internet.

O evento está sendo organizado pela equipe da Giran Ecommerce Solutions e não terá fins lucrativos: todos os recursos obtidos junto aos parceiros, patrocinadores e incrições será revertido para cobertura do evento e compra de brindes para sorteio ao final do evento.

Formato do evento

O evento contará com 2 tipos de palestras: além das regulares (em torno de 45 min) teremos algumas Lightning Talks, que são micro-palestras muito rápidas de 5 minutos onde as pessoas falam sobre assuntos muito específicos de modo a mostrar por exemplo uma técnica, uma ferramenta e coisas do gênero.

A inscrição do evento é de R$ 20,00, simbólicos apenas para pagar os custos do evento e comprar brindes e coisas do tipo. :D

Irado né? Então não perca tempo, pois as inscrições já estão acabando.Faça já sua inscrição e, porque não, ajude a divulgar o evento.

Siga-nos no twitter (@rockandrails ) e mande o seu “Eu vou ao @rockandrails !”. Ou mesmo pelo Facebook, qualquer ajuda na divulgação será muito bem vinda!

Visite a página do evento e conheça todos os detalhes: www.rockandrails.com.br.

1
2
<a href="http://rockandrails.com.br" target="_blank">
<img src="http://www.rockandrails.com.br/wp-content/uploads/2011/08/banner-divulgacao.jpg" alt="" /></a>

Review sobre #devincachu: interior do ES bombando!

Aloha!

Aconteceu ontem em Cachoeiro de Itapemirim, de onte estou blogando nesse momento, a primeira edição do Dev In Cachu: um evento que tinha o seguinte objetivo:

reunir desenvolvedores para compartilhar conhecimentos, experiências e novidades, visando assim fomentar a área de desenvolvimento de sotware no sul do Espírito Santo.

Tinha, nesse tempo verbal, porque o evento foi MUITO mais que simplesmente um evento para compartilhar conhecimentos, experiências e coisas do tipo. O Dev In Cachu foi um divisor de águas no que podemos considerar a consolidação de Cachoeiro do Itapemirim como um novo lugar onde as pessoas realmente gostam e correm atrás de tecnologia.

Embora o foco de qualquer evento seja simplesmente o aprendizado e fundamentalmente o networking, alguns eventos tem algumas manifestações além-evento que o tornam de certa forma especial. O que encontramos neste evento foi um ambiente muito bacana que propiciava não apenas iteração e conteúdo relevante, como idéias e discussões e tudo mais.

Ahhh sim, isso é um review. :)

O lugar onde foi realizado o evento foi a Faculdade São Camilo, muito bem escolhido. Além de um auditório com estrutura invejável, que dava uma visão muito boa de qualquer lugar onde você estivesse, ele fica do lado de um Shopping! Nunca foi tão fácil fazer o translado evento -> almoço -> evento. A disposição das coisas, como mesa de cafézinho e o coffee break, ficaram muito bacanas também. Acho que na próxima seria legal fazer ilhas de coffee break para evitar o efeito “bloqueante” de um monte de gente querendo pegar algo.

As palestras foram um deleite a parte. Apresentei com o meu brother Jeveaux (@jeveaux) uma palestra que tinhamos feito no ano passado, mas com um conteúdo atualizado, sobre nossa experiência de 2 anos de Giran. Falamos sobre o início de tudo e como estamos trabalhando desde então, errando e acertando. Fiquei surpreendido como as pessoas tinham perguntas relevantes e contextuais sobre a palestra.

A parte da manhã foi praticamente voltada para empreendedorismo e condução de projetos. O Denis Ferrari mandou bem na palestra “Como errar em desenvolvimento de software”, falando sobre as dificuldades em desenvolver um projeto de software. Depois rolou a palestra, que na minha opinião foi a mais enérgica e bacana do evento, do Henrique Bastos (@henriquebastos). Com o título de “Quer aprender a programar? pergunte-me como”, tivemos uma verdadeira aula motivacional e de coisas que rodeiam a gente. Palestras do tipo são sempre muito bacanas, mas essa foi especial.

Depois do almoço tivemos coisas mais técnicas. :)

O Fabrício Barros, da São Camilo, “viajou” falando de urban sensing, onde falou sobre a questão de uso de sensores em dispositivos para coleta e processamento para diversos fins afim de criar uma experiência de rede social relevante. Foi uma palestra bacana que condensou muito das teorias que são aplicadas hoje em softwares como Foursquare, social bike e afins. Escrevi feito um louco várias idéias. Muahuhauhauha.

Logo após, tivemos a palestra da dupla de figuras “global” da Globo.com, Andrews Medina e Francisco Souza, ex-padawan da Giran. :) Eles fizeram uma brincadeira com os 12 trabalhos de Hercules, fazendo 4 (para começar) trabalhos com Pythons, cada um dentro de um expectro de solução diferente. Tivemos aplicações web, para Android, um mapeador de pontos de acesso e um jogo. Um verdadeiro overview de que o Python é capaz.

Depois de um coffee break rolou uma introdução ao TDD pelo Erich Egert, da nossa estimada parceira Caelum. Depois de um dia inteiro falando sobre TDD, BDD, finalmente quem não sabia do assunto teve oportunidade de ver na prática como é desenvolver usando TDD. Salvo o número de tweets reclamando que TDD em Java era dificil de entender, a palestra foi bem bacana e acho que quem conseguiu abstrair o conceito levou uma boa bagagem de um profissional altamente indicado para falar de algo assim.

Estava morto e cansado já no final e depois dessa palestra parti para hotel para descansar e me preparar par ao #horaextra. O pessoal se juntou após o evento pra tomar algumas cervejas e comer algo. É um momento de iteração raro que gostaria muito de ver em Vitória após os eventos. Acredito que a proximidade como Shopping ajudou bastante.

Aliás, o twitter BOMBOU com a hashtag #devincachu. A quantidade de twittadas foi impressionante assim como as brincadeiras contextuais com o pessoal que ficava dormindo durante o evento. hahahaha massa.

Pra fechar, duas coisas muito importantes que contribuiram muito para um evento memorável.

A organização foi impecável. Ver as pessoas se matando pra fazer o melhor evento da melhor forma possível com paixão pelo que se gosta de fazer nos olhos foi iradasso. Meus sinceros parabéns à trupe:

Vocês colocaram a faca nos dentes, foram pra luta e venceram. À vocês, as batatas. :)

Outro ponto foi a posição estratégica e empolgação do pessoal de fora. Gente de vários municípios vizinhos e até um pouco mais longe, como Campos, marcaram presença em peso no evento. Cachoeiro se mostrou, dessa forma, o lugar ideal e propício para muito mais eventos como esse. :)

Enfim …

O Dev in Cachu foi f*da. Como pessoa fico orgulhoso por ver o pessoal mandando tão bem, e como empresa, falando pela Giran, foi um prazer ser patrocinador desse grande evento que teve presença até o Prefeito da Cidade. :)

E que venha o próximo.

From PHP to Rails (5 meses depois)

Salve pessoal,

A algum tempo decidi migrar do PHP para o Rails e desde então não tenho feito nada relacionado à PHP e me dedicado exclusivamente ao estudo e trabalho com Ruby on Rails. Os motivos eu expliquei bem e quase 6 meses depois eu acho que já posso dar uma explanada boa do que vem sendo meu cotidiano de projetos e experiências com a ferramenta.

Linguagem Ruby

O Ruby é uma linguagem fantástica: o Rails se aproveita muito bem de todas as capacidades e liberdades (as vezes até libertinagens) dela para fazer magia com algumas coisas. É muito impressionante você sair de uma linguagem estritamente movida basicamente à funções e classes para uma linguagem mutiparadigma que te deixa programar de várias formas diferentes.

A adaptação é bem custosa para quem está acostumado com o PHP mas vale muito a pena. Existem coisas como essa abaixo que realmente te deixam feliz.

1
2
3
10.times {
|i| puts i
}

A principalmente dificuldade que acredito que se encontra é realmente essa cara da maioria das coisas do Ruby que se tem que se acostumar a ler e interpretar. Mas depois que se começa a aprender é ótimo.

Gerenciador de pacotes Ruby Gems

Hoje em dia, a maioria das linguagens legais tem seus repositórios de bibliotecas. No PHP usei bastante o PEAR e algumas coisas do PHPClasses. No Ruby extendemos seu poder com o uso de gems e estas tem uma maneira muito legal de rastrear dependências e tudo mais através de um comando muito simplista:

gem install pacote_magico_ou_arquivo_da_gem

Ao contrário do PEAR que exige configurações e alguma coisas que um mortal as vezes não consegue se virar, o comando gem é muito simples e efetivo. Ele com certeza é a coisa mais legal desde o APT-GET. :) Vale avisar que se você seguiu a instalação padrão do rails, ele buscará sempre as coisas do rubygems.org que é o repositório padrão de gems.

O rubygems.org hoje tem trocentas bilhões de gems que ajudam um monte a desenvolver e não re-inventar a roda. :)

A framework Rails

Apesar das trocentas framerworks que temos para o PHP, poucas são realmente maduras como o CodeIgniter (de todas a melhor hoje em dia na minha opinião), CakePHP, Zend, Prado, Symfony e por ai vai. A comunidade Ruby se concentra MUITO em usar e divulgar o Rails, framework que transformou o Ruby num hipe louco de uma hora pra outra.

Todavia, o merecimento é mais que merecido: o Rails desde a versão 2 é uma framework que vai direto ao ponto e permite uma produtividade incrível e se aproveita muito da questão do uso de convenções para ficar ainda mais rápido.

Já trabalhei com frameworks em várias linguagens e posso afirmar que sentir-se à vontade no Rails é uma questão de dias e o vislumbre vem em semanas. Existe CLARO suas “limitações”: entre aspas pois na verdade dentro do escopo de propósito do Rails você as vezes tem que sair das convenções e isso tem seu preço.

A maturidade da framework é outro ponto muito bom: muito conceito e forma de fazer as coisas estão muito bem resolvidas. Ela utiliza uma conjunto muito legal de gems para deixar a framework pronta para subir e meter fogo sem necessitar de bibliotecas adicionais. É instalar, criar o projeto e sair codando e pendurando as gems adicionais SE precisar.

A parte chata (que não é um problema exclusivo dela) é a documentação: existe muita informação pulverizada e espalhada que as vezes você tem que garimpar e testar muito. Ao menos fica o aprendizado no final.

Testes, RSpec e Capybara

O próprio PHP tem uma mania de escrever rápido e ir debugando: conheço pouquíssimas pessoas que trabalham com testes no PHP e a ida para o Rails me deixou ainda mais confiante que sem teste não dá de jeito nenhum. Talvez isso seja mais uma coisa de cultura da comunidade, mas as ferramentas também não ajudam muito.

Um dos pontos que mais me deu desgosto no PHP era a forma precária como as frameworks trabalhavam com testes. Na Giran, tentamos no CakePHP, tentamos no CodeIgniter e já estavamos até fazendo nossos próprios forks e remendos pra conseguir rodar bem os testes unitários, funcionais e de aceitação. Tudo isso com aquela pergunta “Putz cara, será que isso é realmente necessário?”.

O Rails se integra de uma forma perfeita ao RSpec, uma ferramenta brutal de testes, nos permitindo escrever nossos testes de uma forma muito mais legível. A integração feita entre os dois é poderosa o bastante pra tornar a prática de escrever testes uma coisa muito mais natural e legal de ser feita. Isso no PHP estava se tornando algo MUITO dolorido e custoso, coisa que não é nem de longe nosso objetivo ao programar.

Outro lance legal é o Capybara, que permite escrever os testes funcionais bem rápido também. Estamos fazendo coisas nele e gostando dos resultados. É simplesmente impressionante como a cobertura de testes da aplicação está melhor.

Um programador melhor

O mais legal desse tempo é que sem dúvida me tornei um programador melhor. Você começa a ver as coisas com um pouco mais de calma, consegue estudar melhor as aplicações, se preocupa mais com a arquitetura e vem nisso um monte de novas coisas legais para estudar que acabam te levando de volta àquele sentido gostoso de querer saber mais e mais.

Fazia um tempo bom desde que não sentia isso e pensei que que seria algo só no inicio dos estudos do Rails: 5 meses depois cá estou eu lendo mais e mais pra descobrir as sutilezas do Ruby e coisas legais de se fazer no Rails. :)

Então tá tudo perfeito?

Foram 5 meses de muito aprendizado e coisa bacana, mas nesses 5 meses nem tudo foram flores.

  • a adaptação pro Ruby para quem vem de outras linguagens não é muito fácil, embora muito excitante
  • a documentação do Rails não é tão vasta: se rala muito para saber os N jeitos de se resolver as coisas
  • inexiste comunidade Ruby no ES (estamos pensando muito em juntar quem sabe aqui no ES e começar uma)
  • sair da “convenção” do Rails as vezes é bem complexo

E é isso: tem muita coisa nesse meio que vou escrevendo daqui pra frente nas descobertas que for fazendo na Giran com os brothers do time … novos railers que estão devorando livros e livros comigo. :)

Simbora.