As Mulheres e a Lógica

Minhas leitoras que me perdoem, mas cada vez mais me surpreendo com a capacidade de certas mulheres de ignorar completamente a lógica quando querem vencer uma discussão. Seguem dois diálogos reais que ilustram isso.

- Ih, minha blusa tá manchada.
- Não é mancha, é gordura. E eu já lavei.
- Tudo bem, não estou reclamando. Só tô dizendo que, olha só, tá manchada.
- Não é mancha, é gordura.
- Tá, tudo bem, é uma mancha de gordura.
- Não é mancha. Já falei que isso aí é gordura.
- Peraí, peraí, olha isso aqui [mostra a blusa]. Não é uma mancha?
- É.
- Então, se tem uma mancha, tá manchado!
- Não, não tá. Se eu pegasse uma caneta e fizesse assim [faz movimento de riscar], não estaria manchado.
- Sim, neste caso estaria riscado.
- Então pronto.
- Ai, eu desisto de conversar com você.
- Claro, você já viu que perdeu a razão.

***


- Dei um jeito de guardar melhor o teu casacão de frio.
- Como?
- Virei do lado avesso mas deixei os braços pra dentro.
- Mas ele não tem avesso. É um casaco dupla face.
- Sim.
- Então como é que você virou do lado avesso?
- Eu escolhi o mais bonito.

Amadores e Profissionais

De todos os feeds RSS que eu tenho assinado em meu leitor, o dZone é um dos que têm mais informação inútil pra mim. Porém, como é um feed voltado para programadores e analistas de sistemas, volta e meia surge uma agulha no meio do palheiro.

O artigo Coders and Professional Programmers, de David Betz é um exemplo. Achei ele tão bom que, com a autorização do autor, fiz a tradução para o português e publico aqui para vocês. Ao final, compartilho minha opinião.

***


Tenho que admitir que há uma enorme falta de competência no mundo da tecnologia, até mesmo entre programadores experientes. Talvez eu tenha padrões altos demais, mas quando eu vejo alguém lidando com uma tecnologia, eu espero que essa pessoa tenha as competências necessárias para o trabalho. Sempre fico abismado quando eu vejo um desenvolvedor, até mesmo um experiente, que não sabe o básico do seu próprio sistema (por exemplo, um desenvolvedor de ASP.NET que não entenda de posicionamento via CSS ou um desenvolvedor .NET que não entende o funcionamento básico do framework). Estas pessoas podem até ter diplomas e anos de experiência, mas não têm competência.

Semana passada eu estava em uma livraria vendo uns livros de padrões de projeto quando um sujeito com cara de engenheiro da NASA dos anos 60, vestido de terno e gravata, parou perto de mim, vestido de jeans e camiseta, e começou a olhar o mesmo tipo de livros. Eu reparei que ele pegou um livro bem vagabundo, então me intrometi e mostrei a ele o livro da Gangue dos Quatro dizendo "este aqui é o melhor, um clássico". Ele agradeceu e deu uma folheada. Um minuto depois eu não resisti e perguntei o que exatamente ele estava procurando ali. Ele disse que procurava um livro que desse um exemplo de máquina de estados. Peguei outro livro, folheei e entreguei a ele mostrando a página com o que ele queria. Sua resposta foi "uau, valeu... diz aí, onde você estudou?". Já me perguntaram muita coisa em livrarias, mas esta foi a primeira vez em que esta foi a primeira pergunta. Sua pergunta não parecia pura curiosidade, havia um quê de arrogância ali. Parecia que ele queria comparar sua formação com a minha. Eu respondi: "Escola? Bem, você está olhando para ela.", enquanto apontava para a estante de livros de informática. Na mesma hora ele cortou a conversa e se afastou. Não sei se ele pensou que eu fosse um leproso ou se eu tinha destruído sua noção de educação acadêmica, mas saquei na hora que a conversa tinha ido por água abaixo.

Entretanto, pouco depois encontrei o livro que eu estava procurando e falei "aha! Isso vai dá-los o que pensar.". O mesmo cara perguntou, curioso, o que eu queria dizer com isso. Expliquei que estava procurando um livro para recomendar a alguns programadores para ajudá-los a entender o que era arquitetura de software. Ele fez cara de quem sabia do que eu estava falando e disse algo que nunca tinha me ocorrido: "Sim... eu entendo como é isso. Tem gente que não vê a diferença entre amadores e profissionais.". Naquela hora eu me vi seis anos antes, quando eu ainda era um amador.

