16 de dezembro de 2011

Veja os seus marks no vim

Há algum tempo uma coisa me incomodava no vim: não saber visualmente quais linhas eu tenho marks (ou bookmarks).

Eu sei que o comando :marks mostra isso, mas eu gostaria de ver os marks enquanto estou editando meus programas.

Foi quando procurei e encontrei o plugin ShowMarks. Ele mostra visualmente se suas linhas têm algum mark. Eu instalei meio desconfiado de que não fosse funcionar porque o último upload é de agosto/2004. Para minha feliz surpresa eu estava errado. Idade não é documento, certo?

Apesar de ele funcionar perfeitamente, eu resolvi fazer 2 ajustes:

Visual
Bem, na verdade eu não mexi no plugin. Mexi no que ele me permite configurar. Não gostei da forma como ele mostra os marks. Mas a documentação explica direitinho como ajustar umas variáveis de ambiente para isso. Ajustei as cores para o meu esquema de cores e a forma de mostrar os marks. Ficou bonito.

Deletar um mar
Na verdade, o atalho <leader>mh não apaga um mark. Ele deixa o mark invisível e ajusta-o para a linha 1 do seu arquivo. Por isso ele significa "mark hide". Não gostei disso e mexi no fonte do plugin para emitir o comando delmarks.

Open Source é muito bom (desde que você saiba como mexer). E o ShowMarks também.

15 de dezembro de 2011

Nós nunca nos renderemos!

"Nós não desistiremos nem fracassaremos. Nós iremos até o fim. Nós lutaremos na França, lutaremos nos mares e oceanos, nós lutaremos com confiança crescente e uma força também crescente ao nosso redor. Nós defenderemos nossa ilha, qualquer que seja o preço. Nós lutaremos nas praias, lutaremos em terra firme, lutaremos nos campos e nas ruas, lutaremos nas montanhas. Nós nunca nos renderemos!"
— Winston Churchill, Câmara dos Comuns, em 4 de junho de 1940.

14 de dezembro de 2011

O que Newton deixou para nós

Todo mundo já ouviu falar de Sir Isaac Newton.
É, aquele da história da maçã, que descobriu a Lei da Gravidade, lembra?

Muita gente não sabe que Newton escreveu mais sobre teologia do que sobre ciência. Por estranho que possa parecer, Newton e uma multidão de cientistas eram cristãos e não estudavam ciências descartando a existência de Deus. Ao contrário, eles estudavam para tentar entender Deus.

Abaixo estão links para duas obras importantes de Newton, que não falam de ciências. Ambas estão hospedadas no site do Project Gutenberg:
Conforme podemos conferir no site The Newton Project, Isaac Newton escreveu tanto sobre religião quanto sobre ciência. E, não só isso, ele acreditava que Jesus Cristo viria segunda vez à Terra.

Atualmente ouvimos muito que ciência e religião não podem se harmonizar. Se for assim mesmo, por coerência devemos descartar tudo o que Newto e as pessoas mostradas no vídeo abaixo disseram. Afinal, se eram lunáticos ao falarem sobre Deus, poderíamos considerá-los dignos de confiança ao falarem sobre ciência?

Ou será que deveríamos mesmo entender que religião e ciência podem conviver pacificamente, e que uma não deve descartar a outra?


"A maravilhosa disposição e harmonia do universo só pode ter tido origem segundo o plano de um Ser que tudo sabe e tudo pode. Isto fica sendo a minha última e mais elevada descoberta."
(Sir Isaac Newton -  Principia Mathematica, Book III)

O clipboard do Linux e o shell

O programa xsel permite ter acesso ao clipboard do Linux.

Isso pode te dar liberdade de implementar alguns scripts interessantes e colocar resultados no clipboard para serem colados em uma planilha eletrônica, por exemplo.

Para copiar qualquer conteúdo para o clipboard, a partir do shell, basta fazer um pipe. Por exemplo:
$ ls | xsel -i -b

Agora você pode digitar o famoso CTRL+V em qualquer aplicativo GUI e a relação de arquivos do diretório será inserida lá.

Para mostrar o conteúdo do clipboard no shell, digite:
$ xsel -b

13 de dezembro de 2011

Mais espaço na tela do Ubuntu 10.04

Sendo um programador, eu gosto de ver na tela o máximo de código possível.

