Rework

Æ!!

Hoje terminei de ler o livro da 37signals chamado Rework! E vou falar um pouco sobre a idéia dele aqui.

Atualmente eu fiz uma compra na Amazon em conjunto com uns amigos (@vinibaggio, @hugobarauna, @cantoniodasilva), e cogitei a compra do Rework, mas depois de uma pergunta no Twitter e algumas respostas sobre a idéia do livro eu resolvi não comprar, pois parecia muito gerencial, e acabei optando por outros (Design Patterns In Ruby, Ruby Programming Language, The Pragmatic Programmer), que falarei em outros posts :P .

No fim das contas o @rafaelrosafu viu minha pergunta no Twitter e me emprestou o livro! \o/ Aproveitei que eu tinha acabado de ler o ultimo livro que eu estava lendo (Mestre Gil de Ham do J.R.R Tolkien), e já iniciei a nova leitura.

O livro me surpreendeu bastante, talvez por que eu estava esperando algo mais monótono, e ele é bem o contrário disso, dá várias dicas interessantes (que ajudaram eles quando estavam contruindo seus produtos, e ajudam até hoje) para quem pretende começar um novo negócio, e ainda dá algumas análises interessantes sobre como pensar como uma pequena empresa.

Alguns tópicos interessantes do livro:

Reuniões são tóxicas – O tempo que você perde em uma reunião e o retorno que ela te traz

Não contratar Rockstars – Criar um ambiente ótimo para extrair o Rockstar das pessoas

Planejar é chutar – Não levar tão a sério o planejamento pois todo planejamento é um chute grande ou pequeno

Tempo não é desculpa – Sabe aquele seu projeto que você está postergando há meses? Pois é…Você pode dedicar uma hora por dia para ele, e não esperar que aquele tempo sobrando venha, por que dificilmente virá. (esse bateu de frente comigo :P )

Comece no epicentro e ignore os detalhes – Mantenha o foco no centro do que o seu produto pretende fazer e evite detalhes no começo, para ter uma idéia mais geral e deixe o foco nos detalhes para uma segunda fase.

Durma – Não adianta trabalhar várias noites e perder toda a sua concentração e idéias por estar com uma mente cansada. Trabalhe e durma o suficiente para se manter criativo.

Diga não por padrão – Vejo muita gente que não sabe fazer isso, e realmente, o não muitas vezes é mais importante que o sim.

Faça pequenas decisões – É sempre mais fácil do que as grandes.

Aprenda a contratar – Contrate quando precisar, não examine apenas currículo por que ele não diz nada, não se preocupe muito com anos de experiência por que isso não é uma boa medida e não se preocupe com a localidade dos seus funcionários.

De liberdade aos seus funcionários – Eles não são crianças, e o seu custo de ficar monitorando eles para ver se eles estão realmente trabalhando é pior do que deixar eles por conta própria, e algum divertimento controlado no horário de trabalho não vai lhe trazer grandes prejuízos.

Enfim, esses são apenas alguns comentários sobre tópicos que eu achei interessante de ler no livro. É claro que eles estão falando de como é a realidade deles na 37signals, e você não vai conseguir aplicar essa idéia em qualquer empresa de qualquer área, mas para a minha realidade (e de muitos outros desenvolvedores) veio bem a calhar.

O livro contém muitos outros tópicos interessantes, e tem uma leitura bem agradável (é pequeno, tem uns desenhos por capítulo, demorei cerca de 5 horas para ler ele completo). Recomendo! ;)

Há braços

Tags:

Thursday, August 5th, 2010 Books 1 Comment

FISL11

Æ!!

Finalmente depois de 4 anos planejando eu consegui ir para o FISL! :D

Para quem ainda não sabe, eu estou trabalhando na Locaweb desde o começo deste mês e consegui ir com a equipe deles para o FISL.

