09
Apr 09

Vim Scripting Using Python

Trying to solve a colleague’s problem when editing Edje files, I pushed myself into learning how to do scripting inside Vim.

Scripting wasn’t ever my choice for reasonably complex editing tasks since I refused to learn Yet Another Scripting Language just because my favorite editor wanted me to. But, for the sake of all lazy guys like me, Vim started to add python support, and python was a must learn bullet in my language listing.

However, not everything are flowers and the entry point must be configured using common vim script. Well, at least until vim supports python from its core, which – I believe – is not far from possible, since python integration has been voted as top priority for a long time.

To successfully import your python script inside vim context, one can wrap it into a vim function in an external file. Let’s call it extras.vim.

" Title-ize sentences using python str methods
function! PyMakeTitle() " the ! erases previous definitions
python << END " here-document (bash-style), read 'till given word
import vim
w = vim.current.window
b = vim.current.buffer
line, col = w.cursor
line -= 1
b[line] = b[line].title() # str.title() method
END
endfunction

After using :source extras.vim command to load it, one can call this function by typing :call PyMakeTitle(). Remember repeating the :source step every time the script gets updated.

The net effect of this function is to turn all initial word letters in the current line into capitals. It proved me to be useful when editing a large LaTeX document where all section titles were small letters only.

If it comes to be a very useful function, you may map it to a key-stroke by using :nmap \t :call PyMakeTitle()<CR> inside your vimrc script.

A more complex example accessing internal vim properties. Ok, it’s a bit useless, but it demonstrates well such features.

" Auto Documentation (example code)
function! PyCreateDoc()
python << END
import vim
name = vim.eval("expand(\"<cword>\")") # expand word under cursor
ts = int(vim.eval("&ts")) # tab space property
il = int(vim.eval("indent(\".\")")) # indentation on current line
w = vim.current.window
l, c = w.cursor
docstr = '%s# @brief %s - write description' % (' ' * il, name)
b = vim.current.buffer
b[l-1:l-1] = [ docstr ]
print 'Indent set is %d, cursor at (%d, %d)' % (ts, l, c)
END
endfunction

With the cursor over a function name, type :call PyCreateDoc() and watch it insert a line above containing doxygen-like formatting.

For more examples, there is an excellent material at vim’s online help (see :h python). Furthermore, there are some plugins being made using only python, take a look at Omni Completion for Python (pythoncomplete.vim) for a good reference on the power of using python inside vim.

Happy Easter Vim’ing!


25
Mar 09

Git References’ Pointers

Earlier this year I’ve spent some time gathering references to study Git, the version control system everybody seems to love nowadays.

Thankfully, someone took the time to bind several useful links in one central webpage. If you wanna start studying Git, that’s the place to start. Kudos for such practical people (more specifically Scott Charcon and Petr Baudis).

http://git-scm.com/documentation

Just for reference, I’ll paste below the stuff I had.

Forwarded conversation
Subject: Git Documentation Pointers
————————
From: Milton Soares
Date: Mon, Jan 19, 2009 at 12:33 PM

Hi.

Just to organize and share all the references I’ve gathered about Git learning.

On-line Resources

$ git help git
$ man gittutorial

Git Homepage Resources

http://www.kernel.org/pub/software/scm/git/docs/everyday.html
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html

SVN to Git crash course

http://git.or.cz/course/svn.html

Recording of the Git tutorial given by Bart Trojanowski for the OGRE

http://excess.org/article/2008/07/ogre-git-tutorial/

Palestra Git para o Google by Linux Torvalds

http://br.youtube.com/watch?v=4XpnKHJAok8

Git from the bottom up

http://www.newartisans.com/blog_files/git.from.bottom.up.php

———-
From: Milton Soares
Date: Tue, Jan 20, 2009 at 4:36 PM

More pointers:

GitWine – git tips by wine people