Eu uso o editor Vim, que me permite esconder a barra de ferramentas e o menu, mas ainda fica a barra de título da janela, que o Gnome mantém.

No Firefox, eu uso uma extensão chamada Pentadactyl. Nome estranho, mas poderoso. Ela transforma totalmente a forma de navegar na web. Traz os comandos e a interface modal do vim para o Firefox. Para quem gosta do Vim, é um prato cheio e também me permite ocultar o que eu quiser: barra de navegação, abas, menus, tudo. Mas ainda fica a tal barra de título da janela.

Uma coisa que eu gostei no Unity é justamente esse ganho de espaço vertical e decidi encontrar uma solução para isso.

Então, encontrei o NameBar. Ele é um applet que você adiciona ao painel superior do Gnome, que mostra o título da janela ativa. Já dei o primeiro passo.

Depois, entrei no CompizConfig (que precisei instalar pelo Ubuntu Software Center) e configurei a decoração de janelas. Na categoria "Effects", existe uma opção chamada "Window Decoration". Dentro dessa opção, coloque o conteúdo "none" (sem as aspas) no campo "Decoration windows".

Além disso, configurei o painel inferior para Auto Hide. Portanto, ele só ocupa espaço na tela quando o mouse está sobre ele.

Pronto, agora meu Ubuntu 10.04 tem mais espaço na vertical, como você pode ver abaixo.

Firefox com Pentadactyl


Gvim

12 de dezembro de 2011

Uma Mensagem a Garcia

O texto "Mensagem a Garcia" foi escrito em 1899, como veremos abaixo, no relato do próprio autor, o filósofo e escritor norte-americano Elbert Hubbard.


APOLOGIA

SENSO COMUM

Se você trabalha para um homem, pelo amor de Deus, trabalhe para ele. Se ele paga a você um salário que compra seu pão e sua manteiga, trabalhe para ele, fale bem dele, tenha bom conceito sobre ele, fique do lado dele, e do lado da instituição que ele representa. Eu acho que se eu trabalhasse para um homem, eu realmente trabalharia para ele. Não seria somente uma parte do tempo, mas todo o tempo. Eu daria a ele um serviço integral, ou nada. Posto na balança, um grama de lealdade vale um quilo de inteligência. Se você tiver que desmerecer, condenar, e menosprezar, demita-se. E quando você estiver fora, lide com seus sentimentos. Mas, eu rogo a você, enquanto fizer parte de uma instituição, não a condene. Não que você iria machucá-la -- não é isso -- mas quando você deprecia algo do qual você faz parte, você está depreciando a si mesmo. E não se esqueça -- "Eu me equivoquei" não funciona no mundo dos negócios.


Esta insignificância literária, "Uma Mensagem a Garcia", escrevi-a numa noite depois do jantar, em uma hora. Foi a 22 de fevereiro de 1899, aniversário natalício de George Washington, e o número de março da nossa revista "Philistine" estava prestes a entrar no prelo.

Encontrava-me com disposição para escrever, e o artigo brotou espontâneo do meu coração, redigido, como foi, depois de um dia afanoso, durante o qual tinha procurado convencer alguns moradores, um tanto renitentes no lugar, que deviam sair do estado comatoso em que se compraziam, esforçando-me por incutir-lhes radioatividade.

A idéia original, entretanto, veio-me de um pequeno argumento ventilado pelo meu filho Bert, ao tomarmos café, quando ele procurou sustentar ser Rowan o verdadeiro herói da Guerra de Cuba. Rowan pôs-se a caminho só e deu conta do recado - levou a mensagem a Garcia. Tal qual uma centelha luminosa, a idéia assenhorou-se de minha mente. É verdade - disse comigo mesmo - o rapaz tem toda a razão, o herói é aquele que dá conta do recado: que leva a mensagem a Garcia!

Levantei-me da mesa e escrevi "Uma Mensagem a Garcia" de uma assentada. Entretanto, liguei tão pouca importância a este artigo que até foi publicado na revista sem qualquer título. Pouco depois de a edição ter saído do prelo, começaram a afluir pedidos para exemplares adicionais do número de março da "Philistine": uma dúzia, cinqüenta, cem; e quando a American News Company encomendou mais de mil exemplares, perguntei a um dos meus empregados qual o artigo que havia levantado o pó cósmico.
- Esse de Garcia -, retrucou-me ele.