Esperava um conteúdo técnico melhor no FISL, e algumas palestras (ou a falta de boas palestras) me decepcionou um pouco, mas pelo que eu fiquei sabendo foi decisão do público os temas, então ficou meio incontrolável. Mas como eu sempre digo, a melhor coisa dos eventos não são apenas as palestras, mas também as pessoas que você conhece e os papos que rolam entre uma palestra e outra, e isso foi bem legal! :)

Algumas palestras que eu assisti:

Xen Ferramenta de administração da Conab

Foi um case interessante do pessoal da Conab que criou uma ferramenta para administrar as maquinas Xen que eles tem internamente. E é uma aplicação Django Open Source. :)

An Introduction to Qt: The toolkit that can take you anywhere

Quem me segue no Twitter há algum tempo deve lembrar de alguns posts que eu fiz falando de Qt, pois eu resolvi estudar Qt e GTK Just for fun, e no fim das contas eu gostei bastante de Qt (e quase nada de GTK :P ). Nessa palestra vi algumas coisas introdutórias de Qt e descobri uma IDE para Qt (no estilo .NET mesmo de ficar arrastando coisas), que é a QTCreator e uma biblioteca de teste para coisas Qt, que é a QTestLib.

Libvirt: A biblioteca de virtualização

Palestra do meu amigo Eduardo Otubo , mas foi bem curtinha e eu só peguei o finalzinho. Como diria ele: “Não tem muito o que falar de LibVirt também”.

Crash course on Git

Palestra com o Scott Schacon do Github , que mostrou algumas coisas simples de Git, mas foi interessante assistir mesmo assim. Nos outros dias teve outras dele falando sobre branchs e como trabalhar com eles, que foi um pouco mais interessante, mas nada além do que eu já estava acostumado.

DeltaCloud: Many cloud one API

Outra palestra do Eduardo Otubo, que desta vez até fez uma citação para a Locaweb que talvez usará algo com DeltaCloud. Essa tecnologia é bem legal por centralizar várias APIs em um ponto único. :)

Segurança e desafios em cloud computing

Achei que essa palestra fosse mais sobre “como fazer cloud computing” mas nesse caso era mais “como usar cloud computing de maneira segura”, portanto não aproveitei muito a palestra.

Curso de Ruby e Rails

Durante o FISL teve 3 aulas do Daniel Lopes sobre Ruby/Rails. A primeira foi somente sobre Ruby puro e eu gostei bastante de ver ele passando o básico para a galera! Sinto falta de pessoas ensinando Ruby e não ensinando Rails…Por isso gostei bastante e acho que ele se saiu muito bem. Nos outros 2 dias foi algo mais Rails básico, portanto assisti pouca coisa. Mas valeu a pena para quem não conhecia, ou conhecia bem pouco a linguagem e o framework.

Analise de tráfego em redesw TCP/IP com tcpdump

Gostei muito dessa palestra! Foi bem conceitual sobre os pacotes e protocolos, mas teve algumas amostragem do que estava acontecendo usando tcpdump, e foi uma maravilhosa aula de redes em 1 hora. :)

Lapidando Ruby – Estudo de boas práticas

Eu já conhecia o palestrante ( Maurício Szabo ) de nome pelo Guru-SP e por outros lugares que eu já tinha visto esse nome (não me lembro bem onde). A palestra foi bem interessante, e o assunto se direcionou sobre umas opiniões do palestrante sobre determinadas coisas, como padrões, refactoring, testes e outras coisas. Concordo com muita coisa que ele disse e discordo de outras, mas esse era mesmo o intuito dele com a palestra, levantar questões sobre as coisas que ele considera boas práticas e ver as opiniões da galera. Gostei bastante da palestra.

Introdução a Go