http://wiki.winehq.org/GitWine#head-079f5369fdb9346845a4a8c82475eb7a198312be

Git Wizardry

http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html

Git Wiki

http://git.or.cz/gitwiki/

Git Cheat Sheet

http://ktown.kde.org/~zrusin/git/

———-
From: Milton Soares Filho
Date: Sat, Feb 21, 2009 at 11:15 AM

Yet another usefull link (pretty graphical explanations on git objects).

Tv’s cobweb: Git for Computer Scientists

http://eagain.net/articles/git-for-computer-scientists/


19
Sep 08

Scrum Talk @ MAO

Por iniciativa da consultoria Massimus, ocorreu em Manaus, dia 2007-08-14 a partir das 20hs na sede da FGV uma palestra sobre desenvolvimento ágil, com tema Agile Estimating and Planning.

A palestrante foi Martine Devos, já conhecida do meu tempo prestando serviço para a BenQ-Siemens. Infelizmente os links para download dos slides no site da consultoria estão quebrados, porém os tópicos apresentados passam pelos abaixo.

  • Características do bom planejamento
  • Problema da pirâmide Escopo x Prazo x Custo
  • Exemplo de criação de estimativa ágil

O mais bacana dessas palestras sobre metodologias ágeis é perceber a reação da platéia, que frequentemente espanta-se ao encarar alguma definição ou processo totalmente diferente do que as disciplinas tradicionais de gerenciamento prezam – gerenciamento v1.0 ou industrial, como tenho visto em alguns lugares.

Pessoalmente, chamaram-me a atenção dois pontos, um sobre convergência na estimativa de tarefas e outro sobre mensuração de tarefas desconhecidas/inovadoras (como as wildcards do livro do Bruce Eckel).

Na primeiro, expus minha dúvida sobre a melhor maneira de proceder quando a equipe não chega num consenso quanto a estimativa de uma tarefa. A sugestão foi simples e direta: estimar em equipe consiste em fazer as perguntas certas sobre o problema atacado, de modo a quebrá-lo cada vez mais em problemas menores e consequentemente mais fáceis de estimar. Nada de fórmula mágica ou insegurança subjetiva, somente o bom e velho dividar pra conquistar que todos que já desenvolveram software já estão cansados de ouvir falar.

No segundo, pedi orientação sobre como uma equipe novata ou com pouca experiência no assunto do problema a resolver pode melhorar a qualidade de sua estimativa. Achei o método apresentado fantástico. O segredo é basear-se numa estimativa de algo conhecido – ou seja, estimativa de maior qualidade – e confiar na capacidade do cérebro de associação. Na prática, não se diz que uma tarefa pouco familiar X dura tantas horas, mas sim que essa mesma tarefa pode durar 3 vezes o tempo da tarefa Y, que se conhece muito bem.

Vale também lembrar que as práticas ágeis permitem refinamento com o passar do tempo, ou seja, quanto mais iterações houverem e mais histórico sua equipe construir, maior será a qualidade de suas estimativas. Aprende-se e agrega-se este aprendizado dentro do próprio projeto.

Parabéns ao pessoal da Massimus, Martine, Heitor Roriz e Mario Tomaselli, pela iniciativa. Acho muito importante trazer esses conceitos de ponta pra uma região tão cheia de projetos de software como o Pólo Industrial de Manaus, pois tenho muita fé que essas idéias trarão uma grande melhora nas condições de trabalho locais e na qualidade dos produtos desenvolvidos.


13
Feb 07

Formatura da Marrrrtha

Passei uma semana em Curitiba pra aproveitar a formatura da minha irmã, agora uma Turismóloga (ou turista, nunca sei direito, hehehe) capacitada pela Faculdades Integradas Curitiba.

A colação aconteceu no dia 01Fev, no anfiteatro do campus da rua Chile. Pra variar foi massante, mas valeu pra rever parentes a muito sumidos (meu caso, principalmente), presenciar o discurso de agradecimento aos ausentes proferido pela minha irmã (arranjamos até um vídeo pirata dele) e tomar uns goles na cachaçaria depois da cerimônia.