No dia seguinte chegou um telegrama de George H. Daniels, da Estrada de Ferro Central de Nova York, dizendo: "Indique preço para cem mil exemplares, o artigo Rowan, sob forma folheto, com anúncios estrada de ferro verso. Diga também quando pode fazer entrega".

Respondi indicando o preço, e acrescentando que podia entregar os folhetos dali a dois anos. Dispúnhamos de facilidades restritas e cem mil folhetos afiguravam-se um empreendimento de monta.

O resultado foi que autorizei o Sr. Daniels a reproduzir o artigo conforme lhe aprouvesse. Fê-lo em forma de folhetos e distribui-os em tal profusão que, duas ou três edições de meio milhão se esgotaram rapidamente. Além disso, foi o artigo reproduzido em mais de duzentas revistas e jornais. Tem sido traduzido, por assim dizer, em todas as línguas faladas.

Aconteceu que, justamente quando o Sr. Daniels estava fazendo a distribuição de "Uma Mensagem a Garcia", o príncipe Hilakoff, diretor das estradas de ferro russas, se encontrava neste país. Era hóspede da Estrada de Ferro Central de Nova York, percorrendo o país em companhia do Sr. Daniels. O príncipe viu o folheto e por ele se interessou, mais pelo fato de ser o próprio Sr. Daniels que o estava distribuindo em tão grande quantidade, que propriamente por qualquer outro motivo.

Como quer que seja, quando o príncipe regressou à sua pátria mandou traduzir o folheto para o russo e entregar um exemplar a cada empregado da estrada de ferro da Rússia. Em pouco tempo foi imitada por outros países: da Rússia o artigo passou para a Alemanha, França, Turquia, Indostão e China. Durante a guerra entre a Rússia e o Japão, foi entregue um exemplar de "Mensagem a Garcia" a cada soldado russo que se destinava ao "front".

Os japoneses, ao encontrarem os livrinhos em poder dos prisioneiros russos, chegaram à conclusão que havia de ser uma informação valiosa e não tardaram em vertê-lo para o japonês. Por ordem do Micado foi distribuído um exemplar a cada empregado civil ou militar, do governo japonês.

Para cima de cem milhões de exemplares foram impressos, o que é sem dúvida a maior circulação jamais atingida por qualquer trabalho literário durante a vida do autor, graças a uma série de circunstâncias felizes.

Elbert Hubbard




UMA MENSAGEM A GARCIA

"Como o frescor de neve no tempo da ceifa, assim é o mensageiro fiel para com os que o enviam, porque refrigera a alma dos seus senhores." (Provérbios 25:13)

Em todo este caso cubano um homem se destaca no horizonte de minha memória.

Quando irrompeu a guerra entre a Espanha e os Estados Unidos, o que importava a estes era comunicar-se com o chefe dos insurretos, Garcia, que sabiam encontrar-se em alguma fortaleza no interior do sertão cubano, mas sem que se pudesse dizer exatamente onde. Era impossível um entendimento com ele pelo correio ou pelo telégrafo. No entanto, o Presidente precisava de sua colaboração o mais rapidamente possível.

O que fazer?

Alguém disse ao presidente: "Há um homem chamado Rowan; e se alguma pessoa é capaz de encontrar Garcia, há de ser Rowan".

Rowan foi trazido à presença do Presidente, que lhe confiou uma carta com a incumbência de entregá-la a Garcia. De como este homem, Rowan, tomou a carta, meteu-a num invólucro impermeável, amarrou-a ao peito, e após quatro dias, saltou de um barco sem sequer uma cobertura, alta noite, nas costas de Cuba, de como se embrenhou no sertão para depois de três semanas surgir do outro lado da ilha, tendo atravessado a pé um país hostil, e entregue a carta a Garcia, são coisas que não vem ao caso narrar aqui pormenorizadamente.

O ponto que desejo frisar é este: McKinley, o presidente, deu a Rowan uma carta para ser entregue a Garcia; Rowan tomou a carta e nem sequer perguntou: "onde é que ele está?" Pelo Eterno! Eis aí um homem cujo busto merecia ser fundido em bronze e sua estátua colocada em cada escola do país. Não é somente de sabedoria livresca que a juventude precisa, nem somente de instrução sobre isto ou aquilo. Precisa sim de um endurecimento das vértebras que os farão ser fiéis a uma crença; para agir imediatamente, concentrar as energias: dar conta do recado -- "Levar uma mensagem a Garcia".