Essa palestra me decepcionou bastante, assim como a linguagem em si. Não vi vantagens pelas quais eu poderia apostar na linguagem Go. :(

Ext4 – A nova geração dos Filesystems

Está entre uma das melhores palestras do FISL na minha opinião. Foi bem técnica e mostrou quais são as vantagens do EXT4 sobre os outros FILESYSTEMS focando bastante no EXT3. As vantagens do EXT4 são bem legais, entre elas o melhor tratamento sobre arquivos grandes, e algumas soluções de problemas com datas e etc. Gostei de entender a diferença dos dois.

Disponibilidade >= 99.999%

Uma palestra bem para Sysadmin, mostrando como eles fazem para sempre manter a disponibilidade das aplicações dele na empresa que ele trabalha atualmente. Gostei das práticas que eles usam de sempre fazer um snapshot da maquina de produção para poder fazer a homologação em uma maquina “espelho”, mas achei meio estranho o modo de gerenciar as configurações por pacotes, sendo que usar um configuration manager faria bem mais sentido.

Criando soluções inteligentes com Shellscript

Esperava bem mais dessa palestra e nem terminei de assistir inteira. Esperava que o palestrante mostrasse várias técnicas de Shellscript, mas na verdade ele estava mostrando um pequeno conjunto de scripts que faziam configurações e resolvi um problema que ele tinha. Mas para mim não era nada interessante a palestra.

oVirt – Ambiente minimalista de virtualização para servidores

A ultima palestra do FISL para mim. Fui mesmo para conhecer o oVirt e saber “qual é a dele”, mas o projeto não me impressionou muito.

No fim de cada dia do evento eu sai com uma galera diferente para bater papo, um dia com o próprio pessoal da Locaweb, outro com a galera do GUS-BR, e outras pessoas também!

Conclusão

O evento foi muito legal, conheci muita gente legal, assisti palestras boas, cresci bastante e estou pronto para o próximo.

Encontrei vários Rubyistas por lá (faltou apenas o Carlos Eduardo da e-Genial que tambem estava por lá mas não saiu na foto), inclusive a galera do Guru-RS que eu só conhecia por e-mail. Galera gente fina!

Encontrei a Letícia Figueira que eu já conheço há mais de 3 anos pela internet (via Rubylearning.org), pois ela também era uma Assist. Teacher quando eu participava mais ativamente, e nunca tinha conversado pessoalmente. Foi bem divertido. :)

E via Letícia eu acabei conhecendo a galera da Fande (que é uma empresa que atualmente trabalha com Ruby/Rails no RS), que são todos gente fina!

Fora outros amigos que encontrei aleatóriamente, como o Clauber Halic da MozBr, a Bruna Griebeler, o Gustavo Guanabara, Fabio Akita e outros.

Para quem quiser ver as fotos que eu tirei por lá é só ver no meu picasa. ;)

Obrigado Locaweb por ter me levado lá! You Rock!

Há braços

Tags:

Saturday, July 31st, 2010 Events 3 Comments

Serviços legais de Março

Æ!!

Como vocês puderam perceber (ou não) eu não postei sobre os serviços legais de fevereiro e tenho um bom motivo para isso: Não achei nenhum serviço que valia a pena ser mencionado e não queria fazer um post enchendo linguiça! :P

O meu ultimo post foi sobre o Yahoo Open Hack 2009, e lá eu pude conhecer muita coisa legal, e ver outras nascendo de projetos lá mesmo! Por isso tenho informações legais para essa série novamente! ;)

Vamos lá:

YQL

O YQL, é um serviço do yahoo que ajuda o desenvolvedor que quer trabalhar com dados de vários lugares a não sei preocupar em aprender cada uma das API’s. O que o YQL faz é dar para o desenvolvedor uma linguagem muito parecida com SQL (um pouco mais limitada, mas lembra muito) para que o desenvolvedor possa fazer querys das informações que ele deseja de vários serviços. Grande parte dos serviços do Yahoo estão disponíveis utilizando YQL e você pode fazer vários testes utilizando o próprio console do YQL. Uma coisa legal é a posibilidade de criar algumas tabelas baseadas em dados de outros serviços, ou baseadas em .csv e outras coisas.

Enfim, vale muito a pena dar uma olhada.

Spaia.me

O spaia.me é um serviço bem legal para gerar widgets para seu site/blog. Ele faz buscas em serviços como o Twitter, Flickr, Del.icio.us e meme e traz os resultados referentes a sua palavra em um box “animado” por JQuery. Esse gerador de widgets foi feito pelo Nuxlli e pelo Cipriani no Open Hack day! :)

