Posts arquivos para julho, 2010
28jul2010
Nos dias 6 e 7 de agosto acontecerá em Natal a segunda edição do evento de Rails mais arretado do planeta, o OxenteRails 2010, com palestras técnicas [e não técnicas] de diversas personalidades da comunidade de desenvolvimento de software brasileira e internacional.

Se você estiver por lá e quiser ver uma palestra nada técnica, logo depois do coffe-break, às 16:00, na sala B, vou falar sobre “gerenciamento de times auto-gerenciáveis”.
Uma introdução ao assunto da minha palestra são os posts:
Link deste post
28jul2010

Às vezes temos que fazer operações de carga / extração em bases de dados.
Como não podia deixar de ser, muitas vezes esse banco de dados é um banco totalmente legado, entupido de chaves compostas, e pra piorar a situação, concorrido entre diversas aplicações da empresa.
Como extrair dados sem impactar a performance do banco de origem?
Antes que você me fale que existem ferramentas de ETL, meu objetivo é mostrar alternativas, certo? Então, vamos lá.
Uma abordagem simples e interessante é uma implementação do modelo de produtor / consumidor, utilizando uma fila e duas threads:
require 'thread'
fila = Queue.new
TAMANHO_TOTAL = 100
produtor = Thread.new do
# extrai os dados de algum lugar
(1..TAMANHO_TOTAL).each do |i|
# simulando trabalho
sleep rand(1)
fila << i
end
end
consumidor = Thread.new do
# array de trabalho
buffer = []
(1..TAMANHO_TOTAL).each do
buffer << fila.pop
# vamos processar de 4 em 4 items
if buffer.size >= 4 or not produtor.alive?
# faz alguma coisa com as tarefas
puts buffer.inspect
# limpa a fila
buffer.clear
end
end
# faz alguma coisa com as tarefas que sobraram
puts buffer.inspect
buffer.clear
end
consumidor.join
Simples não? E você ainda ganha muito mais se executar esse mesmo código com jruby, graças ao suporte à threads da JVM.
Link deste post
27jul2010
Como nas edições anteriores, esse ano no fisl11 tivemos várias palestras relacionadas com Ruby e Ruby on Rails. Veja as palestras de Ruby e Ruby on Rails que rolaram nos quatro dias do fisl11.


Link deste post
27jul2010
Recentemente descobri uma funcionalidade bastante interessante no vim, os dígrafos.
Dígrafos, de origem grega, /di/ “dois” e /grafo/ “escrever”, ocorrem, segundo a Wikipédia, quando duas letras são utilizadas para representar um fonema – alguem lembra das aulas da quarta série?
No vim, os dígrafos são utilizados para que possamos escrever caracteres não-ASCII, imprimíveis, que normalmente não aparecem no teclado. Ex: Æ æ.
Para fazer uso dos dígrafos, basta pressionar Ctrl-k, no modo de inserção. No lugar onde o cursor está posicionado aparecerá um ponto de interrogação, indicando que o vim está esperando pela digitação dos dois caracteres que formam o dígrafo.
Para uma lista completa dos dígrafos disponíveis, em modo de comando, digite:
Para mais informações é só dar uma olhada na ajuda do vim com “:help digraphs” ou aqui.
Permalink
| Leave a comment »
Link deste post
26jul2010
Após entender o que está nos fundamentos da metodologia de NPS (aqui) e de entender os conceitos de Promotor e Detrator (aqui), como pode-se aplicar isso na prática para sua empresa?
O cálculo do NPS de sua empresa é bem simples, mas depende de você saber quantos Promotores e Detratores sua empresa tem.
Para isso a metodologia indica uma solução extremamente simples – pergunte!
Há várias formas de descobrir se um cliente seu é Promotor ou não. Após algum tempo experimentando, no livro do Fred Reichheld (vide aqui) ele sugere uma única pergunta:
| “Você indicaria esta empresa para um parente ou um amigo?” |
|
|
NPS (%) = [Qtde de respostas "Sim" - Qtde de respostas "Não"] / [Qtde total de respostas]
|
O problema dessa pergunta é que ela é muito seca. Muitos clientes se sentem incomodados de não poder dar alguma nota intermediária e acabam não respondendo ou respondendo levianamente.
Assim, algumas empresas oferecem um range de respostas, no estilo abaixo:
| “De uma escala de 0 (nunca) a 5 (com certeza), você indicaria esta empresa para um parente ou um amigo?” |
|
|
NPS (%)= [Qtde de respostas "4" e "5" - Qtde de respostas "1", "2" e "3"] / [Qtde total de respostas ]
|
Aqui vale uma observação. Geralmente consideram-se respostas entre 1 e 3 como detratores, e 4-5 como promotores. Faz-se isso para seguir um cálculo mais conservativo, mas novamente o que importa é a tendência desse número, não o valor dele em si.
Claro que na prática é quase impossível obter essa resposta de 100% dos seus clientes, mas certamente é possível fazer uma amostragem realista de sua base de clientes.
Link deste post
26jul2010
Essa semana tive a oportunidade de conversar com Gil Barros, um profissional muito experiente de design de interação e de arquitetura da informação, que está fazendo doutorado na FAU-USP sobre prototipação e o uso de croquis.
…croquis (palavra francesa eventualmente aportuguesada como croqui ou traduzida como esboço ou rascunho) costuma se caracterizar como um desenho rápido, feito com o objetivo de discutir ou expressar graficamente uma idéia…
O que costuma ser mais importante no croquis é o registro gráfico de uma idéia instantânea, através de uma técnica de desenho rápida e descompromissada.
fonte: http://pt.wikipedia.org/wiki/Croquis
Ele comentou que vê pouca gente se valendo do desenho feito à mão para mostrar ideias e que, por achar essa opção como uma das formas mais ágeis de comunicacão, resolveu dedicar seu doutorado a esse tema.
Eu já havia comentado sobre a importância dos rascunhos, ou protótipos feitos à mão, no post “Protótipo: primeira impressão” e no post “Mais um exemplo de protótipo de baixa fidelidade“.
O que me atrai nos protótipos de baixa fidelidade e em croquis de forma geral é sua simplicidade inerente. Quem me conhece sabe que sou fã da simplicidade, tanto que já escrevi sobre o tema no post “Simplicidade” e em um outro post onde comento sobre um site de 1 única página.
Semana passada, quando escrevi sobre as vantagens do uso dos gráficos de burnup como opção aos Gantt Charts para acompanhamento do andamento de projetos, acabei não comentando de uma das vantagens mais óbvias do burnup: o burnup é mais simples que o Gantt Chart pelo simples fato de que burnups podem ser feitos à mão. Já o Gantt Chart é muito difícil de ser feito à mão.
A prova disso é a busca de imagens do Google. Experimente pesquisar por Gantt Chart e por burnup chart.
Logo na primeira página da pesquisa por imagens de burnup chart são 4 gráficos feitos à mão. Já na pesquisa por Gantt Chart, não encontrei nenhum…

Burnup feito à mão

Outro exemplo de burnup feito à mão

Burn down feito à mão que aparece na busca por imagens de burnup

Mais um exemplo de burnup feito à mão
Link deste post
25jul2010
O site do fisl11 trouxe várias notícias durante o evento. Estava dando uma olhada nessas notícias e encontrei uma foto minha na sala de recepção dos palestrantes, onde conversei com um rapaz que trabalhava na comunicação do evento sobre minha apresentação. Veja a notícia que saiu no fisl11.


Link deste post