O general Garcia está morto agora, mas há outros Garcias.

A nenhum homem que se tenha empenhado em levar avante uma grande empresa, em que a ajuda de muitos se torna necessária, têm sido poupados momentos de verdadeiro desespero ante a imbecilidade de um grande número de homens, ante a inabilidade ou falta de disposição de concentrar a mente numa determinada coisa e fazê-la.

A regra geral tem sido: assistência irregular, desatenção tola, indiferença irritante e trabalho mal feito.

Ninguém pode ser verdadeiramente bem sucedido, salvo se lançar mão de todos os meios ao seu alcance para fazer com que outros homens o auxiliem, a não ser que Deus Onipotente, na sua grande misericórdia faça um milagre, enviando-lhe como auxiliar um anjo de luz.

Leitor amigo, tu mesmo podes tirar a prova.

Estás sentado no teu escritório, rodeado de empregados. Pois bem, chama um deles e pede-lhe:
- Queira ter a bondade de consultar a enciclopédia e fazer uma descrição resumida de corrégio.

Dar-se-á o caso de o empregado dizer calmamente: "sim senhor", e executar o que lhe pediste?

Nada disso! Olhar-te-á admirado para fazer uma ou algumas das seguintes perguntas:
Quem é ele?
Que enciclopédia?
Onde é que está a enciclopédia?
Fui eu acaso contratado para fazer isso?
E se Carlos o fizesse?
Já morreu?
Precisa disso com urgência?
Não quer que traga o livro para que o senhor mesmo procure?
Para que quer saber disso?

E aposto dez contra um que, depois de teres respondido tais perguntas, explicando a maneira de procura dos dados pedidos e a razão por que deles precisas, teu empregado irá pedir a um companheiro que o ajude a encontrar Corrégio e depois voltará para te dizer que tal homem não existe.

Evidentemente pode ser que eu perca a aposta, mas segundo a regra e a conduta geral, aposto na alternativa certa.

Ora, se fores prudente, não te darás ao trabalho de explicar ao teu "ajudante" que Corrégio se escreve com C e não com K, mas limitar-se-á a dizer calmamente, esboçando o melhor sorriso:

- "Não faz mal; não te incomodes".

E, dito isso, levantar-te-ás e procurarás tu mesmo.

E esta dificuldade de atuar independente, esta incapacidade moral, esta fraqueza de vontade, esta falta de disposição de solicitamente se pôr em campo e agir, são as causas que impedem o advento do socialismo puro. Se os homens não tomam iniciativa de agir em seu próprio proveito, que farão se o resultado de seu esforço redundar em benefício de todos? Por enquanto parece que os homens ainda precisam ser dirigidos.

O que mantém muito empregado no seu posto e o faz trabalhar é o medo de, se não o fizer, ser despedido no fim do mês.

Anuncia precisar de um taquígrafo, e nove entre dez candidatos à vaga não saberão ortografar nem pontuar - e, o que é mais grave, pensam não ser necessário sabê-lo.

Poderá uma pessoa destas entregar uma carta para Garcia?

- "Vê aquele guarda-livros?", dizia-me o chefe de uma grande fábrica.

- "Sim, que tem?"

- "É um excelente guarda-livros. Contudo, se o mandasse dar um recado, talvez se desobrigasse da incumbência a contento, mas também podia ser que no caminho entrasse em duas ou três casas de bebidas e que, quando chegasse ao seu destino já não se recordasse sequer da tarefa que lhe fora dada".

Será possível confiar-se a tal homem uma carta para ser entregue a Garcia?

Ultimamente temos ouvido expressões sentimentais, demonstrando simpatia para com os pobres entes que lutam de sol a sol, para com os infelizes desempregados à cata do trabalho honesto, e tudo isso, quase sempre, entremeado de muita palavra dura para com os homens que estão no poder.

Nada se diz do patrão que envelhece antes do tempo, num esforço inútil para induzir eternos desgostosos e descontentes a trabalhar conscienciosamente. Nada se diz de sua longa e paciente procura de pessoal, que, no entanto, muitas vezes nada mais faz do que "matar o tempo", logo que ele volta as costas.

