Jeveaux's Weblog
Tudo certo e nada resolvido
Tudo certo e nada resolvido
13 ago
Há pouco tempo pude compartilhar minha enorme felicidade com o lançamento da Giran Soluções e Ensino com todos vocês dois leitores, e desde lá estamos trabalhando duro, literalmente ralando por aqui. Cada dia, cada entrega, cada projeto e contrato conquistado são alegrias enormes e, sempre comemoradas com muito entusiasmo. Agora estamos abrindo nosso primeiro processo de seleção, estamos crescendo!
A Giran é uma empresa nova, jovem, descontraída e muito, muito comprometida com seus objetivos. Trabalhamos de forma ágil, usamos Scrum internamente e nos projetos dos clientes, além de várias práticas de Extreme Programming, inclusive TDD e programação em pares. Aversão à estas práticas não é um bom diferencial
Neste processo de seleção nós não estamos procurando especialistas e nem donos da verdade, aqui na Giran nós usamos de tudo um pouco. Cada profissional tem uma especialidade ou ’sabor preferido’, nós também temos as nossas e sabemos valoriza-las, mas estamos interessados especialmente em profissionais multi-disciplinares, que sejam capazes de desenvolver, analisar, testar e arquitetar com diferentes linguagens e tecnologias, ou que ao menos estejam dispostos a trabalhar desta forma. Como trabalhamos com Internet, conhecimentos em Javascript, CSS, XHTML, mashups com APIs de terceiros, etc, serão um bom diferencial.
É importante que o candidato saiba que prezamos muito pela qualidade do que fazemos, nós estudamos os códigos um dos outros e nos respeitamos por isso, aprendemos muito assim. Nosso principal objetivo é a qualidade máxima, nós não viramos noite trabalhando e mesmo assim entregamos software no prazo, testado e funcionando muito bem, obrigado! Por isso estamos procurando pessoas com esse perfil: comprometidas, organizadas, que saibam trabalhar muito bem em equipe e que prezem pela qualidade do que fazem.
Por último, e talvez mais importante: todos nós somos nerds, geeks, apaixonados por tecnologia e super atualizados com as últimas novidades da Internet e do mercado. Nossa equipe é jovem, irreverente, descontraída e em constante evolução. São pessoas com esse perfil que estamos procurando.
A empresa oferece contratação com salário de mercado (não o do mercado capixaba), plano de benefícios e outros incentivos como cursos e treinamentos (especialmente aulas de inglês), um iMac ou Macbook (sim, gostamos da maçã por aqui) exclusivo para você, e claro vaga garantida nas partidas de xbox360. Estamos localizados em Jardim da Penha, Vitória-ES.
Se você acha que se enquadra, mande um email para mim (contato at giran.com.br) com seu currículo e os nomes dos 3 últimos livros técnicos que você leu. Diga se você sabe quem é o Taurin e qual sua ocupação, afinal de contas você está indo para Giran Castle Town.
Não pense que estamos procurando apenas profissionais experientes e de altíssimo nível: se você é estudante e tem pouca ou nenhuma experiência mas gosta de ler e aprender sobre coisas novas você não está fora! Escreva pra gente.
16 mar
Pessoal, é com uma enorme satisfação que escrevo este post e comunico a vocês o lançamento oficial da minha empresa junto com meu grande amigo-irmão-parceiro e agora sócio, Léo Hackin, e claro, com a participação incondicional e incansável da minha adorada esposa que, literalmente, tirou a coisa da informalidade e ‘nos deu asas’.
A empresa já está registrada há algum tempinho e, também, em atividade. Porém, hoje está sendo o seu lançamento oficial, basicamente com a marca e o site temporário pois a sede ainda está em fase final da reforma da sala e o site em ajustes finais para ir ao ar, muito em breve escreverei sobre a sede e como ela ficou.
Há algum tempo, muita gente não entendeu o meu pedido de saída da globo.com, mesmo tendo eu, acabado de entrar. O principal motivo que me trouxe de volta a Vitória foi exclusivamente pessoal e particular, não cabem comentários aqui no blog. Com o retorno, aproveitei o tempo ocioso e dei início ao trabalho que era também um sonho antigo, assim como entrar na globo.com, e agora o sonho saiu do papel e, literalmente, caiu no mundo real.
Giran é o nome da nossa empresa. Durante quase 2 meses nós procuramos um nome, inventamos códigos e nomes estranhos, nomes ao contrário, nomes em japonês, em chinês, enfim, tentamos de um todo, mas nenhum deles tinha o domínio livre. Apesar de se tratar do nosso lado profissional e de ser agora a nossa cara, nossa marca e identidade ‘na rua’, o nome é algo muito especial, e não poderia deixar de ser algo nerd, afinal somos nerds. Darei uma pista e quem descobrir a origem do nome ganhará o direito de disputar uma partida de xbox na nossa nova sede; a dica: é um nome retirado de um rpg, mais especificamente de um mmorpg!
Conheça: Giran Soluções e Ensino
Na Giran o nosso foco de trabalho serão contratos de consultoria e coaching em projetos java e rails, gerenciamento de projetos com Scrum e, também, ensino e treinamento especializados em java, php e rails. Quando o site estiver no ar muitas outras informações e detalhes sobre nossa área de atuação serão disponibilizadas.
A criação e lançamento da Giran ocorreu, antes de tudo, após uma longa conversa sobre valores, princípios, visão e expectativas para a empresa e sobre como faríamos para criar e manter uma empresa jovem e descontraída e ao mesmo tempo profissional e comprometida. Nós não poderíamos simplesmente abrir uma outra ‘old big company’ baseada em velhas e obsoletas idéias e trabalhar de forma caótica e improdutiva, na nossa empresa usaremos o que há de ponta para o desenvolvimento e gestão dos nossos projetos e treinamentos, estudaremos cada caso com o máximo de detalhes, cada cliente, cada projeto afim de aplicar o que for melhor para cada situação, exatamente igual fazemos em nosso dia-a-dia e em nossa evolução pessoal+profissional.
Na Giran todo o nosso trabalho será pautado e muito fortemente baseado nos valores e princípios de Extreme Programming, especialmente em alguns que temos uma certa predileção:
Outro ponto de grande realização para nós com a abertura da Giran é poder participar e atuar de uma forma ainda mais forte e ativa no desenvolvimento de projetos open source e nos grupos e comunidades da nossa região. Poder agora, como empresa, dedicar tempo remunerado a estes projetos, incentivar e bancar a participação dos nossos funcionários, poder viabilizar eventos e outras atividades e muito mais. Hoje nós já participamos fortemente como membros e coordenadores no ESJUG, Agile-ES, PHP-ES, Linux-ES e EESL e estamos iniciando a participação no Vitória Perl Mongers.
E é isso, agora é correr atrás e tentar aplicar tudo que eu disse para meus antigos chefes/gerentes e ver, na prática, se será bom ou ruim, fácil ou difícil, lucrativo ou não e por aí vai. Agora o sonho acabou, virou realidade!
10 out
Quem nunca ouviu a grande falácia de que Rails não escala? Isso foi moda durante algumas semanas enquanto o Twitter passava por problemas de escalabilidade, não necessariamente por culpa do Rails ou de Ruby, mas quem quer por lenha na fogueira não está muito preocupado com isso e quer mesmo é semear a discórdia. Muita água já passou por baixo da ponte, o Twitter agora está estável e as coisasfluem bem.
No começo deste ano o pessoal do Twitter anunciou e tornou open source o projeto Starling, criado por Blaine Cook. O Starling é o core do Twitter, ele é o servidor de filas responsável por manter em pé o Twitter. E agora como um projeto open source está disponível como gem e pode ser usado por qualquer outro projeto.
Indo direto ao ponto, o Starling é, basicamente, um servidor de filas implementado sob o protocolo do MemCache. O MemCache é um servidor de cache distribuído de altíssima performance e é largamente usado, principalmente em clusters de aplicações web.
Para usar o Starling é muito simples. Os primeiros passos são
1) Instalar o servidor MemCache
[code]jeveaux@kamael ~ $ sudo apt-get -y install memcached[/code]
2) Instalar a gem do MemCache e
[code]jeveaux@kamael ~ $ sudo gem install memcache-client[/code]
3) Instalar a gem do Starling.
[code]jeveaux@kamael ~ $ sudo gem install starling[/code]
E pronto, isso é tudo para começarmos a usar o Starling. Se você achou a instalação simples se prepare, pois a utilização é ainda mais simples.
Se você já usou o MemCache vai sentir-se familiarizado com o Starling. A diferença é apenas na implementação do protocolo, ou seja, a utilização em código será igual a do MemCache, só que ao fazer set e get as coisas acontecerão de uma forma um pouco diferente. Por enquanto a diferença maior que percebi foi em relação do método get, que quando usado no MemCache apenas retorna um valor do cache e o mantém lá, já no caso do Starling o get retorna o valor e o remove da memória. Analisando com calma isso faz sentido, afinal não estamos mais falando de cache e sim de filas, mesmo que a implementação da fila seja feita usando cache.
Mas antes de irmos para os exemplos de código, precisamos fazer com o que o servidor de filas – duh, Starling – esteja disponível e rodando. Vamos iniciar o Starling na porta 22122 (-p) e como um daemon (-d):
[code]jeveaux@kamael ~ $ sudo starling -p 22122 -d[/code]
Isso já basta para iniciar o servidor do Starling e deixá-lo disponível para uso. Agora então vamos alimentar a fila, crie o arquivo: alimentar_fila.rb.
[code]#alimentar_fila.rb
require 'rubygems'
require 'memcache'
starling = MemCache.new 'localhost:22122'
starling.set 'fila', 'qualquer objeto'[/code]
Ao executar este arquivo (ruby alimenta_fila.rb) não teremos nenhum resultado visual, mas acredite, a fila chamada de‘fila’ no exemplo está recebendo objetos. Agora o trabalho será para – como dizem – consumir a fila. Vamos ao consumir_fila.rb.
[code]#consumir_fila.rb
require 'rubygems'
require 'memcache'
starling = MemCache.new 'localhost:22122'
loop {
objeto_fila = starling.get 'fila'
if !objeto_fila.nil?
puts 'recuperado da fila:' + objeto_fila
end
}[/code]
E agora sim estamos prontos para colocar e remover objetos em uma fila. O exemplo para consumir os objetos ficará em loop, então você pode executá-lo numa janela do bash e em outra janela ir executando o exemplo para alimentar a fila com objetos e acompanhar o comportamento dos procedimentos de alimentar e consumir a fila. A recuperação da fila será imediata, instantânea, afinal, assim como o MemCache, o Starling está preparado para receber milhares de operações por segundo.
E é isso, o seu servidor de filas já está rodando e sendo alimentado/consumido. Agora é aplicar para o que você está precisando
Há um probleminha chato com a gravação de log em disco que o Starling faz das filas. Todo o set feito gera o objeto na memória e também em disco – geralmente em /var/spool/starling/. O problema é que o get somente remove o objeto da memória e não do disco. Aparentemente isso foi feito pra ser assim mesmo e segundo o próprio Blaine Cook este arquivo de log não ficará sendo incrementado para sempre, pois, depois de um certo tamanho (o engraçado é que ele não fala esse certo tamanho) ele será rotacionado, mas por enquanto ainda não descobri este certo tamanho e o arquivo tem crescido infinitamente.
E apenas uma observação quanto ao consumir_fila.rb: Não deixe-o executando por muito tempo e nem muito menos esqueça de finalizá-lo pois como ele fica em loop infinito poderá ocupar o seu processador a toa.
7 out
Não há dúvidas que o TextMate é um excelente editor para se trabalhar com Rails, mas como nem todos possuem um Mac para ter o prazer de utilizar este editor, o jeito é se contentar com alternativas menos hype sexy.
Para quem usa Gnome, porém, é muito mais fácil encontrar uma ótima alternativa. O gedit é um editor de texto que vem, geralmente, por default em qualquer distribuição Linux com Gnome. Não vou falar muito do gedit como editor pois este não é o foco do post, a idéia é mostrar apenas o projeto gedit-rails, que é o projeto que contém uma série de utilitários para deixar o gedit ‘turbinado’ para se trabalhar com Rails.
Para instalar o gedit-rails é super simples, basta fazer o download do projeto (zip, tar.gz ou via clone do repositório do github) e fazer a instalação executando o script install.sh. A instalação é simples e não há nenhum estágio além da execução da execução propriamente dita do script e depois disso o trabalho será apenas de configuração.
A instalação adicionará no gedit o tema de fontes e cores: Darkmate, os plugins: Class Browser, HTML Tidy, Rails Hot Keys, Rails Hot Commands e Snap Open e o mais importante, os snippets. A configuração pode ser feita basicamente em duas etapas:
- Tema de fontes e cores: Edit > Preferences > Fonts & Colors> Darkmate. E o resultado será:
- Plugins: Edit > Preferences > Plugins. Lembre-se, os plugins que foram instalados e que podem ser ativados são: Class Browser, HTML Tidy, Rails Hot Keys, Rails Hot Commands e Snap Open. Os snippets já estarão funcionando sem nenhuma modificação. Basicamente alguns dos recursos adicionados serão:
Recomendo também a leitura dos posts sobre gedit-rails do Urubatan, um dos autores do projeto.
Para quem curte o VI também existe uma ótima opção, o vim-rails. Qualquer dia escrevo sobre este addon.
Últimos Comentários