Já no baile a coisa foi diferente. Com carta branca do meu pai (hmm, carta cinza na verdade, mas não forcei a vista pra ver a diferença), desci três litros de Red Label em comemoração, um deles antes mesmo de sair de casa. O povo se divertiu demais! A noite inteira zoando com a família, com o Dinho Ouro Preto, namorado da minha irmã e com os poucos amigos que compareceram. Ganhei até um autógrafo no peito da celebridade presente.

Saímos do salão do clube Santa Mônica perto das seis da madrugada, com a firme intenção de tomarmos café-da-manhã juntos num tal de Babilônia. É claro que ninguém acertou o caminho. Teve neguinho que saiu do carro no meio da rua pra fechar a janela do outro lado. Até agora tento me lembrar como cheguei em casa, mas só recordo até o momento que larguei a Kaysa em casa (sim, eu estava dirigindo).

Autógrafo do Dinho Ouro Preto Foto pros fãs-cunhados

Todos os filhos do meu pai Irmãos exo-uterinos

O resto da família Soares (primo, irmã, irmão e pai galante) Olha as primas aí Professor da Marrrtha

Parabéns, mana, muita sorte pra você nessa nova etapa de sua vida.


19
Jan 07

A Saga do Aparelho – A Amenização

Larguei os bets em Canoa Quebrada, resolvi fazer a barba com lâmina cega mesmo. Fogo é aguentar a coceirada no dia seguinte, ainda mais pra mim que já não tenho uma pele muito boa. Confira o antes e depois nas fotos abaixo.

 ANTES DEPOIS

Jà cheguei em Recife/PE e nada da bendita lâmina. Começo a achar que só em Taiwan pra encontrá-la. Paciência…


01
Jan 07

A Saga do Aparelho de Barbear

Ano retrasado comprei um aparelho de barbear elétrico da Philips (philipshave ph-444) pra tentar me livrar do domínio maléfico que a gillette ™ exercia em minha vida. Comprar refil de lâmina manual a cada duas barbeadas estava ficando muito chato e muito caro também. Sem falar que apertando a distribuição das lâminas de modelos mais antigos, a empresa praticamente obrigava os usuários a comprarem modelos mais novos (mais caros também).

Após um investimento razoável – uns duzentos reais na época -, passei seis meses maravilhado com a maquininha. Simples, limpo, prático e deixava uma textura agradável (ao menos não recebia muitas reclamações, hehehe).

Agora vem a armadilha manjada que caí de novo. A lâmina do aparelho elétrico não é eterna. Dura bastante, mas eventualmente deve ser substituída. Nesse ponto eu me danei, pois não encontrei uma loja em Manaus que vendesse a bendita. Em Belém não consegui procurar e em São Luís nada até agora.

Vamos ver até que estado terei que descer pra encontrar essa coisa. Enquanto isso vou deixando a barba crescer. Azar de quem me vê com essa cara de ogro.

PS: outra hora posto uma foto do meu estado lamentável.


15
Dec 06

Silêncio no Rádio

File -> Work Offline