O ano era 2001 e eu era programador de PHP, rato de Linux e estudante de matemática na Universidade do Kansas. Pra mim, programar significava olhar os manuais do PHP, ler os comentários e então copiar e colar código até que o programa estivesse pronto. Eu acreditava saber o que estava fazendo, pois estava no ramo havia cinco anos, e terminava misturando PHP, HTML, JavaScript e CSS na mesma página, formando uma montanha de bagunça que funcionava.

Um amigo meu, que na época trabalhava na Microsoft, olhou para o que eu estava fazendo e foi curto e grosso: "cara, isso não é programar, é digitar código. Você nem mesmo tem uma camada de acesso a dados, tem?" Sem a mínima idéia do que ele estava falando, eu disse: "Sim, tenho! O PHP tem uma classe que faz a conexão com o mySQL. Eu não estou acessando o mySQL diretamente, estou usando a API do PHP." Lembrando disso agora, acho que ele teve vontade de me socar a cara por um comentário tão burro. Verdade seja dita, eu não era um programador profissional mesmo depois de cinco anos trabalhando com JavaScript como um louco, dois anos de desenvolvimento em Ajax, dois de ASP, dois de SQL e um de PHP. Eu era apenas um amador.

Depois daquele dia, passei muito tempo com os livros aprendendo mais sobre tecnologia. Passava horas estudando sobre programação de jogos, programação gráfica, C/C++, história da computação, teoria de redes e desenvolvimento para internet. Ou então novas tecnologias, como XHTML/CSS. Depois que me formei na faculdade, trabalhei como programador em PHP. Depois de um tempo decidi mudar para .NET. Neste ponto passei muito tempo estudando seus conceitos, o framework, ASP.NET e C#. Em pouco tempo fiz as provas e me certifiquei em ASP.NET e design de banco de dados. Foi a hora, então, de estudar componentes .NET e administração de banco de dados.

Naquela época, eu vi que a Fundação Mozilla tinha finalmente lançado um programa que prestasse. Este programa não só prestava, mas era até então um dos produtos mais revolucionários desde o surgimento da própria internet: era o Firefox 1. Com isso passei a estudar padrões web com muito mais profundidade.

Nesta mesma época eu cheguei à conclusão de queria ser um programador profissional e não mais um mero amador. Dei então adeus ao Visual Studio e voltei para o EditPlus, usando-o para fazer todo o meu trabalho de .NET. Eu não queria mais confiar que o corretor automático fizesse o meu trabalho e já conhecia o perigo de aprender uma linguagem de programação pelas mensagens de erro. Durante todo o ano seguinte, fiz todo o meu trabalho de programação sem aquelas firulas de textos coloridos ou corretor automático.

Se eu tivesse que fazer algo, veja só, eu tinha que realmente ler o manual. Não havia nada para copiar e colar e eu não corria para os fóruns a cada dificuldadezinha que surgia. Se eu tinha um problema, eu antes analisava e resolvia o dito cujo do jeito certo e não fazendo uma gambiarra em cima da outra.

Claro que com isso eu perdi muito tempo. Sim, no início isso era um problema sério, mas eu estava determinado a ser um programador profissional a qualquer custo, e nunca mais ser um amador. Eu queria que programar fosse tão natural quando dirigir um carro. Depois da lentidão inicial, eu passei a programar mais rápido do que qualquer outra pessoa, pois já tinha memorizado a maior parte do manual. Enquanto os outros suavam para usar a combinação de SqlConnection, SqlCommand, SqlDataAdapter e DataSet, eu digitava tudo como se estivesse escrevendo uma carta.

Ao mesmo tempo, passei a estudar testes de unidade, design orientado a objetos (não confunda isso com programação orientada a objetos), arquitetura em camadas, JavaScript moderno, e um depois passei um tempo estudando mecanismos de comunicação, até o ponto de tornar tudo natural para mim. Em 2005 finalmente pude dizer que era um programador profissional.

Como você pode ver pela minha história, eu sei como é ser um amador e sei como é grande a tentação de se manter assim. Você acha que o "seu" jeito funciona e que as coisas devem permanecer assim. Na verdade, você odeia as outras tecnologias porque elas não são do "seu" jeito. Entendo este pensamento, mas na verdade isso é só preconceito com a outra tecnologia.

Meu primeiro programa em ASP.NET (um álbum de fotos) foi feito basicamente com comandos Response.Write. Eu não fazia idéia do que estava fazendo, pois a ficha sobre o poder do ASP.NET ainda não tinha caído. Se eu fosse fazer o mesmo programa hoje, ele seria muito mais elegante.

