quinta-feira, 27 de janeiro de 2011

Estilos de gerência

Já li bastante sobre gerência (de pessoas, de projetos, etc) e gostaria de dar minha contribuição para a taxonomia de estilos gerenciais.

Vou apresentar dois: britânico e tupiniquim. Os nomes têm origem nas histórias (breves) que relatarei a seguir e não significam que uma empresa britânica não possa ter um estilo tupiniquim de gerência ou vice-versa. As duas histórias são da segunda grande guerra e são verdadeiras.

A primeira é a de dois canadenses no dia D. Eles desembarcaram na praia de Juno. Os nomes franceses da localidade são Courseulles-sur-Mer, Saint-Aubin-sur-Mer e Bernières-sur-Mer. É muito biquinho para fazer no meio de uma batalha, então os anglo-saxões as renomearam por praticidade.

Logo ao desembarcar, Jim levou um tiro que atravessou seu torso logo acima da cintura. Por sorte, a bala não acertou nada importante. Seu colega Kenny, logo adiante, levou um tiro na perna, também sem maiores conseqüências. Mas a situação não estava nada boa e outros soldados estavam morrendo ao redor de Kenny e Jim.

Um pouco mais à frente, Kenny gritou para que Jim andasse mais depressa. Logo a seguir, Jim levou um tiro que quebrou sua perna. Ambos feridos, os dois procuraram abrigo.

Após esperar um bom tempo e serem atendidos por um médico, mas ainda no calor da batalha, surgiram dois soldados ingleses com cinco galões de chá (misturado meio-a-meio com rum). Sim, os ingleses não esquecem do chá nem quando estão lutando contra os nazistas.

A segunda história é sucinta. A FEB foi à Itália sem um batalhão de sepultamento. Sim, um soldado brasileiro morto teria que enterrar-se a si próprio se quisesse ir com dignidade.

Então, as duas escolas são a britânica, na qual as pessoas são importantes e a tupiniquim, na qual são dispensáveis. Em geral, os gerentes terão muitas desculpas por adotar o estilo tupiniquim (a sinceridade não é bem-vista no mundo corporativo), mas a verdade é que não custa muito propiciar um ambiente agradável para trabalhar: ar condicionado, uma cadeira confortável e café (ou chá) bastam.

Já trabalhei numa empresa com certificação CMM (que é muito cara), mas que não limpava os filtros do ar-condicionado (que são baratos). Certa vez, ao entrar no banheiro, descobri que o fundador da empresa não puxava a descarga. Pode ser que ele tenha muito orgulho de seus feitos, mas é mais provável que ele simplesmente não tenha nenhuma consideração pelos outros.

Eu recomendo trabalhar em empresas da escola britânica, mas se algum espartano realmente preferir a escola tupiniquim, eu sugiro que ao menos leve uma pá.

terça-feira, 18 de janeiro de 2011

Janela para a alma

Meu nick é forinti e eu uso Windows. Estou sóbrio há um mês.

Eu comecei na adolescência, por pressão dos mais velhos. Comecei de leve com DOS. Eu nem curtia aqueles monitores de fósforo verde, mas todo mundo achava que os PCs é que eram máquinas para pessoas descoladas. As outras máquinas só serviam para joguinhos de criança.

Eu resisti muito a usar o Windows 3.11. Meu 286 nem mouse tinha e eu podia seguir dando meus tecos com Turbo C e Turbo Pascal. Mas quando chegou o Windows 95, não teve mais jeito.

Fui levando até o 2000. Eu não queria gastar mais dinheiro com o XP. E depois o Vista. E depois o 7. Não tem fim! Eles te pegam com um DOS inocente e quando a gente menos espera, não consegue fazer nada sem a próxima versão. E cada vez fica mais caro manter o hábito.

Eu agora faço tratamento com Ubuntu. Ele reconheceu minha rede wireless antes que eu percebesse e até com minha impressora multifuncional ele conversa.

Os dias bons são quando o meu cunhado vem visitar e pede para usar o micro. Ele não conseguiu largar o vício. Agora ele não consegue infectar minha casa com porcarias que ele encontra nos sítios da vida. Me orgulho de agora poder proteger minha família.

Os dias ruins são quando tem conta para pagar e tenho que sair para procurar um caixa automático. Dá uma vontade danada de instalar um Windowzinho. Tenho que ser forte e pensar nos meus filhos.

É difícil, porque tem muita tentação. Os bancos não me deixam entrar sem Internet Explorer. Um banco usa OS/2 nos caixas automáticos; outro usa Linux. Os dois, mesmo assim, querem me fazer usar o Internet Explorer para poder ver minha grana desde meu micro. No trabalho ainda tenho que usar o XP, mas eu abro um putty para um servidor e isso me ajuda a manter a cabeça no lugar.

Meu querido Trackmania, eu não jogo mais, mas pelo menos eu tenho um futuro agora. Vou levando um dia por vez.

quinta-feira, 13 de janeiro de 2011

Explorações fractais VII

Potências de números complexos eram um problema até que descobri a fórmula de de Moivre. Acontece que é muito mais fácil calcular potências de números complexos usando coordenadas polares. Então, a solução é converter cada ponto para coordenadas polares, calcular a potência e voltar para as coordenadas originais.

O código que segue mostra minha implementação.


var POWER=2.666;
var NEGATIVE=false;

function mandel(x,y) {
var c=1;
var r=0;
var i=0;
var MAXITER=512;
while(r*r+i*i<4 && c<MAXITER) {
var t=POWER*Math.atan2(i,r);
var d=Math.pow(Math.sqrt(r*r+i*i),POWER);
var nr=d*Math.cos(t)+x;
var ni=d*Math.sin(t)+y;
if(NEGATIVE) {
r=nr/(nr*nr+ni*ni);
i=-ni/(nr*nr+ni*ni);
} else {
r=nr;
i=ni;
}
c+=1;
}
return c;
}

Deixei a função mandel() pronta para receber potências negativas e positivas: basta alterar o valores de POWER e NEGATIVE.

Experimentei com -3,7 e o resultado se parece com lâminas de patologia.



Depois, tentei 2,666 e descobri que essa potência também gera detalhes com aparência orgânica.

terça-feira, 11 de janeiro de 2011

Explorações fractais VI

Depois de levar o Mandelbrot à ducentésima potência, resolvi percorrer o caminho oposto e investigar as potências negativas. Comecei com -2.

Para separar os componentes de um número imaginário da forma 1/(a+bi), multipliquei por (a-bi)/(a-bi) para encontrar (a/(a2+b2))-(bi/(a2+b2)).

Em código, isso significa trocar a função mandel() por:

function mandel(x,y) {
var c=0;
var r=0;
var i=0;
var MAXITER=1000;
while(r*r+i*i<4 && c<MAXITER) {
var nr=r*r-i*i+x;
var ni=2*r*i+y;
r=nr/(nr*nr+ni*ni);
i=-ni/(nr*nr+ni*ni);
c+=1;
}
return c;
}

O resultado foi espetacular, como se pode ver na imagem abaixo (clique sobre ela para vê-la na resolução original).

A recursão nova é, na verdade, z=1/(z2+c), porque z=z-2+c não produz nada interessante.