Não há empresa que não esteja despedindo pessoal que se mostre incapaz de zelar pelos seus próprios interesses, a fim de substituí-lo por outro mais apto. Este processo de seleção por eliminação está se operando incessantemente com a única diferença que, quando os tempos são maus e o trabalho escasseia, a seleção se faz mais escrupulosamente, pondo-se fora, para sempre, os incompetentes e os inaproveitáveis. É a sobrevivência do mais capacitado. Cada patrão, no interesse comum, trata somente de guardar os melhores, aqueles que podem levar a mensagem a Garcia.

Conheço um homem de aptidões realmente brilhantes, mas sem a fibra necessária para dirigir um negócio próprio, e que ainda se torna completamente nulo para qualquer outra pessoa devido à suspeita que constantemente abriga, de que seu patrão o esteja oprimindo ou tencione oprimi-lo. Sem poder mandar, não tolera que alguém o mande. Se lhe fosse confiada uma mensagem a Garcia, retrucaria, provavelmente: "Leve-a você mesmo".

Hoje esse homem perambula errante pelas ruas em busca de trabalho, em estado quase de miséria. No entanto ninguém que o conhece se aventura a dar-lhe trabalho, porque é a personificação do descontentamento e do espírito de discórdia. Não aceitando qualquer conselho ou advertência, a única coisa capaz de nele produzir efeito seria um bom pontapé dado com a ponta de uma bota de número 44, sola grossa e bico largo.

Sei, não resta dúvida, que o indivíduo moralmente aleijado como este, não é menos digno de compaixão. Vertamos também uma lágrima pelos homens que se esforçam por levar avante uma grande empresa, cujas horas de trabalho não estão limitadas pelo som do apito e cujos cabelos ficam muito cedo envelhecidos na incessante luta em que estão empenhados contra a indiferença desdenhosa, contra a imbecilidade crassa e a ingratidão atroz, justamente daqueles que sem seu espírito empreendedor, poderiam andar famintos e sem lar.

Dar-se-á o caso de eu ter pintado a situação em cores demasiado carregadas?

Pode ser que sim; mas quando todo mundo se prende a divagações, quero lançar uma palavra de simpatia ao homem que dá êxito a um empreendimento, ao homem que, a despeito de uma porção de empecilhos, sabe dirigir e coordenar os esforços de outros e que, após o triunfo, talvez verifique que nada ganhou. Nada, salvo a sua simples subsistência.

Também eu carreguei marmitas e trabalhei como jardineiro, como também já fui patrão. Sei, portanto, que alguma coisa se pode dizer de ambos os lados.

Não há excelência na pobreza em si mesma; farrapos não servem de recomendação. Nem todos o patrões são gananciosos e tiranos da mesma forma que nem todos os pobres são virtuosos.

Todas as minhas simpatias pertencem ao homem que trabalha conscientemente, quer o patrão esteja, quer não, e ao homem que, ao lhe ser confiada uma carta para Garcia, tranqüilamente toma a missiva, sem fazer perguntas idiotas, sem a intenção oculta de jogá-la na primeira sarjeta que encontrar, ou praticar qualquer outro gesto que não seja entregá-la ao destinatário.

Este homem nunca fica "encostado", nem tem que se declarar em greve para forçar um aumento de ordenado.

A civilização busca ansiosa, insistentemente, homens nestas condições. Tudo que tal homem pedir, conceder-se-á. Esse tipo de homem é tão raro, que nenhum patrão pode pagar o preço de deixá-lo ir embora. Precisa-se dele em cada cidade, em cada vila, em cada lugarejo, em cada escritório, em cada oficina, em cada loja, fábrica ou venda.

O mundo clama por isso: precisamos dele, e precisamos com urgência -- do homem que possa levar UMA MENSAGEM A GARCIA.



Texto original: Message to Garcia at The Project Gutenberg

Nota: eu resolvi transcrever o texto aqui porque havia um link em outro post para um site com esse conteúdo, mas que saiu do ar. Portanto, agora está postado aqui.

9 de dezembro de 2011

Está nas maiúsculas ou nas minúsculas?

Meu notebook é o segundo que tenho, que não indica se o CapsLock está ligado ou não. Parece que essa moda pegou e são poucos os netbooks que têm essas luzinhas.

Com isso, muitas vezes não sei se vou digitar em maiúsculas ou minúsculas. Para programar isso incomoda bastante.