Eu também sei o que significa dizer "mas é assim que eu faço isso nesta linguagem", mas esta é uma frase vazia de significado. Cada tecnologia tem seus próprios paradigmas, esquemas de nomeação, regras e conceitos. Ser fera em Java não significa que você vai conseguir fazer algo parecido em .NET em menos de seis meses. A regra é a mesma para programadores de VB que vão para o PHP.

Também sei o que é dar de cara com um problema e se perguntar "como posso resolver isso?", que é uma pergunta típica de um amador. Um programador profissional se pergunta "como isso foi feito antes com essa linguagem, como resolveram isso no passado?". Caso você não saiba, a maioria das linguagens de programação já tem anos e anos de vida, e pode estar perdendo seu tempo tentando reinventar a roda, quando o problema já foi resolvido antes, quando as discussões já aconteceram, quando muitas pessoas já devem ter aprendido a resolver o mesmo problema. Você tem que aceitar que outros já fizeram o mesmo trabalho antes.

Então, se você está numa situação em que as coisas são geralmente feitas do "seu" jeito, ou que "sempre foram feitas deste jeito", ou se você vive se perguntando "como eu vou resolver este problema?", talvez você precise dar uma parada para ver se está na hora de deixar de ser um amador para ser um programador profissional. É um ótimo investimento, e com a quantidade de bons livros que há por aí, o processo pode até não demorar muito. Há um velho ditado do mundo da informática que diz: "qualquer um pode escrever código que um compilador entenda, mas é preciso ser profissional para escrever código que um humano entenda". Talvez seja a hora de pensar no assunto e pendurar este pensamento na parede da sala.

***


Quanta verdade há neste texto, não é? A melhor das idéias que encontrei nele foi a de aprender uma linguagem de programação pelas mensagens de erro. Quantas vezes eu já fiz isso: tentar uma coisa, dar erro, tentar várias vezes arranjar um jeito de contornar o erro, conseguir, dar outro erro, arranjar outra gambiarra, e por aí ia, até que aquele ninho de gato funcionasse. É por isso que sempre compro livros técnicos e gasto uma boa parte do meu tempo lendo e relendo todos eles.

Mas o pior é que os amadores não são um problema apenas para si mesmos: eles são um problema sério contra a classe. Volta e meia aparecem programadores amadores, bem vagabundos, que amontoam um monte de código, chamam aquilo de programa de qualidade e saem prestando um serviço porco ao mercado. Daí que o mercado acha que aqueles programas são o que há de bom e acham o preço que você cobra é abusivo, só porque inclui todo o seu tempo de estudo e dedicação ao ofício e à arte de programar.

Uma coisa que eu acho que faltou no texto é ressaltar a diferença entre amador e iniciante. Estes são dois conceitos bem diferentes. Iniciantes são aqueles que não têm conhecimento necessário para fazer um programa, mas estão estudando o assunto com afinco e dedicação, dispostos a se tornar profissionais, enquanto que amadores são aqueles que acham que já são os profissionais mais qualificados, quando na verdade estão na base da cadeia alimentar.

Eu já fui iniciante e também já fui amador. Até hoje me surpreendo quando vejo que uma loja daqui de Cachoeiras de Macacu ainda usa o programa de folha de pagamento que fiz para eles em 2001. Saí de lá em 2002, hoje eu e dono somos camaradas, e quando digo a ele que aquele programa é uma porcaria ele se acaba de tanto rir. Na época que fiz aquele programa eu era apenas um amador.

Já há alguns anos decidi deixar de ser um amador para ser um profissional. Ainda não cheguei lá, mas este artigo me deu ainda mais convicção de que estou no caminho certo.

E você, o que é? E o que você quer ser?

***


Veja outros artigos que já escrevi sobre análise de sistemas e afins

***


Gosta do que eu escrevo e quer retribuir? Vá ao Submarino entrando aqui pelo Sarcófago e compre alguma coisa que eu ganho uma comissão. A casa agradece.

A voz do ReadPlease

Como parece que a dica do ReadPlease agradou a uns e outros, volto rapidamente ao assunto. Gravei um arquivo de áudio em que o programa lê um dos textos do Sarcófago. Este aqui. Para ouvi-lo, basta clicar neste link e baixar o arquivo que se chama "leitura de arquivo do sarcófago".

Botando o Computador pra Falar

Quem trabalha digitando sabe que revisar o próprio texto é tarefa das mais complicadas, pois ao reler não olhamos cada palavra individualmente, já que sabemos de antemão o que está escrito. Mesmo que o texto seja lido e relido várias vezes, há erros que passam despercebidos.