Foursquare

O Foursquare é um serviço bem interessante para você postar sobre sua localização e fazer reviews dos lugares que você frequenta. Resolvi comentar sobre ele justamente por que comentaram comigo sobre ele no #brhackday e eu fui dar uma olhada na API, e vi os hacks legais que dá para fazer com isso. :)

JSFiddle

O JSFiddle é um lugar muito legal para testar Javascript. Ele te dá acesso a uma série de bibliotecas javascript (tais como JQuery, Prototype, Mootools e outras) para que você possa fazer testes e comparações de funcionalidade entre uma e outra utilizando o mesmo HTML / CSS. Aconselho muito o uso dela, principalmente se você está estudando uma biblioteca específica ou apenas quer saber se determinada biblioteca tem funcionalidades melhores do que a sua biblioteca preferida.

É isso ae galera! Espero que esses serviços sejam úteis para vocês! :)

Há braços

Tags:

Thursday, April 1st, 2010 Cool Services No Comments

Linux, Vim, Screen e Pair programming!

Æ!!

Aqui estou eu mais uma vez para falar mais uma das maluquices que eu fiz um bom tempo atrás mas não tive tempo de postar.

Primeiramente eu vou falar o que muita gente já falou muito bem, que é sobre screen e pair programming. Mas vou dizer como funcionou para mim. Alguns posts que eu li antes e depois de começar a brincar com screen e pair programming, e que eu gostei:

Primeiramente vamos começar com umas dicas do post do caike:

Para mim foi necessário alterar as permissões do Screen:

sudo chmod +s /usr/bin/screen
sudo chmod 775 /var/run/screen

Agora é só seguir a velha receita dos dois posts:

Primeiro usuário:

  • O primeiro usuário acessa o computador host via ssh
  • executa o comando screen -S nomedoscreen

Segundo usuário:

  • Acessa o servidor com o mesmo nome de usuário/senha do primeiro
  • executa screen -x

Pronto! As duas pessoas estão compartilhando a mesma tela agora e podem usar o Vim para programar (claro, qual outro editor seria, não!?).

Nunca consegui utilizar o screen multiusuário (como mencionado no post do caike) mas isso não é um grande problema. :)

Como eu usei

Primeiramente fiz um pair programming normal com o @mateuslinhares, onde nós dois ficavamos no mesmo screen conversando (estavamos há menos de 2 metros de distância), e cada um com seu teclado, podendo intervir a qualquer momento. Isso foi legal por que não precisávamos ficar dividindo espaço de um mesmo monitor ou de um mesmo teclado, e ainda driblava outros problemas que tínhamos na época.

Uma nova idéia

Na época desse pair programming estavamos com uma task grande e trabalhosa, mas podia ser feita individualmente, e provavelmente seria mais produtiva do que em pair programming, mas tinha uma particularidade muito interessante. Cada um de nós conhecia melhor uma parte do sistema, portanto, se mantivessemos contato contínuo isso ia acelerar o trabalho, pois precisávamos alterar/retirar algumas coisas que podiam ou não ser importantes para o sistema como um todo. Levando tudo isso em conta me surgiu uma idéia:

Por que não fazer tudo com um “semi pair programming”, onde cada um trabalhava no seu computador mas visualizando a tela do outro em um split.

Tanto eu como o @mateuslinhares estamos acostumados a separar o nosso vim em vários splits verticais e horizontais, ou seja, um split vertical do screen não seria o problema.

O que fizemos

Decidimos então seguir o seguinte script:

Setup das duas maquinas:

  • Vim
  • Screen
  • Um usuário em comum

PotHix:

  • com o usuário compartilhado
  • executa um screen -S pothix na sua maquina
  • Abre um novo split no screen com o comando ctrl+a s
  • Nesse novo split acessa a maquina do Mateus e executa screen -x para acessar o screen que o @mateuslinhares criou na maquina dele
  • Volta para o split anterior e trabalha normalmente