Estou na eminência da viagem pelo litoral do Brasil, desde Belém até Porto Alegre. A internet aqui no apartamento está pra ser desativada junto com a linha telefônica. Isso significa ainda menos atividade aqui neste blog :-(

Mas não se preocupem, manterei todos informados a partir do site que o Thiago preparou para a viagem.

http://www.rockpesado.com.br

Copio abaixo o warning que coloquei no scrapbook do orkut (só pra reforcar a mensagem).

Povo, não espere muita interação aqui a partir de agora. Estou saindo em breve de viagem pelo litoral brasileiro, desde Belém até o sul do país. Quem quiser acompanhar, tentarei atualizar os blogs abaixo o máximo possível.

Blog Viagem: http://www.rockpesado.com.br
Blog Pessoal: http://msoares.dreamhosters.com

Ah, e-mail também terá prioridade maior que scrapbook :-P

Sucesso pra todos.


11
Dec 06

Copiando mensagem de despedida aos amigos de Manaus

Odeio o esquema de mensagem do Orkut, queria poder usá-lo como bem entendesse, mandando CC/BCC pra e-mails aleatórios e sem aqueles cabeçalhos chatos que poluem o texto. Mas como foi só lá que organizei uma lista de amigos de Manaus, acabei enviando a mensagem de despedida desse jeito mesmo.

Copio aqui para fins históricos.

Assunto: Até a Próxima

Na teoria, essa será minha última semana aqui em Manaus.

Quero deixar um grande abraço a todos vocês que conheci aqui nessa cidade maravilhosa e a certeza de que só terei boas palavras pra me referir sobre este lugar e, principalmente, sobre suas pessoas.

Obrigado por todos os momentos compartilhados, pelas grandes experiências e pelo tanto que me passaram/ensinaram, cada um do seu jeito. Espero poder retribuir algum dia, de alguma maneira.

Manaus valeu a pena por cada momento, sem exceção. Conquistou um pedaço do meu coração que nunca conseguirei mover dessas terras.

Sucesso e um ótimo fim de ano para todos.

[]s, milton

Contatos:
E-mail: mailto:milton.soares.filho@gmail.com
Weblog: http://msoares.dreamhosters.com

PS: mais tarde mando o endereco do blog onde pretendemos registrar a viagem desde Manaus até o extremo sul do país.

O título é “Até a próxima” porque a gente nunca sabe o que pode acontecer…


11
Dec 06

Primeira Era em Manaus: Reta Final

Ok, menos de duas semanas pra acabar uma das grandes fases da minha vida. Lá pelo dia 18Dez devo estar embarcando as motos pra Belém e pegando um barco de passageiros pra também ir até lá. Dois anos e alguns meses de Manaus prestes a serem coroados com o início de uma grande viagem pelo Brasil.

Quem me conhece hoje sabe o quanto gosto deste lugar e o quanto este sentimento levou pra amadurecer. No começo não era assim, o choque cultural, o trânsito caótico, o clima, a bronca com a falta de qualidade nos serviços, o racionamento de Matte Leão, tudo conspirava pra me fazer apertar o botãozinho de “ejetar” dessa empreitada.

Aos poucos, depois de uns nove meses mais ou menos, a própria cultura diferenciada, o próprio clima previsível, quase tudo que me incomodava (sim, o trânsito e os serviços continuam incomodando, também não dá pra ser perfeito…) foi mostrando seu lado bom. Mas o principal foi entrar em contato com tanta gente de boa vontade e alegria contagiante. Elas me fizeram crescer, amadurecer e preencheram com sobra o vazio de se estar longe de casa e dos amigos de sempre. Mudaram-me bastante! Quem diria que um dia eu viraria apreciador da Festa do Boi e teria muita vontade de aprender forró (gingado, é claro)?

Essa última eu devo pra Milena, excelente professora de dança (nas horas vagas) e companhia melhor ainda. :-P

Bom, agora me dêem licença que ainda tenho muita coisa pra empacotar e burocracia pra resolver tentando enviar minhas coisas de volta pra Curitiba. Em breve postarei o endereço do blog que usaremos pra registrar a viagem desde Belém até o sul do país.

Sucesso pra todos!


05
Dec 06

Mais Uma Chance

Ok, novo provedor, nova tentativa de weblog.

Quero agradecer a todos que visitaram meu blog antigo pelos comentários sinceros, eles me fizeram pensar seriamente sobre meu estilo literário… bom, não mais do que cinco minutos :-P

Tentarei ser menos piegas dessa vez, mas não garanto coisa alguma.

Sejam bem-vindos!