Uma boa solução para isso é pedir para que alguém leia o texto, mas nem sempre você tem alguém disponível por perto. Nestas horas, que tal botar seu computador pra falar?

Para isso basta instalar na sua máquina um programinha simples como o ReadPlease, que mesmo sendo em inglês é facílimo de usar. Ele tem duas versões diferentes: uma simples que é gratuita e uma mais avançada que é paga. A simples dá pro gasto e sobra. As vozes, claro, não são naturais quanto a minha ou a sua, mas são compreensíveis. Vamos ver aqui como baixar, instalar e usar esta pequena maravilha.

Para fazer o download do programa você deve visitar esta página. O arquivo de instalação tem pouco mais de 11 megas. Nesta mesma página, mais embaixo, é possível baixar novas vozes, pois por padrão ele lê apenas textos em inglês e com sotaque americano. Entre outras, estão disponíveis vozes em inglês britânico, português de Portugal, espanhol e italiano. Cada pacote traz uma voz masculina e uma feminina. Claro que você deve baixar o pacote de português, que tem pouco mais de dois megas.

Terminados os downloads, você deve executar primeiro o instalador do programa. Instalar o programa é bem simples, mesmo com as telas em inglês. Basta clicar nos botões "next" e "yes" que forem surgindo, até que o processo termine. Depois de instalar o programa, instale o pacote de voz em português, o que é ainda mais fácil de fazer.

Com tudo instalado, execute o programa. Do lado esquerdo estão os botões para iniciar, pausar e parar a leitura, no meio está o espaço para o texto a ser lido, e do lado direito estão os controles de velocidade de leitura, tamanho do texto e escolha de voz. Para mudar de voz basta clicar nas setas que estão abaixo da foto que aparece. A partir daí é só copiar o texto que você quer ler, colar na área em branco e então apertar play.

Por fim, sugiro à leitora mudar algumas configurações do programa. Para isso clique no menu Tools, e no item Options. Na tela que se abre, faça as seguintes alterações:

- No item Behavior, desmarcar a opção Read text as soon as it is dropped, para evitar que ele comece a ler assim que você colar o texto.
- No item Document, marcar a opção Start with a blank document, para que ao iniciar o programa a área de texto esteja em branco.

(Update: Leiam também este artigo.)

***


Outros artigos meus sobre informática

Use Melhor a Sua Calculadora

Todo mundo usa calculadoras a toda hora, certo? Mas será que essa gente toda sabe de todas as possibilidades que essas maquininhas oferecem? Será que você sabe, querida leitora?

Pois bem, há um recurso bem bacana que algumas as calculadoras têm, até mesmo aquelas vagabundas que a gente compra 5 por um real no camelô, mas conheci pouquíssimas pessoas que soubessem dele. E olha que já ensinei o truque até pra gente que trabalhou em caixa de loja. É uma coisa bem simples, mas que pode poupar um tempinho na hora de fazer muitas contas em seqüência.

Imagine que você queira multiplicar vários números por sete. Acho que estou certo quando digo que você apertaria as seguintes teclas:

80 x 7 =
44 x 7 =
13 x 7 =
99 x 7 =

Certo?

Pois bem, saiba que você pode fazer assim:

7 x 80 =
44 =
13 =
99 =

Entendeu o lance? Se a única coisa que muda é o que vem depois da multiplicação, basta apertar o novo número e apertar o botão de igual para ver o resultado.

O truque é parecido para somas, subtrações e divisões, só que neste caso a parte fixa vem depois da soma, subtração ou divisão. Por exemplo, se você quisesse somar 333 a vários números, bastaria fazer o seguinte:

15 + 333 =
999 =
312 =
427 =

Fácil, não? Melhor que isso, só Excel.

(Compre calculadoras no Submarino)

Conheça os Lalálogos

Como hoje não estou com muito ânimo pra escrever, começamos com um cut&paste:

"Mauricio Pierro nasceu em São Paulo, tem 32 anos e desenha compulsivamente desde a infância. Formado em Propaganda e Marketing pela ESPM-SP, iniciou-se profissionalmente em escritórios de design gráfico e agências interativas, onde desenvolveu uma linguagem de arte calcada na maneira de pensar projetos de programação visual. Não demorou muito para seguir carreira-solo como artista gráfico, passando a ilustrar peças publicitárias, encartes de cd, capas de livros, matérias editoriais e diversas publicações empresariais.

Trabalha fundamentalmente com pintura digital, por meio do tablet Wacom + Photoshop e Painter, e ilustração vetorial para trabalhos que peçam agilidade, mas às vezes exercita técnicas puristas com pincel e tinta acrílica.