@mateuslinhares

  • com o usuário compartilhado
  • executa um screen -S mateuslinhares na sua maquina
  • Abre um novo split no screen com o comando ctrl+a s
  • Nesse novo split acessa a maquina do Mateus e executa screen -x para acessar o screen que o PotHix criou na maquina dele
  • Volta para o split anterior e trabalha normalmente

Seguindo esse script teremos os 2 utilizando um screen com um split, sendo que um split é para seu trabalho local e no outro você pode acompanhar e dar pitacos no trabalho do seu comparsa! :)

Benefícios

No caso dessa nossa task isso resolveu muito o nosso problema, por que conseguimos trabalhar em locais distintos mas sempre em constante comunicação, o que sempre trazia alguns comentários como:

PotHix: Ow…Não tira isso aí não por que vai quebrar tal parada.

ou então:

Mateuslinhares: Cara…Olha isso aqui no screen, dá para fazer na sua parte tambem.

Conclusão

Para mim foi muito bom e recomendo a todos para tentarem algo do tipo quando tiverem chance (a não ser que você use Textmate…nesse caso…boa sorte! :P )! A unica coisa que eu recomendo é utilizar 2 monitores, assim você pode deixar a tela do seu comparsa no outro monitor (divida os monitores verticalmente) e trabalhar com vários splits no seu monitor. :) É totalmente possível trabalhar com 1 monitor apenas (foi assim que trabalhamos) mas você obviamente perde um pouco de espaço ;)

Espero que essas informações sejam úteis para mais alguem.

Qualquer dúvida ou sugestão deixe nos comentários. :)

Há braços

Tags:

Sunday, March 28th, 2010 Development 5 Comments

Yahoo Open Hack 2010

Æ!!

E ae galera esperta!

Para quem ainda não soube, no final de semana passado rolou o Yahoo Open Hack Day 2010! O intuito do evento é juntar uma grande quantidade de Hackers para criar serviços úteis utilizando informações públicas e de preferência utilizar as API’s do Yahoo (havia premios para alguns hacks com elas).

Uma das coisas legais do evento é que nada é proibido com relação aos Hacks, ou seja, você pode fazer um Hack com as ferramentas do Google (não vai concorrer aos premios, mas poderá apresentar lá e tudo mais), todas as linguagens de programação estão permitidas, não somente hacks web eram permitidos, o que deixou a criatividade ir longe. :D

Equipe e idéia

Participei do evento juntamente com uma equipe que formamos no Ikwa, e chamamos a equipe de SleepyProgrammers.

Nossa idéia era fazer um site para marcar rolês fotográficos, e utilizaríamos para isso as API’s do Flickr, Meme, Weather e Maps.

Ao chegar no evento e ver a palestra sobre YQL nós já percebemos que não seria necessário aprender a usar essas várias API’s e apenas precisávamos aprender a usar o YQL e saber quais informações poderíamos retornar de qual serviço. :)

Metodologia e projeto

Como já estamos acostumados a utilizar Scrum no Ikwa nós resolvemos fazer o mesmo para o nosso projetinho. Começamos com uma planning meeting logo na primeira hora para poder dar uma estimada no que pretendíamos fazer, e logo depois dividir as tarefas entre os membros da equipe. Mais ou menos de 2 em 2 horas (ou um pouco mais) fazíamos umas stand-up meetings para manter todos atualizados. A noite percebemos que isso não estava sendo muito necessário por que estávamos em constante comunicação, mas mesmo assim resolvemos seguir o costume, afinal demorava apenas uns 4 minutos. :)

O projeto seguia bem, com layout legal e algumas buscas supostamente funcionando até mais ou menos as 9 da noite.