Como no Ubuntu 10.04 não há uma forma nativa de saber esse status do teclado, procurei e encontrei o Indicator-Keylock.

Ele mostra, na barra superior do Ubuntu, se estou com o keylock ligado:



Bem que o Indicator-Keylock poderia já vir na distro, né?

Fonte: www.omgubuntu.co.uk/2010/09/indicator-keylock-ubuntu

Use sempre git merge --no-ff

No artigo Mexi no branch errado. E agora? eu encerro recomendando usar sempre o comando git merge --no-ff, mas por que?

Quando você faz um merge, o git junta dois branches em um só. A título de curiosidade, a palavra merge significa "combinar, unir, misturar".

Em alguns casos o git apenas inclui as suas modificações, sem deixar nenhum rastro do merge. A opção --no-ff diz ao git que ele tem sempre que criar um commit, indicando que foi feito um merge.

Isso vai fazer com que seu histórico tenha mais commits, mas vai te salvar quando você descobrir que fez um merge no branch errado, porque você vai poder fazer o reset.

Então, use sempre git merge --no-ff

Aí fica a pergunta: se essa opção é tão importante, por que esse não é o comportamento padrão do git? Bem, só perguntando pro Linus Torvalds, né?

Mexi no branch errado. E agora?

Trabalhar com git é bom, mas enquanto você está se acostumando aos branches, é normal se pegar fazendo o seguinte:
  • Descobrir que está dando manutenção em programas no branch errado
  • Se desesperar
  • Depois de uma respirada, tirar um backup do diretório que você está trabalhando, para não perder nada do que fez
  • Fazer um novo clone do origin em um novo diretório
  • Nessa nova cópia do repositório, criar ou entrar no branch correto
  • Rodar um git diff --stat no diretório que você tirou o backup para ver o que foi modificado
  • Copiar os arquivos que foram modificados para a nova cópia do repositório
  • Continuar trabalhando aliviado, mas ainda desconfiado de que salvou tudo certinho
  • Guardar a cópia errada do seu diretório (zipado de preferência) até se certificar que não há problemas.

Isso tudo pode ser agilizado usando o comando git stash, que significa "guardar em local seguro". Vejamos um exemplo.

Suponha que temos os branches master e nova-consulta. Por algum vacilo, eu começo a mexer no master, quando eu deveria mexer no nova-consulta.

Se eu ainda não fiz commit, o que alterei está apenas no meu diretório. Ainda não foi para o git, certo? Então eu descubro que estou no branch errado.

Eis os comandos que vão organizar meu trabalho, estando eu no branch errado:
$ git stash
$ git stash branch temporario
$ git checkout nova-consulta
$ git merge --no-ff temporario
$ git branch -d temporario
O que eu fiz, exatamente?
  1. Com o git stash eu peguei minhas mexidas e guardei em lugar seguro. Nisso, o master voltou a ficar com o conteúdo correto. Ufa!
  2. Com o git stash branch temporario eu criei um branch com elas, de nome temporario.
  3. Com o git checkout eu entrei no branch correto, nova-consulta
  4. Com o git merge eu peguei a minha mexida, que agora está no branch temporario, e incorporei ao branch correto (nova-consulta) :-)
  5. Com o último comando eu apaguei o branch temporario
Pronto, agora estou no branch correto, salvei o branch master de uma manutenção indesejada e posso continuar trabalhando normalmente.

Nota: use sempre a opção --no-ff em seus merges! Para mais detalhes, leia um artigo resumido sobre isso.

7 de dezembro de 2011

Qualquer letra serve pra mim

Que detalhes fazem você sentir-se confortável ao escrever seus programas?

Uma boa cadeira, um teclado macio, mouse que não falha, monitor bem colocado, mesa na altura certa, boa iluminação... tudo isso é importante, mas faltou uma coisa: o tipo de letra (fonte) que você usa.

Já vi muitas pessoas que não se preocupam com isso, e codificam usando a fonte System ou Courier, no Windows. Eu, particularmente prefiro fontes que com boa nitidez e que diferenciem os caracteres.

Abaixo, alguns exemplos de boas fontes para programar:

Anonymous Pro


DejaVu Sans Mono


Mensch


Monaco


Ubuntu Mono
Eu já testei várias fontes e acabei escolhendo essas acima, que acho serem indicadas para nossa atividade de codificação. Usei todas por um tempo para experimentá-las, exceto a Ubuntu Mono, que conheci hoje e ainda estou experimentando, mas estou gostando.