Atualmente mora com sua esposa e sua gata na região central de São Paulo.
"

Conheci o trabalho do cara quando o Albano comentou sobre o projeto Lalálogos em seu blog, há quase dois meses atrás, mas só agora repasso a novidade pra vocês.

Os Lalálogos são um projeto artístico-científico-espiritual criado pelo Mauricio no qual ele se dispôs a pintar um quadro por dia, durante um ano. E está conseguindo. Como ele próprio admite, tens uns que, blé, são de doer, mas outros são pra lá de legais. E não são apenas as pinturas que valem a pena, não! Os comentários que ele coloca junto com elas fazem a visita valer ainda mais (vide o 45). Tenho meus favoritos, mas guardo-os pra mim para não influenciar ninguém.

E como se não bastasse, o cara é gente boa e responde os comentários. Parece bobagem, mas acho legal quando o autor do site/blog responde aos comentários deixados.

Tá esperando o que pra ir pra lá? Clique na imagem abaixo e seja feliz.

Visite e conheça os Lalálogos

Conheçam Nande Cangalha

Minha cidade, Cachoeiras de Macacu, no interior do Rio de Janeiro, é como muitas das cidadezinhas do interior: está lotada de figuras conhecidas. Uma das nossas é Nande Cangalha. Há coisa de três ou quatro anos ele lançou um cd de histórias e piadas, que foi um sucesso. Em meados deste ano ele atacou novamente, lançando um disco de sucesso internacionais, acompanhado por uma banda bem competente.

Até aí tudo bem, se não fossem dois detalhes: ele não fala inglês e é, ao que me consta, analfabeto! Nem autografar o próprio cd ele sabe. Mesmo assim gravou versões personalíssimas sucessos de gente como Freedie Mercury, Phil Collins e Beatles.

Para quem entende inglês, descobre-se no primeiro verso da primeira música que ele não está cantando absolutamente NADA inteligível. É pura embromation, do início ao fim do disco, e em raríssimos momentos ele se aproxima das palavras cantadas na versão original. Eu disse "se aproxima", não que é igual.

Porém, o mais impressionante é que se você parar o cara na rua e pedir para que ele cante uma das músicas, ele vai cantar exatamente do mesmo jeito que está no cd. Ou seja, de uma forma ou de outra, ele tem a sua versão da letra, a qual ele sabe de cor e salteado. E isso, claro, garante ótimas risadas.

O disco é vendido na rua, por ele mesmo, a dez reais, com uma capa impressa em jato de tinta e cd virgem gravado em casa: design zero. Bom, só não é design zero porque a capa imita o disco Abbey Road, dos Beatles.

E mesmo que a letra seja, digamos, uma porcaria, o mesmo não se pode dizer da produção musical, que é ótima. Como eu já falei aí em cima, a banda que toca com ele é muito competente. Soma-se a isso o fato de ele ter gravado grandes sucessos e o disco torna-se perfeitamente escutável, principalmente se for escutado por alguém que não saiba inglês.

Outro motivo de riso são os nomes das músicas, que são escritos do jeito que ele as chama. Os nomes que ele dá às músicas às vezes não são nem mesmo uma adaptação dos nomes delas. Por exemplo, Have You Ever Seen the Rain virou Al Kaninou, Against All Odds virou Filcoli e, pérola das pérolas, I Just Called to Say I Love You virou Adjeiçous Tchu Seis Mailovius.

Como presente para vocês, deixo na minha pasta de arquivos as três canções do Elton John que ele gravou: Iscai Lai Pita, Bruai e Entigardi.

Divirtam-se. Se gostarem eu ponho o resto.

***


Escrevi mais sobre ele em 16/03/2009

Discussão Sobre a Capa do Novo Disco da Celine Dion

Não é segredo pra ninguém que depois de Elton John, minha artista favorita é a Celine Dion, e este ano a coisa está boa para nós fãs: dois cds em um mesmo ano.

Primeiro veio o D'Elles, disco em francês, que a Sony fez o favor de não lançar no Brasil, e agora vem o Taking Chances, disco em inglês, a ser lançado em outubro ou novembro lá fora, e que deve chegar aqui no Natal.

Na comunidade orkutiana Celine Dion - Brasil surgiu uma discussão besta sobre o fato de a capa do novo disco ser MUITO parecida com a capa de Fantasy, disco da Mariah Carey de mais de dez anos atrás.

Dêem uma olhada na capa de um e depois na capa do outro.

Acredita que tem gente que diz que não tem nada a ver? É claro que eu tive que deixar minha opinião irônica.