Os problemas

  • Já percebemos que a nossa busca não estava retornando exatamente o que gostaríamos de receber, mas deixamos para dar uma refinada nisso no final do tempo, para não ficar muito tempo presos nisso.
  • Tivemos um programador a menos (@_bojak) que infelizmente estava usando Windows (acreditem se quiser) por que o netbook que ele comprou (exatamente para evitar ter que usar windows no notebook velho que ele tinha) não chegou a tempo do evento. Muitas das coisas que são simples de se instalar/fazer em um “Unix like” são uma grande dor de cabeça para se fazer no Windows, portanto o @_bojak teve tantos problemas que chegou uma hora que desistiu de colocar a mão em código.
  • Algum descuidado da equipe criou a pasta “Views” no famigerado Textmate (escrevi uma gracinha aqui e apaguei para não gerar flame de textmate), e assim bugou a aplicação na minha maquina Linux, e me deixou um tempinho procurando qual era o problema. #fail
  • O Heroku não colaborou para funcionar utilizando o bundler, e depois de muito tempo tentando nós abandonamos o bundler e utilizamos oldstyle mesmo.
  • O nosso outro programador (@jorge_silveira) saiu (já tinha avisado que sairia) dizendo que voltaria e simplesmente deixou a equipe na mão (tem seus argumentos, mas essa é minha opinião…)

O fail do projeto

Depois desse monte de problemas eu já estava desmotivado com o projeto e comecei a ficar com bastante sono, portanto tirei umas 3 horas para dormir (fora o tempo que dormi na mesa), enquanto só o @_bojak ficou trabalhando motivadão (usando o computador do @rafaeltimbo que tambem estava dormindo :P ).

Logo pela manhã sabendo que um programador tinha arregado (@jorge_silveira), um estava impossibilitado de trabalhar com seu próprio computador (@_bojak) e nossa busca não estava retornando coisas legais para continuar, nós decidimos que esse projeto ficaria para depois do Open Hack Day.

No fim das contas fizemos uma retrospectiva bem legal, onde vimos grande parte dos problemas que tivemos e boa parte das soluções tambem, foi bem legal! :)

O evento

Ok, nosso projeto não vingou mesmo, mas o evento valeu muito para mim! Aprendi coisas novas, revi amigos, conheci pessoas novas, conheci as API’s do Yahoo, comi e bebi de graça, descobri que não devo acreditar nas palavras de alguns, descobri que algumas pessoas com certeza estarão na minha equipe novamente se quiserem…. E mais várias outras coisas!

No fim das contas eu tenho uma coisa para recomendar para quem não foi… Quando tiver o próximo, não perca a oportunidade! O evento vale muito a pena! :)

Para quem quiser ver as fotos que eu tirei no evento pode dar uma olhada no meu album do Picasa.

Há braços

Tags: , ,

Sunday, March 28th, 2010 Events 4 Comments

Palestra sobre Vim

Æ!!

E ae pessoal,

Esse vai ser um post curto, apenas para deixar registrado algumas informações sobre a palestra de Vim que teve no sétimo encontro do Guru-sp (sim, eu fui o palestrante :D ).

Primeiramente, já começo com uma desculpa, por que já faz mais de 2 semanas que palestrei e só agora estou fazendo esse post. :(

Foi bem legal palestrar para uma galera que já conhecia ao menos um pouco do editor. Quando eu estava planejando o que eu ia falar eu fiquei com uma grande dúvida de qual seria a minha linha de apresentação, por que eu não sabia quantos já conheciam o editor, portanto eu poderia chegar falando de coisas avançadas e ninguem entenderia nada, ou pelo contrário, se muitos conhecessem e eu chegasse falando de coisas básicas demais a palestra seria um saco. A minha solução para isso foi preparar os slides de uma forma que eu conseguisse falar mais ou menos de determinados assuntos baseado no conhecimento do pessoal. Os slides que saíram foram esses:

Quando perguntei para o pessoal quem já utilizava, quem nunca abriu (ou não conseguiu sair…heheh) e que usa como editor principal, eu descobri que estava equilibrado. Portanto segui uma linha mais comum.

Tive a sorte do agaelebe gravar (valeu Hugo!), e portanto temos o vídeo tambem:

Qualquer dúvida, comentário ou sugestão é só postar aqui! :)

Há braços

Tags: , ,

Sunday, March 28th, 2010 Presentation 5 Comments

My last Tweet

Search