Dessas fontes que apresentei, quero comentar sobre duas delas:
  • Monaco: eu me apaixonei por essa fonte desde que a vi pela primeira vez, numa apresentação feita num Mac e que mostrava o trecho de um  programa. Um dia eu descobri que era a fonte Monaco. Baixei e comecei a usá-la. Eu acho essa fonte muito bonita e com boa diferenciação entre os caracteres.
  • DejaVu Sans Mono: quando usei o Ubuntu 10.04 pela primeira vez, notei que a fonte padrão do terminal era muito boa. Entrei no Gedit e vi que era agradável também para editar programas. Fiquei realmente admirado por ela ser de tão boa qualidade e já vir ajustada como default. Se você não é tão fissurado em fontes como eu, use-a sem medo de errar. A DejaVu Sans Mono pode ser identificada como Monospace no Ubuntu 10.04, já que é a fonte mono-espaçada (mesma largura para todos os caracteres) padrão.
Quero destacar que a Canonical está de parabéns. Hoje conheci a família de fontes Ubuntu e dá para perceber que existe investimento numa área até então ignorada pelas distros Linux: design de fontes. A Ubuntu Mono ficou muito boa.

Quando você for escolher uma fonte, é importante analisar alguns itens bem objetivos:
  1. Veja se é fácil diferenciar esses caracteres: O, Q e 0
  2. Esses também: l, I e 1
  3. Note se esses caracteres são agradáveis à vista: &, <, >, ?, {, }, [ e ]
  4. A fonte é muito alta ou muito larga?
  5. Como é a aparência dela se eu aumentar o tamanho para outra pessoa ver de mais longe?
  6. E se eu precisar ver mais código de uma vez, e precisar diminuir o tamanho? Ainda fica legível?
Entretanto, existe um ponto subjetivo, que é o gosto pessoal. No final das contas é ele quem vai definir a fonte que você vai usar.

Abaixo, a lista das fontes mostradas nesse artigo:
Sugiro que você não use a fonte padrão que seu editor ou sistema operacional traz, sem analisar outras opções. Experimente algumas, com tamanhos diferentes. Isso pode tornar você mais produtivo.

E você, qual fonte prefere usar para programar?

Temas no Vim

Nem todos gostamos das mesmas cores, por isso os editores de programas que se prezam permitem personalizarmos temas, também conhecidos como esquema de cores ou color schemes.

O Vim, claro, não poderia ser diferente.

O Color Sampler Pack é um pacotão com mais de 100 temas para personalizar o visual do seu Vim. Se você instalar todos, vai juntar lixo no diretório ~/.vim/colors sem necessidade. Portanto, recomendo ver todos eles antes de instalar definitivamente o seu preferido.

O editor Textmate faz muito sucesso no mundo Mac por algumas características. Os conjuntos de cores do Textmate é uma delas. A boa notícia é que você pode ter os temas do Textmate no Vim. O site Coloration faz a conversão deles sem nenhum esforço.

O tema Solarized é bastante discreto e agradável. Gostei bastante dele, quando o vi por uma indicação do @gilsonfilho.

Ultimamente eu tenho usado o tema Moria, que também é agradável, com algumas pequenas modificações.

Se você tem um tema preferido ou um site com temas para Vim ou Textmate, compartilhe.

Atualização em 16/01/2012: @rochacbruno indicou o Villustrator, que permite montar seu tema visualmente no navegador. Gostei muito.

6 de dezembro de 2011

Apagando branches locais que não existem mais no origin

Continuando a falar sobre Branches remotos no git,  vamos dar um passo adiante, já que resolvemos adotar o modelo de branching do pessoal da Nvie porque o nosso estava meio confuso e com algumas falhas.

Esse artigo da Nvie é a explicação mais clara que vi sobre o assunto. Normalmente lemos sobre os comandos do git e das possibilidades, mas raramente encontramos material sobre workflow eficiente.

Esse post vai te contar como apagar branches locais que já existiram no origin, mas que foram apagados de lá. Se não existem mais lá, também não precisam existir na sua cópia local.

