Aprenda algo novo

Programar é algo fácil de se aprender. Aprendi a programar aos oito ou nove anos, em BASIC para TK-90X. Programar bem, ser produtivo, é algo que leva um bocado de tempo. Conforme você avança programando em uma linguagem, vai descobrindo os segredos e armadilhas daquela linguagem. Encontra desenvolvedores que usam a mesma linguagem, formam uma linguagem e compartilham código. Constrói uma biblioteca pessoal de código e decora a solução de algumas dúzias de problemas simples (sei até hoje como alternar o QBASIC para os modos gráficos de tela, e como desenhar linhas e retângulos, embora já não me lembre como desenhar arcos e círculos.)
Programar é algo difícil de se aprender a segunda vez. Quando tentei aprender C no internato, as coisas foram bem mais difíceis. Não é porque a linguagem era mais difícil, lembre-se que muita coisa no TK a gente resolvia com Assembly. É porque aprender a segunda linguagem de programação é algo muito mais burocrático e menos apaixonante. É divertido aprender a construir algoritmos, pensar como a máquina e resolver problemas. É entendiante decorar os comandos de uma nova linguagem para fazer o que você já fazia antes, aprender a usar um compilador diferente, uma plataforma diferente e se lembrar de colocar o maldito ponto-e-vírgula no final de cada linha (ah, eu amo Python[bb]!)
É por isso que a inércia é tão grande entre as pessoas que desenvolvem em apenas uma linguagem, ou para apenas uma plataforma. E isso nos ajuda a entender porque a Microsoft vai ensinar os estudantes de São Paulo a programar.
Mas há boas notícas, senhoras e senhores. A primeira é que há conceitos novos e maneiras novas de pensar para se aprender, o que pode tornar a tarefa de aprender outra linguagem de programação apaixonante outra vez. Aconteceu quando eu descobri a Orientação a Objeto, e consegui finalmente aprender C++. Aconteceu quando eu descobri como era fácil (para os padrões da época) trabalhar com bancos de dados em Clipper. Aconteceu quando eu descobri Programação Orientada a Eventos no VB e no Delphi. Aconteceu quando eu descobri a web. Ah, a web… Linguagens de marcação, de script, server-side, client-side. Quanta coisa divertida para se aprender! E está acontecendo de novo agora com Python. Encontrei a Programação Pragmática, ou Programação “Direto-ao-Assunto”.
A segunda boa notícia é que a segunda linguagem é difícil, mas daí em diante fica tudo mais fácil. Como qualquer programador mediano com o tempo de carreira que eu tenho, sou fluente em pelo menos 10 linguagens/ambientes de programação, e consigo escrever código em umas 20. Então, se você é programador de um ambiente só, fica aqui o incentivo: aprenda alguma coisa nova. Tudo fica mais fácil a partir daí.

Aconteceu

Sucesso!

A Promoção Amigão está de volta. Se você quiser saber de onde nasceu uma idéia tão original, tudo bem, eu conto. Foi lendo as coisas escritas por esse cara. Ao final da promoção conto também alguma coisa dos resultados obtidos.
Por falar em resultados, fizemos uma revisão de usabilidade na Fotolab. Partimos de testes com usuários, seguindo um modelo simples de revisão, tentando fazer apenas o que fosse mais simples de implementar e tivesse impacto mais significativo. Foram 5 dias de trabalho. O faturamento aumentou mais de 30% no mês seguinte. Estamos orgulhosos.

Usando Linux (Screenshots)

É impressionante como ainda tem muita gente por aí que pensa que usar Linux é se embrenhar em comandos e comandos de terminal. Há algum tempo, quando estava experimentando o Linux, resolvi mostrar aqui screenshots do meu Desktop na época. Hoje, mais de um ano e meio depois, tenho Windows apenas dentro do VMWare, para testar sites, e estou satisfeitíssimo. Um ano e meio em que minhas máquinas só pararam para manutenção de hardware. Nenhuma perda de dados, nenhum vírus, nenhuma invasão, nenhum tempo perdido com anti-vírus ou firewall, updates de sistema feitos automaticamente enquanto eu durmo e, o que é mais legal, nenhum travamento. De vez em quando, claro, algum bug ou travamento em alguma aplicação específica, mas o sistema não trava, não congela, e não precisa rebootar.
Resolvi publicar alguns screenshots do sistema que uso hoje, para que você que ainda está preso ao Windows (oh dó) possa ver como é viver em liberdade 😉
Meus comentários de cada um:

  1. 3ddesk, um pequeno utilitário para alternar entre os desktops virtuais. Não é útil, mas é bonito e impressiona os amigos.
  2. Meu desktop principal. A foto no wallpaper é da minha filha brincando nos jardins do mirante de Furnas. So lado direito, rodando no SuperKaramba, um relógio analógico, monitores do sistema (processador, memória, rede, etc.) e a previsão do tempo aqui para São Paulo.
  3. Edição de código no Kate, abrindo e salvando arquivos direto via FTP. Rápido, poderoso, flexível, altamente integrado ao KDE e fácil de se estender, o Kate se tornou rapidamente meu editor de código padrão. O shot mostra também o KXML Editor, um editor de XML[bb] para o KDE bem interessante. E, claro, o kedit, o bloco de notas do KDE.
  4. O Kmail é de longe o melhor cliente de email que eu já usei. No screenshot, mensagens agrupadas por discussão e o diálogo de configuração de filtros, mostrando um dos filtros que faz integração com o Bogofilter. No canto direito o KTradutor traduzindo uma palavra de uma página web no Firefox.
  5. Como gerenciador de arquivos o Konqueror é imbatível. A forma como foi implementado o suporte a múltiplos protocolos de arquivos é fantástica. Você pode arrastar um arquivo entre servidores de FTP diferentes, ou de dentro de um arquivo ZIP para a pasta de fontes do sistema, por exemplo. Pode clicar com o botão direito em um arquivo em um servidor sftp e mandar “abrir com”. Pode acessar uma conta de email pop3 como uma lista de arquivos no Konqueror. E muito mais.
  6. Vídeo no GMPlayer e no Noatun. Música no XMMS. Em baixo, à direita, o KMix, que me permite fazer coisas impensáveis no Windows, como colocar música diferente nas caixas de som e no fone de ouvidos. Sim, eu sei, não parece muito útil. Mas eu posso também colocar vídeo pra tocar na TV, usando a saíde TV da GeForce, e enquanto o pessoal sentado na sala assiste o vídeo eu trabalho ouvindo música.
  7. Navegando na web com Firefox e Konqueror. E mensagens instantâneas no Kopete, que não mostra duas vezes o nome de meus amigos só porque eles tem conta de ICQ e MSN. Como você pode ver no shot, o nome do sujeito aparece uma vez só e ao lado dele os ícones dos serviços em que ele está disponível. O Kopete conecta-se ao ICQ, MSN, AIM, Yahoo!, Gadu-Gadu, Jabber e IRC.
  8. Desktop com um tema “diferente”, para um usuário aqui em casa que não está muito acostumado com essa história de Linux…
  9. Terminal (Konsole) e leitor de feeds (akregator.)
  10. Tabs (abas) por toda parte…