O git não administra automaticamente a sincronização desses branches e isso é bom. Se eu quiser manter algum branch comigo por algum motivo, posso deixá-lo sem problema. Mas no dia-a-dia, acaba ficando sujeira no seu repositório local. Os branches de novas features ou releases e hotfixes criados e apagados por seus colegas ficam ali escondidos.

Para enxergá-los, use o comando git branch -a.
$ git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master
  remotes/origin/novo-cliente
  remotes/origin/painel-de-controle

No meu caso, os branches "novo-cliente" e "painel-de-controle" já foram apagados do repositório remoto (o origin), mas continuam aqui no meu repositório local.

Para livrar-me deles, usei o comando git remote prune origin.
Se você quiser saber o que será eliminado antes de apagá-los do seu repositório local, use a opção --dry-run: git remote prune --dry-run origin.

Depois de rodar o git remote prune origin, meu repositório local ficou equiparado ao origin, em termos de branches:
$ git remote prune origin
Pruning origin
URL: https://xxxxxxx@yyyyyyy.com/xxxxx/teste.git
 * [pruned] origin/novo-cliente
 * [pruned] origin/painel-de-controle
$ git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

Em breve falaremos mais sobre o funcionamento desse workflow e os comandos que podem te ajudar a trabalhar com ele.

5 de dezembro de 2011

Backup do diretório atual

Aqui na X4 usamos git e eu confesso que muitas vezes tenho medo de me perder nos merges e branches. Os recursos são ótimos, mas ainda estou me acostumando com eles.

Então, fiz um script para tirar um backup e administrar versões anteriores do diretório corrente, para simplificar minha vida.

O backup não é automático. Rodo sempre que preciso, quando preciso.

Olha aí:
#!/bin/bash

# @brief Backs up current dir plus 3 older versions (.bak, .v-1.bak, .v-2.bak, .v-3.bak).
# @author viniciusban@gmail.com


echo "Let's back $PWD up"
from="./"
from_display="."

for i in 3 2 1 0
do
    to=$from
    to_display=$from_display
    if [ $i -gt 0 ]; then
        from="${PWD}.v-${i}.bak"
    else
        from="${PWD}.bak" # there's no v-0.bak
    fi

    from_display=`basename $from`

    if [ "$to" = "./" ]; then # 1st time
        if [ -d "$from" ]; then
            echo -n "Erasing the old fashioned ${from_display}... "
            rm -rf $from
            echo "OK"
        fi
    else
        if [ -d "$from" ]; then
            echo -n "Renaming ${from_display} to ${to_display}... "
            mv $from $to
            echo "OK"
        fi
    fi
done

echo -n "Creating a brand new ${from_display} from ${PWD}... " # I'm sure it's $from_display
cp -r  $PWD $from # I'm sure it's $from
echo "OK"

Eu dei um nome bem sugestivo a esse script(bakdir) e coloquei-o no ~/bin, que está no meu path.

Copie e use, se lhe for útil.

2 de dezembro de 2011

Um relato evolucionista

Meu tataravô tinha um punhado de pó de ferro guardado.

Meu bisavô não jogou fora, continuou guardando, sem mexer naquilo. Era uma relíquia do pai dele.

Quando meu avô cresceu, contou que nunca mexeu, mas dentro daquele saquinho não tinha nenhum pó de ferro. Havia ali peças de um relógio, todas soltas, independentes.

Meu pai conta que, quando cresceu e foi arrumar as coisas no sótão, lembrou dessa história e foi verificar. E, mesmo sem nunca ter aberto aquele saquinho, encontrou um relógio de bolso funcionando. Mostrador branco, ponteiros pretos, algarismos romanos, correntinha pra pendurar.

Ontem, eu resolvi dar uma olhada naquele misterioso saquinho. Nunca mexi nele porque sempre achei que havia algo de mágico naquilo. Para minha surpresa, estava lá um relógio Aqualang com ponteiros fluorescentes, marcador de profundidade e cronômetro. Resolvi pegar pra usar.

Tem gente que acha isso absurdo, mas para mim, não. Afinal, eu acredito na evolução.


Nota de esclarecimento
Esse artigo é uma ilustração.
Eu sou cristão e, como tal, acredito que o Universo foi criado por Deus. Acredito no relato bíblico do livro de Gênesis.

Portanto, sou criacionista. Entre outros motivos, por não ter fé suficiente para acreditar nas hipóteses (não são teorias porque não podem passar pelo crivo do método científico) evolucionistas.